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



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

KravinsamlingAnalys Design Implementation Testning

Objektorienterad Systemutveckling 1 (7,5 hp)

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

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

Del av projektuppgiften. Systemarkitektprogrammet

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

Objektorientering. Grunderna i OO

Tentamen NOA011 Systemarkitektprogrammet

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

Objektorientering Klasser

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

Om fem stycken :GameObject ligger i vägen för b:bullet så kommer alltid loopen köras fem gånger. Välj ett alternativ

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

Teoridel (svaren direkt på lydelsen)

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

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

Tentamen i Objektorienterad modellering och design

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

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

OCTOPUS utvecklingsmetod samt relaterade frågeställningar och diagram

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

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

Objektorientering Användning

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

Objektorienterad analys och design

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

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Tentamen i Objektorienterad modellering och design Helsingborg

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

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

Laboration 2: Designmönster

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

Objektorienterad programmering. Grundläggande begrepp

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

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

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

Laboration 2: Designmönster

Objekt-orienterad Programmering och Design. TDA551 Alex Gerdes, HT-2016

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

Introduktion. Byggstenar TDBA

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

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

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

Objektorienterad analys och design

Föreläsning 15: Repetition DVGA02

Objektorienterad konstruktion

Objektorienterad analys och design

Objektorienterad Systemutveckling (7,5 hp)

Laboration 1: Figurer i hierarki

Tentamen. DD2385 Programutvecklingsteknik vt 2015 Fredagen den 5 juni 2015 kl Hjälpmedel: penna, suddgummi, linjal

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

Kursplanering Objektorienterad programmering

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

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

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

Tentamen ID1004 Objektorienterad programmering October 29, 2013

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

Objektorienterad Programkonstruktion. Föreläsning jan 2016

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

Interaktionsteknik och Design, 7,5hp

Objektorienterad programmering

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

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

UML. Tomas Czarnecki Institutionen för Informationsbehandling Åbo Akademi,FIN Åbo, Finland url:

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

Tentamen i Objektorienterad modellering och diskreta strukturer

OOP Objekt-orienterad programmering

DAT043 - Föreläsning 7

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

F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander

PA1415 Programvarudesign Second Resit

Objekt-orienterad Programmering och Design. TDA552 Alex Gerdes, HT-2018

Tentamen. DD2385 Programutvecklingsteknik vt Fredagen den 5 juni 2009 kl Inga hjälpmedel utom penna, sudd och linjal

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

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

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

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

Tentamen. 2D4135 vt 2004 Objektorienterad programmering, design och analys med Java Torsdagen den 3 juni 2004 kl

Systemvetarutbildningen och dataekonomutbildningen

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

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

Föreläsning 5. När skall man använda implementationsarv? När skall man använda implementationsarv?

Objektorienterad programmering Föreläsning 12. Copyright Mahmud Al Hakim

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

Information. Computer

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

Objektorienterad programmering, analys och design med Java, 5p 2D4135, vt Kursprogram

Objektorienterad Programkonstruktion. Föreläsning 6 23 nov 2015

Unified Modeling Language UML

Laboration 1: Design av applikation för uthyrning av maskeradkläder

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

PROGRAMMERINGSTEKNIK TIN212

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

Design Patterns. En kort introduktion

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

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

Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061)

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

Vad händer med L3: ΔL3-L4 för Krav följs upp av annan projektgrupp. Föreläsning 5: V&V II + Design II Efterläsning Kodning

Transkript:

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 betyg: Betyg 3, 4 och 5 kräver 24, 28 respektive 32 poäng av möjliga 40 Teoretisk del: Anmärkning: Flervalsfrågar har ett och endast ett korrekt svar. Fråga 1: (1) Abstrakta metoder har a. Ingen programkod i subklasserna b. Programkod i den definierande klassen c. Programkod i subklasserna d. Ingen Programkod i den definierande klassen e. (b) och (c) f. (c) och (d) g. (a) och (b) Fråga 2: (1) En association är a. En rak linje i ett klassdiagram b. Representerad av ett substantiv som beskriver dess interaktion c. En relation mellan instanser av klasser d. En relation mellan klasser e. (a) och (d) f. (b) och (c) g. (b), (c) och (e) Fråga 3: (1) Aggregering a. Betyder att ett objekt är uppbyggt av andra objekt b. Betyder att ett objekt innehåller andra objekt c. Har alltid multipliciteten 1..* d. Är en relation av typen is a kind of e. (b) och (c) f. (a) och (d)

NADA, KTH 2D1359 & 2D1360 2001-10-23 Sid 2 av 7 Fråga 4: (1) Vilka av följande påståenden är sanna för tillståndsdiagram (eng. statechart diagrams) a. En händelse orsakas av en övergång (eng. transition) b. Ett objekt måste vara i precis ett tillstånd i taget c. Ett tillstånd är ett nödvändigt villkor för att en övergång (eng. transition) ska ske d. Vid en övergång (eng. transition) så ändrar ett eller flera attribut sina värden e. (a) och (c) f. (b) och (d) Fråga 5: (1) Generalisering a. betyder konstruktion av objekt från delar b. är en has a -relation c. är en kind-of -relation d. realiseras via arv e. realiseras via komposition f. (a) och (b) g. (c) och (d) h. (a) och (e) i. (a), (b) och (e) Fråga 6: (1) Polymorfism a. kräver abstrakta klasser b. realiseras med hjälp av statisk bindning c. realiseras med hjälp av dynamisk bindning d. tillåter att subklasser skriver över (eng. override) metoder tillhörande superklasser e. (a),(c) och (d) f. (a) och (c) g. (c) och (d) h. (b) och (d) Fråga 7: (4) Vilken av följande fraser beskriver bäst designmönstret i listan. Matcha 10 av 14 fraser med dom 10 koncepten nedan. a. Erbjuder en platshållare (eng. placeholder) för ett annat objekt med avsikt att kontrollera access av det. b. Omformar gränssnittet för en klass till ett gränssnitt som klienterna förväntar sig. c. Stödjer svagt beroende och liten inverkan av förändringar. d. Låter klienter behandla enstaka och grupper av objekt på likadant sätt. e. Låter en klass fördröja (eng. defer) instansiering till sina subklasser.

NADA, KTH 2D1359 & 2D1360 2001-10-23 Sid 3 av 7 f. Erbjuder ett gränssnitt för att skapa familjer av relaterade objekt utan att specificera deras konkreta klasser. g. Erjuder global access till en unik instans. h. När ett objekt ändrar sitt tillstånd så synkroniseras tillstånden för beroende objekt. i. En klass som har nödvändig information för att fullfölja sitt ansvar. j. Tilldelar ansvar till en artificiell klass för att stödja hög kohesion och svag koppling (eng. high cohesion and low coupling). k. Ett objekt med ansvar för att ta emot och hantera systemhändelser. l. Definirerar en familj av algoritmer och gör dem sinsemellan utbytbara. m. Erbjuder ett enhetligt gränssnitt mot en mängd av gränsnitt i ett delsystem. n. Ett mellanliggande objekt som minskar beroendet mellan andra objekt. 1. Observer 2. Factory Method 3. Expert 4. Controller 5. Low coupling 6. Composite 7. Singleton 8. Adapter 9. Abstract Factory 10. Strategy 1-, 2-, 3-, 4-, 5-, 6-, 7-, 8-, 9-, 10- Fråga 8: (2) Beskriv med två meningar skillnaden mellan objektorienterad analys och design. Fråga 9: (2) Vad är (vanligen) multipliciteten (1..*, *..*, etc.) i följande assiocationer? a. En broder och syster är syskon. b. Ett barn är avkomma till förälder. c. En person är gift med en person. d. En tvilling är syskon till en tvilling. e. En student deltar på kurs. f. Flyg flyger till flygplatser.

NADA, KTH 2D1359 & 2D1360 2001-10-23 Sid 4 av 7 g. En order innehåller delar. h. En kund köper product. a:, b:, c:, d:, e:, f:, g:, h:

NADA, KTH 2D1359 & 2D1360 2001-10-23 Sid 5 av 7 Fråga 10: (2) Beskriv med två meningar betydelsen av inception respektive elaboration i unified process. Fråga 11: (1) I unified process beskrivs krav via a. Designmodell (eng. design model) b. Domänmodell (eng. domain model) c. Användningsfallsmodell (eng. use case model) d. (a) och (b) e. (a) och (c) f. (b) och (c) Fråga 12: (1) Extreme Programming förordar a. kontinuerlig integration b. en sekvensiell, linjär lifscykel c. omstruktrurering (eng. refactoring) d. (a) och (b) e. (a) och (c) f. (b) och (c) g. (a), (b) och (c)

NADA, KTH 2D1359 & 2D1360 2001-10-23 Sid 6 av 7 Praktisk del: Fråga 13: (8) En myntautomat erbjuder två olika produkter A och B. Produkt A kostar 4 SEK, produkt B 6 SEK. Köparen stoppar i ett mynt i taget i myntinkastet. Maskinen accepterar mynt i valörerna 1, 5 och 10 SEK. Maskinen visar hur mycket man har kvar att köpa för på en display. Maskinen har tre olika knappar, knapp A för att mata ut produkt A, knapp B för att mata ut produkt B och knapp C för att mata ut innestående växel. Köparen kan när som helst trycka på knapp C för att få tillbaks inmatat belopp, även om inget köp gjorts ännu. Köparen kan också trycka på knapp A eller B när som helst, men maskinen matar bara ut respektive vara om den inmatade summa är lika med eller överskrider den aktuella produktens pris. Det är möjligt att göra flera köp efter varann så länge det finns pengar kvar i automaten (tex så kan man stoppa i en 10-krona och göra två köp av produkt A och få 2 SEK tillbaks eller stoppa i en 5-krona, köpa produkt A, stoppa i en ny 5-krona och köpa produkt B). a. Rita ett tillståndsdiagram (eng. state-chart diagram) over den beskrivna maskinen. b. Rita ett sekvensdiagram (eng. system sequence diagram) för scenariot där köparen matar in två 5-kronorsmynt, köper product B och därefter matar ut innestående växel. Illustrate the information or product the vending machine shows or dispenses to the customer. Rita diagrammen på separata blad med ditt namn och personnummer tydligt skrivet. För tydlighets skull kan du rita två versioner av tillståndsdiagrammet, båda innehållande samma tillstånd men som illustrerar olika typer av händelser och övergångar, till exempel ett för att mata in mynt och ett för att mata ut produkter och returnera mynt. Fråga 14: (4) Rita samarbetsdiagrammet (eng. collaboration diagram) som motsvarar följande sekvensdiagram: foo() :ClassA :ClassB :ClassC bar() gnu() clack() oink() plop() nop() wul() Rita diagrammet på ett separat blad där ditt namn och personnummer tydligt framgår.

NADA, KTH 2D1359 & 2D1360 2001-10-23 Sid 7 av 7 Fråga 15: (8) Rita en domänmodell (eng. domain model) som ett UML-diagram innehållande koncept, generaliseringar, namngivna associationer med multipliciteter (komposition eller aggregering där det är tillämpbart) samt attribut för domänen som beskrivs nedan. Uppgiften är att designa ett program som hjälper dig att hantera din samling av ljud-cdn. Varje CD (album- eller maxi-cd) innehåller ett eller flera spår/låtar, där ett spår är en inspelning av en viss låt med en viss artist, tex albumet Hot Rocks med Rolling Stones innehåller låtarna Time is on my side, Heart of Stone, Play with Fire etc. Varje spår har en speltid, till exempel Time is on my side har speltiden 5:23. Samma låt kan finnas på olika utgåvor, till exempel på den ursprungliga studioinspelningen samt på ett best-of -album. En viss artist eller olika artister kan ha spelat in samma låt på olika inspelningar, till exempel låten American Pie av Don Mc Lean respektive Madonna eller Sympathy for the Devil i en live- respektive studioversion av Rolling Stones. Man vill kunna skilja på soloartister (tex. Madonna) och band bestående av flera artister, exempelvis är Paul McCartney, John Lennon, Ringo Starr och George Harrison medlemmar i The Beatles. En artist kan förekomma i olika roller på olika inspelningar, antingen som soloartist eller bandmedlem, exempelvis är Sting både soloartist och medlem i bandet Police. En låt har en title och är komponerad av en eller flera kompositörer, exempelvis så är låten Hey Jude komponerad av Paul Mc Cartney och John Lennon. Varje utgåva (eng. release) har en titel, releasedatum, musiketikett (eng. music label) samt en speltid som är framräknad från dom ackumulerade speltiderna från alla spår på den aktuella utgåvan. En utgåva är vanligen associerad med någon viss soloartist eller ett band, exempelvis albumet Abbey Road associeras med The Beatles. Men ändå så är detta inte alltid fallet, som i till exempel i sound-tracks från filmer eller händelser som Woodstock, som ju innehåller flera olika artister på samma utgåva. Rita diagrammet på ett separat blad där ditt namn och personnummer tydligt framgår. Lycka till!!!