In order to discuss and analyze software architecture, we must first define the representation of architecture, that is, the way to describe important aspects of architecture. In Rational Unified Process, the software architecture document records this description.
architecture description language (ADL) is used to describe the software architecture. There are many architecture description languages, such as Wright (developed by Carnegie Mellon University), Acme (developed by Carnegie Mellon University), C2 (developed by UCI) and Darwin (developed by Imperial College London). The basic components of ADL include components, connectors and configurations. Architecture
The graphic description of the architecture view is called the architecture design drawing. For the various views described above, the design drawing consists of the following unified modeling language diagrams [uml99]:
Logical views: class diagram, state diagram and object diagram.
process view: class diagram and object diagram (including task-process and thread).
implementation view: component diagram.
deployment view: configuration diagram.
use case view: use case diagrams describe use cases, protagonists and common design classes; Sequence diagram describes design objects and their cooperative relationships. There are some people with high technical level and rich experience among software designers, who need to undertake the architecture design of software systems, that is, how to divide the components of the system, how to interact between the components, and how to make logical, physical and systematic important decisions in the system.
such a person is the so-called Architect. In many companies, the architect is not a specialized and formal position. Usually in a development team, the most experienced programmers will be responsible for some architectural work. In a department, the most experienced project manager will be responsible for some structural work.
However, more and more companies realize the importance of architecture, and set up special architect positions at different organizational levels, who are responsible for the design, configuration and maintenance of logical architecture, physical architecture and system architecture at different levels.