Advanced Domain Modeling - PowerPoint PPT Presentation

1 / 43
About This Presentation
Title:

Advanced Domain Modeling

Description:

Coad, Lefebvre and De Luca, PTR-PH 1999. History January 1999. http://www. ... But yet, a craft - perfected over time. DNC is reliable and repeatable ... – PowerPoint PPT presentation

Number of Views:40
Avg rating:3.0/5.0
Slides: 44
Provided by: conference71
Category:

less

Transcript and Presenter's Notes

Title: Advanced Domain Modeling


1
Advanced Domain Modeling
  • Architecting for Agility with Color Models
  • David J. Anderson
  • Program Manager, Microsoft
  • dander_at_microsoft.com

Based on the work of Peter Coad, Stephen R.
Palmer and others
2
Objectives
  • Peter Coad and Patterns
  • A brief history of how color modeling came about
  • Archetypes and the Domain Neutral Components
  • Modeling for Agility
  • Loose coupling and Law of Demeter
  • Advances in Color Modeling since 1999
  • The role of ltltrolegtgts
  • Getting the blues
  • Whole-part relationships
  • Patterns of color communicate architecture smells
  • Enterprise components from color models

3
History - 1992
4
History - 1995
Object Models Strategies, Patterns
Applications, 1st ed., Coad, Mayfield North,
Yourdon Press, Prentice Hall, 1995
5
History Spring 1997
  • Moment or Interval a generalization of the idea
    of a transaction e.g.
  • Warranty Period
  • Period of Employment
  • Loan Approval Request
  • Funds Disbursement

still referred to as Transaction in, Object
Models Strategies, Patterns Applications, 2nd
ed., Coad, Mayfield North, Yourdon Press,
Prentice Hall, 1997
6
History September 1997
Color instantly communicates the pattern of class
relationships to the viewer
If the colors are not configured in the correct
pattern then there are strong clues that the
model could be improved!
7
Dec 1998 Archetypes
Philip Bradley argues for Archetypes not
stereotypes.
a model from which all things of the same kind
more or less follow
rather than
a conventional, formulaic, over-simplified
conception, opinion or image
And that, all business flows should or ought to
be basically the same.
Data Model Patterns - Conventions of
Thought, David Hay, Dorset House, 1996
The Universal Data Model
Phil Bradley was Development Manager Persistence
Layer, PowerLender Project, United Overseas Bank,
Singapore 1997 - 1999
8
History January 1999
9
Architecture Board
10
Component Map
11
Archived Iteration
12
Definition of an Agile Model
  • Elegant
  • Enough to get the job done and no more
  • Extensible
  • Loosely coupled
  • Robust and resilient to change
  • Communicates clearly

In anything at all, perfection is finally
attained not when there is no longer anything to
add, but when there is no longer anything to take
away
Antoine de Saint Exupery
13
Behavior of Colors
assessPerformance() salesMadeInPeriod()
averageSalesOverPeriod() assessAccuray() assessSpe
ed() isActive() isSuspended()
totalValue() isComplete() isUrgent()
_findByIdNumber() _findByName() isOfType() getVal
ue() assessAcrossRoles() listRolesPlayedBy()
totalUnitsAvailable() totalUnitsManufactured() ass
essRoleAllowed()
Courtesy Stephen R. Palmer
  • Instances of Archetypes share similar attributes
  • Instances of Archetypes share similar methods

14
Where do ltltRolegtgts come from?
OK!
Better!
15
Naming Conventions for Roles
  • When no domain specific term for a ltltrolegtgt
    exists use the template
  • PersonPlaceThing In Moment-Interval
  • Or, GreenInPink e.g.
  • ItemInSale

Note the actual aggregating ltltMoment-Intervalgtgt
is used for naming rather than the ltltMI-Detailgtgt
16
Roles and Inheritance
Courtesy Stephen R. Palmer
17
Inherit from a Role superclass
Courtesy Stephen R. Palmer
18
Manage roles with a description
Courtesy Stephen R. Palmer
19
Subsequent Roles
Courtesy Stephen R. Palmer
20
Moment-Intervals get the Blues
  • Missing from the original DNC in 1999
  • Pink Classes can have Descriptions just like
    Greens

21
Whole-Part Relationships
22
Color Differences Can Be OK
(A) This model has a whole-part color conflict
but it is not wrong. It is simply less flexible
and more coupled
(B) This model resolves the color conflict and is
more loosely coupled but requires 2 more classes
23
Just Plain Wrong
  • Some color combinations in Whole-Part
    relationships should immediately raise the red
    flag for the modeling team
  • As a general rule, question all aggregation and
    composition where color changes across the
    association

24
Subsequent Blues
  • Description classes can have object inheritance
    relationships with subsequent descriptions
  • Generally, there will only be one green class in
    the chain. Greens may aggregate or collect other
    greens but object inheritance should be
    yellow-green, green-blue or blue-blue

25
Class or Object Inheritance
Courtesy Stephen R. Palmer
26
Simple Corporate Structure Example
27
Types of Blues
  • Blue Catalog Descriptions, but also Enumerations
    and encapsulated (plug-in) Business Rules
  • Each rule can have its own interface plug-in
    point and implementors can be hooked in at runtime

28
Putting It All Together
29
Law of Demeter
A different view of the DNC showing the dynamic
dependencies between classes. Classes only hold
dependencies to their immediate neighbors The DNC
is very loosely coupled
30
LoD Compliant Sequence Diagram
31
Wrong not LoD Compliant
32
Possible Component Boundaries
33
DNC as Component Model
34
Business Workflow Example
Component Boundary
A sequence of ltlt Moment-Intervals gtgt can be
packaged together as a component
35
Re-usable Enterprise Components
Pinks and yellows are re-usable across multiple
greens the core Enterprise Components
Greens and blues are re-usable across discrete
Enterprise Applications modeled as sequences of
pinks
36
Two more possible schemes
37
One-way Dependency
38
Resolving 2-way Dependencies
39
More 2-way Dependencies
40
Summary Color Modeling
  • Easily learned - Easily taught
  • But yet, a craft - perfected over time
  • DNC is reliable and repeatable
  • - a basic pattern even novice modelers can follow
  • Archetypes easily identified from requirements
    documents
  • Eliminates class discovery problems
  • Leads to elegant, robust, extensible, agile
    models
  • Take-away modeling rather than addition
  • Typically an order-of-magnitude speed improvement
    for class diagrams over traditional verb-noun
    approach
  • Only one pattern to learn!

41
Questions?
42
Contact Details
David J. Anderson Program Manager,
Microsoft dander_at_microsoft.com http//www.agileman
agement.net/
43
References
Object Models Strategies, Patterns
Applications, 2nd ed., Coad, Mayfield North,
Yourdon Press, Prentice Hall, 1997 Java Modeling
in Color with UML Enterprise Components and
Process, Coad, Lefebvre, De Luca, Prentice Hall,
1999 Data Model Patterns Conventions of
Thought, David Hay, Dorset House, 1996 The Coad
Letter 68 - The Domain Neutral Component,
Stephen R. Palmer, 2002 http//www.thecoadletter.c
om/article/0,1410,29697,00.html The Coad Letter
71 From Association to DNC, Stephen R. Palmer,
2002 http//www.thecoadletter.com/article/0,1410,2
9683,00.html The Coad Letter 74 Historic
Values, Stephen R. Palmer, 2002 http//www.thecoad
letter.com/article/0,1410,29680,00.html The Coad
Letter 76 Modeling User Roles, Stephen R.
Palmer, 2002 http//www.thecoadletter.com/article/
0,1410,29678,00.html The Coad Letter 77 Object
Models to DNC, Stephen R. Palmer,
2002 http//www.thecoadletter.com/article/0,1410,2
9677,00.html The Coad Letter 79 The Example
Teaches, Stephen R. Palmer, 2002 http//www.thecoa
dletter.com/article/0,1410,29675,00.html The Coad
Letter 82 Description Class Archetype, Stephen
R. Palmer, 2002 http//www.thecoadletter.com/artic
le/0,1410,29672,00.html The Coad Letter 87
Good Ideas Behind Color Modeling, Stephen R.
Palmer, 2002 http//www.thecoadletter.com/article/
0,1410,29667,00.html The Coad Letter 103 Party
Time, Stephen R. Palmer, 2002 http//www.thecoadle
tter.com/article/0,1410,29661,00.html The Coad
Letter 107 Party Time Modeling Legal IDs,
Stephen R. Palmer, 2003 http//www.thecoadletter.c
om/article/0,1410,29605,00.html
Write a Comment
User Comments (0)
About PowerShow.com