Yazd University, Electrical and Computer Engineering Department Course Title: Advanced Software Engineering By: Mohammad Ali Zare Chahooki The Rational Unified Process (RUP) An Architecture-Centric Process
The Importance of Models A large part of the RUP focuses on modeling. Models help us understand both the: problem and solution. The model is not the reality but best models are ones that stick very close to reality 2
Architecture Suppose the task : describing a system so that designers, programmers, users, and managers would be able to do the following: Understand what the system does Understand how the system works Be able to work on one piece of the system Extend the system Reuse part of the system to build another one 3
Architecture Multiple Views For a building, different types of blueprints are used to represent different aspects of the architecture: Floor plans Elevations Electrical cabling Water pipes, central heating, and ventilation The look of the building in its environment (in sketches) 4
The 4+1 View Model of Architecture 5
1) The Logical View It is an abstraction of the design model and identifies: major design packages/subsystems, and classes 6
The 4+1 View Model of Architecture 7
2) The Implementation View It addresses the issues of ease of development, management of software assets, reuse 8
The 4+1 View Model of Architecture 3) The Process View This view illustrates the process decomposition of the system, including the mapping of classes and subsystems on to processes and threads. 9
The 4+1 View Model of Architecture 10
The 4+1 View Model of Architecture 4) The Deployment View Addresses: how the various executables and other runtime components are mapped to the underlying platforms or computing nodes. 11
12
13
The 4+1 View Model of Architecture 5) The Use-Case View It contains a few key scenarios or use cases. Initially, are used to drive the discovery and design of the architecture in the inception and elaboration phases, later they will be used to validate the different views. For example as a starting point for tests of an architecture prototype 14
15
An Architecture-Centric Process RUP defines two artifacts related to architecture: 1) The software architecture description (SAD), which describes the architectural views relevant to the project 2) The architectural prototype, which serves to validate the architecture and serves as the baseline for the rest of the development 16
An Architecture-Centric Process These two key artifacts are the roots of three others: Design guidelines Product structure The development environment is based on the implementation view. Team structure is based on the structure of the implementation view. 17