TDP005 Föreläsning 3 - UML Filip Strömbäck
1 Introduktion 2 Diagram 3 Klassdiagram 4 Sekvensdiagram 5 SFML-demo
TDP005 Filip Strömbäck 2 UML Unified Modeling Language Visuell notation för idéer Kommunicera och utvärdera design Nyutveckling Framtida utvecklare Underhåll Baserat på objektorienterade principer och begrepp Oberoende av programmeringsspråk Definierad syntax men ingen semantik
TDP005 Filip Strömbäck 3 Verktyg ArgoUML (Open source) Rational ROSE (Kommersiell från IBM) Together/J (Kommersiell från TogetherSoft/Borland) Object Plant (Shareware) http://www.genmymodel.com/ (Online)...
TDP005 Filip Strömbäck 4 Typer av diagram Strukturdiagram Klassdiagram (class diagram) Component diagram Component structure diagram Deployment diagram Object diagram Package diagram Profile diagram
TDP005 Filip Strömbäck 5 Typer av diagram Beteendediagram Aktivitetsdiagram (activity diagram) Communication diagram Interaction overview diagram Sekvensdiagram (sequence diagram) State diagram Timing diagram Användingsfallsdiagram (use case diagram)
TDP005 Filip Strömbäck 6 Vanliga diagram Andvändningsfall (use case) Funktionalitet som användaren ser Klassdiagram Statisk struktur hos systemet Interaktion mellan objekt Sekvensdiagram Dynamiskt beteende inom systemet och mellan systemet och omvärlden Aktivitetsdiagram Beskriver hur arbetsgång, dataflöde och logik hänger ihop
1 Introduktion 2 Diagram 3 Klassdiagram 4 Sekvensdiagram 5 SFML-demo
TDP005 Filip Strömbäck 8 Användningsfall Klocka Klocka Läsa tiden Ställa tiden Användare Byta batteri Reparatör
TDP005 Filip Strömbäck 9 CRC-kort Visa tiden Ändra tiden Byta batteri Klocka LCD-display LCD-display, knappar Batteri
1 Introduktion 2 Diagram 3 Klassdiagram 4 Sekvensdiagram 5 SFML-demo
TDP005 Filip Strömbäck 11 Begrepp Ordklass Resultat Exempel Substantiv, bestämd Objekt Min cykel, leksaken Substantiv, obestämd Klass Cykel, leksak Verb Metod Cykla, leka Vara-verb Arv Är en sorts Ha-verb Aggregation Har en Adjektiv Attribut Grön, trasig
TDP005 Filip Strömbäck 12 Klassdiagram - perspektiv Konceptuell Fokuserar på begrepp/koncept Ingen hänsyn till implementation Specifikation Fokus på objekt som abstraktioner Inte bunden till någon specifik implementation Fokuserar på gränssnitten Implementation Fokus på en specifik implementation Visar relationen mellan klasser = arkitekturen
TDP005 Filip Strömbäck 13 Klassdiagram Display hours : int minutes : int sethours(hours : int) setminutes(minutes : int)
TDP005 Filip Strömbäck 14 Klassdiagram Display - hours : int - minutes : int + sethours(hours : int) + setminutes(minutes : int) + public # protected ~ package - private
TDP005 Filip Strömbäck 15 Klassdiagram 1 Watch - time : int 1 4 Button + ispressed() : bool 1 1 Display - hours : int - minutes : int + sethours() + setminutes() 2 Battery - charge : float + islow() : bool
TDP005 Filip Strömbäck 16 Relationer A C E m n B m n D F m, n kan vara 1, 2,..., *
TDP005 Filip Strömbäck 17 Arv Display + sethour(hour : int) + setminute(minute : int) LCD - lcddata : int + sethour(hour : int) + setminute(minute : int) Beep - remainingbeeps : int + sethour(hour : int) + setminute(minute : int)
TDP005 Filip Strömbäck 18 Arv interface Display + sethour(hour : int) + setminute(minute : int) LCD - lcddata : int + sethour(hour : int) + setminute(minute : int) Beep - remainingbeeps : int + sethour(hour : int) + setminute(minute : int)
TDP005 Filip Strömbäck 19 Arv Watch interface Display + sethour(hour : int) + setminute(minute : int) LCD - lcddata : int + sethour(hour : int) + setminute(minute : int) Beep - remainingbeeps : int + sethour(hour : int) + setminute(minute : int)
TDP005 Filip Strömbäck 20 Exempel Function 1 Statement * 1 1 Block Variable 1 * Return
1 Introduktion 2 Diagram 3 Klassdiagram 4 Sekvensdiagram 5 SFML-demo
TDP005 Filip Strömbäck 22 Sekvensdiagram b:button w:watch d:display incpressed() setminutes() sethours()
1 Introduktion 2 Diagram 3 Klassdiagram 4 Sekvensdiagram 5 SFML-demo
Filip Strömbäck www.liu.se