đź“ťDesign model
Unlike Domain model, Design model describes the designed solution. (To not confuse with Code model.)
Design model can be divided into two main sub-models:
Boundary model describes the system as viewed from the outside. It is useful for others who need to interact with the system or get an overview, and don’t need to know the details.
Internals model refines the boundary model and adds internal details (i.e., how the system is to be implemented).
The following views are useful.
Boundary model:
Use case diagram
Functionality scenarios (can refine scenarios from domain model with implementation details)
System context
Design decisions
Modules
Components
Deployment
Quality attribute scenarios
Trade-offs
Internals model:
Component assembly—what components consist of (other components) / specific configuration of component instances
Two-level functionality scenarios—add details of how internal components interact
Responsibilities—what ports and components are responsible for (a table would do)
Architectural styles
(most of the diagrams for boundary model can be used for internal model)