UML. Unified Modeling Language
|
|
- Malin Sandberg
- för 8 år sedan
- Visningar:
Transkript
1 UML Unified Modeling Language 1
2 UML kort historik 1980-talet: Många OO-metoder Stora skillnader inom Notation Begrepp Omfång Svåra att jämföra Unified Modeling Language enad eller likriktad 2
3 UML kort historik Kortfattat kan UML beskrivas så här: UML är ett visuellt språk för att specificera, konstruera och dokumentera ingående delar i ett system. UML är ett generellt modelleringsspråk i den mening att det går att använda för olika verksamhetsområden och för olika tekniska plattformar. Historik: UML 2.0 utökning som lanserades stegvis mellan 2003 och 2005 De som mest aktivt deltog i framtagande av UML var: Grady Booch Jim Rumbaugh Ivar Jacobson Ansvaret för vidareutveckling har OMG (Object Management Group) där vidare specifikationsarbete sker i form av en community. 3
4 UML kort historik Målet är att UML ska Kunna beskriva alla typer av system Kunna utökas vid behov Kunna tolkas entydigt av en maskin Kombinera styrkorna från tidigare OO-notationer 4
5 UML kort historik Några egenskaper hos UML som modelleringsspråk: UML är ett visuellt modelleringsspråk. UML består av en stor uppsättning element och regler för hur elementen kopplas samman. 14 olika diagramtyper finns identifierade i UML 2.2, tidigare var det 9 stycken. Elementen har en definierad syntax och semantik, vilket gör att det kan kallas för ett språk. UML är utökningsbart 5
6 Genomgång av UML UML är ingen metod Beskriver därför inte Arbetssteg (omfattning / ordning) Projektfaser Rollfördelning (ansvar) Leveransobjekt Övrig dokumentation Stödjer alla faser i mjukvaruutveckling Metodoberoende 6
7 Elementen i UML Språket UML byggs upp av ett antal element och regler för hur dessa element kopplas samman. 7
8 Diagram i UML 2.2 8
9 Allmän UML-notation En notering kan göras var som helst i ett diagram. Antingen som en fristående notering eller kopplad till ett element via en streckad linje. Note Note Använd noteringar för att: Förklara och informera läsaren. Förklara det som inte är uppenbart. Skriva kodfragment eller text som beskriver ett beteende eller en begränsning. 9
10 Allmän UML-notation Ramar (Frames) är en nyhet i UML 2.0. De används för att rama in grupper av samverkande element eller för att att referera till andra sådana grupper. rama in hela diagram. rama in delar av diagram, exempelvis sekvensdiagram. 10
11 Så här ritas en klass Klassnamn instansvariabler metoder Klass utan instansvariabler Klassnamn metoder Så här ritas en instans :Klassnamn Klass på designnivå Djur Djur namn fördelseår hämtanamn hämtaålder Klass på implementationsnivå private String namn private int födelseår public String hämtanamn() public int hämtaålder() variabelnamn = värde 11
12 Klassdiagram Klassdiagrammet är ett strukturbeskrivande diagram som används för att visa en statisk bild över modellelement och deras inbördes relationer. Klassdiagram är det mest centrala diagrammet i UML Visar klasserna som ingår i systemet Visar relationer mellan klasser (arv, aggregat, associationer) Beskriver systemets statiska struktur Vad används det till? Definiera vilka data som systemet ska hantera Definiera hur data kan modifieras Vad uppnås? Verksamhetsförståelse Ansvarsfördelning mellan klasser 12
13 Klassdiagram Klassdiagram kan användas i många olika sammanhang där strukturelement och deras relation ska modelleras. Kodgenerering och kodvisualisering: Objektorienterad kod och klassdiagram har mycket gemensamt och historiskt sett är den kopplingen kärnan i de verktyg som stödjer UML. Objektorienterad kod kan visualiseras med UML och från klassdiagram kan kod genereras. Verksamhetsmodellering: Konceptuella modeller för att beskriva verksamheter är lämpliga att beskriva i form av klassdiagram. 13
14 Klassdiagram Class ClassName Interface Generalization <<interface>> InterfaceName Association Interface Realization Dependency Aggregation Composition 14
15 Klassdiagram Klass Företeelse i verksamheten Ritas som en tredelad rektangel Namn, attribut och operationer skrivs ut Första rutan i rektangeln får inte vara tom. (Klass Namn) Person -name : String -age : int Attribut Egenskap för en klass Har en datatyp Värden sätts i objekt av klassen Exempel: sträng, heltal Namnet bör spegla vilka data som lagras Synlighet (prefix före namn): Public (+) Private (-) Protected (#) 15
16 Klassdiagram Operation Kan vara Kommando ändrar objektets tillstånd Fråga returnerar data om tillståndet (get) Kan ha en eller flera parametrar med varsin datatyp VisibilityForOperationsClass + publicoperation() - privateoperation() # protectedoperation() Objekt Förekomst av en klass person : Person name : String = Alex Jones age : int = 25 16
17 Association Association (A har/använder B) Visar att klasserna känner till varandra Statisk relation mellan två eller fler klasser Rak linje innebär obestämd eller dubbelriktad association. Innebörd bestäms i projektet. Enkelriktad association ritas som en pil Associationens namn bör spegla relationens syfte Placeras nära linjen Inte obligatoriskt Verb Roll Visar hur en klass uppfattas av en annan klass Kan namnges (substantiv) Varje association har två roller (en för varje riktning) Skriv namnet nära klassen som rollen avser (på en associationslinje) Exempel: Ägare, Kund, Lärare 17
18 Ex Roller Person Bil 1 Ägare äger * Egendom Person Mor 1 1 Far Föräldraskap 18
19 Association ClassA ClassC ClassE ClassG ClassI ClassK ClassB ClassD ClassF ClassH ClassJ ClassL Exempel på diverse relationer mellan klasser ClassA är beroende av ClassB. ClassC har en ospecificerad koppling till ClassD. ClassE känner till ClassF Båda klasserna känner till varandra. Aggregat används för att visa på en struktur med whole/part -relation. ClassJ är en del av klassen ClassI Påminner om aggregat men vid komposition kan inte ClassL existera om inte ClassK finns. 19
20 Association Multiplicitet Visar hur många objekt av en klass som kan kopplas ihop med objekt av en annan klass Anges vid associationslinje Asterix (*) = godtyckligt många <min>..<max> = intervall Exempel: * 0..* 2, 3, * Employee Computer Multiplicitet 20
21 Aggregat Aggregering (är en del av) Visar att ett modellelement (en klass) är en del av ett annat modellelement (en annan klass) Starkare form än association mellan klasser Samma notationsmöjligheter (multiplicitet, roller, etc) Visas som en streck med diamant Work Team member Person 21
22 Aggregat Ifylld diamant (komposition) avser att ett objekt av en klass kan endast existera som del av ett objekt av en annan klass. Förstörs huvudobjektet förstörs även delarna (composition) Bil Chassi Motor Hjul 22
23 Aggregat Exempel på komposition * Listbox Window 1 * Button * Menue 23
24 Generalisering /Specialisering (Arv) Specialisering /Generalisering (är) Visar att en klass ärver egenskaper och beteenden från en annan klass Specialfall av association Abstrakta klasser: saknar instanser Animal Fordon Mammal Cat Horse Bil Buss Grundregel för pilar: Den som pekar är den som utför en aktiv handling. 24
25 Klassdiagram Exempel - Hinge -size Room * -Passage * Door -isopen : bool -color : String +open() +close() +isopen() +getcolor() +setcolor(in color : String) * - Lock -islocked : bool * +lock() +unlock() +islocked() Glass Door -isbreakable : bool +isbreakable() : bool 25
26 Klassdiagram Mål / Ideal Visar hur användarna tänker kring sin verksamhet Beskriver användarnas språk (jämför med begreppsmodellering) Visar hur centrala begrepp hänger ihop 26
27 Klassdiagram Objektdiagram Instanciering av ett klassdiagram Visar en ögonblicksbild över tillståndet i ett system Kan klargöra komplicerade klasstrukturer Behöver inte alltid tas fram 27
28 Tillståndsdiagram Vad är det? Beskriver totala dynamiken för en klass (beteende) Behövs inte för enkla klasser Händelseorienterat Vad används det till? Hitta alla tillstånd för objekt av klassen Beskriva klassens levnadscykel över samtliga användningsfall Identifiera alla giltiga övergångar mellan tillstånd Vad uppnås? Hantering av komplicerad dynamik 28
29 Tillståndsdiagram Tillståndet hos bok objektet kan ändras när en kopia av boken lånas. Tillståndet kan ändras från att vara utlåningsbar (det finns en kopia i biblioteket) till ej utlåningsbar (alla kopiorna är utlånade eller reserverade). Vi kan visa detta med ett tillståndsdiagram. 29
30 Tillståndsdiagram 30
31 Ex. tillståndsdiagram - kontantuttag sätt in kort Kort insatt begär kod mata in kod Väntan på kod förkasta betalning Kod inmatad avbryt Belopp godkänt Kod accepterad Väntan på belopp välj belopp Belopp valt godkänn belopp Belopp ej godkänt 31
32 Ex. tillståndsdiagram - telefon Active TimeOut lift receiver / getdialtone DialTone do/ play dial tone do/ play message dial digit(n) dial digit(n)[incomplete] Dialing Idle Invalid dial digit(n)[invalid] do/ play message Connecting Pinned caller hangs up / disconnect Busy do/ play busy tone busy connected Talking Ringing do/ play ringing tone 32
33 Övning klassdiagram Böcker och tidskrifter Biblioteket innehåller böcker och tidskrifter. Det kan finnas flera kopior av samma bok. Endast biblioteksanställda får låna tidskrifter. 33
34 Lösningsförslag 34
35 Use Case Use Case är användarfall som visar systemet ur användarnas synvinkel beskriver en bestämd uppgift som görs i ett system består av ett diagram och en textbeskrivning ska skapa ett mervärde för systemets aktörer lätt modell att komma igång med Use Case-Diagrammet visar relationen mellan olika användningsfall visar hur aktörerna använder användningsfall 35
36 Use Case Vad används det till? Hitta systemets användare Identifiera användarnas krav Definiera systemets funktioner Identifiera delsystem 36
37 Use Case 37
38 Use Case Notation: <Actor> Primär aktör Informationsflöde (dubbelriktat) <Actor> Sekundär aktör Informationsflöde (enkelriktat) Funktionsnamn Ett användningsfall (Use Case) Include Nyttjande av användningsfallet Systemets namn Systemet Extends Utökning av användningsfall 38
39 Use Case Aktör Primär aktör i förhållande till systemet Motsvarar en roll som användaren spelar En användare kan ha många roller Flera användare kan ha samma roll Använder systemet direkt Erhåller värden från systemet Behöver inte vara en person Exempel: Kund, Tidrapporteringssystem Sekundär aktör Underhåller eller övervakar systemet Gör systemet tillgängligt för primära aktörer Exempel: Lagerpersonal, systemklocka <Actor> <Actor> 39
40 Use Case Användningsfall (Use Case) Ett användningsfall är en specificerad uppgift en aktör kan utföra i systemet Uppbyggt av ett antal scenarier Scenario: dialog mellan aktör och systemet Normalfall / undantag Tillsammans utgör alla användningsfall systemets funktionalitet System Definierar omfånget (gränsen) för systemet Kan vara vilken sorts system som helst Exempel: Lagerhanteringssystem 40
41 Use Case Informationsflöde (dubbelriktat) En ömsesidig påverkan mellan en aktör och ett användningsfall (relation) Funktionen är beroende av de data som användaren matar in Exempel: Aktörens val avgör vilka skärmbilder som visas och vilken information som presenteras, därefter gör aktören nya val, etc. Informationsflöde (enkelriktat) Informationsflöde från ett användningsfall till en aktör (eller omvänt) Symbolen används för att visa att informationen är enkelriktad Exempel: Rapport skrivs ut till kund (info) 41
42 Use Case A include B A extend B Beroende (include) Ett including användningsfall inkluderar ett annat användningsfall Beroende (extend) Används för att utvidga ett användningsfall med innehållet i ett annat användningsfall Notationen används ofta för att beskriva undantag och felhantering i modellen 42
43 Use Case-diagram Varuleverans (system) Fakturering Uses Beräkna kostnad Kund Registrera order Extends Registrera förstagångsanvändare Plocka ihop beställning Leverera varor Budfirma Lagerarbetare Uses kan ses i gamla diagram, i de nyare heter relationen <<include>> 43
44 Use Case-diagram 44
45 Use Case-diagram Realiseras av systemets klasser Genom samarbete Realiseringen visas i övriga UML-diagram Hur användningsfall ska dokumenteras i detalj beskrivs inte i UML 45
46 Use Case-diagram Fallgropar? Göra ostrukturerade / tvetydiga textbeskrivningar Klassiska fällor: synonymer, homonymer, syftningsfel För många användningsfall Beskriva användningsfall som inte levererar mervärde till någon aktör 46
47 Övning 1 - Use Case Vid en bensinstation kan man tanka sin bil och betala i en automat, antingen med kontokort eller kontant. Vilka aktörer och användningsfall kan finnas i detta system. 47
48 Övning 2 - Use Case Vilka scenarier kan du hitta för systemet i övning 1? Beskriv något av scenarierna närmare. 48
49 Lösningsförslag Övning 1 Aktörer: kund, bensinbolag (det datorsystem hos bensinbolaget som kontrollerar bensinkort och registrerar köp). Eventuellt en administratör till bensinbolagets system. Användningsfall: Tankning med kontant betalning, tankning med kontokortsbetalning. Ett eller flera användningsfall som hanterar administration av systemet. 49
50 Lösningsförslag Kund Tanka med kort Bensinbolag Tanka kontant Sätta bensinpris Admin 50
51 Lösningsförslag Övning 2 Två vanliga scenarier: En kund betalar kontant och tankar En kund betalar med kort och tankar. Mer ovanliga scenarier: En kund betalar kontant och glömmer att tanka En kund betalar med kort men har glömt sin PIN-kod En kund vill betala kontant men automaten accepterar inte sedeln, o.s.v. Det finns fler av dessa mer ovanliga scenarier beroende på alla faktorer som kan gå fel. 51
52 Lösningsförslag Noggrannare beskrivning av tanka med kontokort: En kund anländer till bensinstationen. Textfönstret i bensinautomaten visar Välkommen, sätt in ditt kort. Kunden sätter in sitt kort i automaten. Automaten läser kortet, visar Ange PIN-kod i textfönstret. Kunden trycker in sin kod. Automaten läser koden, kontrollerar kortet och koden hos bensinbolaget och finner att de är giltiga. Automaten visar Tag ditt kort och tanka i textfönstret. Kunden väljer oktantal vid bensinpumpen och tankar. Automaten får uppgifter om tankningen från bensinpumpen och registrerar köpet hos Bensinbolaget. 52
53 Sekvensdiagram Vad är det? Visar hur objekt samarbetar för att lösa en uppgift Motsvarar vanligtvis ett användningsfall Operationerna visas i tidsordning Vad används det till? Beskriva systemets beteende (dynamik) Skapa arbetsfördelning mellan klasser (ansvar) Identifiera saknade klasser 53
54 Sekvensdiagram Vad uppnås? Överblick Händelser Meddelande-flöden (mönster) Samarbete mellan komponenter Verksamhetsförståelse Fallgropar? Göra för komplicerade sekvensdiagram 54
55 Sekvensdiagram window Objekt Deltar i samarbete för att lösa arbetsuppgift Klassnamnet kan skrivas ut Exempel: fönster : Fönster Livslinje för objektet (lifeline) Tidsaxel open() Meddelande Skickas mellan objekten Metodnamn obligatoriskt Kan ha parametrar (inom parentes) 55
56 Sekvensdiagram recordplayer Aktivitet Ritas som vertikal rektangel längs livslinjen Anges då ett objekt utför arbete i flödet Resultatet av ett meddelande-anrop Villkor Måste gälla för att meddelandet ska sändas [unlocked] open() valuesok() Retur-meddelande Retur tillbaka till anroparen Visa bara returvärde om det förtydligar beskrivningen 56
57 Sekvensdiagram Objektet upphör (destruktion) Anger att objektet slutar existera Görs på eget initiativ eller resultat av anrop Visas som ett kors längs livslinjen close() Asynkront meddelande Anroparen väntar inte på retur Meddelande (vanligt anrop) 57
58 Sekvensdiagram :Klass1 :Klass2 :Klass3 1. metodnamn 2. metodnamn 3. * metodnamn 58
59 Ex. Sekvensdiagram vad händer när man klickar på en sökknapp i ett fönster :Användare :Sökknapp :Knapp- Kommando :Söktextruta :Modell :Fönster klick actionperformed gettext sökdata visasökresultat 59
60 Ex. Sekvensdiagram -öppna dörr med en kod Keypad Door Control Unit Security System Lamp Controller Door key pressed(1) key pressed(5) key pressed(3) key pressed(enter) verify code(153) code accepted() light() open() 60
61 61
62 Aktivitetsdiagram Aktivitetsdiagram beskriver en följd av händelser i ett system, med hjälp av aktiviteter. Aktivitetsdiagram är en speciell form av tillståndsdiagram, som bara (eller i huvudsak) innehåller aktiviteter. Aktivitetsdiagram liknar procedurella flödesdiagram, med skillnaden att alla aktiviteter är klart länkade till objekt. Aktivitetsdiagram hör alltid ihop med en klass, en operation eller ett användningsfall. Aktivitetsdiagram stöder sekvens- samt parallella aktiviteter. Parallell körning representeras med ikonen Dela upp/samla ihop, och det är inte viktigt för aktiviteter som kör parallellt i vilken ordning de utförs (de kan köras samtidigt eller en i taget). Aktivitet En aktivitet är ett enda steg i en process. En aktivitet är ett tillstånd i systemet med intern aktivitet och åtminstone en utgående övergång. Aktiviteter kan också ha mer än en utgående övergång, om de har olika villkor. 62
63 Några andra typer av diagram Samarbetsdiagram Samarbetsdiagram visar växelverkan mellan objekt som deltar i en speciell situation. Det här är mer eller mindre samma information som visas i sekvensdiagram, men där läggs vikten vid hur växelverkan sker i tiden, medan samarbetsdiagram lägger vikten vid sambanden mellan objekten och deras topologi. Komponentdiagram Komponentdiagram visar programkomponenter (antingen komponentteknologier som Kparts, CORBA-komponenter eller Java Beans eller bara delar av systemet som är klart urskiljbara) och artefakterna de består av, som källkodsfiler, programbibliotek eller relationsdatabastabeller. Komponenter kan ha gränssnitt (dvs. abstrakta klasser med operationer) som tillåter association mellan komponenter. Utplaceringsdiagram (deployment diagram) Utplaceringsdiagram visar komponentinstanserna vid körning och deras associationer. De omfattar noder, som är fysiska resurser, typiskt en enskild dator. De visar också gränssnitt och objekt (klassinstanser). 63
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 merObjektorientering. Grunderna i OO
Objektorientering Grunderna i OO 1 Systemutveckling Tre systemnivåer: Verksamhet Informationssystem Datasystem Huvuduppgifterna i ett systemutvecklingsarbete: Verksamhetsanalys Informationsbehovsanalys
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 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 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 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 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 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 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 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 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 merHandbok Umbrello UML Modeller
2 Innehåll 1 Inledning 7 2 Grundläggande UML 8 2.1 Om UML........................................... 8 2.2 UML-element........................................ 9 2.2.1 Användningsfallsdiagram.............................
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 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 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 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 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 merUML-syntax. Lennart Andersson Datavetenskap, LTH. 20 januari 2013
UML-syntax Lennart Andersson Datavetenskap, LTH 20 januari 2013 1 Inledning UML är en grafisk notation för utformning och beskrivning av objektorienterade system. Akronymen står för Unified Modeling Language.
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 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 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 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 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 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 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 merUML 2.0 Genomgång av de 13 diagramtyper som ingår i UML 2.0.
UML 2.0 Genomgång av de 13 diagramtyper som ingår i UML 2.0. Copyright 2005 Arnold Andreasson This work is licensed under a Creative Commons License. For a human-readable summary of the Legal Code, see
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 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 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 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 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 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 merUnified 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 merObjektorienterad programutveckling i ett nötskal
Objektorienterad programutveckling i ett nötskal Tommy Olsson, Institutionen för datavetenskap, Linköpings universitet, 204 Detta häfte ger en översikt av grundläggande begrepp inom objektorienterad programutveckling:
Läs mer729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2
729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Klass-diagram Exempel Arv i Python Egna klasser använd som egna datatyper, men även
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 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 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 merOutline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.
Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Att instansiera en klass Objekt I Man instansierar (skapar
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 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 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 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 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 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 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 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 merObjektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.
(7) Objektinteraktion Objektorienterad programmering 2 Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt. Mål Efter övningen skall du kunna konstruera ett program med
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 mer"Är en"-relation. "Har en"-relation. Arv. Seminarium 2 Relevanta uppgifter. I exemplet Boll från förra föreläsningen gällde
Föreläsning 7 "Har en"-relation Arv "Har en" "Är en" Superklassen Object Överskuggning Fordonsexempel Seminarium 2 Relevanta uppgifter Uppgift 31 I exemplet Boll från förra föreläsningen gällde följande
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 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 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 merObjektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.
(7) Objektinteraktion Objektorienterad programmering Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt. Mål Efter övningen skall du kunna konstruera ett program med flera
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 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 merObjektorienterad programmering Föreläsning 4
Objektorienterad programmering Föreläsning 4 Copyright Mahmud Al Hakim mahmud@dynamicos.se www.webbacademy.se Agenda Introduktion till objektorientering Klasser och Objekt Instansvariabler Metoder Introduktion
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2017 Outline Instansiering Åtkomst Abstrakt datatyp UML Överlagring
Läs merTentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.
Tentamen 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl 9.00 14.00, sal D31 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel
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 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 merRUP - Rational Unified Process
IBM Software Group RUP - Rational Unified Process Eva Hådding eva.hadding@se.ibm.com 1 Projektkaos. Chaos-rapporten 28% av projekten avslutades i tid och enligt budget. 49% av projekten drog över de ursprungliga
Läs merKort om klasser och objekt En introduktion till GUI-programmering i Java
Kort om klasser och objekt En introduktion till GUI-programmering i Java Klasser En klass är en mall för hur man ska beskriva på något. Antag att vi har en klass, Bil. Den klassen innehåller en lista på
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 merJava-syntax (arv) Exempel: public class Crow extends Bird {... } Jämför med Lab 1: public class FirstApp extends Frame {... }
Föreläsning 3 Arv Kategorisering Stora program leder till många klasser (tänk liknelsen med en affär med många varor). Att dela in saker i kategorier är en vanlig strategi för att hantera stora komplexa
Läs mer729G75: Programmering och algoritmiskt tänkande. Tema 3, föreläsning 2
729G75: Programmering och algoritmiskt tänkande Tema 3, föreläsning 2 Översikt Vanliga mönster när man designar en klass Arv i Python UML-diagram Exempel Vanliga mönster när man designar en klass Namngivning
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 merTDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDE10 m.fl. Objektorienterad programmering i Java Föreläsning 6 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Mer om Interface Generiska klasser Undantag Nästlade klasser 1
Läs merObjektorienterad Programmering (TDDC77)
Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Outline Introduktion HT2 Åtkomst Abstrakt datatyp UML Överlagring
Läs merObjektorienterad Programmering DAT043. Föreläsning 10 13/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material)
Objektorienterad Programmering DAT043 Föreläsning 10 13/2-18 Moa Johansson (delvis baserat på Fredrik Lindblads material) 1 Sökning och Sortering: Binärsökning Problem: Hitta ett element i en godtycklig
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 merSymptom på problemen vid programvaruutveckling
eller Varför är det bättre med halsbränna i början av ett projekt än i slutet? Eva Hådding ehadding@rational.com Symptom på problemen vid programvaruutveckling Användarnas och verksamhetens behov ej uppfyllda
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 merGrundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14
Grundläggande programmering, STS 1, VT 2007. Sven Sandberg Föreläsning 14 I torsdags & fredags: arrayer Deklaration, initiering, åtkomst Arrayer är referenser Arrayer som parametrar och returvärden Exempel
Läs merRUP Rational Unified Process. 17 november 2004
RUP Rational Unified Process 17 november 2004 RUP Volvo Information Technology, Eva Hådding Volvo Information Technology Volvo IT ingår i Volvo-koncernen Volvo Lastvagnar Volvo Bussar Volvo Anläggningsmaskiner
Läs merRelationer mellan objekt
Relationer mellan objekt Att utveckla en applikation När man utvecklar en applikation börjar man självklart inte direkt att programmera. Först måste man analysera problemet och utveckla en design för lösningen.
Läs merNationell informationsstruktur 2015:1 Bilaga 1: Läsanvisning till modellerna
Nationell informationsstruktur 2015:1 Bilaga 1: Läsanvisning till modellerna Innehåll Inledning... 3 Ord och uttryck... 4 Processmodeller... 5 Vad är en processmodell?... 5 Hur används processmodeller
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 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 merOutline. Objektorienterad Programmering (TDDC77) Laborationsserie del två. Vad händer under HT2. Introduktion HT2 UML.
Outline Objektorienterad Programmering (TDDC77) Föreläsning X: Klass diagram, inkapsling, arv Ahmed Rezine IDA, Linköpings Universitet Hösttermin 2016 Vad händer under HT2 Laborationsserie del två I Klasser
Läs merCopyright Syntell AB 1
Systemmodellering med SysML SESAM seminarium 2006-05-31 Erik Herzog Ansats Presentation av SysML från två perspektiv Akademiskt Industriellt Bakgrund Översikt Utvärdering Copyright Syntell AB 1 SysML SysML
Läs merTentamen. Datalogi I, grundkurs med Java 10p, 2D4112, Lördagen den 30 november 2002 kl , salar E33, E34
Tentamen Datalogi I, grundkurs med Java 10p, 2D4112, 2002-2003 Lördagen den 30 november 2002 kl 9.00 14.00, salar E33, E34 Inga hjälpmedel 30 poäng ger säkert godkänt, 40 poäng ger betyg 4 50 poäng ger
Läs merF2: Krav på objektorienterat språk
Institutionen för datavetenskap Umeå Universitet F2: Krav på objektorienterat språk Objektorienterad programmering för ingenjörer, VT-04 Innehåll Krav på objektorienterat språk Avvägningar vid design av
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 merOOMPA 2D1359 Föreläsning 5
OOMPA 2D359 Föreläsning 5 Objektorienterad Modellering Programmering och Analys Innehåll Klassdiagram med Klassbeskrivningar l klasser, arv, attribut, operationer l relationer, associationer, restriktioner
Läs merTentamen i Objektorienterad modellering och diskreta strukturer
Lunds Tekniska Högskola Datavetenskap Ulf Asklund, Sven Gestegård obertz Tentamen EDAF10 2014 10 31, 14.00 19.00 Tentamen i Objektorienterad modellering och diskreta strukturer Vid bedömningen kommer hänsyn
Läs merIntroduktion till UMLs klassdiagram
1(28) Introduktion till UMLs 1 Inledning...3 2 Klassdiagram Introduktion till klasser och objekt...4 2.1 Olika typer av klasser...5 2.1.1 Abstrakta klasser...5 2.1.2 Gränssnitt (eng. Interface)...5 2.1.3
Läs merObjektorienterad Programkonstruktion. Föreläsning 3 7 nov 2016
Objektorienterad Programkonstruktion Föreläsning 3 7 nov 2016 Klass/instans Med hjälp av nyckelordet static kan vi bestämma att en metod eller ett fält ska tillhöra själva klassen i stället för en specifik
Läs merTDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU
TDDC30 Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU På denna föreläsning: Interface Generiska klasser Undantag
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 merUnified 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 merProgrammering i C++ EDA623 Objektorienterad programutveckling. EDA623 (Föreläsning 5) HT 2013 1 / 33
Programmering i C++ EDA623 Objektorienterad programutveckling EDA623 (Föreläsning 5) HT 2013 1 / 33 Objektorienterad programutveckling Innehåll Grundläggande begrepp Relationer mellan objekt Grafisk representation
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 merObjekt, Klasser, Paket m. m.
Objekt, Klasser, Paket m. m. Bildserie 3 Objekt Ett objekt karakteriseras av - Identitet, det som gör det möjligt att särskilja objektet från andra objekt - Tillstånd, den data som finns i objektet - Beteende,
Läs merKonstruktion av klasser med klasser
Konstruktion av klasser med klasser Klasser kan byggas på redan denierade klasser genom att klassobjekt används som dataattribut när en ny klass beskrivs. Exempel: Klassen PairOfDice har två attribut attribut
Läs merEtt objekt... Exempel: Om ni tittar er runt i föreläsningssalen ser in många olika fysiska föremål:
Klasser och objekt Ett program i Java är en modell som används för att simulera uppträdandet hos en verklig eller påhittad värld. I ett objektorienterat programspråk modelleras den värld som man vill avbilda
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 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 mer