Architecture design: "4 + 1" view

concept

"4 + 1" view is from the perspective of five different described software architecture.
"4 + 1", respectively, refer to:

  1. Logical View
  2. Process view
  3. Physical View
  4. Development view
  5. Scene / use case View

Description of the logical architecture can be organized around four front view, and then combined with the cases or scenarios will be described, form a fifth view.
Here Insert Picture Description
Each view only interested in a side of the system, 5 views combine to reflect the entire contents of the system.

About view

Software design can be described from a different recording and conceptual point of view, which angle is generally referred to as a view.

"View showing a portion of the software architecture, which shows a specific software system attributes"

Different views relating to different issues related to the software.

Here Insert Picture Description

In short, many software design is the product resulting from the design process, typically by a relatively independent orthogonal view of the components may be understood in conjunction with the view construction.

Logical View

When using the method of object-oriented design, logic design view corresponding object model, commonly used methods are described in UML class diagram, the ER FIG.

Logical architecture primarily supports the functional requirements that the system should provide users with what kind of service.
The system is decomposed into a set of key abstractions in the form of an object or object class representation from the problem.

Class design follows abstraction, encapsulation and inheritance principle, this decomposition is not only to clarify the mechanisms of system and general design elements for each part of the functional analysis.

Process view

Process architecture attention concurrency and synchronization aspects of the design, consider some of the non-functional requirements, such as performance and availability.
Process view can be described at several levels of abstraction, each level of abstraction to deal with different concerns:

  • Concerned about the process at the highest level, in the process of distribution of a set of hardware resources used by the LAN or WAN connections, as a set of logical network independent communication program execution.
  • A plurality of logical networks may exist simultaneously, sharing the same physical resources.

The main task is to carry through a set of well-defined inter-task communication mechanisms: synchronous and asynchronous communication services based messages, remote procedure calls, event broadcasting.

Secondary task is to set or may communicate through shared memory, to avoid major task assumed arranged on the same processing node or process.

Physical View

Physical view describes the mapping software to hardware, mainly reflected in the distributed aspect.

Physical structure of the system main consideration non-functional requirements, such as availability, reliability (fault tolerance), performance (throughput) and scalability.

Common physical configuration:

  • test
  • For different sites or different customers to deploy systems

Development view

Static view describes software development organizations in their development environment.

Development framework focused on:

  • Software development environment for the actual software module organization
  • The software is packaged into a small library, or packaged into subsystems may be developed by a developer or a small number of

Development system architecture represented by FIG modules and subsystems, denoted as "export" and "import" relationship. Only when all elements of the software are identified in order to describe a complete development framework.

In large part, the development of architecture considering the development of convenience, software management, reuse or commonality, as well as the constraints set of tools or programming languages ​​applied.

Development view is the basis for the distribution of demand, the development team to facilitate the distribution of work, help evaluate the costs and plan ahead, monitor the progress of the project, software reuse, portability, and security of reasoning. By developing view, easy to reach the division of the configuration item developers.

In practical applications, the development of view will increase the number of contents on the basis of logical view, such a large number of interfaces, assist the like.

Scene / use case View

Describe the decision-making framework can be organized around four front view, and then selected by a number of use cases or scenarios (become a fifth view) will be explained.

Other elements in four views, some of the important scene can be better display or use cases, such as:

  • More in line with the configuration of embodiment examples
  • Some describe the interaction between the associated scripts, such as between objects or processes

to sum up

Not all software architecture needs to complete "4 + 1" view.

Unnecessary may be omitted from the view schema description, for example:

  • If there is only one processor, it need not be physically view
  • If only one process or program, you do not need Process View
  • For very small systems, it is possible to develop logical view and views are very similar, need not be described separately

Scene view in any case have to use.

Guess you like

Origin www.cnblogs.com/ustca/p/11888492.html