30 Things that Go Wrong in Object Modelling with UML 1.3

  • Anthony J. H. Simons
  • Ian Graham
Part of the The Springer International Series in Engineering and Computer Science book series (SECS, volume 523)


The authors offer a catalogue of problems experienced by developers, using various object modelling techniques brought into prominence by the widespread adoption of UML standard notations. The catalogue is revised to reflect changes made between UML versions 1.1 and 1.3, in which a number of semantic inconsistencies in the notation were fixed. Notwithstanding this, developers still seem to create inordinate problems for themselves by pursuing unproductive development strategies that are apparently fostered by UML. This article shows how the biggest problem by far is cognitive misdirection, or the apparent ease with which the rush to build UML models may distract the developer from important perspectives on a system. This problem is more serious than the outstanding inconsistencies and ambiguities which still exist in UML 1.3. A number ofinadequacies are also highlighted, where UML somehow still fails to express what we believe are important semantic issues. While UML itself is mostly neutral with respect to good or bad designs, the consequences of allowing UML to drive the development process include: inadequate object conceptualisation, poor control structures and poorly-coupled subsystems.


Object Modelling Class Diagram Sequence Diagram Activity Diagram Business Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BC89]
    K Beck and W Cunningham (1989), “A laboratory for teaching object-oriented thinking“, Proc. 4th ACM Conf. Object-Oriented Prog. Sys., Lang, and Appl., pub. Sigplan Notices, 24(10), 1–6.CrossRefGoogle Scholar
  2. [BRJ99]
    G Booch, J Rumbaugh and I Jacobson (1999), The Unified Modeling Language User Guide, Addison Wesley Longman.Google Scholar
  3. [B94]
    G Booch (1994), Object-Oriented Analysis and Design with Applications, 2nd edn., Benjamin-Cummings.Google Scholar
  4. [CY91a]
    P Coad and E Yourdon (1991), Object Oriented Analysis, Yourdon Press.Google Scholar
  5. [CY91b]
    P Coad and E Yourdon (1991), Object Oriented Design, Yourdon Press.Google Scholar
  6. [C96]
    A Cockburn (1996), Basic Use Case Template, TR.96.03a, rev. 1998, Humans and Technology; also pub.
  7. [C97a]
    A Cockburn (1997a), “Goals and use cases“, J. Obj.-Oriented Prog., 10(5), 35–40.Google Scholar
  8. [C97b]
    A Cockburn (1997b), “Using goal-based use cases“, J. Obj.-Oriented Prog., 10(7), 56–62.MathSciNetGoogle Scholar
  9. [FHG97]
    D Firesmith, B Henderson-Sellers and I Graham (1997), OPEN Modelling Language (OML) Reference Manual, March, SIGS Books.Google Scholar
  10. [FCJAG98]
    M Fowler, A Cockburn, I Jacobson, B Anderson and I Graham (1998), “Question time! About use cases“, Proc. 13th ACM Conf. Obj.-Oriented Prog. Sys., Lang, and Appl, pub. ACM Sigplan Notices, 33(10), 226–229.Google Scholar
  11. [GHJV95]
    E Gamma, R Helm, R Johnson and J Vlissides (1995), Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley.Google Scholar
  12. [G90]
    E A Gibson (1990), “Objects born and bred“, BYTE magazine, 15(10), 255–264.Google Scholar
  13. [G95]
    I Graham (1995), Migrating to Object Technology, Addison-Wesley.Google Scholar
  14. [G97]
    I Graham (1997), “Some problems with use cases. and how to avoid them“, Proc. 3rd Int. Conf Object-Oriented Info. Sys., eds D Patel, Y Sun and S Patel, (London: Springer Verlag), 18–27Google Scholar
  15. [HSY98]
    B Henderson-Sellers, A J H Simons and H Younessi (1998), The OPEN Toolbox of Techniques, Addison-Wesley.Google Scholar
  16. [HSR98]
    K S Y Hung, A J H Simons and A Rose (1998), “Can you have it all? Managing the time and budget against quality issue in a dynamic business object architecture development“, Proc. 6th Conf Software Quality Management (Amsterdam: MEP), 21–34.Google Scholar
  17. [JCJO92]
    I Jacobson, M Christerson, P Jonsson and G Üvergaard (1992), Object-Oriented Software Engineering: a Use-Case Driven Approach, Addison-Wesley.Google Scholar
  18. [JGJ97]
    I Jacobson, M Griss and P Jonsson (1997), Software Reuse: Architecture, Process and Organisation for Business Success, Addison-Wesley and ACM Press, Reading MA, USA, 497pp.Google Scholar
  19. [M97]
    J D McGregor (1997), Testing Object-Oriented Components, ECOOP’ 97 Tutorial 2 (Jyväskylä, AITO/ACM).Google Scholar
  20. [R97]
    Rational Software (1997), UML 1.1 Reference Manual, September,
  21. [RG92]
    K Rubin and A Goldberg (1992), “Object-behaviour analysis“, Comm. ACM, 35(9).Google Scholar
  22. [RBPEL91]
    J Rumbaugh, M Blaha, W Premerlani, F Eddy and W Lorensen (1991), Object-Oriented Modeling and Design, Prentice-Hall.Google Scholar
  23. [S98]
    A J H Simons (1998), Object Discovery-a Process for Developing Medium-Sized Applications, ECOOP V8 Tutorial 14, (Brussels, AITO/ACM), 90pp.Google Scholar
  24. [SG98a]
    A J H Simons and I Graham (1998), “37 things that don’t work in object-oriented modelling with UML“, Proc. 2nd ECOOP Workshop on Precise Behavioural Semantics, eds. H Kilov and B Rumpe, Technical Report TUM-I9813 (TU Munich, Institut für Informatik), 209–232.Google Scholar
  25. [SG98b]
    A J H Simons and I Graham (1998), “37 things that don’t work in object-oriented modelling with UML“, British Computer Society Object-Oriented Programming Systems Newsletter, 35, eds. R Mitchell and S Kent (BCS: Autumn, 1998),
  26. [SSH98]
    A J H Simons, M Snoeck and K S Y Hung (1998), “Design patterns as litmus paper to test the strength of object-oriented methods“, Proc. 5th. Int. Conf. Object-Oriented Info. Sys., eds. C Rolland and G Grosz (Paris: Springer Verlag), 129–147.Google Scholar
  27. [WN95]
    K Waldén and J-M Nerson (1995), Seamless Object-Oriented Architecture, Prentice Hall.Google Scholar
  28. [WW89]
    R Wirfs-Brock and L Wiener (1989), “Responsibility-driven design: a responsibility-driven approach“, Proc. 4th ACM Conf. Object-Oriented Prog. Sys., Lang. and Appl., pub. Sigplan Notices, 24(10), 71–76.CrossRefGoogle Scholar
  29. [WWW90]
    R Wirfs-Brock, B Wilkerson and L Wiener (1990), Designing Object-Oriented Software, Prentice Hall.Google Scholar

Copyright information

© Springer Science+Business Media New York 1999

Authors and Affiliations

  • Anthony J. H. Simons
    • 1
  • Ian Graham
    • 2
  1. 1.University of SheffieldUK
  2. 2.Ian Graham AssociatesUK

Personalised recommendations