Each application example in this book will focus on a specific part of the macro life cycle and the applicable analysis and design (I .e. micro) skills.
Satellite-based navigation-development from a simplified perspective (segments, in the same Assembly CourseCodeSegments, data segments, stack segments, and so on are interpreted in the same way, that is, they represent different parts of the system) and the second (sub-systems) level architecture. Our intention is to explore how representations and processes are applied to system architecture development.
The architecture is developed step by step along with the system functional requirements and non-functional needs. It is the most clear blueprint of the system.
Macro Process
Initial
1. Define the problem boundary. The functional requirements provided to us are actually containers of many mission-level use cases (in UML, it is a package ).
2. Determine the Mission case and finalize the logic architecture of the high-level abstraction segment level.
3. System Use Cases: analyze mission use cases through activity diagrams (which is the primary tool for describing system behavior.
Details
The objective is to allocate system use cases to segments and further allocate the use cases to subsystems and components through the activity diagram of segments. During the entire development process, the system architecture is the focus of attention when assigning functions, because the allocation needs to be completed at any abstraction level and the allocation granularity is different.
- System
- Segment
- Subsystem
- Components
Traffic management-a system architecture that responds to certain changes in demand and can be flexibly expanded
Mainly from System Engineering (initial stage) to hardware and software engineering (Refinement stage ).
The general process is the same as that of the satellite navigation system (Although the description is different, there are many similarities between the basic prototype, so the focus on execution is more important than what is formal.), Requirement-subproblem-key abstraction and key mechanisms between subproblems, and key abstraction and key mechanisms of subproblems.
Ai-Password analysis-large-scale reuse of blackboard architecture instances
Artificial Intelligence generally requires the knowledge base of human beings to approach different AI fields.
Data collection-meteorological monitoring station-small systems will also learn from the object-oriented architecture and reveal some basic principles for the object-oriented development process. Small systems have no major sub-problems, however, the principle is the same, but the level at the beginning of the abstraction level is not equal to that of the large system. Don't think that a small system won't be able to use the object-oriented method to solve it well.
I also want to emphasize again the ability and cost of assigning tasks to software and hardware. The improvement of the object-oriented system is marked by reusing and replacing the existing architecture without disrupting the existing architecture.
Design ensures that there is always oneSensor set(Different types of sensors realize uniform polymorphism through inheritance structure),Display ManagerAnd oneInput Manager(Indicated by the status chart of the use case scenario ).
An analysis system must not be a black line, but rigid and hard to copy the development process of a system. Instead, they flexibly adopt flexible, convenient, and effective methods. Generally, different systems generate different artifacts during the development process.
Web Application-Vacation tracking system-web application architecture is mature. Although each sub-problem is huge, it has been well solved (such as application server software Tomcat ). Therefore, our focus is on the customer's business logic. We need to consider building a flexible and scalable business system architecture. At this point, we have actually reduced the architecture of the entire problem to the Business architecture. If the problem is small, then we don't need the business architecture.
In the Refinement phase, web applications can analyze the relationship between interfaces through the UX model. The business logic can be analyzed independently from the interface, because there is no direct dependency between the view and the model, and this relationship has been completed by the Web Container components.