These guidelines are extracted and transformed from the Pressman’s “Software Engineering” book:
- A design must present an architecture built using known pattern designs, components with the right characteristics and that can be implemented in an incremental way.
- Must be modular, divided in subsystems
- Must lead to interfaces which reduce the complexity when connecting components
- Must be generated from a reproducible method and the information produced during the analysis
- Must use notation to express its meaning correctly