架构师考点 4+1 视图资料收集。
2种视图的图
架构方面的:
UML方面的:
架构视图与UML图关系
架构4+1视图
本节讨论架构方面,或说系统设计的视图模型。
WIKI的说明
4+1 is a view model used for “describing the architecture of software-intensive systems, based on the use of multiple, concurrent views”.[1] The views are used to describe the system from the viewpoint of different stakeholders, such as end-users, developers, system engineers, and project managers. The four views of the model are logical, development, process and physical view. In addition, selected use cases or scenarios are used to illustrate the architecture serving as the ‘plus one’ view.
Logical view
The logical view is concerned with the functionality that the system provides to end-users. UML diagrams are used to represent the logical view, and include class diagrams, and state diagrams.[2]
人员:end-users
Process view
The process view deals with the dynamic aspects of the system, explains the system processes and how they communicate, and focuses on the run time behavior of the system. The process view addresses concurrency, distribution, integrator, performance, and scalability, etc. UML diagrams to represent process view include the sequence diagram, communication diagram, activity diagram.
人员:system designer, integrator
Development view
The development view illustrates a system from a programmer’s perspective and is concerned with software management. This view is also known as the implementation view. It uses the UML Component diagram to describe system components. UML Diagrams used to represent the development view include the Package diagram.
人员:developer, manager
Physical view
The physical view depicts the system from a system engineer’s point of view. It is concerned with the topology of software components on the physical layer as well as the physical connections between these components. This view is also known as the deployment view. UML diagrams used to represent the physical view include the deployment diagram.
人员:system desinger
Scenarios
The description of an architecture is illustrated using a small set of use cases, or scenarios, which become a fifth view. The scenarios describe sequences of interactions between objects and between processes. They are used to identify architectural elements and to illustrate and validate the architecture design. They also serve as a starting point for tests of an architecture prototype. This view is also known as the use case view.
人员:end-user, developer
另一文章的
- The logical view describes the (object-oriented system) system in terms of abstractions, suchas classes and objects. The logical view typically contains class diagrams, sequence diagrams,and collaboration diagrams. Other types of diagrams can be used where applicable.
- The development view describe the structure of modules, files, and/or packages in thesystem. The package diagram can be used to describe this view.
The process view describes the processes of the system and how they communicate witheach other. - The physical view describes how the system is installed and how it executes in a network ofcomputers. Deployment diagrams are often used to describe this view.
- The use case view describes the functionality of the system. This view can be described usingcase diagrams and use case specifications
另另一文章的
来源 https://medium.com/the-mighty-programmer/kruchtens-views-of-software-design-e9088398c592
Logical View
captures the functional requirements of the application as decomposition of structural elements or abstractions.
人员: Developers, Engineer Managers (??) end-user
图:class diagrams(for class), Package Diagrams(for package), sequence diagrams,and collaboration diagrams
Use Cases
captures an End-User Perspective into a systematic, logical information structure. It complements all other views and is used to validate them.
所有干系人
Process View
captures the process, behavior, task concurrency, and flow of information and non-functional aspects(非功能性方面一般用文字描述,如性能,吞吐量,并发).
人员:
图:State Diagram Activity diagram Sequence diagram
Development View
focuses on the management of an application.
人员:For Management & Developers
(文章讲的是开发管理方面,如团队组织,开发方法(如敏捷开发),编码标准,版本控制工具,测试方法,日志,等,似乎不是前面wiki提到的)
Physical View
represents the deployment layout or infrastructure of an application. In essence, it captures hardware mapping of application components or processes.
For DevOps
图:deployment diagram, network diagram
UML的4+1视图
参考
https://en.wikipedia.org/wiki/4%2B1_architectural_view_model
https://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf
https://www.scribd.com/document/84656947/Architectural-manifesto-Designing-software-architectures-Part-5