Presentation is loading. Please wait.

Presentation is loading. Please wait.

*Based on the work of Peter Coad, Stephen R. Palmer and others Advanced Domain Modeling Architecting for Agility with Color Models* David J. Anderson Program.

Similar presentations


Presentation on theme: "*Based on the work of Peter Coad, Stephen R. Palmer and others Advanced Domain Modeling Architecting for Agility with Color Models* David J. Anderson Program."— Presentation transcript:

1 *Based on the work of Peter Coad, Stephen R. Palmer and others Advanced Domain Modeling Architecting for Agility with Color Models* David J. Anderson Program Manager, Microsoft dander@microsoft.com

2 http://www.agilemanagement.net/ 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 >s –Getting the blues –Whole-part relationships –Patterns of color communicate architecture smells –Enterprise components from color models

3 http://www.agilemanagement.net/ History - 1992

4 http://www.agilemanagement.net/ Object Models : Strategies, Patterns & Applications, 1st ed., Coad, Mayfield & North, Yourdon Press, Prentice Hall, 1995 RoleTransactionThing Catalog Description History - 1995

5 http://www.agilemanagement.net/ [*still referred to as “Transaction” in], Object Models: Strategies, Patterns & Applications, 2nd ed., Coad, Mayfield & North, Yourdon Press, Prentice Hall, 1997 Moment or Interval – a generalization of the idea of a transaction e.g. Warranty Period Period of Employment Loan Approval Request Funds Disbursement Employee > PeriodOfEmployment >* OrganizationUnit Name=KC Branch > OrganizationUnitDescription Description = Branch Office > History – Spring 1997

6 http://www.agilemanagement.net/ 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! History – September 1997

7 http://www.agilemanagement.net/ Phil Bradley was Development Manager Persistence Layer, PowerLender Project, United Overseas Bank, Singapore 1997 - 1999 Philip Bradley argues for Archetypes not stereotypes. “ a model from which all things of the same kind more or less follow” And that, all business flows should or ought to be basically the same. “Data Model Patterns - Conventions of Thought”, David Hay, Dorset House, 1996 “ a conventional, formulaic, over-simplified conception, opinion or image” rather than [The Universal Data Model] Dec 1998 – Archetypes

8 http://www.agilemanagement.net/ “Java Modeling in Color : Enterprise Components and Process”, Coad, Lefebvre and De Luca, PTR-PH 1999 History – January 1999

9 http://www.agilemanagement.net/ Architecture Board

10 http://www.agilemanagement.net/ Component Map

11 http://www.agilemanagement.net/ Archived Iteration

12 http://www.agilemanagement.net/ 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 Definition of an Agile Model

13 http://www.agilemanagement.net/ Behavior of Colors Instances of Archetypes share similar attributes Instances of Archetypes share similar methods assessPerformance() salesMadeInPeriod() averageSalesOverPeriod() assessAccuray() assessSpeed() isActive() isSuspended() totalValue() isComplete() isUrgent() _findByIdNumber() _findByName() isOfType() getValue() assessAcrossRoles() listRolesPlayedBy() totalUnitsAvailable() totalUnitsManufactured() assessRoleAllowed() Courtesy Stephen R. Palmer

14 http://www.agilemanagement.net/ Where do >s come from? OK! Better!

15 http://www.agilemanagement.net/ Naming Conventions for Roles Note: the actual aggregating > is used for naming rather than the > When no domain specific term for a > exists use the template –Person|Place|Thing In Moment-Interval –Or, GreenInPink e.g. ItemInSale

16 http://www.agilemanagement.net/ Roles and Inheritance Courtesy Stephen R. Palmer

17 http://www.agilemanagement.net/ Inherit from a Role superclass Courtesy Stephen R. Palmer

18 http://www.agilemanagement.net/ Manage roles with a description Courtesy Stephen R. Palmer

19 http://www.agilemanagement.net/ Courtesy Stephen R. Palmer Subsequent Roles

20 http://www.agilemanagement.net/ Moment-Intervals get the Blues Missing from the original DNC in 1999 Pink Classes can have Descriptions just like Greens

21 http://www.agilemanagement.net/ Whole-Part Relationships

22 http://www.agilemanagement.net/ 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 http://www.agilemanagement.net/ 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 http://www.agilemanagement.net/ 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 http://www.agilemanagement.net/ Class or Object Inheritance Courtesy Stephen R. Palmer

26 http://www.agilemanagement.net/ Simple Corporate Structure Example

27 http://www.agilemanagement.net/ 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 http://www.agilemanagement.net/ Putting It All Together

29 http://www.agilemanagement.net/ 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 http://www.agilemanagement.net/ LoD Compliant Sequence Diagram

31 http://www.agilemanagement.net/ Wrong – not LoD Compliant

32 http://www.agilemanagement.net/ Possible Component Boundaries

33 http://www.agilemanagement.net/ DNC as Component Model

34 http://www.agilemanagement.net/ A sequence of > can be packaged together as a component Business Workflow Example Component Boundary

35 http://www.agilemanagement.net/ 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 http://www.agilemanagement.net/ Two more possible schemes

37 http://www.agilemanagement.net/ One-way Dependency

38 http://www.agilemanagement.net/ Resolving 2-way Dependencies

39 http://www.agilemanagement.net/ More 2-way Dependencies

40 http://www.agilemanagement.net/ 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! Summary – Color Modeling

41 Questions?

42 http://www.agilemanagement.net/ Contact Details David J. Anderson Program Manager, Microsoft dander@microsoft.com http://www.agilemanagement.net/

43 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.com/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,29683,00.html The Coad Letter #74 – Historic Values, Stephen R. Palmer, 2002 http://www.thecoadletter.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,29677,00.html The Coad Letter #79 – The Example Teaches, Stephen R. Palmer, 2002 http://www.thecoadletter.com/article/0,1410,29675,00.html The Coad Letter #82 – Description Class Archetype, Stephen R. Palmer, 2002 http://www.thecoadletter.com/article/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.thecoadletter.com/article/0,1410,29661,00.html The Coad Letter #107 – Party Time: Modeling Legal IDs, Stephen R. Palmer, 2003 http://www.thecoadletter.com/article/0,1410,29605,00.html References


Download ppt "*Based on the work of Peter Coad, Stephen R. Palmer and others Advanced Domain Modeling Architecting for Agility with Color Models* David J. Anderson Program."

Similar presentations


Ads by Google