Projectdocument [versie 2.0] Static Void 2 december 2011 Universiteit van Utrecht Team 2
Dit projectdocument is gemaakt door StaticVoid (team 2) voor het vak Introductieproject Informatica (INFOB1PICA). Het onderwerp van dit project is College, waar en wanneer?. Voor dit project moet een stuk software worden geschreven waarbij een planningssysteem voor het toewijzen van zalen aan colleges wordt gerealiseerd. Dit document bestaat uit een inleiding op dit onderwerp, een plan van aanpak, de systeemeisen en specificaties, de manier waarop wij dit gaan aanpakken en een taakverdeling. Voor actuele informatie over dit project, zie de website voor dit project. Te benaderen via het UU-domein. Inleiding Er dient een systeem gemaakt te worden waarbij collegezalen worden toegewezen aan colleges. Wij gaan dit systeem zo ontwerpen dat het gebruikt kan worden door verschillende onderwijsinstanties. Het systeem moet informatie geven over welk vak, in welk gebouw, in welk lokaal en wanneer gegeven wordt. Plan van aanpak (versie 3.1) Week 46 (14-11) Doel - Hoorcollege 1 - Logboek lay-out - Contactgegevens - Rolverdeling - Naam team - Plan van aanpak - Bijeenkomst begeleider (9:00) - Eerste teambespreking (na werkcollege) 47 (21-11) Ontvangen taakverdeling project door Paul 14:00 15:00 Bespreking student-assistent 15:15 17:00 Hoorcollege 2 Vanaf 17:00 Teambespreking opdrachten week 46 Donderdag Bijeenkomst begeleider (14:30) Teambespreking (14:00) Draaiende MySQL-server met database StaticVoid Projectdocument 1
48 (28-11) Projectdocument inleveren (bij begeleider) Teambespreking voor opdrachten week 47 15:15 17:00 Hoorcollege 3 - Vorderingen opdrachten week 48 49 (5-12) - Afronden website - Lay-out beheermodule - Milestone: beheermodule afgerond Tonen website (aan student-assistent) - Teambespreking voor opdrachten week 48 - Tussenproduct afronden - Presentatie voorbereiden o PowerPoint o Wat nog te doen o Gelukt / niet gelukt o Problemen o Oplossingen - Algoritme 14:00 15:00 Bespreking student-assistent 15:15 17:00 Hoorcollege 4 Vanaf 17:00 Korte nabespreking met team over bespreking studentassistent 50 (12-12) - Vorderingen opdrachten week 49 Tussenproduct inleveren 1 - Teambespreking voor opdrachten week 49 - Tussenproduct afronden - Presentatie afronden 1 Voor het tussenproduct dient de beheermodule afgerond te zijn en dient er een begin gemaakt te zijn aan het roosteralgoritme. StaticVoid Projectdocument 2
15:15 17:00 Hoorcollege 5 51 (19-12) - Vorderingen opdrachten week 50 Presentaties tussenproduct - Teambespreking voor opdrachten week 50 - Presentatie tussenproduct voorbereiden - Flyer opbouw 15:15 17:00 Hoorcollege 6 52 (26-12) 1 (2-1) 2 (9-1) Vanaf 10:30 Korte teambespreking bespreking begeleider Milestone: Afmaken rooster- en webmodule (vakantie voor optimalisatie product) Kerstvakantie Kerstvakantie Afmaken project Afmaken flyer - Teambespreking voor opdrachten week 51 / 52 / 1 - Flyer bespreken - Eindverslag maken - Eindpresentatie maken - Test A (fouten verhelpen voor vrijdag) - Oplossingen fouten A-test bespreken - Eventuele opmerkingen over de flyer van maandag Goede versie flyer StaticVoid Projectdocument 3
3 (16-1) - Teambespreking voor opdrachten week 2 (o.a. flyer) - Bespreking eindpresentatie - Test B (fouten verhelpen voor vrijdag) - Oplossingen fouten B-test bespreken 4 (23-1) 5 (30-1) Opleveren eindversie systeem - Afronden project - Afronden eindverslag - Afronden eindpresentatie Vanaf 10:30 Korte teambespreking bespreking begeleider 30-01: eindverslag, website, flyer, systeem 01-02: beoordeling jury 03-02: symposium N.B. De begintijd voor de teambespreking van maandag wordt op vrijdag afgesproken. Wanneer niet alles op de geplande teambespreking van maandag besproken kan worden, zal deze bespreking om 17:00 worden voortgezet. Dit wordt tijdig bekendgemaakt bij de teamleden door de projectleider. Wanneer deze tijd ongeschikt blijkt te zijn, kan er in overleg een andere dag worden gekozen. Eisen en specificaties Het systeem, zoals wij dat gaan ontwikkelen, zal bestaan uit drie onderdelen die hieronder toegelicht worden: 1) Beheermodule 2) Roostermodule 3) Webmodule Beheermodule In dit onderdeel kan door de beheerder(s) van dit systeem de benodigde data worden ingevoerd. Zo kan de gebruiker gebouwen, vakken, lokalen en studierichtingen toevoegen en deze aan elkaar koppelen. Dit gebeurt op een overzichtelijke interface. De ingegeven data kan worden opgeslagen, worden bewerkt en worden verwijderd in dit deel van het programma. Deze module zal in C# worden geschreven. Roostermodule In dit onderdeel kan door een roostermaker een rooster worden gegenereerd aan de hand van hetgeen dat door de beheerder in de beheermodule is ingevoerd. Door middel van het uitvoeren van een algoritme zal er een rooster getoond worden dat zo slim mogelijk StaticVoid Projectdocument 4
ingepland is. Het is hierna nog mogelijk voor de roostermaker het rooster eventueel handmatig aan te passen. Deze module zal in C# worden geschreven. Webmodule Dit onderdeel wordt ontwikkeld voor iedereen. Via een webinterface is het rooster toegankelijk om te bekijken. In deze module kan het rooster niet gewijzigd worden of beheerdata worden toegevoegd. Deze module zal in PHP worden geschreven. Aanpak Zoals onder het kopje Eisen en specificaties is aangegeven, worden de beheer- en roostermodule in C# geschreven. De webmodule wordt met PHP gemaakt. Alle onderdelen hebben een connectie met een MySQL-server. In deze MySQL-server wordt tijdens de installatie van het programma een database aangemaakt. Het programma verbindt via een veilige manier met de server als deze verbinding benodigd is (na elke taak wordt de connectie gesloten). Voor deze aanpak is gekozen, omdat de webmodule dezelfde database dan kan benaderen. Door een speciale klasse te importeren in C# kan er verbinding gemaakt worden met de MySQL-database. Een voordeel hiervan is dat de database overal opgevraagd kan worden, waardoor de installatie van het systeem niet beperkt hoeft te worden tot één werkomgeving. De beheermodule wordt als eerste geprogrammeerd. Hieraan helpen alle teamleden mee. De rooster- en webmodule worden in verschillende groepen gemaakt. Voor het tussenproduct dient de beheermodule in ieder geval af te zijn. De milestones voor ieder deel staan in het plan van aanpak beschreven. Elke maandag- en vrijdagochtend worden teambesprekingen gehouden. Verdere verdelingen zullen dan bekend worden gemaakt. Deze worden ook in de notulen opgenomen. De notulen worden allemaal gepubliceerd in de SVN repository. Daarnaast worden door alle leden logboeken bijgehouden, die ook in deze repository worden gezet. Taakverdeling Teamlid Paul van de Luitgaarden Daan Rijpkema Jitse Klomp Naima Sanhaji Mark van de Wetering Taak Projectleider Software architect Notulist Flyer Software architect Websitebeheer Software architect StaticVoid Projectdocument 5
StaticVoid Projectdocument 6