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 Hjälpmedel: Inga hjälpmedel Totalt antal poäng på duggan: 15 poäng Poängen adderas till projektgruppens gemensamma poäng. Allmänna anvisningar: Svaren på kryssfrågorna skall kryssas i på svarssidan. Alternativa svarsmetoder kommer inte att bedömas. Varje kryssfrå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 1 poäng. Redovisa lösningen på den praktiska uppgiften på separat blad och lämna in tillsammans med svarsblanketten. Den praktiska lösningen ger 5 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
Svarsblankett Namn: Personnummer: Frågor: A B C 1 2 3 4 5 6 7 8 9 10 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. a. Det finns ingen kvalificerad association i diagrammet. 3. Applikationslager kan ingå i mjukvaruarkitekturen. Kryssa i alternativ som är korrekta på svarsbladet. 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. 4. 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. 3
5. 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 6. Vilka av följande alternativ beskriver diagrammet korrekt? by Controller by Expert returns "null" if not a member 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. RentVideosHandler skapar alltid en RentalTransaction. b. Om create-anropet till RentalTransaction genomförs så är det det tredje anropet i diagrammet om man exkluderar det initierande confirmmembership-anropet. c. m är en samling av Membership-instanser. 7. 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 8. White-box testning är en typ av online-baserad testning som appliceras på följande tre nivåer: a. Statement level, Branch level, Method level b. Unit level, Integration level, System level c. Engineering level, Functionality level, Adaptability level 9. Vilka av följande designmönster klassificeras som behavioural patterns? a. Observer, Strategy, Visitor b. Observer, Adapter, Decorator c. Singleton, Composite, Bridge 4
10. Om ett objekt har många och vitt skilda ansvarsområden så har följande anti-mönster implementerats: a. Poltergeist b. God object c. Sequential coupling Praktisk uppgift Skriv ett fullständigt use case för att returnera en vara i en klädbutik. Returnera en vara initieras av att en kund kommer till ett serviceställe och ber att få returnera en vara och inkluderar genomförande av återbetalning och kvittokorrigering etc. Ni skall definiera huvudscenariot samt minst ett meningsfullt extension-scenario som visar på en för problemet relevant extension (alltså inget i stil med *a: systemet kraschar). Motivera med en mening varför din extension är relevant. Att enbart skriva ner huvud- och extensionscenarion innebär inte ett fullständigt use case och ger poängavdrag. (5p) 5