4+1" Viewmodel Of Software Architecture With Rational Unified Process (Rup)

The Rational Unified Process (RUP) is an iterative software development process framework created by the Rational Software Corporation, a division of IBM. RUP is not a single concrete prescriptive process, but rather an adaptable process framework, intended to be tailored by the development organizations and software project teams that will select the elements of the process that are appropriate for their needs.

4+1 is a view model designed by Philippe Kruchten for "describing the architecture of software-intensive systems, based on the use of multiple, concurrent views"

The 4+1 View Model of Software Architecture organizes a description of a software architecture using five concurrent views, each of which addresses a specific set of concerns. Developers and Designers capture their design decisions in four views and use the fifth view to illustrate and validate the design. This method helps in multiple views allows to address separately the concerns of the various “stakeholders” of the architecture: end-users, developers, system engineers, process engineers, project managers etc. and to handle separately the functional and nonfunctional requirements.

The 4+1 model consists of the following views:

Logical view – presents a system from the point of view of end-user,
Development view – description of a system for programmers and managers,
rocess view – representation of functionality, performance, scalability and the possibilities for integrating with other systems,
Physical view - the product is presented from the point of view of end-user.
The description of software architecture is described using these 4 views and illustrated by scenarios, the fifth view, which interweaves it all together.

Web design with RUP in the “4+1” View Model

Efficient Web site development needs quick and careful planning, in order to model a site that has a reliable architecture in conjunction with flexibility and extendibility. In other words, there has to be a clear and overwhelming vision, so that the problem domain, the system, its main functionality and features could be defined. For Web applications modeling the UML is recommended to use. 

1. The Logical View

As soon as the vision of a future Web application has been reached, the functionality of the system can be described using classes and use-cases.  

The main goal of the logical view is to:

Clearly define the task to be solved,
In-depth analysis of the problem area, in this case the Web site,
Coherently represent the functionality and the users of the system, using use-case diagrams
Define the objects and their possible states in the system as classes and states,
Develop the user interface Creative Design Brief and navigation map, see the User Interface Development chapter. 
Non-functional requirements and a glossary of terms to be used are also composed in the logical view.  UML Diagrams used to represent the logical view include Class diagram, Communication diagram, Sequence diagram. 

2. The Development View

As the requirements and functionality are already described in the logical view, the organization of actual software modules is represented by module and subsystem. 

The aim of the development view is to specify:

The media for the realization – a set of applications that are required to construct a Web application; i.e. WAS6.1 with J2SE5.0 module,
Software re-use issues,
Constraints to the system further development,
Logical data model,
The User interface Creative Design Comps and Web Design Elements.
UML Diagrams used to represent the development view include the Package diagram and Component diagrams.

3. The Process View

Concurrently with the development view, issues such as concurrency and distribution, integrity of the system and fault-tolerance are elaborated. 

The scope of the view is to describe:

Functionality to be realized – classes and methods that actually realize the specified functionality.
Non-functional requirements concerned with the implementation of the functionality,
User interface initial prototype, full prototype and full navigation map. 
UML Diagrams to represent process view include the Activity diagram

4. The Physical View

The physical view brings together all the elements from logical, process and development view, taking into account the system's non-functional requirements such as reliability, performance, scalability; several different configurations might be used for the Web application, some for testing, others for system deployment for various customers. The actual realization of data model for a specific database system is also submitted. 

UML Diagrams used to represent physical view include the Deployment diagram. 

5. Scenarios

Scenarios are putting it all together. Interaction between objects in the system is expressed by object interaction and scenario diagrams. 

UML Diagram(s) used to represent the scenario view include the Use case diagram.

REFERENCES

1. Royce, W. Software Project Management: A Unified Framework. Addison-Wesley Professional.

2. Kruchten, P. The 4+1 View Model of architecture