You are on page 1of 5

Introduction to Rational Unified Process

Objectives: Rational Unified Process


Describe the Unified Modeling Language (UML)
Define what a software development process is
Describe the Rational Unified Process
Explain the four phases of the Rational Unified Process and
their associated milestones
Define iterations and their relation to phases
Explain the relations between:

Models and workflows


Phases, iterations, and workflows

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

Define artifact, worker, and activity


State the importance of automated tool support

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

What Is the UML?

Building a System - A Language Is Not Enough

The Unified Modeling Language (UML) is a language for

Team-Based
Development

Modeling
Language

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

Specifying
Visualizing
Constructing
Documenting

the artifacts of a software-intensive system

Process

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

UML History

Inputs to UML
Booch
Rumbaugh
Jacobson
Meyer

Embley

Harel

Singleton classes,
High-level view

State charts

Gamma, et.al

Wirfs-Brock

Frameworks, patterns,
notes
Shlaer - Mellor
Object Lifecycles

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

Fusion

Operation descriptions,
Message numbering

Before and after


conditions

Odell

Responsibilities

Classification

Page 1
1

The UML Provides Standardized Diagrams

A Sample UML Diagram: Use Cases


A University Course Registration System

Use Case
Use Case
Diagrams
Activity
Diagrams
Diagrams

State
State
Diagrams
Class
Diagrams
Diagrams

Use Case
Use Case
Diagrams
Use Case
Diagrams
Diagrams

Scenario
Scenario
Diagrams
Sequence
Diagrams
Diagrams

State
State
Diagrams
Object
Diagrams
Diagrams

State
State
Diagrams
State
Diagrams
Diagrams

Model

Scenario
Scenario
Diagrams
Collaboration
Diagrams
Diagrams

Student

Course Catalog
Close Registration
Professor
Submit Grades

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

A Sample UML Diagram: Classes

UML Diagrams Are Key System Artifacts

A University Course Registration System

Use-Case
Diagram

<<boundary>>
MaintainScheduleForm

<<boundary>>
MainForm

Class Diagram

State Diagram

Document
add( )
delete( )

name : int
docid : int
numField : int
get( )
open( )
close( )
read( )
sortFileList( )
create( )
fillDocument( )

FileList
fList
add( )
delete( )

Actor B

Openning

close file

close file

Use Case 2

Domain
Expert

+ // open()
+ // select 4 primary and 2 alternate offerings()

Closing

rep

<<entity>>
Customer
name
addr
receive()
withdraw()
fetch()
send()

File

Repository
(from Persistence)

0..1

Writing

add file [ numberOffile==MAX ] /


flag OFF

read() fill the


code..

Reading

add file

DocumentList
FileMgr

fetchDoc( )
sortByName( )

Use Case 1
Actor A

// select maintain schedule()

Billing System

Select Courses to Teach

Diagrams

Maintain Student Information

Register for Courses

Component
Component
Diagrams
Component
Diagrams

Deployment
Diagram

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

Registrar Maintain Professor Information


View Report Card

read( )

GrpFile

name : char * = 0
read( )
open( )
create( )
fillFile( )

readDoc( )
readFile( )

Use Case 3

Deployment
Diagram

Class

UI

MFC

DocumentApp


- 95 :
- NT: -
- : - -, -
- IBM : -, -

RogueWave

Repository

Persistence

9: sortByName ( )

DocumentList

Windows95

Window95

Windows95

global

1: Doc view request ( )

2: fetchDoc( )

gFile : GrpFile

4: create ( )

<<boundary>>
CourseCatalogSystem

8: fillFile ( )

0..*

<<control>>
RegistrationController

User Interface
Definition

user :
fileMgr : FileMgr
3: create ( )

Package
Diagram

Windows
NT

Document

Solaris

- .EXE

Alpha
UNIX
-.EXE
Windows
NT

GraphicFile
File

IBM
Mainframe

FileList

6: fillDocument ( )
-

7: readFile ( )
5: readDoc ( )

document : Document

repository : Repository

Collaboration Diagram

// add courses to schedule()


// get course offerings ()
0..1

// get course offerings()

-
.EXE

FileManager

mainWnd : MainWnd

mainWnd
user

-
.

fileMgr :
FileMgr

document :
Document

gFile

Component
Diagram

Forward Engineering(Code Generation)


and
Reverse Engineering

repository

Source Code edit, compile, debug, link

1: Doc view request ( )

2: fetchDoc( )

3: create ( )

4: create ( )

5: readDoc ( )

-
- .

6: fillDocument ( )

7: readFile ( )

8: fillFile ( )

-

-
.

1
<<entity>>
Schedule
// create with offerings()

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

Executable System

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

What Is a Process?

requirements

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

10

An Effective Process ...


Provides guidelines for efficient development of quality
software
Reduces risk and increases predictability
Captures and presents best practices

A process defines Who is doing What, When and How to


reach a certain goal. In software engineering the goal is to
build a software product or to enhance an existing one

New or changed

9: sortByName ( )

Sequence Diagram

Software Engineering
Process

11

Learn from others experiences


Mentor on your desktop
Extension of training material
New or changed

Promotes common vision and culture


Provides roadmap for applying tools
Delivers information on-line, at your finger tips

system

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

12

Page 2
2

Rational Unified Process Is Use-Case Driven

Rational Unified Process Delivers Best Practices


Rational Unified Process describes how to effectively
implement the six best practices for software development

An actor is someone or
something outside the
system that interacts
with the system
A use case is a sequence
of actions a system
performs that yields an
observable result of
value to a particular
actor

Check Balance
Client

Manage Requirements

Develop
Iteratively

Model
Visually

Verify
Quality

Use
Component
Architectures

Withdraw Money

Use Cases for a Cash Machine


Control Changes

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

13

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

Use Cases Include a Flow of Events

Benefits of a Use-Case Driven Process

Flow of events for the Withdraw Money Use Case

Use cases are concise, simple, and understandable by a


wide range of stakeholders

1. The use case begins when the client inserts her ATM card.
The system reads and validates information on the card.
2. The system prompts for the PIN. The system validates the
PIN.
3. The system asks which operation the client wishes to
perform.
The client selects Cash withdrawal.
4. The system requests the amount. The client enters the
amount.
5. The system requests the account type. The client selects
checking or savings.
6. The system communicates with the ATM network . . .
Unified Software Practices v 5.0
Copyright 1998 Rational Software, all rights reserved

15

14

End users, developers and acquirers understand functional


requirements of the system

Use cases drive numerous activities in the process:


Creation and validation of the design model
Definition of test cases and procedures of the test model
Planning of iterations
Creation of user documentation
System deployment

Use cases help synchronize the content of different models

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

Rational Unified Process Is Architecture-Centric

16

Representing Architecture: The 4+1 View Model

Architecture is the focus of the elaboration phase


Building, validating, and baselining the architecture constitute
the primary objective of elaboration

Logical
View

The Architectural Prototype validates the architecture and


serves as the baseline for the rest of development
The Software Architecture Description is the primary artifact
that documents the architecture chosen
Other artifacts derive from architecture:

Analysts/
Designers
Structure

17

Use-Case
View

Process
View

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

Programmers
Software management

Deployment
View

System Engineering
System topology
Delivery, installation
communication

System Integrators
Performance
Scalability
Throughput

Design guidelines including use of patterns and idioms


Product structure
Team structure
Unified Software Practices v 5.0
Copyright 1998 Rational Software, all rights reserved

End-user
Functionality

Implementation
View

18

Page 3
3

Benefits of an Architecture-Centric Process

Process Architecture - Lifecycle Phases

Architecture lets you gain and retain intellectual control over


a project, to manage its complexity, and to maintain system
integrity
Architecture provides an effective basis for large-scale reuse
Architecture provides a basis for project management
Architecture facilitates component-based development

Inception

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

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

Phase Boundaries Mark Major Milestones

Elaboration

Construction

20

Iterations and Phases


Inception

Inception

Transition

The Rational Unified Process has four phases:

19

Construction

time

A component fulfills a clear function in the context of a welldefined architecture


A component conforms to and provides the physical
realization of a set of interfaces
Components exist relative to a given architecture
Unified Software Practices v 5.0
Copyright 1998 Rational Software, all rights reserved

Elaboration

Transition

Elaboration

Construction

Preliminary Architect. Architect. Devel.


Iteration
Iteration Iteration Iteration

Devel.
Iteration

Transition

Devel.
Iteration

Transition Transition
Iteration Iteration

time
Lifecycle
Objective
Milestone

Lifecycle
Architecture
Milestone

Initial Operational
Capability
Milestone

Product
Release

Minor Milestones: Releases

An iteration is a distinct sequence of activities with an


established plan and evaluation criteria, resulting in
an executable release (internal or external)
Unified Software Practices v 5.0
Copyright 1998 Rational Software, all rights reserved

21

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

Major Workflows Produce Models


Business
Modeling

Bringing It All Together: The Iterative Model


Phases

supported by

Process Workflows

Business Model
realized by

Construction

Requirements

Use-Case
Model

In an
iteration,
Transition
you
walk
through all
workflows

Analysis & Design


Implementation

implemented by

Test

Design
Model

Deployment
verified by

Implementation

Supporting Workflows

Implementation
Model

Workflows
group
activities
logically

Test
Test
Model
Unified Software Practices v 5.0
Copyright 1998 Rational Software, all rights reserved

Inception Elaboration

Business Modeling

Requirements

Analysis &
Design

22

23

Configuration Mgmt
Management
Environment

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

Preliminary
Iteration(s)

Iter.
#1

Iter.
#2

Iter.
#n

Iter. Iter.
#n+1 #n+2

Iterations
24

Iter.
#m

Iter.
#m+1

Page 4
4

Requirements Workflow
Develop Elicit Stakeholder
Vision
Needs

Analysis & Design Workflow


Architectural
Analysis

Find Actors
and Use Cases
Structure the
Use-Case Model

Capture a
Manage
Dependencies Common
Vocabulary

Detail a
Use Case

Use-Case
Specifier

Architectural Describe
Design
Concurrency

Architect

Review
Requirements

Use-Case
Analysis

User-Interface
Modeling

Use-Case
Design

User-Interface
Prototyping

Prioritize
Use Cases

Architect
Unified Software Practices v 5.0
Copyright 1998 Rational Software, all rights reserved

25

Review the
Design
Design
Reviewer

Class
Design

Database
Design

Database
Designer
Unified Software Practices v 5.0
Copyright 1998 Rational Software, all rights reserved

Implementation Workflow

26

Test Workflow
ImplementTest

PlanTest
Test Designer

Architect

Review the Architecture


Architecture Reviewer

SubsystemDesign

Designer

User-Interface
Designer

Describe
Distribution

Requirements
Reviewer

Evaluate
Test

Design Test

Structure the
Implementation Model
Integration
Tester

System Integrator

Plan System
Integration

Execute Integration
Test

Integrate
System
Execute System
Test

System Tester

Plan Subsystem
Integration

Integrate
Subsystem

Implement
Classes

Implementer
Fix a Defect

Designer

Review Code

Code Reviewer

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

27

Execute Performance
Test

Performance
Tester

Perform
Unit Test

Design Test Classes


and Packages

Implement Test Components


and Subsystems

Implementer

Unified Software Practices v 5.0


Copyright 1998 Rational Software, all rights reserved

28

Summary: Rational Unified Process


The Unified Modeling Language (UML) is a language for
specifying, visualizing, constructing, and documenting
the artifacts of a software-intensive system
A software development process defines Who is doing
What, When and How in building a software product
The Rational Unified Process has four phases:
Inception, Elaboration, Construction and Transition
Each phase ends at a major milestone and contains one
or more iterations
An iteration is a distinct sequence of activities with an
established plan and evaluation criteria, resulting in an
executable release
Unified Software Practices v 5.0
Copyright 1998 Rational Software, all rights reserved

29

Page 5
5

You might also like