Title: Topic A1 Rational Unified Process
1Topic A1 Rational Unified Process
23. IBM/Rational Unified Process
- What is RUP?
- Key features of RUP
- Structure of RUP
- Phases
- Disciplines
3What is RUP?
- Process model
- In general Development plan, which specifies the
general process of developing a software product. - More precisely Definition that states, which
activities are to be performed, by which person,
acting in which role in which order the
activities will be performed, and which products
will be developed and how to evaluate them.
- RUP is also a process framework that can be
adapted to suit the needs of a particular
organization
4Why studying RUP?
- Benefits
- Current industry standard
- Updated regularly to include new SE techniques
- Fulfils a goal of realistic SE education gt
prepares students as much as possible for
situations in real industrial projects - Drawbacks?
- Proprietary gt IBM/Rational
- Complexity of RUP
- Solution instantiate a framework to a suitable
subset of all notions
5Genealogy of RUP
Rational Unified Proces v5.0 v2003 1998 -
Other sources
Rational Objectory Process v4.1 1987 - 1995
The Rational Approach
UML
Objectory Process v1.0 v3.8 1987 - 1995
SDL 1976
The Ericsson Approach 1967
Source I. Jacobson, G. Booch, J. Rumbaugh The
Unified Software Development Process, 1999
63. IBM/Rational Unified Process
- What is RUP?
- Key features of RUP
- Structure of RUP
- Phases
- Disciplines
7Key features of RUP
- Use-Case-Driven
- Architecture-Centric
- Iterative Development
- Configurable
- Supported by tools
8Use-Case-Driven-Development
- Use cases are a means of expressing requirements
on the functionality of the system - Uses casesrelations are organized in a use case
model - Use cases help synchronize content of various
models - Drive numerous activities
- Creation and validation of design model
- Definition of test cases and procedures in test
model - Planning of iterations
- Creation of use manuals
- Deployment of the system
UC1 WITHDRAW MONEY 1. BankCustomer identifies
themselves 2. System verifies identity 3.
BankCustomer chooses account and amount to
withdraw. 4. System deducts amount from
account 5. System dispenses money 2a.
BankCustomer cannot be identified . 4a.
BankCustomer has insufficient funds
9Focus on the Architecture
Picture source R. Waters, The Rational Unified
Process CS4320 Course Notes, Georgia Tech, Fall
2003
- System architecture in RUP is a primary artifact
for conceptualizing, constructing, managing and
evolving the system under development - Architecture is a complex concept best
represented by multiple, coordinated views - A view is an abstraction of model that focuses on
its structure and essential elements
10Iterative and Incremental development
- Problems with Waterfall
- Assumption Requirements will be frozen
- Assumption We can get design right on paper
before proceeding - Little feedback on quality of work
- Volume based v.s. time based scheduling (not
suitable to dynamically drop or add feature)
11Iterative and Incremental Development (2)
- An Iterative process breaks a development cycle
into a succession of iterations. Each iteration
looks like a mini-waterfall and involves
activities of requirements, design,
implementation and assesment. - To control the project, sequence of iterations is
partitioned by four phases inception,
elaboration, construction and transition - Incremental Qualifies an iterative development
strategy in which the system is built by adding
more and more functionality at each iteration
12Iterative vs Waterfall
What does a negative slope mean?
Source I. Jacobson, G. Booch, J. Rumbaugh The
Unified Software Development Process, 1999
133. IBM/Rational Unified Process
- What is RUP?
- Key features of RUP
- Structure of RUP
- Phases
- Disciplines
14 Structure of RUP
15RUP Process
Discipline - a collection of related activities
that are related to a major 'area of concern'
Phase a span of time between two major
milestones
Time
Activities
Milestone - The point at which an iteration
formally ends
A distinct sequence of activities with a
baselined plan and valuation criteria resulting
in a release
16Sample workflow Analysis Design
17Sample workflow detail define a candidate
architecture
18Sample Activity Architectural Analysis
19Sample artifact Software Architecture Doc.
203. IBM/Rational Unified Process
- What is RUP?
- Key features of RUP
- Structure of RUP
- Phases
- Disciplines
21Phases in RUP
- Process is decomposed over time into four
sequential phases, each concluded by a major
milestone - At each phase-end an assessment is performed to
determine whether the objectives of the phase
have been met - One pass through the four phases is a development
cycle each pass through the four phases
(evolution cycle) produces a generation of the
software.
22Phases and Disciplines
- Various disciplines are exercised in each phase
Inception
Elaboration
Construction
Transition
R
A
D
I
T
d
R
A
D
I
T
d
R
A
D
I
T
d
R
A
D
I
T
d
completed
Disciplines
R Requirements
A Analysis
D Design
I Implementation
T Test
d Deployment
233. IBM/Rational Unified Process
- What is RUP?
- Key features of RUP
- Structure of RUP
- Phases
- Disciplines
24Business Modeling Discipline
- Purpose
- To understand current problems in the target
organization and identify improvement potentials.
- To assess the impact of organizational change.
- To ensure that customers, end users, developers,
and other parties have a common understanding of
the organization. - To derive the software system requirements needed
to support the target organization - Business model provides a static view of the
structure of the organization and a dynamic view
of the processes within the organization
25Business Modeling Artifacts and Roles
BM describes how to assess the current
organization and develop a vision of the new
organization. Using this vision as a basis, it
then defines the processes, roles, and
responsibilities of that organization in a
business use-case model and a business-analysis
model.
responsible for the business architecture,
outlining the organization being modeled gt by
establishing what business actors and business
use cases exist and how they interact
specifies the workflow of business use cases in
terms of business workers and business entities
26Environment Discipline
- Customizing RUP to specific needs
- Categories of customizations
- Extend the process framework by creating RUP
plug-ins (company specific) - Update UML meta-model of RUP (which conforms to
OMGs Software Process Engineering Meta Model
SPEM) - Using Rational Process Workbench/RUP Modeler tool
- Create a RUP configuration (no meta-modeling)
- Selecting relevant process components and
eliminating unnecessary add specific processes
and views - Using RUP builder tool
- Instantiate the configured process on a project
- Create project specific RUP configuration by fine
tuning defining needed artifacts, customizing
templates etc.
27Literature
- IBM/Rational Unified Process (electronic resource
collection), v2003. - P. Kruchten, The Rational Unified Process An
Introduction, Second Ed, Addison-Wesley, 2000. - I. Jacobson, G. Booch, J. Rumbaugh, The Unified
Software Development Process, Addison-Wesley,
1999. - M. Halling, et al. Teaching the Unified Process
to Undergraduate Students, CSEET, 2002.