Miniprojekt i Programmering (MIP) for DAT2 og SW2, Forår 2012



Relaterede dokumenter
Nye danske personbilers CO 2. udslip, energiklasse, brændstofforbrug, egenvægt, slagvolumen og motoreffekt, årgang 2003

Fremtidens bilteknologier

Energiinformation om nye danske personbiler Udvikling

Fra 1963 og frem til 2009 er der sket rigtig meget med udviklingen af nye ambulancer.

Bilers brændstofforbrug og CO2 udledning

SAMSØ FOSSILFRI Ø GAS TIL FÆRGE OG VEJTRANSPORT. Bilag

DU KAN FINDE EN VEJLEDNING TIL HVORDAN DU SKAL UDFYLDE BLANKETTEN PÅ BAGSIDEN AF DEN SIDSTE SIDE

HÅNDBOG FOR ENERGI KONSULENTER REGLER. Version Erhverv oplyst Gyldig fra den 2012

Ofte stillede spørgsmål

Skriftlig eksamen i Datalogi

Udvikling i nye danske personbilers CO 2. udledning og energiforbrug. årgang 2005

Optimeret Ruteforslag

MEMO. Spørgsmål 1: Er det korrekt opfattet at det fire pakker med hver 1 garantivogn de efter Følgene 4 er biler der muligvis skal i gang?

C3 Sportvan. Prisliste og tekniske specifikationer

SCANDIC OIL ACEA SPECIFIKATIONER

Dansk Petanque Forbund

vejledning til Ansøgningsskema

Spørgsmål og svar 1 d. 16. oktober 2012 på udbud på levering af brændstof og fyringsolie

Anbefalinger Indkøb af busser og lastbiler

Bilagsrapport 4: Systembeskrivelse for affaldsindsamling Århus Kommune

Peter Harremoës Mat A eksamen med hjælpemidler 15. december f (x) = 0. 2x + k 1 x = 0 2x 2 + k = 0 2x 2 = k x 2 = k 2. k 2.

E 42 Motorvej Angiver en vejstrækning, hvor de særlige regler gælder om kørsel på mo- torvej samt til- og frakørselsvej til motorvej.

Maj Danske personbilers energiforbrug

Udbud på levering af brændstoffer Version 7. marts 2014

Opgørelse af energisparetiltag inden for transport i energiselskabernes spareindsats

KørGrønt. Alt andet er helt sort. Spar op til 20 % på dit brændstofforbrug. 4. udgave

Miljøbevidst projektering EFFEKTIVISERING AF VOGNPARK?

Bilag A Spørgeskema. Undersøgelse af 2 minus 1 veje i Danmark. På forhånd tak for hjælpen. Telefonnummer på kontaktperson:

IDEKATALOG TIL VOGNMÆND

Udbudsbetingelser til begrænset udbud - Prækvalifikationsfasen. Sekretariat for administration af tilskudsordning

Reparation og genbrug skal være er trendy

Post Danmark, emissionsberegninger og miljøvaredeklaration

Fællesindkøb Fyn udbyder herved på vegne af Faaborg-Midtfyn Kommune, indkøb af 5 stk. fabriksnye biler m.v. i henhold til nedennævnte udbudsmateriale.

Bjælkeoptimering. Opgave #1. Afleveret: Version: 2 Revideret: Optimering, ressourcer og miljø. Anders Løvschal, s022365

Ved fritrækning på hjemadressen forudsættes det, at der er foretaget tilstrækkelig snerydning.

Websitet handler om websitet i sin helhed, dvs. hvor mange besøgende du har i alt osv.

AFAs konkurrencebetingelser

Årlig vurdering i forbindelse med regulering af bekendtgørelse om energi- og miljøkrav til taxier m.v.

DIREKTIVER. KOMMISSIONENS DIREKTIV 2012/36/EU af 19. november 2012 om ændring af Europa-Parlamentets og Rådets direktiv 2006/126/EF om kørekort

Meddelelse om køretøjers indretning og udstyr mv.

Databasesystemer. IT Universitetet i København 16. januar 2006

Specifikationer til Avensis

STUDENTEREKSAMEN MAJ AUGUST MATEMATIK B-NIVEAU. onsdag 12. august Kl STX092-MABx

Videregående Programmering for Diplom-E Noter

ANALYSENOTAT Lavere oliepriser frigiver penge til forbrug men der er grænser

dintprog Manual Revision: 1241 August 24, 2010 I Introduktion 3 1 Notation 3 II Begreber 4 2 Grundbegreber om programmering 4

Objektorientering. Programkvalitet

Se en verden fra oven

Formandens beretning Y2004

Assignment #5 Toolbox Contract

Udvikling i nye bilers brændstofforbrug 2013

Indholdsfortegnelse. Indledning...2. Tidsplan...2. Målgruppe...3. Spørgeskema...3. Kode eksempler...5. Procesbeskrivelse...7. Evaluering...

Folketinget - Skatteudvalget. Hermed sendes svar på spørgsmål nr. 233 af 30. april. /Lene Skov Henningsen

Katalog sådan opdaterer du dine oplysninger til Danhostel-kataloget. Version 1.0 INDHOLDSFORTEGNELSE

1. Spørgsmål til UDBUDSBETINGELSER + UDBUDSBILAG 1-3

WIC 4000 Plus INSTRUKTIONSBOG

Renault FORSIKRING i samarbejde med If

Førsteårsprøven Projektbeskrivelse 2. Semester Multimediedesigner

1. Beskrivelse af virkemidlerne (der er flere delelementer) Videreførsel af KørGrønt (kampagner om energieffektiv køreteknik

- frihed og stil. P3 Knallert P3 Magnum

Kort om Eksponentielle Sammenhænge

ELEKTRONISK INDBERETNING BØRNEDATABASEN VIA DGWS 13/ VERSION 1.02

Forslag. Lov om ændring af færdselsloven

Vejledning til ansøgning om støtte i forbindelse med partnerskabspuljer til el og gas til transport

Underbilag 2O Beskedkuvert Version 2.0

L 217- Forslag til Lov om ændring af registreringsafgiftsloven og vægtafgiftsloven.

To mikroarkitekturer til MIPS Karakteropgave på Maskinarkitektur 1B

Hvordan udbyder man støjreducerende slidlag (SRS)

Vejledning til prøven i idræt

Kørsel i kommunens egne køretøjer - Kultur, Miljø & Erhverv. - Social & Sundhed - Staben & Jobcenter. Kørselsgodtgørelse. Elektricitet (bygninger)

Syddansk Universitet. Dataklassificering på. Version 1.8 Sidst revideret d. 29. november 2007 Side 1 af 13

Kravspecifikation til 1 stk. skraldebil med to-kammer kasse, chassisdel.

Favrskov Erhvervsråd Skatter og afgifter på gulpladebiler

Spar op til 20% på dit brændstofforbrug

Rammekontraktbilag C Tilbudsbesvarelse

Udsendelse nr. 1 til de bydende

Jeg har nogle spørgsmål ang. materialet, der skal afleveres til prækvalifikationen, Nyt OUH, som jeg håber, du kan hjælpe med:

Fiat personbiler. Prisoversigt 25. august 2011

Affaldsdatasystem Vejledning i manuel indberetning

Dækside mærkning på et dæk indeholder oplysninger om dækkets design og produktion.

Beskatning af varebiler under 4 tons! (gulpladebiler)

UDKAST. Forslag. til. (Ændring af bødesatser) I lov om godskørsel, jf. lovbekendtgørelse nr af 12. november 2012, foretages følgende ændring:

Autocamper Afgifter. Hvorfor denne forskelsbehandling? Hovedpunkter

Aarhus Kommune Center for Miljø og Energi Tilsyn ifølge miljøbeskyttelsesloven. Miljøsagsnr. MIL-3939

Computerens Anatomi Af Mathias og Mark

INDHOLDSFORTEGNELSE BILAG 0 1. Energimærkningsskala 0 1

FREDENSBORG KOMMUNE BANEBRO, ULLERØDVEJ

Tilslutningsaftale Til Webservice

SPØRGSMÅL OG SVAR VEDRØRENDE UDBUD AF SLAMSUGNING

Feje-/sugemaskine Sprint 600 / 700 / 900 / 1000 TEKTRA VI LØFTER ENHVER OPGAVE

Retningslinjer for konkurrencetilskud

UDBUDSANNONCE. Vandpris pr. m³, inkl. moms kr. 46,56 Brøndby Kommune Elpris pr. kwh, inkl. moms og afgifter kr. 2,5171 DONG Energy

Indhold. ... side 4. Biler og CO 2. I denne folder kan du lære mere om bilers miljø- og klimaegenskaber, og om hvordan du kan spare penge og CO 2

Udbud af 9 biler til hjemmeplejen

Energiopgave til uge 44

Vejledning til oprettelse af brugere på MIT DANSKE ARK. Udføres af virksomhedsrepræsentant eller lokaladministrator. Indholdsfortegnelse:

7PM18 7PM20 7PML20 7PLL24. Serien

Børn, unge og sundhed

Transkript:

Miniprojekt i Programmering (MIP) for DAT2 og SW2, Forår 2012 Opgaven er delt op i 2 dele. Læs hele opgaven igennem inden I begynder. 1. Struktur I denne opgave skal der laves et system der håndterer salg af forskellige køretøjer (inspireret af lignende systemer som f.eks. bilbasen.dk). Systemet skal administrere følgende typer køretøjer: Personbil, lastbil, varevogn, bus og autocamper. I det følgende beskrives køretøjers fællestræk samt deres forskelle. Køretøj Følgende egenskaber er fælles for køretøjer Mærke (f.eks., VW eller BMW ) Model (f.eks., Polo eller Golf ) o Såvel mærke som model må ikke være null. Forsøg på at tildele en null værdi skal udløse en passende exception. Km (angiver hvor mange kilometer køretøjet har kørt i dets levetid) o Km må ikke være et negativt tal. Forsøg på at tildele en negativ værdi skal udløse en passende exception. Årgang (angiver hvilket år køretøjet er indregistreret) o Gyldige årgange inkluderer 1950 indeværende år. o Hvis brugeren forsøger at tildele en værdi udenfor de angivne minimum/maksimum årgange skal systemet automatisk sætte den passende minimum/maksimum værdi. o Årgang skal være read-only, dvs. efter instantiering må værdien ikke kunne ændres. Pris (angiver køretøjets salgspris) Max hastighed (Denne værdi angiver den maskimale tophastighed (i km/t) for en given køretøjstype) o Bemærk: Denne værdi angiver ikke hvor hurtigt et konkret køretøj kan køre, men i stedet den maksimale hastighed for alle køretøjer af samme type. F.eks. kan en Fiat Panda køre 167 km/t, mens en Ferrari Enzo kan køre 333 km/t. Begge disse personbiler skal imidlertid have samme max hastighed værdi (407 km/t). o For de forskellige køretøjstyper gælder følgende: Personbiler kan max køre 407 km/t Lastbiler kan max køre 95 km/t Varevogne kan max køre 200 km/t 1

Busser kan max køre 120 km/t Autocampere kan max køre 180 km/t. Motorstørrelse (som angivet ved slagvolumen i liter) o I denne opgave vil forskellige typer køretøjer have forskellige tilladte motorstørrelser: Den tilladte motorstørrelse for personbiler er 1.0-4.2 l. Den tilladte motorstørrelse for lastbiler er 5.0-15.0 l. Den tilladte motorstørrelse for varevogne er 2.0-4.2 l. Den tilladte motorstørrelse for busser er 4.2-14.2 l. Den tilladte motorstørrelse for autocampere er 2.4-6.2 l. Km/l (Angiver hvor mange kilometer køretøjet kan køre på en liter brændstof) Brændstof (Angiver den brændstoftype som køretøjet anvender) o Mulige værdier: Diesel, 92 oktan, 95 oktan. o Brændstof skal være read-only I skal dog her bruge en anden konstruktion til at angive read-only tilgang end I brugte til Årgang. Energiklasse (angiver hvor brændstoføkonomisk køretøjet er) o Energiklassen er en udregnet egenskab der afhænger af brændstof og km/l egenskaberne. o Energiklassen udregnes som udgangspunkt* på følgende måde: Hvis motorens brændstof-type er diesel, er energiklassen: A klasse: Hvis køretøjet kører > 25 km/l B klasse: Hvis køretøjet kører 20-25 km/l C klasse: Hvis køretøjet kører 15-20 km/l D klasse: Hvis køretøjet kører < 15 km/l Hvis brændstof-typen er benzin, er energiklassen: A klasse: > 20 km/l B klasse: 15-20 km/l C klasse: 10-15 km/l D klasse: < 10 km/l * Energiklassen udregnes på en særlig måde for autocampere. Se længere nede. Titel (Giver en opsummerende beskrivelse af køretøjet) o En titel er en udregnet egenskab (dvs., ingen setter) der er sammensat af køretøjets mærke, model og motorstørrelse. Sælger. Et køretøj er tilknyttet en sælger via en binær association. Et køretøj har således en reference til en sælger, ligesom en sælger har en reference til køretøjet. Et køretøj skal kunne instantieres på minimum to forskellige måder. Personbil Veteran (angiver om personbilen er klassificeret som et veterankøretøj). o En personbil klassificeres som et veterankøretøj hvis bilen er mindst 25 år gammel. 2

Titel o Såfremt en personbil er et veteran-køretøj skal det tilføjes til bilens titel. Lastbil Lasteevne (Angiver maksimal lasteevne i kg) Soveplads (Indikerer om lastbilen indeholder en soveplads) Højde (Angiver køretøjets højde) Vægt (Angiver køretøjets vægt) Restriktioner: Den eneste tilladte brændstoftype for lastbiler er diesel. Derudover skal en lastbil indikere at føreren skal have minimum et C-kategori kørekort (stort kørekort). (De samme to restriktioner gælder i øvrigt for busser) Varevogn Lasteevne (Angiver maskimal lasteevne i kg) Varerums-dimension (består af længe, bredde, højde) Bus Antal siddepladser Antal sovepladser Toilet (Indikerer om bussen indeholder toilet-faciliteter) Højde (Angiver køretøjets højde) Vægt (Angiver køretøjets vægt) Restriktioner: Den eneste tilladte brændstoftype for busser er diesel. Derudover skal en bus indikere at føreren skal have minimum et C-kategori kørekort (stort kørekort). (De samme to restriktioner gælder i øvrigt for lastbiler som beskrevet tidligere) Autocamper Antal siddepladser Antal sovepladser Varmesystem (Angiver autocamperens primære varmekilde) o Mulige værdier er: gas, strøm eller oliefyr. Energiklasse o Autocamperens varmesystem spiller ind på hvilken energiklasse den bliver placeret i. Hvis autocamperen bruger oliefyr, så skal km/l ganges med 0.7 inden energiklassen beregnes. 3

o o o Hvis autocamperen bruger strøm, så skal km/l ganges med 0.8 inden energiklassen beregnes. Hvis autocamperen bruger gas, så skal km/l ganges med 0.9 inden energiklassen beregnes. Eksempel: En benzin-drevet autocamper der kører 21 km/l (klasse A) vil med oliefyr havne i klasse C (21 * 0.7 = 14.7), mens en strøm-udgave vil havne i klasse B (21 * 0.8 = 16.8) Sælger Navn Postnr Telefonnummer o I skal sørge for at et telefonnummer består af nøjagtigt 8 cifre. Hjemmeside o Hvis en sælger har angivet en hjemmeside skal i sørge for at den starter med http://www. Køretøjer o Det skal være muligt at tilføje og fjerne køretøjer samt gennemløbe en sælgers køretøjer. En sælger kan være enten en privatperson eller et firma. Overordnet Lav et passende klassedesign der opfylder ovenstående krav, inkl. et passende klassehierarki der reducerer koderedundans. Brug ligeledes passende synlighedsmodifikatorer og datatyper. Navngivning af klasser, egenskaber og metoder står Jer frit for. Ligeledes står det Jer frit for om og i givet fald hvordan - I vil foretage data validering udover de beskrevne krav. Alle klasserne i hierarkiet skal override ToString() metoden for at give en fornuftig repræsentation af et givet objekt. Nærmere bestemt, skal et kald til ToString() resultere i at man kan se værdien af alle objektets (offentlige) attributter. 2. Administration af køretøjer Alle køretøjer skal indkapsles i en passende collection klasse hvorfra køretøjer kan tilføjes, fjernes og gennemløbes. For at undgå duplikker skal I sørge for at et køretøj ikke allerede findes i collection klassen inden det indsættes. Denne undersøgelse skal baseres på køretøjers værdi-lighed i stedet for referencelighed. Derudover skal klassen implementere følgende søgefunktioner: 4

1) Find alle køretøjer af et bestemt mærke og model. 2) Find alle køretøjer der er til salg indenfor et bestemt postnr. 3) Find alle køretøjer der har minimum en angivet lasteevne. 4) Find alle køretøjer der kræver et stort kørekort, og koster under en bestemt maksimum pris. 5) Lav en generel søgemulighed, hvor klienten har mulighed for dynamisk at angive et vilkårligt søgekriterium. Denne søgefunktion vil i sagens natur gøre det muligt for klienter at udtrykke søgefunktionerne 1-4. Forskellen er, at ansvaret for at definere et givet prædikat i dette tilfælde er flyttet over på klienten. Køretøjerne der returneres fra søgefunktionerne skal som udgangspunkt returneres i stigende rækkefølge efter pris, dvs. de billigste køretøjer optræder først i resultatet. I søgemulighed 3 skal I dog returnere køretøjer i stigende rækkefølge efter deres vægt. Bemærkninger: Opgaveløsningen skal kunne demonstreres gennem en klasse der implementerer en simpel tekstuel brugergrænseflade (en konsol-applikation). Opgaven rummer en del variationsmuligheder mht. opfyldelse af de funktionelle krav, hvorfor der ikke kun findes én rigtig måde at løse den på. Der vil dog være fokus på at I laver et hensigtsmæssigt klassedesign, samt at I sørger for at jeres kode er læsbar. Ved tvivlsspørgsmål skal I gøre rede for hvilke antagelser der ligger til grund for jeres valgte løsning. Krav og forventninger til program og dokumentation Det udviklede program skal være objekt-orienteret, og det skal skrives i C#. Kildeteksten af det udviklede program skal afleveres i to eksemplarer på elektronisk form (CD- ROM, DVD eller USB memory stick). Blu-Ray medier modtages ikke! Det udviklede program skal være demonstrerbart, dvs. det skal kunne afvikles uden bugs. Det udviklede program skal være velskrevet og velkommenteret, således at det fremstår forståeligt for læsere af programmet. Med det udviklede program skal der følge en kort beskrivelse af programmet (ca. én side). Denne beskrivelse skal omfatte navnene på deltagerne; miniprojekt-navn*; status af programmet; beskrivelse af evt. antagelser, begrænsninger, udvidelser eller variationer i forhold til opgaveformuleringen; underskrift fra alle deltagerne samt eventuelle kilder (dog ikke kursusbogen eller kursuslides). En underskrift bekræfter deltagelse i programmeringsarbejdet, og at ingen andre end de underskrevne har bidraget til arbejdet. 5

* Miniprojekt-navn: Minigruppen tager navn efter deres oprindelige gruppenavn, f.eks. B126. Første minigruppe har postfiks A, mens anden minigruppe har postfiks B. En gruppe B126 vil således blive til to minigrupper, B126A og B126B. Evt. uklarheder i opgaveformuleringen forventes afklaret som en del af opgaveløsningen. 6