Wednesday, September 2, 2009

4 + 1 Views

I found this paper very interesting and simple to read and follow. The author presents a simple, but powerful way of dealing with complexity when architecting large systems. The main goal of many architectures is to use a single architectural style to provide a single view of the system. We all know how challenging and confusing it can be to look at a convoluted diagram. The author proposes to separate the architecture of the system into four essential views: logical, process, development, and physical. The four views work together and their collaboration is illustrated by the use of important scenarios.

I believe that “4+1” is a beautiful architecture for software architectures. What I mean is that it is a simple method to build and document powerful systems from an architectural perspective. It is very flexible and can be adapted to almost any project. The various views assure that all aspects of the system are taken into consideration and documented. This is usually difficult to achieve in single view architecture.

I am not very sure about the relation between the logical and the development views. The author says that they are very close, but address different concerns. I am thinking that the logical view described here is only important from the end-user perspective to see that the behavioral requirements are met. From a developer perspective, I think the development view deals with dividing the system in major subsystem, with each subsystem having a logical view (subsystem’s cohesion) and an interface for external subsystems (coupling)

No comments:

Post a Comment