modelling in (e)business development
TRANSCRIPT
1© 2004 JPT
Modelling in (e)businessdevelopment
! Juha-Pekka Tolvanen
! 27.2.2004
! Contents:
" Use of modeling in (e)business process development
" Types of methods
" Use of metamodeling to “construct” method support
" Examples from practice
2© 2004 JPT
Motivation and background! Trends in software development
" Information has become one of the most valuable assets!
" Number of software (IS/ICT) development companies grow– one of the largest industries in USA
" Technology becomes more complex and applications larger!
" Productivity and quality are the key concerns of any company developing
software!
" Software development faces many problems, e.g:– low productivity; Standish Group: 16% on time and within budget
– relatively high failure rate
– inadequate alignment with business needs
– lack of people
– continuous evolution and migration needs with new technologies
– increasing complexity and size of software products
3© 2004 JPT
How to change and improve softwaredevelopment?
! Plenty of solutions possible and also needed!– development and use of components
– application-package based ISD
– better methods, tools, and languages
– quality assurance programs
– ...
! One solution:" Better development methods and tools are required
– noted already when first systems were build in 50’s
– like in other engineering disciplines
" Model-based development instead of pure coding
4© 2004 JPT
Domain
Idea
Finished
Product
Solv
e pro
ble
m i
n d
om
ain t
erm
s
AssemblerMap to code, implement
UML ModelMap to UML
Generate,Add bodies
ComponentsDomainModel
Generate calls
to components
No map!
CodeMap to code, implement
Modeling domain vs. modeling code
5© 2004 JPT
Domain
Idea
Finished
ProductS
olv
e p
rob
lem
in
do
mai
n t
erm
s
AssemblerMap to code, implement
JavaMap to code, implement
Damage!
Risk factor!
Liability!
Bonus!
inner class?
Session Bean?
static final?
integer?
Example: JustInsurances.com
6© 2004 JPT
Modeling domain vs. modeling code
Domain
Idea
Finished
Product
Solv
e pro
ble
m i
n d
om
ain t
erm
s
AssemblerMap to code, implement
UML ModelMap to UML
Generate,Add bodies
CodeMap to code, implement
7© 2004 JPT
Domain
Idea
Finished
ProductS
olv
e p
rob
lem
in
do
mai
n t
erm
s
AssemblerMap to code, implement
UML ModelMap to UML
Generate,Add bodies
JavaMap to code, implement
Damage!
Risk factor!
Liability!
Bonus!
inner class?
Session Bean?
static final?
integer?
Use caseActivity
StereotypeClass
Attribute
Example: JustInsurances.com
8© 2004 JPT
Domain
Idea
Finished
Product
ComponentsDomainModel
Generate calls
to components
No map!
Example: JustInsurances.com
Damage!
Risk factor!
Liability!
Bonus!
Solv
e pro
ble
m i
n d
om
ain t
erm
s
/* imported packages */
import com.products.stan
public class Basis exten
{
public Basis(String nam
{
super(name);
PRODUCT_NAME = Basis;
MofPackage modelpacka
this.addMofPackage(m
}
public Basis()
9© 2004 JPT
What is domain-specific modelling
! Captures domain knowledge (as opposed to code)" Uses domain abstractions
" Applies domain concepts and rules as modeling
constructs
" Narrow down the design space
! Allows developers to design products with domain
terms" Apply familiar terminology
" Solve the RIGHT problems!
" Solve problems only ONCE!
10© 2004 JPT
Motivation:CASE = model and generate software
11© 2004 JPT
About method(olog)ical solution
! Hundreds of different methods are developed" for different life-cycles of ISD
– requirements gathering, business modeling, workflow modeling,
architecture design, system analysis and design, testing, deployment,
maintenance
" for different application areas– telecommunication, EDI, data-intensive systems, embedded, etc
" for different ISD approaches– structured, information engineering, data modeling, object-oriented
design
" for different organizational structures– centralized vs. decentralized, inhouse vs. consulting, development from
scratch vs. tailoring packaged software
" for different….
12© 2004 JPT
Method evolution
1960's Petri-nets
beginning of 1970's Structured programming (Boehm, Dijkstra)
mid 1970's Structured design (Yourdon -Constaine), JSP
(Jackson), ER -model (Chen)
end of 1970's Structured analysis (DeMarco, Gane -Sarson)
beginning of 1980's Metrics
mid of 1980's Information Engineering (Martin)
End of 1980's Object-oriented design (Booch)
beginning of 1990's Object-oriented analysis (Coad/ Yourdon, Schlaer -
Mellor, Rumbaugh)
mid 1990's Business modeling, BPR modeling, work flow
modeling
end of 1990's OO-method standardization (UML), reference
modelings, modeling of packaged software
Beginning of 2000 Component modeling, UML profiles, metamodel -
based languages
13© 2004 JPT
Method-tool companionshipExamples of methods and tools in the phases and tasks of ISD.PhaseType of methodsType of toolsBusiness process re-engineering anddevelopmentbusiness modeling, processmodeling, work flowmodeling, task structureswork flow modeling tools,simulators, business modelingtoolsRequirements engineeringbrain-storming,interviews, requirementsdefinition and designtechniquesGDSS, CSCW,requirementsengineering toolsSystem analysisdata modeling, structuredanalysis, object-orientedanalysisupper-CASE,interface design toolsSystem designdata modeling, structureddesign, object-oriented designupper-CASE,interface design toolsConstructionmapping from high-levellanguage to machine language,version controleditors and compilers,debuggers, 4GLs, codegenerators, verifiers,performance analyzersOperation and maintenanceversion control, reverseengineering, configurationmanagementdocumentation and reportingtools, reverse engineeringtools
14© 2004 JPT
Why methods are used?
! Errors are more expensive at the earlier phases of
project life-cycle
! Methods in this course deal with early phases:
" Requirements engineering, system analysis, system design
Origin of errors in software products
64
36
Req eng, analysis, design Implementation
15© 2004 JPT
Method useAgreeUnsureDisagreeProductivity is increased by using method71.822.95.3System quality is better due to method use83.215.31.5Method use improves communication84160System developers are satisfied with method43.539.716.8IS management is satisfied with methods45.834.619.6
Experiences of method use
" Wynekoop, Russo and Clomparens (1995) studied method use
through survey study (n> 100 organizations):
16© 2004 JPT
Why methods and modeling?
! Complex" many levels of change
" overwhelming amount of detail
" different views
! Uncertain" why to change
" what to change
" how to change?
! Contextual and contingent" past history
" development group
" domain
" technology
17© 2004 JPT
Types of models
! Data models
! State models
! Process models
! Object models
! Interaction models
! Flow models
! Use Case models
! Collaboration models
! Component models
! Deployment models
! Petri-nets etc.
18© 2004 JPT
State models
19© 2004 JPT
Data models
20© 2004 JPT
Data flow models
21© 2004 JPT
Object models, 1
22© 2004 JPT
Object models, 2
23© 2004 JPT
Process models
24© 2004 JPT
Use Case models
25© 2004 JPT
Interaction models
26© 2004 JPT
Strategies for selecting and usingmethods
! What kind of development tasks need to be
supported by methods (and tools)?
! In BPR&BM-style of projects 3 areas are important:
! Support for specific concepts
! Support for analysis needs
! Support for generation
27© 2004 JPT
Support for specific concepts
! Modelling method “speaks the language of the system”" has concepts that capture the system better into models
" enable easier checking of models correctness with end-users
! Metamodel includes the specific concepts of the domain
! Examples:" Specific environment
– E.g. e-commerce platform
" Specific domain– Loans
– Insurances
– etc
28© 2004 JPT
Support for analysis needs
! Models should capture the data from the system to be
analyzed or simulated
! Metamodel includes the concepts and relationships
needed for the required analysis
! Example of work flow analysis: communication matrix" connections between workers or organizational units
– In BPR expected to be different than hierarchical structures
" can be derived from the flows of the activity model sending
information or material
29© 2004 JPT
Support for analysis needs, example
! Example of cost analysis: Cumulative cost and time" In which phase of the task structure the costs change
" which processes are most time consuming
30© 2004 JPT
Support for generation
! Tools should offer
customizable generators
and reports
31© 2004 JPT
How to get method support for specificneeds?
! One solution: metamodeling and method engineering" “Construct” methods for the specific needs!" Models play a crucial role in ME, as in all engineering." A metamodel is a conceptual model of an ISD method.
– one level of abstraction higher than “normal” models
DevelopsDevelopsRepresentsInstantiates toRepresentsMetamodelingModelingAn object system tobe modeledModel of an objectsystemModel of a method,metamodelPerceivesPerceives
32© 2004 JPT
An example: modeling processes andworkflow
33© 2004 JPT
An example, continue
OR
Customerorder
Veri fy order
Collect the goods
Goods inthe store
Not enoughordered goods
Goods avai lable
Register delivery Inform customer
Function
Material
Information
AlternativeMaterial flow
Information flow
Order betweenfunctions
Trigger
After closingtime
ReferenceK1! Instance (model)! What is the structure
of the method formodeling:" activities/tasks," order between tasks," material flow," information flow," rules for flows," triggers for
initiating tasks," (references between
models)
34© 2004 JPT
An example: metamodel
Action
Information Material
Operator
Reference
SpecifierOrder
Place Actor
Trigger
Name of the action
Order from (0:M)
Mark
Informationdescription
Materialdescription
ID of graph
Descriptionof specifier
Information flow Material
flowRefers
Material flowfrom (0:M)
Informationflow to (0:M)
Information flow from (0:M)
Order to (0:M)
Refer to (0:M)
Refer from (0:M)
Material flow to (0:M)
! Types (metamodel)! Includes all the type
information:" object (types)" relationship (types)" property (types)" ...
35© 2004 JPT
Type-instance pair:Some mappings between the levels
OR
Customerorder
Veri fy order
Collect the goods
Goods inthe store
Not enoughordered goods
Goods avai lable
Register delivery Inform customer
Function
Material
Information
AlternativeMaterial flow
Information flow
Order betweenfunctions
Trigger
After closingtime
ReferenceK1
Action
Information Material
Operator
Reference
SpecifierOrder
Place Actor
Trigger
Name of the action
Order from (0:M)
Mark
Informationdescription
Materialdescription
ID of graph
Descriptionof specifier
Information flow Material
flowRefers
Material flowfrom (0:M)
Informationflow to (0:M)
Information flow from (0:M)
Order to (0:M)
Refer to (0:M)
Refer from (0:M)
Material flow to (0:M)
36© 2004 JPT
Modeling business process networksand IS architectures in a wholesale
HaulingcompaniesDeliveryLocalsuppliersDeliveryForwardingInbound"By-pass"suppliersForeignsuppliersWholesalerIncStoresCustomerForwardingcompaniesDeliveryDeliveryCompetitorsSubsidiaryorganizationsDeliveryRegionalwholesalersNormal salesDeliveryHaulingcompaniesHaulingcompanies
37© 2004 JPT
Modeling business process networksand IS architectures in a wholesale
Value process modelBusinessprocessCustomerMaterial flowInformation/CoordinationflowMaterial flow fromMaterial flow toTextTermStringVolumeResponsibilityTextDescriptionStringFlow nameStringProcessnameType ofprocessStringLocationBooleanAdds valueInformation flow fromStringActorTextDescriptionStringNameStringLocationStringModel nameStringCapasityType of information/Coordination flow1,1Information flow toBusiness system integrationStringModel nameOrganizationDataBusinessprocessUsageType of useIs usedUsesididUniqueidUniqueidUniqueid1,11,11,11,11,1idNameBooleanObligatory?StringMaterialflow nameTaskDecisionTransitionTransitionnameIReceiveSend1,11,1Task nameidStringDecisionidStringStringTurnaround timeCapasityStringVolumeStringTask structureTransitionIReceiveSend1,11,MER diagramEntityRelationshipRelationshipnameParticipates1,M1,1CardinalityCardinalityParticipatesAttributesStringEntity nameidStringAttributenameTextDescriptionTextConstraintsStringModel nameidUniqueStringModel nameidUniqueResponsibility