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

Storlek: px
Starta visningen från sidan:

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

Transkript

1 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 tidigare system Stort system. Beskrivs i ett antal läroböcker & manualer Vi ser på hur man kan beskriva datastrukturer (objekt och klasser) i. ( har mycket annat, tex diagram för dynamisk modellering och use-case) öppna() stäng() flytta() visa() Ofta utelämnas attribut & metoder pga platsbrist (eller: för att göra modellen tydligare) Operationer (metoder) Objectorienterad programmering Sida 1 Objectorienterad programmering Sida 3 : Ansvar : tre huvudanvändningar Analysmodell: analysera problemformuleringen Designmodell: rita upp programmet i stora drag Reverse-engineering: hjälp att förstå beintligt program Ett fjärde fält i klassdiagrammet. Datum Datum(år, mån, dag) Lagrar information om visst datum Objectorienterad programmering Sida 2 Objectorienterad programmering Sida 4

2 Association Samband mellan klasser Bok 0..* 1 Bibliotek Två klasser har nåt att göra med varandra Almanacka Datum Klassen Almanacka använder klassen Datum. 0 eller flera böcker associerade till ett visst bibliotek Associationen kan tillåta både att man tar reda på till vilket bibliotek en viss bok tillhör att man tar fram en lista på alla böcker i ett visst bibliotek Objectorienterad programmering Sida 5 Objectorienterad programmering Sida 7 Generalisering (I Java: Att en klass ärver en annan, att den ärvande klassen på nåt sätt är mera specifik) Exempel: Mera komplext exempel: Fordon Fordon motorstyrka Cykel 0..* äger tillhör 1 Person namn ålder Objectorienterad programmering Sida 6 Objectorienterad programmering Sida 8

3 Exempel (forts) Ett fordon är antingen en bil eller en cykel Associationsbegreppet En fördel med associationsbegreppet: Man tvingas tänka över multiplicitet Varje cykel har en associerad person (cyklisten) Hur många telefonnummer kan en person ha? Pilen anger att vi kan gå från cykel till cyklist, men ej tvärtom Den svarta pilen vid äger anger hur associationen ska läsas Hur många fruar? Hur många adresser? Hur många föräldrar? Hur många nationaliteter? Objectorienterad programmering Sida 9 Objectorienterad programmering Sida 11 Multirelationer Om inget annat anges är en association (relation) många till många. Bra eller dåligt? - Person Associationsbegreppet (forts) Det visar sig ofta att man vill öka multiplicitet (att en person kan ha flera telefonnummer eller adresser, tex) Det visar sig ofta att man vill kunna gå åt båda hållen Lärare undervisar Student Objectorienterad programmering Sida 10 Objectorienterad programmering Sida 12

4 Sammansättning Användningsfall, (scenarier, use cases) En slags association. Anger att ett objekt är en del av ett annat Utgå från viktiga användningar av systemet Exempel (bankomat) Kund vill ta ut pengar Kund vill kontrollera saldot Beskriv i modellen hur tjänsten ska utföras Hjul Kräver förstås att systemet har tillräcklig funktionalitet för att kunna tillhandahålla tjänsten Objectorienterad programmering Sida 13 Objectorienterad programmering Sida 15 Olika typer av diagram i Objekt-orienterad utveckling Användarfallsdiagram Saker man vill uppnå: Klassdiagram (redan beskrivet) Dynamisk modellering: tillståndsdiagram, sekvensdiagram Interaktionsdiagram Komponentdiagram - beskriver implementeringsmoduler Det finns även diagram för att beskriva den fysiska realiseringen, processer,... en systematisk metod för att gå från problembeskrivning till färdigt system metod för formell beskrivning av problem som ska lösas metod för övergripande beskrivning av systemet [en ritning] kunna ge beskrivningar av olika delsystem så att varje programmerare (i ett större projekt) vet vad han ska göra Objectorienterad programmering Sida 14 Objectorienterad programmering Sida 16

5 Objekt-orienterad programutveckling Att gå från problem till färdig lösning Iterativ utveckling Unified process Exempel: Affärssystem för företag (något eller några av bokföring, fakturahantering, lagerhantering, orderhantering) Inte tekniskt komplicerat. Men: systemet ska integreras i befintlig verksamhet. Av Jacobson et. al samma arbetsmoment som vattenfallsmodellen, men ej ett i taget Iterationer av fix längd Eventuellt anpassas till befintliga system. Varje iteration arbetar i alla faser Viktigt att anpassa till kundens önskemål. Varje iteration producerar ett körbart system Kunden ej tekniskt kompetent stor risk för missförstånd. Objectorienterad programmering Sida 17 Objectorienterad programmering Sida 19 Klassisk modell för systemutveckling (vattenfallsprincipen) Extreme programming Utveckla i små steg, fokusera på nästa version av systemet Fyra faser: Unit testing 1. Analys Enkelhet 2. Design Refactoring 3. Implementation/unit testing Parprogrammering 4. Integration/testning OBS: vattenfallsprincipen har stora brister! Gemensamt ägande av kod Ständig integration Kund på plats Objectorienterad programmering Sida 18 Objectorienterad programmering Sida 20

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

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

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

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

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

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

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

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

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

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

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

Objektorienterad 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) 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 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

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

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

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

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

Fyra i rad Javaprojekt inom TDDC32

Fyra i rad Javaprojekt inom TDDC32 Fyra i rad Javaprojekt inom TDDC32 Analys och design-dokument Version 2.0 Datum 2008-05-19 Dokumentnummer 20080303 Sammanfattning Detta är analys och design-dokumentet för programmet Fyra i rad. Fyra i

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

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

Ö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

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

Opponentrapport på examensarbete Utveckling av ett affärssystem med Unified Process av Therese Sundström.

Opponentrapport på examensarbete Utveckling av ett affärssystem med Unified Process av Therese Sundström. Opponentrapport på examensarbete Utveckling av ett affärssystem med Unified Process av Therese Sundström. Författare Per Johansson, Henrik Wallinder Generellt Helhetsintrycket från genomläsning av uppsatsen

Läs mer

Agil programutveckling

Agil programutveckling Agil programutveckling Pontus Evertsson D00, Lunds Tekniska Högskola d00pe@efd.lth.se Anna Jennerheim D00, Lunds Tekniska Högskola d00aj@efd.lth.se 2003-05-15 1 1. Inledning 3 2. Extreme Programming (XP)

Läs mer

Interaktionsteknik och Design, 7,5hp

Interaktionsteknik och Design, 7,5hp Tentamen i Interaktionsteknik och Design, 7,5hp Datum: Tid: 9.00-15.00 Tentamen består av två delar, matematik och interaktionsdesign. Dessa kommer att viktas så att de båda bidrar med 50% till totalpoängen.

Läs mer

KravinsamlingAnalys Design Implementation Testning

KravinsamlingAnalys Design Implementation Testning 1 Utvecklingscykler Para ihop följande begrepp med rätt utvecklingscykel Matcha ihop värdena: KravinsamlingAnalys Design Implementation Testning Interaktionsdiagram Systemsekvensdiagram User Stories Enhetstester

Läs mer

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter

7,5 högskolepoäng. Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: Lycka till! /Peter & Petter Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: ADAEK12h ASYST12h NGIMI12h 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:

Läs mer

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

729G75: 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 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

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

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

Objektorienterad programutveckling i ett nötskal

Objektorienterad 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 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

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

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

RUP - Rational Unified Process

RUP - 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 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

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

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

12 principer of agile practice (rörlig)

12 principer of agile practice (rörlig) X-treme programming 12 principer of agile practice (rörlig) Ge nöjd kund genom tidig och kontinuerliga leveranser Den viktigaste punkten som betyder att min vill ha kontinuerlig feedback Välkomna sena

Läs mer

Informationssystem och databasteknik, 2I-1100

Informationssystem och databasteknik, 2I-1100 Informationssystem och databasteknik, 2I-1100 Introduktion till informationssystem - användning, teknik och utveckling Vad är ett informationssystem? Informationssystem: datoriserat system som stödjer

Läs mer

Tillämpning av Unified Process och Design Patterns vid integrering av system

Tillämpning av Unified Process och Design Patterns vid integrering av system Tillämpning av Unified Process och Design Patterns vid integrering av system Andreas Jönsson Examensarbete för 20 p, Institutionen för datavetenskap, Naturvetenskapliga fakulteten, Lunds universitet Thesis

Läs mer

Föreläsning om OO, OOA och UML

Föreläsning om OO, OOA och UML Föreläsning om OO, OOA och UML Modellering Kristian Ekberg Källa bild: video Marie Åsberg, AFA Försäkring Dagens föreläsning Presentation Kristian Ekberg Model och modellering Vad är en modell och vad

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

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

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

Projektkaos. Chaos-rapporten. 34% av projekten avslutades i tid och enligt budget... ... 66% misslyckades! Projektkaos. Chaos-rapporten 34% av projekten avslutades i tid och enligt budget...... 66% misslyckades! 1 Standish Group, 2003 (www.standishgroup.com) Praxis Hantera krav Använd komponentarkitekturer

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 programmering, allmänt

Objektorienterad programmering, allmänt Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 juni 2005 1 Vilka egenskaper vill vi att program ska ha? Förslag (en partiell lista): De ska... gå snabbt att skriva vara

Läs mer

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha?

Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt. Vilka egenskaper vill vi att våra program ska ha? Viktiga egenskaper hos ett program (Meyer): Objektorienterad programmering, allmänt Sven-Olof Nyström Uppsala Universitet 17 mars 2005 1. Korrekthet 2. Robusthet 3. Utökbarhet 4. Återanvändbarhet 5. Kompatibilitet

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

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

Blekinge Tekniska Högskola UML. - i teori och praktik. Examensarbete inom datavetenskap 10 poäng, C-nivå, våren Eva Henriksson is98

Blekinge Tekniska Högskola UML. - i teori och praktik. Examensarbete inom datavetenskap 10 poäng, C-nivå, våren Eva Henriksson is98 Blekinge Tekniska Högskola UML - i teori och praktik Examensarbete inom datavetenskap 0 poäng, C-nivå, våren 200 Författare: Handledare: Examinator: Eva Eklund adb98 Eva Henriksson is98 Kamilla Klonowska

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

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15

Objekt, klasser. Tillstånd Signatur Kommunikation Typ. Fält, parametrar och lokala variabler. Konstruktorer Metoder DAVA15 DAVA15 Objekt, klasser Vad är det? Vad är sambandet mellan dem? Vad är skillnaden mellan dem? Tillstånd Signatur Kommunikation Typ Fält, parametrar och lokala variabler Likheter och skillnader Räckvidd

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

RUP Rational Unified Process. 17 november 2004

RUP 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 mer

Teoridel (svaren direkt på lydelsen)

Teoridel (svaren direkt på lydelsen) NADA, KTH 2D359 & 2D360 999-0-23 Sid () Tentamen i 2D359 & 2D360 Objektorienterad modellering programmering och analys Lördag den 23 oktober 999 kl. 4-9 MED KORTA LÖSNINGSFÖRSLAG Inga hjälpmedel tillåtna.

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

Linköpings universitet 1

Linköpings universitet 1 Vanliga faser TDP029 Systemutveckling Annika Silvervarg COIN/HCCS/IDA Analys Vad är problemet? Uppgift Vad är det för arbetsuppgifter och hur utförs de? Användarbehov Vad behöver användaren/användarna?

Läs mer

Projektering av informationssystem

Projektering av informationssystem Projektering av informationssystem Att ta fram specifikationer för utveckling av informationssystem eller upphandling av standardsystem. Kurslängd: 3 dagar Kursbeskrivning Att ta fram precisa, kompletta

Läs mer

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

729G75: 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

Bilaga A. Klassdiagram i OMT (klasser och dess relationer) Klassdiagram i UML (klasser och dess relationer) 1 st

Bilaga A. Klassdiagram i OMT (klasser och dess relationer) Klassdiagram i UML (klasser och dess relationer) 1 st Bilaga A Klassdiagram i OMT (klasser och dess relationer) Klassdiagram i UML (klasser och dess relationer) VäderSamling nyttgivarvärde 1 st består av GivarVärde nuvärde datum tid SkrivUtNuVärde() LäggTillGivarVärde()

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

Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal

Tentamen. DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl Hjälpmedel: penna, suddgummi, linjal Tentamen DD2385 Programutvecklingsteknik vt 2013 Onsdagen den 22 maj 2013 kl 14.00 17.00 Hjälpmedel: penna, suddgummi, linjal Tentan har två delar om vardera 30 poäng Maximala betygsgränser (gränserna

Läs mer

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.

Tentamen. 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14. Tentamen 2D4135 vt 2005 Objektorienterad programmering, design och analys med Java Lördagen den 28 maj 2005 kl 9.00 14.00, sal E33 Tentan har en teoridel och en problemdel. På teoridelen är inga hjälpmedel

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

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

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

Game Development. Spelprogrammering

Game Development. Spelprogrammering 1. Södertörns högskola Institutionen för Medieteknik Praktiskt examensarbete inom programmet IT, medier och design, 15 hp Medieteknik Vårterminen 2012 Programmet för IMD Game Development Using UML Class

Läs mer

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod

Linköpings universitet 1 TDP029. Systemutveckling. Systemutveckling. Vanliga faser. Fler faser. Systemutvecklingsmetod Systemutveckling TDP029 Systemutveckling Annika Silvervarg COIN/HCCS/IDA Systemutveckling kallas processen att ta emot en beställning på ett datorsystem, skriva en strukturerad kravspecifikation på systemet,

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

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

Institutionen för programvaruteknik och datavetenskap FRÅN OMT TILL UML - ETT NÖDVÄNDIGT VAL?

Institutionen för programvaruteknik och datavetenskap FRÅN OMT TILL UML - ETT NÖDVÄNDIGT VAL? Institutionen för programvaruteknik och datavetenskap FRÅN OMT TILL UML - ETT NÖDVÄNDIGT VAL? Examensarbete inom datavetenskap C-uppsats, 10 poäng Hösten 2001 Av: Petra Ling Ann-Christin Pettersson Handledare:

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

STUDIE AV SYSTEMUTVECKLINGSMETODER PÅ

STUDIE AV SYSTEMUTVECKLINGSMETODER PÅ Handelshögskolan VID GÖTEBORGS UNIVERSITET Institutionen för informatik Publiceringsdatum: 2005-05-27 STUDIE AV SYSTEMUTVECKLINGSMETODER PÅ FÖRETAG OCH UNIVERSITET INOM OBJEKTORIENTERAD ANALYS OCH DESIGN

Läs mer

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDDI02. Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU TDDI02 Programmeringsprojekt. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU På denna föreläsning: Verifikation, Validering och Testning XP Extreme Programming Vad är ett fel? I engelskan

Läs mer

Arkitektur Michael Åhs

Arkitektur Michael Åhs Arkitektur Michael Åhs Kalle & Hobbe: En utvecklares drömsystem 1. Vad är arkitektur? 2. Arkitektur i UML Innehåll 3. Utveckla en arkitektur 4. Arkitektur i projektet Del 1 - Vad är Arkitektur? Pattern-Oriented

Läs mer

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning

PMM (Process Maturity Metrics) Allmänt. Mätetal för framgångsfaktorer. 1. CM konfigurationsstyrning PMM (Process Maturity Metrics) PMM är en metod för att mäta processmognad i utvecklingsprojekt. I korthet går metoden ut på att man utvärderar sin utvecklingsprocess med avseende på ett antal framgångsfaktorer

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar hur mjukvaror skapas, anpassas och utvecklas samt programmeringens roll i informationstekniska sammanhang som datorsimulering och praktisk datoriserad problemlösning.

Läs mer

UML. Unified Modeling Language

UML. Unified Modeling Language UML Unified Modeling Language 1 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 UML kort

Läs mer

Kursstruktur. Objektorienterad modellering och diskreta strukturer / design. Programmering utan OMD. Vad är Objektorienterad modellering?

Kursstruktur. Objektorienterad modellering och diskreta strukturer / design. Programmering utan OMD. Vad är Objektorienterad modellering? Kursstruktur Objektorienterad modellering och diskreta strukturer / design Mål och innehåll Lennart Andersson kurs HT1 v1-4 HT1 v4-7 TP 1 HT2 v1-3 EDAF10 Principer och mönster, Diskreta Tentamen Projekt

Läs mer

Är objektorienterad modellering ett måste? (HS-IDA-EA )

Är objektorienterad modellering ett måste? (HS-IDA-EA ) Är objektorienterad modellering ett måste? (HS-IDA-EA-00-409) Anders Johansson (a97andjo@student.his.se) Institutionen för datavetenskap Högskolan i Skövde, Box 408 S-54128 Skövde, SWEDEN Examensarbete

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

PROGRAMMERING. Ämnets syfte. Kurser i ämnet

PROGRAMMERING. Ämnets syfte. Kurser i ämnet PROGRAMMERING Ämnet programmering behandlar programmeringens roll i informationstekniska sammanhang som datorsimulering, animerad grafik, praktisk datoriserad problemlösning och användaranpassad konfiguration

Läs mer

7,5 högskolepoäng. Objektorienterad systemutveckling I. Lycka till! /Peter & Petter. Provmoment: Ladokkod: 21OS1B Tentamen ges för:

7,5 högskolepoäng. Objektorienterad systemutveckling I. Lycka till! /Peter & Petter. Provmoment: Ladokkod: 21OS1B Tentamen ges för: Objektorienterad systemutveckling I Provmoment: Ladokkod: 21OS1B Tentamen ges för: ADAEK12h ASYST12h NGIMI12h 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:

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

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

UML-syntax. Lennart Andersson Datavetenskap, LTH. 20 januari 2013

UML-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 mer

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7)

Översikt. Programmering tillämpningar och datastrukturer. Vad kursen täcker. Lärare. Rekommenderad litteratur. Kursmål 729G58 (HKGBB7) Översikt Programmering tillämpningar och datastrukturer 729G58 (HKGBB7) Kursinformation Objektorienterad programmering: Klasser och objekt Arv Polymorfism Metoder Programexempel Programmering tillämpningar

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

Symptom på problemen vid programvaruutveckling

Symptom 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 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

Tentamen. DD2385 Programutvecklingsteknik vt 2014 Måndagen den 2 juni 2014 kl Hjälpmedel: penna, suddgummi, linjal

Tentamen. DD2385 Programutvecklingsteknik vt 2014 Måndagen den 2 juni 2014 kl Hjälpmedel: penna, suddgummi, linjal Tentamen DD2385 Programutvecklingsteknik vt 2014 Måndagen den 2 juni 2014 kl 10.00 13.00 Hjälpmedel: penna, suddgummi, linjal Tentan har två delar om vardera 30 poäng Maximala betygsgränser (gränserna

Läs mer

Datavetenskap. Therese Sundström. Utveckling av ett affärssystem med. Unified Process. Examensarbete, D-nivå 30 ECTS 2005:05

Datavetenskap. Therese Sundström. Utveckling av ett affärssystem med. Unified Process. Examensarbete, D-nivå 30 ECTS 2005:05 Datavetenskap Therese Sundström Utveckling av ett affärssystem med Unified Process Examensarbete, D-nivå 30 ECTS 2005:05 Utveckling av ett affärssystem med Unified Process Therese Sundström 2005 Therese

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

Programmering 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 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 mer

SKOLFS. beslutade den XXX 2017.

SKOLFS. beslutade den XXX 2017. 1 (11) Föreskrifter om ändring i Skolverkets föreskrifter (SKOLFS 2010:247) om ämnesplan för ämnet programmering i gymnasieskolan, inom kommunal vuxenutbildning på gymnasial nivå och inom vidareutbildning

Läs mer

Objektorienterad systemutveckling i ett nötskal

Objektorienterad systemutveckling i ett nötskal Objektorienterad systemutveckling i ett nötskal Tommy Olsson, Institutionen för datavetenskap, Linköpings universitet, 999 Objektorienterad systemutveckling i sin helhet är omfattande. Här presenteras

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