Objektorienterad Systemutveckling (7,5 hp)

Storlek: px
Starta visningen från sidan:

Download "Objektorienterad Systemutveckling (7,5 hp)"

Transkript

1 [ sida 1 ] Objektorienterad Systemutveckling (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen 21OS1B DE11, IMIT11, SYST11 (omtentamen) Datum och tid: , kl Hjälpmedel: Inga hjälpmedel tillåtna Tentamen är normalt färdigrättad inom 4 veckor ( ). Därefter kan inregistreringen av resultatet ta ca en vecka, dvs att resultatet bör vara synligt på MittKonto senast Betyg: OBS! Denna tentamen är gjord i flera delar. Eventuella godkända delar från tentamen blir automatiskt överförda till denna tentamen och rättas därför inte vid denna tentamen. Om någon återstående del av tentamen inte når upp till godkänt för den delen (50%), blir betyget på tentamen Underkänd. För betyget Godkänd eller högre måste samtliga delar vara godkända, dvs uppnå minst 50% av möjliga poäng på respektive del. Om delar från tidigare tentamen förts över kommer poängen på kvarvarande delar att räknas om relativt mot den förbrukade tiden vid denna tentamen. För betyget Väl Godkänd måste därefter minst 75% av möjliga poäng ha uppnåtts på tentamen som helhet. Maxpoäng på denna tentamen är 100 poäng. Allmänna anvisningar: 1. Skriv endast på ena sidan av pappret, ej fram och baksida. 2. Ange tydligt till vilken fråga svaret hör. 3. Lägg svaren i samma ordning som frågorna i tentamenshäftet (del A = fråga 1) 4. Svårlästa svar kan inte rättas! 5. Ansträng er att besvara frågorna tydligt. 6. Markera på omslaget till tentamen vilka frågor du lämnat svar på. 7. Om du finner uppgifterna i tentamenstexten ofullständiga skall du göra egna antaganden för de uppgifter du saknar. Redovisa dina egna antaganden. Samtliga frågor besvaras med kurslitteratur och föreläsningar som utgångspunkt. Om du använt ytterligare informationsmaterial för dina svar, anger du vilket material i dina svar. Ett tips är att du ägnar som första steg lite tid åt att gå igenom frågorna för att därigenom planera och disponera tiden på bästa sätt. Du bör även vid denna inspektion fundera lite över hur frågan är formulerad för att uttolka frågans intention. Begrepp som t ex, diskutera, exemplifiera, beskriv och förklara säger något om frågans innebörd och hur du bör svara. Lycka till med tentamen! Petter Dessne ( ) Del B Björn Abelli ( ) Del A, C, D OBS!! Vid en skriftlig tentamen måste studenten visa att han/hon har tillräckliga kunskaper inom problemområdet. Många gånger är det möjligt att ge exempel och illustrera, ibland det bästa eller till och med det enda sättet, och kan påverka poängsättningen för svaret. Om du anser att en frågeställning inte är komplett, så är det upp till dig att komplettera med eventuellt saknade förutsättningarna. I sådana fall måste du också ange eventuella tillkommande förutsättningar i ditt svar.

2 [ sida 2 ] OBS! Denna tentamen är gjord i flera delar. Om del A av tentamen inte når upp till godkänt (50%), blir betyget på tentamen Underkänd; Om del A når upp till Godkänt rättas övriga delar. För betyget Godkänd eller högre måste samtliga delar vara godkända, dvs uppnå minst 50% av möjliga poäng på delen. För betyget Väl Godkänd måste därutöver 75% av möjliga poäng ha uppnåtts på tentamen som helhet. Markera rätt svar för kryssfrågorna med ett tydligt X i därför avsedd ruta i svarsfälten nedan. På kryssfrågorna är endast ett svar korrekt. Om mer än en ruta är ikryssad på en fråga räknas det som ett felaktigt svar. Svarsformulär för del A (huvudfråga 1) Varje korrekt svar ger 1 poäng, dvs max 25 poäng för denna del. Glöm inte att lägga denna sida i det gula tentamenshäftet!

3 [ sida 3 ] Frågor för del A (Huvudfråga 1). Fyll i dina svar på sidan 2! 1. I diagrammet till höger betyder # att attributet ankomst har synlighet a. public b. protected c. private d. internal 2. I diagrammet till höger betyder - att attributet namn har synlighet a. public b. protected c. private d. internal 3. Diagrammet till höger innehåller ett exempel på designmönstret a. decorator b. facade c. composite d. iterator 4. Att Resa är i kursiv stil innebär att den klassen är.. a. ett interface b. abstrakt c. en subklass d. indikativ 5. Triangeln innebär att Enkelresa a. är en superklass b. ärver alla egenskaper Resa har c. kan ha högst tre instanser d. ingår i klassen Resa 6. Romben betyder att en instans av Rundresa a. har ett högre värde än andra instanser b. automatlagras persistent c. aggregerar instanser av Resa eller någon av dess subklasser d. får implementeras i C# 7. I diagrammet betyder 2..* att a. en Rundresa associeras till högst 2 instanser av Resa b. en Resa associeras till högst 2 instanser av Rundresa c. en Rundresa associeras till minst 2 instanser av Resa d. en Resa associeras till minst 2 instanser av Rundresa 8. Två associationer i diagrammet till höger har pilhuvuden. Dessa pilhuvuden betyder a. att Resa sänder meddelandena till respektive från till Ort b. att ett meddelande inte får en retur-respons c. att associationen är uni-directional d. att associationen är bi-directional 9. En komposition innebär.. a. en svagare koppling än ett aggregat, men starkare än en enkel association b. en svagare koppling än en enkel association, men starkare än ett aggregat c. en starkare koppling än både aggregat och en enkla associationer, d. en svagare koppling än både aggregat och en enkla associationer 10. Med multipelt arv menas a. att en klass kan vara superklass till flera subklasser b. att en klass kan vara subklass till flera superklasser c. att ett interface kan implementeras utav flera klasser d. att en klass kan implementera flera interface

4 [ sida 4 ] 11. Med dynamisk bindning avses a. att ett anrop av en metod i ett annat objekt redan vid kompileringstillfället binds till en adress dit exekveringen skall hoppa (läsa instruktionerna) b. att ett anrop av en metod i ett annat objekt först vid själva exekveringen binds till en adress dit exekveringen skall hoppa (läsa instruktionerna) c. att en operation i en subklass blir en annan metod om vi har en annan signatur d. att en operation i en subklass har samma signatur som en operation i dess basklass 12. Med överskuggning avses a. att ett anrop av en metod i ett annat objekt redan vid kompileringstillfället binds till en adress dit exekveringen skall hoppa (läsa instruktionerna) b. att ett anrop av en metod i ett annat objekt först vid själva exekveringen binds till en adress dit exekveringen skall hoppa (läsa instruktionerna) c. att en operation i en subklass blir en annan metod om vi har en annan signatur d. att en operation i en subklass har samma signatur som en operation i dess basklass 13. Ett grundbegrepp inom OO är inkapsling, som egentligen är två skilda principer. Vad kan sägas att vara en generell princip om den del som avser information hiding? a. att attribut bör ha synligheten private eller protected b. att attribut bör ha synligheten public eller internal c. att operationer bör ha synligheten private d. att operationer bör implementeras med privata metoder 14. I klassbeskrivningen till höger så är tabell a. ett interface b. en klass c. ett attribut d. en stereotyp 15. I klassdiagrammet till höger, så är Listener a. ett event b. ett meddelande c. ett interface d. en operation 16. Vilket GoF-mönster kan diagrammet i fråga 15 sägas illustrera? a. Decorator b. Mediator c. Memento d. Observer 17. Vilken av följande kodrader skulle kunna existera i en direkt implementation av klassdiagrammet på föregående sida? a. private namn string; b. protected string ankomst; c. public class Ort : Resa d. private List<Resa> resor = new List<Resa>(); 18. Inom objektorienteringen innebär "reflektion" a. att varje objekt kan ha flera exekveringsvägar b. en särskild iteration i analysfasen c. att en applikation vid exekvering kan hämta information om ett objekt från objektet självt d. att objekt exekverar en metod som svar på ett meddelande 19. Ett Deployment diagram är ett exempel på ett a. Structure diagram b. Behavior Diagram c. Interaction Diagram d. Activity Diagram 20. Sekvensdiagrammet till höger innebär att a. meddelandet NextActivity loopas b. meddelandet NextActivity är villkorat c. NextActivity refererar till ett annat sekvensdiagram d. NextActivity refererar till ett aktivitetsdiagram

5 [ sida 5 ] 21. Diagrammet till höger illustrerar a. ett hashtable-aggregat b. low coupling c. en kvalificerad association d. ett komponentdiagram 22. Nedan finns 4 diagram. Vilket utav dem (A, B, C eller D) illustrerar ett Communication Diagram? 23. Nedan finns 4 diagram. Vilket utav dem (A, B, C eller D) illustrerar ett State Machine Diagram? 24. Nedan finns 4 diagram. Vilket utav dem (A, B, C eller D) illustrerar ett Composite Structure Diagram? 25. Nedan finns 4 diagram. Vilket utav dem (A, B, C eller D) illustrerar ett Component Diagram? Glöm inte att lägga svarssidan (sida 2) för ovanstående svar i det gula tentamenshäftet! För de följande delarna skall svaret för respektive fråga skrivas/ritas på ett separat blad, tydligt angivet vilken fråga det är ett svar på.

6 [ sida 6 ] Del B (Inception/Analys) Fråga 2 (8p) Objektorienterad utveckling sker företrädesvis under många iterationer. Viktigt inför varje iteration är att rangordna/ranka de olika delar som ska implementeras. Vilka aspekter är bra att utgå ifrån (ledtråd: jag och boken har tagit upp tre) och vilka frågor kan man ställa i samband med det? Ge även ett exempel där du rangordnar fyra-fem olika delar/funktioner i valfritt påhittat system enligt följande modell: Ranking Användningsfall/feature Kommentar (och så vidare) Fråga 3 (2 p) INCEPTION IS NOT THE REQUIREMENTS PHASE stod som tagline till filmen Inception på en av mina slides. Citatet är förstås hämtat från Larman. Men vad menar han? Och vad är det som avgörs i inception-fasen? Fråga 4 (12 p) Både jag och kursboken har tagit upp begreppet kontrakt (operation contracts). Beskriv med ord och figurer hur kontrakt används, vad de används till och när de används. Utgå t.ex. från följande frågor: Vad är kontrakt (operation contract)? Vad har man för glädje av kontrakt? Hur ser ett kontrakt ut (ge exempel)? Vad har kontrakten för roll i utvecklingsprocessen, dvs. när används de? Fråga 5 (3 p) I ett ER-diagram (som inte har med denna kurs att göra) visas sambandet mellan olika entiteter via relationer. Även i OOSU visas hur relationer, kallade associationer, binder samman olika ting, men ibland är de noterade två gånger. Studera figuren nedan. Flight * Flyger till 1 Flygplats * Flyger från a) Vad heter diagramtypen? (1p) b) Varför går relationen åt två håll? (2p) 1

7 [ sida 7 ] Del C (Elaboration/Design) Läs noga igenom uppgifterna och förutsättningarna innan Du börjar med uppgifterna. I de fall där Du tycker att förutsättningar saknas får Du göra egna antaganden. Egna antaganden skall redovisas med motivering. Musikmogulen Bert Larsson i Vara skall utveckla ett bokningssystem för sina artister. Så här ser klassdiagrammet för klasserna i systemet ut just nu: Vi förutsätter här att typen Date kan endast datum och typen Time endast klockslag. På en och samma konsert kan det delta många artister, men en artist uppträder på en konsert bara vid en tidpunkt. Med Artist avses såväl soloartister som grupper, men det kan i förekommande fall även handla om specialkonstellationer utav grupper och soloartister som uppträder under en gemensam beteckning.

8 [ sida 8 ] Fråga 6 (8 p) I diagrammet på föregående sida finns inga operationer utskrivna, men systemet kommer ändå att ha metoder. Vilka typer av operationer behöver inte ritas ut i ett UML-diagram? Ge ett exempel för varje sådan typ med utgångspunkt från Berts system. Fråga 7 (9 p) Gör ett objektdiagram med namnsatta objekt som illustrerar alla tänkbara kombinationer av associationer mellan instanser utav klasserna i diagrammet. Alla attribut skall ha ifyllda värden, hitta själv på data. Uppgift 8 (8 p) Nedanstående exempel i C# illustrerar implementationen utav en utav klasserna från diagrammet på föregående sida, men med namn på identifierare utbytta. Exemplet kan i övrigt ses som den fullständiga klassen! public class A : B Vad skall stå istället för A respektive B i exemplet, för att verkligen utgöra en implementation utav klassen från diagrammet? Motivera vad som gör att ditt svar utgör det enda rätta svaret. Vilken nytta kan den klassen göra i Berts bokningssystem, fastän den till synes är helt tom?

9 [ sida 9 ] Del D (Construction/Implementation) Läs noga igenom uppgifterna 9-11 och förutsättningarna nedan innan Du börjar med uppgifterna. I de fall där Du tycker att förutsättningar saknas får Du göra egna antaganden. Egna antaganden skall redovisas med motivering. Schemaläggning IT-avdelningen på Högskolan i Mitterås har påbörjat utvecklingen utav ett system för schemaläggning. Koden på följande sidor är resultatet utav en tidig iteration, så många attribut och operationer saknas. Tyvärr har UML-diagrammen som använts för att generera koden förkommit, och det är din uppgift att återskapa dem med så korrekt UML-notation som möjligt. Uppgift 9 (10 p) Gör ett klassdiagram (Class Diagram) som så exakt som möjligt motsvarar koden nedan och på följande sidor. Du kan undanta beroenden till andra paket ( using namespaces). Uppgift 10 (8 p) Gör ett sekvensdiagram (Sequence Diagram) som så exakt som möjligt motsvarar koden nedan och på följande sidor, med startpunkt i ett anrop av operationen Boka i klassen Control. Uppgift 11 (7 p) Gör ett tillståndsdiagram (State Machine Diagram) som så exakt som möjligt motsvarar ett objekt ur klassen Rum. public class Lärare : Person, People // Attribut private string title; // Metoder public string Title get return title; public Lärare(string firstname, string lastname, string title, string ) : base(firstname, lastname, ) this.title = title; public int Antal get return 1;

10 [ sida 10 ] using System.Collections.Generic; class Klass : People // Attribut private string klassbeteckning; private int startår; // Association public List<Student> students = new List<Student>(); // Metoder public int Antal get return students.count; public void AddStudent(Student s) if (!students.contains(s)) students.add(s); public Klass(string klassbeteckning, int year) this.klassbeteckning = klassbeteckning; this.startår = year; class Student : Person // Association Klass klass; // Metoder public Klass Klass get return klass; public Student(string firstname, string lastname, Klass klass, string ) : base(firstname, lastname, ) this.klass = klass; klass.students.add(this);

11 [ sida 11 ] /// Implementeras av de klasser för individer och grupper som skall /// ingå i en bokning, för att kunna allokera ett rum av rätt storlek interface People int Antal get; public abstract class Person // Attribut private string firstname; private string lastname; private string ; // Metoder public string Firstname get return firstname; public string Lastname get return lastname; public string get return ; public Person(string firstname, string lastname, string ) this.firstname = firstname; this.lastname = lastname; this. = ;

12 [ sida 12 ] using System; using System.Collections.Generic; class Bokning // Attribut private DateTime start; private DateTime slut; // Association private List<People> persons; // Metoder public DateTime Slut get return slut; set slut = value; public DateTime Start get return start; set start = value; public Bokning(List<People> lista, DateTime start, DateTime slut) Start = start; Slut = slut; persons = lista; public bool Overlaps(DateTime start, DateTime slut) if ((start >= Start && start <= Slut) (slut >= Start && slut <= Slut) (start <= Start && slut >= Slut)) return false; else return true;

13 [ sida 13 ] using System; using System.Collections.Generic; class Control // Associationer private List<Person> personer = new List<Person>(); private List<Rum> rummen = new List<Rum>(); private List<Klass> klasser = new List<Klass>(); // Metoder public List<Person> Personer get return personer; protected List<Klass> Klasser get return klasser; protected List<Rum> Rummen get return rummen; public void AddRum(Rum r) rummen.add(r); rummen.sort(); public void AddPerson(Person p) personer.add(p); public void AddClass(Klass p) klasser.add(p); public void Boka(List<People> lista, DateTime start, DateTime slut) int antal = 0; foreach (People p in lista) antal += p.antal; foreach (Rum r in rummen) if (r.antalplatser >= antal) if (r.boka(lista, start, slut)) return;

14 [ sida 14 ] using System; using System.Collections.Generic; class Rum : IComparable<Rum> // Attribut private int antalplatser; // Association private List<Bokning> bokningar = new List<Bokning>(); // Metoder public int AntalPlatser get return antalplatser; set antalplatser = value; public Rum(int antal) antalplatser = antal; public int CompareTo(Rum other) return this.antalplatser.compareto(other.antalplatser); public bool Boka(List<People> lista, DateTime start, DateTime slut) foreach (Bokning b in bokningar) if (b.overlaps(start, slut)) return false; Bokning nb = new Bokning(lista, start, slut); bokningar.add(nb); return true; Detta är sista sidan Glöm inte att lägga dina svar (inklusive sida 2) i rätt ordning i det gula tentamenshäftet!

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

Objektorienterad Systemutveckling (7,5 hp)

Objektorienterad Systemutveckling (7,5 hp) [ sida 1 ] Objektorienterad Systemutveckling (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen 21OS1B DE11, IMIT11, SYST11 (omtentamen) Datum och tid: 2013-08-22, kl 09.00 13.00 Hjälpmedel: Inga

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 ADAEK17, ASYST17 samt öppen för alla TentamensKod: Tentamensdatum: 180322 Tid: 09.00 13.00 Hjälpmedel:

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

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för:

Grundläggande programmering med C# 7,5 högskolepoäng. Provmoment: Ladokkod: Tentamen ges för: Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för: TEN1 NGC011 DE16, IMIT16, SYST16 och ITEK15 samt öppen för alla TentamensKod: Tentamensdatum: 170323 Tid: 09.00

Läs mer

Arv. Objektorienterad och komponentbaserad programmering

Arv. Objektorienterad och komponentbaserad programmering Arv Objektorienterad och komponentbaserad programmering Arv Regel nr 1: Ett objektorienterat språk ska tillåta inkapsling av data Regel nr 2: Ett objektorienterat språk ska tillåta arv Regel nr 3: Ett

Läs mer

Grundläggande programmering med C# 7,5 högskolepoäng

Grundläggande programmering med C# 7,5 högskolepoäng Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Omtentamen DE13, IMIT13 och SYST13 samt öppen för alla (Ifylles av student) (Ifylles av student)

Läs mer

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp)

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp) [ sida 1 ] Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen 21IP1A ASYST TentamensKod: Tentamensdatum och tid: 2016-10-31,

Läs mer

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

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

Läs mer

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

Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla

Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla Grundläggande programmering med C# 7,5 högskolepoäng Provmoment: TEN1 Ladokkod: NGC011 Tentamen ges för: Tentamen DE14, IMIT14 och SYST14 samt öppen för alla (Ifylles av student) (Ifylles av student) Tentamensdatum:

Läs mer

Viktigt! Glöm inte att skriva tentamenskod på alla blad du lämnar in.

Viktigt! Glöm inte att skriva tentamenskod på alla blad du lämnar in. Systemanalys och Design Provmoment: Ladokkod: Tentamen ges för: TEN NSA011 SV17, DE17 7,5 högskolepoäng Tentamenskod: Tentamensdatum: 2 mars 2018 Tid: 9-13 Hjälpmedel: Inga. Totalt antal poäng: 50 Preliminär

Läs mer

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

DIAGNOSTISKT PROV. Tid. Hjälpmedel. Antaganden. Rättning. Övrigt. Diagnostiskt Prov. Klockan Inga 203-03-9 203-03-9 DIAGNOSTISKT PROV Tid Klockan 09.00-2.00 Hjälpmedel Inga Antaganden Om förutsättningar saknas I en uppgift skall rimliga antaganden göras och nedtecknas. Rättning Tentamen omfattar 6

Läs mer

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

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

Läs mer

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

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga)

Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) Grundläggande programmering med C# Provmoment: Ladokkod: Tentamen ges för: 7,5 högskolepoäng TEN1 NGC011 Tentamen DE12, IMIT12, SYST12, ITEK11 (även öppen för övriga) (Ifylles av student) (Ifylles av student)

Läs mer

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp)

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp) [ sida 1 ] Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen (5 hp) 21IP1A ASYST14h Datum och tid: 2015-11-05, kl 09.00 13.00

Läs mer

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

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

Läs mer

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

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

Läs mer

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

Tentamen på kursen Webbdesign, 7,5 hp

Tentamen på kursen Webbdesign, 7,5 hp Högskolan i Borås Sektionen för informationsteknologi Akademin för bibliotek, information, pedagogik och IT Malin Nilsson Tentamen Tentamen på kursen Webbdesign, 7,5 hp Tentamenstid: 2015-11-03, kl. 09.00-13.00

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

OOP Objekt-orienterad programmering

OOP Objekt-orienterad programmering OOP F9:1 OOP Objekt-orienterad programmering Föreläsning 9 Arv och klasshierarkier Polymorfism OOP F9:2 Djur - String namn - int vikt + String getnamn() + int getvikt() + void ökavikt(int x) Ko - int mjölkvolym

Läs mer

Tentamen NOA011 Systemarkitektprogrammet

Tentamen NOA011 Systemarkitektprogrammet Objektorienterad analys och design Provmoment: Ladokkod: Tentamen ges för: Namn: Personnummer: Tentamen NOA011 Systemarkitektprogrammet 7,5 högskolepoäng Tentamensdatum: 2014-10-24 Tid: 09:00 13:00 Hjälpmedel:

Läs mer

TENTAMEN OOP

TENTAMEN OOP TENTAMEN OOP 2013-08-08 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli

Läs mer

Polymorfi. Objektorienterad och komponentbaserad programmering

Polymorfi. Objektorienterad och komponentbaserad programmering Polymorfi Objektorienterad och komponentbaserad programmering Polymorfi, mångtydighet Polymorfi innebär att en viss konstruktion kan exekveras på olika sätt Överlagring av metoder ger ett polymorft beteende

Läs mer

IT och Omvärlden (NIT01A 7,5 hp)

IT och Omvärlden (NIT01A 7,5 hp) [ sida 1 ] IT och Omvärlden (NIT01A 7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen NIT01A DE10, SYST12, SYST11 (omtentamen) Datum och tid: 2012-12-07, kl 09.00 13.00 Hjälpmedel: Inga hjälpmedel

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

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

Tentamen på kursen Webbdesign, 7,5 hp

Tentamen på kursen Webbdesign, 7,5 hp Högskolan i Borås Institutionen för data- och affärsvetenskap Malin Nilsson Tentamen Tentamen på kursen Webbdesign, 7,5 hp Tentamenstid: 2012-05-28, kl. 9-13 Hjälpmedel: Inga hjälpmedel tillåtna Betyg:

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

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

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

Läs mer

Del av projektuppgiften. Systemarkitektprogrammet

Del av projektuppgiften. Systemarkitektprogrammet Objektorienterad mjukvaruutveckling Provmoment: Ladokkod: Duggan ges för: Namn: Personnummer: Del av projektuppgiften Systemarkitektprogrammet 7,5 högskolepoäng Duggadatum: 2014-10-24 Tid: 09:00 12:00

Läs mer

PROGRAMMERINGSTEKNIK TIN212

PROGRAMMERINGSTEKNIK TIN212 Data och Informationsteknik / Computer Science and Engineering Chalmers University of Technology and University of Gothenburg Robin Adams Göteborg 8 June 2018 PROGRAMMERINGSTEKNIK TIN212 Dag: Fredag Datum:

Läs mer

Tentamen på kursen Informationsdesign, 7,5 hp

Tentamen på kursen Informationsdesign, 7,5 hp Högskolan i Borås Institutionen Handels- och IT-högskolan Malin Nilsson Tentamen Tentamen på kursen Informationsdesign, 7,5 hp Tentamenstid: 2014-08-21, kl. 09.00-13.00 Ladokkod: NID021 Hjälpmedel: Ritverktyg,

Läs mer

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

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

Läs mer

Klasshierarkier - repetition

Klasshierarkier - repetition Klasshierarkier - repetition Klasser kan byggas på redan denierade klasser, egna och/eller färdigskrivna, genom: I att klassobjekt används som attribut (instansvariabler): har-relation. Exempel: traksystemet

Läs mer

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

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

Läs mer

Grundläggande programmering, STS 1, VT Sven Sandberg. Föreläsning 14

Grundlä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 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

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag Datum: 2008-08-14 Tid: 08-12 Plats: PC6-PC7 i E-huset. Jour: Per-Magnus Olsson, tel 285607 Jourhavande kommer att besöka skrivsalarna varje

Läs mer

Omtentamen på kursen Webbdesign, 7,5 hp

Omtentamen på kursen Webbdesign, 7,5 hp Högskolan i Borås Handels- och IT-högskolan Malin Nilsson Tentamen Omtentamen på kursen Webbdesign, 7,5 hp Tentamenstid: 2012-08-29, kl. 9-13 Hjälpmedel: Inga hjälpmedel tillåtna Betyg: Tentamen omfattar

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

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1 Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 1 OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer.

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

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

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

Läs mer

Föreläsning 13 Innehåll

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

Läs mer

Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser

Föreläsning 8. Arv. Arv (forts) Arv och abstrakta klasser Föreläsning 8 Arv och abstrakta klasser Arv Definierar en klass utifrån en redan existerande klass Den nya klassen utökar den ärvda klassen (extends) Den nya klassen behåller alla egenskaper som den gamla

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

Föreläsningsmaterial (Arv) Skrivet av Andreas Lund

Föreläsningsmaterial (Arv) Skrivet av Andreas Lund Föreläsningsmaterial (Arv) Skrivet av Andreas Lund Inledning Arv är ett begrepp som är tätt förknippat med objektorientering. Principerna bakom arv är grundade i högst vardagliga relationer mellan olika

Läs mer

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl Skolan för datavetenskap och kommunikation Objektorienterad Programkonstruktion, DD1346 Tentamen 2016 03 18, kl. 14.00 17.00 Tillåtna hjälpmedel: Papper, penna och radergummi. Notera: Frågorna i del I

Läs mer

Objekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018

Objekt-orienterad programmering och design. DIT953 Niklas Broberg, 2018 Objekt-orienterad programmering och design DIT953 Niklas Broberg, 2018 Kursteamet Niklas Broberg kursansvarig, föreläsare, examinator Johannes Åman Pohjola föreläsare Assistenter: Karin Wibergh Sarosh

Läs mer

Lösningar till tentamen i EDAF25

Lösningar till tentamen i EDAF25 Lösningar till tentamen i EDAF25 21 aug 2017 Lösning 1 Javaklasser (många varianter finns naturligtvis): class Client { private Invoker invoker; public void newcommand(string cmdtext) { Command cmd; if

Läs mer

Java-syntax (arv) Exempel: public class Crow extends Bird {... } Jämför med Lab 1: public class FirstApp extends Frame {... }

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

Tentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas.

Tentamen i EDAF oktober Skrivtid: Skriv bara på ena sidan av pappret tentorna kommer att scannas in, och endast framsidorna rättas. Tentamen i EDAF60 29 oktober 2018 Skrivtid: 14-19 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/blått/blyerts.

Läs mer

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp)

Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp) [ sida 1 ] Introduktion till Programutveckling - från Information till Tillämpning (7,5 hp) Provmoment: Ladokkod: Tentamen ges för: Tentamen (5 hp) 21IP1 SYST13h atum och tid: 2014-08-25, kl 09.00 13.00

Läs mer

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng Objektorienterad analys och design Provmoment: Ladokkod: Tentamen ges för: Tentamen NOA011 Systemarkitektprogrammet 7,5 högskolepoäng Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum:

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 2 Institutionen för Data- och informationsteknik JSk TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Övningstentamen 2 TID: 4 timmar Ansvarig: Betygsgränser: Hjälpmedel: Jan Skansholm Sammanlagt maximalt

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

TENTAMEN OOP

TENTAMEN OOP TENTAMEN OOP 2014-01-19 ANVISNINGAR Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt - oläsbara svar beaktas ej. BETYGSÄTTNING Max antal poäng är 30. För att bli

Läs mer

Tentamen i Objektorienterad modellering och design

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

Läs mer

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 7/ Exempel: Implementation av Schackpjäser.

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 7/ Exempel: Implementation av Schackpjäser. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 7/4 2014 Innehåll Abstrakta klasser Klasshierarki och typhierarki Polymorfism och dynamisk bindning Polymorfi-exempel: Schack UML-översikt

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

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

Systemvetarutbildningen och dataekonomutbildningen

Systemvetarutbildningen och dataekonomutbildningen Visuell Programutveckling med C# Provmoment: Ladokkod: Tentamen ges för: Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: 2012-01-10 Tid: 14.00 19.00 Hjälpmedel: Inga hjälpmedel

Läs mer

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

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

Läs mer

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

Tentamen i Objektorienterad modellering och design Helsingborg

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

Läs mer

Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt

Föreläsning 4. Klass. Klassdeklaration. Klasser Och Objekt Föreläsning 4 Klasser Och Objekt Klass Beskrivning av en objekttyp Beskriver egenskaper och beteende (fält och metoder) Klassen fungerar som en ritning Objekt skapas från klassbeskrivningen - instansieras

Läs mer

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/ Exempel: Implementation av Schackpjäser.

Abstrakt klass. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/ Exempel: Implementation av Schackpjäser. DD2385 Programutvecklingsteknik Några bilder till föreläsning 4 31/3 2017 Innehåll Abstrakta klasser Klasshierarki och typhierarki Polymorfism och dynamisk bindning Polymorfi-exempel: Schack Klassen Object

Läs mer

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20.

TENTAMEN. Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg. VT-13 Datum: 13-06-05 Tid: kl 16.00-20. Umeå Universitet Datavetenskap Anders Broberg 130605 TENTAMEN Kurs: Objektorienterad programmeringsmetodik 5DV133 Ansvarig lärare: Anders Broberg VT-13 Datum: 13-06-05 Tid: kl 16.00-20.00 Namn: Personnummer:

Läs mer

Introduktion till arv

Introduktion till arv Introduktion till arv 6 INTRODUKTION TILL ARV Arv Generell-Speciell Arv för att utnyttja det vi redan gjort Återanvändning Basklass Härledd klass Varför arv? Inför en subklass för att uttrycka specialisering

Läs mer

OOP Tentamen

OOP Tentamen DVS SU/KTH 1 (6) OOP OOP Tentamen 2009-01-16 15.00 20.00 Avser kurserna: DSK1:OOP GES:OOP ID1013 Anvisningar Skriv namn och personnummer på varje inlämnat blad. Påbörja varje ny uppgift på nytt blad. Skriv

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

Programmering i C++ EDA623 Arv. EDA623 (Föreläsning 6) HT 2013 1 / 42

Programmering i C++ EDA623 Arv. EDA623 (Föreläsning 6) HT 2013 1 / 42 Programmering i C++ EDA623 Arv EDA623 (Föreläsning 6) HT 2013 1 / 42 Arv Innehåll Härledda klasser Konstruktorer och destruktorer vid arv Tillgänglighet Polymorfism och dynamisk bindning Abstrakta klasser

Läs mer

Konstruktion av klasser med klasser

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

Målen med OOSU. Objektorienterad programmering. Objektorienterad programmering. Karlstads Universitet, Johan Öfverberg 1

Målen med OOSU. Objektorienterad programmering. Objektorienterad programmering. Karlstads Universitet, Johan Öfverberg 1 Objektorienterad programmering Vi började med att programmera i main, sedan gick vi vidare till flera metoder i en klass. Nu är det dags för flera klasser. Objektorienterad programmering Relationer mellan

Läs mer

TDDC76 Programmering och datastrukturer

TDDC76 Programmering och datastrukturer TDDC76 Programmering och datastrukturer Arv, polymorfi och objektorienterad programmering Oskar Holmström Institutionen för datavetenskap Agenda 1 Pekare 2 Arv 3 Statisk bindning 4 Polymorfi 5 Destruktorer

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

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper Tentamen Programmeringsteknik II 2018-10-19 Skrivtid: 8:00 13:00 Tänk på följande Skriv läsligt. Använd inte rödpenna. Skriv bara på framsidan av varje papper. Lägg uppgifterna i ordning. Skriv uppgiftsnummer

Läs mer

Tentamen i Objektorienterad modellering och diskreta strukturer

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

Lösningar till tentamen i EDAF25

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

Läs mer

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

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen ID1004 Objektorienterad programmering October 29, 2013 Tentamen för ID1004 Objektorienterad programmering (vilande kurs), 29 oktober 2013, 9-13 Denna tentamen examinerar 3.5 högskolepoäng av kursen. Inga hjälpmedel är tillåtna. Tentamen består av tre sektioner.

Läs mer

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

Objektorienterad Programmering (OOP) Murach s: kap 12-16 Objektorienterad Programmering (OOP) Murach s: kap 12-16 2013-01-28 1 Winstrand Development Objektorienterad Programmering Förkortas OOP Objektorientering innebär att man delar in koden i olika block,

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

Omtentamen i OOPW, 29 augusti 2013 kl. 9-13

Omtentamen i OOPW, 29 augusti 2013 kl. 9-13 Petter Dessne, HIT 2013-08-19 Omtentamen i OOPW, 29 augusti 2013 kl. 9-13 Maxpoäng: 100. Betygsgränser: A: 90p + B: 80p + C: 70p + D: 60p + E: 50p + Mindre än 50 poäng ger underkänd tentamen. Poängen kan

Läs mer

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING Institutionen för Data- och informationsteknik TENTAMEN OBJEKTORIENTERAD PROGRAMVARUUTVECKLING OBS! Det kan finnas kurser med samma eller liknande namn på olika utbildningslinjer. Denna tentamen gäller

Läs mer

Relationer mellan objekt

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

Outline. Objektorienterad Programmering (TDDC77) Att instansiera en klass. Objekt. Instansiering. Åtkomst. Abstrakt datatyp.

Outline. 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 mer

Objektorienterad mjukvaruutveckling. 15 högskolepoäng. TentamensKod: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

Objektorienterad mjukvaruutveckling. 15 högskolepoäng. TentamensKod: Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel Objektorienterad mjukvaruutveckling Provmoment: Ladokkod: Tentamen ges för: Tentamen (teori) 21OO1B Systemarkitektsprogrammet 15 högskolepoäng TentamensKod: Tentamensdatum: 2017-01-10 Tid: 14.00 16.00

Läs mer

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem).

Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Skriv ditt idnummer på varje blad (så att vi inte slarvar bort dem). 1 (11) TENTAMEN: Objektorienterade applikationer Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad. Börja varje uppgift på ett nytt blad. Skriv ditt idnummer på varje blad (så att

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

OOP Tenta

OOP Tenta Stockholms universitet sid 1 OOP OOP Tenta 2012-01-14 10.00 15.00 Avser kurserna DSK1:OOP och GES:OOP Anvisningar Påbörja varje ny uppgift på nytt blad. Skriv endast på ena sidan av bladen. Skriv tydligt

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

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004

Lösningsförslag. Programmeringsmetodik, KV: Java och OOP. 17 januari 2004 Lösningsförslag Programmeringsmetodik, KV: Java och OOP 17 januari 2004 Examinator: Johan Karlsson Skrivtid: 9-15 Hjälpmedel: En av följande böcker: Barnes & Kölling: Objects First With Java a practical

Läs mer

Arv och polymorfism i Java

Arv och polymorfism i Java 1 (5) Arv och polymorfism i Java Objektorienterad programmering 5 Syfte Att ge en introduktion till arvsmekanismen i Java. Mål Efter övningen skall du kunna definiera klasser med arv i Java. förstå hur

Läs mer

DAT043 - Föreläsning 7

DAT043 - Föreläsning 7 DAT043 - Föreläsning 7 Model-View-Controller, mer om klasser och interface (arv, ) 2017-02-06 Designmönstret Observer avläser Observer Observable meddelar Observer avläser En eller flera objekt registrerar

Läs mer