180 likes | 304 Views
UML introduction. A short introduction to UML Eivind J. Nordby Karlstad University. 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)
E N D
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 ProblemUnified 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 Semla 2 page 2
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 • DynamicModelling • 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
Part 1 Classes and objects Static description 2000-05-09
A class is drawn as a box with compartments for class name attributes operations Any but the first can be empty or suppressed Basic class description Semla 2 page 6
Inheritance A connection with an open triangle in the direction to the base class Abstract classes and operations Italic class name Italic operation name Inheritance Semla 2 page 7
Analysis diagram Multiplicities 0..1, 1, *, 1..* Associations Semla 2 page 8
Association label a verb describing the interaction Interpretation of multiplicity Referencial integrity Associations Semla 2 page 9
Class diagrams show the general structure with Object diagrams show snapshots objects are underlined Object diagram and links • An association is a potential for a link • links are instances of associations • Links do never have multilplicities Semla 2 page 10
Role label a noun describing the role in the interaction Role names Semla 2 page 11
Aggregation a crew is composed of crew members expresses whole - parts Composition a person owns a PID number expresses exclusive ownership and dependency Aggregations Semla 2 page 12
Analysis expresses relationships Design diagram also expresses navigability Part of the implementation design of “who keeps track of who” Navigability Semla 2 page 13
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