Sei sulla pagina 1di 39

Introduction to Rational Unified Process

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

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

Define artifact, worker, and activity


State the importance of automated tool support
Unified Software Practices v 5.0-D
Copyright 1998 Rational Software, all rights reserved

In Building a System, a Language Is Not


Enough

Team-Based
Development

Modeling
Language

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

Unified
Process

What Is the UML?


The Unified Modeling Language (UML) is a language for

Specifying
Visualizing
Constructing
Documenting

the artifacts of a software-intensive system

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

UML History

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

Inputs to UML
Booch
Rumbaugh
Jacobson
Meyer

Operation descriptions,
Message numbering

Before and after


conditions

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-D


Copyright 1998 Rational Software, all rights reserved

Fusion

Odell
Classification

Responsibilities

The UML Provides Standardized Diagrams

Use-Case
Use-Case
Use-Case
Use-Case
Diagrams
Activity
Diagrams
Activity
Diagrams
Diagrams
Diagrams
Diagrams

Use-Case
Use-Case
Use-Case
Use-Case
Diagrams
Use-Case
Diagrams
Use-Case
Diagrams
Diagrams
Diagrams
Diagrams

Scenario
Scenario
Scenario
Scenario
Diagrams
Sequence
Diagrams
Sequence
Diagrams
Diagrams
Diagrams
Diagrams
Scenario
Scenario
Scenario
Scenario
Diagrams
Collaboration
Diagrams
Collaboration
Diagrams
Diagrams
Diagrams
Diagrams

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

State
State
State
State
Diagrams
Class
Diagrams
Class
Diagrams
Diagrams
Diagrams
Diagrams

Models

Deployment
Deployment
Diagrams
Diagrams

State
State
State
State
Diagrams
Object
Diagrams
Object
Diagrams
Diagrams
Diagrams
Diagrams

State
State
State
State
Diagrams
State
Diagrams
State
Diagrams
Diagrams
Diagrams
Diagrams
Component
Component
Component
Diagrams
Component
Diagrams
Component
Diagrams
Component
Diagrams

Diagrams
Diagrams

A Sample UML Diagram: Use-Cases


A University Course Registration System
Register for Courses
Student

Select Courses to Teach

Course Catalog

Professor

Maintain Professor Information

Registrar

Maintain Student Information

Close Registration
Billing System
Unified Software Practices v 5.0-D
Copyright 1998 Rational Software, all rights reserved

A Sample UML Diagram: Classes


A University Course Registration System
<<boundary>>
MaintainScheduleForm

<<boundary>>
MainForm
// select maintain schedule()

0..1

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

<<boundary>>
CourseCatalogSystem

0..*

<<control>>
RegistrationController
// add courses to schedule()
// get course offerings ()

// get course offerings()

0..1

1
<<entity>>
Schedule
Unified Software Practices v 5.0-D
Copyright 1998 Rational Software, all rights reserved

// create with offerings()


9

UML Diagrams Are Key Artifacts


Use-Case
Diagram

Class Diagram

State Diagram

Document
add( )
delete( )

fetchDoc( )
sortByName( )

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

FileList

Use-Case 1

fList
add( )
delete( )

Actor A

Actor B

Writing

add file [ numberOffile==MAX ] /


flag OFF

read() fill the


code..

Openning

close file

close file
Reading

Closing

rep

Use-Case 2

File

Repository
(from Persistence)

read( )

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

GrpFile

name : char * = 0

Domain
Expert

add file

DocumentList
FileMgr

read( )
open( )
create( )
fillFile( )

readDoc( )
readFile( )

Use-Case 3
UI

Deployment
Diagram

Class

MFC

Docu mentAp p

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

Rogu eWave

Repository

Persistence

9: sortByName ( )

DocumentList

Windows95

Window95

W indows95

glob al

FileManager

mainWnd : MainWnd
1: Doc view request ( )

2: fetchDoc( )

gFile : GrpFile

4: create ( )
8: fillFile ( )

user :

User Interface
Definition


.EXE

fileMgr : FileMgr
3: create ( )

Package
Diagram

Windows
NT

Document

Solaris

.EXE

Alph a
UNIX
.EXE
W indows
NT

GraphicFile
File

FileList

IBM
Mainframe

6: fillDocument ( )

7: readFile ( )
5: readDoc ( )

document : Document

repository : Repository

Collaboration Diagram
mainWnd
user

fileMgr :
FileMgr

document :
Document

gFile

Component
Diagram

repository

Forward Engineering(Code Generation)


and
Reverse Engineering

Source Code edit, compile, debug, link

1: D oc view request ( )

2: fetchDoc( )

3 : create ( )

4: create ( )

5: readDoc ( )

6 : fillDocu ment ( )

7: readFile ( )

8: fill File ( )

9: sortByN ame ( )

Sequence Diagram
Executable System
Unified Software Practices v 5.0-D
Copyright 1998 Rational Software, all rights reserved

10

What Is a Process?
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
requirements

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

Software Engineering
Process

11

New or changed
system

An Effective Process ...


Provides guidelines for efficient development of quality
software
Reduces risk and increases predictability
Captures and presents best practices
Learn from others experiences
Mentor on your desktop
Extension of training material

Promotes common vision and culture


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

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

12

Rational Unified Process Delivers Best Practices


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

Use
Manage
Component
Requirements Architectures

Model
Visually

Control Changes

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

13

Verify
Quality

Rational Unified Process Is Use-Case Driven

Customer

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

Withdraw Money

Use-Cases for a Cash Machine

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

14

Use-Cases Include a Flow of Events


Flow of events for the Withdraw Money Use-Case
1. The Use-Case begins when the customer inserts a cash 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 customer wishes to
perform. The customer selects Cash withdrawal.
4. The system requests the amount. The customer enters the
amount.
5. The system requests the account type. The customer selects
checking or savings.
6. The system communicates with the ATM network . . .
Unified Software Practices v 5.0-D
Copyright 1998 Rational Software, all rights reserved

15

Benefits of a Use-Case Driven Process


Use-Cases are concise, simple, and understandable by a
wide range of stakeholders
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-D
Copyright 1998 Rational Software, all rights reserved

16

Rational Unified Process Is Architecture-Centric


Architecture is the focus of the early iterations
Building, validating, and baselining the architecture constitute
the primary objective of elaboration

The Architectural Prototype validates the architecture and


serves as the baseline for the rest of development
The Software Architecture Document is the primary artifact
that describes the architecture chosen
Other artifacts derive from architecture:
Design guidelines including use of patterns and idioms
Product structure
Team structure
Unified Software Practices v 5.0-D
Copyright 1998 Rational Software, all rights reserved

17

Representing Architecture: The 4+1 View Model


Logical
View
Analysts/
Designers
Structure

End-user
Functionality

Implementation
View

Use-Case
View

Process
View

Deployment
View

System Integrators
Performance
Scalability
Throughput

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

Programmers
Software management

System Engineering
System topology
Delivery, installation
communication

18

Benefits of an Architecture-Centric Process


Lets you gain and retain intellectual control over a project, to
manage its complexity, and to maintain system integrity
Provides an effective basis for large-scale reuse
Provides a basis for project management
Facilitates component-based development
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-D


Copyright 1998 Rational Software, all rights reserved

19

Process Architecture - Lifecycle Phases

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

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

20

Phase Boundaries Mark Major Milestones

Inception

Elaboration

Construction

Transition

time
Lifecycle
Objective
Milestone

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

Lifecycle
Architecture
Milestone

21

Initial Operational
Capability
Milestone

Product
Release

Iterations and Phases


Inception

Elaboration

Construction

Preliminary Architect. Architect. Devel.


Iteration
Iteration Iteration Iteration

Devel.
Iteration

Devel.
Iteration

Transition
Transition Transition
Iteration Iteration

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-D
Copyright 1998 Rational Software, all rights reserved

22

Major Workflows Produce Models


Business
Modeling

Business
Use-Case Model

Business
Object Model

automated by

Requirements
Use-Case realized by
Model

Analysis &
Design

Design implemented by
Model

Implementation
Implementation verified by
Model

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

23

Bringing It All Together: The Iterative Model


Phases
Process Workflows

Inception Elaboration

Construction

Business Modeling
Requirements

In an
iteration, you
Transition
walk
through
all
workflows

Analysis & Design


Implementation
Test
Deployment

Supporting Workflows
Configuration & Change Mgmt
Project Management

Workflows
group
activities
logically

Environment

Unified Software Practices v 5.0-D


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

Process Notation
A role that may be
played by an
individual or a team
in the development
organization

A unit of work a
worker may be
asked to perform

Activity

Worker
Describe a
Use-Case

Use-Case
Specifier
responsible for

Use-Case

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

Artifact

Use-Case
Package

25

A piece of
information that is
produced, modified,
or used by a process

Workers Are Used for Resource Planning


Resource

Worker

Activities

Paul

Designer

Define Operations

Mary

Use-Case Specifier Detail a Use-Case

Joe

System Analyst

Find Actors and Use-Cases

Sylvia

Implementer

Perform Unit Tests

Stefan

Architect

Identify Design Mechanisms

Each individual in
the project is
assigned to one or
several workers
Unified Software Practices v 5.0-D
Copyright 1998 Rational Software, all rights reserved

26

Business Modeling Workflow

Capture a
Common
Business-Process Vocabulary
Analyst

Find Business Actors


and Use Cases

Structure the
Business Use-Case
Model

Detail a
Business Use Case

Review the
Business
Use-Case Model

Business
Designer

Detail a
Business Worker
Find Business Workers
and Entities
Detail a
Business Entity

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

Business Model
Reviewer

27

Review the
Business
Object Model

Requirements Workflow
Develop Elicit Stakeholder
Vision
Needs

Find Actors
and Use Cases
Structure the
Use-Case Model

Capture a
Manage
Dependencies Common
Vocabulary

Detail a
Use Case

Use-Case
Specifier

User-Interface
Modeling

User-Interface
Designer

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

Prioritize
Use Cases
28

User-Interface
Prototyping

Requirements
Reviewer

Review
Requirements

Analysis & Design Workflow


Architectural
Analysis
Architectural Describe
Describe
Design Concurrency Distribution

Architect

Use-Case
Analysis

SubsystemDesign
Use-Case
Design

Designer
Class
Design

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

Review theArchitecture
Architecture Reviewer

Database
Design
29

Review the
Design
Design
Reviewer

Implementation Workflow

Architect

Structure the
Implementation Model

System Integrator

Integrate
System

Plan System
Integration

Plan Subsystem
Integration

Integrate
Subsystem

Implement
Classes

Implementer

Perform
Unit Test
Fix a Defect

Review Code

Code Reviewer

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

30

Test Workflow
ImplementTest

PlanTest
Test Designer

Integration
Tester

Evaluate
Test

Design Test

Execute Integration
Test

Execute System
Test

System Tester

Execute Performance
Test

Performance
Tester

Designer

Design Test Classes


and Packages

Implement Test Components


and Subsystems

Implementer

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

31

Project Management Workflow

Execute
Iteration
Plan

Develop
Business
Case
Identify
Risks

Develop
Iteration
Plan

Develop
Project
Plan

Project
Manager

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

Evaluate
Iteration

Staff
Project
Revisit Risk List

32

Configuration and Change Management Workflow


Project
Manager

Architect

CM
Manager

Establish Product
Change Process

Define Status Reporting


& Baselining Requirements

Structure
Implementation
Model

Setup
Define Workspaces
Write Implementation & Build Areas
Model
CM Plan
Report
Baseline
Defect Data the Product

Any Worker

Create Private
Workspaces

Promote
Check-In/Out
Artifacts Configuration Items

Create Integration
workspaces

System
Integrator
Unified Software Practices v 5.0-D
Copyright 1998 Rational Software, all rights reserved

Release
Subsystems

33

Build
Product

Environment Workflow

Configuring the process


Improving the process
Selecting and acquiring tools
Toolsmithing
Supporting the development
Training

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

34

Guidelines, Mentors, and Templates


Guidelines are the rules, recommendations, and heuristics
that support activities
For example, modeling and programming guidelines

Tool mentors explain how to use a specific tool to perform an


activity or steps in an activity
For example, building a design model using Rational Rose

Templates are predefined artifacts


For example, a Rational SoDA template for a Use-Case
Report

Guidelines, tool mentors and templates make it easier to


apply the process correctly and consistently
Unified Software Practices v 5.0-D
Copyright 1998 Rational Software, all rights reserved

35

Tool Support for the Entire Project Lifecycle


Process Workflows
Business Modeling
Requirements
Analysis and Design
Implementation
Test

Requisite Pro, Rose, SoDA


Requisite Pro, Rose, SoDA
Rose, SoDA, Apex
Rose, Apex, SoDA, Purify, ...
SQA TeamTest, Quantify, PerformanceStudio,...

Deployment

SoDA, ClearCase, ...

Supporting Workflows
Config. & Change Mgmt.
Project Management
Environment

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

ClearCase, ClearQuest
Unified Process, Microsoft Project, ...
Unified Process, Rational Tools

36

Adopting a Process
Process adoption includes configuring and
implementing the process
In configuring the process, the process framework is
adapted to the needs and constraints of the adopting
organization
The result is documented in a Development Case

In implementing the process, the organizations


practice is changed to effectively use the process

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

37

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-D
Copyright 1998 Rational Software, all rights reserved

38

Summary (cont.): Rational Unified Process


A workflow groups related activities together
Each workflow is exercised during an iteration and results
in a model that is incrementally produced
An artifact is a piece of information that is produced,
modified, or used by a process
A worker is a role that may be played by an individual or a
team in the development organization
An activity is a unit of work a worker may be asked to
perform

Unified Software Practices v 5.0-D


Copyright 1998 Rational Software, all rights reserved

39

Potrebbero piacerti anche