ApplyingApplying UMLUML inin TheThe UnifiedUnified ProcessProcess
Ivar Jacobson Rational Software email: ivarivar @rational.com Before the UML
1960’s1960’s -- 70’s70’s COBOL, FORTRAN, C Structured analysis 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 Unified Process Models and Diagrams A model is a complete description of a system from a particular State perspective State DiagramsClass Use Case 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 Functional testing Performance testing Requirements 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 Software Engineering 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 package 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