A short introduction to UML Eivind J. Nordby Karlstad University UML introduction A short introduction to UML Eivind J. Nordby Karlstad University 2000-05-09
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. Goal: Giving developer a general language for communication Semla 2 page 2
UML Static Modelling Dynamic Modelling 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 Semla 2 page 3
An example A booking system for room reservation The initiator tell who shall take part in the meeting The system calls the participants by email The participants reply confirm by email When all have confirmed, the system sends an email to the initiator Support personnel are also notified Cleaning, catering, secretaries, caretaker Semla 2 page 4
Classes and objects Static description Part 1 Classes and objects Static description 2000-05-09
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 Semla 2 page 6
Inheritance Inheritance A connection with an open triangle in the direction to the base class Abstract classes and operations Italic class name Italic operation name Semla 2 page 7
Associations Analysis diagram Multiplicities 0..1, 1, *, 1..* Semla 2 page 8
Associations Association label a verb describing the interaction Interpretation of multiplicity Referencial integrity Semla 2 page 9
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 Semla 2 page 10
Role names Role label a noun describing the role in the interaction Semla 2 page 11
Aggregations Aggregation a crew is composed of crew members expresses whole - parts Composition a person owns a PID number expresses exclusive ownership and dependency Semla 2 page 12
Navigability Analysis expresses relationships Design diagram also expresses navigability Part of the implementation design of “who keeps track of who” Semla 2 page 13
Interactions Dynamic description Part 2 Interactions Dynamic description 2000-05-09
Interactions Semla 2 page 15
Interactions Semla 2 page 16
Interactions Sequence diagram Time based Life line Call, operation, return Activation record Recursive calls New and delete Semla 2 page 17
Interactions, new and delete Semla 2 page 18