KravinsamlingAnalys Design Implementation Testning

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

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

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

PA1415 Programvarudesign Second Resit

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

Tentamen NOA011 Systemarkitektprogrammet

Objektorientering. Grunderna i OO

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

Del av projektuppgiften. Systemarkitektprogrammet

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

Objektorientering Användning

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

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

Design. Vad lärde jag mig förra lekfonen? Hur bidrog jag Fll lärandet? Kravhantering sammanfa0ning 13/04/14

Tentamen i Objektorienterad modellering och design

Lösningar till tentamen i EDAF25

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

Tentamen i Objektorienterad modellering och design Helsingborg

Fyra i rad Javaprojekt inom TDDC32

Interaktionsteknik och Design, 7,5hp

Tentamen i Objektorienterad modellering och diskreta strukturer

Objektorienterad analys och design

Arkitektur Michael Åhs

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

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

Objektorienterad Systemutveckling 1 (7,5 hp)

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

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

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

TDDE10 TDDE11, 725G91/2. Objektorienterad programmering i Java, Föreläsning 4 Erik Nilsson, Institutionen för Datavetenskap, LiU

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

När? Varför? För vem? Resultat? (Artefakter?)

Designmönster/Design patterns

Tentamen i Objektorienterad modellering och diskreta strukturer

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

Objektorienterad analys och design

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

Lösningar till tentamen i EDAF25

Systemvetare, dataekonomer och affärsinformatiker

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

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

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

Lösningsförslag till tentamen i EDAF25 Objektorienterad modellering och design Helsingborg

Objektorienterad Programkonstruktion. Föreläsning 7 24 nov 2015

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

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

Dagens program. Objektorienterad modellering och diskreta strukturer / design. Model/View/Control-implementering. Model/View/Control-arkitektur

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

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

Arkitektur. Den Röda Tråden

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

Teoridel (svaren direkt på lydelsen)

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

RUP - Rational Unified Process

Föreläsning 3 Användare, uppgift och omgivning. Kapitel 3-4 i Stone et al.

Tentamen i Objektorienterad modellering och design

Testdriven utveckling. Teorin bakom testdriven utveckling. Bakgrund. Januari 2009, KTH. Alexander Tarnowski

Tentamen I Arkitektur och design av globala applikationer

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

Henrik Häggbom Examensarbete Nackademin Våren 2015

Design Patterns. En kort introduktion

Högskolan i Gävle. Introduktion till att skapa appar för Android VT Eat App! Jacob Gavin

Symptom på problemen vid programvaruutveckling

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

Webprogrammering och databaser. Konceptuell datamodellering med ER-modellen

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

Objektorienterad konstruktion

En ansats till behovsstyrd applikationsutveckling

Laboration 2: Designmönster

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

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

Linköpings universitet 1

Programutvecklingsprojekt Projektgrupp Elvin. Detailed Design Document

Tentamen i Objektorienterad modellering och diskreta strukturer

4.7 Observatörsmönstret

Interaktions- och klassdiagram, kap F4 vt -07

Agil programutveckling

Databaser design och programmering. Design processen ER- modellering

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Interaktions- och klassdiagram, kap F4 ht -10

Inkapsling (encapsulation)

Observer Pattern och MVC. Objekt-orienterad programmering och design Alex Gerdes, 2016

Agila Metoder. Nils Ehrenberg

RUP Rational Unified Process. 17 november 2004

Sammanfattning och Tentamensinfo Objekt-orienterad programmering och design (DIT953) Niklas Broberg, 2018

Objektorienterad Programkonstruktion. Föreläsning jan 2016

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

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

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

Tillgång till alla globala delar i systemet styrs av denna profil, som i sin tur kopplas till respektive användare.

ENIMEOS ΣOEMINE. Krav och trender. Praktisk kravhantering och annat nyttigt från industrin. Christian Ehrenborg

ALM Live. April 2008 Effektivare projektarbete med Visual Studio 2008

Final Course Marks will be combined from the examination and the project:

CREATING VALUE BY SHARING KNOWLEDGE

Föreläsning 4. Fast position Projektplanering (CPM och PERT)

Drakborgen. - Tips och rekommendationer. III. Tillvägagångssätt. Abstract. I. Inledning. II. Beskrivning av spelet

Observer Pattern och MVC. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017

Fönstersystem. Objektorientering och händelsebaserad programmering. Applikation. Interaktionstoolkit. Händelsehanterare och grafiktoolkit

Övning 5. TDA550 - Objektorienterad programvaruutveckling, fk

Transkript:

1 Utvecklingscykler Para ihop följande begrepp med rätt utvecklingscykel Matcha ihop värdena: KravinsamlingAnalys Design Implementation Testning Interaktionsdiagram Systemsekvensdiagram User Stories Enhetstester (Unit tests) Use Cases Integrationstestning Klassdiagram Totalpoäng: 7 2 Vattenfallsmodellen Vattenfallsmodellen består (i ordning) av: Välj ett alternativ: Kravinsamling, Analys, Testning, Implementation Kravinsamling, Implementation, Testning Kravinsamling, Analys, Design, Implementation Kravinsamling, Analys, Design, Implementation, Testning Analys, Design, Implementation Totalpoäng: 1 3 Planering Markera de korrekta svaren nedan.

Ett GANTT schema visar beroenden mellan olika arbetsuppgifter. Ett GANTT schema visar vem som skall göra vad i ett projekt. I en WBS (Work Breakdown Structure) kan man direkt se när projektet förväntas vara färdigt. en WBS (Work Breakdown Structure) är en bild över vad ett system skall göra. Totalpoäng: 2 4 SCRUM Markera de påståenden som är sanna om SCRUM. Välj ett eller flera alternativ: En backlog är en prioriterad lista med krav. En SCRUM cykel varar ungefär ett år. Varje SCRUM cykel bör avslutas med att man kan leverera någonting till kunden. SCRUM är en metod för att testa programvara. Totalpoäng: 2 5 Interaktionsdiagram Markera de korrekta svaren nedan:

I sekvensdiagram listar man alla attribut och deras värden längst ner under varje objekts livlina. Alla objekt i ett interaktionsdiagram måste ha ett variablelnamn och en klasstyp, t.ex.: namn:typ. Man gör ett interaktionsdiagram för varje systemhändelse. Ett samarbetsdiagram beskriver samma sak som ett sekvensdiagram. Man gör ett systemsekvensdiagram för varje Use Case. Man extraherar systemhändelser ur use cases genom att rita ett systemsekvensdiagram. Ett sekvensdiagram beskriver interaktionen mellan olika klasser. Syftet med systemsekvensdiagram är att identifiera hur olika aktörer interagerar med varandra. Man kan alltid använda tillståndsdiagram (State diagrams) i stället för interaktionsdiagram. Totalpoäng: 4 6 Use Case Diagram Betrakta Use Case Diagrammet nedan. Markera sedan vilka alternativ som är korrekta..

För att betala en lastbilshyra måste Föraren först ha loggat tidsåtgången i systemet. Det borde alltså finnas ett "includes" förhållande mellan "Pay for Truck Rental" och "Log Time". För att kunna spåra en lastbil behöver man först ha beställt en lastbil. Kunden möter aldrig Föraren. Planeraren interagerar med Föraren (via systemet) för att skicka iväg en lastbil. Totalpoäng: 2 7 Klassdiagram Betrakta klassdiagrammet nedan. Markera sedan de påståenden som stöds av diagrammet.

Studenterna Jack, Jill, och Jim äger tillsammans en Bike. Gyllenstierna, som är en Person, äger Jaguar:Car, Landrover:Car, och Volvo:Truck. Grållen som är en Car ägs gemensamt av Eva:Person, och Egon:TruckDriver. Tom, som är en Student, äger Skrothögen som är en Truck. Ett ServiceSchedule gäller bara för en Truck åt gången. Varje Truck har minst ett ServiceSchedule. Ett Vehicle måste vara antingen en Car, en Truck, eller en Bike. Totalpoäng: 3 8 Observer Pattern 1. Drag och släpp klasserna Observer och Observable så att OrderGenerator och WorkerNode ärver från rätt klass. 2. Drag och släpp metoderna notifyobservers(), addobserver(), och update() till rätt klass (OrderGenerator eller WorkerNode). Observer Observable notifyobservers() addobserver() update() Totalpoäng: 5 9 Design Patterns I ett system finns en klass NetworkUnitManager som håller koll på en nätverksenhet. När någonting händer på nätverksenheten skall olika klasser

anropas. Till exempel skall klassen LogEvent logga att något hänt. NetworkUnitViewer skall visa att något hände. PriceCalculator skall ta reda på vad som hände och räkna upp priset för användning av enheten. Vi vill kunna lägga till dessa klasser, och utöka med fler liknande klasser utan att behöva ändra i NetworkUnitManager varje gång. Vilket Design Pattern är bäst lämpat för detta beteende: (Builder, Observer, Strategy, State). Totalpoäng: 1 10 Patterns Markera de korrekta alternativen nedan. Välj ett eller flera alternativ: Om jag behöver ett kontrollerat sätt att radera objekt av en viss klass så använder jag mig av Proxy Pattern. I designmönstret State Pattern sparar man värdet på alla attribut (ett objekts tillstånd) i en separat klass. Model View Controller är ett arkitekturmönster för applikationer med flera olika sätt att visa en underliggande datamodell. Det får bara finnas en instans av en Singleton klass i ett system. Totalpoäng: 2 11 Relationer mellan Klasser Betrakta klassdiagrammet nedan. Markera sedan de påståenden som stöds av diagrammet.

Det får högst finnas sex Courses i det här systemet. K101:Course undervisas vid BTH:School och KTH:School Molgan:Person går inte några kurser. K404:Course ges inte vid någon School. K500:Course, som ges vid NF:School, har inga Studenter KTH:School har två kurser, A:Course och B:Course Totalpoäng: 4 12 Domänmodell Markera de korrekta alternativen nedan: Välj ett eller flera alternativ: Man använder sig av Domänmodellen när man börjar göra interaktionsdiagram. En Domänmodell visar relationer mellan koncept. En Domänmodell visar attribut på koncept. En Domänmodell är ett förstadium till ett Klassdiagram. I en Domänmodell betraktar man systemet som en "Black Box" och intresserar sig bara för det externa gränssnittet. En Domänmodell visar objekt och deras relationer. Totalpoäng: 4 13 GRASP mönster Betrakta först klassdiagrammet. Välj sedan vilka klasser som ansvarar för vad, och varför.

Klassen (EventManager, BookingManager, Event, Reservation, Seat, OrderController) är bäst lämpad att ta emot systemhändelsen createbooking() enligt GRASP mönstret High Cohesion). (Information Expert, Creator, Controller, Low Coupling, Klassen (OrderController, BookingManager, EventManager, Event, Reservation, Seat)skall ha metoden searchbooking() eftersom den är en (Information Expert, Creator, Controller). När en ny Reservation skall skapas så måste först (OrderController, BookingManager, Reservation, Seat) söka fram en Seat på ett Event. Denna klass får ansvaret enligt principen (Low Coupling, High Cohesion, Polymorphism, Pure Fabrication). Totalpoäng: 6