OOAD and UML
- 7. Page 7Classification: Restricted
Business / I.T. faced
with
Globalization
Demandsfor efficiency
Demandsfor flexibility andrapid innovation
Requirement for high quality and service
Technology discontinuity
RReesskiilllng
70%plus projects in consulting experience have
reengineering element
- 8. Page 8Classification: Restricted
Process focus
Resource
Organization
Process
1950 1960 1970 1980 1990 2000
Generations of Business Modeling
Simplifying operations
Reducingcycle times
Increasing addedvalue
Cutting costs
Improving reliability
Tightening vendor
relatiioonnsshhips
Focusingon core
competencies
- 10. Page 10Classification: Restricted
In this module
We will
Seewhy Enterprise Modeling is useful
Introduce
Stakeholder andValue Chain concepts andmodels
An approach to BusinessModeling from GMD iinGermaannyy
A simple BusinessProcessModeling notation
Laythe founddaationfor future BusinessEngiineering("BPR")
You will
Build astakeholder model
Model anexisting business process
- 11. Page 11Classification: Restricted
Enterprise
Modelling
Efficiency is doing things right
Effectiveness is doing the right things
Enterprise Modelling helps us to:
Keep projjects anddevellopmentsalliignedwiith Corporate Goalls
Identify highpaybackapplications to applyscarceresources
Prioritise development from the perspective of businessneed
andtechnicalimperative
Scooppeeproojjeecctsaannddssyystems
Variety of techniques including:
Critical Success Factors (CSF's) [Rockart]
Functional Decomposition [I.E., Tetrarch,
Infomet, Method/1]
Value CChhaaiinnAAnnaallysis[Porterr]]
UseCases[Jacobson]
- 12. Page 12Classification: Restricted
Stakeholder Perspective
Client
Share
holder
Money
Capital
Growth
Dividends
The EnterpriseGoods &
Services
Payment
Investment
Effort/Knowledge
Employee
Remuneration
Benefits
Goods &
Services
Supplier
- 13. Page 13Classification: Restricted
Porter Value Chain
model
Information management
Firm Infrastructure
Human Resource Management
Technology Development
Procurement
Inbound
Logistics
Operations Outbound
Logistics
Marketing
& Sales
Service
Margin
SupportActivities
- 14. Page 14Classification: Restricted
Value Chaiin cuts across
functional 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
1 2 3 5
6
7
4
Business Process
- 15. Page 15Classification: Restricted
A set of advanced tools
Developed by Ulrich Frank and colleagues at GMD
Strategic View
Value chains. Goals.
Corporate culture.
Strategiic Options.
Organisational
View
Tasks. Events.
Offiice proced
Objjects. Bus
Roles.
ures.
iness
rules.
IS View
Classes. Procedures.
User interfaces.
Associiations.
Transactions.
Object Model
Designer
Classes. Attributes.
Constraiints. Default
Widgets. Services.
Associations.
Value Chain Designer
Value C
Chaiin
Resour
hains. Vallue
Activities.
ces. Costs.
Hypertext system
Common
Object
Model
Office Procedure
Designer
Activity Bllocks.
Procedures.
Documents. Rolles.
States. User interface.
Throughput.
- 16. Page 16Classification: Restricted
Value Chain Attributes
• Stakeholders
Identity
Contribution
Expectation
•Steps
•Inbound Operations
Outbound Marketiing
and Sales Service
Processes
Products andServices
Performance Levells
Measure
Current
Required
Problems andConcerns
Oppppoorrttuunniitiieess
- 17. Page 17Classification: Restricted
Linking Business and System
Models
..scan..
Enterprise Level
Value Chain
Business Process
System
Level Event
Models
One
One per
Major
Business
Event
One per
Initiating
Trigger
- 19. Page 19Classification: Restricted
Sources of ideas
Previous work on integrating Memo andMartin/Odell OOA method
Stakehollder modells
Value chain identificatiion (allaPorter)
Businessprocess models (ala GMD)
Integratiion to Martiin//Odeellllevent modeellss
Design mappingto layered architecture basedupon MVC
(Smalltalk/Xerox PARC)
Classical BPRprinciples (Hammer, Champey, Davenport)
DaavidTayylloor((EEnnterpriisseeEEnnggiinneess))ccoonnvveergentenggiineeeeriinnggapprooaacchh
Inspired Architecture andStrategy work
UML variant in ''98
- 20. Page 20Classification: Restricted
Two apppprrooaacchheess::
Document current
Then analyse and improve
Pro's
Can be evolutionary, non disruptive, low risk
Don't change what we don't understand
Allows attacking the real problem (80/20)
Con's
Can require much work, time
Can incorporate too many current constraints
Design new from scratch
Top ddoowwnbbaasseedduuppoonnddeessiiredoouuttccoommeess
Pro's
"Blue sky" unconstrained by past experience
Lateral "out of box" thinking
New technology easily incorporated
Con's
Solving wrong problem
Disruuppttiivveand risky
Not understanding the complexities
Modeling the Business
Process
- 21. Page 21Classification: Restricted
Only do what we
have to
Pareto principle
Usegeneric models/patterns for
standard processes
Object maintenance(Add, Change,Delete, Query,
Report)
Well understood parts of domain (scheduling, least
coosstanalysis,deliveryrouting...)
Concentrate on core vallueaddiing processssess
That consumesignificant resources
Are critical to desired product/servviicceedelivery
- 22. Page 22Classification: Restricted
Samenotation for current andfuture
Show complete business process
including manual, partiiallllycomputeriised and
fully automated processes
Indicate how process is initiated
Identify actors involved
Sequence anddependencies of activities
Basedupon state of business objects affected
Requires high level busiinessobject domain model (class
diagram)
Allow synchronous, asynchronous andparaallllellaacctiivviitiiess
Show possibleoutcomes
which cantrigger other steps
Steeppssccaannreeppreessentothheerembedded processes
Must be instrumented to allow analysis and improvement
Business Process Model
Requirements
Student
Complete
Applic.Form
for Degree
Capture
Form
Verify
complete
& rules
adherence
Resolve
missing
info
PostGrad
Applic.
Evaluate
PostGrad
Applic.
Info
missing
PostGrad Evaluate
UnderGrad
Acceptance
or rejection
- 23. Page 23Classification: Restricted
Usablewith users, analystsand
designers(and in JAD sessions)
Familiar techniques
Wide support in industry
Object orientatiion
CASEtool availability
EEaassyttrraannssiitiioonnto riiggooroouusddeessiiggnn--
level models
Ability to show location,
reessppoonnssiibbiilliity
Ability to link resources
Business Process Model
Desirements
Student
Complete
Applic.Form
for Degree
Capture
Form
Verify
complete
& rules
adherence
Resolve
missing
info
PostGrad
Evaluate
PostGrad
Applic.
Info
missing
PostGrad Evaluate
Applic.
UnderGrad
Acceptance
or rejection
- 24. Page 24Classification: Restricted
Finding a home within
UML
We rejected
Sequencediagrams - not easyto useiinJJADssessssiions,,no parallllelland
asynchronous activity. More appropriate at "desiign"llevelldue to detail
Collaboratiion diiagrams- siimiillarto above
State diagrams - single object type..Busiinessprocesses affect manytypes
of objects
We chose activity diagrams
Senseof flow and dependencies
Show parallllellandasynchronous activiity eassiilly,,allsosynchroniisatiion
wwhheerereeqquuiireedd
Swim lanes allow geographic or organiizatiionall toppology to be aaddeed
Represent processes requiriing mulltiple state changes across variiouss
domain objects
Closest to event models usedpreviiouslly
CCoonnttrraryto UUMMLLaaddvviicceeto uusseethheessee""ffooriinnternnaallddeessiiggn"
Supported by Fowler andScott in UMLDistilled
- 25. Page 25Classification: Restricted
UML Activity Diagram
Similar in concept to Odell
event modellswiith iinnovation
of "swim lanes" for events
affecting aparticular class
"Customer Pays" is an
external activity in the
process
Ship
Goods
Process
Payment
Order
Satisfied
Receive
Order
Pick
Product
Invoice
Customer
Customer
Pays
Close
Order
[Order Accepted]
[Order Rejected]
- 26. Page 26Classification: Restricted
Standard UML Notatiion
A.Activity
B.ExternallActiiviity
C.Triggers
D.Synchronisation Bar
E.Annotation
We useto note outcomes
F.Start andTermiinate
G.Swim lane
A
B
A
AF
F
D
[OK]
[NOT OK]
G
- 27. Page 27Classification: Restricted
Denoting activity types
Extend by usingUML stereotype
mechanism to denote type of activity
Text
<<manual>>
<<supported>>
<<automated>>
<<embedded>>
Icons
We tend to userounded rectangles in place of ovals, since it easier to fit
descriptive text..
Manual
Computer
Supported
Manual
Fully
Automated
Embedded
+
+
- 28. Page 28Classification: Restricted
Agents, Inputs, Outputs
Agents (actors)
Internal
External
Inputs and Outputs
Links between anAgent andanActivity
normally involve input or output
On high level moddeellss,wweeccaannjjuusstnamethem
on the "fllow"
On more detaiiled modellswe canshow them
thus, anddefine their attributes indetail
TTyyppeesdefinneethe mmeeddiume..gg..FFoorm,Online
entry, Magnetic Card
IO Type
Course
Result
IO ID
- 31. Page 31Classification: Restricted
Outcomes (high level
models)
Expressedasanannotation emerging
from anActivity to distinguish flow
possibilities
Canhaveaprobability e.g..2 or 20%
An activity cangenerate several
outcomes..
Sometimes these will bedisjoint
((ii..ee..oonnllyyoonneeooffsseevveeraallmmaayyooccccuur)
We show this with asynchronisation
bar
Outccoommeessppeecciiffiiccaatiioonnwwiillllbbeemmore
rigorous later..
AssessCredit
Risk
OK
BAD
Check
Medical
Accept .8 Decline .2
Info
Request
- 32. Page 32Classification: Restricted
Business Process
Model
Complete
Applic.Form
for Degree
Capture
Form
Resolve
missing
info
Evaluate
PostGrad
Applic.
Evaluate
PostGrad
Applic.
Info
missing
UnderGrad
Student
Relations
Administration
Academic
Dept.
Acceptance
or rejection
Verify
complete
& rules
adherence
Student
Application
.2
.6 PostGrad
.2
- 33. Page 33Classification: Restricted
Selective Invocation
Either trigger could cause
the statement to be
produced.
End of
Month
Statement
Request
Produce
Statement
Produce Statement will only be
triggered if a statement is requested
aannddtthheeaaccccoouunntthhaassa nnoonn--zzeerroo
balance
Although default is "AND",
the control condition can
contain any evaluation
required (see Rules)
Produce
StatementStatement
Request
Update
Account
Account
Balance <> 0
- 34. Page 34Classification: Restricted
Rules
Can be specified anywhere
As simple text on high level models
Or identified by diamond with reference to rule base
Classnamesare highlighted
All data items mentioned should
be defined in domain model
If StockOnHand < ReorderLevel
and no PURCHASE ORDER issued
then ...
StockOnHand = PhysicalStock- CommittedStock
When QuantityOnHand < TotalDailyOrders for PRODUCT
issue to CUSTOMERS with PriorityStatus 1 first,
place BACKORDERS for CUSTOMERS not satisfied
- 35. Page 35Classification: Restricted
Resources
Activities canconsume
resources
Resources canbespecified in
activity properties
but canalso beshown on the
model if desired
Link to activity
SShhoowwtyyppeeiiffuusseeffuul
Specifyconsumption per activity per
pass
Type or individual canspecify number
available asa connsstraint
Counter
Assistant
Resource
Type
5 mins
Fill Form
- 36. Page 36Classification: Restricted
Swim lanes and bounding
boxes
Canbeusedto show
Organizational responsiibiilliity
Geographic location
LogicalTransaction Start and
Commit
BusinessObjects Affected
(system level models)
Platform for deployment (designlevel models)
CCoouullddhavesseevveerallllayersor overllaayyssppeermodell
B
A
AF
F
D
[OK]
A
[NOT OK]
G
- 37. Page 37Classification: Restricted
A real world example
Open
Application
Record
Application &
AttachmentsApplicant
Receive
Postal
Application
Record Fees
Received
Validate for
Completeness
Record Return &
Problem
Fees
No Fees
Serious
Omission
Establish ID of
Applicant
Capture Initial
Details for new
ISIS person +
Validate/Update
Existing Details
+
Existing
New
Capture
Application +
TooLate
(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 Application
Business Process Model - Dec 1996
Page 1 of 2
Deposit
Fees
Received
+
Post Back to
Applicant
- 38. Page 38Classification: Restricted
Process Properties
Specified per diagram
Volume per unit time
Current experiiencedduratiionn
(best, average, worst)
Current cost per invocation
Desired target duration andcost
Process Owner
Plusall that is apparent from contained symbols
e.g.User community, related processes, inputs
and outputs..
- 39. Page 39Classification: Restricted
Properties per Activity
Minimum, averageandmaximum duration (current, target)
Leadtime before commencement
Organizational responsibility
Resources consumed
type, unit of measure andconsumption (min maxavg)
Number of servers
Geograpphhiiccllooccaation(s)
Cost of performing the activity once (current, target)
For ttriggersemerggiinggfrom aanaacctiivviityy,,state fforeaachpath
andprobability that it is followed(1=certainty)
- 40. Page 40Classification: Restricted
Analysis Facilitated
Determining duration of overall process
Critical PathMethod techniques (ex. Project Management)
Project Evaluation andReviewTechniques(PERT)can
determine likelihood of various times
For onlliine,take one ttranssactiion
For batch,,callcullateruntime for all together
Cost of performing the process
SSeellecteeddccoossttiimmeessppaathproobbaabbiilliitiieess(1 timme)X
volume to get overall costs
- 41. Page 41Classification: Restricted
More Analysis
Resources consumed
Queuing effects canbe examined
Queuing will occur if arriving requests take longer
to processssthan the arrrriivvaalliinntervvaall
Canlook at anaverageoverallllor iindiivviiduaall
scenario
Various alternative scenarios easily compared
What if we replace mail with e-mail?
What if we fully automate routiine cases?
- 42. Page 42Classification: Restricted
Assurance Domain
ModelEmp History
Client
Will
Mar
Type
Enterprise
Legal
Person
Real
Person
CCTrust
Co P'ship
Consultant
Visit
Dis-
ability
Invest-
ment
Life
Cover
Role
With-
drawal
Proff.IndividGroup Foreign
Collection
Fin.Inst
Attorney
Insurer
Med.
Schem.
Prov
Fund
Life
Pension
RAAnnuity
Medical
Unit
Trust
Term
Life
Stop
Order
Debit
Order
Children
Spouse
Doctor
Medical
Report
Employer
Attorney
Co-Dir
Partner
e.g. Policy Owner
Life Assured
Payer
Beneficiary
0..1
*
*
*
*
Occup.
*
*
*
*
* * * *
*
* *
1 *
*
1
Benefit
*
*
Contract *
*
Role
Type
*
Contract
Type
*
- 43. Page 43Classification: Restricted
An Assurance
Application
Completeness
Check
Application
Capture
Poll
Applications
per Branch
Capture
Medical
Underwrite
Advise Client
Credit
Commission
Assess
Medical
Rejected
Low Risk
Not OK Check Bank
Details
OK
Issue
Contract
High Risk
Load
Premium
Client Premises
Complete
Application
Form
Branch Office
Application
Head Office
Client/
Agent
Doctor
Form
App1
Initial Medical Report
- 44. Page 44Classification: Restricted
Assurance Current Process
Analysis
BBeesstccaasseedduuratiioonn3 days38 mins
Averageduratiion 3 dayss1 hr 1122miinnss
Averagecost R326(about US$72)
Longest delay:waiting for medical report
No major savingsby speedingup headoffice
processes
FFuullyautomated functions much cheaper than
computer supported ones
Automation will save costs
Head ooffffiicceeUnderwriting is uunnddeerstaffffed
- 46. Page 46Classification: Restricted
In this module
We will
Look at the pressuresfacing business
Identify some"classic" BPRapproaches
Explore afew case studies
Look at BPRprinciples andopportunities
Explore the emergingconcepts of Convergent Engineering
Linked Business/ITdevelopment
SSuusstainnaabblleere--eennggineeriinngg
Selfoptimizingprocesses
Seehow to balanceinnovation andprocess improvement
You will
RRee--eennggiinneeeerabbuussiinneessssproocceessss,,reflectinggthheecchhaannggeessin a
businessprocessmodel
- 49. Page 49Classification: Restricted
Debunking the Myths
Information can only be in one place at a time Shared Database
Comms
Only experts can perform complex work Expert Systems
Must choose between centralised and decentralised Comms Networks
Managers make all decisions DSS
Empowered Staff
Field offices required to support personnel and forms Wireless Comms
Cellular Phones
Notebooks
PPeerrssoonnaalccoonnttaaccttwith clients is vital e-mail, tele / video
conference, EDI
Manual tracking of progress/ movement Tracking systems
Transponders
Plans revised on fixed infrequent cycle Ongoing adaptation
Rapid
Communication
Adapted in part from Hammer & Champy, Reengineering the Corporation
- 50. Page 50Classification: Restricted
Business Re-Engineering
Looks at waysin which businesscanbe
changed...
to be more effffectiivveeiinnddeelliivveeriinnggvvaalluueeaannddsseervviicceto
customers
enhancingbenefits for other stakehollders through......
innovatiion
improved quality
greater efficiency
faster response
rapid adaptability
Loookkssat technology asanenabler to implement,
support andaccelerate these changes
Cuts across traditional Organizational andsystem
boundaries
FFooccuusseesson the ccuusstoommeer,stakeholders andthe
value chain(s) produciing vallueto these groups
Slow Business is
No Business !
- 51. Page 51Classification: Restricted
Ford Purchase Management -
Before
Purchasing
Supplier
Materials
Accounts
Payable
Head Office
Plant
Purchase
Order
2
Payment
7
Invoice
5
Receipt
6
Goods
4
Request
1
Purchase Order
3
500 staff
Complex reconcilliation
Very slow
- 52. Page 52Classification: Restricted
Ford Purchase Management -
After
Supplier
Plant
Head Office
Materials
Rejections
Purchase Order
Cheque
Goods
Staff reduction by 75%
Quality of delivery ++
Very quick turnaround
Computer
System
Inventory
Database
Production
Schedule
- 53. Page 53Classification: Restricted
Hammer''s BPR
Principles
•Organiize around outcomes, not tasks
•Havethose who usethe output of the process perform the process
•Subsume informatiion processiing work iinto the
reall work that produces the information
• Treat geographically dispersed resources asthough they were centraliised
•LLiinnkkppaaraalllleellaacctiivviitiieess
iinnssteeaaddooffintegrating their
results
• Put the decision point where the work
•is perfformed, and buiilld control into the process
•Capture iinfformatiion once,, and at the source
- 54. Page 54Classification: Restricted
BPR at Mutuall Beneffiit
Liiffe
Case
Manager
Case
Manager
Case
Manager
Underwriter
Phsyician
Expert
System
Expert
System
Expert
System
Databases
PCs
MF
Case Managers have full
autonomy
Good turnaround - 4hrs
Avg 2 - 5 days
100 field office positions
eliminated
Double volume of work handled
Source: M Hammer, HBR, 1990
- 55. Page 55Classification: Restricted
Five Steps in BPR
Davenport& Short,SloanManagementReview,1990 suggest:
Develop businessvision andprocess objectives
Identify processes to beredesigned
Understand andmeasurethe existing
processes
Identify I.T. levers
Design andPrototype the new process
TToowwhhiicchhwweeaaddd:
Ensureconsultation andbuy-in of affected parties
Measure effectiveness of new process as"proof of concept"
Ensurescalability andrepeatability
MMaarketand routiinniizze
- 56. Page 56Classification: Restricted
A re-engineered process
ISIS - Progress/Review Application
Business Process Model - Dec 1996
Deposit
Arriving
Record
Deposit
Examine
overall status
of application.
Advise parties
on change in
status
Offer
Accepted
Funding
Confirmed
Missing
Information
Received
Results
Received
Change of
Application
Capture
Acceptance
Record
Funding
Capture
Information
+
Update
Affected
Applicants
Issue new
ofer
Application
Recorded
AcademicHousing
Individual
Deposit
External
Funding
University
Sources
12
2
3
4
7 6 5
9
8
11 1
10DAILY
Rules
Change
Offer
Status
Withdraw
Offer
Advise
Applicant +
Refer
Decisions +
This process should be about 2/3
Automated moving up to about 85% with
full implementation of AARP.
Routine Decisions
to
be grouped ,
exceptions
highlighted for
attention
- 58. Page 58Classification: Restricted
Adaptive Software
Devellopment
TecchniiccaallDomaiin
Time
Opera-
tions
Opera--
tions
Support
ssyystem
Support
SSyysstem
Adapted from Dr David Taylor, Enterprise Engines Inc.
Business Domain
Requires: Rich Models
High Fidelity, Rapid Conversion of Models to Executable systems
Ability to "Simulate the Business"
- 59. Page 59Classification: Restricted
A Layered Architecture
SALES SERVICING
PRODUCT DEVELOPMENT
Views &
Controls
Business
Models
Legacy
Systems
Models must fully express
business objects, rules
Must be modifiable in
real time
Include: Information,
Workflow/Process,
Integration with Legacy,
Business rules/constraints,
Financial and other
measures
Concurrent "now" and
"alternate" scenarios
Consistent model must support: Representation, Simulation,
Execution
- 61. Page 61Classification: Restricted
Design of complete business process
including manual, partially computerised
andfully automatedprocesses
Control mechanisms (constraints,
responsibilities (of individuals and
workgroups)) andestimated tiimiingaand
costs of activities - allow comparison of
alternative approaches
Use concept of outcomes and
document states, where "documents"
canbe rich hypertext or compossiite
documents including avariety of classes
andabstraacctdatatypes
Business Process Design
Student
Complete
Applic.Form
for Degree
Verify
Capture complete
Form & rules
adherence
Resolve
missing
info
PostGrad
Applic.
Evaluate
PostGrad
Applic.
Info
missing
PostGrad Evaluate
UnderGrad
Acceptance
or rejection
- 62. Page 62Classification: Restricted
Automated dispatching andqueuing of
documents to clerks andother agents
canlater be supported viiaworkffllow toolls
A procedure manager can
monitor performance andhandle
exceptions:
- think about how to tell if the
process is working effectively
from a bbuussiinneessssperssppeecctive
Performance model can be
built to determiine what iinfformatiion
is needed to perform eachprocess optimally
Above two elements should be added to Domain Model
Business Process Design
Student
Complete
Applic.Form
for Degree
Capture
Form
Verify
complete
& rules
adherence
Resolve
missing
info
Evaluate
PostGrad
Applic.
Evaluate
PostGrad
Applic.
Info missing
PostGrad
UnderGrad
Acceptance
or rejection
- 63. Page 63Classification: Restricted
Complete
Application
Form
Capture
Medical
Underwrite
Advise Client
Credit
Commission
Assess
Medical
Rejected
Low Risk
High Risk
Not OK Check Bank
Details
OK
Issue Contract
Load
Premium
Client Premises Head Office
Client/
Agent
Doctor
Doctor Premises
Branch eliminated
Reps have notebooks and cellphones
Medical reports via internet
Later Head Office processes fully automated
Best case duration 2 hr 27 min
Average cost reduced to R213 (US$ 47)
Substantial resource savings
Reengineered Assurance
Process
- 64. Page 64Classification: Restricted
Why BPR can fail
Lackof management commitment andfollow
through
Targeting too manyareas
Lackofmeasurement
Jobsare threatened
Lossof corecompetencies
No changefrom command andcontrol to
empowerment
Lackof adequate or timely I.T.support
Lackof involvement by stakeholders at all levels
Internall rather than external ffocus
Not doing the necessarytraining, counselling
Not cchhanggiinnggthheiinncceenntiivvessyyssteemmss
- 67. Page 67Classification: Restricted
Combiiniing ffor sustaiinablle,, rapiid
improvement
One-time radiicallchange
leading to..
Framework
Innovation in isolated cells
Kaizen in cells andin
oovveeraallllproocceessss
Prove innovations viapilot
before deployment
- 70. Page 70Classification: Restricted
Data andProcessareintegrateedd
FinancialModelscanbeintegrated directly in behaviour of
business objects
Simulationcanbeachieved by usingacopy of amodel with
simulated inputs, or achangedcopy of amodel with real
inputs
Work flowmodels are easiillyiimpllemented andallllowtasks
to evolve from being manualto automated over time
Layeringhelps isolate effects of changes
Wrapperingallows usto leverage or squeezeout legacy
ccoommppoonneenntsoovveertime whilleemmaaiinntaininggsseervviiccee
Objects help integrate
models
- 71. Page 71Classification: Restricted
Outcomes (system level
models)
We needto rigorously consider the effectof
activities on underlying objects (domain, andat a
designlevel,techniicall)
Expressedasanannotation emerging from an
Activity of the fform:
[Object Type][State]
All sucheffects areexpressed
Activities which affect the state offmore thaannone
object type are ffurrtthheerddeeccoomppoosseeddtiillllthheeyydo
affect jjuusstoonneeoobbjjeeccttype
Discrete states potentially
reached by agivenobject type
are linked by asynchronisatiion bar
All Object Typesnamedmust exist in the
domain model
Capture
Application
Client
Created
Application
Recorded
- 72. Page 72Classification: Restricted
Activity decomposiitiion
examplle
Process
Sale
+
Reorder
Stock
Stock
Ordered
Transaction
Recorded
Stock Below
Reorder Level
Customer
Updated
Transaction
Recorded
Decrease
Stock
Stock
Below
Reorder
Level
Debit
Customer
Customer
Updated Generate
Invoice
Record
Transaction
Client
Purchase
Request
- 73. Page 73Classification: Restricted
Pre- and Post-Conditions
It is inefficient andcognitively messyto haveall the invokersof an
operation check the parameters passed.
The checking should be done in the receiver,where it occurs once.
If the Preconditions are not met, the receiiver retur nssan errrror
messageanddoes nothingelse.
This
provides very good modullarity
iisffaaiill--ssaaffeeaanndd
promotes reeuussee......
... leading to economical, conceptually simpler software...
... which ismore reliable andeasier to maintain.
Request Result
Preconditions
form a filter
- 74. Page 74Classification: Restricted
Typical Outcomes (Event
Types)
An object is created
An object is deleted
An object is reclassified
Instances of collections are addedor dropped
The stateof anobject is changedby updatingattributes
An externaleventis processed
e.g.We get input from the screen or the user clliicksson anobjject
Event
- 75. Page 75Classification: Restricted
Design Level Models
Add technical events
Showinputs andoutputs to/from userinterface
Makeuseof frameworks andinfrastructurecomponents
e.g.workflow, logging,controls
Decompose so no activities affect more than one object
type =>methods
AAddllooggicaltraannssaactiioonbboouunnddaries
Canindicate platform allocation or geographic split
With resources andvolumes canbe usedfor capacity
planning, performance estimating
Accommodate existing systemanddata assets
- 77. Page 77Classification: Restricted
In this module
We will
Explore the Model, View andController approach to design
Introduce concepts of how to
Maprequirements (captured in the systemlevel event
models) onto the MVC layered architecture
This is aform of "responsibility driven design" which helpsus
place behaviour in the right classes
The BusinessObject Domain Model will beennhhaanncceeddwith
behaviours on the existing cllassesandyou wiilllldeffiinenew
classesto managebusiinessprocessssess
Legacycomponents will beincorporated viawrappering
- 78. Page 78Classification: Restricted
Model, View and
Controller
View
Controller
Model
Object
Storage
Windows, Display Objects, Visual
Components
Business Process Logic, Rules
Transaction Logic, Current
State
Business Domain Objects
PPeerrssiisstteennttOObbjjeeccttss
Enduring Business (integrity
constraints and rules)
- 79. Page 79Classification: Restricted
View
Responsible for providing the user interface
Contains instances of systemor vendor provided classesor
customized components
Handles basicevents which are related to GUIIor iinterffaacceeoonnllyy
Minimize, maximise, drag, sizeawindow
Scroll alist or page
Popup amenuetc
Commmmuunniiccaateessbbuussiinneessssevents to thheeCCoonnttrroollllerllaayyeer
Once screen is full, pressingthe "OK" button
Menu item selection
Drag drop in direct manipulation interfface
- 80. Page 80Classification: Restricted
Controller
Creates the user iinterffaaccee((vviieew))llaayyeeraannddaacctiivvaateessit
Waiitsfforeveents
Processesbusinessevents
Implements transactioncontroll
Coordiinates effects by ssendiingmessagesto thheemoddeell,,aannddreessuulltsbbaacckkto thhee
view
Canbeat two llevells::
Start Create
Tx Sale
Customer A
Debit
Agent1 Branch10
PayCommission AddSale
ProductX End
decreaseStock Tx
Technical (normally provided by framework or classlibrary)
Technology specific
Could be GUI, text interactive or batch interface
Business(normally userwritten)
Not technology specific
ham McLeod June1999
- 81. Page 81Classification: Restricted
Model
Contains the Domain Class Objects
User developedclasses
Models the businessviasimulation
Objects are persiistent
Normally live on adatabase
Mayimplement enduring business
consttrraaiinntss//ruulleess
Cancontain legacycomponents via
"wrapperss""
- 83. Page 83Classification: Restricted
Models and the
architecture
Process Application
Legacy Systems
Wrapper
Persistent Objects
GUI desktop clients Intranet Internet
Pay Commission
Client
Gateway
Domain Model
not avail
available
Receive
Reservation
Request
Advise
Client
Book
Seat
Seat Reserved
Logic of
process
Individual
Method
Responsibilities
System Event Model
Proto
Type
Class
Structure
and
Relation-
ships
Layered Design
- 84. Page 84Classification: Restricted
Multiple "Controllers"
The controller layer maybe further subdivided into additional layers
In one approach we separate platfform dependent issuesiinto a
"technical controller" andbusinesslogic into anotherlayer
Improves portabiilliity andeaseoffchangiingbusiinessllogiic
The samebusinesslogic layer cansupport various interfaces, e.g.GUI,
Internet Browser and Batch
For large systems,we will not haveamonolithic controller with many
methods, but define new classesper business process. These can
encapsulate the necessarystatussiinfformaationn,,hhoollddthheemeethhooddssto
implement the businessprocess,,andiimpllement the ""process
mmaannaaggeer"ccoonncceeppt.BusinessProcess CCllaasseswill be aadddedto the
Object Model built during domain modeling
- 85. Page 85Classification: Restricted
Conclusion
The approach presented hasevolved over some7 yearsoffresearcchaand
consulting practice
It hasproven capablleandpractical for useby averagedevellopersin commercial
organiizatiions
It iisaccessiiblleto bussiinessssperssonnellwiithout aheavytechniicallbackground..The
essenceof models canbebuilt quickly in interactive facilitated (JAD) sessionswith
groups of users and anallysts
The approach addressesseveralareasnot well covered by other popular OO
methods, viz:
System dynamics
MMooddeellingbeyondthe "syyssteemmssbbooxx""to incclluuddeebusinessissues
Businessandprocess engineeriing
Inclusion of inputs,,outputs andresources at abusinesslevel
Rigorous mappingof dynamicsto domaiinmodell
Seamlessmappingof systemdynamicmodelsto layered design archiitecture
We hhaavveeddeevveellooppeeddaprototyyppeeCCAASSEEtoooollto iimmppllementthheeccooremmooddeelliinngg
approaches