Architectures can be documented from several different perspectives. Some of these are conceptual view, logical view, process view, development view, and physical view. Choose one of these. Explain the primary documented approach (i.e. how is it represented). Discuss the advantages and disadvantages
There are several perspectives and methods for documenting architectures. The need for documentation arises throughout the life time of a system and it is used for specific purposes such as using the architecture as the basis for downstream design or implementation; checking to see if design or implementation conforms to the architecture; seeing if the architecture is ready to support a formal evaluation for fitness of purpose; and using it to support project planning (Nord, Clements, Emery, & Hillard 2009).
Phillippe Krutchen’s recent paper describes four main views of software architectures that can be utilized in system building, plus a special fifth view that ties all the other four together, i.e. the “four plus one” approach to architecture (Krutchen 1995). The four main views are logical view, process view, development view, and physical view.
In this article we will be looking at the logical documentation approach. The logical view is based on the object model of the design, because here an object-oriented design method is used. This approach focuses on the functional needs of the system, emphasizing on the services that the system provides to the users. In this approach, the system in question is broken down to form a set group of abstractions, which are mostly taken as object classes or objects, from the trouble area or domain. This break down helps to identify the general functions or methods and elements of design across the different elements of the specific system, as well as creates a scope for functional analysis. They make use of the principle of inheritance, abstraction, and inheritance (Krutchen 1995).
The Logical view is represented with the Booch approach using class templates and diagrams (Booch 1993). Class diagrams depict a set group of curriculum and their rational or coherent relationships, like association, composition, usage, and so forward. Related groups of classes can be combined together to form sets called class categories. On the other hand, class templates take into account each class as an individual, and emphasize the major group operations and recognize and classify the key characteristics of objects.
In the Booch notation, only architecturally significant objects are taken into consideration. Krutchen emphasizes the object-oriented style to represent the logical view. He says that the principle guideline for logical view design is to maintain a single, logical object-model across the complete system in order to avoid untimely specialization or division of classes for each processor and site.
Krutchen predicted an iterative process for architectural design. It starts with describing the critical scenarios. Next the architect can identify the key abstractions from the troubled domain and model them in the Logical View. The logical classes can be mapped to modules and packages in the Developmental View, and to tasks and processes in the Process View. The process concludes with processes and modules being mapped to the hardware in the Physical View. This shows that the four views are not entirely independent of each other (May 2004).
However, in the architectural documentation of certain systems, some views may be irrelevant, i.e. not all views are mandatory. The main advantage of the Logical View is that is it mandatory for all system documentation processes. In his paper, Krutchen says that Logical View considers each object as active and potentially concurrent. This means that each object behaves parallel to other objects, and more attention is given to the exact degree of concurrency needed to achieve this effect.
This leads to the one disadvantage of logical view, that is, it only considers the functional aspect of the requirements.
All four architecture views are important in documentation. The Logical view is important as it takes into account the functional requirements of the system with major emphasis on the kind of services the system provides for its users.
· Booch, G. (1993). Object-Oriented Analysis and Design with Applications, 2nd ed. Redwood City, California, p589.
· Kruchten, P. (1995). “Architectural Blueprints - The “4+1”View Model of Software Architecture”. IEEE Software, 12(6):42–50.
· May. N. (2004) “A Survey of Software Architecture Viewpoint Models”. ISO/IEC 10746 [Online]. Available:
http://www.csee.wvu.edu/~ammar/CU/swarch/lecture%20slides/slides%203%20documenting%20sw%20arch/A%20Survey%20of%20viewpoint%20models.pdf [Accessed 25th January 2013].
· Nord, R.L., Clements, P.C., Emery, D., and Hilliard, R. A. (2009). “Reviewing Architecture Documents using Question Sets”. Joint Working IEEE/IFIP Conference on Software Architecture. p325-328
CTO at ITweetLive.com