The general software design process is divided into the following steps:
1. conceptual phase
2. Analysis Phase
3. Architecture Design Stage
4. parallel development and testing
5. Acceptance and delivery phase
Architect Architecture Design Process
1. Requirement Analysis
2. Domain Modeling
3. determine key requirements
4. Conceptual Architecture Design
5. refine the structure
6. Verify the architecture
Requirement Analysis
This mainly involves balancing the customer's requirements and mining hidden requirements.
Domain Modeling
Objective: To capture the most solid domain concepts behind the phenomenon and the relationships between these concepts through various phenomena of the problem.
In the initial stage of the project, the domain model serves as the basis for communication between all project-related personnel.
As the project progresses, the domain model is refined and eventually becomes the problem domain layer of the entire software, which determines the scope of the software system capabilities.
Determine key requirements
Not only do you need to filter functional requirements, but you also need to balance non-functional requirements and ultimately determine the subset of requirements that play a key role in the software architecture.
Conceptual Architecture Design
Step 1: analyze the use case conventions of key cases and use a robust diagram to construct an idealized responsibility model of the system. Step 2: Define the architecture model, determine the interaction mechanism, and form a preliminary conceptual architecture. Finally, through quality attribute analysis, develop high-level design decisions meeting non-functional requirements, and enhance and adjust the previous architecture based on these decisions.
Refined Software Architecture
It mainly provides developers with adequate guidance and restrictions.
Verify Software Architecture
You can test the architecture by using a prototype or framework to ensure that the designed architecture can meet your needs.
How does the architecture design process reflect the architecture design strategy?
Determine the architecture strategy based on the key requirements.
Conceptual architecture design corresponds to a comprehensive understanding of the needs of the strategy, mainly to investigate non-functional requirements.
The refined software architecture corresponds to the multi-view development strategy to fully analyze the system.
Verify the policy for timely verification of the corresponding architecture of the software architecture to ensure the accuracy of the architecture.
References
Software Architecture Design