UMEÅ UNIVERSITET 17 mars 2009 Institutionen för Datavetenskap Laborationsrapport Objektorienterad programmeringsmetodik(5dv081) OU6-rapport Namn Simon Leonardsson, Patrik Saellström E-mail c08sln@cs.umu.se dv08psm@cs.umu.se Sökväg dv08psm/edu/java/ou6 Handledare Thomas Johansson, Marcus Karlsson, Johan Granberg
OU6-rapport Innehåll Innehåll 1 Inledning 1 2 Problembeskrivning 1 3 Användarhandledning 1 3.1 Filstandard.............................. 1 3.1.1 Kölen............................. 1 3.1.2 Förskolelen......................... 2 3.2 Kompilering.............................. 2 3.3 Exekvering.............................. 3 3.4 Användargränssnittet........................ 3 4 Systembeskrivning 4 4.1 Allmän systembeskrivning...................... 4 4.2 UML-diagram............................. 4 5 Algoritmbeskrivning 4 6 Testkörningar 4 A Bilaga 1 4 B Källkod 5 B.1 Main.java............................... 5 B.2 Application.java.......................... 6 B.3 Queue.java.............................. 7 i 17 mars 2009
OU6-rapport 3 Användarhandledning 1 Inledning Denna rapport rör implementering av ett kösystem för förskolor, samt viss administration av avdelningar på dessa förskolor. Designen togs fram i grupp genom CRC-kort och rollspelsdiagram och har därefter i största möjliga mån följts. Vissa ändringar har gjorts allt eftersom programmet utvecklades, men grundidén har kvarstått. 2 Problembeskrivning Uppgiften i fråga rörde design och implementation av ett kösystem för att hantera områden, förskolor, och avdelningar på förskolor samt ansökningar till dessa. Programmet skulle kunna: Lista de barn som står i kö i ett visst område enligt viss prioritetsordning. Lägga till barn i kön Plocka bort barn ur kön som inte längre önskar kvarstå. Tilldela ett barn ur kön plats på en viss avdelning baserat på följande turordningsregler: 1. Barn i behov av särskilt stöd 2. Boende i området 3. Anmälningsdatum (kötid) 4. Barnets födelsedatum Hantera att ett barn slutar på en dagisavdelning Lägga till och ta bort dagisavdelningar 3 Användarhandledning 3.1 Filstandard Programmet sig av två ler för att spara data mellan programkörningar. Dessa använder sig av olika format för att spara och ladda information rörande köer, förskolor, samt barn på förskolor, dessa format beskrivs nedan. 3.1.1 Kölen Queuelen som används av programmet vid uppstart och nedstängning för att spara data mellan körningarna sparas som textdokument med rader på följande format: 1. Barnets namn;personnummer;bostadsområde 1 17 mars 2009
OU6-rapport 3 Användarhandledning 2. Ansökningsår;Ansökningsmånad;Ansökningsdag 3. Speciella behov (true/false) 4. Önskat placeringsår;önskad placeringsmånad;önskad placeringsdag 5. Önskat område 1;Önskat område 2;Önskat område 3 6. Önskad förskola 1;Önskad förskola 2;Önskad förskola 3 Dessa placeras på samma rad, åtskiljda av semikolon, raden avslutas med newlinetecken. Filen avslutas även med newlinetecken. Filen som programmet använder heter queue och ska ligga i samma katalog som programmet. 3.1.2 Förskolelen Filen som programmet använder för att spara data rörande områden, förskolor, avdelningar på förskolar, samt barn på avdelningar använder sig av ett lite annorlunda format som beskrivs nedan. A-Område. D-Förskola. S-Avdelning på förskola;kapacitet C-Ett barns namn;barnets personnummer;barnets Bostadsområde Exempelvis kan detta se ut på följande sätt: A-Berghem D-Bergatrollet S-Bäcken C-Patrik Saellström;841110-8551;Mariehem S-Berget S-Stubben S-Mossan S-Trädet S-Stenen I detta exempel så betyder A-Berghem att området är satt till Berghem. Där nns ett dagis D-Bergatrollet som då tillhör området Berghem. Under D-Bergatrollet listas de avdelningar som tillhör Bergatrollet, och under respektive avdelning listas de barn som tillhör avdelningen. Raden C-Patrik Saellström;841110-8551;Mariehem indikerar på att Patrik Saellström tillhör avdelningen Bäcken, har personnummret 841110-8551 och bor på Mariehem. 3.2 Kompilering För att kompilera programmet, stå i källkodens katalog och skriv: javac *.java 2 17 mars 2009
OU6-rapport 3 Användarhandledning 3.3 Exekvering För att köra programmet, stå i katalogen där binärerna och datalerna applications och dagis nns skriv därefter: java Main 3.4 Användargränssnittet I användargränssnittet nns möjligheter att lägga till en ansökan med tre val. Man har möjligheten att utesluta valen i det fall man inte bryr sig om vilket dagis eller område man hamnar på. I listorna där man gör sina val nns samtliga områden och förskolor som laddats ur len dagis. De fält som rör tillägg av ansökningar är: 1. En textruta för barnets namn. 2. En textruta för barnets personnummer. 3. En textruta för barnets bostadsområde. 4. En kryssruta ifall barnet har speciella behov. 5. 3 st uppsättningar rullistor för val av område och dagis. 6. En textruta för önskat placeringsdatum. 7. En knapp för att lägga till ansökan till kön. De fyra nästa fälten rör tillägg av avdelningar på bentliga förskolor, dessa fält är: 1. En rullista rörande vilket dagis som avdelningen ska läggas till. 2. En textruta för vad avdelningen ska heta. 3. En textruta för önskad kapacitet på avdelningen. 4. En knapp för att lägga till avdelningen. De två följande fälten rör utskrift av barn på givet område. 1. En rullista med områden i vilka det nns förskolor. 2. En knapp för att lista barnen i ovan valt område. Nästa två fält ger möjlighet att ta bort en ansökning ur kön om personen i fråga inte längre önskar kvarstå. 1. En rullista över ansökningar, listade efter personnummer. 2. En knapp för att ta bort vald ansökning. Därefter nns en knapp för att enligt given prioritetsordning försöka placera ut barn från kön till avdelningar i den mån plats nns. 1. En knapp för att placera barn ur kön in på förskolor. 3 17 mars 2009
OU6-rapport A Bilaga 1 4 Systembeskrivning 4.1 Allmän systembeskrivning 4.2 UML-diagram Nedan syns UML-diagrammet Figur 1: Detta är bildtexten 5 Algoritmbeskrivning 6 Testkörningar A Bilaga 1 4 17 mars 2009