object oriented business process analysis
TRANSCRIPT
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
© 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
© 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