This chapter presents the following content: What is UML? essentials of UML class diagrams, associations and multiplicity, generalization, object diagrams, more advanced features of class diagrams, the basics of Object Constraint Language, a class diagram for genealogy,. | Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes © Lethbridge/Laganière 2005 Chapter 5: Modelling with classes What is UML? The Unified Modelling Language is a standard graphical language for modelling object oriented software At the end of the 1980s and the beginning of 1990s, the first object-oriented development processes appeared The proliferation of methods and notations tended to cause considerable confusion Two important methodologists Rumbaugh and Booch decided to merge their approaches in 1994. They worked together at the Rational Software Corporation In 1995, another methodologist, Jacobson, joined the team His work focused on use cases In 1997 the Object Management Group (OMG) started the process of UML standardization © Lethbridge/Laganière 2005 Chapter 5: Modelling with classes UML diagrams Class diagrams describe classes and their relationships Interaction diagrams show the . | Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes © Lethbridge/Laganière 2005 Chapter 5: Modelling with classes What is UML? The Unified Modelling Language is a standard graphical language for modelling object oriented software At the end of the 1980s and the beginning of 1990s, the first object-oriented development processes appeared The proliferation of methods and notations tended to cause considerable confusion Two important methodologists Rumbaugh and Booch decided to merge their approaches in 1994. They worked together at the Rational Software Corporation In 1995, another methodologist, Jacobson, joined the team His work focused on use cases In 1997 the Object Management Group (OMG) started the process of UML standardization © Lethbridge/Laganière 2005 Chapter 5: Modelling with classes UML diagrams Class diagrams describe classes and their relationships Interaction diagrams show the behaviour of systems in terms of how objects interact with each other State diagrams and activity diagrams show how systems behave internally Component and deployment diagrams show how the various components of systems are arranged logically and physically © Lethbridge/Laganière 2005 Chapter 5: Modelling with classes UML features It has detailed semantics It has extension mechanisms It has an associated textual language Object Constraint Language (OCL) The objective of UML is to assist in software development It is not a methodology © Lethbridge/Laganière 2005 Chapter 5: Modelling with classes What constitutes a good model? A model should use a standard notation be understandable by clients and users lead software engineers to have insights about the system provide abstraction Models are used: to help create designs to permit analysis and review of those designs. as the core documentation describing the system. © Lethbridge/Laganière 2005 Chapter 5: Modelling with classes