Successfully reported this slideshow.
Your SlideShare is downloading. ×

Rebooting the UML

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
5.state diagrams
5.state diagrams
Loading in …3
×

Check these out next

1 of 27 Ad

Rebooting the UML

Download to read offline

It is more than 10 years since the author gave his first presentation on the UML at an Oracle conference in Perth. Since then, many would argue that the UML has failed to take the world by storm. Some see the popularity of Agile techniques as a backlash against bloated “methodologies” that advocate “modelling for modelling’s sake”.

This paper takes a second look at the “Unified Modelling Language” and argues that perhaps the mistake has been to place too much emphasis on "modelling" and not enough on "language".

The session is packed with practical tips on how to apply the UML in new and innovative ways.

Presented at WA Oracle User Conference (AUSOUG) 2009 - voted best paper.

It is more than 10 years since the author gave his first presentation on the UML at an Oracle conference in Perth. Since then, many would argue that the UML has failed to take the world by storm. Some see the popularity of Agile techniques as a backlash against bloated “methodologies” that advocate “modelling for modelling’s sake”.

This paper takes a second look at the “Unified Modelling Language” and argues that perhaps the mistake has been to place too much emphasis on "modelling" and not enough on "language".

The session is packed with practical tips on how to apply the UML in new and innovative ways.

Presented at WA Oracle User Conference (AUSOUG) 2009 - voted best paper.

Advertisement
Advertisement

More Related Content

More from Phil Robinson (20)

Recently uploaded (20)

Advertisement

Rebooting the UML

  1. 1. Rebooting the UML Emphasising “Language” Over “Modelling” Phil Robinson LonsdaleSystems.com LonsdaleSystems.com 1
  2. 2. Mmmm… Wonder what I will be doing in 10 years time? AUSOUG Conference 1999 LonsdaleSystems.com 2
  3. 3. UNIFIED Formed or united into a whole LonsdaleSystems.com 4
  4. 4. The act of representing MODELLING something (usually on a smaller scale) LonsdaleSystems.com 5
  5. 5. A systematic means of communicating by the use of sounds or conventional LANGUAGE symbols LonsdaleSystems.com 6
  6. 6. Software Development Languages Ambiguity Low High Program code High Natural language Rigour Low Box and arrow diagrams LonsdaleSystems.com 7
  7. 7. Program Code • Compiler enforces rigour • Testing resolves ambiguity LonsdaleSystems.com 8
  8. 8. Natural Language Rigour • Word types – Noun – Adjective – Verb – Adverb • Word order – Subject Verb Object Mary had a little lamb LonsdaleSystems.com 9
  9. 9. Natural language Ambiguity • … the 500 words used most in the English language … • … each have an average of 23 different meanings … Oxford English Dictionary LonsdaleSystems.com 10
  10. 10. “Have” verb and auxiliary verb; past plural “Had” 1. to possess; own; hold for use; 11. to partake of; eat or drink contain 12. to permit or allow 2. to hold, possess, or accept in 13. to assert, maintain, or represent some relation, as of kindred or as being relative position 14. to know, understand, or be 3. to get, receive, or take skilled in 4. to experience, undergo, or 15. to beget or give birth to endure, as joy or 16. to hold an advantage over 5. to hold in mind, sight, etc 17. to outwit, deceive, or cheat 6. to cause to, as by command or 18. to control or possess through invitation bribery; bribe 7. to be related to or be in a 19. to gain possession of certain relation to 20. to hold or put in a certain 8. to show or exhibit in action or position or situation words 21. to exercise, display, or make use 9. to be identified or distinguished of by; possess the characteristic of 22. to invite or cause to be present as a companion or guest 10. to engage in or carry on LonsdaleSystems.com 11
  11. 11. “Lamb” noun 1. a young sheep 2. the meat of a young sheep 3. a person who is gentle, meek or innocent 4. a person who is easily cheated or outsmarted LonsdaleSystems.com 12
  12. 12. Natural Language Ambiguity • Mary possessed a young sheep • Mary eat a small portion of meat from a young sheep • Mary received a small portion of meat from a young sheep • Mary took a small portion of meat from a young sheep • Mary gave birth to a young sheep • Mary had in mind a gentle person • Mary possessed the characteristics of an innocent person • Mary invited an innocent person • Mary cheated a naive person • Mary controlled an inexperienced person LonsdaleSystems.com 13
  13. 13. Box and Arrow Diagrams LonsdaleSystems.com 15
  14. 14. Languages and Software Development Ambiguity Low High Program code High UML Natural language Rigour Low Box and arrow diagrams LonsdaleSystems.com 16
  15. 15. «artifact» Object Artifact Vocabulary Package Class UML Symbols Use Case Actor Node Component LonsdaleSystems.com 17
  16. 16. Diagrams Box and arrow Car Car diagrams Repository UML Repository Person Driver Passenger Car Trip UML Meta-Model Grammar Artifact Object Class Package Actor Use Case Node Component LonsdaleSystems.com 18
  17. 17. UML Object Diagrams had pet mary :Person :Sheep age < 10 years age < 6 months mary :Sheep mother had offspring :Sheep gender = female age = 0 age > 18 months mary :Person diner had lamb :Meal portion size = small mary :Person con artist had victim :Person personality = naieve LonsdaleSystems.com 19
  18. 18. UML Class public class Chair { Diagrams private private ChairStyle style; float minHeight; private float maxHeight; Chair private boolean isAdjustableHeight; - style: ChairStyle - minHeight: float public sit(Person occupant){ - maxHeight: float … - hasAdjustableHeight: boolean } + sit(occupant :Person) + stand(occupant :Person) public stand(Person occupant){ … } «enumeration» } ChairStyle Dining public enum ChairStyle { Lounge Dining, Sofa Swivel Lounge, Reclining Sofa, Stool Swivel, Reclining, Stool LonsdaleSystems.com } 20
  19. 19. UML Class Diagrams Chair responsibilities Indicate status Support people LonsdaleSystems.com 21
  20. 20. UML Class Diagrams Chair responsibilities Indicate status Support people constraints {height >= 40 cm} {height <= 85 cm} {must be stable} {must be comfortable} LonsdaleSystems.com 22
  21. 21. UML Class Diagrams Table Chair responsibilities organises Arranged around responsibilities Provide social organisation Indicate status 0..1 {at any instant in time} 0..* Support people Support objects constraints constraints {height >= 50 cm} organises Arranged around {height >= 40 cm} {height <= 1.2 m} {height <= 85 cm} {must be stable} 1..* {over time} 0..* {must be stable} {must be comfortable} LonsdaleSystems.com 23
  22. 22. UML Class Diagrams Chair responsibilities Indicate status Support people constraints {height >= 40 cm} {height <= 85 cm} {must be stable} {must be comfortable} part 1..4 ChairLeg responsibilities Provide stability Support seat constraints {capable of supporting a person} LonsdaleSystems.com 24
  23. 23. UML Class Diagrams Suite responsibilities Ensure consistent style constraints {chairs must have matching styles} member 2..* Chair responsibilities Indicate status Support people constraints {height >= 40 cm} {height <= 85 cm} {must be stable} {must be comfortable} LonsdaleSystems.com 25
  24. 24. Furniture UML Class Diagrams {abstract} responsibilities Satisfy symbolic or religous purposes Support human activities Chair Table Storage {abstract} responsibilities responsibilities Indicate status Provide social organisation responsibilities Support people Support objects Store objects ::Furniture constraints constraints Support human activities {height >= 40 cm} {height >= 50 cm} Satisfy symbolic or religous purposes {height <= 85 cm} {height <= 1.2 m} {must be stable} {must be stable} {must be comfortable} Cabinet Wardrobe Bookcase Safe responsibilities responsibilities responsibilities responsibilities ::Storage Store clothes Display books Provide secure object storage Store objects ::Storage Store books ::Storage ::Furniture Store objects ::Storage Store objects Support human activities ::Furniture Store objects ::Furniture Satisfy symbolic or religous purposes Support human activities ::Furniture Support human activities Satisfy symbolic or religous purposes Support human activities Satisfy symbolic or religous purposes Satisfy symbolic or religous purposes constraints {must have a locking mechanism} LonsdaleSystems.com 26
  25. 25. UML Activity Diagram «centralBuffer» chair stack :Chair :Chair Arrange Stack chairs chairs :Chair :Chair LonsdaleSystems.com 27
  26. 26. UML State Machine Diagram Stacked + do / store + exit / check for damage /Stack chairs /Arrange chairs Arranged + entry / wipe clean + do / use LonsdaleSystems.com 28
  27. 27. Rebooting the UML Emphasising “Language” Over “Modelling” Questions LonsdaleSystems.com conference.lonsdalesystems.com LonsdaleSystems.com 29

×