Are collaborations between components clear?
-
Is the user or external system initiating a collaboration shown clearly?
-
Do all responsibilities or methods invoked on a given component appear in its description?
-
Are all the messages sent to a component be handled by a responsibility or interface operation?
-
Do responsibility names and operation descriptions adequately represent what actually takes place?
|
Are component descriptions complete?
-
Are the main responsibilities or operations defined for a component illustrated by one of the component interaction
diagrams?
|
Is the mapping from logical to phyiscal components clear?
Is the project organization supported?
-
Is the component model partitioned in a way that developers can use it to divide up the development work?
|
Is the component model well structured?
-
Is the coupling between the logical components sufficiently low to minimize clarification needed by designers
and developers of dependent components?
-
Is the cohesion of each logical components sufficiently high so that it maps to a small set of closely related
requirements? Will a change to a single requirement require changing a limited number of components?
Will a change to a component require communication with a minimal number of developers and testers?
|
Is the notation on diagrams clear?
-
Do diagrams contain a key explaining the notation used?
-
If a standard notation like UML is used, do the diagrams follow the standards?
-
If custom notation is used, does the key clarify the meaning of colors, shapes, and icons used?
|
Have all architecturally significant requirements been covered?
Does the architecture meet architectural goals?
|