0% found this document useful (0 votes)
45 views

Rational Unified Process

The document discusses the Rational Unified Process (RUP), which is a software development process framework. The RUP aims to unify a software team through a common development process and shared vision. It consists of four phases - Inception, Elaboration, Construction, and Transition. The RUP also describes core workflows like business modeling, requirements analysis, design, implementation, testing, and deployment. It provides best practices for software development.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
45 views

Rational Unified Process

The document discusses the Rational Unified Process (RUP), which is a software development process framework. The RUP aims to unify a software team through a common development process and shared vision. It consists of four phases - Inception, Elaboration, Construction, and Transition. The RUP also describes core workflows like business modeling, requirements analysis, design, implementation, testing, and deployment. It provides best practices for software development.
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 45

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

Analyst Designer / Tester


Developer
Rational Unified Process
time
(RUP)
Phases
Process Workflows Inception Elaboration Construction Transition

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

Inception Elaboration Construction Transition

time

The Rational Unified Process has four


phases:
Inception - Define the scope of project

Elaboration - Plan project, specify features,

baseline architecture
Construction - Build the product

Transition - Transition the product into end

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.

Making the product available to end users.


Rational Unified Process (RUP)
Introduction
Phases
Core Workflows
Best Practices
Tools
What is a workflow?
A set of activities that is performed by the
various roles in a project
Describes a meaningful sequence of
activities that produce a useful result (an
artifact)
Shows interaction between roles
Workflow Detail:Prepare
Environment for Project
Workflows - 3 key elements

Three key elements of each workflows:


Artifacts
Roles
Activities
Artifacts

A piece of information that:


Is produced, modified, or used by a
process
Defines an area of responsibility

Is subject to version control.

An artifact can be a model, a model


element, or a document. A document
can enclose other documents.
Roles
Represent a role that an individual
may play on the project
Responsible for producing artifacts
Distinct from actors
Activities
Tasks performed by people
representing particular roles in order
to produce artifacts
Brief summary of process
workflows

Business Modelling
Requirements

Analysis & Design

Implementation

Test

Deployment
Business Modelling

Understand structure & dynamics of


organization in which system is to be deployed
Understand current problems in the target
organization & identify improvement potential
Ensure customers, end users & developers have
common understanding of target organisation
Derive system requirements to support target
organisation
Analysis & Design

Transform requirements into a design


of the system
Evolve a robust architecture for the
system
Adapt design to match the
implementation environment,
designing it for performance
Implementation

Define organization of the code, in terms of


implementation subsystems organized in
layers
Implement classes & objects in terms of
components
Test developed components as units
Integrate results into an executable system
Test

Verify interaction between objects


Verify proper integration of all
components of the software
Verify that all requirements have
been correctly implemented
Identify & ensure defects are
addressed prior to deployment
Deployment

Provide custom installation


Provide shrink wrap product offering
Provide software over internet
Brief summary of supporting
workflows

Configuration & Change


Management
Project Management

Environment
Configuration & Change Management

Supports development methods


Maintains product integrity
Ensures completeness & correctness of configured
product
Provides stable environment within which to
develop product
Restricts changes to artifacts based on project
policies
Provides an audit trail on why, when & by whom
any artifact was changed
Project Management

A framework for managing software-


intensive projects
Practical guidelines for planning,
staffing, executing & monitoring
projects
A framework for managing risk
Environment
Design, implement and manage the projects
required technical environments
Define the technical architectures for the
development, system validation, testing &
staging/release management environments
When possible, standard architectural models for
given types of platforms should be utilized when
defining the production environment
Bringing It All Together...In an iteration,
you walk through
all workflows
Phases
Process Workflows Inception Elaboration Construction Transition

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

Describes the effective implementation


of key Best Practices
Manage Requirements

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

realization influenced by verifies

Design Model

Implementation Model Test Model


2. Develop Software Iteratively
An initial design will likely be flawed with
respect to its key requirements
Late-phase discovery of design defects

results in costly over-runs and/or project


cancellation
Requirements
Analysis & Design
Planning
Implementation
Initial
Planning Management
Environment
Deployment

Evaluation
Test
Waterfall Development

Requirements
Analysis

Design

Code & Unit


Testing

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

Preliminary Architect. Architect. Devel. Devel. Devel. Transition Transition Post-


Iteration Iteration Iteration Iteration Iteration Iteration Iteration Iteration deployment

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

alternatives at a low cost


Forming a foundation for

implementation
Capturing requirements precisely

Communicating decisions Sub Systems

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

check-in and Process Build


check-out Integration Management
Summary: Best Practices of Software
Engineering
The result is software that is
On Time
On Budget
Meets Users Needs
Analyst
Performance
Engineer

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

You might also like