ArticleDirectory
- Description
- What is the software architecture?
- System Architecture
- What is architecture?
- Next Article Content preview
Description
Because I have summarized and learned these technologies, the mistakes are inevitable. With the technical exchange mentality, I hope you can give more advice, this will benefit some people and help them correct my incorrect ideas so that they can improve together!
What is the software architecture?
The software architecture can be simply described as a combination, interaction, and inheritance relationship between a series of components. Of course, this explanation is basically acceptable to everyone. However, in our opinion, such a statement is too abstract.
The software architecture is defined as an ANSI/IEEE Standard. The software architecture can be understood as a system that plays a decisive role in system implementation and deployment in software-intensive systems.
The key point in the software architecture is that it should meet the goal of the stakeholders of the project. Of course, the functions should be subdivided into functional and non-functional requirements.
The software architecture has some special characteristics. The architecture design must be determined at the early stage of development, and the architecture design must be determined at the early stage as a key decision.
In fact, the software architecture mainly needs to meet the objectives of the stakeholders of the project. If the objectives of the stakeholders cannot be met, the architecture scheme will not work, it is a direct relationship between systems, architectures, and project stakeholders defined in ANSI/IEEE standards.
The system architecture presentation tools including UML and relation Rose have already become international standards.
UML class diagram: describes the relationship between classes.
Use case diagram: Describe the application scenario.
Component diagram: used to describe the reusable part of the system. It is easy to see the correspondence between components and binary files.
With UML tools, we can further describe the system architecture from different perspectives. Grasp its core.
Currently, there is no good way to automatically verify whether the software architecture can meet the goal of the project stakeholders. Only multi-level tests can be performed in multiple ways.
For example, a unit test is used to verify a single function, an integration test is used to evaluate system compatibility, and an acceptance test is used to verify user satisfaction,ProgramWhether to provide necessary functions.
In addition to the UML modeling tool, there is also IBM's famous relation Rose. Here we will introduce the view mode of this tool:
System Architecture
It can be said that no system can be split during the software system architecture process. The more agile the system development method is, the more space reserved for developers to implement the architecture.
The System Architect finally forms a detailed design specification provided to developers. Of course, the content and format of the detailed design manual also depend on the development method.
What is architecture?
Most architectures are reflected in the decision that is difficult to change or that is costly to change. But in the end, someone still needs to make a decision.
The system analyst analyzes what the system does and how the architect designs it.
Architects are the link between requirements and detailed descriptions.
Architect's responsibility: the architect should be involved in the whole process of development. It includes analyzing requirements and architecture design, implementation, testing, inheritance and deployment.
According to the definition of ISO, the architect defines the persons, teams, or organizations responsible for the system architecture.
Microsoft divided the system architecture as follows:
1. Enterprise architect.
2. Basic architect.
3. Specific technical architects.
4. Solution Architect.
Finally, we summarize some rules in the software development process:
1. To increase manpower for a project that cannot keep up with the progress, the project will only lag behind the progress.
2. The complexity of the program will increase until the maintenance personnel feel powerless.
3. Architects and developers write programs differently. If architects build programs as developers, they will only become failures in history.
Next Article Content preview
Architecture Design of UML
How to use UML tools for modeling and analysis from different perspectives to obtain the core design.