Object Oriented Business Process Analysis

88
Comprehensive Object Comprehensive Object Oriented Business Oriented Business Process Analysis Process Analysis A TOOLS'99 Tutorial by A TOOLS'99 Tutorial by Graham McLeod Graham McLeod Managing Partner, Inspired Senior Lecturer, University of Cape Town www.inspired.org [email protected] I.T. Consulting I.T. Consulting Training Training Research Research INSPIRED INSPIRED © Graham McLeod tools99_SteveEditforPublish.prz 1 16-03-00

Transcript of Object Oriented Business Process Analysis

Comprehensive Object Comprehensive Object Oriented Business Oriented Business Process AnalysisProcess Analysis

A TOOLS'99 Tutorial byA TOOLS'99 Tutorial byGraham McLeodGraham McLeodManaging Partner, InspiredSenior Lecturer, University of Cape Townwww.inspired.org [email protected]

I.T. Consulting I.T. Consulting �������� Training Training �������� ResearchResearch

INSPIREDINSPIRED

© Graham McLeod tools99_SteveEditforPublish.prz 1 16-03-00

© Graham McLeod June 1999

Business ImperativesBusiness ImperativesEnterprise ModelingEnterprise Modeling

StakeholdersStakeholdersValue ChainsValue Chains

Business ProcessesBusiness ProcessesBusiness EngineeringBusiness EngineeringSystem Level ModelSystem Level ModelMapping to Layered ArchitectureMapping to Layered ArchitectureConclusionConclusion

AgendaAgenda

© Graham McLeod tools99_SteveEditforPublish.prz 2 16-03-00

Business ImperativesBusiness Imperatives

112

2

3

4567

8

9

1011

© Graham McLeod tools99_SteveEditforPublish.prz 3 16-03-00

© Graham McLeod June 1999

Global Pressures - Local ProblemsGlobal Pressures - Local Problems

CheaperFaster

Better

PROCESS

Requires

Quality

Cost

PRODUCT/SVC

Time

© Graham McLeod tools99_SteveEditforPublish.prz 4 16-03-00

© Graham McLeod June 1999

Acceptable deployment time

Time

1950 1960 1970 1980 1990 2000

The Solutions GapThe Solutions Gap

Time to build

The solutiongap

© Graham McLeod tools99_SteveEditforPublish.prz 5 16-03-00

© Graham McLeod June 1999

Conventional Software Conventional Software DevelopmentDevelopment

ProblemProblem

Require-Require-mentsments

ProblemProblem

SolutionSolution

Time

Business DomainBusiness Domain

Technical DomainTechnical Domain

© Graham McLeod tools99_SteveEditforPublish.prz 6 16-03-00

© Graham McLeod June 1999

Business / I.T. faced withBusiness / I.T. faced with

GlobalizationGlobalizationDemands for efficiencyDemands for efficiencyDemands for flexibility and rapid innovationDemands for flexibility and rapid innovationRequirement for high quality and serviceRequirement for high quality and serviceTechnology discontinuityTechnology discontinuityReskillingReskilling70% plus projects in consulting experience have 70% plus projects in consulting experience have reengineering elementreengineering element

© Graham McLeod tools99_SteveEditforPublish.prz 7 16-03-00

© Graham McLeod June 1999

Process focusProcess focus

1950 1960 1970 1980 1990 2000

Resource

Organization

Process

Generations of Business Modeling

Simplifying operationsSimplifying operationsReducing cycle timesReducing cycle timesIncreasing added valueIncreasing added valueCutting costsCutting costsImproving reliabilityImproving reliabilityTightening vendor Tightening vendor relationshipsrelationshipsFocusing on core Focusing on core competenciescompetencies

© Graham McLeod tools99_SteveEditforPublish.prz 8 16-03-00

Enterprise ModelingEnterprise Modeling

© Graham McLeod tools99_SteveEditforPublish.prz 9 16-03-00

© Graham McLeod June 1999

In this moduleIn this module

We willWe willSee why Enterprise Modeling is usefulSee why Enterprise Modeling is usefulIntroduceIntroduce

Stakeholder and Value Chain concepts and modelsStakeholder and Value Chain concepts and modelsAn approach to Business Modeling from GMD in GermanyAn approach to Business Modeling from GMD in GermanyA simple Business Process Modeling notationA simple Business Process Modeling notationLay the foundation for future Business Engineering ("BPR")Lay the foundation for future Business Engineering ("BPR")

You willYou willBuild a stakeholder modelBuild a stakeholder modelModel an existing business processModel an existing business process

© Graham McLeod tools99_SteveEditforPublish.prz 10 16-03-00

© Graham McLeod June 1999

Enterprise ModellingEnterprise Modelling

Efficiency is doing things rightEfficiency is doing things rightEffectiveness is doing the right thingsEffectiveness is doing the right thingsEnterprise Modelling helps us to:Enterprise Modelling helps us to:

Keep projects and developments aligned with Corporate GoalsKeep projects and developments aligned with Corporate GoalsIdentify high payback applications to apply scarce resourcesIdentify high payback applications to apply scarce resourcesPrioritise development from the perspective of business need Prioritise development from the perspective of business need and technical imperativeand technical imperativeScope projects and systemsScope projects and systems

Variety of techniques including:Variety of techniques including:Critical Success Factors (CSF's) [Rockart]Critical Success Factors (CSF's) [Rockart]Functional Decomposition [I.E., Tetrarch, Functional Decomposition [I.E., Tetrarch, Infomet, Method/1]Infomet, Method/1]Value Chain Analysis [Porter]Value Chain Analysis [Porter]Use Cases [Jacobson] Use Cases [Jacobson]

© Graham McLeod tools99_SteveEditforPublish.prz 11 16-03-00

© Graham McLeod June 1999

Stakeholder PerspectiveStakeholder Perspective

The EnterpriseThe Enterprise

ClientClientShare Share holderholder

EmployeeEmployee

SupplierSupplier

Money

Goods & Services

Capital Growth

Dividends

Investment

Effort/Knowledge

RemunerationBenefits

Payment

Goods & Services

© Graham McLeod tools99_SteveEditforPublish.prz 12 16-03-00

© Graham McLeod June 1999

Porter Value Chain modelPorter Value Chain model

Information management

Firm Infrastructure

Human Resource Management

Technology Development

Procurement

Inbound Logistics

Operations OutboundLogistics

Marketing& Sales

Service

Margin

Supp

ort A

ctiv

ities

© Graham McLeod tools99_SteveEditforPublish.prz 13 16-03-00

© Graham McLeod June 1999

Value Chain cuts across Value Chain cuts across functional boundariesfunctional boundaries

Corporation

Branch

Sales

Contract with client

Mgmt

Approve credit

Collections

Collect deposit

Process payments

Delivery

Deliver goods

Head Office

Purchasing

Buy goods

Despatch

Send to store

41 2 3 56

7

Business Process

© Graham McLeod tools99_SteveEditforPublish.prz 14 16-03-00

© Graham McLeod June 1999

A set of advanced toolsA set of advanced toolsDeveloped by Ulrich Frank and colleagues at GMD

Strategic ViewStrategic ViewValue chains. Goals.Value chains. Goals.

Corporate culture. Corporate culture. Strategic Options.Strategic Options.

Organisational Organisational ViewView

Tasks. Events. Roles. Tasks. Events. Roles. Office procedures. Office procedures. Objects. Business Objects. Business

rules.rules.

IS ViewIS ViewClasses. Procedures. Classes. Procedures.

User interfaces. User interfaces. Associations. Associations. Transactions.Transactions.

Object Model Object Model DesignerDesigner

Classes. Attributes. Classes. Attributes. Constraints. Default Constraints. Default Widgets. Services. Widgets. Services.

Associations.Associations.

Value Chain DesignerValue Chain Designer

Value Chains. Value Value Chains. Value Chain Activities. Chain Activities.

Resources. Costs.Resources. Costs.

Hypertext system

Common Common Object Object ModelModel

Office Procedure Office Procedure DesignerDesigner

Activity Blocks. Activity Blocks. Procedures. Procedures.

Documents. Roles. Documents. Roles. States. User interface. States. User interface.

Throughput.Throughput.

© Graham McLeod tools99_SteveEditforPublish.prz 15 16-03-00

© Graham McLeod June 1999

Value Chain AttributesValue Chain AttributesStakeholdersStakeholders

IdentityIdentityContributionContributionExpectationExpectation

StepsStepsInboundInboundOperationsOperationsOutboundOutboundMarketing and SalesMarketing and SalesServiceService

ProcessesProcessesProducts and ServicesProducts and ServicesPerformance LevelsPerformance Levels

MeasureMeasureCurrentCurrentRequiredRequired

Problems and ConcernsProblems and ConcernsOpportunitiesOpportunities

© Graham McLeod tools99_SteveEditforPublish.prz 16 16-03-00

© Graham McLeod June 1999

Linking Business and System Linking Business and System ModelsModels

..scan..

Enterprise Level

Value ChainBusiness Process

System Level Event Models

One

One per Major Business Event

One per Initiating Trigger

© Graham McLeod tools99_SteveEditforPublish.prz 17 16-03-00

Modeling Modeling Business ProcessesBusiness Processes

© Graham McLeod tools99_SteveEditforPublish.prz 18 16-03-00

© Graham McLeod June 1999

Sources of ideasSources of ideasPrevious work on integrating Memo and Martin/Odell OOA methodPrevious work on integrating Memo and Martin/Odell OOA method

Stakeholder modelsStakeholder modelsValue chain identification (ala Porter)Value chain identification (ala Porter)Business process models (ala GMD)Business process models (ala GMD)Integration to Martin/Odell event modelsIntegration to Martin/Odell event models

Design mapping to layered architecture based upon MVC Design mapping to layered architecture based upon MVC (Smalltalk/Xerox PARC)(Smalltalk/Xerox PARC)Classical BPR principles (Hammer, Champey, Davenport)Classical BPR principles (Hammer, Champey, Davenport)David Taylor (Enterprise Engines) convergent engineering approachDavid Taylor (Enterprise Engines) convergent engineering approachInspired Inspired Architecture Architecture and Strategy workand Strategy workUML variant in '98UML variant in '98

© Graham McLeod tools99_SteveEditforPublish.prz 19 16-03-00

© Graham McLeod June 1999

Two approaches:Two approaches:Document currentDocument current

Then analyse and improveThen analyse and improvePro'sPro's

Can be evolutionary, non disruptive, low riskCan be evolutionary, non disruptive, low riskDon't change what we don't understandDon't change what we don't understandAllows attacking the Allows attacking the realreal problem (80/20)problem (80/20)

Con'sCon'sCan require much work, timeCan require much work, timeCan incorporate too many current constraints Can incorporate too many current constraints

Design new from scratchDesign new from scratchTop down based upon desired outcomesTop down based upon desired outcomesPro'sPro's

"Blue sky" unconstrained by past experience"Blue sky" unconstrained by past experienceLateral "out of box" thinkingLateral "out of box" thinkingNew technology easily incorporatedNew technology easily incorporated

Con'sCon'sSolving wrong problemSolving wrong problemDisruptive and riskyDisruptive and riskyNot understanding the complexitiesNot understanding the complexities

Modeling the Business ProcessModeling the Business Process

© Graham McLeod tools99_SteveEditforPublish.prz 20 16-03-00

© Graham McLeod June 1999

Only do what we have toOnly do what we have to

Pareto principlePareto principleUse generic models/patterns for Use generic models/patterns for standard processes standard processes

Object maintenance (Add, Change, Delete, Query, Object maintenance (Add, Change, Delete, Query, Report)Report)Well understood parts of domain (scheduling, least Well understood parts of domain (scheduling, least cost analysis, delivery routing...)cost analysis, delivery routing...)

Concentrate on core value adding processesConcentrate on core value adding processesThat consume significant resourcesThat consume significant resourcesAre critical to desired product/service deliveryAre critical to desired product/service delivery

© Graham McLeod tools99_SteveEditforPublish.prz 21 16-03-00

© Graham McLeod June 1999

Same notation for Same notation for currentcurrent and and futurefutureShow Show complete business processcomplete business process including including manual, partially computerisedmanual, partially computerised and and fully automatedfully automated processes processesIndicate how process is Indicate how process is initiatedinitiatedIdentify Identify actorsactors involved involvedSequenceSequence and and dependenciesdependencies of activities of activities

Based uponBased upon state of business objects state of business objects affected affectedRequires high level business Requires high level business object domain modelobject domain model (class (class diagram)diagram)

Allow synchronous, asynchronous and parallel activitiesAllow synchronous, asynchronous and parallel activitiesShow possible Show possible outcomesoutcomes

which can which can triggertrigger other steps other steps Steps can represent other Steps can represent other embedded processesembedded processesMust be Must be instrumentedinstrumented to allow to allow analysisanalysis and and improvementimprovement

Business Process Model RequirementsBusiness Process Model Requirements

Student

Complete Applic.Form for Degree

Capture Form

Verify complete & rules adherence

Resolve missing info

Evaluate PostGrad Applic.

EvaluatePostGrad Applic.

Info missingPostGrad

UnderGrad

Acceptance or rejection

© Graham McLeod tools99_SteveEditforPublish.prz 22 16-03-00

© Graham McLeod June 1999

Usable with users, analysts and Usable with users, analysts and designers (and in JAD sessions)designers (and in JAD sessions)Familiar techniquesFamiliar techniquesWide support in industryWide support in industryObject orientationObject orientationCASE tool availabilityCASE tool availabilityEasy transition to rigorous design- Easy transition to rigorous design- level modelslevel modelsAbility to show location, Ability to show location, responsibilityresponsibilityAbility to link resourcesAbility to link resources

Business Process Model DesirementsBusiness Process Model Desirements

Student

Complete Applic.Form for Degree

Capture Form

Verify complete & rules adherence

Resolve missing info

Evaluate PostGrad Applic.

EvaluatePostGrad Applic.

Info missingPostGrad

UnderGrad

Acceptance or rejection

© Graham McLeod tools99_SteveEditforPublish.prz 23 16-03-00

© Graham McLeod June 1999

Finding a home within UMLFinding a home within UMLWe rejected We rejected

Sequence diagrams - not easy to use in JAD sessions, no parallel and Sequence diagrams - not easy to use in JAD sessions, no parallel and asynchronous activity. More appropriate at "design" level due to detailasynchronous activity. More appropriate at "design" level due to detailCollaboration diagrams - similar to aboveCollaboration diagrams - similar to aboveState diagrams - single object type. Business processes affect many types State diagrams - single object type. Business processes affect many types of objectsof objects

We chose We chose activity diagramsactivity diagramsSense of flow and dependenciesSense of flow and dependenciesShow parallel and asynchronous activity easily, also synchronisation Show parallel and asynchronous activity easily, also synchronisation where requiredwhere requiredSwim lanes allow geographic or organizational topology to be addedSwim lanes allow geographic or organizational topology to be addedRepresent processes requiring multiple state changes across various Represent processes requiring multiple state changes across various domain objectsdomain objectsClosest to event models used previously Closest to event models used previously Contrary to UML advice to use these "for internal design"Contrary to UML advice to use these "for internal design"Supported by Fowler and Scott in Supported by Fowler and Scott in UML DistilledUML Distilled

© Graham McLeod tools99_SteveEditforPublish.prz 24 16-03-00

© Graham McLeod June 1999

UML Activity DiagramUML Activity Diagram

Similar in concept to Odell Similar in concept to Odell event models with innovation event models with innovation of "swim lanes" for events of "swim lanes" for events affecting a particular classaffecting a particular class

"Customer Pays" is an "Customer Pays" is an external activity in the external activity in the processprocess

InvoiceCustomer

Ship Goods

ProcessPayment

OrderSatisfied

ReceiveOrder

Pick Product

CustomerPays

CloseOrder

[Order Accepted]

[Order Rejected]

© Graham McLeod tools99_SteveEditforPublish.prz 25 16-03-00

© Graham McLeod June 1999

Standard UML NotationStandard UML Notation

A.A.ActivityActivityB.B. External ActivityExternal ActivityC.C.TriggersTriggersD.D.Synchronisation BarSynchronisation BarE.E. AnnotationAnnotation

We use to note outcomes We use to note outcomes

F.F. Start and TerminateStart and TerminateG.G.Swim laneSwim lane

A

B

A

AF

F

D

[OK]

[NOT OK]

G

© Graham McLeod tools99_SteveEditforPublish.prz 26 16-03-00

© Graham McLeod June 1999

Denoting activity typesDenoting activity types

Extend by using UML stereotype Extend by using UML stereotype mechanism to denote type of activitymechanism to denote type of activity

Text Text <<manual>><<manual>><<supported>><<supported>><<automated>><<automated>><<embedded>><<embedded>>

IconsIcons

We tend to use rounded rectangles in place of ovals, since it easier to fit descriptive text..

ManualComputer Supported Manual

Fully Automated Embedded

+

+

© Graham McLeod tools99_SteveEditforPublish.prz 27 16-03-00

© Graham McLeod June 1999

Agents, Inputs, OutputsAgents, Inputs, Outputs

Agents (actors)Agents (actors)InternalInternalExternal External

Inputs and OutputsInputs and OutputsLinks between an Agent and an ActivityLinks between an Agent and an Activitynormally involve input or outputnormally involve input or outputOn high level models, we can just name them On high level models, we can just name them on the "flow" on the "flow" On more detailed models we can show them On more detailed models we can show them thus, and define their attributes in detailthus, and define their attributes in detail

Types define the medium e.g. Form, Online Types define the medium e.g. Form, Online entry, Magnetic Cardentry, Magnetic Card

IO Type

CourseResult

IO ID

© Graham McLeod tools99_SteveEditforPublish.prz 28 16-03-00

© Graham McLeod June 1999

A context or use case modelA context or use case model

Conduct Withdrawal

Funds Check

BankClient

Bank

ATMCard

Cash

AdviceSlip

© Graham McLeod tools99_SteveEditforPublish.prz 29 16-03-00

© Graham McLeod June 1999

TriggersTriggers

Activities are triggered byActivities are triggered byInput from AgentInput from AgentOutcome from another activityOutcome from another activityTime (reached or elapsed)Time (reached or elapsed)

End of Month

Charge Interest

© Graham McLeod tools99_SteveEditforPublish.prz 30 16-03-00

© Graham McLeod June 1999

Outcomes (high level models)Outcomes (high level models)

Expressed as an annotation emerging Expressed as an annotation emerging from an Activity to distinguish flow from an Activity to distinguish flow possibilitiespossibilitiesCan have a probability e.g. .2 or 20%Can have a probability e.g. .2 or 20%An activity can generate several An activity can generate several outcomes..outcomes..Sometimes these will be disjointSometimes these will be disjoint(i.e. only one of several may occur)(i.e. only one of several may occur)

We show this with a synchronisation We show this with a synchronisation barbar

Outcome specification will be more Outcome specification will be more rigorous later..rigorous later..

Assess Credit Risk

OK

BAD

Check Medical

Accept .8 Decline .2

InfoRequest

© Graham McLeod tools99_SteveEditforPublish.prz 31 16-03-00

© Graham McLeod June 1999

Business Process ModelBusiness Process Model

Complete Applic.Form for Degree

Capture Form

Resolve missing info

Evaluate PostGrad Applic.

Evaluate PostGrad Applic.

Info missingPostGrad

UnderGrad

Student Relations

Administration

Academic Dept.

Acceptance or rejection

Verify complete & rules adherence

Student

Application

.2

.6

.2

© Graham McLeod tools99_SteveEditforPublish.prz 32 16-03-00

© Graham McLeod June 1999

Selective InvocationSelective InvocationEither trigger could cause Either trigger could cause the statement to be the statement to be produced.produced.

End of Month

Statement Request

Produce Statement

Produce Statement will only be Produce Statement will only be triggered if a statement is requested triggered if a statement is requested and the account has a non-zero and the account has a non-zero balancebalance

Although default is "AND", the control condition can contain any evaluation required (see Rules)

Produce StatementStatement

Request

Update Account

Account Balance <> 0

© Graham McLeod tools99_SteveEditforPublish.prz 33 16-03-00

© Graham McLeod June 1999

RulesRules

Can be specified anywhereCan be specified anywhereAs simple text on high level modelsAs simple text on high level modelsOr identified by diamond with reference to rule baseOr identified by diamond with reference to rule baseClass names are highlightedClass names are highlightedAll data items mentioned should All data items mentioned should be defined in domain modelbe defined in domain model

If StockOnHand < ReorderLeveland no PURCHASE ORDER issuedthen ...

When QuantityOnHand < TotalDailyOrders for PRODUCTissue to CUSTOMERS with PriorityStatus 1 first, place BACKORDERS for CUSTOMERS not satisfied

StockOnHand = PhysicalStock - CommittedStock

© Graham McLeod tools99_SteveEditforPublish.prz 34 16-03-00

© Graham McLeod June 1999

ResourcesResources

Activities can consume Activities can consume resourcesresourcesResources can be specified in Resources can be specified in activity propertiesactivity propertiesbut can also be shown on the but can also be shown on the model if desiredmodel if desired

Link to activityLink to activityShow type if usefulShow type if usefulSpecify consumption per activity per Specify consumption per activity per passpass

Type or individual can specify number Type or individual can specify number available as a constraintavailable as a constraint

CounterAssistant

ResourceType

Fill Form

5 mins

© Graham McLeod tools99_SteveEditforPublish.prz 35 16-03-00

© Graham McLeod June 1999

Swim lanes and bounding boxesSwim lanes and bounding boxes

Can be used to showCan be used to showOrganizational responsibilityOrganizational responsibilityGeographic locationGeographic locationLogical Transaction Start and Logical Transaction Start and CommitCommitBusiness Objects AffectedBusiness Objects Affected(system level models)(system level models)Platform for deployment (design level models)Platform for deployment (design level models)

Could have several layers or overlays per modelCould have several layers or overlays per model

A

B

A

AF

F

D

[OK]

[NOT OK]

G

© Graham McLeod tools99_SteveEditforPublish.prz 36 16-03-00

© Graham McLeod June 1999

A real world exampleA real world example

Open Application

Record Application & AttachmentsApplicant

Receive Postal

Application

Record FeesReceived

Validate for Completeness

Record Return & Problem

Fees

No Fees

SeriousOmission

Establish ID of Applicant

Capture InitialDetails for newISIS person +

Validate/UpdateExisting Details +

Existing

New

Capture Application +

Too Late(Policy)

Note 1

Notes: 1. Name, What applied for, what attached, App form no, ID? 2. Capture supporting info, results, school history, Personal report

Post School experience, applications (academic, housing, funding)

Note 2

ISIS - Process ApplicationBusiness Process Model - Dec 1996

Page 1 of 2

Deposit Fees

Received +

Post Back to Applicant

To next sheet

© Graham McLeod tools99_SteveEditforPublish.prz 37 16-03-00

© Graham McLeod June 1999

Process PropertiesProcess Properties

Specified per diagramSpecified per diagramVolume per unit timeVolume per unit timeCurrent experienced duration Current experienced duration (best, average, worst)(best, average, worst)Current cost per invocationCurrent cost per invocationDesired target duration and costDesired target duration and costProcess OwnerProcess OwnerPlus all that is apparent from contained symbolsPlus all that is apparent from contained symbols

e.g. User community, related processes, inputs e.g. User community, related processes, inputs and outputs..and outputs..

© Graham McLeod tools99_SteveEditforPublish.prz 38 16-03-00

© Graham McLeod June 1999

Properties per ActivityProperties per Activity

Minimum, average and maximum duration (current, target)Minimum, average and maximum duration (current, target)Lead time before commencementLead time before commencementOrganizational responsibilityOrganizational responsibilityResources consumedResources consumed

type, unit of measure and consumption (min max avg)type, unit of measure and consumption (min max avg)

Number of serversNumber of serversGeographic location(s)Geographic location(s)Cost of performing the activity once (current, target)Cost of performing the activity once (current, target)For triggers emerging from an activity, state for each path For triggers emerging from an activity, state for each path and probability that it is followed (and probability that it is followed (11=certainty)=certainty)

© Graham McLeod tools99_SteveEditforPublish.prz 39 16-03-00

© Graham McLeod June 1999

Analysis FacilitatedAnalysis Facilitated

Determining duration of overall processDetermining duration of overall processCritical Path Method techniques (ex. Project Management)Critical Path Method techniques (ex. Project Management)Project Evaluation and Review Techniques (PERT) can Project Evaluation and Review Techniques (PERT) can determine likelihood of various timesdetermine likelihood of various timesFor online, take one transactionFor online, take one transactionFor batch, calculate runtime for all togetherFor batch, calculate runtime for all together

Cost of performing the processCost of performing the processSelected cost times path probabilities (1 time) Selected cost times path probabilities (1 time) X volume to get overall costsX volume to get overall costs

© Graham McLeod tools99_SteveEditforPublish.prz 40 16-03-00

© Graham McLeod June 1999

More AnalysisMore Analysis

Resources consumedResources consumedQueuing effects can be examinedQueuing effects can be examined

Queuing will occur if arriving requests take longer Queuing will occur if arriving requests take longer to process than the arrival intervalto process than the arrival interval

Can look at an average overall or individual Can look at an average overall or individual scenarioscenarioVarious alternative scenarios easily comparedVarious alternative scenarios easily compared

What if we replace mail with e-mail?What if we replace mail with e-mail?What if we fully automate routine cases?What if we fully automate routine cases?

© Graham McLeod tools99_SteveEditforPublish.prz 41 16-03-00

© Graham McLeod June 1999

Assurance Domain ModelAssurance Domain ModelEmp History

ClientWill

Occup.

Mar Type

Enterprise

LegalPerson

Real Person

CCTrust

Co P'ship

Consultant

Visit

Dis- ability

Invest- ment

Life Cover

Role

With- drawal

Benefit

Contract

Proff.IndividGroup Foreign

Collection

Fin.Inst

Attorney

Insurer

Debit Order

StopOrder

Med. Schem.

ProvFund

Life

Pension

RAAnnuity

Medical

UnitTrust

Term

LifeChildren

Spouse

Doctor

MedicalReport

Employer

Attorney

Co-DirPartner

e.g. Policy Owner Life Assured Payer Beneficiary

*0..1

*

**

**

*

*

*

*

**

*

* *

1 **

1

*

*

*

*

RoleType

*

ContractType

*

© Graham McLeod tools99_SteveEditforPublish.prz 42 16-03-00

© Graham McLeod June 1999

An Assurance Application An Assurance Application

Complete Application

Form

Application Completeness

Check

Application Capture

Poll Applications per Branch

Capture Medical

Underwrite

Check Bank Details

Issue Contract

Advise ClientCredit

Commission

Assess Medical

RejectedLow Risk

High Risk

Not OK

OK

Load Premium

Client Premises Branch Office Head Office

Client/Agent

Doctor

FormApp1

Initial Medical Report

© Graham McLeod tools99_SteveEditforPublish.prz 43 16-03-00

© Graham McLeod June 1999

Assurance Current Process AnalysisAssurance Current Process Analysis

Best case duration 3 days 38 minsBest case duration 3 days 38 minsAverage duration 3 days 1 hr 12 minsAverage duration 3 days 1 hr 12 minsAverage cost R326 (about US$ 72)Average cost R326 (about US$ 72)Longest delay: waiting for medical reportLongest delay: waiting for medical reportNo major savings by speeding up head office No major savings by speeding up head office processesprocessesFully automated functions much cheaper than Fully automated functions much cheaper than computer supported onescomputer supported ones

Automation will save costsAutomation will save costs

Head office Underwriting is under staffedHead office Underwriting is under staffed

© Graham McLeod tools99_SteveEditforPublish.prz 44 16-03-00

© Graham McLeod June 1999

Module ReferencesModule References

Comcon, 1986, The Tetrarch/1 Strategic Information Comcon, 1986, The Tetrarch/1 Strategic Information Planning Methodology, Comcon (Pty) Ltd. Planning Methodology, Comcon (Pty) Ltd. Frank, Ulrich, 1994, Memo: A tool Supported Frank, Ulrich, 1994, Memo: A tool Supported Methodology for Analyzing and (Re-) Designing Business Methodology for Analyzing and (Re-) Designing Business Information Systems, in Ege, R; Singh, M; Meyer, B (Hg): Information Systems, in Ege, R; Singh, M; Meyer, B (Hg): Technology of Object Oriented Languages and Systems, Technology of Object Oriented Languages and Systems, Prentice Hall pp 367-380Prentice Hall pp 367-380Jacobson, Ivar; Ericsson, Maria & Jacobson, Agneta, 1994, Jacobson, Ivar; Ericsson, Maria & Jacobson, Agneta, 1994, The Object Advantage: Business Process Reengineering The Object Advantage: Business Process Reengineering with Object Technology, Addison Wesleywith Object Technology, Addison WesleyRobson, Wendy, 1997, Strategic Management & Robson, Wendy, 1997, Strategic Management & Information Systems (Second Edition), Pitman PublishingInformation Systems (Second Edition), Pitman Publishing

© Graham McLeod tools99_SteveEditforPublish.prz 45 16-03-00

Business EngineeringBusiness Engineering

© Graham McLeod tools99_SteveEditforPublish.prz 46 16-03-00

© Graham McLeod June 1999

In this moduleIn this module

We willWe willLook at the pressures facing business Look at the pressures facing business Identify some "classic" BPR approaches Identify some "classic" BPR approaches Explore a few case studiesExplore a few case studiesLook at BPR principles and opportunitiesLook at BPR principles and opportunitiesExplore the emerging concepts of Convergent EngineeringExplore the emerging concepts of Convergent Engineering

Linked Business/IT developmentLinked Business/IT developmentSustainable re-engineeringSustainable re-engineeringSelf optimizing processesSelf optimizing processes

See how to balance innovation and process improvementSee how to balance innovation and process improvement

You willYou willRe-engineer a business process, reflecting the changes in a Re-engineer a business process, reflecting the changes in a business process modelbusiness process model

© Graham McLeod tools99_SteveEditforPublish.prz 47 16-03-00

© Graham McLeod June 1999

The changing shape of the The changing shape of the organizationorganization

SlowDistortingInefficient

LeanFlexibleEffective

© Graham McLeod tools99_SteveEditforPublish.prz 48 16-03-00

© Graham McLeod June 1999

Serial vs Parallel flowSerial vs Parallel flow

© Graham McLeod tools99_SteveEditforPublish.prz 49 16-03-00

© Graham McLeod June 1999

Debunking the MythsDebunking the MythsInformation can only be in one place at a timeInformation can only be in one place at a time Shared DatabaseShared Database

CommsCommsOnly experts can perform complex workOnly experts can perform complex work Expert SystemsExpert Systems

Must choose between centralised and decentralised Must choose between centralised and decentralised Comms NetworksComms Networks

Managers make all decisionsManagers make all decisions DSSDSSEmpowered StaffEmpowered Staff

Field offices required to support personnel and formsField offices required to support personnel and forms Wireless CommsWireless CommsCellular PhonesCellular PhonesNotebooksNotebooks

Personal contact with clients is vitalPersonal contact with clients is vital e-mail, tele / video e-mail, tele / video conference, EDIconference, EDI

Manual tracking of progress/ movementManual tracking of progress/ movement Tracking systemsTracking systemsTranspondersTransponders

Plans revised on fixed infrequent cyclePlans revised on fixed infrequent cycle Ongoing adaptationOngoing adaptationRapid Rapid CommunicationCommunication

Adapted in part from Hammer & Champy, Reengineering the Corporation

© Graham McLeod tools99_SteveEditforPublish.prz 50 16-03-00

© Graham McLeod June 1999

Business Re-Engineering Business Re-Engineering Looks at ways in which business can be Looks at ways in which business can be changed...changed...

to be more effective in delivering value and service to to be more effective in delivering value and service to customerscustomersenhancing benefits for other stakeholders through...enhancing benefits for other stakeholders through...

innovationinnovationimproved qualityimproved qualitygreater efficiencygreater efficiencyfaster responsefaster responserapid adaptabilityrapid adaptability

Looks at technology as an enabler to implement, Looks at technology as an enabler to implement, support and accelerate these changessupport and accelerate these changesCuts across traditional Organizational and system Cuts across traditional Organizational and system boundariesboundariesFocuses on the customer, stakeholders and the Focuses on the customer, stakeholders and the value chain(s) producing value to these groupsvalue chain(s) producing value to these groups

Slow Business is No Business !

© Graham McLeod tools99_SteveEditforPublish.prz 51 16-03-00

© Graham McLeod June 1999

Ford Purchase Management - Ford Purchase Management - BeforeBefore

Purchasing

Supplier

Materials

AccountsPayable

Head Office

Plant

Purchase Order 2

Purchase Order 3

Payment 7

Invoice 5

Receipt 6

Goods 4

Request 1

500 staffComplex reconcilliationVery slow

© Graham McLeod tools99_SteveEditforPublish.prz 52 16-03-00

© Graham McLeod June 1999

Ford Purchase Management - AfterFord Purchase Management - After

Materials

Supplier

Plant

Head Office

Rejections

Purchase Order

Cheque

Goods

Staff reduction by 75%Quality of delivery ++Very quick turnaround

ComputerSystem Inventory

DatabaseProductionSchedule

© Graham McLeod tools99_SteveEditforPublish.prz 53 16-03-00

© Graham McLeod June 1999

Hammer's BPR PrinciplesHammer's BPR PrinciplesOrganize around outcomes, not tasksOrganize around outcomes, not tasksHave those who use the output of the process perform Have those who use the output of the process perform the processthe processSubsume information processing work into the real work Subsume information processing work into the real work that produces the informationthat produces the informationTreat geographically dispersed resources as though they Treat geographically dispersed resources as though they were centralisedwere centralisedLink parallel activities instead of Link parallel activities instead of integrating their resultsintegrating their resultsPut the decision point where the work Put the decision point where the work is performed, and build control into the processis performed, and build control into the processCapture information once, and at the sourceCapture information once, and at the source

© Graham McLeod tools99_SteveEditforPublish.prz 54 16-03-00

© Graham McLeod June 1999

BPR at Mutual Benefit LifeBPR at Mutual Benefit Life

Case Case ManagerManager

Case Case ManagerManager

Case Case ManagerManager

UnderwriterUnderwriter

PhsyicianPhsyicianExpert Expert SystemSystem

Expert Expert SystemSystem

Expert Expert SystemSystem

DatabasesDatabases

PCsPCs

MFMF

Case Managers have fullCase Managers have fullautonomyautonomyGood turnaround - 4hrsGood turnaround - 4hrsAvg 2 - 5 daysAvg 2 - 5 days100 field office positions 100 field office positions eliminatedeliminatedDouble volume of work handledDouble volume of work handled

Source: M Hammer, HBR, 1990Source: M Hammer, HBR, 1990

© Graham McLeod tools99_SteveEditforPublish.prz 55 16-03-00

© Graham McLeod June 1999

Five Steps in BPRFive Steps in BPRDavenport & Short, Sloan Management Review, 1990 Davenport & Short, Sloan Management Review, 1990 suggest:suggest:

Develop business vision and process objectivesDevelop business vision and process objectivesIdentify processes to be redesignedIdentify processes to be redesignedUnderstand and measure the existing Understand and measure the existing processesprocessesIdentify I.T. leversIdentify I.T. leversDesign and Prototype the new processDesign and Prototype the new process

To which we add:To which we add:Ensure consultation and buy-in of affected partiesEnsure consultation and buy-in of affected partiesMeasure effectiveness of new process as "proof of concept"Measure effectiveness of new process as "proof of concept"Ensure scalability and repeatabilityEnsure scalability and repeatabilityMarket and routinizeMarket and routinize

© Graham McLeod tools99_SteveEditforPublish.prz 56 16-03-00

© Graham McLeod June 1999

A re-engineered process A re-engineered process

ISIS - Progress/Review ApplicationBusiness Process Model - Dec 1996

DepositArriving

RecordDeposit

Examine overall status of application. Advise parties on change in

status

Offer Accepted

FundingConfirmed

Missing Information Received

Results Received

Change of Application

CaptureAcceptance

RecordFunding

Capture Information

+

Update Affected

Applicants

Issue new ofer

ApplicationRecorded

AcademicHousing

IndividualDeposit

ExternalFunding

UniversitySources

112

23

4567

89

1011

DAILY

Rules

Change Offer

Status

Withdraw Offer

Advise Applicant +

Refer Decisions +Bi

g Ev

alua

tion

This process should be about 2/3 Automated moving up to about 85% with full implementation of AARP.

Routine Decisions to be grouped , exceptionshighlighted for attention

© Graham McLeod tools99_SteveEditforPublish.prz 57 16-03-00

© Graham McLeod June 1999

Divergent Models of Business and Divergent Models of Business and SoftwareSoftware

Leads to inaccurate translationLong project timesUnresponsive to BusinessDifficult to change

© Graham McLeod tools99_SteveEditforPublish.prz 58 16-03-00

© Graham McLeod June 1999

Adaptive Software DevelopmentAdaptive Software Development

Business DomainBusiness Domain

Technical DomainTechnical Domain

Time

Opera-tions

Opera-Opera-tionstions

SupportSupportsystemsystem

SupportSupportSystemSystem

Adapted from Dr David Taylor, Enterprise Engines Inc.

Requires: Rich Models High Fidelity, Rapid Conversion of Models to Executable systems Ability to "Simulate the Business"

© Graham McLeod tools99_SteveEditforPublish.prz 59 16-03-00

© Graham McLeod June 1999

A Layered ArchitectureA Layered Architecture

SALES SERVICING

PRODUCT DEVELOPMENT

Views &Controls

BusinessModels

LegacySystems

Models must fully expressbusiness objects, rulesMust be modifiable in real timeInclude: Information, Workflow/Process, Integration with Legacy,Business rules/constraints,Financial and other measuresConcurrent "now" and "alternate" scenarios

Consistent model must support: Representation, Simulation,Execution

© Graham McLeod tools99_SteveEditforPublish.prz 60 16-03-00

© Graham McLeod June 1999

A "flat" design

A design with "chunks"

Architecture Approach reduces Architecture Approach reduces complexitycomplexity

© Graham McLeod tools99_SteveEditforPublish.prz 61 16-03-00

© Graham McLeod June 1999

Design of Design of complete business processcomplete business process including including manual, partially computerisedmanual, partially computerised and and fully automatedfully automated processes processes

Control mechanisms Control mechanisms (constraints, (constraints, responsibilities (of individuals and responsibilities (of individuals and workgroups)) and estimated timing and workgroups)) and estimated timing and costs of activities - allow comparison of costs of activities - allow comparison of alternative approachesalternative approaches

Use Use concept ofconcept of outcomes and outcomes and document statesdocument states, where "documents" , where "documents" can be rich hypertext or composite can be rich hypertext or composite documents including a variety of classes documents including a variety of classes and abstract data typesand abstract data types

Business Process DesignBusiness Process Design

Student

Complete Applic.Form for Degree

Capture Form

Verify complete & rules adherence

Resolve missing info

Evaluate PostGrad Applic.

EvaluatePostGrad Applic.

Info missingPostGrad

UnderGrad

Acceptance or rejection

© Graham McLeod tools99_SteveEditforPublish.prz 62 16-03-00

© Graham McLeod June 1999

Automated dispatchingAutomated dispatching and queuing of and queuing of documents to clerks and other agents documents to clerks and other agents can later be supported via workflow toolscan later be supported via workflow tools

A A procedure managerprocedure manager can can monitor performance and handle monitor performance and handle exceptions: exceptions: - think about how to tell if the - think about how to tell if the process is working effectively process is working effectively from a business perspective from a business perspective

Performance model Performance model can be can be built to determine what information built to determine what information is needed to perform each process optimallyis needed to perform each process optimally

Above two elements should be added to Above two elements should be added to Domain ModelDomain Model

Business Process DesignBusiness Process Design

Student

Complete Applic.Form for Degree

Capture Form

Verify complete & rules adherence

Resolve missing info

Evaluate PostGrad Applic.

EvaluatePostGrad Applic.

Info missing

PostGrad

UnderGrad

Acceptance or rejection

© Graham McLeod tools99_SteveEditforPublish.prz 63 16-03-00

© Graham McLeod June 1999

Complete Application

Form

Capture Medical

Underwrite

Check Bank Details

Issue Contract

Advise ClientCredit

Commission

Assess Medical

RejectedLow Risk

High Risk

Not OK

OK

Load Premium

Client Premises Head Office

Client/Agent

Doctor

Doctor Premises

Branch eliminatedReps have notebooks and cellphonesMedical reports via internetLater Head Office processes fully automatedBest case duration 2 hr 27 minAverage cost reduced to R213 (US$ 47)Substantial resource savings

Reengineered Assurance ProcessReengineered Assurance Process

© Graham McLeod tools99_SteveEditforPublish.prz 64 16-03-00

© Graham McLeod June 1999

Why BPR can failWhy BPR can failLack of management commitment and follow Lack of management commitment and follow throughthroughTargeting too many areasTargeting too many areasLack of measurementLack of measurementJobs are threatenedJobs are threatenedLoss of core competenciesLoss of core competenciesNo change from command and control to No change from command and control to empowermentempowermentLack of adequate or timely I.T. supportLack of adequate or timely I.T. supportLack of involvement by stakeholders at all levelsLack of involvement by stakeholders at all levelsInternal rather than external focusInternal rather than external focusNot doing the necessary training, counsellingNot doing the necessary training, counsellingNot changing the incentive systemsNot changing the incentive systems

© Graham McLeod tools99_SteveEditforPublish.prz 65 16-03-00

© Graham McLeod June 1999

InnovationInnovationNew IdeasNew IdeasRadicalRadicaln n x changex changeUnreliableUnreliableInvasiveInvasiveHigh RiskHigh Risk"Western""Western"

BPRRAD

© Graham McLeod tools99_SteveEditforPublish.prz 66 16-03-00

© Graham McLeod June 1999

Continuous Improvement - Continuous Improvement - KaizenKaizen

Slow, incremental Slow, incremental improvementsimprovements..n n times improvementtimes improvementReliableReliableNot disruptiveNot disruptiveSustainableSustainable TQM

Sw EngCMM

© Graham McLeod tools99_SteveEditforPublish.prz 67 16-03-00

© Graham McLeod June 1999

Combining for sustainable, rapid Combining for sustainable, rapid improvementimprovement

One-time radical change One-time radical change leading to..leading to..FrameworkFrameworkInnovation in isolated cellsInnovation in isolated cellsKaizen in cells and in Kaizen in cells and in overall processoverall processProve innovations via pilot Prove innovations via pilot before deploymentbefore deployment

© Graham McLeod tools99_SteveEditforPublish.prz 68 16-03-00

© Graham McLeod June 1999

Defined Process

DefinedProduct

Perform Process

QualityCheck

CollectResults,Measure

Norms andHistory

Review and Revise

Evaluate Pilot Measure Integrate

Innovations

ResearchGroupn people

Process& MethodsSupport2n people

Project Teams20n people

Sustainable Innovation ModelSustainable Innovation Model

© Graham McLeod tools99_SteveEditforPublish.prz 69 16-03-00

© Graham McLeod June 1999

Module ReferencesModule References

Davenport, T H, 1993, Process Innovation: Re-engineering Work through Davenport, T H, 1993, Process Innovation: Re-engineering Work through Information Technology, Harvard Business School PressInformation Technology, Harvard Business School PressFrank, Ulrich, 1994, Memo: A tool Supported Methodology for Analyzing and (Re-) Frank, Ulrich, 1994, Memo: A tool Supported Methodology for Analyzing and (Re-) Designing Business Information Systems, in Ege, R; Singh, M; Meyer, B (Hg): Designing Business Information Systems, in Ege, R; Singh, M; Meyer, B (Hg): Technology of Object Oriented Languages and Systems, Prentice Hall pp 367-380Technology of Object Oriented Languages and Systems, Prentice Hall pp 367-380 Hammer, Michael, 1990, Hammer, Michael, 1990, Re-Engineering Work: Don't Automate, Obliterate, Re-Engineering Work: Don't Automate, Obliterate, Harvard Business Review, July-Aug p 104-12Harvard Business Review, July-Aug p 104-12Jacobson, Ivar; Ericsson, Maria & Jacobson, Agneta, 1994, The Object Advantage: Jacobson, Ivar; Ericsson, Maria & Jacobson, Agneta, 1994, The Object Advantage: Business Process Reengineering with Object Technology, Addison WesleyBusiness Process Reengineering with Object Technology, Addison WesleyMcLeod, Graham, 1998, Extending UML for Enterprise and Business Process McLeod, Graham, 1998, Extending UML for Enterprise and Business Process Modeling, UML'98 Conference, Mulhouse, FranceModeling, UML'98 Conference, Mulhouse, FrancePorter, M E, and Millar, V E, 1985, How Information gives you Competitive Porter, M E, and Millar, V E, 1985, How Information gives you Competitive Advantage, Harvard Business Review, July-Aug pp 149-60Advantage, Harvard Business Review, July-Aug pp 149-60Taylor, David, Business Engineering with Object Technology, John WileyTaylor, David, Business Engineering with Object Technology, John Wiley

© Graham McLeod tools99_SteveEditforPublish.prz 70 16-03-00

System level modelsSystem level models

© Graham McLeod tools99_SteveEditforPublish.prz 71 16-03-00

© Graham McLeod June 1999

Data Data and and ProcessProcess are integrated are integratedFinancial ModelsFinancial Models can be integrated directly in behaviour of can be integrated directly in behaviour of business objectsbusiness objectsSimulation Simulation can be achieved by using a copy of a model with can be achieved by using a copy of a model with simulated inputs, or a changed copy of a model with real simulated inputs, or a changed copy of a model with real inputsinputsWork flow Work flow models are easily implemented and allow tasks models are easily implemented and allow tasks to evolve from being manual to automated over timeto evolve from being manual to automated over timeLayering Layering helps isolate effects of changeshelps isolate effects of changesWrappering Wrappering allows us to leverage or squeeze out legacy allows us to leverage or squeeze out legacy components over time while maintaining servicecomponents over time while maintaining service

Objects help integrate modelsObjects help integrate models

© Graham McLeod tools99_SteveEditforPublish.prz 72 16-03-00

© Graham McLeod June 1999

Outcomes (system level models)Outcomes (system level models)

We need to rigorously consider the effect of We need to rigorously consider the effect of activities on underlying objects (domain, and at a activities on underlying objects (domain, and at a design level, technical)design level, technical)Expressed as an annotation emerging from an Expressed as an annotation emerging from an Activity of the form:Activity of the form:[Object Type][State][Object Type][State]All such effects are expressedAll such effects are expressedActivities which affect the state of more than Activities which affect the state of more than one object type are further decomposed till they one object type are further decomposed till they do affect just one object typedo affect just one object typeDiscrete states potentially Discrete states potentially reached by a given object type reached by a given object type are linked by a synchronisation barare linked by a synchronisation barAll Object Types named must exist in the All Object Types named must exist in the domain modeldomain model

Capture Application

Client Created

ApplicationRecorded

© Graham McLeod tools99_SteveEditforPublish.prz 73 16-03-00

© Graham McLeod June 1999

Activity decomposition exampleActivity decomposition example

Process Sale

+

Reorder Stock

Stock Ordered

Transaction RecordedStock Below Reorder LevelCustomer Updated

Transaction Recorded Decrease

Stock

Stock Below Reorder Level

Debit Customer

Customer Updated Generate

InvoiceRecord Transaction

Client PurchaseRequest

© Graham McLeod tools99_SteveEditforPublish.prz 74 16-03-00

© Graham McLeod June 1999

Pre- and Post-ConditionsPre- and Post-Conditions

It is inefficient and cognitively messy to have all the It is inefficient and cognitively messy to have all the invokersinvokers of an of an operation check the parameters passed.operation check the parameters passed.The checking should be done in the The checking should be done in the receiver,receiver, where it occurs once. where it occurs once.If the Preconditions are not met, the receiver returns an error If the Preconditions are not met, the receiver returns an error message and does nothing else.message and does nothing else.

This This provides very good modularityprovides very good modularityis fail-safe and is fail-safe and promotes reuse...promotes reuse...

... leading to economical, conceptually simpler software...... leading to economical, conceptually simpler software...

... which is more reliable and easier to maintain.... which is more reliable and easier to maintain.

Request Result

Preconditions form a filter

© Graham McLeod tools99_SteveEditforPublish.prz 75 16-03-00

© Graham McLeod June 1999

Typical Outcomes (Event Types)Typical Outcomes (Event Types)

An object is An object is createdcreated

An object is An object is deleteddeleted

An object is An object is reclassifiedreclassified

Instances of collections are Instances of collections are addedadded or or droppeddropped

The The statestate of an object is changed by of an object is changed by updating attributesupdating attributes

An An external eventexternal event is processed is processede.g. We get input from the screen or the user clicks on an objecte.g. We get input from the screen or the user clicks on an object

Event

© Graham McLeod tools99_SteveEditforPublish.prz 76 16-03-00

© Graham McLeod June 1999

Design Level ModelsDesign Level Models

Add technical eventsAdd technical eventsShow inputs and outputs to/from user interfaceShow inputs and outputs to/from user interfaceMake use of frameworks and infrastructure componentsMake use of frameworks and infrastructure componentse.g. workflow, logging, controlse.g. workflow, logging, controlsDecompose so no activities affect more than one object Decompose so no activities affect more than one object type => methodstype => methodsAdd logical transaction boundariesAdd logical transaction boundariesCan indicate platform allocation or geographic splitCan indicate platform allocation or geographic splitWith resources and volumes can be used for capacity With resources and volumes can be used for capacity planning, performance estimatingplanning, performance estimatingAccommodate existing system and data assetsAccommodate existing system and data assets

© Graham McLeod tools99_SteveEditforPublish.prz 77 16-03-00

Mapping to Layered Mapping to Layered Architecture DesignArchitecture Design

© Graham McLeod tools99_SteveEditforPublish.prz 78 16-03-00

© Graham McLeod June 1999

In this moduleIn this module

We willWe willExplore the Model, View and Controller approach to designExplore the Model, View and Controller approach to design

Introduce concepts of how toIntroduce concepts of how toMap requirements (captured in the system level event Map requirements (captured in the system level event models) onto the MVC layered architecturemodels) onto the MVC layered architectureThis is a form of "responsibility driven design" which helps us This is a form of "responsibility driven design" which helps us place behaviour in the right classesplace behaviour in the right classesThe Business Object Domain Model will be enhanced with The Business Object Domain Model will be enhanced with behaviours on the existing classes and you will define new behaviours on the existing classes and you will define new classes to manage business processesclasses to manage business processes

Legacy components will be incorporated via wrapperingLegacy components will be incorporated via wrappering

© Graham McLeod tools99_SteveEditforPublish.prz 79 16-03-00

© Graham McLeod June 1999

Model, View and ControllerModel, View and Controller

View

Controller

Model

Object Storage

Windows, Display Objects, Visual Windows, Display Objects, Visual ComponentsComponents

Business Process Logic, RulesBusiness Process Logic, RulesTransaction Logic, Current Transaction Logic, Current StateState

Business Domain ObjectsBusiness Domain ObjectsPersistent ObjectsPersistent ObjectsEnduring Business (integrity Enduring Business (integrity constraints and rules)constraints and rules)

© Graham McLeod tools99_SteveEditforPublish.prz 80 16-03-00

© Graham McLeod June 1999

ViewView

Responsible for providing the user interfaceResponsible for providing the user interfaceContains instances of system or vendor provided classes or Contains instances of system or vendor provided classes or customized componentscustomized componentsHandles basic events which are related to GUI or interface onlyHandles basic events which are related to GUI or interface only

Minimize, maximise, drag, size a windowMinimize, maximise, drag, size a windowScroll a list or pageScroll a list or pagePop up a menu etcPop up a menu etc

Communicates business events to the Controller layerCommunicates business events to the Controller layerOnce screen is full, pressing the "OK" buttonOnce screen is full, pressing the "OK" buttonMenu item selection Menu item selection Drag drop in direct manipulation interfaceDrag drop in direct manipulation interface

© Graham McLeod tools99_SteveEditforPublish.prz 81 16-03-00

© Graham McLeod June 1999

ControllerControllerCreates the user interface (view) layer and activates itCreates the user interface (view) layer and activates itWaits for events Waits for events Processes business events Processes business events Implements transaction controlImplements transaction controlCoordinates effects by sending messages to the model, and results back to the Coordinates effects by sending messages to the model, and results back to the viewviewCan be at two levels:Can be at two levels:

Start Create Customer A Agent1 Branch10 ProductX End Tx Sale Debit PayCommission AddSale decreaseStock Tx

Technical (normally provided by framework or class library)Technology specific Could be GUI, text interactive or batch interface

Business (normally user written)Not technology specific

© Graham McLeod tools99_SteveEditforPublish.prz 82 16-03-00

© Graham McLeod June 1999

ModelModel

Contains the Domain Class ObjectsContains the Domain Class ObjectsUser developed classesUser developed classes

Models the business via simulationModels the business via simulationObjects are persistentObjects are persistent

Normally live on a databaseNormally live on a database

May implement enduring business May implement enduring business constraints/rulesconstraints/rulesCan contain legacy components via Can contain legacy components via "wrappers""wrappers"

© Graham McLeod tools99_SteveEditforPublish.prz 83 16-03-00

© Graham McLeod June 1999

Views &Controls

BusinessProcesses

DomainObjects

Process ApplicationProcess Application

Legacy Systems

WrapperWrapper Persistent Objects

GUI desktop clients Intranet Internet

Pay CommissionPay Commission

Polic

y

Agen

t

Clie

nt

Object Object Object Object ApplicationApplicationApplicationApplicationServerServerServerServer

Gat

eway

Gat

eway

Legacy RelationalData

Object Storage

Layered Application ArchitectureLayered Application Architecture

© Graham McLeod tools99_SteveEditforPublish.prz 84 16-03-00

© Graham McLeod June 1999

Models and the architectureModels and the architecture

Process ApplicationProcess Application

Legacy Systems

WrapperWrapper

Persistent ObjectsPersistent Objects

GUI desktop clientsGUI desktop clients IntranetIntranet InternetInternet

Pay CommissionPay Commission

Polic

yPo

licy

Agen

tAg

ent

Clie

ntC

lient

Gat

eway

Gat

eway Domain Model

not avail

available

Receive Reservation

Request

Advise Client

Book Seat

Seat Reserved

Logic ofprocess

IndividualMethodResponsibilities

System Event Model

ProtoType

ClassStructureandRelation-ships

Layered Design

© Graham McLeod tools99_SteveEditforPublish.prz 85 16-03-00

© Graham McLeod June 1999

Multiple "Controllers"Multiple "Controllers"The controller layer may be further subdivided into additional layersThe controller layer may be further subdivided into additional layers

In one approach we separate platform dependent issues into a In one approach we separate platform dependent issues into a "technical controller" and business logic into another layer"technical controller" and business logic into another layer

Improves portability and ease of changing business logicImproves portability and ease of changing business logic

The same business logic layer can support various interfaces, e.g. GUI, The same business logic layer can support various interfaces, e.g. GUI, Internet Browser and BatchInternet Browser and Batch

For large systems, we will not have a monolithic controller with many For large systems, we will not have a monolithic controller with many methods, but define new classes permethods, but define new classes per business process business process. These can . These can encapsulate the necessary status information, hold the methods to encapsulate the necessary status information, hold the methods to implement the business process, and implement the "process implement the business process, and implement the "process manager" concept. Business Process Classes will be added to the manager" concept. Business Process Classes will be added to the Object Model built during domain modelingObject Model built during domain modeling

© Graham McLeod tools99_SteveEditforPublish.prz 86 16-03-00

© Graham McLeod June 1999

Module ReferencesModule References

Bourne, John, 1992, Object Oriented Engineering: Building Enginering Bourne, John, 1992, Object Oriented Engineering: Building Enginering Systems Using Smalltalk-80. Richard D Irwin, Homewood, Ill.Systems Using Smalltalk-80. Richard D Irwin, Homewood, Ill.Goldberg, Adele, 1983, Smalltalk-80: The Interactive Programming Goldberg, Adele, 1983, Smalltalk-80: The Interactive Programming Environment. Addison-Wesley, Menlo Pk, CA. Environment. Addison-Wesley, Menlo Pk, CA. Khoshafian, Setrag, 1990, Object Orientation: Concepts, Languages, Khoshafian, Setrag, 1990, Object Orientation: Concepts, Languages, Databases, User Interfaces, John Wiley & Sons, NYDatabases, User Interfaces, John Wiley & Sons, NYMartin, James, 1993, Principles of Object Oriented Analysis and Martin, James, 1993, Principles of Object Oriented Analysis and Design, Prentice Hall, Englewood Cliffs, NJDesign, Prentice Hall, Englewood Cliffs, NJParcPlace Digitalk, 1995, VisualWorks User Guide, ParcPlace Digitalk, ParcPlace Digitalk, 1995, VisualWorks User Guide, ParcPlace Digitalk, Sunnyvale, CASunnyvale, CAVoss, Greg, 1991, Object Oriented Programming, an Introduction. Voss, Greg, 1991, Object Oriented Programming, an Introduction. McGraw-Hill, Berkeley, CAMcGraw-Hill, Berkeley, CA

© Graham McLeod tools99_SteveEditforPublish.prz 87 16-03-00

© Graham McLeod June 1999

ConclusionConclusionThe approach presented has evolved over some 7 years of research and The approach presented has evolved over some 7 years of research and consulting practiceconsulting practiceIt has proven capable and practical for use by average developers in commercial It has proven capable and practical for use by average developers in commercial organizationsorganizationsIt is accessible to business personnel without a heavy technical background. The It is accessible to business personnel without a heavy technical background. The essence of models can be built quickly in interactive facilitated (JAD) sessions with essence of models can be built quickly in interactive facilitated (JAD) sessions with groups of users and analystsgroups of users and analystsThe approach addresses several areas not well covered by other popular OO The approach addresses several areas not well covered by other popular OO methods, viz:methods, viz:

System dynamicsSystem dynamicsModeling beyond the "systems box" to include business issuesModeling beyond the "systems box" to include business issuesBusiness and process engineering Business and process engineering Inclusion of inputs, outputs and resources at a business levelInclusion of inputs, outputs and resources at a business levelRigorous mapping of dynamics to domain modelRigorous mapping of dynamics to domain modelSeamless mapping of system dynamic models to layered design architectureSeamless mapping of system dynamic models to layered design architecture

We have developed a prototype CASE tool to implement the core modeling We have developed a prototype CASE tool to implement the core modeling approachesapproaches

© Graham McLeod tools99_SteveEditforPublish.prz 88 16-03-00