Unified Modeling Language UML

Storlek: px
Starta visningen från sidan:

Download "Unified Modeling Language UML"

Transkript

1 Unified Modeling Language UML

2 Vad händer idag? Föreläsning Introduktion till UML Objekt-orientering Klasser Objekt Use cases UML-diagram Specifikationer Praktisk övning Skapa enkla UML-diagram 2

3 Vad är UML? Ett generellt objekt-orienterat modelleringsspråk UML OMT (Rumbaugh et al.) 1996 UML 1.4 Booch UML 0.9 UML OOSE (Jacobson et al.) Catalysis ROOM etc. 3

4 UML Diagram Collaboration diagram Sequence diagram 4

5 En UML-modell av ett system Krav Specifikation av beteende och egenskaper (Requirement diagram, Use case diagram) Beteende Omvandla indata till utdata (activity based, Activity diagram) Utför operationer eller ändrar (state based, State chart diagram) Tillhandahåller tjänster (message based, Collaboration diagram, Sequence diagram) Struktur System / komponent hierarki, klassificering och sammankoppling (Class diagram, Component diagram, Deployment diagram) Egenskaper Prestanda och fysiska egenskaper och deras inbördes relationer 5

6 Varför behövs en modell? För att förstå problemet Grund för diskussioner med beställare/kund/användare Hitta fel, brister, och Find errors and inkonsekvenser För att enkelt skapa kod Begränsningar av modellering? 6

7 Grundläggande OO koncept Classes / class hierarchy Instances - instans Inheritance - arv Abstraction - abstraktion Object Attributes - egenskaper Methods - metoder Messages 7

8 Objekt i mjukvarutveckling Enheter som modellerar någon fysisk eller konceptuell enhet En unik identitet ( dedikerat minne ) Ett offentligt gränssnitt Attribut Operationer / metoder Gömd ( inkapslad ) implementation 8

9 Hierkarkiska beskrivningar av det här och det där Unified Language Modeling det där det där Specialisering av Exempel på det där Helhet för det här Del av det där T yp för det där Gener alisering av 9 det där

10 OO utveckling Krav Kravspecifikation Use case Analys -> OO modell Class diagram, Collaboration diagram, Sequence diagram, Statechart diagram Designmodell Mjukvara/Hårdvara Class diagram, Collaboration diagram, Statechart diagram Implementation Deployment diagram, Component diagram 10

11 En klass: Circle Vad kan du göra med en cirkel? Vad kännetecknar en cirkel? Vilka andra liknande objekt finns? 11

12 En klass: Circle Vad kan du göra med en cirkel? Rita den Fylla den med en färg Vad kännetecknar en cirkel? Radie Färg Vilka andra liknande objekt finns? Rektangel Ellips 12

13 En klass i UML Attribut Operationer/ Metoder Circle Colour : integer Radius : integer Draw (x,y,r:integer) Move (x,y:integer) Typ 13

14 Klassbenämning Analys Design 14

15 Viktiga metoder i alla klasser Constructor skapa ett objekt Get hämta ett värde eller ett innehåll Set ändra ett värde eller ett innehåll Finalize städa upp efter att ett objekt tagits bort ToString returnera en sträng som beskriver objektet på något sätt 15

16 Klass Template, blueprint, generalised description Basklass, superklass, abstraktion, generalisering Graphical object Underklass ärver från basklassen, specialisering Circle Instantiera ett objekt från en klass (realtd) MyCircle:Circle 16

17 Klass student Övning Definiera en klass student 17

18 Klassdiagram - Associationer Association Det finns ett samband mellan två klasser om en instans av en klass måste veta om den andra för att fungera korrekt. Aggregation En association där en klass tillhör en samling av klasser. Generalisering (arv) En arvslänk visar att en klass är en superklass till en annan klass. Multiplicities 0..1 Meaning zero or one instance. The notation n.. m indicates n to m instances. 0..* or * no limit on the number of instances (including none). 1 exactly one instance * at least one instance

19 Exempel Fordon Bil Association Väg Är en del av Extraljus 0..2 Multiplicitet och namngivna associationer 4 Hjul 19

20 är en sorts :Bil en sorts är en en Fordon sorts speciellt Bil har ett är en del av en :Hjul är ett ett del av Hjul har

21 Klassdiagram Statisk struktur Visar de olika delarna I ett system och deras inbördes relation associationsklass Person ägare 0..* kund 0..* långivare 0..* Finansinstitut generalisering association Lån ränta villkor Bank Fondbolag boende 0..* Hus 1 0..* 21

22 Modell av en människa Övning Huvud Vänster tumme Höger tumme Skelettdel Hjärna Sinne Hjärta Själ Kroppsdel 22

23 Konceptuella objekt Alla objekt behöver inte ha en fysisk mening T.ex. Ett telefonsamtals-objekt Telefon 1 Telefon 2 Telefonsamtal Telefonsamtals-objekt AvslutaSamtal () läggtilldeltagare (t:telefon) Samtalstid () 23

24 Klasser och Instanser Realtidsspecifika objekt som har samma struktur och beteende klass (Design) Telephone busy : boolean offhook() onhook () ring() phone1:telephone busy = true offhook() onhook () ring() phone2:telephone busy = false offhook() onhook () ring() instanse (realtid) 24

25 Övning Rita ett klassdiagram för en person som använder en enhet för en tjänst Tips: Tänk på vem, när, var, vad 25

26 Övning Person -Name : string -Address:String -Id:Interger Device -Type : string -Id:Interger Place -Name : string Time -Name : string Service -Type : string Home Office Mobile Pc 26

27 Objektorienterad meddelandehantering Draw() MyCircle:Circle Pelle:person Call() Mobile1:telephone 27

28 Varför ska vi använda objekt? Enkelt att beskriva problem Kan användas på alla abstraktionsnivåer Arkitektur, hårdvara, mjukvara... Återanvändbara Kan användas för samverkande system Nackdelar??? 28

29 Hur hittar man rätt klasser? Objektorienterad analys Samla och dokumentera krav på systemet och formulera dem i ett antal samverkande objekt som grund för det fortsatta arbetet Förstå problemet relativt oberoende av genomförandet Kunna ställa de rätta frågorna, ge svar Ta reda på vad systemet inte ska göra När är vi färdiga? 29

30 Mål för (OO) analys Förstå problemet (en) som ska lösas Ställ frågor om problemet och systemet Ge tillräckligt med underlag för att besvara frågor Bestäm vad systemet ska / inte ska göra Försäkra dig om att systemet kommer att tillfredsställa användarnas behov Definiera acceptanskriterier Ge underlag för systemutveckling 30

31 Hitta objekt & klasser Checklista Domänanalys Lingvistisk analys Rollspel Återanvändning av analysmodeller Erfarenhet 31

32 Checklistor Människor Platser Saker som går att ta på (fysiska saker) Roller Organisationer Abstrakta saker Händelser Interaktioner... 32

33 Domänanalys Mål Hitta vanliga objekt / klasser i en särskild domän Hitta risker Görs vid behov Metoder Studera liknande system Litteraturstudie på domänen Prata med domänexperter Bygg en generisk modell av systemen i domänen Bygg en prototyp 33

34 Lingvistisk analys Skapa en lista över kandidater via analys av texten: Substantiv => objekt / klasser Verb => metoder Adjektiv => attribut... Analysera resultat Behåll bara kandidater som är meningsfulla och användbara i problemdomänen Dokumentera resulterat i klassdiagram Den här metoden är ofta kritiserad Fungerar bra för små dokument 34

35 Lingvistisk analys: granska kandidater Ta bort synonymer Kasta saker som är utanför systemet Kasta saker som beskriver implementationsdetaljer De flesta egennamn är instanser av klasser Komplexa substantivsatser kan beskriva dolda föremål / klasser Kontrollera verb som används som substantiv Leta efter vara(är en) och verb (har en) Leta efter ägandesubstantiv, masssubstantiv och måttenheter 35

36 Kravspecifikation SMSme is a wireless device where messages can be displayed. The colour of the device could be red or gold. When a message arrives the user is notified either by a sound or by a vibration. The last message sent or received is always displayed. A constraint is that the display is limited to 4 lines, 20 characters per line. A number of ten messages can be stored and if this limit is reached the device will show a warning message on the display. Each device can be given a unique name. This name will be sent back when a message is acknowledged. The user communicates with SMSme using buttons. 36

37 Kravspecifikation SMSme is a wireless device where messages can be displayed. The colour of the device could be red or gold. When a message arrives the user is notified either by a sound or by a vibration. The last message sent or received is always displayed. A constraint is that the display is limited to 4 lines, 20 characters per line A number of ten messages can be stored and if this limit is reached the device will show a warning message on the display. Each device can be given a unique name. This name will be sent back when a message is acknowledged. The user communicates with SMSme using buttons 37

38 Vad är en bra klass? En enda, väldefinierad abstraktion Ansvar kan beskrivas kortfattat och tydligt Namnet kommer från ett substantiv eller adjektiv som på ett bra sätt beskriver abstraktionen Abstraktion av data och funktion Sammanhängande gränssnitt Representerar en uppsättning möjliga realtids-objekt Har tillstånd och beteende 38

39 Klassdiagram 39

40 Beskrivning av klassdiagram Klass DateMe Knappar Skärm Kamera Mikrofon Högtalare USB-ingång Batteri Slå av/på Starta speeddejt Avbryta Speeddejt Välja fortsatt kontakt Spela in Spela upp ljud Beskrivning Den fysiska prylen som möjliggör kontakt via videochatt Attribut: För att möjliggöra inmatning av information Monitor som visar digitalt skapas bild Spelar in bild i videoformat Spelar in ljud Spelar upp ljud Hopkopplingsenhet för dator Energikälla Utförande: Slår på/av den fysiska DateMe prylen Startar speeddejt med en annan DateMe användare Avbryter speeddejt med en annan DateMe användare Avgör om man vill få den andra användarens kontaktuppgifter på hemsidan. Eller om man inte vill ha fortsatt kontakt och börja nästa speeddejt med ny användare Ta upp ljudkonverstaionen mellan två DateMe användare Spelar upp ljudkonversation mellan två DateMe användare 40

41 Vad är ett Use Case? Ett use case är en sekvens av händelser som utförs av ett system, som ger ett mätbart resultat av värden för en viss aktör De viktigaste syftena med use case är att definiera vad ett system ska kunna göra, och att tillåta utvecklare och kund att komma överens om detta 41

42 Modellbeteende -> Use cases Användarnas krav är viktiga, User-oriented Identifiera användare och andra som interagerar med systemet -> Actor (s) Identifiera vad systemen kan göra för / med aktörer -> Use case(s) Information kan användas både i analys, implementering och test av systemet Scenario - exempel på användningsfall 42

43 Aktörer (actors) An aktör är någon (eller något) som interagerar med systemet Universitet: Professor Student UMU web server Network support Umeå kommun 43

44 Use case - grunderna Ett use case är ett beteendemönster för systemet, "Vilka behov har en aktör?" Hur interagerar aktörer och systemet? Read info on the web Student Print article Do exercise 44

45 Hur hittar man use case och aktörer? Vilka funktioner vill en aktör använda? Behöver aktören läsa, skapa, skriva, ändra? Måste aktörenfå veta något? Vilken I/O finns till/från systemet? Vilka är de primära användarna av ett system? Vem tar hand om tjänster? Vilka andra aktörer berörs av systemet? Vilken maskinvara används/används av systemet? 45

46 Kursregistrering 46

47 Register for courses Beskrivning: Detta use case initieras av aktören student. Det ger möjlighet att skapa, granska, ändra och ta bort en kursregistrering för en termin All erforderlig faktureringsinformation sänds till Billing system Aktörer Student, Billing System. Anmärkningar: En student kan registrera sig för högst 4 kurser varje termin. 47

48 Extends och uses 48

49 Möjliga problem med use case Risk att man inte bygger ett objektorienterat system Fokus enbart på use case Risk att missta design för krav Ineffektivt system eftersom det endast modellerar hur användaren tror att systemet ska fungera -> behövs designinput Risk för att missa krav Kan missa krav om man enbart designar efter de olika aktörernas use case 49

50 Beskrivning av Use case Use case Ansvar Data in Data ut Startvillkor Beskrivning Registrera profil (hemsida) Registrera nya användare Personuppgifter + svar på frågor DateMeprofil Att du kan komma åt hemsidan Skapar en profil åt en användare och sparar den I en databas för användare. Undantag Server nere kan inte komma åt hemsidan för att skapa profil 50

51 Scenario Förädling av use case Många möjliga scenarier för ett use case Kan formuleras som en berättelse Scenario = Use case + startvillkor + slutresultat Exempel: Köpa mjölk Kalle tar två liter mjölk, kassören kontrollerar de två paketen en efter en, priset 20kr visas på en display, Kalle betalar med Visakort och PIN-kod. Pelle tar två liter mjölk, bäst-före-datumet har gått ut för mjölken, kassören matar manuellt in 10 kr, priset visas på skärmen, Pelle betalar 10 kr med en guldtia Observera att interaktioner ovan kan representeras av meddelanden Registrera händelser i use case 51

52 Sekvensdiagram Fångar dynamiska beteenden (tidsorienterad) Modellerar meddelandeflödet Illustrerar typiska scenarier En typ av interaktionsdiagram 52

53 Sekvensdiagram grunderna 53

54 Samarbetsdiagram 54

55 Samarbetsdiagram - grunderna 55

56 Tillståndsdiagram Grafisk beskrivning av klassbeteende Beskriver alla möjliga tillstånd och tillståndsändringar som utlöses av yttre stimuli Bra verktyg för att beskriva komplexa objekt livscykler Bra verktyg för att avslöja saknad tillståndsinformation och beteende 56

57 Tillståndsdiagram Initial pseudostate top top state State Trigger/event Ready Transition go /ctr := 0 Final state Done stop Action 57

58 Tillståndsdiagram - exempel Hissen börjar på bottenvåningen. Det kan röra sig uppåt eller nedåt. Om hissen är inaktiv på en våning en viss tid rör sig hissen till bottenvåningen. Hissen kan bara stängas av när den är på bottenvåningen. 58

59 Tillståndsdiagram - exempel Start Bottenvåning Åk upp Åker uppåt Framme Bottenvåning Framme Åk ner Framme Väntande Åk upp Bottenvåning Time out 59

60 Tillståndsdiagram - användning Fångar dynamiskt beteende (händelseorienterad) Konstrueras under analys och design Syfte Modellera objektets livscykel Modellera reaktiva objekt (användargränssnitt, enheter, etc.) Utvecklat av analytiker, designers och implementerare Tillståndsdiagram Statechart diagram 60

61 Sammanfattning Objektorientering (OO) Objekt Klasser UML Modellspråk Använder OO 8 olika diagram Ni kommer använda 5 i labben Analys Use case Kravspecification 61

Unified Modeling Language UML

Unified Modeling Language UML Unified Modeling Language UML Vad händer idag? Föreläsning Introduktion till UML Objekt-orientering Klasser Objekt Use cases UML-diagram Specifikationer Praktisk övning Skapa enkla UML-diagram 2 Vad är

Läs mer

Objektorientering. Grunderna i OO

Objektorientering. Grunderna i OO Objektorientering Grunderna i OO 1 Systemutveckling Tre systemnivåer: Verksamhet Informationssystem Datasystem Huvuduppgifterna i ett systemutvecklingsarbete: Verksamhetsanalys Informationsbehovsanalys

Läs mer

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

TDP005. Föreläsning 3 - UML. Filip Strömbäck 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

Läs mer

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

Mer OOP. Variation i typ. Medlen repetition. Generiska klasser. Gränssnitt - Interface. Mer om klasser Några exempel UML Målet Mer OOP Mer om klasser Några exempel UML Modularitet Språkligt modulära enheter Få gränssnitt Små gränssnitt Tydliga gränssnitt Dold information Återanvändbarhet Variation i typer Variation i datastrukturer

Läs mer

Objektorientering Användning

Objektorientering Användning Objektorientering Användning Samt repetition av klasser Suzana Ramadani 1 Repetition Objektorientering bygger på Abstraktion Hierarkisk strukturering Inkapsling Klassificering Generalisering specialisering

Läs mer

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

UML: Exempel. Ett modelleringsspråk. UML: Ansvar. UML: tre huvudanvändningar. Exempel: En klass position storlek. UML Unified Modelling Language Ett modelleringsspråk : Exempel Fönster Klassnamn Unified Modelling Language Av Booch, Jacobson, Rumbaugh Exempel: En klass position storlek Attribut (instansvariaböe) Resultatet av en sammanslagning av

Läs mer

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Föreläsning 7 OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram - Kravspecifikationer, användningsfall, systemarkitektur - Analysfas vad är analys?

Läs mer

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

Abstrakta Klasser 2. Kodning är bara en liten del i programvaruutvecklingen 6% 1% 6% Abstrakta Klasser - deklaration. Programutveckling sker i faser Abstrakta Klasser 1 God klassdesign placerar gemensamma attribut och metoder så högt som möjligt i hierarkin men ibland kan dessa egenskaper inte definieras fullständigt Abstrakta klasser innehåller ofta

Läs mer

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

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 en systematisk metod för att gå från problembeskrivning till färdigt

Läs mer

OOMPA 2D1359 Föreläsning 2

OOMPA 2D1359 Föreläsning 2 OOMPA 2D1359 Föreläsning 2 Objektorienterad Modellering Programmering och Analys Objektorientering grunder l Vad är OO? Programspråk?, paradigm?, gränssnitt?, struktur?, eller? l Termer och fundament Objekt,

Läs mer

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

Föreläsning 2. Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Föreläsning 2 Objektorienterad analys och design. Analys: att modellera världen. Design: att strukturera program. Vår process Kravbeskrivning (3 dagar). Enkel form av användningsfall (use cases). Analys

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 16 mars 2005 1 Objekt-orienterad analys och design: Litteratur Skansholm: Kapitel 4 Se även 1. http://www.uml.org/ 2. http://www-306.ibm.com/software/rational/uml/

Läs mer

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

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet 17 juni 2005 en systematisk metod för att gå från problembeskrivning till färdigt

Läs mer

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

Analys och design. Objekt. Klass. med hjälp av CRC. Klassdiagram Analys och design med hjälp av CRC 83 Klassdiagram Objekt Ett objekt är en individuellt identifierbar entitet som kan vara konkret eller abstrakt. Ett objekt har tillstånd, beteende och identitet. Reellt,

Läs mer

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

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2014 2017 jonas.kvarnstrom@liu.se

Läs mer

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Konstruktorer Statiska metoder & attribut

Läs mer

Objektorienterad konstruktion

Objektorienterad konstruktion Analys - Objektorienterad konstruktion Vad är objektorientering?» Ett sätt att angripa programmeringsproblem» Ett sätt att tänka när man programmerar Vad innebär objektorientering?» Att uppmärksamheten

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet June 22, 2006 1 Objekt-orienterad analys och design: Litteratur Skansholm: Kapitel 4 Se även 1. http://www.uml.org/ 2. http://www-306.ibm.com/software/rational/uml/

Läs mer

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

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? TDDD78, TDDE30, jonas.kvarnstrom@liu.se 729A85 jonas.kvarnstrom@liu.se

Läs mer

Föreläsning 15: Repetition DVGA02

Föreläsning 15: Repetition DVGA02 Föreläsning 15: Repetition DVGA02 Vad handlar kursen om? Kursen kan i grova drag delas upp i tre delar: 1. Objekt-orienterad programmering 2. Grafiska användargränssnitt 3. Datastrukturer Dessutom genomsyras

Läs mer

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

Innehåll. dynamisk bindning. och programmering CRC) u Arv, polymorfi och Innehåll u OOP snabbintroduktion u Datatyper u Uttryck u Satser u Arv (intro) u Programvaruutveckling och programmering u Klassdesign och metodik (UML, CRC) u Arv, polymorfi och dynamisk bindning u Fält

Läs mer

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

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram Översikt Introduktion UML Objektorienterad programutveckling Analys Design UML Klassdiagram Aktivitetsdiagram Modellering Modellering är ett medel för att hantera komplexitet Bygger en abstraktion av verkligheten

Läs mer

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

Objekt-orienterad utveckling. Objektorienterad analys och design. Objekt-orienterad programutveckling. Objekt-orienterad analys och design: Litteratur Objekt-orienterad utveckling Saker man vill uppnå: Objektorienterad analys och design Sven-Olof Nyström Uppsala Universitet June 22, 2006 en systematisk metod för att gå från problembeskrivning till färdigt

Läs mer

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

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

Läs mer

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

Översikt. Introduktion. Objektorienterad programutveckling UML UML. Analys Design. Klassdiagram Aktivitetsdiagram Översikt Introduktion UML Objektorienterad programutveckling Analys Design UML Klassdiagram Aktivitetsdiagram Modellering Modellering är ett medel för att hantera komplexitet Bygger en abstraktion av verkligheten

Läs mer

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

TDDE10 TDDE11, 725G91/2. Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 TDDE11, 725G91/2 Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Ett större exempel på OOP Objektorienterad Analys (OOA)

Läs mer

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

DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/ Kursöversikt Javarepetition/Javaintroduktion DD2385 Programutvecklingsteknik Några bilder till föreläsning 1 24/3 2014 Innehåll Kursöversikt Javarepetition/Javaintroduktion UML - klassdiagram-introduktion i anslutning till Java-exemplen Kursmål,

Läs mer

UML. Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN-20520 Åbo, Finland e-mail: tczarnec@abo.fi url: www.abo.

UML. Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN-20520 Åbo, Finland e-mail: tczarnec@abo.fi url: www.abo. UML Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN-20520 Åbo, Finland e-mail: tczarnec@abo.fi url: www.abo.fi/~tczarnec Abstrakt The Unified Modeling Language, UML, är ett visuellt

Läs mer

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

UML 1(5) Introduktion till Unified Modeling Language. 1 Bakgrund och historik UML 1(5) Introduktion till Unified Modeling Language 1 Bakgrund och historik UML är ett objektorienterat modellspråk för att specificera och visualisera system. Det är framtaget i första hand för IT-orienterade

Läs mer

(Data)Modellering. nikos dimitrakas rum 2423

(Data)Modellering. nikos dimitrakas rum 2423 (Data)Modellering nikosd@kth.se 08-161295 rum 2423 Connolly/Begg (3rd edition) Kapitel 11, 12 och 14 (4th edition) Kapitel 11, 12 och 15 (5th edition) Kapitel 12, 13 och 16 (6th edition) Kapitel 12, 13

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1, föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1, föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

TDP005 Projekt: objektorienterade system

TDP005 Projekt: objektorienterade system TDP005 Projekt: objektorienterade system 10/18/2007 Linköpings universitet 1 Översikt Ø Introduktion Ø UML Ø Objektorinterad programutveckling Ø Analys Ø Design Ø UML Ø Klassdiagram Ø Aktivitetsdiagram

Läs mer

Begreppsmodellering i UML

Begreppsmodellering i UML Begreppsmodellering i UML En kort-kort introduktion av Ambjörn Naeve http://kmr.nada.kth.se Begreppsbildning Syfte: Begreppsbildning syftar till att hjälpa oss att bortse från oväsentligheter genom att

Läs mer

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

Objekt-orienterad programmering. Klassbegreppet och C++ UML. UMLs fördelar Klassbegreppet och C++ OOP UML Klasser och objekt i C++ Uppdelning i filer Attribut och metoder Inkappsling - åtkomst Klassattribut - objektattribut Objekt-orienterad programmering Att använda ett objektorienterat

Läs mer

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

Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes Vad kännetecknar en god klass F12 Nested & En odelad, väldefinierad abstraktion Uppgiften kan beskrivas kort och tydlig Namnet är en substantiv eller adjektiv som beskriver abstraktionen på ett adekvat

Läs mer

Begreppsmodellering i UML

Begreppsmodellering i UML Begreppsmodellering i UML En kort-kort introduktion av Ambjörn Naeve http://kmr.nada.kth.se Begreppsbildning Syfte: Begreppsbildning syftar till att hjälpa oss att bortse från oväsentligheter genom att

Läs mer

Objektorienterad programmering

Objektorienterad programmering Objektorienterad programmering Emil Ahlqvist (c10eat@cs.umu.se) Didrik Püschel (dv11dpl@cs.umu.se) Johan Hammarström (c08jhm@cs.umu.se) Hannes Frimmel Moström (c10hml@cs.umu.se) 1 1. Introduktion 1.1 Objektorienterad

Läs mer

Föreläsning 9: Arv och UML

Föreläsning 9: Arv och UML TDA 545: Objektorienterad programmering Föreläsning 9: Arv och UML Magnus Myréen Chalmers, läsperiod 1, 2015-2016 Quiz Vad betyder static? Varför skriver man get-metoder? public int getpos() { return pos;

Läs mer

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl

Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl NADA, KTH OOMPA 1998-10-13 Sid 1 (8) Extentamen i 2D1359 Objektorinterad modellering programmering och analys Tisdag den 13 oktober 1998 kl. 11-13 Inga hjälpmedel tillåtna. Poäng och betyg: För godkänt

Läs mer

UML use cases. Mikael Söderström Institutionen för informatik Umeå universitet micke@informatik.umu.se

UML use cases. Mikael Söderström Institutionen för informatik Umeå universitet micke@informatik.umu.se UML use cases micke@informatik.umu.se Use case (användningsfall) En modelleringsteknik som hjälper utvecklare att bestämma vilka funktioner som ska implementeras i ett system/applikation Finns olika typer

Läs mer

" «Observable» DataGenerator" betyder att klassen DataGenerator ärver från den abstrakta klassen Observable.

 «Observable» DataGenerator betyder att klassen DataGenerator ärver från den abstrakta klassen Observable. 1 Klassdiagram Markera om följande påståenden är sanna eller falska: " «Observable» DataGenerator" betyder att klassen DataGenerator ärver från den abstrakta klassen Observable. Om klassen A ärver från

Läs mer

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

UML. Klassdiagr. Abstraktion. Relationer. Överskugg. Överlagr. Aktivitetsdiagram Typomv. Typomv. Klassdiagr. Abstraktion. Relationer. Översikt Klasshierarkier UML klassdiagram Relation mellan klasser mellan klasser och objekt Association ning ing andling Programmering tillämpningar och datastrukturer 2 UML UML Unified Modeling Language

Läs mer

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

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? Introduktion till objektorientering Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten? jonas.kvarnstrom@liu.se 2016 2014 jonas.kvarnstrom@liu.se

Läs mer

Programmering = modellering

Programmering = modellering Programmering = modellering Ett datorprogram är en modell av en verklig eller tänkt värld. Ofta är det komplexa system som skall modelleras I objektorienterad programmering består denna värld av ett antal

Läs mer

Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion

Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ Utvecklingsmetoder och processer. UML och OCTUPUS en kort introduktion previous next Svårt att utveckla system Strukturerad programmering Flera metoder Utvecklingsmetoder...

Läs mer

Konceptuell modellering. Formalisering, automatisering och effektivisering

Konceptuell modellering. Formalisering, automatisering och effektivisering Konceptuell modellering. Formalisering, automatisering och effektivisering LUSP. HT2012. Föreläsning 7. Övning 7 Erik Perjons perjons@dsv.su.se Modeller och modellering 1 Verksamheten två nivåer Människor

Läs mer

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo

729G75: Programmering och algoritmiskt tänkande. Tema 1. Föreläsning 1 Jody Foo 729G75: Programmering och algoritmiskt tänkande Tema 1. Föreläsning 1 Jody Foo Föreläsningsöversikt Kursinfo / Om kursen Algoritmer Objektorienterad programmering i praktiken terminologi använda objekt

Läs mer

Information. Computer

Information. Computer Information Objektorienterad modellering och diskreta strukturer Lennart Andersson Reviderad 2009-10-14 2009 Tentamen torsdag 22 oktober 8-12/13. Hjälpmedel på tentamen. Martin: PPP Andersson: UML Holm:

Läs mer

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

LÖSNINGSFÖRSLAG. Tentamen. Objektorienterad modellering och design. EDA665, 4 poäng LUNDS TEKNISKA HÖGSKOLA (5) Institutionen för datavetenskap LÖSNINGSFÖRSLAG Tentamen Objektorienterad modellering och design EDA665, 4 poäng 2003-06-03, 8.00-3.00 Anvisningar: Skrivningen består av 2 uppgifter.

Läs mer

Objektorienterad analys och design

Objektorienterad analys och design Objektorienterad analys och design Objektorienterad analys och design 1 Dagens föreläsning Första delen, innan rasten: Motivation och bakgrund Analys Funktioner Andra delen, efter rasten: Objektorienterade

Läs mer

Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts.

Tentamen i EDAF25. 1 juni Skrivtid: Skriv inte med färgpenna enda tillåtna färg är svart/blyerts. Tentamen i EDAF5 juni 07 Skrivtid: 4-9 Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Skriv inte med färgpenna enda tillåtna färg är svart/blyerts. Skriv

Läs mer

Objektorientering Klasser

Objektorientering Klasser Objektorientering Klasser VSA110 1 OOA I analysen upprättas: Klassdiagram Objektdiagram Tillståndsdiagram Scenario Användningsfall Sekvensdiagram Användardialoger (skärmbilder) 2 Analys - en översikt Vi

Läs mer

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

TDDI82 - Projekt. Christoffer Holm. Institutionen för datavetenskap (IDA) TDDI82 - Projekt Christoffer Holm Institutionen för datavetenskap (IDA) 1 Projektkrav 2 Projektplannering 3 Spelutveckling 1 Projektkrav 2 Projektplannering 3 Spelutveckling 3 / 26 Upplägg Spåna projektidé

Läs mer

Objektorienterad programmering. Grundläggande begrepp

Objektorienterad programmering. Grundläggande begrepp Objektorienterad programmering Grundläggande begrepp Hur beskriver vi objekt? Vill ha en representationsoberoende beskrivning Abstrakta datatyper! Data Operationer Objekt Representerar en verklig eller

Läs mer

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

Arv (Inheritance) Multipelt arv finns i verkligheten. Överskuggning, metodbindning. Läsanvisning: ! Arv! Object, instanceof! Relationer! itop F8 Arv (Inheritance) Läsanvisning: arv: i kap 10, exceptions: i kap 15 mer kommer sen UML: tas bara upp i OH Object Kalle Student Person Graduate Lärare! Arv! Object, instanceof! Relationer! UML Nästa

Läs mer

F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander

F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander F8 - Arv ID1004 Objektorienterad programmering Fredrik Kilander fki@kth.se Arv och subklasser Klasser innehåller attribut och beteenden En subklass ärver dessa från föräldern Detta ger: Återanvänd kod

Läs mer

Föreläsning 13 Innehåll

Föreläsning 13 Innehåll Föreläsning 13 Innehåll Arv Repetition Om tentamen Datavetenskap (LTH) Föreläsning 13 HT 2017 1 / 32 Diskutera Här är början på klassen MemoryWindow som använts på en lab. Vad kan menas med extends SimpleWindow?

Läs mer

1 Klasser och objektorientering Vad är objektorientering?

1 Klasser och objektorientering Vad är objektorientering? 1 Klasser och objektorientering Vad är objektorientering? Det finns olika synsätt på programmering, dessa olika synsätt kallas för paradigm. De vanligaste paradigmen är det imperativa/proceduriella, det

Läs mer

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

2I1049 Föreläsning 5. Objektorientering. Objektorientering. Klasserna ordnas i en hierarki som motsvarar deras inbördes ordning 2I1049 Föreläsning 5 Objektorienterad programmering i Java KTH-MI Peter Mozelius Objektorientering Världar uppbyggda av objekt Inte helt olikt vår egen värld Ett sätt att modularisera våra system Objekten

Läs mer

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

HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN) Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061) HT1 2013, FÖRELÄSNING 14 (INFÖR TENTAN) Dagens agenda Admin Tentatid och plats Tillåtet på tentan EDAF10 Föreläsning inför XL-projektet

Läs mer

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 11 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Designmönster Adapter, Factory, Iterator,

Läs mer

Att skriva till och läsa från terminalfönstret

Att skriva till och läsa från terminalfönstret Att skriva till och läsa från terminalfönstret Oftast används grafiska komponenter i Java för att kommunicera med användaren (användargränssnitt), men det finns objekt i standardbiblioteken för de tillfällen

Läs mer

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

UML. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 UML Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 UML Unified Modelling Language Grafiskt modelleringsspråk för att beskriva olika aspekter av objektorienterade system. Vi kommer

Läs mer

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

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a. Översikt UML Sekvensdiagram (dynamic structure) Informationsflöde genom programmet Användningsfall (use cases) Aktörers interaktion med systemet Paketdiagram Beroenden mellan paket abstrakta klasser Multipel

Läs mer

Introduktion. Byggstenar TDBA63 2005-11-22

Introduktion. Byggstenar TDBA63 2005-11-22 Introduktion UML står för Unified Modeling Language. Det är tänkt att fungera som hjälpmedel vid modellering av alla tänkbara typer av utvecklingsarbeten, inte bara inom dataomdrådet. Det största värdet

Läs mer

Tentamen i Objektorienterad modellering och design

Tentamen i Objektorienterad modellering och design Lunds Tekniska Högskola Datavetenskap Tentamen EDA061 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och design Vid bedömningen kommer hänsyn att tas till lösningens kvalitet. UML-diagram

Läs mer

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design RE SD PD I UT IT ST AT Mjukvarudesign System Requirement Specification Inkrementell och iterativ! Konceptuell design (VAD) Systemdesign (OOA) Arkitekturell (grovkornig, UML) Teknisk design (HUR) Programdesign

Läs mer

Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser

Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser TDDD78, TDDE30, 729A85 jonas.kvarnstrom@liu.se 2019 Typhierarkier del 1 Gränssnitt, ärvning mellan gränssnitt, ärvning mellan klasser Hur används hierarkier för att modellera nära relaterade typer? Nu:

Läs mer

RUP är en omfattande process, ett processramverk. RUP bör införas stegvis. RUP måste anpassas. till organisationen till projektet

RUP är en omfattande process, ett processramverk. RUP bör införas stegvis. RUP måste anpassas. till organisationen till projektet RUP är en omfattande process, ett processramverk RUP bör införas stegvis RUP måste anpassas till organisationen till projektet Volvo Information Technology 1 Även RUP har sina brister... Dåligt stöd för

Läs mer

Tentamen i Objektorienterad modellering och design Helsingborg

Tentamen i Objektorienterad modellering och design Helsingborg Lunds Tekniska Högskola Datavetenskap Emelie Engström Tentamen EDAF25 2016 10-26, 08:00 13:00 Tentamen i Objektorienterad modellering och design Helsingborg Tentamen består av en teoridel om totalt 5 poäng

Läs mer

Föreläsning 8 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ UML O2P 2000

Föreläsning 8 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ UML O2P 2000 2EMHNWRULHQWHUDG5HDOWLGVSURJUDPPHULQJ UML och lite mer om OOA (och OOD) - Översikt grundläggande diagram - Kravanalys användningsfall samarbetsdiagram sekvensdiagram meddelandestereotyper tillståndsdiagram

Läs mer

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

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 2 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Konstruktorer Statiska metoder & attribut

Läs mer

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine.

Outline. Objektorienterad Programmering (TDDC77) En frukt har ett namn. Man kan lägga en frukt i en korg... Hashing. Undantag. Ahmed Rezine. Outline Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Undantag Design Hösttermin 2017 En frukt har ett namn Man kan lägga en frukt i

Läs mer

Kursplanering Objektorienterad programmering

Kursplanering Objektorienterad programmering Kursplanering Objektorienterad programmering Fakta Ämne Programmering Poäng 40 Yh-poäng Kurskod YSYS-OOP Klass Systemutvecklare.NET 2 Syfte och koppling till yrkesrollen Syftet är att få en stabil grund

Läs mer

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

TDDE10 TDDE11, 725G90. Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU TDDE10 TDDE11, 725G90 Objektorienterad programmering i Java, Föreläsning 3 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Arv Polymorf UML (klassdiagram) 1 Arv Möt tre studenter

Läs mer

Classes och Interfaces, Objects och References, Initialization

Classes och Interfaces, Objects och References, Initialization Classes och Interfaces, Objects och References, Initialization Objekt-orienterad programmering och design (DIT953) Niklas Broberg/Johannes Åman Pohjola, 2018 Abstract class En abstract class är en class

Läs mer

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

Design. Vad lärde jag mig förra lekfonen? Hur bidrog jag Fll lärandet? Kravhantering sammanfa0ning 13/04/14 Design Vad är design? Vad är arkitektur? Architectural Pa:erns Designprinciper Design Pa:erns UML Domain Driven Design Domänmodell Vad lärde jag mig förra lekfonen? Hur bidrog jag Fll lärandet? Kravhantering

Läs mer

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

Objektorientering. Objekt och metoder. Objektorientering. Viktiga begrepp. Klass. Objekt. Deklarativ programmering och metoder Introduktion till objektorienterad programmering Markus Saers markus.saers@lingfil.uu.se orientering Deklarativ programmering Beskriver förutsättningarna för något Prolog Imperativ programmering

Läs mer

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Classes och Interfaces, Objects och References Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Abstract class En abstract class är en class som inte kan skapa några objekt. Syfte:

Läs mer

Support Manual HoistLocatel Electronic Locks

Support Manual HoistLocatel Electronic Locks Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing

Läs mer

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

Objektorienterad metodik. Programutvecklingsmetodik. Objektmodellen. Varje objekt har en unik identitet OH Objektorienterad programutveckling 1 Programutvecklingsmetodik Stegen vid programutveckling är typiskt kravspecifikation analys ska ge en modell av systemet som är mer exakt och en specifikation som

Läs mer

Programutvecklingsmetodik

Programutvecklingsmetodik OH Objektorienterad programutveckling 1 Programutvecklingsmetodik Stegen vid programutveckling är typiskt kravspecifikation analys ska ge en modell av systemet som är mer exakt och en specifikation som

Läs mer

Outline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine

Outline. Objektorienterad Programmering (TDDC77) Signatur. Klassen calculator. Överlagring (overloading) Arv (inheritance) Ahmed Rezine Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Klassen calculator Signatur Calculator

Läs mer

Objektorienterad Systemutveckling 1 (7,5 hp)

Objektorienterad Systemutveckling 1 (7,5 hp) [ sida 1 ] Objektorienterad Systemutveckling 1 (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen (5 hp) 21OB1B ASYST13h, NGIMI13h, ADAEK13h Datum och tid: 2015-01-14, kl. 09.00 13.00 Hjälpmedel:

Läs mer

Examen i 2D1359 & 2D1360 Objektorienterad modellering programmering och analys Tisdagen, 23 Oktober 2001, 14:00-19:00

Examen i 2D1359 & 2D1360 Objektorienterad modellering programmering och analys Tisdagen, 23 Oktober 2001, 14:00-19:00 NADA, KTH 2D1359 & 2D1360 2001-10-23 Sid 1 av 7 Examen i 2D1359 & 2D1360 Objektorienterad modellering programmering och analys Tisdagen, 23 Oktober 2001, 14:00-19:00 Inga hjälpmedel tillåtna. Poäng och

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning XI: åsidosättning, gränssnitt, uppräkning, hierarkier Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Överlagring (overloading) Arv

Läs mer

Inkapsling (encapsulation)

Inkapsling (encapsulation) UML UML är en standard för att dokumentera och visualisera sina tankar och beslut under analys och design. Att lära sig allt om UML får inte plats i den här kursen, men vi kommer lära oss vissa delar.

Läs mer

Objektorienterad Programmering (TDDC77)

Objektorienterad Programmering (TDDC77) Objektorienterad Programmering (TDDC77) Föreläsning XIV: Undantag, Design Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Hashing Undantag Design Outline Hashing Undantag Design En frukt

Läs mer

Övning / handledning Användningsfall

Övning / handledning Användningsfall ACSD sommar 2004 Övning / Handledning Användningsfall Uppsala universitet & Stefan Blomkvist @ 2004 Stefan Blomkvist stefan.blomkvist@it.uu.se ACSD sommar 2004. Övning / handledning Användningsfall Ett

Läs mer

Föreläsning 3 Användare, uppgift och omgivning. Kapitel 3-4 i Stone et al.

Föreläsning 3 Användare, uppgift och omgivning. Kapitel 3-4 i Stone et al. Föreläsning 3 Användare, uppgift och omgivning Kapitel 3-4 i Stone et al. Från föregående föreläsning Kravinsamling med användare i fokus genom Observationer i verkliga situationer Konstruera uppgifter

Läs mer

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

Objektorienterade programmeringsspråk. Objektorienterade språk. Den objekt-orienterade modellen. Jämför med icke-oo Objektorienterade språk Historik Simula 67 Smalltalk 80 Procedurorienterad programmering Subprogram Programbibliotek Dataorienterad programmering Abstrakta datatyper Objektbaserade språk, föregångare till

Läs mer

Lösningar till tentamen i EDAF25

Lösningar till tentamen i EDAF25 Lösningar till tentamen i EDAF25 1 juni 2017 Lösning 1 Se figur 1. Figure 1: Tillståndsdiagram espressomaskin Lösning 2 (a) Kompositmönstret (b) Se figur 2 (c) Se figur 3 : Square : Drawing : Group : Circle

Läs mer

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik

LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik LUNDS TEKNISKA HÖGSKOLA Institutionen för Elektro- och Informationsteknik SIGNALBEHANDLING I MULTIMEDIA, EITA50, LP4, 209 Inlämningsuppgift av 2, Assignment out of 2 Inlämningstid: Lämnas in senast kl

Läs mer

Imperativ programmering. Föreläsning 4

Imperativ programmering. Föreläsning 4 Imperativ programmering 1DL126 3p Föreläsning 4 Imperativa paradigmer Ostrukturerad programmering Strukturerad programmering Procedurell programmering Objektorienterad programmering Klassbaserad programmering

Läs mer

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2

TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2 TDA550 Objektorienterad programvaruutveckling IT, forts. kurs Övning vecka 2 Pelle Evensen, Daniel Wetterbro 5 november 2009 Sammanfattning Denna vecka ska vi titta på abstrakta klasser kontra interface,

Läs mer

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016

Objektorienterad Programkonstruktion. Föreläsning 2 2 nov 2016 Objektorienterad Programkonstruktion Föreläsning 2 2 nov 2016 Objekt - klass Namn Fält1 Fält2 Fält3 Metod1 Metod2 Metod3 Metod4 Objekt - klass Objekt - klass Objekt - klass + Objekt - klass public class

Läs mer

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim Agenda (halvdag)

Objektorienterad programmering Föreläsning 8. Copyright Mahmud Al Hakim  Agenda (halvdag) Objektorienterad programmering Föreläsning 8 Copyright Mahmud Al Hakim mahmud@webacademy.se www.webacademy.se Agenda (halvdag) Objektorienterad programutveckling Algoritmer Algoritmkonstruktionerna Relationer

Läs mer

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat

Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Föreläsning 8 - del 2: Objektorienterad programmering - avancerat Johan Falkenjack johan.falkenjack@liu.se Linköpings universitet Sweden December 4, 2013 1 Innehåll Arv och andra viktiga begrepp Abstrakta

Läs mer

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

TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS TDDC74 FÖRELÄSNING 9 ANDERS MÄRAK LEFFLER IDA/HCS 180226 Idag (ADT), OOP i Racket, labb 5 2 Allmän info Duggan. Laboration 4 deadline. Planering framöver Muddy cards (nästa timme) 3 Lite repetition ADT

Läs mer

Lösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel

Lösningar till Fiktiv Tentamen på kursen. 2D4135 Objektorienterad programmering, design och analys med Java vt2004. Teoridel Lösningar till Fiktiv Tentamen på kursen 2D4135 Objektorienterad programmering, design och analys med Java vt2004 Teoridel T1) (4p) Förklara kort följande grundläggande begrepp inom objektorienterad programmering:

Läs mer