PA1415 Programvarudesign Second Resit

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

UML use cases. Mikael Söderström Institutionen för informatik Umeå universitet

KravinsamlingAnalys Design Implementation Testning

Webbregistrering pa kurs och termin


Vad kännetecknar en god klass. Vad kännetecknar en god klass. F12 Nested & Inner Classes

Vässa kraven och förbättra samarbetet med hjälp av Behaviour Driven Development Anna Fallqvist Eriksson

Webbreg öppen: 26/ /

Lösenordsportalen Hosted by UNIT4 For instructions in English, see further down in this document

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

Information technology Open Document Format for Office Applications (OpenDocument) v1.0 (ISO/IEC 26300:2006, IDT) SWEDISH STANDARDS INSTITUTE

Workplan Food. Spring term 2016 Year 7. Name:

Preschool Kindergarten

LARS. Ett e-bokningssystem för skoldatorer.

Make a speech. How to make the perfect speech. söndag 6 oktober 13

Consumer attitudes regarding durability and labelling

Immigration Studying. Studying - University. Stating that you want to enroll. Stating that you want to apply for a course.

Support for Artist Residencies

Att använda data och digitala kanaler för att fatta smarta beslut och nå nya kunder.

Resa Att ta sig runt. Att ta sig runt - Platser. Du vet inte var du är. Be om att bli visad en viss plats på en karta. Fråga om en viss servicepunkt

Protokoll Föreningsutskottet

Resa Att ta sig runt. Att ta sig runt - Platser. I am lost. Du vet inte var du är

Beijer Electronics AB 2000, MA00336A,

Chapter 1 : Who do you think you are?

Lektion 3. Anteckningar

WhatsApp finns för dessa plattformar:

BOENDEFORMENS BETYDELSE FÖR ASYLSÖKANDES INTEGRATION Lina Sandström

Service och bemötande. Torbjörn Johansson, GAF Pär Magnusson, Öjestrand GC

Support Manual HoistLocatel Electronic Locks

Materialplanering och styrning på grundnivå. 7,5 högskolepoäng

1. Unpack content of zip-file to temporary folder and double click Setup

Uttagning för D21E och H21E

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Questionnaire for visa applicants Appendix A

Privacy Notice Ålö Group. Customers Integritetspolicy Sverige Privacy Notice UK, North America and International

Urban Runoff in Denser Environments. Tom Richman, ASLA, AICP

2.1 Installation of driver using Internet Installation of driver from disk... 3

Objektorienterad Systemutveckling 1 (7,5 hp)

Writing with context. Att skriva med sammanhang

SVENSK STANDARD SS :2015

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

Om oss DET PERFEKTA KOMPLEMENTET THE PERFECT COMPLETION 04 EN BINZ ÄR PRECIS SÅ BRA SOM DU FÖRVÄNTAR DIG A BINZ IS JUST AS GOOD AS YOU THINK 05

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

SVENSK STANDARD SS :2010

Småprat Small talk (stressed vowels are underlined)

Health café. Self help groups. Learning café. Focus on support to people with chronic diseases and their families

Kurskod: TAIU06 MATEMATISK STATISTIK Provkod: TENA 15 August 2016, 8:00-12:00. English Version

Tentamen NOA011 Systemarkitektprogrammet

Mönster. Ulf Cederling Växjö University Slide 1

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

Telia Anita 20i Nummerpresentatören med telesvarsindikation

Grafisk teknik IMCDP IMCDP IMCDP. IMCDP(filter) Sasan Gooran (HT 2006) Assumptions:

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

Grammar exercises in workbook (grammatikövningar i workbook): WB p 121 ex 1-3 WB p 122 ex 1 WB p 123 ex 2

Exportmentorserbjudandet!

Application Note SW

STORSEMINARIET 3. Amplitud. frekvens. frekvens uppgift 9.4 (cylindriskt rör)

Kurskod: TAMS28 MATEMATISK STATISTIK Provkod: TEN1 05 June 2017, 14:00-18:00. English Version

Join the Quest 3. Fortsätt glänsa i engelska. Be a Star Reader!

Libers språklåda i engelska Grab n go lessons

Immigration Studera. Studera - Universitet. Ange att du vill anmäla dig. Ange att du vill anmäla dig till en kurs. Kurs.

Immigration Studera. Studera - Universitet. Ange att du vill anmäla dig. Ange att du vill anmäla dig till en kurs. Kurs. Typ av kurs.

Surfaces for sports areas Determination of vertical deformation. Golvmaterial Sportbeläggningar Bestämning av vertikal deformation

HANTERING AV UPS CX

Designmönster för sociala användningssituationer

UTLYSNING AV UTBYTESPLATSER VT12 inom universitetsövergripande avtal

PROFINET MELLAN EL6631 OCH EK9300

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

Michael Q. Jones & Matt B. Pedersen University of Nevada Las Vegas

CONNECT- Ett engagerande nätverk! Paula Lembke Tf VD Connect Östra Sverige

Isolda Purchase - EDI

samhälle Susanna Öhman

Provlektion Just Stuff B Textbook Just Stuff B Workbook

SVENSK STANDARD SS 1147:2015

Byggdokument Angivning av status. Construction documents Indication of status SWEDISH STANDARDS INSTITUTE

SVENSK STANDARD SS :2017


PORTSECURITY IN SÖLVESBORG

Viktig information för transmittrar med option /A1 Gold-Plated Diaphragm

SVENSK STANDARD SS-EN ISO 19108:2005/AC:2015

Immigration Bank. Bank - General. Bank - Opening a bank account. Can I withdraw money in [country] without paying fees?

Analys och bedömning av företag och förvaltning. Omtentamen. Ladokkod: SAN023. Tentamen ges för: Namn: (Ifylles av student.

Kvalitetsarbete I Landstinget i Kalmar län. 24 oktober 2007 Eva Arvidsson

Installation av F13 Bråvalla

SVENSK STANDARD SS :2018

Interaktions- och klassdiagram, kap F4 vt -07

Tänder din grill på sextio sekunder. Lights your grill in sixty seconds.

Objektorientering. Grunderna i OO

Adress 15. August 2014

RUP är en omfattande process, ett processramverk. RUP bör införas stegvis. RUP måste anpassas. till organisationen till projektet

Vår anläggning Our venue

Authentication Context QC Statement. Stefan Santesson, 3xA Security AB

Byggritningar Ritsätt Fästelement. Construction drawings Representation of fasteners SWEDISH STANDARDS INSTITUTE

Transkript:

PA1415 Programvarudesign Second Resit Mikael Svahnberg (0455-385811) 2017-01-02 Poäng (Fylls i av rättaren) Fråga: 1 2 3 4 5 6 7 8 9 10 SUM Maxpoäng: 3 3 3 3 3 6 4 4 4 4 37 Poäng: Betyg: Instruktioner Vänligen kom ihåg att ge ett svar i varje ruta [ ]. Alla flervalsfrågor ger totalt 3 poäng, där varje rätt svar är värt 0.5p I en del frågor förväntas du rita ett diagram (till exempel ett klassdiagram eller ett interaktionsdiagram). Vänligen använd ett separat papper och gör en skiss först, och rita sedan in dem i den markerade rutan på tentan. Försök ordna elementen (och i synnerhet linjer mellan element) så att diagrammen blir lätta att läsa. Tillåtna Materiel: Penna, radergummi, linjal, glatt humör. Lycka Till! 1

Fråga 1. Utvecklingsmetodologier 3p Markera varje påstående nedan som antingen sant (T eller S) eller falskt (F): ] Ett Use Case är UML-namnet på en testspecifikation. ] Vattenfallsmodellen går ut på att man hela tiden går tillbaka till tidigare utvecklingsfaser och lägger till mer information. ] Klasser och interaktion mellan objekt modelleras under Design-fasen. ] Under Analys-fasen analyserar man sin design för att se till att den går att implementera. ] I SCRUM samlar man alla sina krav i en prioriterad backlog. ] Man skriver testfall baserat på vad man implementerat. Fråga 2. Interaktionsdiagram 3p Markera varje påstående nedan som antingen sant (T eller S) eller falskt (F): ] Ett sekvensdiagram visar i vilken ordning olika interaktionsdiagram skall läsas. ] Ett systemsekvensdiagram är bara ett specialfall av ett sekvensdiagram. ] garfield:katt är ett objekt av typen Katt som lagras i en variabel garfield. ] Interaktionsdiagram visar vilka meddelanden som skickas mellan klasser. ] Kommunikationsdiagram presenterar samma sak som ett sekvensdiagram. ] I sekvensdiagram visar man det nuvarande värdet på alla attribut i alla inblandade objekt. Fråga 3. Klassdiagram 3p Markera varje påstående nedan som antingen sant (T eller S) eller falskt (F): ] Ett klassdiagram beskriver det nuvarande värdet på alla attribut i alla inblandade klasser. ] En association mellan två klasser kräver att båda klasserna känner till varandra. ] Det får bara finnas ett enda objekt av typen «Interface» Odie i ett system. ] Metoder i en klass kan vara public, protected, eller private. ] En metod som är deklarerad som public får inte använda sig av attribut som är private. ] [Class A] [Class B] betyder att B ärver från A. 2

Fråga 4. Relationer mellan Klasser 3p Studera diagrammet nedan, och markera sedan varje påstående nedanför som antingen sant (T eller S) eller falskt (F): ] En Cat kan äga upp till fem objekt av typen Ball ] En Ball har en och endast en ägare. ] blue:ball kan flyttas från garfield:cat till heatcliff:cat. ] Associationen mellan Cat och Ball implementeras bäst som en array inuti Ball. ] Det kan finnas högst 5 objekt av typen Ball i det här systemet. ] Ett objekt av typen Cat kan inte existera utan objekt av typen Lasagna. Fråga 5. GRASP-patterns 3p Markera varje påstående nedan som antingen sant (T eller S) eller falskt (F): ] En Information Expert är en klass som samlar all data i systemet som ett gränssnitt mot en databas. ] En Controller tar emot systemhändelser och delegerar till andra klasser för att genomföra den begärda funktionen. ] High Cohesion betyder att varje klass skall ha få och väldefinierade ansvarsområden. ] En Creator är en klass som bara används när ett system startar upp första gången. ] Low Coupling gör det enklare att förstå hur varje enskild klass fungerar. ] En Controller är en klass som skall säkerställa att alla ekonomiska funktioner fungerar som de skall i ett program. 3

Fallbeskrivning för Återstående Frågor Resten av frågorna använder sig av föjnade fall. Paragraferna är numrerade för att det skall vara lättare att referera till dem i frågorna. Läs beskrivningen noga innan du besvarar frågorna nedan. Ticket Management System (TMS) (1) Tickets-R-Us is an event management company. They sell tickets to Football matches, Theater shows, Concerts, as well as Bus- and Train- tickets to and from these events. (2) Their business idea is to be a door-to-door supplier for these events. You can visit one of their offices, call them, use their mobile phone app, or their regular web app, and get the same service to book tickets for an event. (3) If the customer already know what event they want to visit, they can order your tickets directly. In this case, they will be offered different date suggestions, as well as suggestions on how to get there and back. The customer will also get suggestions about e.g. nice restaurants or pubs nearby where you can meet and eat before or after the event. For a football match, pubs before the game should be suggested, For theater shows and concerts, restaurants after the show should be suggested. (4) Customers can also contact Tickets-R-Us without knowing exactly what they want to do. In this case, the customer will be offered a list of events on a particular date, or a list of events based on categories or keywords that the customer provides. (5) Once the customer have ordered tickets, these are reserved. After payment, the tickets are printed and delivered to the customer. (6) Tickets-R-Us use Funhouse Ticket Service to book the tickets and to keep track of available seats. They use Sardines Travels to book bus and train tickets. Furthermore, they use GobGuide to find pubs and restaurants near the venue. (7) Payments are done with the help of Greed Inc.. Tickets-R-Us gets a message from them whenever a customer has completed a payment. This message also contains information about which reservation the payment concerns. 4

Fråga 6. Konceptuell Modell 6p Konstruera en Konceptuell Modell för det här systemet. Använd associationer, aggregat, arv, och associationsattribut om och när det är tillämpbart. Sätt ut multiplicitet där det är relevant. 5

Fråga 7. Use Case Diagram 4p Rita ett Use Case Diagram för TMS. Se till att du identifierar alla Aktörer såväl som alla Use Cases. Om du finner det tillämpbart kan du strukturera ditt use case diagram så att några use cases inkluderar eller utökar andra use cases. 6

Fråga 8. Expanderat Use Case 4p Skriv ett Expanded Use Case för Book Known Event. Det här Use Caset beskriver en kund som vet vilket event hen vill boka (paragraf 3 i beskrivningen ovan). Use Case: Book Known Event Primary Actor: Customer Actors: Customer, Funhouse Ticket Service Preconditions: Customer knows the name of an event, with a start date and time and a location. Postcondition: The event is booked. Optionally a seat at a nearby restaurant or pub is reserved. Optionally, travel to and from the event is booked. Brief Description: The customer contacts TRU and want to order a specific event with a specific start date, time, and location. The system confirms that the event is still available and then creates a reservation at the event. Continued on the next page 7

Basic Flow: Actor 1. The customer enters or selects the name of an event 3. The customer selects a date, a time, and a location. System 2. The system shows available dates, times, and locations. 4. The system checks that the event is still available, and creates a reservation. 5. The system suggests nearby pubs or restaurants. Execute use case Reserve Pub or Restaurant 6. The system prompts for travel to and from the event. Execute use case Book Travel Alternative Flows: 4. The event is no longer available at the specified time and place. The system suggests alternatives. 8

Fråga 9. Interaktionsdiagram 4p Rita ett Interaktionsdiagram (Sekvens- eller kommunikationsdiagram) för systemoperationen RegisterTicket(CustomerID, EventID). 9

Fråga 10. Klassdiagram 4p Rita ett klassdiagram som innehåller de klasser, metoder, och attribut som du använde i interaktionsdiagrammet i den förra frågan. Kom ihåg associationer mellan klasserna och lägg till (om och där det är tillämpbart) basklasser och arvshierarkier. 10