4+1
   HOME

TheInfoList



OR:

4+1 is a
view model A view model or viewpoints framework in systems engineering, software engineering, and enterprise engineering is a framework which defines a coherent set of ''views'' to be used in the construction of a system architecture, software architectur ...
used for "describing the architecture of software-intensive systems, based on the use of multiple, concurrent views".Kruchten, Philippe (1995, November)
Architectural Blueprints — The “4+1” View Model of Software Architecture.
IEEE Software 12 (6), pp. 42-50.
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 case In software and systems engineering, the phrase use case is a polyseme with two senses: # A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful. # A potential scenario ...
s or scenarios are used to illustrate the architecture serving as the 'plus one' view. Hence, the model contains 4+1 views: * ''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 diagram In software engineering, a class diagram in the Unified Modeling Language (UML) is a type of static structure diagram that describes the structure of a system by showing the system's classes, their attributes, operations (or methods), and the rela ...
s, and
state diagram A state diagram is a type of diagram used in computer science and related fields to describe the behavior of systems. State diagrams require that the system described is composed of a finite number of states; sometimes, this is indeed the case, ...
s.Mikko Kontio (2008, July
Architectural manifesto: Designing software architectures, Part 5
/ref> * ''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 A sequence diagram or system sequence diagram (SSD) shows process interactions arranged in time sequence in the field of software engineering. It depicts the processes involved and the sequence of messages exchanged between the processes needed ...
,
communication diagram A communication diagram in the Unified Modeling Language (UML) 2.0, is a simplified version of the UML 1.x collaboration diagram. UML has four types of interaction diagrams: * Sequence diagram * Communication diagram * Interaction overview d ...
,
activity diagram Activity diagrams are graphical representations of workflows of stepwise activities and actions with support for choice, iteration and concurrency. In the Unified Modeling Language, activity diagrams are intended to model both computational and o ...
. * ''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. UML Diagrams used to represent the development view include the Package diagram and the
Component diagram In Unified Modeling Language (UML), a component diagram depicts how components are wired together to form larger components or software systems. They are used to illustrate the structure of arbitrarily complex systems. Overview A component diag ...
. * ''Physical view'': The physical view (aka the ''deployment 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. UML diagrams used to represent the physical view include the
deployment diagram A deployment diagram in the Unified Modeling Language models the ''physical'' deployment of artifacts on nodes.Deployment diagrams show "the allocation of Artifacts to Nodes according to the Deployments defined between them.Unified Modeling L ...
. * ''Scenarios'': The description of an architecture is illustrated using a small set of
use case In software and systems engineering, the phrase use case is a polyseme with two senses: # A usage scenario for a piece of software; often used in the plural to suggest situations where a piece of software may be useful. # A potential scenario ...
s, 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. The 4+1 view model is generic and is not restricted to any notation, tool or design method. Quoting Kruchten,


See also

*
View model A view model or viewpoints framework in systems engineering, software engineering, and enterprise engineering is a framework which defines a coherent set of ''views'' to be used in the construction of a system architecture, software architectur ...
* C4 model *
ISO/IEC 42010 ISO/IEC/IEEE 42010 ''Systems and software engineering — Architecture description'' is an international standard for architecture descriptions of systems and software. Overview ISO/ IEC/IEEE 42010:2011 defines requirements on the de ...


References

{{reflist Software architecture