EMcontro SPEM: "Esclerose Múltipla: Novas Realidades e Desafios" - Carlos Capela, Neurologista
Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .
-
Upload
ariana-dougherty -
Category
Documents
-
view
221 -
download
1
Transcript of Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .
Software Process Modeling with UML and SPEM
Chris ArmstrongArmstrong Process Groupwww.aprocessgroup.com
2
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
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
3
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
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 SPEM-
compliant 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
4
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Process Model Hierarchy
Actual process enacted by a project
OMG “meta” metamodel; modeling language for modeling languages
Specific process model for domain or vendor; includes out-of-the-box and customized versions
SPEM specification identifying elements required to describe processes
M0: EnactedProcess
M3: Meta- Object Facility
M1: Process Model
M2: Process Metamodel
abst
ract
ion
# of elements
5
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Relationship of SPEM to UML SPEM is defined as a UML profile
• Defines the subset of UML to use• Identifies special stereotypes to existing UML elements
Use packages for organizing process model Most SPEM elements are described using UML classes Process behavior described using
• Activity diagrams (workflow diagrams)• Statechart diagrams (work product state models)
Process structure described using class diagrams
6
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Core SPEM Elements Process roles responsible for
work products• Each work product
responsibility of single role Process roles perform
activities• Each activity only
performed by single role Work products used as
inputs to activities and outputs from activities
“Somebody does something that changes something”
process role
activity
work product0..*
1
responsible for1
0..*
performs
0..*0..*
0..*0..*
produced by
used by
output
input
7
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Process Structure
process role
work product
work definition
activity
process performer
step
0..* output0..*
input
0..*0..*
produced by
used by
0..*
work
performer
1
0..*
0..*
parent
subwork
1 0..*
0..*0..* assistant
0..*
1
responsible for
8
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
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
9
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
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
10
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Example Work Product States – Use Case
Identified(Level 1)
Described(Level 2)
Outlined(Level 3)
Detailed(Level 4)
Identified with name
Described with sentence or two
Basic flow steps identified; alternate flows identified by
name
Basic and alternate flows detailed; special requirements
11
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
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»
12
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
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
• Represented as parameters on activity operation Recommend that activities should either create new work
products or change state of existing work product• Otherwise, how do you know if the activity occurred?
Activities can be optionally decomposed into smaller, atomic steps
13
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
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
14
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
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
15
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Process Components and Packages Process elements should be
organized using packages Package groupings of process
elements suitable for reuse into process components• 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
package
processcomponent
discipline process
16
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
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• Sequence of phases that achieve a specific goal• Governed by a process
Phase• Sequential chunks of time during process enactment
Iteration• Smaller chunk of time with minor milestone
17
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
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
18
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
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
19
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Process Component Dependency Diagram
«discipline»Object-Oriented Analysis
Discipline
«discipline»ArchitectureDiscipline
«discipline»Requirements
Discipline
«import» «import»
20
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
determine analysis scope
analyze use case behavior
analyze use case structure
manage analysis model
describe entity event model
analysis model[described]
analysis model[outlined]
analysis model[detailed]
analysis model[identified]
[significant entities]
[no significant entities]
entity class[outlined]
entity class[detailed]
Discipline Workflow Diagram 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
work definition
decision with guard
input work product
output work product (in this case, same instance but in different state)
21
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Work Definition Workflow Diagram Shows general ordering of
activities that compose a more coarse-grained work definition
Usually more and finer-grained 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
identify boundary classes
identify control classes
identify entity classes
model analysis realization behavior
boundary class
[identified]
control class
[identified]
entity class[identified]
analysis event flow[detailed]
system actor
[described]
system use case
[detailed]
system use case diagram
domain model
analysis class[identified]
analysis realization[outlined]
analysis realization[identified]
analysis model[identified]
analysis model[described]
Analyze Use Case Behavioractivity
22
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Process Roles and Activities Diagram
System Analyst Leader of all analysis
activities for the project
Use Case Analyst Develops the piece of the
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 ( )
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 ( )
Shows roles in discipline and which activities are responsibility of each role
23
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Process Roles and Work Products Diagram
system analyst
«report»analysis realization report
responsible for
«UML transition»entity state change
responsible for
analysis realization
responsible for
analysis event flow
assists with
analysis pattern
«UML package»analysis package
responsible for
«UML statechart diagram»entity event model
responsible for
analysis class
assists with
«UML state»entity state
responsible foranalysis model
responsible for
responsible for
Assisted Work Products
Responsible Work Products
24
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Work Product Dependency Diagram
Shows work products in discipline and their relationships Can be supplemented with additional diagrams to establish
traceability between work products in different disciplines
analysis classanalysis event flowanalysis participants diagram
analysis realization
analysis model
analysis pattern
«UML package»analysis package
hashas
consists of consists of
consists of
inf luenced by
analysis pattern library
consists of
consists of
consists of
based on
25
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Work Product State Diagram Create a statechart diagram
to show the different states of a work product• 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
identified
described
outlined
Analysis Class
26
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Process Model Organization – Discipline Process model organized
into discipline packages Each discipline has three
sub-packages• Guidances• Roles• Work products
Single class diagram showing component dependencies
Single activity graph for workflow model
27
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Process Model Organization – Workflow 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
28
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Process Model Organization – Roles 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)
29
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Process Model Organization – Work Products 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
30
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Process Model Organization – Guidances Create sub-packages for
each guidance type• Checklists• Examples• Guidelines• Templates
Create class diagram to show each guidance type
Create classes for each guidance
31
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Process Adoption Discipline – Workflow 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
align process environment
<<work definition>>
design process<<work definition>>
manage process model
<<work definition>>
develop process content
<<work definition>>
refine process design<<work definition>>
32
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Design Process – Work Definition Workflow 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
identify activities
identify discipline
identify output work products
model workflow
: discipline
[identified]
: process library
organization : process assessment
discipline : process assessment
identify work definition
: work definition
[identified]
: discipline workflow diagram
[outlined]
assign activities to work definitions : work definition
[described]
: activity
[identified]
: discipline
[identified]
: work definition diagram
[outlined]
: activity
[described]
: work definition
[outlined]
: activity
[identified]
: work product
[identified]
33
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Conclusions SPEM 1.0 provided opportunity to demonstrate proof-
of-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• Need to define tool usage guidelines
Must have a proven practical process for adoption
34
UML & Design World 2005: Software Process Modeling with UML and SPEMCopyright © 1998-2005, Armstrong Process Group, Inc., All rights reserved
Q&A
Thanks for your attention and participation!