02121  Ingeniørarbejde - projektdel for Softwareteknologi - Generel projektbeskrivelse
Technical University of Denmark DTU
02121 Ingeniørarbejde - projektdel for Softwareteknologi        Januar 2010
Generel projektbeskrivelse


[Til udskrift anbefales PDF versionen.]

Introduktion

Formålet med programmeringsprojektet er at give deltagerne erfaring med at designe og konstruere et simpelt produkt i form af et Java-program med en grafisk brugergrænseflade (GUI) og tilhørende teknisk dokumentation.

Projektet går ud på at implementere et mindre programværktøj, der kan hjælpe med at behandle en problemstilling fra efterårets forløb. Projektet udføres i grupper á 2-3 personer. Grupper med 3 personer forventes at lave visse udvidelser beskrevet under de enkelte opgaver.

Der er mulighed for at vælge mellem følgende opgaver:


    Opgave I:     Fordelingsanalyse
    Opgave II:   Protokolsimulering

Detaljerede beskrivelser af opgaverne kan findes via projektsiden:
www.imm.dtu.dk/courses/02121/proj/projekt.html

Generelle opgavekrav

Der skal konstrueres et GUI-baseret Java-program, der implementerer et værktøj med den krævede funktionalitet. Programmets konstruktion skal dokumenteres i en rapport som beskrevet i de følgende afsnit.

For hver opgave er der stillet en række basale krav til funktion og udseende. Det er op til deltagerne at uddybe og detaljere disse krav og tage stilling til eventuelle uklarheder.

Værktøjet kan eventuelt udbygges med nogle af de udvidelsesforslag, der er nævnt i hver opgave. Det anbefales kraftigt at vente med dette, til de basale funktioner er implementeret.

Programmet skal implementeres i Java (version 1.6).

Programdesign

Programmet bør designes efter Model-View-Control princippet som beskrevet i GUI-noterne. Dette princip giver en god programopdeling, tillader systematisk test af indre dele og kan evt. benyttes som grundlag for arbejdsdeling.

Opgaven kan med fordel løses i en række trin:

  1. Model. Fastlæggelse af datastrukturer til modellering af systemets tilstand og mulige operationer på denne.
  2. Visning. Fastlæggelse af grafisk repræsentation af tilstanden.
  3. Styring (eng. control). Fastlæggelse af, hvordan operationerne aktiveres/vælges fra brugergrænsefladen.
  4. Ekstra funktionalitet (gemning/hentning, automatisering osv.).

Afprøvning og demonstration

Det forventes ikke, at der laves en udtømmede test af alle programmets dele inden for kursets tidsramme, men som mininum kræves:

Nogle noter om GUI-test kan findes på materialesiden.

Nogle råd

Rapportkrav

Programmet skal dokumenteres i en kort teknisk rapport. Formålet med rapporten er at beskrive jeres arbejde på en sådan måde, at andre hurtigt kan sætte sig ind i det, fx. med henblik på tilrettelser eller videreudvikling. Rapporten skal have følgende indhold:

Rapporten skal være kort: Den forventes at være på 7-10 sider og bør ikke overstige 12 sider (eksklusiv forside og bilag). Detaljer kan gives i bilag med behørig henvisning. Rapporten skrives på dansk eller evt. engelsk.

En brugervejledning (eng. user's guide) skal være inkluderet som bilag. Denne skal fortælle, hvad programmet kan, hvordan programmet køres og hvordan forskellige opgaver udføres. De underliggende begreber for værktøjet kan antages kendt. Brugervejledningen forventes at fylde 1-2 sider.

Al programkode skal inkluderes som bilag på en sådan måde, at det er nemt at finde rundt i. Programteksten skal selvfølgelig være velkommenteret. Som nævnt forventes JavaDoc standarden benyttet, men den dermed genererbare dokumentation ønskes ikke vedlagt.

Endvidere skal alle tests og resultater såvel som demonstrationsplanen optræde som bilag.

OBS: Hver gruppe forventes at udarbejde program og dokumentation selvstændigt. Enhver brug af materiale fra andre kilder (andre grupper, www, ...) skal eksplicit angives i introduktionen med detaljer om samarbejde/oprindelse. I modsat fald vil sådan brug blive betragtet som forsøg på snyd og blive indberettet til studieadministrationen.

Projektaflevering

Hver gruppe skal aflevere rapporten i ét underskrevet papireksemplar senest fredag d. 22. januar kl. 9.00 i postboksene i bygning 322's vestvendte trappeopgang. Samtidigt skal hver gruppe aflevere både rapporten og Java-programmet elektronisk via CampusNet.

Samme dag, mellem kl. 9 og 12, skal hver gruppe demonstrere deres program over for en hjælpelærer.

Det vil også være muligt at aflevere og demonstrere torsdag d. 21. januar i stedet (aflevering senest kl. 12.00). Dette angives ved gruppetilmeldingen.

Instruktion omkring gruppetilmelding, elektronisk aflevering samt demonstration vil fremgå af siden om praktiske detaljer. Rettelser, uddybninger og FAQ til opgaverne kan findes på projektsiden. Væsentlige ændringer vil blive annonceret via CampusNet.

Evalueringskriterier

Ved bedømmelse af opgaven vil der blive lagt vægt på følgende:


Hans Henrik Løvengreen, Jan 7, 2010