UML introduction
This document introduces the Unified Modeling Language (UML), a standardized graphical language for modeling software-intensive systems. It highlights the importance of modeling in understanding complex systems and enhancing design reproducibility. UML, invented by thought leaders such as Jacobson, Rumbaugh, and Booch, encompasses various modeling techniques including static, dynamic, and use case modeling. It also provides practical examples such as a room reservation booking system to illustrate its applications. The document serves as a foundation for developers in the communication of design ideas.
UML introduction
E N D
Presentation Transcript
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