Design
This chapter explains the strategies used to meet the requirements identified in the analysis
Architecture
- This section explains how the main components of the software are linked with each other
- A high-level view of the various system components must be provided, for example by using components diagram
- The chosen architecture must be described (for example, layered architecture)
Modelling
- This section explains how the domain has been modelled
- This section should contains some class diagrams
- The application’s most relevant design aspects are highlighted, showcasing how they solve the problems described in the analysis
- Diagrams do not show implementation aspects that are not relevant, such as private fields
- This section describe how the tactical patterns and other aspects of DDD seen in class were applied
Interaction
- This section explains the behavior of the system, for instance using sequence or activity diagrams
Behaviour
- This section explains the possible states that the system can be in and the events that cause the transition from one state to another, for instance using UML state diagrams
Data-related aspects
- This section explains all the details related to the data, for instance:
- Data schema
- Data persistence technologies (if used), for example: MySQL, MongoDB, …