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.