Improved software quality through semantic descriptions (Skutt) Karlstad University Dept. of Computer Science UML introduction A short introduction to UML Eivind J. Nordby Karlstad University
Dept. of Computer Science Semla 2 page 2 Design Problem Complex systems cannot be understood without modelling Modelling makes design reproductable Modelling is documentation => Generic Language for this Problem Unified Modeling Language (UML) Standard of the OMG Current Version 1.4 (since Sep. 2001) Inventors: Jacobson, Rumbaugh, Booch et all. Goal: Giving developer a general language for communication
Karlstad University Dept. of Computer Science Semla 2 page 3 UML UML is a graphical language –Unified Modeling Language UML provides a notation to describe software-intensive systems in an object-oriented way –Is general enough to describe nonsoftware systems Static Modelling –Class Modelling –Component Modelling –Deployment Modelling Dynamic Modelling –Activity/Sequence Modelling –Use Case Modelling –State Modelling
Karlstad University Dept. of Computer Science Semla 2 page 4 An example A booking system for room reservation The initiator tell who shall take part in the meeting The system calls the participants by The participants reply confirm by When all have confirmed, the system sends an to the initiator –Support personnel are also notified Cleaning, catering, secretaries, caretaker
Improved software quality through semantic descriptions (Skutt) Karlstad University Dept. of Computer Science Part 1 Classes and objects Static description
Karlstad University Dept. of Computer Science Semla 2 page 6 Basic class description A class is drawn as a box with compartments for –class name –attributes –operations Any but the first can be empty or suppressed
Karlstad University Dept. of Computer Science Semla 2 page 7 Inheritance –A connection with an open triangle in the direction to the base class Abstract classes and operations –Italic class name –Italic operation name
Karlstad University Dept. of Computer Science Semla 2 page 8 Associations Analysis diagram Multiplicities –0..1, 1, *, 1..*
Karlstad University Dept. of Computer Science Semla 2 page 9 Associations Association label –a verb describing the interaction Interpretation of multiplicity Referencial integrity
Karlstad University Dept. of Computer Science Semla 2 page 10 Object diagram and links Class diagrams show the general structure with Object diagrams show snapshots –objects are underlined An association is a potential for a link links are instances of associations Links do never have multilplicities
Karlstad University Dept. of Computer Science Semla 2 page 11 Role names Role label –a noun describing the role in the interaction
Karlstad University Dept. of Computer Science Semla 2 page 12 Aggregations Aggregation –a crew is composed of crew members –expresses whole - parts Composition –a person owns a PID number –expresses exclusive ownership and dependency
Karlstad University Dept. of Computer Science Semla 2 page 13 Navigability Analysis expresses relationships Design diagram also expresses navigability –Part of the implementation design of “who keeps track of who”
Improved software quality through semantic descriptions (Skutt) Karlstad University Dept. of Computer Science Part 2 Interactions Dynamic description
Karlstad University Dept. of Computer Science Semla 2 page 15 Interactions
Karlstad University Dept. of Computer Science Semla 2 page 16 Interactions
Karlstad University Dept. of Computer Science Semla 2 page 17 Interactions Sequence diagram –Time based Life line Call, operation, return Activation record Recursive calls New and delete
Karlstad University Dept. of Computer Science Semla 2 page 18 Interactions, new and delete