The software application architecture is an institutional solution that contains a set of important decisions about how to organize your software systems, including:
How to choose the structured elements and interfaces that make up the system and the interaction between them;
How to combine these structured or behavioral elements to form a larger subsystem;
How to adopt an architectural style to guide the whole organizational process;
The software architecture also takes into account functionality, ease of use, elasticity, performance, importance, understanding, economics, and technical constraints, tradeoffs, and aesthetics.
Objectives of the architecture:
1, display the structure of the system but hide the implementation details
2. Realize all use cases and application scenarios
3. Strive to take into account the needs of each participant
4, the processing function and the quality demand
Issues to consider when creating a schema design:
1. What basic parts of the architecture can lead to huge risks when making mistakes
2. What parts of the architecture are most likely to change, or which parts of the design can be slightly delayed but have little effect?
3. What are your key assumptions? How to test them?
4. Under what circumstances do you need to refactor your design?
Key design principles for architecture:
1. Consider changes rather than one step
2. Use models to analyze and mitigate risks
3. Using modeling and visualization as tools for communication and collaboration
4. Identify key engineering decisions
What is software architecture