Checkpoints: Capsule

    • The capsule's name and description accurately portrays the role the capsule plays in the system.
    • The capsule has a well-defined purpose, and encompasses a single set of related responsibilities.
    • The capsule represent a significant focus of control in the system, and represents a significant thread of control in the system.
    • The roles the capsule plays are reflected in its external ports, and each role has one or more separate ports.
    • No port is used in more than one role.
    • Where there is a need to control the interaction of concurrent scenarios, a capsule with multiple distinct ports has been used.
    • Interface capsules have been used to provide decoupling where future change are expected.
    • Capsules used effectively to isolate potential future changes and design decisions.
    • Coordinator capsules are used to manage complex and dynamic relationships between entities (either one-to-many or many-to-many).
    • Coordinator capsules are used where there is a need to mediate between capsules to encapsulate a process.
    • Initialization order has been considered correctly.
    • The start-up and synchronization of independent threads of control has been considered.
    • Inheritance is used appropriately.
      • There is no evidence of either a very flat or overly deep generalization/specialization hierarchy.
      • Obvious commonality has been reflected in the inheritance hierarchy.
      • Inheritance is not being used primarily for implementation considerations (e.g. code reuse), but rather as a way of capturing common design abstractions.
      • Superclasses are no simply merges of the attributes of the subclasses, but instead represent a logical abstraction.
      • The inheritance hierarchy does not contain intermediate abstract classes with orthogonal properties.

See also Checkpoints: Design Classes



Rational Unified Process   2003.06.13