Tentamen NOA011 Systemarkitektprogrammet

Relevanta dokument
Del av projektuppgiften. Systemarkitektprogrammet

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

50 poäng. Samtliga teoretiska frågor kan ha 1-4 korrekta svar. Varje teoretisk fråga ger 1 poäng.

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

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

Rättningstiden är i normalfall 15 arbetsdagar, till detta tillkommer upp till 5 arbetsdagar för administration.

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

Objektorienterad Systemutveckling 1 (7,5 hp)

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

KravinsamlingAnalys Design Implementation Testning

Objektorienterad Systemutveckling (7,5 hp)

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

Tentamen i Objektorienterad modellering och diskreta strukturer

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

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

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

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Tentamen i Objektorienterad modellering och design

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

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

Tentamen i Objektorienterad modellering och design Helsingborg

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

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

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

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

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

Objektorienterad Programkonstruktion. Föreläsning jan 2016

Systemvetarutbildningen och dataekonomutbildningen

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

Objektorientering. Grunderna i OO

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

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

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

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

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

DAT043 - Föreläsning 7

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Designmönster/Design patterns

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

Databaskunskap 7,5 högskolepoäng Provmoment: Ladokkod: Tentamen ges för:

Lösningar till tentamen i EDAF25

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

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

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

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

Systemvetarutbildningen och dataekonomutbildningen

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

Klient/server. Översikt. Lektion 1: Webbtekniker från Microsoft. Webbteknik från Microsoft. Klient/server. Designmönster. Utrullning.

Tentamen Programmering fortsättningskurs DIT950

Objektorienterad Programkonstruktion, DD1346 FACIT. Tentamen , kl

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

Systemvetare, dataekonomer och affärsinformatiker

Laboration 2: Designmönster

PA1415 Programvarudesign Second Resit

Tentamen i Objektorienterad modellering och diskreta strukturer

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

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

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

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

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

Interaktions- och klassdiagram, kap F4 vt -07

Objektorientering Användning

F8 - Arv. ID1004 Objektorienterad programmering Fredrik Kilander

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Provmoment: Omtentamen 1 (dvs salstentamen 2) för kursen under LP4, TS1A, 21TS1U (VT14P4) Tentamen ges för: För fastighetsmäklare (FM12)

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

Introduktion. Byggstenar TDBA

Redovisningsteori och koncernredovisning Provmoment: Ladokkod: Tentamen ges för:de,de3,ek3,ce3,ce4,ekkand. 7,5 högskolepoäng. Namn: Personnummer:

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

Laboration 2: Designmönster

PROGRAMMERINGSTEKNIK TIN212

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

Arv. Objektorienterad och komponentbaserad programmering

42BK07 Magisterutbildning i byggteknik - hållbart samhällsbyggande

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Tentamen i TDP004 Objektorienterad Programmering Lösningsförslag

Mjukvarudesign. Designprocessen. Teknisk design. Konceptuell design

Objektorienterad analys och design

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

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

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

Övning 5. TDA550 - Objektorienterad programvaruutveckling, fk

Design Patterns. En kort introduktion

Underkänt 0-29oäng Godkänt poäng Väl godkänt poäng

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

TENTAMEN OOP

Inkapsling (encapsulation)

TENTAMEN OOP

Objektorientering - Arv och polymorfi. Eric Elfving Institutionen för datavetenskap

OBJEKTORIENTERAD PROGRAMVARUUTVECKLING. Övningstentamen 1

Designmönster, introduktion. Vad är det? Varför skall man använda mönster?

DUGGA: Objektorienterade applikationer. Läs detta! Uppgifterna är inte avsiktligt ordnade efter svårighetsgrad.

TDDC76 - Programmering och Datastrukturer

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

Namn: (Ifylles av student) Personnummer: (Ifylles av student) Tentamensdatum: Tid: Hjälpmedel: Inga hjälpmedel

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

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

Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061)

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

Transkript:

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: Inga hjälpmedel Totalt antal poäng på tentamen: För att få respektive betyg krävs: G=27 VG=39 51 poäng Allmänna anvisningar: Svaren skall kryssas i på svarssidan. Alternativa svarsmetoder kommer inte att bedömas. Varje fråga kan ha 1-3 rätta alternativ. Poäng erhålls om och endast om samtliga korrekta alternativ kryssats i (eller inga alternativ är ikryssade för frågor där inga alternativ är korrekta). Varje korrekt ikryssad fråga ger 3 poäng. Rättningstiden är som längst tre veckor Viktigt! Glöm inte att skriva namn på alla blad du lämnar in. Lycka till! Ansvarig lärare: Tuve Löfström Telefonnummer: 033 435 4236 Answers (swe. svarsblankett)

Namn: Personnummer: Questions: A B C A B C 1 10 2 11 3 12 4 13 5 14 6 15 7 16 8 17 9 2

1. Vilka av följande påståenden är korrekta angående utveckling enligt UP? a. Vanliga faser är Inception, Construction, Realization och Transition. b. Varje iteration inkluderar både analys, design, konstruktion, test osv. c. Under inception skall tillräckligt mycket information samlas in för att möjliggöra att avgöra om projektet skall genomföras. 2. Betrakta nedanstående diagram och ange vilka av alternativen som korrekt beskriver diagrammet. a. Diagrammet visar ett domändiagram och är en del av designmodellen. b. 0-8 spelare kan spela monopolsepelet. c. Det finns ingen kvalificerad association i diagrammet. 3

3. Vilka av följande alternativ beskriver diagrammet korrekt? by Expert returns "null" if not a member by Controller confirmmembership(membershipid) :RentVideos Handler 1: m:=getmembership(membershipid): Membership :VideoStore 2: [ ismember ] create( m ) by Creator 1.1: m := find(membershipid): Membership :RentalTransaction 2.1: create( ) :VideoRental :VideoRental :Membership a. Find-anropet går till ett samlingsobjekt innehållandes Membership-instanser. b. Om create-anropet till RentalTransaction genomförs så är det det tredje anropet i diagrammet om man exkluderar det initierande confirmmembership-anropet. c. Notationen i diagrammet är version 1 av UML. 4. Vilka av följande designmönster klassificeras som behavioural patterns? a. Observer, Strategy, Visitor b. Observer, Adapter, Decorator c. Singleton, Composite, Bridge 5. Vilka av följande påståenden är sant angående Singleton-mönstret? a. Alla metoder utom getinstance() skall vara private b. Alla metoder skall vara static c. En Singleton-class måste ha minst ett static attribut 6. Vad är sant angående Facade-mönstret? a. En Facade är ett sätt att uppnå protected variation b. En Facade är inte altid en controller men en controller är alltid en facade c. En facade kan ses som en controller men en controller är inte alltid en facade 7. Vad är sant angående Composite-mönstret? a. Composite-klassen inkluderar en statisk referens till sig själv. b. Composite-klassen implementerar ett interface. c. Composite-klassen måste ha detaljerad kunskap om de komponenter som den utgörs av. 8. Överdrivet användande av designmönstret Facade kan leda till följande anti-mönster: a. Poltergeist b. God object c. Sequential coupling 9. Applikationslager kan ingå i mjukvaruarkitekturen. Kryssa i alternativ som är korrekta på svarsbladet. 4

a. Applikationslager har ofta en relativt tajt UC-koppling. b. Applikationslager separerar domänlagret från de tekniska lagren och används för att styra vilka lågnivåtjänster applikationen skall utnyttja. c. Applikationslagret används bland annat för att hantera sessioner. 10. I Unified Process ingår begrepp som faser, discipliner, artefakter. Kryssa i alternativ som är korrekta på svarsbladet. a. Arbetet pågår inom de flesta discipliner löpande genom alla faser. b. I varje disciplin finns exakt en artefakt som syftar till att fånga och beskriva det som görs i disciplinen. c. Alla faser pågår kontinuerligt och parallellt. 11. God kravhantering är en central förutsättning för framgångsrika projekt. Krav delas grovt in i funktionella och icke-funktionella krav. Kryssa i alternativ som är korrekta avseende krav och kravhantering på svarsbladet. a. En förutsättning för att lyckas med kravhanteringen är att låsa kraven så snart de har förhandlats klart b. Funktionella krav definierar vad systemet skall göra c. Ickefunktionella krav har ofta stor inverkan på systemgenomgripande aspekter såsom arkitekturbeslut 12. När man skriver use case behöver man identifiera aktörer och intressenter. Kryssa i alternativ som är korrekta på svarsbladet. a. Det finns alltid en primäraktör för systemet som kommer vara primäraktör för samtliga use case. b. Aktörer är alltid personer som identifieras av sina roller c. Use caset skall, när det är fullt utvecklat, uppfylla samtliga aktörers och intressenters mål kopplade till use caset 13. Persistance frameworks (som t ex Hibernate) används för att hantera interaktion med persistent data. Kryssa i alternativ som är korrekta på svarsbladet. a. Det finns väl definierade standards som gör det väldigt smidigt att byta mellan olika persistenta frameworks b. Ett syfte med persistenta frameworks är att minska representationsgapet mellan objekt i lösningsdomänen och relationsmodellen i databaser c. Det finns ett språk som definierats explicit för persistenta ramverk, Persistance Quary Language, PQL. 14. Kryssa i alternativ som är korrekta på svarsbladet. a. Systemsekvensdiagram (SSD) ingår i use case-modellen. b. Systemsekvensdiagram (SSD) är viktiga som utgångspunkt för att definiera use casen. c. Systemsekvensdiagram (SSD) är en form av interaktionsdiagram som används vid design av interaktion mellan objekt i designmodellen. 5

15. Betrakta nedanstående (par av) diagram och ange vilka av alternativen som korrekt beskriver diagrammen. [new (not from DB)] [ from DB] chart: PersistentObject New commit / insert OldClean save rollback / reload commit / update OldDirty Legend: New--newly created; not in DB Old--retrieved from DB Clean--unmodified Dirty--modified delete rollback / reload delete OldDelete Deleted commit / delete { state.delete( this ) } { state.rollback( this ) } PersistentObject oid : OID state : PObject commit() delete() rollback() save() set(pobject) { state.commit( this ) } * 1 { state.save( this ) } PObject commit(obj : PersistentObject) delete(obj : PersistentObject) rollback(obj : PersistentObject) save(obj : PersistentObject) { // default no-op // bodies for // each method } Product Specification Sale OldDirty commit() delete() rollback() OldClean delete() save() New commit() OldDelete commit() rollback() { // commit PersistenceFacade.getInstance().update( obj ) obj.set( OldClean.getInstance() ) } { // rollback PersistenceFacade.getInstance().reload( obj ) obj.set( OldClean.getInstance() ) } { // delete obj.set( OldDelete.getInstance() ) } { // save obj.set( OldDirty.getInstance() ) } { // commit PersistenceFacade.getInstance().insert( obj ) obj.set( OldClean.getInstance() ) } { // commit PersistenceFacade.getInstance().delete( obj ) obj.set( Deleted.getInstance() ) } a. Utifrån tillståndsdiagrammet kan man utläsa vilka ansvar som varje tillståndsobjekt måste realisera. b. Utifrån tillståndsdiagrammet kan man (i princip) utläsa hur varje metod i varje tillståndsobjekt skall implementeras. c. Klassdiagrammet illustrerar ett exempel på en design med hjälp av Pattern. 6

16. Vilka alternativ är korrekta avseende diagrammet nedan? a. Varje gång man anropar en subklass i ett interaktionsdiagram måste man ange vilken subklass man anropas så att man kan designa lösningen för den konkreta subklassen. b. Interaktionsdiagram som inkluderar ett anrop till metoden authorize i någon av de konkreta subklasserna till Payment avslutas med detta anrop. c. Abstrakta metoder måste alltid designas med separata interaktionsdiagram för varje subklass. 17. Kryssa i alternativ som är korrekta på svarsbladet. a. Interaktionsdiagram är exempel på statiska UML diagram b. Kollaborations- och sekvensdiagram är olika former av interaktionsdiagram. Det går att uttrycka exakt samma saker med båda diagramtyperna c. Interaktionsdiagram skapas för var och en av operationerna i systemsekvensdiagrammen 7