UML introduction A short introduction to UML Eivind


















- Slides: 18

UML introduction A short introduction to UML Eivind J. Nordby Karlstad University Dept. of Computer Science 9/25/2020 Improved software quality through semantic descriptions (Skutt)

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 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 • Dynamic Modelling – Activity/Sequence Modelling – Use Case Modelling – State Modelling Karlstad University Dept. of Computer Science 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 Karlstad University Dept. of Computer Science Semla 2 page 4

Part 1 Classes and objects Static description Karlstad University Dept. of Computer Science 9/25/2020 Improved software quality through semantic descriptions (Skutt)

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 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 Karlstad University Dept. of Computer Science Semla 2 page 7

Associations • • Analysis diagram Multiplicities – 0. . 1, 1, *, 1. . * Karlstad University Dept. of Computer Science Semla 2 page 8

Associations • • • Association label – a verb describing the interaction Interpretation of multiplicity Referencial integrity Karlstad University Dept. of Computer Science Semla 2 page 9

Object diagram and links • • Class diagrams show the general structure with Object diagrams show snapshots – objects are underlined Karlstad University Dept. of Computer Science • 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 Karlstad University Dept. of Computer Science 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 Karlstad University Dept. of Computer Science Semla 2 page 12

Navigability • • Analysis expresses relationships Design diagram also expresses navigability – Part of the implementation design of “who keeps track of who” Karlstad University Dept. of Computer Science Semla 2 page 13

Part 2 Interactions Dynamic description Karlstad University Dept. of Computer Science 9/25/2020 Improved software quality through semantic descriptions (Skutt)

Interactions Karlstad University Dept. of Computer Science Semla 2 page 15

Interactions Karlstad University Dept. of Computer Science Semla 2 page 16

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 17

Interactions, new and delete Karlstad University Dept. of Computer Science Semla 2 page 18