Modellering med UML Karlstads universitet Datavetenskap 10172021 Varfr

  • Slides: 12
Download presentation
Modellering med UML Karlstads universitet Datavetenskap 10/17/2021

Modellering med UML Karlstads universitet Datavetenskap 10/17/2021

Varför UML och vad är det? • Stora komplexa system går inte att förstå

Varför UML och vad är det? • Stora komplexa system går inte att förstå utan modellering. • Vi behöver någon sorts språk som passar för att modellera större system. • Att modellera innebär även en form av dokumentation. • Ett generellt språk för modellering, som också används frekvent i industrin, är Unified Modeling Language (UML) Karlstad University Dept. of Computer Science UML class diagrams 2

UML • En standard i OMG, Object Management Group • Upphovsmän: Jacobson, Rumbaugh, Booch

UML • En standard i OMG, Object Management Group • Upphovsmän: Jacobson, Rumbaugh, Booch et all. • Målet: Att ge utvecklare ett generellt språk för modellering och kommunikation Karlstad University Dept. of Computer Science UML class diagrams 3

Olika typer av modellering i UML • Statisk modellering – Class Modelling (klass-modellering) –

Olika typer av modellering i UML • Statisk modellering – Class Modelling (klass-modellering) – Component Modelling (komponent-modellering) – Deployment Modelling • Dynamisk modellering – Activity/Sequence Modelling (aktivitets-/sekvensmodellering) – Use Case Modelling (användningsfalls-modellering) – State Modelling (tillståndsmodellering) • Olika typer av modellering uttrycks med olika typer av diagram. Karlstad University Dept. of Computer Science UML class diagrams 4

Ska vi titta på alltihop? • I PUMA-kursen ska vi endast titta på klassmodellering.

Ska vi titta på alltihop? • I PUMA-kursen ska vi endast titta på klassmodellering. • Statisk modellering – Klass-modellering med hjälp av klassdiagram. Karlstad University Dept. of Computer Science UML class diagrams 5

Klassdiagram Karlstads universitet Datavetenskap 10/17/2021

Klassdiagram Karlstads universitet Datavetenskap 10/17/2021

Grundläggande klassbeskrivning • En klass ritas som en rektangel med tre fält i. –

Grundläggande klassbeskrivning • En klass ritas som en rektangel med tre fält i. – Första fältet innehåller klassnamnet – Andra fältet innehåller attributen/egenskaperna – Tredje fältet innehåller operationerna. • Alla utom det första fältet (klassnamnet) kan vara tomt eller, på annat sätt, icke komplett. Karlstad University Dept. of Computer Science UML class diagrams 7

Associationer • • • Mellan klasser finns ofta en association som anges med en

Associationer • • • Mellan klasser finns ofta en association som anges med en linje. – Denna association kan beskrivas med en etikett där ett verb ingår. I figurerna “is told by” och “manages”. Till en association finns också en multiplicitet – 0. . 1 (0 eller 1), 1 (exakt 1), * (flera), 1. . * (en eller flera) Ibland kan också rolletiketter förekomma. – ett substantiv som bskriver rollen i associationen. I figuren “Manager” och “Subordinate”. Karlstad University Dept. of Computer Science UML class diagrams 8

Två typer av associationer • • Komposition – Komposition uttrycker en stark och exklusiv

Två typer av associationer • • Komposition – Komposition uttrycker en stark och exklusiv äganderätt. – En person äger ett personnummer – Ett objekt av klassen Person innehåller (är komponerad av) ett objekt av PIDNumber – Livstiden för objektet av klassen PIDNumber kontrolleras av objektet av klassen Person. Aggregation – Aggregation är en annan typ av association. – Äganderätten är inte lika stark och exklusiv. – En crew (besättning) har crew members (besättningsmedlemmar), men dessa kan även tänkas tillöra andra besättningar. – Besättningsmedlemmarnas livstid bestäms heller inte av besättningen. Båda associationerna uttrycker “det hela och dess delar”. En fylld diamant för komposition och en ofylld för aggregation. Karlstad University Dept. of Computer Science UML class diagrams 9

Arv • Arv – Arv uttrycker ett är en/ett förhållande mellan klasser. – Detta

Arv • Arv – Arv uttrycker ett är en/ett förhållande mellan klasser. – Detta uttrycks med en “öppen” pil, där pilen riktas mot basklassen. – A Single. Booking is a (är en) Booking – A Repeated. Booking is a Booking • Booking är en basklass, • Single. Booking och Repeated. Booking är subklasser. – Ett annat exempel är t ex ett fordon. – En bil, en båt, ett flygplan, en mc är ett fordon. • Fordon blir då en basklass • Bil, Båt, Flygplan och Mc blir subklasser. – Subklasser ärver från sin basklass. – Basklassen är generell och subklasser är mer specialiserade. Karlstad University Dept. of Computer Science UML class diagrams 10

Källmaterial • Från en presentation av Eivind J Nordby och Martin Blom Karlstad University

Källmaterial • Från en presentation av Eivind J Nordby och Martin Blom Karlstad University Dept. of Computer Science UML class diagrams 11

UML-länkar • • hemsida för UML, http: //www. uml. org/ Posidon – Community Edition,

UML-länkar • • hemsida för UML, http: //www. uml. org/ Posidon – Community Edition, ett gratis-verktyg för att rita UMLdiagram, http: //www. gentleware. com – Kräver att Java finns installerat. http: //java. sun. com – Läs mer om installationskrav på http: //www. gentleware. com om du är intresserad. – Inom kursen ges ingen support alls för detta program. Karlstad University Dept. of Computer Science UML class diagrams 12