The 4+1 View Model (Comment)

UML everywhere, or that is what every professor at my university has taught me. In addition there are other ways of viewing the software architecture. 4 + 1 View is one of this ways, 4 + 1? Yes! isn't that 5? Well this is because the called "5th View" are the scenarios.


View Name Logical View Development View Process View Physical View Scenarios
Description What components are going to be made and how they will behave What belongs to what during the development Concurrency and synchronized stuff SW (Software) and HW (Hardware) relations AND the how the system looks when finished Interactions between the components
Diagrams
  • Class Diagram
  • Communication Diagram
  • Sequence Diagram
  • State Machine Diagram
  • Object Diagram
  • Component Diagram
  • Package Diagram
  • Activity Diagram
  • Timing Diagram
  • Deployment Diagram
  • Use Cases

The way to create software is by getting a customer/sponsor, gather requirements, design architecture, create such architecture components which in combination receives the name of source code, and after that, it is deployed.

While I was reading the first lines of "The Elephant and the Blind Programmers" the first thing that came to my mind was that the author was talking about a bug which gets into a program that worked fine. When I was almost finishing it I understood that it was making reference to the 4 + 1 View Model in which every part is correct but they describe different aspects.

After that I saw the video "Six blind men" which talks mostly the same as the reading but in a more simple way.

What happens when a software architect, a database developer, a software programmer, a network designer, a software tester and a security developer come and define a system? The system will be defined with the bias that each of them has because of their different study specializations. They all complement with one another but are coupled on its point of view.

One of these views won't be sufficient to describe your software, neither two, neither three, all of them will create a complete description of the system to be described, it happens the same with the electrical, sewer, construction, systems in a house, everyone completes and are part of that house.

Software development can be done by one programmer but after exploring the above content, I think that it is necessary to have more people creating it to really have a more complete program.


References:

Kasurinen, J. (2014). 4+1 View into Software Architeture (Video). Obtained from https://www.youtube.com/watch?v=5r60GuRu8V0

Six Blind Men (Video). Obtained from https://www.youtube.com/watch?v=iBqgr5xZLz0

Booch, G. The Elephant and the Blind Programmers. Obtained from
http://webcem01.cem.itesm.mx:8005/s201713/tc3049/the_elephant_and_the_blind_programmers.pdf 

Comentarios

Entradas populares de este blog

Metaprogramming (Comment)

Understanding the SOLID Principles - Comment

Is Design Dead? - Comment