The visual model conforms to UML standards so all stakeholders can understand the model over time
Names are descriptive
-
The name of each class clearly reflect the role it plays.
-
Relationships have descriptive role or association names (one or the other but not both), and correct
multiplicities.
|
Generalization is used appropriately
-
Generalization relationships are used only to inherit definitions, not behavior (implementation) so that behavior
shared through the use of association, aggregation and containment relationships instead of generalization.
-
Parent classes in generalization relationships are abstract, so the "leaf" classes in a generalization
hierarchy are the only concrete classes.
|
Classes have been properly identified
-
Each class represents a single well defined abstraction.
-
Each class offers the required behavior.
-
There is at least one realization association defined for each specified interface
-
Statecharts exist for classes with complex or restrictive state changes.
|
|