0% found this document useful (0 votes)
152 views34 pages

Software Process Modeling With UML and SPEM: Chris Armstrong Armstrong Process Group

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. 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.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
152 views34 pages

Software Process Modeling With UML and SPEM: Chris Armstrong Armstrong Process Group

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. 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.
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd

Software Process Modeling with UML and SPEM

Chris Armstrong Armstrong Process Group [Link]

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

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

Process Model Hierarchy


M3: MetaObject Facility M2: Process Metamodel
abstraction
OMG meta metamodel; modeling language for modeling languages SPEM specification identifying elements required to describe processes

M1: Process Model

Specific process model for domain or vendor; includes out-of-the-box and customized versions Actual process enacted by a project

M0: Enacted Process

# of elements

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 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

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Core SPEM Elements

process role
1

Process roles responsible for work products

responsible for

Each work product responsibility of single role

0..* performs input

Process roles perform activities

work product
0..* output

0..*

Each activity only performed by single role

0..* 0..* used by 0..* activity produced by

Work products used as inputs to activities and outputs from activities Somebody does something that changes something

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Process Structure
parent 0..* 0..* subwork

work definition
0..* used by

work 0..* 0..*

1 performer

process performer

produced by
0..* output

0..* input

work product
0..* responsible for

activity
0..*

0..*

step

process role
0..* assistant

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 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 Represent using UML aggregation or composition

Work products can be composed of other work products 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

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 Work product is either completely done or not done at all No intermediate stopping points for review and assessment

Traditional processes have work products with a single state

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

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

10

Identified with name Described with sentence or two Basic flow steps identified; alternate flows identified by name Basic and alternate flows detailed; special requirements

Work Definition

11

Describes work performed in process Main subclass is activity

Phase, iteration, and lifecycle are also subclasses of work definition Recommend using work definitions to group related activities Can be related to a use case leads to useful results

Can be composed of smaller work definitions

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

Activity

12

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

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Process Role

13

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 Often represented as class instead

Represented as UML actor stereotyped as process role


Responsible for one or many work products

May modify other work products


May assist with other activities Superclass occasionally used for work definitions not assignable as activities to process roles

Responsible for performing specific activities Subclass of process performer

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Guidances

14

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

Process Components and Packages

15

package

process component

Process elements should be organized using packages Package groupings of process elements suitable for reuse into process components

Packages stereotyped as process component

discipline

process

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

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Process Lifecycle

16

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 Sequential chunks of time during process enactment Smaller chunk of time with minor milestone

Phase

Iteration

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Process Adoption Process

17

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

SPEM UML diagrams


18

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

Process Component Dependency Diagram

19

discipline Object-Oriented Analysis Discipline

import

import

discipline Architecture Discipline

discipline Requirements Discipline

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Discipline Workflow Diagram


work definition
determine analysis scope analysis model [identified]

20

analyze use case behavior analysis model [described]

decision with guard

analyze use case structure

analysis model [outlined]

[no significant entities]

[significant entities]

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
output work product (in this case, same instance but in different state)

entity class [outlined]

describe entity event model

entity class [detailed]

input work product

manage analysis model

analysis model [detailed]

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Work Definition Workflow Diagram


Analyze Use Case Behavior
activity
system actor [described]

21

system use case diagram

identify boundary classes

boundary class [identified]

system use case [detailed]

identify control classes

control class [identified]

domain model identify entity classes analysis class [identified] entity class [identified]

analysis event flow [detailed] model analysis realization behavior

analysis model [described]

analysis model [identified]

analysis realization [identified]

analysis realization [outlined]

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

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

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

22

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 ( )

Process Roles and Work Products Diagram


Assisted Work Products
analysis class
assists with assists with

23

analysis event flow

responsible for responsible for

system analyst
responsible for

UML transition entity state change

analysis model

responsible for responsible for

report analysis realization report

UML state entity state

responsible for responsible for

responsible for

Responsible Work Products

analysis pattern

UML package analysis package

UML statechart diagram entity event model

analysis realization

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Work Product Dependency Diagram


analysis pattern library
based on consists of consists of

24

analysis model UML package analysis package


consists of consists of

analysis pattern
consists of consists of

analysis realization
influenced by has

has

analysis participants diagram analysis class

analysis event flow

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

Work Product State Diagram


Analysis Class

25

Create a statechart diagram to show the different states of a work product

identified

Not all work products may have more than one state

described

outlined

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

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Process Model Organization Discipline

26

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

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Process Model Organization Workflow

27

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

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Process Model Organization Roles

28

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)

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Process Model Organization Work Products


29

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

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Process Model Organization Guidances

30

Create sub-packages for each guidance type

Checklists Examples Guidelines Templates

Create class diagram to show each guidance type Create classes for each guidance

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Process Adoption Discipline Workflow

<<work definition>> align process environment

31

<<work definition>> design process

<<work definition>> refine process design

<<work definition>> develop process content

<<work definition>> manage process model

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 : process library identify activities discipline : process assessment identify work definition : activity [identified] assign activities to work definitions : discipline workflow diagram [outlined] : discipline [identified]

32

: work definition [identified]

: work definition [described]

: activity : work product [identified] : work definition diagram [outlined]

identify output work products

[described]

: discipline
[identified]
: activity [identified]

model workflow

: 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

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Conclusions

33

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

Need to define tool usage guidelines

Must have a proven practical process for adoption

UML & Design World 2005: Software Process Modeling with UML and SPEM Copyright 1998-2005, Armstrong Process Group, Inc., All rights reserved

Q&A

34

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

You might also like