Checklist: PIM Review
A Platform Independent Model (PIM) is a part of a larger model. This checklist therefore refers to other checklists defined for those specific parts.
Relationships
Check Items
Are the class diagrams well-formed?
Are the sequence diagrams well-formed?
Are the state diagrams well-formed?
Are the activity diagrams well-formed?
Does the PIM have a least one class or structure diagram for each realized use case?
The PIM class diagram shows the structural elements, their features and relations.
Does the PIM have several scenarios for each realized use case?
The collaborative behavior of the collaborations within the use case are best depicted as sequence diagrams (alternative: communication or timing diagrams). Since there are many ways in which the elements collaborate, several scenarios should be shown.
Does each reactive class in the PIM have an explicit state machine?
A reactive class is one that responds to events. Each state machine should be explicitly represented.
Does each complex algorithm show in an activity diagram?
Activity diagrams are most often used to depict non-trivial algorithms implemented in class methods. When sufficiently complex, the activity diagram should be explicitly drawn.
Does the PIM execute without obvious errors?
The PIM should be well-formed and enough semantic depth so that it can execute and, via that execution, replicate the use case sequence diagrams. This ensures the PIM is essentially correct and of high quality.
Does the PIM only have essential elements?
The PIM should avoid solution technology and design patterns - that is added in the PSM.
Does the set of elements within the PIM make sense in terms of the semantic domain?
The classes, attributes, operations, and relations should come from the problem domain semantics, not the solution domain.
More Information