Introduction to Rational Unified Process

29
Unified Software Practices v 5.0 Copyright 1998 Rational Software, all rights reserved 1 R Introduction to Rational Unified Process

description

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 - PowerPoint PPT Presentation

Transcript of Introduction to Rational Unified Process

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

Introduction to Rational Unified Process

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

Objectives: Rational Unified Process

Describe the Describe the Unified Modeling Language (UML)Unified Modeling Language (UML) Define what a Define what a software development processsoftware development process is is Describe the Describe the Rational Unified ProcessRational Unified Process Explain the four Explain the four phasesphases of the Rational Unified Process and of the Rational Unified Process and

their associated milestonestheir associated milestones Define Define iterations iterations and their relation to phases and their relation to phases Explain the relations between: Explain the relations between:

Models and workflows Phases, iterations, and workflows

Define Define artifactartifact, , workerworker, and, and activityactivity State the importance of automated tool supportState the importance of automated tool support

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

Team-Based Development

Modeling Language

Building a System - A Language Is Not Enough

Process

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

What Is the UML?

The Unified Modeling Language (UML) is a language forThe Unified Modeling Language (UML) is a language for• Specifying• Visualizing• Constructing• Documenting

the artifacts of a software-intensive systemthe artifacts of a software-intensive system

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

UML History

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

Inputs to UML

Fusion

Operation descriptions,Message numbering

Meyer

Before and after conditions

Harel

State charts

Wirfs-Brock

Responsibilities

Embley

Singleton classes, High-level view

Odell

Classification

Shlaer - Mellor

Object Lifecycles

Gamma, et.al

Frameworks, patterns,notes

Booch

JacobsonRumbaugh

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

The UML Provides Standardized Diagrams

DeploymentDiagram

DeploymentDiagram

Use CaseDiagrams

Use CaseDiagramsUse Case

Diagrams

Use CaseDiagramsUse Case

Diagrams

Use CaseDiagrams

ScenarioDiagrams

ScenarioDiagramsScenario

Diagrams

ScenarioDiagramsSequence

Diagrams

SequenceDiagrams

StateDiagrams

StateDiagramsState

Diagrams

StateDiagramsState

Diagrams

StateDiagrams

ComponentDiagrams

ComponentDiagramsComponent

Diagrams

ComponentDiagramsComponentDiagrams

ComponentDiagrams

Model

StateDiagrams

StateDiagramsState

Diagrams

StateDiagramsObject

Diagrams

ObjectDiagrams

ScenarioDiagrams

ScenarioDiagramsScenario

Diagrams

ScenarioDiagramsCollaboration

Diagrams

CollaborationDiagrams

Use CaseDiagrams

Use CaseDiagramsUse Case

Diagrams

Use CaseDiagramsActivity

Diagrams

ActivityDiagrams

StateDiagrams

StateDiagramsState

Diagrams

StateDiagramsClass

Diagrams

ClassDiagrams

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

A Sample UML Diagram: Use Cases

A University Course Registration SystemA University Course Registration System

Submit Grades

Professor

View Report Card

Select Courses to Teach

Student

Course Catalog

Register for Courses Maintain Student Information

Maintain Professor InformationRegistrar

Billing SystemClose Registration

Login

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

A Sample UML Diagram: Classes

A University Course Registration SystemA University Course Registration System

MainForm

// select maintain schedule()

<<boundary>> MaintainScheduleForm

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

<<boundary>>

1 0..11

CourseCatalogSystem

// get course offerings()

<<boundary>>1 0..*

RegistrationController

// add courses to schedule()// get course offerings ()

<<control>>

1

1

Schedule

// create with offerings()

<<entity>>

1

0..1

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

UML Diagrams Are Key System Artifacts

Actor A

Use Case 1

Use Case 2

Actor B

user : »ç¿ëÀÚ

mainWnd : MainWnd

fileMgr : FileMgr

repository : Repositorydocument : Document

gFile : GrpFile

9: sortByName ( )

L1: Doc view request ( )

2: fetchDoc( )

5: readDoc ( )

7: readFile ( )

3: create ( )

6: fillDocument ( )

4: create ( )

8: fillFile ( )

GrpFile

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

rep

Repository

name : char * = 0

readDoc( )readFile( )

(from Persistence)

FileMgr

fetchDoc( )sortByName( )

DocumentList

add( )delete( )

Document

name : intdocid : intnumField : int

get( )open( )close( )read( )sortFileList( )create( )fillDocument( )

fList

1

FileList

add( )delete( )

1

File

read( )

read() fill the code..

UI

MFC

RogueWave

global

DocumentApp

Persistence Window95

¹®¼ °ü¸® Ŭ¶óÀ̾ðÆ®.EXE

WindowsNT

¹®¼ °ü¸® ¿£Áø.EXE

WindowsNT

Windows95

Solaris

ÀÀ¿ë¼ ¹ö.EXE

AlphaUNIX

IBM Mainframe

µ¥ÀÌŸº£À̽º¼ ¹ö

Windows95

¹®¼ °ü¸® ¾ÖÇø´

ºÐ»ê ȯ°æÀÇ Çϵå¿þ¾î¹× ³×Æ®¿÷À¸·ÎÀÇ Á¤º¸ ½Ã½ºÅÛ ¿¬°á ¸ðµ¨ - À©µµ¿ì 95 : Ŭ¶óÀ̾ðÆ® - À©µµ¿ì NT: ÀÀ¿ë¼ ¹ö - À¯´Ð½º ¸Ó½Å: ÀÀ¿ë ¼ ¹ö ¹× µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö - IBM ¸ÞÀÎÇÁ·¹ÀÓ: µ¥ÀÌŸ ¼ ¹ö, Åë½Å ¼ ¹ö

Document

FileManager

GraphicFileFile

Repository DocumentList

FileList

user

mainWnd fileMgr : FileMgr

repositorydocument : Document

gFile

1: Doc view request ( )

2: fetchDoc( )

3: create ( )

4: create ( )

5: readDoc ( )

6: fillDocument ( )

7: readFile ( )

8: fillFile ( )

9: sortByName ( )

ƯÁ¤¹®¼ ¿¡ ´ëÇÑ º¸±â¸¦ »ç¿ëÀÚ°¡ ¿äûÇÑ´Ù.

È ÀÏ°ü¸®ÀÚ´Â Àоî¿Â ¹®¼ ÀÇ Á¤º¸¸¦ ÇØ´ç ¹®¼ °´Ã¼¿¡ ¼³Á¤À» ¿äûÇÑ´Ù.

È ̧é °´Ã¼´Â ÀоîµéÀÎ °´Ã¼µé¿¡ ´ëÇØ À̸§º°·Î Á¤·ÄÀ» ½ÃÄÑ È ̧é¿¡ º¸¿©ÁØ´Ù.

Customernameaddr

withdraw()fetch()send()

receive()

<<entity>>

Forward Engineering(Code Generation)and

Reverse Engineering

Executable System

User InterfaceDefinition

Domain Expert

Openning

Writing

ReadingClosing

add file [ numberOffile==MAX ] / flag OFF

add file

close file

close file

Use Case 3

Source Code edit, compile, debug, link

Use-Case Diagram

Class Diagram

Collaboration Diagram

Sequence Diagram

Component Diagram

State Diagram

Package Diagram

Deployment DiagramClass

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

New or changed

requirements

New or changed

system

Software EngineeringProcess

What Is a Process?

A process defines A process defines WhoWho is doing is doing WhatWhat, , WhenWhen and and How How to to reach a certain goal. In software engineering the goal is to reach a certain goal. In software engineering the goal is to build a software product or to enhance an existing onebuild a software product or to enhance an existing one

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

An Effective Process ...

Provides guidelines for efficient development of quality Provides guidelines for efficient development of quality softwaresoftware

Reduces risk and increases predictability Reduces risk and increases predictability Captures and presents best practicesCaptures and presents best practices

Learn from other’s experiences Mentor on your desktop Extension of training material

Promotes common vision and culturePromotes common vision and culture Provides roadmap for applying toolsProvides roadmap for applying tools Delivers information on-line, at your finger tipsDelivers information on-line, at your finger tips

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

Rational Unified Process Delivers Best Practices

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

Control ChangesControl Changes

Manage RequirementsManage Requirements

Use Use ComponentComponent

ArchitecturesArchitectures

DevelopDevelopIterativelyIteratively

Model Model VisuallyVisually

VerifyVerifyQualityQuality

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

Rational Unified Process Is Use-Case Driven

Withdraw Money

Client

An An actoractor is someone or is someone or something outside the something outside the system that interacts system that interacts with the systemwith the system

A A use caseuse case is a sequence is a sequence of actions a system of actions a system performs that yields an performs that yields an observable result of observable result of value to a particular value to a particular actoractor

Check Balance

Use Cases for a Cash Machine

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

Use Cases Include a Flow of Events

Flow of events for the Withdraw Money Use CaseFlow of events for the Withdraw Money Use Case1. 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.0Copyright 1998 Rational Software, all rights reserved 16 R

Benefits of a Use-Case Driven Process

Use cases are concise, simple, and understandable by a Use cases are concise, simple, and understandable by a wide range of stakeholderswide range of stakeholders End users, developers and acquirers understand functional

requirements of the system Use cases drive numerous activities in the process: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 modelsUse cases help synchronize the content of different models

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

Rational Unified Process Is Architecture-Centric

Architecture is the focus of the elaboration phaseArchitecture is the focus of the elaboration phase Building, validating, and baselining the architecture constitute

the primary objective of elaboration The Architectural Prototype validates the architecture and The Architectural Prototype validates the architecture and

serves as the baseline for the rest of developmentserves as the baseline for the rest of development The Software Architecture Description is the primary artifact The Software Architecture Description is the primary artifact

that documents the architecture chosenthat documents the architecture chosen Other artifacts derive from architecture:Other artifacts derive from architecture:

Design guidelines including use of patterns and idioms Product structure Team structure

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

Representing Architecture: The 4+1 View Model

Process View

Deployment View

Logical View

Implementation View

Programmers Software management

PerformanceScalabilityThroughput

System IntegratorsSystem topology

Delivery, installationcommunication

System Engineering

Use-Case View

Structure

Analysts/Designers End-user

Functionality

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

Benefits of an Architecture-Centric Process

Architecture lets you gain and retain intellectual control over Architecture lets you gain and retain intellectual control over a project, to manage its complexity, and to maintain system a project, to manage its complexity, and to maintain system integrityintegrity

Architecture provides an effective basis for large-scale reuseArchitecture provides an effective basis for large-scale reuse Architecture provides a basis for project managementArchitecture provides a basis for project management Architecture facilitates component-based developmentArchitecture facilitates component-based development

A component fulfills a clear function in the context of a well-defined 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.0Copyright 1998 Rational Software, all rights reserved 20 R

InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition

Process Architecture - Lifecycle Phases

The Rational Unified Process has four phases: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

time

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

InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition

Phase Boundaries Mark Major Milestones

Lifecycle Objective Milestone

Lifecycle Architecture

Milestone

Initial Operational Capability Milestone

Product Release

time

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

Iterations and Phases

An An iterationiteration is a distinct sequence of activities with an is a distinct sequence of activities with an established plan and evaluation criteria, resulting in established plan and evaluation criteria, resulting in an executable release (internal or external)an executable release (internal or external)

PreliminaryPreliminaryIterationIteration

Architect.Architect.IterationIteration

Architect.Architect.IterationIteration

Devel. Devel. IterationIteration

Devel. Devel. IterationIteration

Devel. Devel. IterationIteration

TransitionTransitionIterationIteration

TransitionTransitionIterationIteration

InceptionInception ElaborationElaboration ConstructionConstruction TransitionTransition

Minor Milestones: Releases

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

Major Workflows Produce Models

Analysis & Analysis & DesignDesign

DesignModel

ImplementationModel

TestModel

realized by

implemented by

verified by

RequirementsRequirements

ImplementationImplementation

TestTest

Use-CaseModel

BusinessBusinessModelingModeling

Business Model

supported by

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

Bringing It All Together: The Iterative Model

Management

Environment

Business Modeling

Implementation

Test

Analysis & Design

Preliminary Iteration(s)

Iter.#1

PhasesProcess Workflows

Iterations

Supporting Workflows

Iter.#2

Iter.#n

Iter.#n+1

Iter.#n+2

Iter.#m

Iter.#m+1

Deployment

Configuration Mgmt

Requirements

Elaboration TransitionInception Construction

Workflows group activities logically

In an iteration, you walk through all workflows

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

Requirements Workflow

U se-C ase Specifier

R equirem entsR eview er

U ser-In terfaceD esigner

C apture a C om m on

Vocabulary

F ind Actors and U se C ases

R eviewR equirem ents

S tructure the U se-C ase M odel

U ser-In terfacePrototyp ing

D eta il a U se C ase

E lic it S takeholder N eeds

M anage D ependencies

Arch itectP rioritize

U se C ases

D evelopVision

U ser-In terfaceM odeling

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

Analysis & Design Workflow

Architect

D esigner

A rch itectura lAnalysis

A rchitectureR eview er

R eview theD esign

R eview theArch itecture

U se-C aseAnalysis

A rch itectura lD esign

D escribeC oncurrency

D escribeD istribution

D atabaseD esigner

C lassD esign

Subsystem D esign

U se-C ase D esign

D atabaseD esign

D esignR eview er

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

Implementation Workflow

In tegrateSystem

Architect

System In tegrator

Im plem enter

Code R eviewer

Im plem ent C lasses

Perform Unit Test

S tructure theIm plem entation M odel

IntegrateSubsystem

Review C ode

Fix a Defect

P lan System Integration

P lan Subsystem Integration

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

Test Workflow

D esign Test

Im plem entTest

Test D esigner

Integration Tester

System Tester

Evaluate Test

Execute IntegrationTest

Execute System Test

D esigner

D esign Test C lasses and Packages

Im plem enterIm plem ent Test C om ponents

and Subsystem s

P lanTest

Perform anceTester

Execute Perform ance Test

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

The The Unified Modeling Language (UML)Unified Modeling Language (UML) is a language for is a language for specifying, visualizing, constructing, and documenting specifying, visualizing, constructing, and documenting the artifacts of a software-intensive systemthe artifacts of a software-intensive system

A software development process defines A software development process defines WhoWho is doing is doing What, When What, When andand How How in building a software product in building a software product

The Rational Unified Process has four phases: The Rational Unified Process has four phases: Inception, Elaboration, Construction and TransitionInception, Elaboration, Construction and Transition

Each phase ends at a major milestone and contains one Each phase ends at a major milestone and contains one or more iterationsor more iterations

An An iterationiteration is a distinct sequence of activities with an is a distinct sequence of activities with an established plan and evaluation criteria, resulting in an established plan and evaluation criteria, resulting in an executable releaseexecutable release

Summary: Rational Unified Process