Software Process Modeling
with UML and SPEM
Chris Armstrong
Armstrong Process Group
www.aprocessgroup.com
Module Objectives




Introduce the Software Process Engineering
Metamodel (SPEM) specification
Discuss fundamental process building blocks
• Work product, process role, activity, guidances
• Discipline, process component, work definition
Discuss the process adoption process
Discuss how to apply UML® diagrams for process
modeling
• Activity diagrams
• Class diagrams
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
2
What Is SPEM?



Specification from the Object Management Group for
how to describe software engineering processes
Described as a UML profile
Provide basis for capturing process models in SPEMcompliant tools
• Create base process libraries and components in any
•

tool
Customize organization- and project-specific processes
Current version is 1.0; version 2.0 underway
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
3
4
Process Model Hierarchy
M3: MetaObject Facility
OMG “meta” metamodel; modeling
language for modeling languages
SPEM specification identifying
elements required to describe
processes
M1: Process
Model
M0: Enacted
Process
abstraction
M2: Process
Metamodel
# of elements
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Specific process model for domain or
vendor; includes out-of-the-box and
customized versions
Actual process enacted by a
project
Relationship of SPEM to UML

SPEM is defined as a UML profile


Use packages for organizing process model
Most SPEM elements are described using UML classes
Process behavior described using

Process structure described using class diagrams

• Defines the subset of UML to use
• Identifies special stereotypes to existing UML elements
• Activity diagrams (workflow diagrams)
• Statechart diagrams (work product state models)
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
5
6
Core SPEM Elements

process role
1
1
•
responsible for

0..*
performs
input
0..*
0..* output

0..*
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved

Each work product
responsibility of single role
Process roles perform
activities
•
work product
0..* used by
0..*
activity
produced by
Process roles responsible for
work products
Each activity only
performed by single role
Work products used as
inputs to activities and
outputs from activities
“Somebody does something
that changes something”
7
Process Structure
parent
0..*
0..*
subwork
work
definition
0..*
1
work
0..*
0..*
performer
process
performer
produced by
used by
0..*
input
0..* output
work product
0..*
activity
1
0..*
0..*
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
step
responsible for
1
process role
0..* assistant
Work Product







Anything produced, consumed, or modified by a process
•
Known as artifacts or deliverables in certain processes
Work products can be composed of other work products
•
Represent using UML aggregation or composition
Represent responsible role using association between role and
work product
Work products can be of various “kinds”
•
Document, model, source code, executable
Work products may have an associated state model
Represented as UML class stereotyped as «work product»
Instances of work products shown as object flow states on
activity diagrams
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
8
Work Product States


Key factor in modeling adaptive processes is to identify and
describe the multiple states an individual work product goes
through in its lifetime
Most useful when states represent how work product gets more
and more complete
•



Provides objective criteria for determining “done-ness”
Traditional processes have work products with a single state
•
•
Work product is either completely done or not done at all
No intermediate stopping points for review and assessment
Draw UML statechart diagram to identify states and allowable
transitions
Show work products as object flows with states on activity
diagrams
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
9
Example Work Product States – Use Case
Identified
(Level 1)
Described
(Level 2)
Outlined
(Level 3)
Detailed
(Level 4)
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Identified with
name
Described with
sentence or two
Basic flow steps identified;
alternate flows identified by
name
Basic and alternate flows
detailed; special requirements
10
Work Definition







Describes work performed in process
Main subclass is activity
•
Phase, iteration, and lifecycle are also subclasses of work
definition
Can be composed of smaller work definitions
•
•
Recommend using work definitions to group related activities
Can be related to a use case – leads to useful results
Has input and output work products
Can have pre-conditions and goals (post-conditions)
Responsibility of specific process performer (usually a process
role)
Represented as UML class stereotyped as «work definition»
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
11
Activity





Main subclass of work definition
Discrete task, relatively short in duration, assignable to one
individual playing role
Represented as operation (on a class) stereotyped as «activity»
Has input and output work products
•
Recommend that activities should either create new work
products or change state of existing work product
•

Represented as parameters on activity operation
Otherwise, how do you know if the activity occurred?
Activities can be optionally decomposed into smaller, atomic
steps
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
12
Process Role





Defines a role that one or many people may play on project
•
•
Software architect, project manager, developer
Known as role, worker, or agent in certain processes
Represented as UML actor stereotyped as «process role»
•
Often represented as class instead
Responsible for one or many work products
•
May modify other work products
Responsible for performing specific activities
•
May assist with other activities
Subclass of process performer
•
Superclass occasionally used for work definitions not assignable
as activities to process roles
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
13
Guidances



Can be associated with any SPEM model element to
provide more detailed information about the element to
the practitioner
Most often associated with activities and work products
SPEM comes with a set of built-in guidance types
• Checklist
• Template
• Example
• Tool mentor
• Guideline
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
14
Process Components and Packages

package


discipline
Process elements should be
organized using packages
Package groupings of process
elements suitable for reuse into
process components
•
process
component
process


UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
15
Packages stereotyped as
«process component»
A discipline is a set of activities,
work products, and roles related
to one “theme”
A process is considered to be a
“stand-alone” component
Show dependencies between
components
Process Lifecycle

Subclass of work definition
• Really should be subclasses of something other than
work definition, such as a time element (not in SPEM
1.0)

Lifecycle

Phase

Iteration
• Sequence of phases that achieve a specific goal
• Governed by a process
• Sequential chunks of time during process enactment
• Smaller chunk of time with minor milestone
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
16
Process Adoption Process




Like UML, SPEM only defines a language for how to
describe software processes
It does not prescribe any particular process or method
for assembling the model
Also does not provide guidance on model organization
and tool support
In the Rapid Iterative Process (RIP), there is a separate
process adoption discipline that addresses much of this
• Also separate process enactment and process audit
disciplines
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
17
SPEM UML diagrams







Process component dependency diagram
Discipline workflow diagram
Work definition workflow diagram
Process role activity diagram
Process role work product diagram
Work product relationship diagram
Work product state diagram
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
18
Process Component Dependency Diagram
«discipline»
Object-Oriented Analysis
Discipline
«import»
«discipline»
Architecture
Discipline
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
«import»
«discipline»
Requirements
Discipline
19
Discipline Workflow Diagram

work
definition
determine analysis scope
analysis model
[identified]

decision
with guard
analyze use case behavior
analysis model
[described]
analyze use case structure
analysis model
[outlined]
[no significant entities]
[significant entities]
entity class
[outlined]
input work
product
entity class
[detailed]
describe entity event model
manage analysis model

Shows general ordering of
high-level work definitions for
single discipline
One discipline usually should
between three and six work
definitions
Show “major” input and
output work products and
states
analysis model
[detailed]
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
output work product (in this case, same
instance but in different state)
20
Work Definition Workflow Diagram
Analyze Use Case Behavior

activity
system
actor
[described]
system
use case
diagram
system use
case
[detailed]
identify boundary
classes
identify control classes
boundary
class
[identified]

control
class
[identified]

domain model
identify entity classes
analysis class
[identified]
analysis model
[identified]
entity class
[identified]
model analysis
realization behavior
analysis realization
[identified]

analysis
event flow
[detailed]
analysis model
[described]
analysis realization
[outlined]
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Shows general ordering of
activities that compose a
more coarse-grained work
definition
Usually more and finergrained work products
shown as inputs and outputs
One work definition workflow
diagram per work definition
Coarse-grained input and
output work products should
be consistent with discipline
workflow diagram
21
Process Roles and Activities Diagram
Shows roles in discipline and which activities are responsibility of
each role
System Analyst
Use Case Analyst
 Leader of all analysis
 Develops the piece of the
activities for the project
analysis model associated
with one or many use cases

system analyst
select analysis pattern ( )
identify analysis event flows ( )
create analysis realization ( )
identify entity states ( )
identify state changes ( )
model entity event states ( )
describe analysis classes ( )
describe analysis package ( )
organize analysis model ( )
produce analysis realization report ( )
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
use case analyst
identify boundary classes ( )
identify control classes ( )
identify entity classes ( )
model analysis realization behavior ( )
identify analysis class data elements ( )
identify analysis class relationships ( )
identify analysis class responsibilities ( )
model analysis realization structure ( )
22
Process Roles and Work Products Diagram
Assisted Work
Products
analysis class
analysis event flow
assists with
assists with
responsible for
responsible for
«UML transition»
entity state change
system analyst
responsible for
analysis model
«report»
analysis realization report
responsible for
«UML state»
entity state
responsible for
responsible for
responsible for
responsible for
Responsible
Work Products
analysis
pattern
«UML package»
analysis package
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
«UML statechart diagram»
entity event model
analysis
realization
23
24
Work Product Dependency Diagram
consists of
analysis pattern library
based on
consists of
analysis model
«UML package»
analysis package
consists of
consists of
analysis pattern
consists of
consists of
analysis realization
influenced by
has
has
analysis event flow


analysis participants diagram
analysis class
Shows work products in discipline and their relationships
Can be supplemented with additional diagrams to establish
traceability between work products in different disciplines
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
25
Work Product State Diagram
Analysis Class

Create a statechart diagram
to show the different states
of a work product
•
identified

described

outlined

UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Not all work products may
have more than one state
Textually describe what it
means for the work product
to be at each state
Usually do not put additional
notation on this diagram
Use activity diagrams to
show how work product
changes its state throughout
the process
Process Model Organization – Discipline


Process model organized
into discipline packages
Each discipline has three
sub-packages
•
•
•


UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Guidances
Roles
Work products
Single class diagram
showing component
dependencies
Single activity graph for
workflow model
26
Process Model Organization – Workflow



UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Workflow activity graph has
a single activity diagram for
overall discipline
Create UML activity for each
work definition and place on
discipline workflow diagram
Describe details of work
definition using a nested
activity diagram that shows
each SPEM activity for the
work definition
27
Process Model Organization – Roles





UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Create a separate class for
each role in the Roles
package
Create a class diagram for
role activities inside the class
Create a class diagram for
role work products inside the
class
Create operations on role
class for SPEM activities
Can optionally define
operation parameters
(input/output work products)
28
Process Model Organization – Work Products






UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Create package for work product
guidance diagrams
Create one or many class
diagrams to show which
guidances are related to which
work products
Create package for work product
dependency diagrams
Create one or many class
diagrams to show relationships
between work products
Create class for each work
product
Optionally define state models
29
Process Model Organization – Guidances

Create sub-packages for
each guidance type
•
•
•
•


UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Checklists
Examples
Guidelines
Templates
Create class diagram to
show each guidance type
Create classes for each
guidance
30
Process Adoption Discipline – Workflow

<<work definition>>
align process
environment
<<work definition>>
design process
<<work definition>>
refine process design


<<work definition>>
develop process
content

<<work definition>>
manage process
model

31
Start with aligning the process
engineering environment with business
objectives
Identify the key process elements
(activities, work products, and workflows)
Refine the process model with
input/output work product states, identify
roles and assign activities and work
products, identify guidances
Develop textual content of process model
Manage and organize process
components
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Design Process – Work Definition Workflow
organization : process
assessment

identify
discipline
: discipline
: process
library
[identified]
identify activities
: discipline workflow
diagram
discipline : process
assessment

[outlined]
identify work
definition
: work definition
: activity
[identified]
[identified]
assign activities to
work definitions

: work definition
[described]
: activity
: work
product
identify output
work products
[described]

[identified]
: work definition diagram
[outlined]
: discipline
model workflow
[identified]
: activity
[identified]
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
: work definition
[outlined]

Identify the activities
for the discipline to
be designed
Group activities and
identify work
definitions
Model discipline
workflow
Identify output work
products
Model outlined work
definition workflow
32
Conclusions

SPEM 1.0 provided opportunity to demonstrate proofof-concept
• SPEM 2.0 will address shortcomings

UML suitable for process modeling
SPEM provides significant depth to define precise
process models suitable for most development
organizations
SPEM process modeling tools are important

Must have a proven practical process for adoption


• Need to define tool usage guidelines
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
33
34
Q&A
Thanks for your attention and participation!
UML & Design World 2005: Software Process Modeling with UML and SPEM
Copyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Descargar

Software Process Modeling with UML and SPEM