TDP005. Föreläsning 3 - UML. Filip Strömbäck

Relevanta dokument
TDDI82 - Projekt. Christoffer Holm. Institutionen för datavetenskap (IDA)

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram

TDP005 Projekt: objektorienterade system

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar

Inkapsling (encapsulation)

Introduktion. Byggstenar TDBA

UML. Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN Åbo, Finland url:

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer.

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Objektorientering. Grunderna i OO

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Användning av modeller för system/produktutveckling

Unified Modeling Language UML

RUP - Rational Unified Process

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

Objektorienterad analys och design

UML 2.0 och dess roll för modellbaserad utveckling

Unified Modeling Language UML

Föreläsning 15: Repetition DVGA02

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

TDP005. Föreläsning 1. Filip Strömbäck

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Arkitektur Michael Åhs

Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion

Objektorienterad konstruktion

HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN)

Arv. Fundamental objekt-orienterad teknik. arv i Java modifieraren protected Lägga till och modifiera metoder med hjälp av arv Klass hierarkier

Symptom på problemen vid programvaruutveckling

Föreläsning 9: Arv och UML

Objektorientering Användning

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language

Arv (Inheritance) Multipelt arv finns i verkligheten. Överskuggning, metodbindning. Läsanvisning: ! Arv! Object, instanceof! Relationer!

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo

TDDE10 TDDE11, 725G91/2. Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

Konstruktion av klasser med klasser

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program.

Objektorienterad Systemutveckling 1 (7,5 hp)

Projektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget % misslyckades!

729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2

Konceptuell modellering. Formalisering, automatisering och effektivisering

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU

Copyright Syntell AB 1

Tentamen i Objektorienterad modellering och diskreta strukturer

RUP Rational Unified Process. 17 november 2004

Föreläsning 8 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ UML O2P 2000

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning

Innehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och

Introduktion. Klasser. TDP004 Objektorienterad Programmering Fö 2 Objektorientering grunder

TDP005. Föreläsning 1. Filip Strömbäck

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur

Objektorienterad analys och design

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Begreppsmodellering i UML

Tentamen i Objektorienterad modellering och design Helsingborg

F2: Krav på objektorienterat språk

Klasshierarkier - repetition

Objektorienterad Programmering (TDDC77)

När? Varför? För vem? Resultat? (Artefakter?)

Design. Vad lärde jag mig förra lekfonen? Hur bidrog jag Fll lärandet? Kravhantering sammanfa0ning 13/04/14

Föreläsning 1, vecka 6: Abstraktion genom objektorientering

Objektorientering Klasser

Objektorienterad Programmering DAT043. Föreläsning 10 13/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)

TDDC76 Programmering och datastrukturer

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

Classes och Interfaces, Objects och References, Initialization

LÖSNINGSFÖRSLAG. Tentamen. Objektorienterad modellering och design. EDA665, 4 poäng

F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander

Tentamen i Objektorienterad modellering och design

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS

Objektorienterad programmering. Grundläggande begrepp

Relationer mellan objekt

Imperativ programmering. Föreläsning 4

Objektorienterad Programmering (OOP) Murach s: kap 12-16

Objektorienterad metodik. Programutvecklingsmetodik. Objektmodellen. Varje objekt har en unik identitet

Programutvecklingsmetodik

Begreppsmodellering i UML

Objektorienterad Systemutveckling (7,5 hp)

Föreläsning 13 Innehåll

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

Projektering av informationssystem

Tentamen i Objektorienterad modellering och design Helsingborg

Designmönster, introduktion. Vad är det? Varför skall man använda mönster?

Objektorienterad programmering

GMC Software Technology CCM Made Easy

Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061)

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga

Transkript:

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