ApplyingApplying UMLUML inin TheThe UnifiedUnified ProcessProcess

Ivar Jacobson Rational email: ivarivar @rational.com Before the UML

 1960’s1960’s -- 70’s70’s  COBOL, FORTRAN, C  and design techniques  1980’s1980’s -- earlyearly 1990’s1990’s  Smalltalk, Ada, C++, Visual Basic  Early generation OO methods  Mid/lateMid/late 1990’s1990’s  Java  UML  Models and A model is a complete description of a system from a particular State perspective State DiagramsClass Diagrams Use Case Diagrams State DiagramsUse Case State Use Case Diagrams DiagramsObject DiagramsUse Case Diagrams Diagrams DiagramsSequence Diagrams Diagrams

Scenario State DiagramsScenario DiagramsState CollaborationDiagrams DiagramsComponent Diagrams Models Diagrams

Scenario Component Scenario DiagramsComponent DiagramsStatechart DeploymentDiagrams Diagrams Diagrams Diagrams Activity Diagrams But, the UML Is Not Enough

Team-Based Development

Modeling Unified Language Process Creating the Unified Process

Rational Unified Process 5.0 1998 Performance testing mgmt Conf. and change mgmt Business engineering Rational Objectory Process 4.1 Data engineering 1996-1997 UI design

The Rational Approach UML Objectory Process 1.0-3.8 1987-1995

The Ericsson Approach What Is a Process?

 DefinesDefines Who is doing What, When to do it, and How to reach a certain goal.

New or changed New or changed requirements Process system Overview of the Unified Process

 TheThe UnifiedUnified ProcessProcess isis  Iterative and incremental  Use case driven  Architecture-centric Lifecycle Phases

Inception Elaboration Construction Transition

time  Inception DefineDefine thethe scopescope ofof thethe projectproject andand developdevelop businessbusiness casecase  Elaboration PlanPlan project,project, specifyspecify features,features, andand baselinebaseline thethe architecturearchitecture  Construction BuildBuild thethe productproduct  Transition TransitionTransition thethe productproduct toto itsits usersusers Major Milestones

Inception Elaboration Construction Transition

time

Vision Baseline Initial Product Architecture Capability Release Phases and Iterations

Inception Elaboration Construction Transition

Prelim ... Arch ... Dev Dev ... Trans ... Iteration Iteration Iteration Iteration Iteration

Release Release Release Release Release Release Release Release

An iteration is a sequence of activities with an established plan and evaluation criteria, resulting in an executable release Iterations and Workflow

Phases

Core Workflows Inception Elaboration Construction Transition

Requirements

An iteration in the elaboration phase Analysis

Design

Implementation

Test

Preliminary iter. iter. iter. iter. ite r. iter. iter. Iteration(s) #1 #2 #n #n+1 #n+2 #m #m+1

Iterations Workflows and Models

UML diagrams provide views into each model

Requirements Use Case Model

Analysis Analysis Model

Design Design Depl. Model Model

Implementation Impl. Model

Test Test Model

Each workflow is associated with one or more models. Use Case Model

Use Case Diagrams Use Case Model Class Object Diagrams Diagrams

Analysis Model Component Diagrams

Design Deployment Model Diagrams

Sequence Depl. Diagrams Model Collaboration Impl. Diagrams Model Statechart Diagrams Test Model Activity Diagrams Analysis & Design Model

Use Case Diagrams Use Case Model Class Object Diagrams Diagrams

Analysis Model Component Diagrams Incl. subsystems and packages Design Deployment Model Diagrams

Sequence Depl. Diagrams Model Collaboration Impl. Diagrams Model Statechart Diagrams Test Model Activity Diagrams Deployment and Implementation Model

Use Case Diagrams Use Case Model Class Object Diagrams Diagrams

Analysis Model Component Diagrams

Design Deployment Model Diagrams Incl. active classes Sequence and components Depl. Diagrams Model Collaboration Impl. Diagrams Model Statechart Diagrams Test Model Activity Diagrams Test Model

Use Case Diagrams Use Case Model Class Object Diagrams Diagrams

Analysis Model Component Diagrams

Design Deployment Model Diagrams Test model refers to all other models and Sequence Depl. Diagrams Model uses corresponding diagrams Collaboration Impl. Diagrams Model Statechart Diagrams Test Model Activity Diagrams Use Case Driven

Req.tsAnalysis Design Impl. Test

Use Cases bind these workflows together Use Cases Drive Iterations

 DriveDrive aa numbernumber ofof developmentdevelopment activitiesactivities  Creation and validation of the system’s architecture  Definition of test cases and procedures  Planning of iterations  Creation of user documentation  Deployment of system  SynchronizeSynchronize thethe contentcontent ofof differentdifferent modelsmodels Architecture-Centric

 ModelsModels areare vehiclesvehicles forfor visualizing,visualizing, specifying,specifying, constructing,constructing, andand documentingdocumenting architecturearchitecture  TheThe UnifiedUnified ProcessProcess prescribesprescribes thethe successivesuccessive refinementrefinement ofof anan executableexecutable architecturearchitecture

Inception Elaboration Construction Transition

time Architecture Architecture and Models

Use Case Analysis Design Depl. Impl. Test Model Model Model Model Model Model Models

Views

Architecture embodies a collection of views of the models Function versus Form

Use cases Architecture

• Use case specify function; architecture specifies form • Use cases and architecture must be balanced The Unified Process is Engineered

A unit of work A role played by an individual or a team Activity

Worker

Describe a Analyst Use Case

responsible for Artifact

A piece of information that is produced, modified, or used by a process Use case Use case The Unified Process is a Process Framework

There is NO Universal Process! • The Unified Process is designed for flexibility and extensibility » allows a variety of lifecycle strategies » selects what artifacts to produce » defines activities and workers » models concepts Two Parts of a Unified Whole

The Unified The Unified Modeling Process Language

• OMG • Convergence standard in the future • Convergence through process frameworks