ICSP 2008, Leipzig. 2. Evolution in Information System. Development Methods (ISD). Universal Method. Engineered Situated. Method. 1. 2. Method Engineering ...
Method Engineering : Towards Methods as Services Outline Backdrop MaaS
Prof. Colette Rolland CRI Université Panthéon Université Paris1 Panth éon Sorbonne ICSP 2008, Leipzig
Evolution in Information System Development Methods (ISD) Engineered Situated Method 2
Method Engineering
1
Universal Method
ICSP 2008, Leipzig
2
Method Engineering Method Methodengineering engineeringisisthe the discipline disciplineof ofdeveloping, developing, customizing, customizing,and/or and/orconfiguring configuringaa situation-specific situation-specificmethod methodfrom from parts partsof ofexisting existingmethods methods. . [Brinkkemper [Brinkkemper96, 96,Leppanen Leppanen2006 2006]]
ICSP 2008, Leipzig
Method Engineering
Motivations
Adaptability (to specific projects, companies, needs & new development settings
ICSP 2008, Leipzig
Reuse (of best practices, theories & tools)
Method Engineering ♣ ME process & research questions
Initial Method Description
Reverse engineering step
Method reengineering guidelines
C1 C3 C4
C4.1 C6.2
C5
Modular Method Description : Modular Method model
C2.5
C1.2
C2
CN.3 Method Base
Situational Method
Construction of Several strategies a new method for SME reusing method method parts
C1.1 C1.3
C6.3
Storage of method parts in a method base
C4.3
C4.3 CN.5
ICSP 2008, Leipzig
5
Method Engineering ♣Software engineering vs Method Engineering * Software engineering
Method engineering
Modelling (specification)
Meta- Modelling
CASE
CAME
(Computer Aided S/W Engineering)
(Computer Aided Method Engineering)
Software Base
Method Base
Software metrics
Method metrics
*Motoshi Saeki talk (EMISE) ICSP 2008, Leipzig
6
Method Engineering ♣Key Method Engineering Artefacts*
ME products
ME processes
ME meta models & meta-modelling languages to represent method parts Harmsen97, Heym& Osterle,92, venable93, Kelly et al 96, Graham et al 97, OMG 05, Prakash 99, Ralyte 01, * Leppanen06
ME strategies, approaches, workflows to combine, integrate, assemble method parts & to guide the ME process Kumar & Welke, 1992, Oei, 95, Phlihon et al 97, Heym&Osterle 97, Rolland & Prakash 96, Saeki, 98, Leppanen 00 Saeki 03, Karlsson & Agerfalk 04,
ICSP 2008, Leipzig
7
Method Engineering Products A modularization issue based on two assumptions (1) A method is composed of a product model and a process model Method 1
1
1..*
Product Model
1..*
1..*
Process Model < utilises
ICSP 2008, Leipzig
1
8
Method Engineering Products ♣ (2) Meta-Modelling is an appropriate means to describe * methods (Yourdon & Coad) Concept = { Class, Attribute, Service} Relationship = {has(CS), has(CA)}
Class has
Service
has
Attribute
Identify classes & objects next produces
(a) Meta model of product part Identify attributes
consumes
Class
produces
procedure= { identify classes & objects, identify attributes}
Attribute has
*Motoshi Saeki talk (EMISE)
(b) Meta model of process part ICSP 2008, Leipzig
9
The Method Fragment Perspective [Harmsen 94, Harmsen 97, Brinkkemper 99]
Product Fragment
Process Fragment
is involved in involves
Assess Documentation
Entity
Relationship no
n
has
m
belongs
data model available? yes
Inspect data model
Construct data model
data model adequate? yes no
Attribute
Deliver data model ICSP 2008, Leipzig
Modify data model
The Method Chunk Perspective [Rolland & Prakash 1996, Rolland 1994, Ralyte & Rolland 2001]
♣ tight coupling in a chunk of the process and related product parts Start goal template strategy free prose strategy
refined by *
alternative discovery manual strategy strategy
*
AND 1..*
1
initial 1..*
Scenario
State final 1..*
1..*
*
OR refinement discovery strategy
Conceptualise a scenario
tool supported strategy completeness strategy
*
*
Requirements Chunk *
composition discovery strategy
Exceptional Scenario
Normal Scenario
Elicita Elicit a goal Use Case
template strategy
Write a scenario
case based strategy
1
*
Goal Verb Target …
2..*
Resource
1..* from 1
Agent
Action 1..*
to
1
*
Flow of actions
Stop
Process Part
Atomic action
1..*
1..*
Object
parameter
Product part ICSP 2008, Leipzig
11
Method Engineering Products ♣ Towards a consensual view (Cossentino et al , 2006) Method fragments (Brinkkemper et al) Method chunks (Ralyté et al) OFP (Henderson Sellers et al) FIPA fragments (Cossentino et al)
Actor (Who does it) Is responsible for
Activity (What to do) produces
Guides in
Guidance (How to do)
Is input of
Artifact (What is the result)
ICSP 2008, Leipzig
12
Method Engineering Products ♣ Using philosophical foundations ¾ Intentionality is at the core of cognition (all
modern philosophers : Brentano, Twarsdwowski, Hurssel, Sartre,Merleau Ponty, Berner….
¾ Intention is a mental state that integrates desires and beliefs and determines actions Intentional action attributes
Awareness Skill Intention Belief Desire
Intention baseline
Intentionality Model to Support Process Guidance ICSP 2008, Leipzig
13
Method Engineering Products ♣ Guiding the achievement of intentions from from intention intention Intention refinement
Nature meta-model
Context Context
Intention implies
motivates
Explore alternative Explore alternativeways waysto toachieve achievethe theintention intention Situation Action Determine Determinethe theappropriate appropriateactions actionsto to materialize materializethe thedesired desiredoutcome outcome raises
modifies
Product
to to action action
Space for rich guidance ICSP 2008, Leipzig
14
Method Engineering Products ♣ Choice Guideline in NATURE CC11
CC5
CC1
CC2
CC4 CC3
possible choices CC1: a2 CC1: a3 CC2: a4 or a9 or a10 or a11 CC3: a1 or a7 or a8 CC4: a6 CC5: a5 CC6: a1 or a7 CC7: a8
a1: cardinalities are: a2: cardinalities are: a3: cardinalities are: