Top Banner
Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group www.aprocessgroup.com
34

Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

Mar 27, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 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

Page 2: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 3: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 4: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 5: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 6: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 7: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 8: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 9: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 10: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 11: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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»

Page 12: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 13: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 14: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 15: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 16: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 17: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 18: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 19: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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»

Page 20: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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)

Page 21: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 22: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 23: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 24: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 25: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 26: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 27: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 28: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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)

Page 29: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 30: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 31: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 32: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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]

Page 33: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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

Page 34: Software Process Modeling with UML and SPEM Chris Armstrong Armstrong Process Group .

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!