modelling in (e)business development

19
1 © 2004 JPT Modelling in (e)business development ! 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

Upload: others

Post on 08-Jan-2022

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelling in (e)business development

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

Page 2: Modelling in (e)business development

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

Page 3: Modelling in (e)business development

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

Page 4: Modelling in (e)business development

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

Page 5: Modelling in (e)business development

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

Page 6: Modelling in (e)business development

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

Page 7: Modelling in (e)business development

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

Page 8: Modelling in (e)business development

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

Page 9: Modelling in (e)business development

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

Page 10: Modelling in (e)business development

19© 2004 JPT

Data models

20© 2004 JPT

Data flow models

Page 11: Modelling in (e)business development

21© 2004 JPT

Object models, 1

22© 2004 JPT

Object models, 2

Page 12: Modelling in (e)business development

23© 2004 JPT

Process models

24© 2004 JPT

Use Case models

Page 13: Modelling in (e)business development

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

Page 14: Modelling in (e)business development

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

Page 15: Modelling in (e)business development

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

Page 16: Modelling in (e)business development

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

Page 17: Modelling in (e)business development

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)" ...

Page 18: Modelling in (e)business development

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

Page 19: Modelling in (e)business development

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