flavours of process modelling - faculty of science...
TRANSCRIPT
1
Flavours of Process Modelling
• Models of the Software Development Process.– Key ideas: Process programming, process maturity,
study of people, tools, measurement, notations.• Models of Client (business) processes.
– Business process modelling. – Strategic modelling, requirements and analysis.– Alignment of IT with strategy and operation.
• Software development as a business process.
2
A Strategic Iterative Model
Strategic Modelling
Analysis Modelling
Design Modelling
Role Models Enactable Role
models
3enact to validate
ProcessModel
Use Case
Use Case
roles /activities Actor
Use CaseDescriptions
Package Diagrams
Use CaseDiagram
search for classesin the descriptions
Class A
Class B
objectA objectB
classmodel
interactionmodel
enact to validate Recent Equivalent:EARTH
4
Categories of Notation
• Madhavji*, 91 notes that there at least nine ways to describe the current process, including:– process programming, design and analysis,
behavioural, method defining schema, rules, plan, Entity Task Validation Exit (ETVX), Functional, Knowledge Based.
Madhavji, N.H. (1991), The Process Cycle. Software Engineering Journal, September issue, pp234-242.
5
Categories by Perspective
• Curtis (Curtis, 92)– Informational (e.g., ERDs).– Organisational (e.g organisation charts).– Procedural.– Behavioural.
• Behavioural and Procedural most widely used. E.g., RADs and IDEF.
• Some hybrids, e.g., PWB.
6
Procedural e.g., IDEFprocess
mechanism
control
input output
conceive project
TOR
do design
detailedTOR
do initial planningplan
evaluate design
design
report
divisional director
project manager
project manager
designer
designer
developevaluated design
projectmanager
designer
divisional director
design
report
7
Behavioural:Roles
Divisional Director
new project approved
start new project manager
Agree TOR for project
Agree TOR and delegate
Obtain estimate
Give plan to designer
deliver design
start new designer
write TOR for designer
prepare a plan
produce project debrief report
carry out designquality check
produce design
design OK?no yes
Designer
Project Manager
prepare an estimate
choose a method
8
Behavioural Model 2
Project Managing
produce work-breakdown
End Usergather /analyse requirements
initial
writeintegratetest plan
initial requirements
requirements clarification
delegate tasks
sign-off requirements
requirements clarification
Prototyping
to DBase
build / test prototypeOK?
requirements clarification
demo prototype
recordcomments
requirements changes
documentrequirements
change request
rebuild
integrate testing
evaluate CRs
writeCRs
send to Board
evaluate changeimpact
return CR aprovals
Customer
BusinessControlBoard
approved change request
modify / extend
BCB approved CR
modify /extension
changes
negotiationnegotiation negotiation
change?
y
modify / extend
yn
write report
reporting
signing off
DBA
9
Levels of Formality
• Informal: Diagrams, text.• Semi-formal. Diagrams with rules, e.g.,
Yourdon SA/SD, IDEF.• More formal semantics. Petri-nets, RADs.• Process Programs.• Enactable notations. E.g. RolEnact• Mathematical, rigorous. E.g., CSP.
10
Faith, Maths, Validation and Debugging
• Formal: Rigour: Need checking by experts• Pragmatic: Typically diagrams:
– Sacrifice rigour for understandability. – Users validate. Suffer from multiple interpretation
• Enactable. Visual. Try it out.• Combinations.
– Understandability and rigour. – Flexibility and familiarity. – Separation of concerns.
11
Reasons for Modelling
ModelTo drive Process Support
To Check Understanding
To Estimate Quantities
The software systems we build are process support systems for the business process we’remodelling. However, may intend to use explicit process support tool.
Or run quantitativesimulations (PWB/iThink)
Of current or proposed processes. (PWB/Enact/Raditor)
12
Categories of Model Use
• Cumulative: Typically used:– where process well understood,– business objects as widgets, – process needs tweaking.
• Individual: Typically used:– to gain understanding,– to move towards support,– as one would use executable spec.
13
Notational Dependence
• Typically:– procedural more suited to cumulative.– Behavioural (e.g., RADs) more suited to individual.
Understanding business context, i.e., Strategic modelling.
• Same notation can be used in different ways (cumulatively or individually).
• More difficult to classify by persepctive. – Following slides all based on a petri-net approach.
14
Petri Net Components
transition (event, activity, process)
place (state, store, object)
firing ruletokens
15
Barber Shop - Cumulative
Enterwaiting Customers
idle Barbers
active Cuttingsstart Cut
end Cut
16
Enter
start Cut
end Cut
start Cut
end Cut
CustomerBarber
Barber Shop - Individual
17
Barber Shop - Data Centric
Enterwaiting Customers
idle Barbers
active Cuttingsstart Cut
end Cut
Customer Arrival Time
Barber Availability
Customer Start Time
Customer Barber
Customer End Time
18
initial initial
cutting
paying
final
cutting
billing
=initial
choose
accept
receive
Customer Barber
leave break
return
outside
Transitions for Barber
19
In Short: Notations Count
• Different notations have different capabilities.
• Huge choice of notation for modelling.• Different perspectives, strength of
semantics, levels of formality, ease of enaction.
• Same notations may be used differently (extended) depending on purpose.
• Still usually cumulative or individual.
20
• What do we want from a process modelling notation?– Impact of audience for models,– Wanting to map to analysis models,– Ways of knowing whether a model is right.
• What does this imply for methods. – The meta-process of modelling.
Still to come...
21
An Exercise: The Barber Shop
• Propose a simple process change to the shop • Model this change.
– How does the notation cope with the required change.
– What problems issues can the different models highlight.
– Barber is too simple. For what applications do we need the kind of support suggested. What kind of process support might be in place & how might the change impact existing (IT) support system.
22
Enter
start
end
You may enter the barber shop
Enter
start
end
You must wait
Enter
start
end
You have just been chosen by barber 1
Enter
start
end
You may choose a barber
Customer Handset
23
start
end
You may choose a customer
start
end
You must complete the cutting
start
end
You must wait for a customer Barber Handset
24
Enter
start
end
You mayenter thebarber shop
Enter
start
end
You mustwait
Enter
start
end
You have justbeen chosenby barber 1
Enter
start
end
You maychoose abarber
The customer’s handset start
end
You maychoose acustomer
start
end
You mustcomplete thecutting
start
end
You mustwait for acustomer
The Barber’shandset
Barber Shop
Customers Barbers
Register ClockIn
The Barber Shop