The 4+1 view model was designed to describe the system in different views, for different stakeholders, being separated in ‘logical’, ‘development’, ‘process’ and ‘physical’ views, which helps in graphically representing and describing the architectural solution designed (Kruchten, 1995). The idea of the 4+1 view model was to come up with a representational graphical manner to separate the different aspects of a software system into different views of the system.
THE 4+1 VIEW MODEL
The 4+1 view model proposed in 1995 suggests that the software architecture be represented in 5 segregated views, which are comment below (Staveley, 2011):
The logical view: Demonstrating the object model of the design (e.g Class Diagram, Sequence Diagram, State machine Diagrams);
The process view: Refers to the synchronization and concurrency aspects of a solution design (e.g Activity Diagrams);
The physical view: Refers to the deployment aspects, such as how many nodes will be used and what will be deployed in that node (e.g Deployment Diagram);
The development view: Refers to the software modules and subsystems (e.g Package and component diagrams);
Use case view: Refers to the functionality of the system (e.g Use Case Diagram).
THE UNIFIED MODELLING LANGUAGE
The Unified Modelling Language (UML) came up after 2 years of the 4+1 view model and today it is a standard in software development to represent graphically object-oriented software development complexity to make understandable the technical aspects of a designed solution.
The main objective of this small article is to introduce the sequence diagram which may be catalogued in the logical view of the 4+1 view model, discuss some of the advantages of using this diagram and disadvantages.
THE SEQUENCE DIAGRAM
The sequence diagram represents an exemplary snippet of a software system process (B. Rumpe, 2016). The communication between objects, the system flow, and even parameters in object messages can be represented through the sequence diagram.
Figure 1 An example of a sequence diagram
The representation of the diagram above, simply describe the web process of an Actor call a findStudent() method, going through many layers of a imaginary software and returning the result back.
Based on my experience, when a software solution design contemplates a sequence diagram, it is much easier to follow the flow proposed in the architecture, but there is a point very important to bring up: the more you have in the UML documentation the easier will be to a developer understand what is meant to be done. Considering UML not only for documentation, but for development, If you consider distributed teams geographically dispersed, as much as you have in documentation using graphical representation like the UML sequence diagram, the easier will be to the developers to come up with the right solution.
Kruchten, P, 1995. Architectural Blueprints—The “4+1” View Model of Software Architecture. IEEE Software 12, [Online]. 6, 42-50. Available at: http://www.cs.ubc.ca/~gregor/teaching/papers/4+1view-architecture.pdf [Accessed 18 June 2017].
Alex Staveley. 2011. The “4+1” View Model of Software Architecture. [ONLINE] Available at: https://dzone.com/articles/%E2%80%9C41%E2%80%9D-view-model-software. [Accessed 18 June 2017].
Rumpe, B, 2016. Modeling with UML. 1st ed. Switzerland: Springer International.