applying uml in the unified processuml.org.cn/umlapplication/pdf/uniproc1.pdf · the unified...

24
Applying UML in Applying UML in The Unified Process The Unified Process Ivar Jacobson Ivar Jacobson Rational Software Rational Software email: email: ivar ivar @rational.com @rational.com

Upload: others

Post on 13-Aug-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Applying UML inApplying UML inThe Unified ProcessThe Unified Process

Ivar JacobsonIvar JacobsonRational SoftwareRational Softwareemail: email: ivar ivar @[email protected]

Page 2: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Before the UML

�� 1960’s - 70’s1960’s - 70’s� COBOL, FORTRAN, C� Structured analysis and design techniques

�� 1980’s - early 1990’s1980’s - early 1990’s� Smalltalk, Ada, C++, Visual Basic� Early generation OO methods

�� Mid/late 1990’sMid/late 1990’s� Java� UML� Unified Process

Page 3: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Models and Diagrams

Use CaseDiagramsUse Case

DiagramsUse CaseDiagrams

ScenarioDiagramsScenario

DiagramsCollaborationDiagrams

StateDiagramsState

DiagramsComponentDiagrams

ComponentDiagramsComponent

DiagramsDeploymentDiagrams

StateDiagramsState

DiagramsObjectDiagrams

ScenarioDiagramsScenario

DiagramsStatechartDiagrams

Use CaseDiagramsUse Case

DiagramsSequenceDiagrams

StateDiagramsState

DiagramsClassDiagrams

ActivityDiagrams

A model is a completedescription of a systemfrom a particularperspective

Models

Page 4: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Team-Based Development

But, the UML Is Not Enough

Modeling Language

Unified Process

Page 5: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Creating the Unified Process

Functional testingPerformance testingRequirements mgmtConf. and change mgmtBusiness engineeringData engineeringUI design

Rational Unified Process 5.01998

Rational Objectory Process 4.11996-1997

Objectory Process 1.0-3.81987-1995

The Ericsson Approach

The Rational Approach UML

Page 6: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

New or changed

requirements

New or changed

system

Software EngineeringProcess

What Is a Process?

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

Page 7: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Overview of the Unified Process

�� The Unified Process isThe Unified Process is� Iterative and incremental� Use case driven� Architecture-centric

Page 8: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Lifecycle Phases

time

Inception Elaboration Construction Transition

� Inception Define the scope of the project and Define the scope of the project and develop business casedevelop business case

� Elaboration Plan project, specify features, and Plan project, specify features, and baseline the architecturebaseline the architecture

� Construction Build the productBuild the product� Transition Transition the product to its usersTransition the product to its users

Page 9: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Major Milestones

time

Vision Baseline Architecture

InitialCapability

Product Release

Inception Elaboration Construction Transition

Page 10: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Phases and Iterations

An iteration is a sequence of activities with an established plan andevaluation criteria, resulting in an executable release

ArchIteration

... Dev Iteration

Dev Iteration

... TransIteration

...

Release Release Release Release Release Release Release Release

PrelimIteration

...

Inception Elaboration Construction Transition

Page 11: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Iterations and Workflow

P re lim in a ryIte ra tio n (s)

ite r.# 1

ite r.# 2

ite r.# n

ite r.#n + 1

ite r.# n +2

ite r.# m

ite r.#m +1

Inception Elaboration Construction Transition

Ite ra t io n s

PhasesCore Workflows

An iteration in theelaboration phase

Requirements

Design

Implementation

Test

Analysis

Page 12: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Workflows and Models

Requirements

Design

Implementation

Test

Analysis

Use CaseModel

DesignModel

Depl.Model

Impl.Model

AnalysisModel

TestModel

UML diagrams provideviews into each model

Each workflow isassociated with one ormore models.

Page 13: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Use Case ModelUse CaseDiagrams

CollaborationDiagrams

ComponentDiagrams

DeploymentDiagrams

ObjectDiagrams

StatechartDiagrams

SequenceDiagrams

ClassDiagrams

ActivityDiagrams

Use CaseModel

DesignModel

Depl.Model

Impl.Model

AnalysisModel

TestModel

Page 14: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Analysis & Design ModelUse CaseDiagrams

CollaborationDiagrams

ComponentDiagrams

DeploymentDiagrams

ObjectDiagrams

StatechartDiagrams

SequenceDiagrams

ClassDiagrams

ActivityDiagrams

Use CaseModel

DesignModel

Depl.Model

Impl.Model

AnalysisModel

TestModel

Incl. subsystemsand packages

Page 15: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Deployment and Implementation ModelUse CaseDiagrams

CollaborationDiagrams

ComponentDiagrams

DeploymentDiagrams

ObjectDiagrams

StatechartDiagrams

SequenceDiagrams

ClassDiagrams

ActivityDiagrams

Use CaseModel

DesignModel

Depl.Model

Impl.Model

AnalysisModel

TestModel

Incl. active classesand components

Page 16: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Test ModelUse CaseDiagrams

CollaborationDiagrams

ComponentDiagrams

DeploymentDiagrams

ObjectDiagrams

StatechartDiagrams

SequenceDiagrams

ClassDiagrams

ActivityDiagrams

Use CaseModel

DesignModel

Depl.Model

Impl.Model

AnalysisModel

TestModel

Test model refers toall other models anduses correspondingdiagrams

Page 17: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Use Case Driven

Req.ts Impl. Test

Use Cases bind these workflows together

Analysis Design

Page 18: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Use Cases Drive Iterations

�� Drive a number of development activitiesDrive a number of development activities� Creation and validation of the system’s architecture� Definition of test cases and procedures� Planning of iterations� Creation of user documentation� Deployment of system

�� Synchronize the content of different modelsSynchronize the content of different models

Page 19: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Architecture-Centric

�� Models are vehicles for visualizing, specifying,Models are vehicles for visualizing, specifying,constructing, and documenting architectureconstructing, and documenting architecture

�� The Unified Process prescribes the successiveThe Unified Process prescribes the successiverefinement of an executable architecturerefinement of an executable architecture

time

Architecture

Inception Elaboration Construction Transition

Page 20: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Architecture and Models

Architecture embodies a collection of views of the models

Views

Models

Use CaseModel

DesignModel

Depl.Model

Impl.Model

TestModel

AnalysisModel

Page 21: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Function versus Form

Use cases Architecture

• Use case specify function; architecture specifies form• Use cases and architecture must be balanced

Page 22: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

The Unified Process is Engineered

Describe a Use Case

Use case package

Use case

responsible for

Analyst

Artifact

A piece of information that isproduced, modified, or usedby a process

Worker

A role played by anindividual or a team

Activity

A unit of work

Page 23: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

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

Page 24: Applying UML in The Unified Processuml.org.cn/UMLApplication/pdf/uniproc1.pdf · The Unified Process is Iterative and incremental Use case driven Architecture-centric. Lifecycle Phases

Two Parts of a Unified Whole

The UnifiedModelingLanguage

The UnifiedProcess

• Convergencein the future

• Convergencethroughprocessframeworks

• OMGstandard