30 Things that Go Wrong in Object Modelling with UML 1.3
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.
KeywordsObject Modelling Class Diagram Sequence Diagram Activity Diagram Business Logic
Unable to display preview. Download preview PDF.
- [BRJ99]G Booch, J Rumbaugh and I Jacobson (1999), The Unified Modeling Language User Guide, Addison Wesley Longman.Google Scholar
- [B94]G Booch (1994), Object-Oriented Analysis and Design with Applications, 2nd edn., Benjamin-Cummings.Google Scholar
- [CY91a]P Coad and E Yourdon (1991), Object Oriented Analysis, Yourdon Press.Google Scholar
- [CY91b]P Coad and E Yourdon (1991), Object Oriented Design, Yourdon Press.Google Scholar
- [C96]A Cockburn (1996), Basic Use Case Template, TR.96.03a, rev. 1998, Humans and Technology; also pub. http://members.aol.com/acockburn/papers/uctempla.htm
- [C97a]A Cockburn (1997a), “Goals and use cases“, J. Obj.-Oriented Prog., 10(5), 35–40.Google Scholar
- [FHG97]D Firesmith, B Henderson-Sellers and I Graham (1997), OPEN Modelling Language (OML) Reference Manual, March, SIGS Books.Google Scholar
- [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
- [GHJV95]E Gamma, R Helm, R Johnson and J Vlissides (1995), Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley.Google Scholar
- [G90]E A Gibson (1990), “Objects born and bred“, BYTE magazine, 15(10), 255–264.Google Scholar
- [G95]I Graham (1995), Migrating to Object Technology, Addison-Wesley.Google Scholar
- [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
- [HSY98]B Henderson-Sellers, A J H Simons and H Younessi (1998), The OPEN Toolbox of Techniques, Addison-Wesley.Google Scholar
- [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
- [JCJO92]I Jacobson, M Christerson, P Jonsson and G Üvergaard (1992), Object-Oriented Software Engineering: a Use-Case Driven Approach, Addison-Wesley.Google Scholar
- [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
- [M97]J D McGregor (1997), Testing Object-Oriented Components, ECOOP’ 97 Tutorial 2 (Jyväskylä, AITO/ACM).Google Scholar
- [R97]Rational Software (1997), UML 1.1 Reference Manual, September, http://www.rational.com/uml/.
- [RG92]K Rubin and A Goldberg (1992), “Object-behaviour analysis“, Comm. ACM, 35(9).Google Scholar
- [RBPEL91]J Rumbaugh, M Blaha, W Premerlani, F Eddy and W Lorensen (1991), Object-Oriented Modeling and Design, Prentice-Hall.Google Scholar
- [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
- [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
- [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), http://www.oopsnl.ukc.ac.uk/Issue35Autumn1998/contents.html.
- [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
- [WN95]K Waldén and J-M Nerson (1995), Seamless Object-Oriented Architecture, Prentice Hall.Google Scholar
- [WWW90]R Wirfs-Brock, B Wilkerson and L Wiener (1990), Designing Object-Oriented Software, Prentice Hall.Google Scholar