Rational Unified Process
Rational Unified Process
by
Amir Ranjbar
[email protected]
Rational Unified Process (RUP)
Introduction
Phases
Core Workflows
Best Practices
Tools
Team-Unifying Approach
The RUP unifies a software team by providing a common
view of the development process and a shared vision of
a common goal
Increased Team Productivity
knowledge base of all processes
view of how to develop software
modeling language Tool
Rational provides many tools Specialist
Architect
Release
Engineer
Project
Management
Business Modeling
t
conten
Requirements
Analysis & Design
Implementation
Test
Deployment
Supporting Workflows
Configuration & Change Mgmt
Project Management
Environment
Preliminary Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1
Iterations
Rational Unified Process (RUP)
Introduction
Phases
Core Workflows
Best Practices
Tools
Phases in the Process
Major
Milestones
time
baseline architecture
Construction - Build the product
user community
Inception phase
Establishing the project's software scope and boundary
conditions, including an operational vision, acceptance
criteria and what is intended to be in the product and what
is not.
Discriminating the critical use cases of the system, the
primary scenarios of operation that will drive the major
design tradeoffs.
Exhibiting, and maybe demonstrating, at least one
candidate architecture against some of the primary
scenarios.
Estimating the overall cost and schedule for the entire
project (and more detailed estimates for the elaboration
phase that will immediately follow).
Estimating potential risks (the sources of unpredictability)
Preparing the supporting environment for the project.
Elaboration phase
Defining, validating and baselining the architecture as rapidly
as practical.
Refining the Vision, based on new information obtained during
the phase, establishing a solid understanding of the most
critical use cases that drive the architectural and planning
decisions.
Creating and baselining detailed iteration plans for the
construction phase.
Refining the development case and putting in place the
development environment, including the process, tools and
automation support required to support the construction
team.
Refining the architecture and selecting components. Potential
components are evaluated and the make/buy/reuse decisions
sufficiently understood to determine the construction phase
cost and schedule with confidence. The selected architectural
components are integrated and assessed against the primary
scenarios.
Construction phase
Resource management, control and
process optimization
Complete component development
and testing against the defined
evaluation criteria
Assessment of product releases
against acceptance criteria for the
vision.
Transition phase
Executing deployment plans.
Finalizing end-user support material.
Testing the deliverable product at the
development site.
Creating a product release.
Getting user feedback.
Fine-tuning the product based on feedback.
Business Modelling
Requirements
Implementation
Test
Deployment
Business Modelling
Environment
Configuration & Change Management
Business Modeling
Requirements
Analysis & Design
Implementation
Test
Deployment
Supporting Workflows
Configuration & Change Mgmt
Project Management
Environment
Preliminary Iter. Iter. Iter. Iter. Iter. Iter. Iter.
Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1
Iterations
Rational Unified Process (RUP)
Introduction
Phases
Core Workflows
Best Practices
Tools
Rational Unified Process
Use
Develop Model Verify
Visually Component
Iteratively Quality
Architectures
Control Changes
1. Manage Your Requirements
Elicit, organize, and document required
functionality and constraints
Track and document tradeoffs and decisions
Business requirements are easily captured and
communicated through use cases
Use cases are important planning instruments
Use-Case Model
Design Model
Evaluation
Test
Waterfall Development
Requirements
Analysis
Design
Subsystem
Testing
System Testing
T I M E
Waterfall Development: Risk vs.
Time
Requirements
R Analysis
I Design
S
K Code & Unit
Testing
Subsystem
Testing
System
Testing
T I M E
Risk Profile of an Iterative
Development
Waterfall
Inception
Elaboration
Risk
Construction
Transition
Time
Iterative Development
Characteristics
Critical risks are resolved before making
large investments
Initial iterations enable early user
feedback
Testing and integration are continuous
Objective milestones provide short-term
focus
Progress is measured by assessing
implementations
Partial implementations can be deployed
3. Employ Component-based
Architecture
Design, implement and test your architecture up-front!
A systematic approach to define a good architecture
Resilient to change by using well-defined
interfaces
By using and reverse engineering components
Derived from top rank use cases
Application-
specific
Business-
specific
Component-based Middleware
Architecture with
layers System-
software
4. Model Software Visually
Aiding understanding of complex
systems
Exploring and comparing design
implementation
Capturing requirements precisely
unambiguously
Visual Modeling Classes
raises the level
of abstraction
Code
5. Verify Software Quality
Create tests for each key scenario to ensure that
all requirements are properly implemented
Unacceptable application performance hurts as
much as unacceptable reliability
Verify software reliability - memory leaks, bottle
necks
Test every iteration - automate test!
Cost
Software problems
are 100 to 1000 times
more costly to find
and repair after
deployment Development Deployment
6. Control Changes to Software
Control, track and monitor changes to enable
iterative development
Establish secure workspaces for each developer
Provide isolation from changes made in other
workspaces
Control all software artifacts - models, code,
docs, etc.
Automate integration and build management
Workspace Parallel
Management Development
CM is more
than just REPORTALERT
Develop Iteratively
Manage
Requirements
Developer
Use Component Tester
Best Architectures Project
Practices Model Visually Manager
Verify Quality
Control Release
Change Engineer
Rational Unified Process (RUP)
Introduction
Phases
Core Workflows
Best Practices
Tools
Tools
The success of process adoption is
significantly improved by the use of
appropriate supporting tools.
Tool Mentors provide detailed
descriptions of how to perform
specific process activities or steps, or
produce a particular artifact or report,
using one or more tools.
Tools
Rational Unified Process
RUP Builder
Rational Process Workbench
Rational Administrator
Rational Suite AnalystStudio
Rational ClearCase
Rational ClearQuest
Rational ProjectConsole
Rational PurifyPlus
Rational QualityArchitect
Tools
Rational RequisitePro
Rational Robot
Rational Rose
Rational Rose RealTime
Rational SoDA
Rational TestManager
Rational Test RealTime
Rational TestFactory
Rational XDE Developer - Java Platform Edition
Rational XDE Developer - .NET Edition