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

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

KravinsamlingAnalys Design Implementation Testning

Tentamen NOA011 Systemarkitektprogrammet. 51 poäng

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

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

PA1415 Programvarudesign Second Resit

Tentamen NOA011 Systemarkitektprogrammet

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

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

Tentamen i Objektorienterad modellering och design

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

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

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

Fyra i rad Javaprojekt inom TDDC32

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

Objektorienterad Programkonstruktion. Föreläsning jan 2016

Tentamen i Objektorienterad modellering och design Helsingborg

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

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

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

Del av projektuppgiften. Systemarkitektprogrammet

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

Tentamen i Objektorienterad modellering och diskreta strukturer

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

Objektorientering. Grunderna i OO

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

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

Tentamen i Objektorienterad modellering och diskreta strukturer

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

Tentamen i Objektorienterad modellering och design

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

Principer, Patterns och Tekniker. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016

Principer, Patterns och Tekniker. Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018

Säkra Designmönster (Secure Design Patterns)

Arkitektur Michael Åhs

Mutability och State. Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018

Objektorienterad Systemutveckling 1 (7,5 hp)

Design Patterns. En kort introduktion

Principer, Pa+erns och Tekniker. Objekt-orienterad programmering och design Alex Gerdes, 2018

Observer Pattern och MVC. Objekt-orienterad programmering och design Alex Gerdes, 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

Lösningar till tentamen i EDAF25

Objektorienterad modellering och diskreta strukturer (EDAF10/EDA061)

Tentamen i Objektorienterad modellering och design Helsingborg

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

Designmönster/Design patterns

Tentamen i Objektorienterad modellering och diskreta strukturer

Design Patterns. Objekt-orienterad programmering och design Alex Gerdes, 2016

Fördjupande uppsats i datalogi

Objektorienterad konstruktion

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

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

Teoridel (svaren direkt på lydelsen)

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

Lösningar till tentamen i EDAF25

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

Objektorienterad Programkonstruktion, DD1346. Tentamen , kl

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

Separation of Concern. Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2016 Johannes Åman Pohjola, 2017

Tentamen i Objektorienterad modellering och design (OMD) Helsingborg

SI-pass 4. Johan Brook och Jesper Persson. 25 september Diskutera och svara på om påståendena nedan är äkta sanningar eller listiga lögner.

Övningsuppgift. Repeterbara citat. Steg 2. Författare: Mats Loock Kurs: Inledande programmering med C# Kurskod:1DV402

Akronymer. CD5130 OOP, fk. Mjukvarumönster. Mjukvarumönster. Mjukvarumönster, forts. Mjukvarumönster, forts

Design Patterns Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017

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

Introduktion. Lagom är bäst. OO eller ej? TDP004 Objektorienterad Programmering Fö 7 Objektorienterad design, tips och råd

Information. Computer

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

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

Laboration 2: Designmönster

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

Spelet i sig är inte avancerat men projektet ställer en del krav på implementationen bland annat:

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Tentamen ID1004 Objektorienterad programmering October 29, 2013

Dependencies High cohesion, low coupling. Objekt-orienterad programmering och design Alex Gerdes, 2018

Introduktion till objektorientering. Vad är objektorientering egentligen? Hur relaterar det till datatyper? Hur relaterar det till verkligheten?

Problemlösning. Analys och design OOA&D. Programutveckling sker i faser OOA&D. Fastställa och analysera förutsättningarna/ kraven.

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

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

Separation of Concern. Objekt-orienterad programmering och design (DIT953) Niklas Broberg / Johannes Åman Pohjola, 2018

Vilken skillnad gör det var du placerar det? Prova båda.

Inkapsling (encapsulation)

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

Objektorienterad analys och design

Tentamen i Objektorienterad modellering och diskreta strukturer

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

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

Designspecifikation den 13 december 2007

Försättsblad till skriftlig tentamen vid Linköpings Universitet

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

F9 - Polymorfism. ID1004 Objektorienterad programmering Fredrik Kilander

Objektorienterad analys och design

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

UML. Översikt UML. Relationer mellan klasser. A är ett aggregerat av B:n. Kontor aggregat av Enheter. 12 olika diagramtyper, bl.a.

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

Objektinteraktion. Objektorienterad programmering Laboration 2. Syfte Att konstruera ett litet objektorienterat program med flera samverkande objekt.

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

Idag: Dataabstraktion

Lambdas. (och fler design patterns) Objekt-orienterad programmering och design (DIT952) Niklas Broberg, 2017

Design och konstruktion av grafiska gränssnitt

Transkript:

1 Interaktionsdiagram Givet följande sekvensdiagram: Om object:gameobject inte överlever träffen skall den tas bort från världen. Enligt GRASP mönstret Information Expert är det klassen GameObject som vet detta och således skall uppdatera world:gameworld. : Enligt GRASP mönstret Controller så måste GameObject känna till world:gameworld. Enligt GRASP mönstret Low Coupling så måste b:bullet känna till world:gameworld. Om fem stycken :GameObject ligger i vägen för b:bullet så kommer alltid loopen köras fem gånger.

metoden getobjectsinpath() skall ligga i klassen Bullet. metoden launch() ger inget returvärde. Totalpoäng: 6 2 GRASP mönster Controllers kan anropa andra Controllers. Det får bara finnas en instans av en Information Expert. En Controller är ansvarig för att ta emot systemhändelser och delegera till andra klasser för att genomföra den önskade operationen. Information Expert betyder att ansvaret för att arbeta med en viss information bör ligga i den klass som innehåller informationen.

Enligt High Cohesion skall man se till att samla ansvaret för en viss uppgift i så få klasser som möjligt. Totalpoäng: 5 3 Patterns 1 Hur ett telefonsamtal skall debiteras beror på vilket avtal du har som kund. Till exempel har företag en taxa, och privatpersoner en annan. Vidare har privatpersoner antingen ett rörligt avtal eller ett fast avtal, och det finns olika nivåer på de fasta avtalen beroende på hur mycket man tänker ringa. Kunder kan när som helst byta avtal, men bara enligt vissa regler (företag får t.ex. inte byta till avtal för privatpersoner och vice versa). När en faktura skall beräknas i slutet av varje debiteringsperiod (t.ex. varje månad), så skall man, för varje kund och typ av avtal, beräkna en fast månadsavgift, hur många minuter kunden har ringt för och vad detta skall kosta, hur mycket datatrafik kunden använt och vad det skall kosta, osv. Välj vilket Design Pattern som passar bäst för att lösa denna uppgift: Layered) (Creator, Factory Method, Facade, Strategy, Singleton, Vilken/vilka av följande klasser skall ha en implementation av metoden calculatefixedcosts(): Välj en eller flera alternativ Customer PricingCalculatorCorporate PricingCalculatorPrivateLow PricingCalculatorPrivateMedium InvoiceGenerator Vilken/vilka av följande klasser skall ha en implementation av metoden selectpricingcalculator():

Välj en eller flera alternativ Customer PricingCalculatorCorporate PricingCalculatorPrivateLow PricingCalculatorPrivateMedium InvoiceGenerator Totalpoäng: 5 4 Patterns 2 Singleton betyder att man bara får anropa klassen en gång Strategy pattern använder sig av polymorfism Abstract Factory används för att skapa rätt typ av objekt givet ett visst kontext, där resten av systemet inte behöver veta exakt vilken typ objektet är. När man använder Layered så har man alltid ett GUI lager, ett logik lager, och ett data lager.

I Model View Controller har man flera Modeller som presenteras i samma View Totalpoäng: 5 5 Tillståndsdiagram Givet följande diagram: Snälla barn (Nice) som busar måste först bråka och sedan göra något bra för att få presenter. Efter ett tag glömmer föräldrar bort att barn är Naughty, och då återgår barnet till att bara vara övervakat (Watched). Snälla barn (Nice) kan bråka utan konsekvenser.

Bara olydiga barn (Naughty) vinner något på att göra något bra. Snälla barn (Nice) kan bara få presenter en gång. Totalpoäng: 5 6 Klassdiagram Givet följande klassdiagram: En Wizard kan ha ett Sword. En Player kan vara ett Monster. En Wand är ett slags pyttelitet Sword med trubbig spets.

En Player kan ha flera olika Weapon. En Character måste vara antingen en Wizard eller en Warrior. En Character behöver inte slåss med Monster. En Wand består av minst en Spell. Totalpoäng: 7 7 Klassrelationer Givet följande klassdiagram: Markera nedan om påståendet är tillåtet (sant) enligt klassdiagrammet eller inte tillåtet (falskt). Harry:Player spelar i år för Gryffindor:Team och Ravenclaw:Team

: Gryffindor:Team och Slytherin:Team möttes i gruppspel[2]:match[] och nu möts de igen i final:match. I ett unikt samarbete spelar i år Hufflepuff:Team och Ravenclaw:Team tillsammans och möter Gryffindor:Team i första matchen. Efter HogwardsChampionship:Tournament går winner:team vidare till NationalSchoolChampionship:Tournament. Och slutligen, som elfte spelare och avbytare för Slytherin:Team har vi Crabbe:Player. I år kommer Durmstrang:Team inte delta i Triwizard:Tournament. Totalpoäng: 6