Paper Analysis

advertisement
Paper Analysis
“Architectural Blueprints – The ‘4+1’ View Model of Software Architecture”
By Philippe Kruchten
Jeff Schott
CS590L Distributed Component Architecture
Prof. Yugi Lee
January 28, 2004
The architecture presented by Kruchten appears to be an extension of the Booch model to
encompass distributed systems. While the distributed aspect is never explicitly stated, it is clear from the
context of the paper. As a personal aside, this paper could have benefited from another editing pass. The
English usage was awkward at points, although never unintelligible, and the examples were weak and
unclear. The Booch connection shouldn’t be surprising given that Kruchten works for Rational Software
Corp. The idea of multiple concurrent views is now incorporated in similar form in the newer Unified
Modeling Language, also from Rational. The views in UML are the use case view, the logical view, the
component view, and the deployment view. The views in the 4+1 model can be seen in UML – the
scenarios are encompassed in the use case view, the logical views directly correspond, the process view
falls within the component view, and the physical and development views are combined in the deployment
view. Using scenarios in the form of use cases as a driver for defining the other views is the foundation of
the Unified Process, an architectural framework for the Unified Modeling Language, also from Rational.
Some differences are apparent, however, between the 4+1 view and the Unified Process and UML.
The 4+1 view places much more emphasis on the “back end” of the development process, namely in
mapping objects to processes and threads and laying the processes onto the physical hardware. This greater
emphasis can be seen in the splitting out of the physical and development views in the 4+1 architecture
from the single deployment view in UML. This back end focus only exacerbates a weakness of the Unified
Process and UML, which is the identification and definition of objects and classes.
The strength of this paper is in defining an architectural model for building distributed systems
within an object-oriented software development framework. When combined with UML and the Unified
Process it could be a good foundation for building distributed, component-based software systems.
Splitting the Logical View into an Analysis Workflow and Design Workflow, as the Unified Process does
with UML, is better than a single logical analysis step for object identification. Following the 4+1 model
and splitting the Deployment view into a Physical View and Development View provides added focus on
the multi-threaded and multi-node nature of distributed and component systems, something that is not
really emphasized in the Unified Process.
Download