84
ICT INF5120 – Model-Based System Development Method Engineering, Software Process Frameworks, SPEM/EPF, ISO 24744, FACESEM/ESSENCE 11 March 2013

INF5120 – Model-Based System Development - Forsiden · INF5120 – Model-Based System Development Method Engineering, ... technical education ... Semat. ICT Software Process

Embed Size (px)

Citation preview

ICT

INF5120 – Model-BasedSystem Development

Method Engineering, SoftwareProcess Frameworks, SPEM/EPF,ISO 24744, FACESEM/ESSENCE

11 March 2013

ICT

Outline

n Method Engineering (ME)n Why Software Development Methodology?n Software Process/Method Frameworks

n SPEM – Software & Systems Process EngineeringMetamodeln Eclipse Process Framework (EPF) Composer

n ISO 24744 – Software Engineering Metamodel forDevelopment Methodologies

n Essence – Kernel and Language for Software EngineeringMethodsn EssWork Practice Workbench

ICT

Why Software DevelopmentMethodology?

ICT

Challenges for system developers

n Interoperabilityn Increasing complexityn Effectiveness (shorter time to market)n Increasing quality requirementsn Understand the customer/market needsn Flexibilityn Technology independencen Maintainabilityn …

ICT

From problem domain to solution domain

Problem domain

Solution domain?

Solution domain – Web Services

Model

Model

ICT

n It is important to define the scope of a development.n Otherwise a good answer may be given, but to the wrong

question.n Scope: to the delivery point?n Or to the “end of life” for the system?

20% 80%

ANALYSIS ARCH. DESIGN IMPLEM. MAINT. & INTEGRATION

Deliv.

? ?

System scope

ICT

Activities

Techniques

Tools Skills

Roles

Standards

Quality Teams

Products

Project managerDocumenterDesignerTester

PlanningStaging

Testing

WorkshopsUse casesCRC cards

Regression testsObject modelProject planUse cases

Java Project3 month increments

UMLJEE

PrecisionAccuracy

Tolerance

Personality

Methodology gives the Who, What, Whenof key interactions between people

ICT

Role of the software processProduct

People Technology

Process

Environment

The software process ties people and technology togetherto develop software products in a specific environment.

ICT

envisioning proposal sales setup requirements design & code test deploy train alter

Project Lifecycle

designer/programmer

writertester

reuse pointUI expertlead designerbusiness expertexpert userproject managerproject sponsor

trainersecretarycontractornight watchmanjanitor

Rol

esrest and recreation

project developmenttimesheets

technical educationvacations and basic business

Scope of a methodology

ICT

Problem Size

LightweightmethodologyN

umbe

r of P

eopl

e N

eede

d

Medium weightmethodology

Heavyweightmethodology

Lighter methodologies are more effective,but have limits

ICT

Today’s process aids landscape

Just how different are all these process aids when itcomes to helping people get their job done?

11

The 4thSemat

ICT

Software Process/Method Frameworks

ICT

Method engineering process

ModularMethod Description

C1.1 C1.2C1.3

C1.4 C1.5

C1.1 C1.2C1.3

C1.4 C1.5

Method chunksRepository

C6.3C6.3C1.1C1.1

CN.5CN.5C4.3C4.3

C1.3C1.3

C4.3

Situational Method

C1.2

CN.3

C2.5

C6.2

C4.1C1.2

CN.3

C2.5

C6.2

C4.1

Method reengineeringguidelines

Method chunksselection

and assemblyguidelines

I. Reengineeringof methods intomethod chunks

Storage ofthe method chunksin a methodchunks repository

II. Assembly-basedSituation-specificMethod Construction

Existing MethodNew domain

Experience …

[Ralyté and Rolland 2001] J. Ralyté and C. Rolland,"An Approach for Method Reengineering", in Proc. ofthe 20th International Conference on ConceptualModeling (ER2001), Yokohama , Japan, 2001, LNCS2224, H. Kunii, S. Jajodia, and A. Solvberg (Eds.),Springer-Verlag, pp. 471-484.

ICT

Method chunk

A method chunk is an autonomous and coherent part of amethod supporting the realisation of some specific systemdevelopment or management activity. Such a modular viewof methods favours their adaptation, configuration andextension. Moreover, this view permits to reuse chunks of agiven method in the construction of new ones. [INTEROP TG6 2005] INTEROP TG6, "State of the Art:

Exploration of Methods and Method EngineeringApproaches", Deliverable DTG 6.1, 2005.

ICT

MDD process framework overview

n The responsibility of the method engineer is to identify and orchestrate the activitiesneeded in the MDD system development process.

n Based on the organisation’s specific needs, the method engineer selects the differentprocess elements, from different process frameworks, and defines an appropriatesystem development process for an organisation.

n The method engineer must ensure completeness of the defined system developmentprocess, for example that roles are coherent with roles existing within the organisationand so on.

ICT

MDD process framework stepsThe method engineer buildsa system developmentprocess based on processelements from the MDDprocess framework andother process frameworks.

The projectmanager adaptsthe systemdevelopmentprocess to theproject-specificcontext.

The systemdevelopment teamuses the processadapted to thespecificities of thesystem developmentprocess to build thesystem.

Lastly, themethod engineer,the applicationdesigner and theproject managershould providefeedback to theknowledgeengineer for themodification,deletion orinsertion of newprocess elementsin the processframeworks. Thisfinal task allowsmaintaining anupdated source ofknowledge withinthe organisation.

ICT

Method architecture

n Methodn A composition of practices

n Practicen A repeatable approach to doing

something with a specific purpose inmind.

n Provides a systematic and verifiable wayof addressing a particular aspect of thework at hand.

n It has a clear goal expressed in terms ofthe results its application will achieve.

n It provides guidance to practitioners.

n The Kerneln The kernel includes the essential

elements of software engineering.n The Kernel provides a concrete

framework that can be used on everyproject, allowing projects to identify thekey matters of interest and applypractices to direct the project towardssuccess.

n The Languagen The methods, practices and the

essential elements are described in theLanguage.

n EPF uses the Software & SystemsEngineering Process Metamodel(SPEM) language specified by OMG

17

ICT

MODUS Methodology Framework

n MODUS Frameworkn http://modus.modelbased.netn Library of reusable and

composable Practices

n INF5120 Methodologyn http://inf5120.modelbased.netn Methodology Wiki with

Practices providing guidance

18

Custom Methodology

EPF ComposerMethod Library

…creationsupport

uses

defines

Practices

MethodEngineer

guidesdevelopment

builds andpublishes Developers

Testers

Methodology Wiki

build andpublish

project-specificmethodology

websites

ICT

SPEM – Software & SystemsEngineering Process Metamodel

ICT

SPEM

n Software & Systems ProcessEngineering Metamodel

n Metamodel and UML profile todescribe software engineeringprocessesn Identifies the typical concepts of a

process (process, phase, role, model, etc.)n Defines them using UML extensions

(stereotypes applied to various elements: class, use cases, operations,etc.)

n Assigns a characteristic icon to each new item.n Although the title implies Software Processes, any process can be

represented using SPEM.n EPF uses SPEM.

ICT

Method Content & Process

n Method Content (Who, What,Why, How)n Highly re-useable informationn Definition of Roles, Tasks,

Work Products and associatedrelationships

n Includes Guidanceand Categories

n No timinginformation

n Process (When)n End-End sequence of Phases,

Iterations, Activities andMilestones that define thedevelopment lifecycle.

n Defines When tasks areperformed via ActivityDiagrams and/or WorkBreakdown Structures

ICT

SPEM 2.0 metamodel

ICT

SPEM 2.0 UML profile – Methodcontent

ICT

SPEM 2.0 UML profile – Process

ICT

Method Content: Role

n Roles define a set of relatedskills, competencies andresponsibilities.

n Roles are not individuals

n Individuals on the developmentteam may play multiple roles.

n Roles Perform Tasks

n Roles are Responsible for WorkProducts.

ICT

Method Content: Work Productn Work Products (in most cases)

represent the tangible things used,modified or produced by a Task.

n Roles use Work Products toperform tasks and produce WorkProducts in the course ofperforming tasks.

n Work Products are theresponsibility of a Role.

n There are three types of workproducts:n Artifact: typically a configuration

managed itemn Deliverable: required

customer/stakeholder deliverablen Outcome: “intangible” result of a

task such as an installed server ortool.

ICT

Method Content: Taskn A Task defines an assignable unit

of work (usually a few hours to afew days in length).

n Tasks are performed by Roles (oneprimary, and optionally additionalsupporting roles).

n Tasks have a clear purpose, andprovide step-by-step descriptions ofthe work that needs to be done toachieve the goal.

n Tasks modify or produce WorkProducts.

n Tasks do not define when they areperformed in the lifecycle.

ICT

Method Content:Guidancen Guidance may be associate

with Roles, Tasks, and WorkProducts.

n Different types of Guidancedepending upon purpose.

n Use Guidance for detailedmethodology and supportinginformation. This will simplifytailoring.n For example, Tasks should tell

you “what” needs to be done,Guidelines provide detailed“how to”.

Types of Guidance:

• Checklist

• Concept

• Example

• Guideline

• Estimate

• Considerations

• Practice

• Report

• Reusable Asset

• Roadmap

• Supporting Material

• Template

• Term Definition

• Tool Mentor

• Whitepaper

ICT

Example – Method content

ICT

Process: Capability Patterns (1/2)n Capability Patterns define the sequence of related Tasks, performed to

achieve a greater purpose.n Task can be specialized for the given context (ex. suppress steps, work

products)

Role Descriptor(instance of a Role)

Task Descriptor(instance of Task)

Work ProductDescriptor

(instance of a WP)

ICT

Process: Capability Patterns (2/2)n Capability Patterns may be nested and viewed graphicallyn An Activity is an instance of a Capability Pattern.

ICT

Process: Delivery Process

n Defined using WorkBreakdown Structuresand/or Activity Diagrams.

n Defines end-end full-lifecycle process

n May include Iterations,Phases, Milestones (typesof Activities)

n This is just one example,any other lifecycle can bedefined.

ICT

Eclipse Process Framework (EPF)Composer

http://www.eclipse.org/epf/

ICT

The EPF Project: Overview

n EPF is an Open Source project within the Eclipse Foundation

n The goals of EPF are to provide:n An extensible framework and tooling for authoring, configuring and

publishing processesn Exemplary processes - first delivered is OpenUP

n EPF Project initiated in January 2006.

n EPF is NOT:n Only applicable for Eclipse Java development.n Intended to create the “perfect process”

ICT

The EPF Project: Two Audiences

n Process Authors and Coaches (Process ManagementTeam)n Tooling for creating and publishing processesn Foundational process for starting pointn Libraries of additional content that can be plugged-in

n Process Consumers (Project Team)n Published website of process content for simple browsingn Guidance in the form of checklists, concepts, guidelinesn Browse the content adapted to your experience level

ICT

n No common language or terminology between processes – redundancy andinconsistencies.

n Knowledge cannot easily be customized for different projects or new best practicesn No central community or communication framework to facilitate convergence of

best practices across domains.

What development teams are facing today

[Eclipse.org 2005] Eclipse.org, "ProcessFramework (EPF) Project <Beacon> - CreationReview", Eclipse.org, 21 December 2005.

ICT

A better approach

[Eclipse.org 2005] Eclipse.org, "ProcessFramework (EPF) Project <Beacon> - CreationReview", Eclipse.org, 21 December 2005.

ICT

Project goals

n Provide an extensible framework and exemplary toolsand content for software process engineeringn Extensible framework

n Metamodel based on OMG SPEMn Core extensible process tooling framework

n Exemplary and extensible toolsn Method and Process authoringn Library management and content extensibilityn Configuring and publishing

n Exemplary and extensible process contentn Range of software development and management processes

supportingn iterative, agile, and incremental developmentn applicable to a broad set of development platforms and applications

ICT

High-level architecture

[Eclipse.org 2005] Eclipse.org, "ProcessFramework (EPF) Project <Beacon> - CreationReview", Eclipse.org, 21 December 2005.

ICT

EPF Composer

n EPF Composer isa tool platform forprocess engineers,project leads, projectand program managerswho are responsiblefor maintaining andimplementing processesfor development organizations or individual projects

n Aims to:n provide for development practitioners a knowledge base of intelectual

capital that allows them to browse, manage and deploy content.n provide process engineering capabilities by supporting processe

engineers and project managers in selecting, tailoring, and rapidlyassembling processes for their concrete development process.

ICT

Method Library

n Method Libraryn All Method Elements are stored

in a Method Libraryn Method Plug-in

n A Method Plug-in represents aphysical container for MethodPackages and ProcessPackages. It defines a largestgranularity level for themodularization andorganization of method contentand processes.

n Method Configurationn a logical subset of a Method

Libraryn Delivery Process

n a complete and integratedapproach for performing aspecific type of project.

Base Concepts Plug-in

OpenUP Plug-in

DSDM Plug-in forOpenUP

depends on

extends

OpenUP Library

ICT

EPF Composer AuthoringPerspectiveLibraryView

ConfigurationView

Task Editor(form based)

AuthoringPerspective

ICT

Form basedplain text or…

…Rich Texteditors

EPF Composer Authoring Perspective

ICT

ISO 24744 – Software EngineeringMetamodel for Development

Methodologies

ICT

Comparison at a glance

n SPEMn Process aspects only

n Method domain only

n Obscure and informalextension mechanisms

n Unable to express non-trivial scenarios

n Highly dependent onUML

n ISO 24744n Process, product and

quality aspectsn Method and endeavour

domainsn Easy and intuitive

extension mechanismsn Copes with complex

scenariosn Self-contained

ICT

Comparison (graphically)

SEMDM/ISO 24744

scope

abst

ract

ion

SPEM

UML

ICT

History of ISO 24744

n ISO/IEC 24744 is an international standardn Based on experience:

n Fujitsu, Microsoft, SQI, JPL, plus other 20n Input from 25+ countriesn Australian AS 4651 (2004)n Field consulting from UTS, Necon Top-notch academic researchn Errors of previous attempts

n Led from academian 2003-2007n Submission to OMG, February 20th, 2012

ICT

Moving on to metamodellingTask Kind

NamePurposeMinCapLev

“Code Writing”“To write code…”1

Task

StartEndDuration

CodeWriting

Language

12-Sep-0715-Sep-073“C#”

partitionedtype

powertype

clabject

ICT

Putting things in context

metamodel

method

endeavour

Task Kind

NamePurposeMinCapLev

“Code Writing”“To write code…”1

Task

StartEndDuration

CodeWriting

Language

12-Sep-0715-Sep-073“C#”

ICT

Metamodel areas

ResourcesTemplates

Endeavourelements

Methodology elements

ICT

Metamodel overviewMethodologyElement

WorkUnitKind

WorkProductKind

ModelUnitKind

Template Resource

Language

Notation

Constraint

Outcome

EndeavourElement

WorkUnit

WorkProduct

ModelUnit

GuidelineProducerKind

ProducerStage

StageKind

ICT

Summary

n SEMDM / ISO 24744:n Captures what developers do (endeavour) by enhancing

expressivenessn Integrate endeavour and method domains (powertype patterns)n Integrate process and productn Address quality and capability issues (MinCapabilityLevel attribute)n Support for affordable extensibility (regular OO mechanisms)

ICT

SEMDM Diagrams – GraphicalNotationn Lifecycle diagrams, which represent the overall structure of a method

(or part of it).n Enactment diagrams, which represent a specific endeavour (or part of

it) and its relationship to the corresponding method.n Dependency diagrams, which represent the abstract

support/dependency relationships among the major components (i.e.producer kinds, work unit kinds and work product kinds) of amethodology.

n Process diagrams, which describe the details of the process kindsused in a method.

n Action diagrams, which show the detailed usage interactions betweentask kinds and work product kinds.

ICT

StageWithDurationKind TimeCycleKind PhaseKind

BuildKind InstantaneousStageKind MilestoneKind

ProcessKind ProcessKind TechniqueKind

ICT

OutCome WorkProductKind DocumentKind

ModelKind SoftwareItemKind HardwareItemKind

CompositeWorkProductKind ProducerKind TeamKind

ICT

RoleKind ToolKind Person

PreCondition PostCondition Conglomerate

Guideline

ICT

Essence – Kernel and Language forSoftware Engineering Methods

http://www.semat.org

ICT

The Kernel

58

A stripped-down,lightweight set of

definitions that capturesthe essence of effective,

scalable softwareengineering in a practice

independent way.

The Kernel is describedusing a small subset of the

Language.

ICT

Alphas: The Essential Things toWork With

Customer

Solution

Endeavor

59

ICT

Alphas: Example

60

ICT

Activity Spaces: The Essential Thingsto Do

61

ExplorePossibilities

Ensure StakeholderSatisfaction

Shapethe System

Implement theSystem

Testthe System

Deploythe System

Use the System

Operatethe System

UnderstandStakeholder Needs

Prepare to dothe Work

CoordinateActivity

Support the Team Stop the WorkTrack Progress

Understand theRequirements

ICT

Activity Spaces: ExamplesScrum Essentials Practice

Activity Space

Activity

Activity PredecessorRelationship

62

ICT

Focus areas

n Embodies the essence of software engineering in a kernel.n Works with methods in an agile way that are as close to practitioners’

practice as possible.n Applies the principle of “separate of concerns”, focusing on the things

that matter the most.n Focuses on helping the least experienced developers over helping

more experienced developers.n Reflects an understanding that the majority of the development

community is interested in…n the use of methods, not their definition.n practice, not process or method engineering.n intuitive and concrete graphical syntax, not formal semantics.

63

ICT

The Language

64

Small,simple and

flexible.

ICT

The Language: Small, Simple andFlexible

Competency

Alpha State

Activity Space

< in

volv

esta

rget

s >

Alpha

< ha

s

Activity

Work Product

prod

uces

/ upd

ates

>

organizes >

< evidences

PatternResourceCan be added to anything

ICT

The Kernel provides the blue print

Competency

Alpha State

Activity Space

< in

volv

esta

rget

s >

Alpha

< ha

s

ICT

Practices add the detail

Competency

Alpha State

Activity Space

< in

volv

esta

rget

s >

Alpha

< ha

s

Activity

Work Product

prod

uces

/ upd

ates

>

organizes >

< evidences

ICT

Resources and Patterns enableextension

Competency

Alpha State

Activity Space

< in

volv

esta

rget

s >

Alpha

< ha

s

Activity

Work Product

prod

uces

/ upd

ates

>

organizes >

< evidences

PatternResourceCan be added to anything

ICT

Some example uses of resources

Competency

Alpha State

Activity Space

< in

volv

esta

rget

s >

Alpha

< ha

s

Activity

Work Product

prod

uces

/ upd

ates

>

organizes >

< evidences

PatternResourceCan be added to anything

< helps create

Resources(such as Templates

& Examples)

< helps perform

Resources(such as Scripts &

Tool Mentors)

< help people to develop

Resources(such as Training Courses)

ICT

Some example uses of Patterns

Competency

Alpha State

Activity Space

< in

volv

esta

rget

s >

Alpha

< ha

s

Activity

Work Product

prod

uces

/ upd

ates

>

organizes >

< evidences

PatternResourceCan be added to anything

< helps perform

< helps up profile teams and team members

Patterns that qualify team membershipsuch as Team Roles and Team Structures.

e.g. Checkpointor Milestone

e.g. Phase

aligns a set of >

ends

with

>

sequences >

e.g.Team Role

Patterns that sequence andfilter activities

Patterns that synchronizeAlpha State progression

Patterns that describe alternativeways to perform and activity. .

e.g. DifferentApproaches

ICT

Language: Structure of theMetamodel

71

Foundation

AlphaAndWorkProduct

ActivitySpaceAndActivity Competency

View

ICT

Language: Foundation

72

ICT

Language: Alpha and Work Product

73

Alpha

State

+name: String+description: String

AlphaAssociation

+name: String+end1lowerBound: Integer+end1upperBound: Integer+end2lowerBound: Integer+end2upperBound: Integer

Checkpoint

+name: String+description: String

AlphaContainment

+lowerBound: Integer+upperBound: Integer

WorkProductManifest

+lowerBound: Integer+upperBound: Integer

WorkProduct

LevelOfDetail

+name: String+isSufficientLevel: Boolean+description: String

Foundation::LanguageElement

Foundation::BasicElement

+name: String+icon: GraphicalElement[0..1]+briefDescription: String+description: String

ICT

Language: Activity Space andActivity

74

ICT

Language: Competency

75

Competency

CompetencyLevel

+name: String+briefDescription: String+level: Integer

Foundation::LanguageElement

Foundation::BasicElement

+name: String+icon: GraphicalElement[0..1]+briefDescription: String+description: String

Competency CompetencyLevel

+name: String+briefDescription: String+level: Integer+possibleLevel

*

ICT

Language: View

76

ViewSelection

+name: String+description: String

Foundation::LanguageElement

FeatureSelection

+featureName: String

ViewSelection

+name: String+description: String

+includedViewSelection*

*

+constructSelection1..*

*FeatureSelection

+featureName: String

+construct1

*

+featureSelection

1..**

Foundation::LanguageElement

ICT

EssWork Practice Workbenchhttp://www.ivarjacobson.com/EssWork_Practice_Workbench/

ICT

Sources

n OMG Essence specificationn OMG, "Essence – Kernel and Language for Software Engineering

Methods", OMG Document ad/2013-02-01, 13 February 2013.n http://semat.org/wp-

content/uploads/2013/02/Essence_final_submission_18Feb13.pdfn Scrum Guide

n Ken Schwaber and Jeff Sutherland, "Scrum Guide", October 2011.n http://www.scrum.org/Portals/0/Documents/Scrum%20Guides/Scr

um_Guide.pdfn Practice authoring tool

n EssWork Practice Workbenchn http://www.ivarjacobson.com/EssWork_Practice_Workbench/

ICT

Practice ExplorerThe Practice Explorer shows Practice

Workbench projects

The Essence Kernel project contains theelements defined in the OMG Essence

specification

Alphas that represent the essentialthings to work with

Activity Spaces that represent theessential things to do

ICT

ETextile, Guideline and Card views

When selecting anelement in the

Practice Exploreryou can switch

between differentviews

The ETextile Source view provides themain editor for authoring the practice

using plain text and annotations

The Guideline Previewrenders how the guideline will

be presented in HTML

The Overview CardPreview renders the

card presentation

ICT

Scrum EssentialsThe Scrum practice is created as a

separate practice project in the PracticeWorkbench

The Scrum practice extends theEssence Kernel by providing more

detailed guidance.

Drag and drop the relevant Alphas toextend from the Essence Kernel into the

Scrum practice project

Drag and drop the relevant ActivitySpaces to extend from the Essence

Kernel into the Scrum practice project

ICT

Scrum Roles

Scrum roles arerepresented as

Patterns

Product Owner(Guideline Preview)

Product Owner (CardPreview)

ICT

Scrum Sprint

Sprint is represented asa sub-alpha of Work

The Sprint hasStates with

Checkpoints

The Sprint has associated the Work ProductSprint Backlog that contains the set of ProductBacklog items selected for the Sprint, and the

plan for delivering the product Increment

Sprint (Card Preview)

Sprint in UnderControl State

(Card Preview)

Under Control(State Card Preview)

ICT

Scrum Activities

The Scrum events(except the Sprint which

is represented as anAlpha) are represented

as ActivitiesSprint Planning Meeting

(Card Preview)

The Sprint Planning Meetingactivity provides guidance onhow to achieve the Planned

state of the Sprint.

The Sprint Planning Meetingactivity provides guidance onhow to achieve the Planned

state of the Sprint.