Delfinen
Dette er en fri opgave, hvor det står alle frit for at fortolke og twiste opgaven i de retninger I ønsker.
Følgende tekst er et mødereferat efter det første kundemøde med kunden. Det var et lidt hektisk møde, hvor mange ønsker kom på bordet, så der er sikkert detaljer som ikke er helt klare endnu:
Svømmeklubben Delfinen er en mindre klub, der er i vækst. Klubbens ledelse ønsker derfor udviklet et administrativt system til at styre medlemsoplysninger, kontingenter og svømmeresultater.
Det er klubbens formand, der tager sig af nye medlemmer. Ved indmeldelse i klubben registreres diverse stamoplysninger om personen herunder alder. Desuden registreres oplysninger om personens ønskede aktivitetsform, det vil sige aktivt eller passivt medlemskab, junior- eller seniorsvømmer, motionist eller konkurrencesvømmer.
Klubbens kasserer tager sig af alt vedrørende kontingentbetaling. Kontingentets størrelse er betinget af flere forhold.
For aktive medlemmer er kontingentet for ungdomssvømmere (under 18 år) 1000 kr. årligt, for seniorsvømmere (18 år og over) 1600 kr. årligt. For medlemmer over 60 år gives der 25 % rabat af seniortaksten. For passivt medlemskab er taksten 500 kr. årligt.
Kassereren har ønsket, at systemet kan vise en oversigt over medlemmer, der er i restance.
Konkurrencesvømmerne har tilknyttet en træner. Konkurrencesvømmerne er inddelt i 2 hold efter alder. Ungdomsholdet er for svømmere under 18 år. Seniorholdet er for svømmere på 18 og over. Hver konkurrencesvømmer er desuden registreret i forhold til hvilke svømmediscipliner, svømmeren er aktiv i.
Inden for hver svømmedisciplin registreres den enkelte svømmers bedste resultat og dato løbende. Det noteres også om resultatet er opnået ved træning eller til en konkurrence. Det er på baggrund af de enkelte svømmeres resultater, at træneren udtager svømmere til deltagelse i konkurrencer. Træneren ønsker derfor en oversigt, der kan vise klubbens top 5 svømmere inden for hver svømmedisciplin (butterfly, crawl, rygcrawl og brystsvømning) og på udvalgte distancer. F.eks. 50m, 100 m, 200m og 800 m.
Med udgangspunkt i casen om Svømmeklubben Delfinen, skal der udarbejdes en kravspecifikation bestående af:
- Domænemodel
- Use Case Diagram (over systemets funktionalitet)
- Kort beskrivelse af Use Cases
- Beskrivelse af ikke funktionelle krav
- Oversigt over navigationen i form af et navigationsdiagram.
- EER diagram (hvis I laver en database)
I skal:
Designe programmet efter objektorienterede principper med henblik på at koden er:
- læsevenlig
- genbrugbar
- robust
Der skal foreligge en afgrænsning af jeres projekt (hvilken funktionalitet er med i jeres projekt).
I skal programmere jeres design på en sådan måde, at det klart fremgår, at koden er baseret på designet og lever op kravspecifikationen.
I skal demonstrere en generel evne til at programmere basale algoritmer.
Koden skal som minimum indeholde:
- Flere klasser, indeholdende indkapsling i relevante packages
- Datastrukturer, såsom Array/ArrayList
- Nedarvning og/eller interfaces, hvor det er relevant
- Gemme data i en database (persistens), således, at data bevares/hentes.
- Simpel tekstbaseret brugergrænseflade