Unified Modeling Language UML
|
|
- Bo Gösta Andersson
- för 8 år sedan
- Visningar:
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 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 merObjektorientering. Grunderna i OO
Objektorientering Grunderna i OO 1 Systemutveckling Tre systemnivåer: Verksamhet Informationssystem Datasystem Huvuduppgifterna i ett systemutvecklingsarbete: Verksamhetsanalys Informationsbehovsanalys
Läs merTDP005. 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 merMer 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 merObjektorientering 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 merUML: 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 merOCTOPUS 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 merAbstrakta 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 merObjekt-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 merOOMPA 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 merFö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 merObjektorienterad 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 merObjekt-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 merAnalys 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 merIntroduktion 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 merTDDC30. 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 merObjektorienterad 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 merObjektorienterad 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 merIntroduktion 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 merFö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 merInnehå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 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 merObjekt-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 merArv. 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 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 merTDDE10 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 merDD2385 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 merUML. 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 merUML 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 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 mer729G75: 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 merTDP005 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 merBegreppsmodellering 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 merObjekt-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 merVad 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 merBegreppsmodellering 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 merObjektorienterad 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 merFö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 merExtentamen 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 merUML 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.
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 merUML. 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 merIntroduktion 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 merProgrammering = 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 merUtvecklingsmetoder 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 merKonceptuell 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 mer729G75: 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 merInformation. 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 merLÖ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 merObjektorienterad 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 merTentamen 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 merObjektorientering 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 merTDDI82 - 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 merObjektorienterad 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 merArv (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 merF8 - 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 merFö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 mer1 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 mer2I1049 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 merHT1 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 merTDDC30. 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 merAtt 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 merUML. 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 merUML. Ö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 merIntroduktion. 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 merTentamen 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 merMjukvarudesign. 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 merTyphierarkier 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 merRUP ä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 merTentamen 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 merFö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 merTDDC30. 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 merOutline. 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 merKursplanering 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 merTDDE10 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 merClasses 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 merDesign. 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 merObjektorientering. 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 merClasses 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 merSupport 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 merObjektorienterad 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 merProgramutvecklingsmetodik
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 merOutline. 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 merObjektorienterad 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 merExamen 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 merObjektorienterad 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 merInkapsling (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 merObjektorienterad 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
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 merFö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 merObjektorienterade 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 merLö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 merLUNDS 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 merImperativ 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 merTDA550 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 merObjektorienterad 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 merObjektorienterad 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 merFö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 merTDDC74 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 merLö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