Schoonmeersstraat 52 BE-9000 Gent T 32(9) 266 08 00
Master in de industriële Wetenschappen – Informatica
Eindverslag vakoverschrijdend eindproject Groep 10
Compass
Carlo Goessaert Roeland Andelhofs Siemon Geeroms Matthias Polet Roy Van Coillie
Schoonmeersstraat 52 BE-9000 Gent T 32(9) 266 08 00
Master in de industriële Wetenschappen – Informatica
Eindverslag vakoverschreidend eindproject Groep 10
Compass
Carlo Goessaert Roeland Andelhofs Siemon Geeroms Matthias Polet Roy Van Coillie
Inhoudsopgave Voorstelling groep .................................................................................................................................. 6 Voorstelling & situering project ............................................................................................................. 6 Ontwikkelingsevolutie ............................................................................................................................ 7 Projectkeuze ....................................................................................................................................... 7 Doelstellingen................................................................................................................................. 7 Taakverdelingen ............................................................................................................................. 7 e
1 iteratie ............................................................................................................................................ 7 Doelstellingen................................................................................................................................. 7 2e iteratie ............................................................................................................................................ 8 Doelstellingen................................................................................................................................. 8 3e iteratie ............................................................................................................................................ 9 Doelstellingen................................................................................................................................. 9 Overzicht van de geleverde software ................................................................................................... 10 Database .......................................................................................................................................... 10 Webapplicatie .................................................................................................................................. 10 Desktop Applicatie ........................................................................................................................... 10 Projectevaluatie ................................................................................................................................... 11 Evaluatie projectperiode .................................................................................................................. 11 Carlo Goessaert ............................................................................................................................ 11 Roy Van Coillie .............................................................................................................................. 11 Roeland Andelhofs ....................................................................................................................... 12 Matthias Polet .............................................................................................................................. 12 Siemon Geeroms .......................................................................................................................... 13 Issues & Bugs .................................................................................................................................... 13 Bugs Website ................................................................................................................................ 13 Bugs Java Desktop Applicatie ....................................................................................................... 13 Verbeterpunten en uitbreidingsmogelijkheden ............................................................................... 14 Bijlagen................................................................................................................................................. 15 Analyse & Ontwerp .......................................................................................................................... 15 Structuuroverzicht ........................................................................................................................ 15 Behoeftenanalyse ......................................................................................................................... 15 Use Case Scenario’s ...................................................................................................................... 18
4
Architectuur ................................................................................................................................. 43 Rollen ........................................................................................................................................... 43 Scraping ........................................................................................................................................ 44 Algoritmen.................................................................................................................................... 44 C#.NET webapplicatie ................................................................................................................... 45 Java Desktop Applicatie ................................................................................................................ 52 Databankschema .......................................................................................................................... 56 Installatie & testhandleiding ............................................................................................................ 57 Gebruikershandleiding Java Desktop Applicatie ............................................................................... 58 Gebruikershandleiding C#.NET Webapplicatie ................................................................................. 88 Logboeken ...................................................................................................................................... 112 Carlo Goessaert .......................................................................................................................... 112 Siemon Geeroms ........................................................................................................................ 116 Roeland Andelhofs ..................................................................................................................... 120 Roy Van Coillie ............................................................................................................................ 123 Matthias Polet ............................................................................................................................ 129
5
Voorstelling groep Groep 10: Carlo Goessaert Roeland Andelhofs Siemon Geeroms Roy Van Coillie Matthias Polet
Voorstelling & situering project De gemiddelde sportvereniging heeft de dag van vandaag een niet te onderschatten administratieve rompslomp. De leden verwachten van het bestuur dat ze voldoende informatie krijgen en dat alle data correct is. Op papier kunnen echter in bepaalde van deze zaken nogal wat fouten sluipen. Om dat te vermeiden bouwen wij een applicatie die het grootste deel van de administratieve taken van de gemiddelde sportvereniging op zich neemt. Personenbeheer, ploegbeheer, automatische klassementgeneratie en statistieken zijn modules die je kan terugvinden in ons project. De belangrijkste actoren in ons project zijn de bestuursleden, scheidsrechters, teamverantwoordelijken en de spelers. Bestuursleden staan in voor het beheer van alle administratie en zijn dus ook onze klanten. Teamverantwoordelijken, scheidsrechters en spelers krijgen beperkte mogelijkheden om gegevens in te vullen, te wijzigen of te verwijderen. Verder zijn er ook gewone gebruikers die de website kunnen bezoeken en informatie bekijken. Het project wordt opgedeeld twee grote delen. Een eerste component is de website. Deze is in de eerste plaats belangrijk voor de ploegverantwoordelijken van de verschillende ingeschreven teams, voor de spelers in deze teams en ook voor gewone bezoekers. Via deze weg kunnen teamverantwoordelijken hun team inschrijven voor competities en kunnen ze onder andere hun teaminformatie en spelersgegevens ingeven. Gewone bezoekers kunnen dan weer de meeste gegevens bekijken en bijvoorbeeld ook de klassementen van de verschillende competities zien. De tweede component is de Java desktop applicatie. Via deze applicatie wordt aan beheer gedaan van zowat alle gegevens waar de gemiddelde sportapplicatie mee te maken krijgt. Men kan aan personenbeheer doen, competities en seizoenen beheren, statistieken genereren en bekijken enzovoort. Als projectnaam kozen wij voor het woord “Compass”, als afkorting voor “competitie assistent” en ook alluderend op het feit dat onze applicatie u helpt om de juiste weg te vinden doorheen de administratieve rompslomp van uw sportvereniging.
6
Ontwikkelingsevolutie Projectkeuze Het eerste gesprek tussen de groepsleden resulteerde in een aantal concrete voorstellen. Een eerste voorstel was het maken van applicatie die gebruikt kon worden in een café. Men zou kunnen automatisch drank en eten bestellen via een touchscreen, tafels reserveren enzovoort. Na het bespreken van nog enkele andere ideeën, waaronder ook nog de automatische inventarisatie met behulp van RFID, werd uiteindelijk het idee van de sportverenigingapplicatie en website genomen. Dit omdat we daar de meeste mogelijkheden in zagen om aan de wensen van de projectbegeleiders te voldoen. Doelstellingen De doelstelling was vooreerst een applicatie te bouwen die zoveel mogelijk generiek opgesteld was, zodat om het even welke sport ons eindproduct zou kunnen gebruiken, mits minimale aanpassingen en instellingen. Uiteindelijk hebben wij daar enkele beperkingen moeten op leggen en hebben we ons vooral toegespitst op de meeste conventionele sporten met twee ploegen. Taakverdelingen Omdat de opdracht voor het project een website & een applicatie vereist, hebben we de taken ook zo onderverdeeld. Roy Van Coillie en Matthias Polet hebben zich tijdens het project bezig gehouden met de website, terwijl Carlo Goessaert, Siemon Geeroms en Roeland Andelhofs aan de Java desktop applicatie hebben gewerkt. Voor gedetailleerde informatie over taakverdeling verwijzen wij naar de logboeken.
1e iteratie Doelstellingen Volgende doelstellingen werden in de eerste iteratie opgenomen:
Initialisatie van het programma (opslaan info vereniging + oprichter)
Login module
Verenigingsgegevens wijzigen
Oprichtergegevens wijzigen
Profiel aanpassen
Toevoegen bestuursleden
Toevoegen wedstrijdlocaties
Paswoord Vergeten
Printen Gegevens
Toevoegen scheidsrechters
7
Wijzigen scheidsrechters
Wijzigen bestuursleden
Wijzigen wedstrijdlocaties
Weergave van vereniging
Weergave van seizoenen
Weergave van seizoensinformatie (ploegen, …)
Aanmaken Competities & Seizoenen van type liga
Kalender Genereren versie 1 (rekening houden met zalen & feestdagen)
Ploegen aanmaken + accepteren of weigeren.
Scheidsrechtermodule (scores toevoegen, verslagen invullen)
OpenID linken aan account en zorgen dat inloggen via OpenID mogelijk is.
Registratie van een team door de ploegverantwoordelijke onder een bepaald seizoen.
2e iteratie Doelstellingen Volgende doelstellingen werden in de tweede iteratie opgenomen:
Kalender genereren rekening houdende met: 1. Feestdagen 2. Toekennen van scheidsrechters, geen scheidsrechters uit de buurt van een van de ploegen 3. Beschikbaarheid van zalen 4. Ploegen die niet tegen elkaar mogen spelen
Nieuwe competitie genereren van het type gesloten tornooi
Speler module ( spelers toevoegen en wijzigen)
Ploegmodule
Verantwoordelijkenmodule
Wedstrijdenmodule
De website is in 3 talen beschikbaar: Nederlands, Frans en Engels
Ploegverantwoordelijke kan nieuwe speler accepteren
Ploegverantwoordelijke kan nieuwe speler weigeren (geen gegevens in de databank)
8
Toevoegen van speler aan een team door de ploegverantwoordelijke.
Tonen van wedstrijdkalender onder een bepaald seizoen (weergave van de databankgegevens)
3e iteratie Doelstellingen Volgende doelstellingen werden in de derde en laatste iteratie opgenomen:
De scheidsrechter en ploegverantwoordelijken worden via mail verwittigd als 2 ploegen dezelfde kleur van outfit aanhebben.
De scheidsrechter wordt via mail verwittigd als een score van een wedstrijd nog niet is toegekend
Statistieken spelers, ploegen, seizoenen, competities enz… .
Scheidsrechtersmodule (agenda voor scheidsrechters + mogelijkheid tot aanpassingen)
Tijdens de eerste iteratie hebben we besloten om gebruik te maken van het Membership systeem van .NET om de openID te implementeren. Dit systeem werkt standaard met een SQL-server databank. We kozen voor deze manier, omdat het de implementatie van rollen een stuk makkelijker maakt. Daarnaast zorgt het voor een veilige “user database” en inlogsysteem. Tot slot heeft een sterke samenwerking met de DotNetOpenAuth bibliotheek. We kunnen hierdoor enkele unieke controls gebruiken, die zorgen voor onder andere password retrieval (email sturen naar leden die hun paswoord vergeten zijn), eenvoudig rollen toestaan of verbieden op bepaalde pagina’s, … . Dit systeem maakte echter gebruik van SQL-server, terwijl we enkel Oracle mogen gebruiken. We moesten dus zelf een Oracle MembershipProvider schrijven. We vonden hierover heel wat informatie op het internet. Maar we zijn er uiteindelijk toch niet geslaagd. Hoofdzakelijk omdat de namen van de velden en de tabellen niet toegestaan waren in Oracle. Tijdens de tweede iteratie besloten we uiteindelijk om het Membership systeem volledig te laten vallen. Het controleren van een rol gebeurt nu tijdens het laden van de pagina. Gebruikers worden opgeslagen in een session. Als de session leeg is, is er geen gebruiker aangemeld.
9
Overzicht van de geleverde software Database Database scripts Eerst moet het script ‘Start.sql’ uitgevoerd worden. Dit script maakt een tablespace en een gebruiker aan. Volgende scripts worden opgeroepen door het script ‘kuisenDB.sql’:
createDB.sql createPROC.sql Gemeenten.sql PopulateDB.sql Spelers.Sql Triggers.sql Views.sql
Al deze scripts samen maken de database aan en vullen deze op met de testgegevens. Bij het gebruiken van onze ontwikkelde software in een echte vereniging moet het “populateDB.sql” script niet uitgevoerd worden.
Webapplicatie Compass website
Desktop Applicatie Java Desktop applicatie (Compass)
10
Projectevaluatie Evaluatie projectperiode Carlo Goessaert De keuze van het project vond ik de beste uit de ideeën die we hadden in het begin van het project. Met onze sportverenigingapplicatie konden we werkelijk alle kanten op. Zo’n project heeft gewoon geen einde, omdat je altijd wel nog functionaliteit bij kan vinden. Over de projectgroep zelf was ik ook tevreden. We werkten op een goede manier met elkaar en ondanks misschien enkele kleine discussies vind ik toch dat we altijd goed met elkaar hebben samengewerkt. De communicatie en taakverdeling was goed en bij een meningsverschil kon altijd een goed compromis gesloten worden. Een enkel negatief punt was dat er soms iets te weinig afspraken waren over wie welke code zou aanpassen. Soms waren er iets te veel conflicten bij het updaten of committen van geleverd werk en ik denk dat dit gemakkelijk vermeden kon worden door iets meer te communiceren buiten de projecturen. Mits wat meer tijd, denk ik dat we onze applicatie & website nog sterk hadden kunnen uitbreiden en misschien zelfs wat meer sporten er in hadden kunnen betrekken, maar ik denk toch dat wel iets moois gerealiseerd hebben. Roy Van Coillie Bij de start van het project was ik niet helemaal enthousiast rondom het sportvereniging idee. Het boeide me niet echt om dergelijke applicatie in mekaar te steken. Ik ken weinig van de sportwereld en de hiërarchie daar rond. Ik kon dus iets moeilijker mijn draai vinden tijdens de eerste weken. Hoe verder we kwamen, hoe vertrouwder ik met het onderwerp werd. Carlo was ook steeds bereikbaar om mij uit de nood te helpen als ik wat moeite had met het begrijpen hoe het totaalplaatje er precies uitzag. Na die paar weken waarbij we regelmatig het onderwerp van de sportverenigingen aansneden zijn we vlot van start kunnen gaan, omdat we allen goed geïnformeerd waren. De projectgroep was van goede wil en dat merkte je. De stemming zat meestal wel goed en nagenoeg alle sessies werden vlot gevuld. Het werk was verdeeld, hoewel ik toch vond dat er iets teveel afscherming was van de onderdelen. Het is uiteraard niet al te vanzelfsprekend om continu te wisselen van ontwikkelomgeving en dat leidde tot het opdelen van de taken, waarbij ik voor het grootste deel verantwoordelijk was voor de webapplicatie. Ik had me hier in het begin kandidaat voor gesteld, maar de desktop applicatie zou me ook niet slecht gevallen zijn. Net zoals Carlo hiervoor al vermeld heeft, vond ook ik dat er nogal snel code van anderen werd aangepast of zelfs verwijderd zonder dat de oorspronkelijke programmeur daarvan op de hoogte gesteld werd. Uiteraard heeft dit zijn uitwerking gehad in de peer-assessments. Zelfs naar het einde van het project toe kwam dit nog enige malen voor, terwijl het toch al enkele keren gezegd en herhaald was. Al bij al ben ik dus tevreden over de projectgroep en het geleverde werk. Vooral door het drukke weekschema is het iets minder evident om voldoende vrije uren te vinden om aan het project te weiden, maar de inzet was er en het resultaat mag gezien zijn.
11
Roeland Andelhofs Aan de start van het project had ik de indruk dat het een heel moeilijke opdracht zou zijn die we misschien een beetje hadden onderschat. Vooral het generieke aspect schrok mij een beetje af, achteraf hebben we dan ook ingezien dat een volledig generieke applicatie voor sportverenigingen zo goed als onmogelijk was en hebben we ons geconcentreerd op sporten waarbij 2 teams tegen elkaar spelen in een wedstrijd. Een ander groot struikelblok, en vooral in het begin, was onvoldoende kennis over de structuur van een sportvereniging. Maar na enige vergaderingen was alles voor iedereen duidelijk en ging alles redelijk vlot. Ik heb mij vooral geconcentreerd op het Java gedeelte, deels omdat ik nog nooit in C# geprogrammeerd had en ook omdat Java mij meer aanspreekt en meer mogelijkheden biedt. Tijdens het project zijn er nogal wat problemen geweest met code aanpassen en verwijderen van anderen zonder daar verdere uitleg bij te geven. We hebben dat meermaals besproken in groep maar hier kwam maar weinig verbetering in. Dit heeft zich dan ook geuit in de peer-assesment. Het project kende een goede vooruitgang en ik denk dat we voor 90% bereikt hebben wat we ons hebben vooropgesteld. Dit is het resultaat van een goede samenwerking en een positieve houding van alle groepsleden. Matthias Polet We wisten allemaal in het begin dat het niet makkelijk ging zijn om een sportverenigingapplicatie te maken die volledig generiek is. Later bleek dat om alles volledig generiek te maken er onvoldoende tijd en kennis was. Dit volgens zowel de begeleiding als de projectleden. Sowieso is het moeilijk om een onderwerp te verzinnen die enerzijds voldoet aan de technische verwachtingen van de school als anderzijds verkoopbaar te zijn. Ons eindresultaat voldoet zeker aan de technische verwachtingen, toch ben ik er niet van overtuigd of er wel een markt is voor onze software. Ergens vind ik dit wel jammer, omdat we zeker in staat zijn om iets te schrijven die veel eenvoudiger is en enige marktwaarde heeft, maar dan helaas niet voldoet aan de technische vereisten. Toch leek het project mij een uitdaging en waren er zaken die mijn interesse opwekten, zoals het implementeren van openID. De eerste iteratie was ik bijna volledig zelfstandig bezig en had ik weinig inzicht met wat de andere bezig waren. Toen was ik voornamelijk bezig met openID en de Login. Dat had ook zijn voordelen, omdat ik op die manier niemand kon tegenwerken en ook niet kon worden tegengewerkt. Het was wel een opdoffer toen we moesten beslissen dat we niet verder konden werken met het Membership systeem van .NET. Dit zorgde er immers voor dat een groot deel van mijn werk verloren ging en op een andere manier moest worden geïmplementeerd. Het was niet zozeer een fout in communicatie, maar eerder door de technisch moeilijke aard van het probleem. Namelijk het schrijven van een MembershipProvider voor Oracle. Over mijn projectgroep kan ik weinig slechte dingen zeggen. Ik heb altijd het gevoel gehad dat onze groep een goede motivatie had en een sterk resultaat boekte. De technische kennis van mijn collega’s werpt dan ook zijn vruchten af in het Java gedeelte.
12
Het resultaat vind ik technisch geslaagd. Toch zie ik weinig nut in onze applicatie, maar ik denk dat iedereen dit in het begin al een beetje had verwacht. We hebben bewezen dat we voldoende kennis en inzet hebben om een dergelijk project te voltooien. Siemon Geeroms Het onderwerp “beheer systeem voor een sport vereniging “ sprak me in het begin niet zo heel erg aan maar naargelang het project vorm kreeg zag ik de mogelijkheden in. Gebruiksvriendelijkheid en een mooie overzichtelijke werkomgeving was een top prioriteit en ik vind dat dit zeker en vast bereikt is. Het is een verademing vergeleken met onoverzichtelijke, oubollige interfaces van dergelijke andere programma’s Een ander sterk punt van dit project was ook de uitbreidt mogelijkheden. Men kan als het ware mogelijkheden blijven verzinnen. Zo kan men bv ook een module voorzien voor het beheren van de locaties waarbij men de mogelijkheden heeft voor de aantal zalen in te stellen of dergelijke. Het was dus niet zo heel moeilijk om ons contract op te stellen. Naargelang het project vorderde had ik de indruk dat iedereen zijn eigen taken vond en dus was bijsturen zo goed als niet nodig. Op communicatief vlak was het ook zeer goed samenwerken al hadden enkele problemen vermijd kunnen door betere afspraken. Ook merkte ik op dat de code die werd geproduceerd naar het einde van het project toe kwalitatief hoger was dan in het begin. We hebben dan nu ook de indruk dat sommige onderdelen anders of beter hadden kunnen geprogrammeerd worden.
Issues & Bugs Hoewel we in het begin van het project gepoogd hebben om onze applicatie en website zoveel mogelijk verschillende sporten te laten ondersteunen, hebben we daar tijdens de ontwikkelingen toch enigszins moeten van afstappen. De gehele applicatie werd beperkt tot niet al te “vreemde” sporten met telkens twee ploegen per wedstrijd. De database ondersteunt ook types sporten met meerdere ploegen per wedstrijd, zoals wielrennen. Deze laatste sportsoort heeft echter geen generator voor wedstrijden. Om onze applicatie dit ook te laten ondersteunen ging ons dat echter te ver leiden. Sporten zoals bijvoorbeeld volleybal, voetbal, minivoetbal, waterpolo, basketbal worden wel ondersteund. Bugs Website
Validatie knop naast openID tekstvak werkt niet. Foutenafhandeling OpenID is altijd in het Engels (bv.: Unkown openid: url)
Bugs Java Desktop Applicatie Bij ingeven telefoonnummers zijn alfanumerieke karakters toegelaten De Scheidsrechters worden random toegewezen aan de teams. Er wordt bij de keuze van een scheidsrechter geen rekening gehouden met waar de scheidsrechter woont en of dit niet te dicht bij de locatie van de thuisploeg is. Dit is door tijdsgebrek niet meer geïmplementeerd kunnen worden.
Het implementeren van de automatische notificatie aan de scheidsrechter wanneer twee teams dezelfde kleuren van outfit hebben werd ook niet geïmplementeerd.
13
Verbeterpunten en uitbreidingsmogelijkheden Een project zoals hetgeen wij gekozen hebben heeft oneindig veel uitbreidingsmogelijkheden. Het databaseschema is nu al zeer uitgebreid, maar er zijn nog tal van dingen die we zouden kunnen bijhouden. Een voorbeeld zou zijn dat we per wedstrijd bijhouden welke spelers de wedstrijd gespeeld hebben. We kunnen ook oneindig veel statistieken laten berekenen met de gegevens die we in onze database opslaan. In ons project hebben we er maar enkele uitgepikt. De beperkte tijd die we voor dit project hadden heeft ons er echter toe geleid enkele van deze uitbreidingsmogelijkheden achterwege te laten. Een verbeterpunt die hier zeker het vermelden waard is en waar we eigenlijk pas op het einde van het project aan hebben gedacht is het gebruiken van de voordelen van de Java swing componenten. Het opdelen van grote blokken code in verschillende componenten die dan onafhankelijk van elkaar werken en zelfs kunnen hergebruikt worden werd pas naar het einde van het project toe goed gebruikt. De Java applicatie kan ook nog uitgebreid worden door ondersteuning te geven voor nog andere soorten competities. Voorlopig worden alleen een tornooi met rechtstreekse uitschakeling en een liga ondersteund. De Java applicatie heeft, doordat we met meer manschappen aan de Java applicatie gewerkt hebben, wat meer functionaliteit dan de website. Deze kan dus nog uitgebreid worden. Zo zijn de gekwetsten, de overtredingen en de verdiensten bijvoorbeeld niet te zien op de website.
14
Bijlagen Analyse & Ontwerp Structuuroverzicht Hier vindt u een korte uiteenzetting van de boomstructuur die we hanteren binnen het project. Als basis hebben we een vereniging. De informatie van deze vereniging wordt bijgehouden in een aparte klasse. Een vereniging kan meerdere competities bezitten en bij de start van het programma zal het dan ook mogelijk zijn om een keuze te maken uit de beschikbare competities of om een nieuwe competitie te starten. Uiteraard wordt ook voorzien dat bij de start van het desktop gedeelte de mogelijkheid bestaat om een vereniging aan te maken, indien die niet al bestaat. Per competitie zijn er een aantal onderliggende seizoenen. Ook hier kan een nieuwe aangemaakt worden en kunnen de bestaande seizoenen bekeken worden. Elk seizoen omvat een aantal wedstrijden met een aantal teams. Er werd gekozen voor een één op veel relatie tussen wedstrijd en teams. Een team bestaat uit één teamverantwoordelijke en spelers. Indien de teamverantwoordelijke ook een speler is, dan moet hij zowel als teamverantwoordelijke als speler opgenomen worden. Naast spelers en teamverantwoordelijken zijn er ook nog scheidsrechter(s) en bestuursleden. Voor meer informatie over hun taken en mogelijkheden kan je de use case diagrammen raadplegen in de repository. Een belangrijk onderscheid is die tussen de webapplicatie en de desktop applicatie. Het is zo dat niet beide onderdelen dezelfde acties ondersteunen. Het desktop gedeelte is gericht op personen met een hogere rol binnen de vereniging. Zo moeten de bestuursleden zich met het desktop gedeelte bezighouden, terwijl de spelers en teamverantwoordelijken de administratieve taken verrichten op de website. Uiteraard kan de alledaagse bezoeker enkel gegevens raadplegen. Behoeftenanalyse Ons project bestaat erin enerzijds een programma te maken dat instaat voor het beheer van alle informatie rond een sportvereniging. Met deze applicatie kan het bestuur van de sportvereniging allerlei taken uitvoeren die tot voorheen misschien op papier moesten gebeuren. Een sportvereniging bestaat uit een bestuur, dat alles in goede banen leidt. Deze mensen zullen ook de administrators van de applicatie zijn. In de sportvereniging zijn verschillende ploegen aangesloten die elk een verantwoordelijke hebben en een aantal spelers. Ploegen spelen wedstrijden onder leiding van een scheidsrechter. Eventuele sancties en/of schorsingen worden bijgehouden. Verder worden ook klassementen, statistieken, bijhouden van gegevens over gekwetste spelers en het (eventueel automatisch) aanmaken van de kalender belangrijke elementen. Voor elk van deze entiteiten wordt relevante informatie bijgehouden in de
15
database die dan gebruikt zal worden voor tal van doeleinden (Bijvoorbeeld een verwittiging zenden aan scheidsrechter en ploegen wanneer de ploegen dezelfde kleur van outfit hebben). We zullen tijdens het maken van de applicatie belang hechten aan het zoveel mogelijk parametriseerbaar maken van onze applicatie. Hierdoor kan de applicatie door verschillende sportverenigingen gebruikt worden, die verschillende sporten beoefenen of die verschillende regels hanteren (bijvoorbeeld bij het schorsen van een speler). Ook zullen we proberen zoveel mogelijk taken automatisch te laten uitvoeren, zodat er zo weinig mogelijk tijd moet besteed worden aan het beheren. Hierbij denken we aan de automatische kalender, automatisch gegenereerde klassementen enzovoort. Anderzijds zullen wij een webapplicatie maken dat alle informatie aan iedereen zal tonen. De applicatie zal als voornaamste doel hebben om informatie aan te bieden. Voorbeelden zijn contactinformatie, wedstrijdresultaten, klassementen, statistieken enzovoort. Het is (voorlopig) niet de bedoeling dat gebruikers van de website kunnen inloggen en informatie aanpassen. Eventueel zouden we gebruikers de kans geven om de standen van hun competitie op te vragen via een Smartphone of PDA applicatie. Ook worden de gebruikers gewaarschuwd indien er een aankomende match op het programma staat. Als bijkomstigheid kunnen we ervoor zorgen dat bij registratie van nieuwe spelers een deel van de administratie automatisch kan ingevuld worden met behulp van een eid lezer. Met de informatisering van (nagenoeg) alle gegevens uit een sportvereniging zal het gemakkelijker worden om informatie bij te houden en aan te bieden. De kans op foute informatie wordt kleiner, alle leden van de sportvereniging kunnen gemakkelijker en sneller op de hoogte gehouden worden en het aantal uren dat aan het beheer wordt besteed, zal aanzienlijk verkleinen. De scraping zal bestaan uit zowel een databasebron met vereningsgegevens als allerhande webgegevens die met behulp van scraping (perl-script die gegevens op de website afscant) van het net geplukt worden. Extra Daar we toch de nadruk op de administratieve kant van het project iets willen wegwerken, hebben we nog enkele extraatjes hieronder die mogelijks een plaatsje veroveren in het project. Om het inloggen en registreren eventueel iets te bevorderen, kunnen we opteren voor het inloggen met eID en/of openid. PDF-generatie is ook een leuk extraatje om gemakkelijke printklare versies van bijvoorbeeld het klassement voor handen te hebben. Internationalisatie is ook een belangrijk begrip, vooral voor internationale verenigingen dan. Hiervoor maken we dus best gebruik van resourcebundles om het project die multinationale touch te geven. Eventueel kan hier ook de verenigingsnaam, de persoonsnamen en dergelijke taalfahankelijk gemaakt worden. Een ander leuk extraatje voor dergelijke sportapplicatie is het bijhouden van statistieken.
16
We kunnen even goed de webcam aanspreken in het programma om al dan niet seizoensafhankelijke spelersfoto's in de applicatie op te nemen. Ook kunnen de ploegfoto's getagd worden en kan geopteerd worden om het clublied op te nemen op de site, zoals ook sponsorgegevens (met hyperlinks naar websites van sponsors). Actoren
Bestuurders:
Deze mensen zullen waarschijnlijk de mensen van het bestuur van de sportvereniging zijn. Zij zullen een nieuwe competitie kunnen maken. Ploegen accepteren. Een nieuw seizoen starten
Scheidsrechters:
Deze mensen kunnen ook inloggen in de applicatie en scores, sancties enzovoort ingeven.
Ploegverantwoordelijken:
Na een goedkeuring van hun ploeg door het bestuur, kunnen zij spelers toevoegen aan hun ploeg, een profiel van hun ploeg maken,...
Spelers:
Deze personen zijn verplicht van een ploeg mee te delen bij hun registratie. Na goedkeuring van de ploegverantwoordelijke kunnen zij hun persoonlijk profiel aanpassen.
Surfers
Deze personen zijn bezoekers van de website. Zij kunnen alles bekijken van op de site. Zoals statistieken, klassementen, kalender,... Doelstellingen De bedoeling is om een applicatie te schrijven voor een willekeurige sportvereniging. Men zal deze applicatie gebruiken om competities te genereren. De nadruk ligt vooral op het generiek maken. Hiermee bedoelen we dat het programma door verschillende sportverenigingen kan gebruikt worden die op hun beurt verschillende sporttakken kunnen beheren. Zo bestaan er competities met daaronder seizoenen. Die seizoenen bevatten wedstrijden en ploegen. De ploegen bevatten spelers. Dit alles gebeurt sportonafhankelijk. De parameters die we gebruiken zitten echter opgeslagen in de databank en zijn logischerwijs wel sportafhankelijk. Desktopgedeelte Het desktopgedeelte is bedoeld voor het bestuur. Hier zullen de nieuwe competities en hun kalenders gegenereerd worden. Webapplicatie Hier zullen ploegen zich op registreren. Surfers kunnen kalenders, statistieken en spelergegevens bekijken.
17
Te implementeren functionaliteit in volgorde van prioriteit Zie iteratieoverzicht Use Case Scenario’s Algemeen overzicht
Bestuurders use case overzicht
18
Teamverantwoordelijke use case overzicht
Spelers use case overzicht
19
Scenario’s U kan hierna volgende use case scenario’s terugvinden. In volgorde van voorkomen.
Applicatie initialiseren
Inloggen
Ploeg registreren
Gebruiker linken aan openID
Bestuurslid toevoegen
Scheidsrechter toevoegen
Oprichter wijzigen
Bestuurslid wijzigen
Scheidsrechter wijzigen
Competitie toevoegen
Seizoen aanmaken
Seizoen aanpassen
Ploegen accepteren
Ploegen verwijderen
Scores ingeven
Scores wijzigen
Kalender van een seizoen aanmaken
Kalender van een seizoen aanpassen
Speler schorsen
Spelers toevoegen
Spelers verwijderen
Spelerwachtwoord aanpassen
Blessures opgeven
Inschrijven Seizoen
20
Applicatie initialiseren De eerste maal dat het programma opstart wordt de gebruiker (dit zal de eigenaar zijn va het programma) gevraagd om een aantal gegevens in te vullen over zijn vereniging. Prioriteit Hoog Complexiteit Gemiddeld Precondities Programma is geïnstalleerd + de database is aangemaakt. Postcondities De vereniging zit in de database en ook de oprichter zit met al zijn gegevens in de database opgeslagen. Primaire actoren Oprichter Secundaire actoren Successcenario De oprichter vult alle gegevens correct in en de gegevens worden opgeslagen in de database. Het programma toont vervolgens het login scherm. Alternatieve scenario’s Er is controle op alle ingegeven data. Telkens wanneer iets niet correct is ingevuld (verkeerde email, verkeerde datum, verplichte velden….) wordt de bijbehorende foutboodschap getoond en kan de gebruiker de data aanpassen. Er wordt pas opgeslagen wanneer alle gegevens correct zijn.
21
Inloggen De gebruikers moeten inloggen in het programma via een inlogscherm. Ze kiezen daar het type gebruiker en vullen vervolgens hun paswoord en gebruikersnaam in. Prioriteit Hoog Complexiteit Gemiddeld Precondities De gebruiker moet bestaan en niet gearchiveerd zijn. Postcondities Afhankelijk van het type gebruiker worden de juiste gegevens uit de databank gehaald en wordt de gebruiker doorverwezen naar het startscherm van het programma. Op dat startscherm worden de gegevens van de gebruiker getoond. Primaire actoren Gebruiker: Oprichter, Scheidsrechter, Speler of Bestuurslid Secundaire actoren Successcenario De gebruiker heeft het juiste type gekozen en heeft zijn paswoord en gebruikersnaam correct ingevuld. Alternatieve scenario’s 1.De gebruiker heeft een verkeerde login of gebruikersnaam ingevuld. De juiste foutboodschap wordt getoond en de gebruiker wordt niet doorverwezen naar het startscherm. 2.De gebruiker heeft wel het correcte paswoord en gebruikersnaam ingevuld, maar niet het juiste type geselecteerd. De juiste foutboodschap wordt getoond en de gebruiker wordt niet doorverwezen naar het startscherm.
22
Ploeg registreren Ploegverantwoordelijke kan zich registreren om zo een ploeg aan te maken. Prioriteit hoog Complexiteit laag Precondities Postcondities De ploegverantwoordelijke heeft (een) speler(s) uit de ploeg gezet en heeft nu ook een account! Primaire actoren Ploegverantwoordelijke (die nog niet geregistreerd is) Secundaire actoren Successcenario 1. Een gebruiker gaat naar de pagina “Ploeg registreren”. 2. Hij vult zijn persoonlijke gegevens in als ploegverantwoordelijke. 3. Hij geeft ook de ploeggegevens in. 4. Hij klikt op registreren. Alternatieve scenario’s 4a. Er bestaat reeds een ploeg met dezelfde naam. 4a-2. Het systeem geeft een melding en vraagt om een nieuwe naam.
23
Gebruiker linken aan openID De gebruikers beschikt over een openID en wil dit linken aan zijn huidige gebruikersaccount Prioriteit Gemiddeld Complexiteit Hoog Precondities De gebruiker beschikt al over een gebruikersaccount en een openID Het systeem toont het inlogscherm Postcondities De gebruiker zijn account is gelinkt aan een openID. Wanneer de gebruiker ingelogd is bij zijn OpenID provider zal hij automatisch ingelogd zijn op de applicatie. Primaire actoren Gebruiker: Oprichter, Scheidsrechter, Speler of Bestuurslid Secundaire actoren Successcenario 1. De gebruiker kiest voor inloggen met openID 2. De gebruiker klikt op openID toevoegen aan huidige account 3. Het systeem vraagt aan de gebruiker om in te loggen met zijn huidige account Alternatieve scenario’s
24
Bestuurslid toevoegen De Oprichter of een ander bestuurslid die hiervoor de nodige rechten heeft maakt een nieuw bestuurslid aan. Hij vult de nodige gegevens in, kiest een functie en kiest eventueel een foto voor dit bestuurslid. Prioriteit Hoog Complexiteit Laag Precondities De gebruiker moet ingelogd zijn, moet van het type bestuurslid of oprichter zijn en moet de nodige rechten hebben om een nieuw bestuurslid te mogen aanmaken. Postcondities Het nieuwe bestuurslid en eventueel ook zijn foto worden opgeslagen in de database. Het programma toont in de lijst van de bestuursleden nu ook het nieuwe bestuurslid. Het nieuwe bestuurslid kan nu inloggen. Paswoord en gebruikersnaam worden op “naam voornaam” gezet. Primaire actoren Oprichter of Bestuurslid Secundaire actoren Successcenario Het bestuurslid vult de gegevens correct in en de data wordt opgeslagen. Alternatieve scenario’s 1.Wanneer verplichte velden niet werden ingevuld of wanneer velden zoals datums of email niet geldig zijn, wordt de gepaste foutboodschap getoond en kan het bestuurslid niet opgeslagen worden. Scheidsrechter toevoegen Analoog aan bestuurslid toevoegen. Enkel de bestuursleden met de nodige rechten kunnen nieuwe scheidsrechters toevoegen.
25
Oprichter wijzigen De oprichter wijzigt gegevens over zichzelf. Hij kan geen nieuwe oprichter selecteren, maar dit wel simuleren door alle gegevens te veranderen zodat de oprichter een nieuwe persoon voorstelt. Prioriteit Gemiddeld Complexiteit Laag Precondities De oprichter moet ingelogd zijn. Postcondities De gewijzigde gegevens zijn opgeslagen in de database. Primaire actoren Oprichter Secundaire actoren Successcenario De oprichter vult de gegevens correct in en de data wordt opgeslagen. Alternatieve scenario’s 1.Wanneer verplichte velden niet werden ingevuld of wanneer velden zoals datums of email niet geldig zijn, wordt de gepaste foutboodschap getoond en kunnen de oprichtergegevens niet gewijzigd worden.
26
Bestuurslid wijzigen De Oprichter of een ander bestuurslid die hiervoor de nodige rechten heeft wijzigt gegevens over een bestuurslid. Prioriteit Gemiddeld Complexiteit Gemiddeld Precondities De gebruiker moet ingelogd zijn, moet van het type bestuurslid of oprichter zijn en moet de nodige rechten hebben om een nieuw bestuurslid te mogen aanmaken. Het bestuurslid dat gewijzigd moet worden moet reeds bestaan. Postcondities De gegevens van het geselecteerde bestuurslid worden gewijzigd zoals opgegeven en opgeslagen in de database. Primaire actoren Oprichter of Bestuurslid Secundaire actoren Successcenario Het bestuurslid vult de gegevens correct in en de data wordt opgeslagen. Alternatieve scenario’s 1.Wanneer verplichte velden niet werden ingevuld of wanneer velden zoals datums of email niet geldig zijn, wordt de gepaste foutboodschap getoond en kan het bestuurslid niet gewijzigd worden.
Scheidsrechter wijzigen Analoog aan bestuurslid toevoegen. Enkel de bestuursleden met de nodige rechten kunnen nieuwe scheidsrechters toevoegen.
27
Competitie toevoegen Beschrijving Een bestuurslid maakt een nieuwe competitie aan. Prioriteit hoog Complexiteit Gemiddeld Precondities Het bestuurslid is ingelogd. Postcondities De nieuwe competitie (naam, bijkomende info…) wordt opgeslagen in de database. Primaire actoren Bestuurslid Secundaire actoren Successcenario Het bestuurslid vult de nodige gegevens in over de competitie en deze wordt opgeslagen in de database. Alternatieve scenario’s Gepaste foutboodschappen worden weergegeven bij verkeerde data (datums,..) of wanneer de naam van de competitie reeds bestaat. We zullen eisen dat de naam uniek is.
28
Seizoen aanmaken Het bestuurslid maakt een nieuw seizoen voor een reeds bestaande competitie aan. Hij vult de nodige gegevens over het seizoen in en stelt alle parameters in. Prioriteit Hoog Complexiteit Laag Precondities Bestuurslid is ingelogd en de competitie bestaat reeds. Postcondities Het nieuwe seizoen wordt opgeslagen in de database, samen met alle ingevulde parameters. Primaire actoren Bestuurslid Secundaire actoren Successcenario Het bestuurslid kiest een reeds bestaande competitie uit een lijst en kiest vervolgens voor de optie maak nieuw seizoen aan. Hij vult de nodige gegevens in parameters in en deze worden allemaal opgeslagen. Alternatieve scenario’s Bij incorrecte gegevens (datums, strings i.p.v. int’s enz...) wordt de gepaste foutboodschap getoond en wordt het nieuwe seizoen nog niet opgeslagen.
29
Seizoen aanpassen Het bestuurslid past een reeds bestaand seizoen aan. Prioriteit Gemiddeld Complexiteit Gemiddeld Precondities Bestuurslid is ingelogd en de competitie en het seizoen bestaan reeds. Postcondities Primaire actoren Bestuurslid Secundaire actoren Successcenario Het bestuurslid kiest een reeds bestaande competitie en kiest daaruit een reeds bestaand seizoen. Hij past vervolgens de gewenste data aan en dit wordt opgeslagen in de database. Alternatieve scenario’s Gepaste foutboodschappen bij incorrecte data.
30
Ploegen accepteren Een bestuurslid kan ploegaanvragen accepteren of weigeren Prioriteit Hoog Complexiteit Gemiddeld Precondities Bestuurslid is ingelogd, er is een aanvraag binnengekomen via de website. Postcondities Een ploeg zal geaccepteerd of geweigerd zijn tot een bepaald seizoen Primaire actoren Bestuurslid Secundaire actoren Successcenario 1. Het bestuurslid meldt zich aan met zijn account 2. Het bestuurslid gaat naar het menu-onderdeel “ploegen” 3. Het bestuurslid kiest voor “ploegen accepteren”. 4. Het systeem toont een overzichtelijke lijst van alle ploegen die op een goedkeuring wachten of kunnen geweigerd worden uit de vereniging. 5. Het bestuurslid selecteert de ploeg die hij wil accepteren of weigeren. 6. Het bestuurslid bevestigt door op accepteren of weigeren te klikken 7. Het systeem accepteert of weigert de geselecteerde ploegen Alternatieve scenario’s 4a. Er zijn geen ploegen die op goedkeuring wachten. 4a2. Het systeem toont een lege lijst. 5a. Het bestuurslid selecteert meerdere ploegen om te accepteren of weigeren. 5a2. Ga verder met 6. 5b. Het bestuurslid klikt op ‘alle’ zodat alle ploegen geselecteerd zijn om te accepteren of weigeren. 5b2. Ga verder met 6.
31
6a. Het bestuurslid bedenkt zich en klikt op ‘Annuleren’ 6b. Het systeem toont opnieuw de ploegenlijst.
Ploegen verwijderen Een bestuurslid kan ploegen verwijderen Prioriteit Hoog Complexiteit Gemiddeld Precondities Bestuurslid is ingelogd Postcondities Primaire actoren Bestuurslid Secundaire actoren Successcenario 1. Het bestuurslid meldt zich aan met zijn account 2. Het bestuurslid gaat naar het menu onderdeel “ploegen” 3. Het bestuurslid kiest voor “ploegen verwijderen”. 4. Het systeem toont een overzichtelijke lijst van alle ploegen die verwijderd worden uit een bepaald seizoen. 5. Het bestuurslid selecteert de ploegen die hij wil verwijderen. 6. Het bestuurslid bevestigt door op “OK” te klikken 7. Het systeem zet de geselecteerde ploegen als gearchiveerd. Alternatieve scenario’s 4a. Er zijn geen ploegen ingeschreven. 4a2. Het systeem toont een lege lijst. 5a. Het bestuurslid selecteert meerdere ploegen om verwijderen. 5a2. Ga verder met 6.
32
5b. Het bestuurslid klikt op ‘alle’ zodat alle ploegen geselecteerd zijn om te verwijderen. 5b2. Ga verder met 6. 6a. Het bestuurslid bedenkt zich en klikt op ‘Annuleren’ 6b. Het systeem toont opnieuw de ploegenlijst.
Scores ingeven Een bestuurslid of een scheidsrechter geeft scores in Prioriteit Hoog Complexiteit Gemiddeld Precondities Bestuurslid of de scheidsrechter is ingelogd en er bestaat een competitie, een seizoen en een wedstrijd. De score voor deze wedstrijd is bovendien nog niet ingevuld. Postcondities De resultaten worden opgeslagen in de juiste tabellen in de database. Primaire actoren Bestuurslid Scheidsrechter Secundaire actoren Successcenario 1. Het bestuurslid of scheidsrechter klikt op “scores ingeven”. 2. Hij kiest de gewenste competitie en seizoen 3. Het systeem toont een overzicht van de reeds gespeelde wedstrijden. 4. Het bestuurslid of de scheidsrechter klikt op een wedstrijd. (Merk op dat hier slechts één wedstrijd tegelijk kan behandeld worden.) 5. Het bestuurslid of de scheidsrechter past de scores aan. 6. Het systeem schrijft de gegevens weg naar de databank. Alternatieve scenario’s
33
6a. Het systeem merkt een foutieve ingave (alfanumerieke score) en geeft een foutmelding. 6a2. De gebruiker past de fout aan. 6a3. Het systeem schrijft de gegevens weg naar de databank. 5a. Het bestuurslid of de scheidsrechter bedenkt zich en klikt op ‘Annuleren’. 5a2. Het systeem laat alle wijzigingen ongemoeid.
Scores wijzigen Een bestuurslid of een scheidsrechter kan scores wijzigen Prioriteit Hoog Complexiteit Gemiddeld Precondities Bestuurslid of de scheidsrechter is ingelogd, de score van de wedstrijd werd reeds ingevuld. Postcondities De wijzigingen werden opgeslagen. Primaire actoren Bestuurslid Scheidsrechter Secundaire actoren Successcenario 1. Het bestuurslid of scheidsrechter klikt op “scores ingeven” 2. Hij kiest de gewenste competitie en seizoen 3. Het systeem toont een overzicht van de reeds gespeelde wedstrijden 4. Het bestuurslid of scheidsrechter klikt op een wedstrijd 5. Het bestuurslid of scheidsrechter past de scores aan. 6. Het systeem schrijft de gegevens weg naar de databank. Alternatieve scenario’s 5a. Het bestuurslid of de scheidsrechter bedenkt zich en klikt op ‘Annuleren’. 5a2. Het systeem laat alle wijzigingen ongemoeid.
34
6a. Het systeem merkt een foutieve ingave (alfanumerieke score) en geeft een foutmelding. 6a2. De gebruiker past de fout aan. 6a3. Het systeem schrijft de gegevens weg naar de databank.
Kalender van een seizoen aanmaken Het bestuurslid maakt een seizoenskalender aan Prioriteit Gemiddeld Complexiteit Gemiddeld Precondities Bestuurslid ingelogd Postcondities Primaire actoren Bestuurslid Secundaire actoren Successcenario 1. Het bestuurslid gaat naar het menu onderdeel “seizoen” 2. Het bestuurslid krijgt een actueel overzicht van alle seizoenen die zijn aangemaakt 3. Het bestuurslid selecteert een seizoen en kiest de optie “seizoen aanpassen” 4. Het systeem toont het seizoen met de kalender die er bij hoort. (leeg indien er nog geen gegenereerd is) 5. Het bestuurslid klikt op “kalender generen” 6. Het systeem maakt automatisch een nieuwe kalender aan. 7. Het systeem past de wijzigingen aan in de databank. Alternatieve scenario’s 3a. Het bestuurslid klikt op ‘Annuleren’.
35
Kalender van een seizoen aanpassen Het bestuurslid past de kalender van een seizoen aan Prioriteit Gemiddeld Complexiteit Gemiddeld Precondities Bestuurslid ingelogd Postcondities Primaire actoren Bestuurslid Secundaire actoren Successcenario 1. Het bestuurslid gaat naar het menu onderdeel “seizoen” 2. Het bestuurslid krijgt een actueel overzicht van alle seizoenen die zijn aangemaakt 3. Het bestuurslid selecteert een seizoen en kiest de optie “seizoen aanpassen” 4. Het systeem toont het seizoen met de kalender die erbij hoort. 5. Het bestuurslid kan wedstrijden toevoegen of verwijderen door op een datum te klikken en “aanpassen” te kiezen. 6. Het bestuurslid bevestigt door te klikken op “opslaan” 7. Het systeem past de wijzigingen aan in de databank Alternatieve scenario’s 6a. Het bestuurslid annuleert door te klikken op “annuleren”. 6a2. Het systeem voert geen wijzigen door in de databank.
36
Speler schorsen Het bestuur kan bepaalde spelers schorsen Prioriteit gemiddeld Complexiteit laag Precondities Het bestuurslid is ingelogd Postcondities Een bestuurslid heeft een speler geschorst Primaire actoren bestuurslid Secundaire actoren Successcenario 1. De gebruiker gaat naar het onderdeel “ploegen”. 2. Hij selecteert de gewenste ploeg. 3. Hij vinkt “schorsen” aan voor elke speler die hij wenst te schorsen. 4. Hij klikt op opslaan. 5. Het systeem past de wijzigingen aan in de databank. Alternatieve scenario’s 3a. De gebruiker klikt “Alle” aan, zodat elke speler geselecteerd is. 3a2. Ga verder met 4. 4a. De speler is reeds geschorst. 4a-2. De schorsing van de speler wordt verlengd.
37
Spelers toevoegen Ploegverantwoordelijke kan spelers toevoegen aan zijn ploeg Prioriteit Hoog Complexiteit Gemiddeld Precondities Postcondities De ploegverantwoordelijke heeft (een) speler(s) in de ploeg opgenomen. Primaire actoren Ploegverantwoordelijke Secundaire actoren Successcenario 1. De ploegverantwoordelijke gaat naar de pagina “ploeggegevens”. 2. Hij meldt zich aan (zodat de juiste rol verworven wordt) 3. Hij klikt op “spelers beheren”. 4. Hij krijgt een lijst van alle geregistreerde spelers. 5. Hij klikt op “spelers toevoegen”. 6. Er wordt een formulier weergegeven waarbij hij de spelergegevens kan ingeven. 7. Hij klikt op opslaan en het systeem bevestigt het toevoegen. 8. De speler ontvangt een e-mail op het verplichte ingegeven e-mailadres met een gegenereerd wachtwoord. Alternatieve scenario’s 4a. Er werden geen spelers gevonden in het team. 4a2. Het systeem toont een lege lijst. 7a. speler werd al toegevoegd. 7a-2. Het systeem meldt de dubbele toevoeging.
38
Spelers verwijderen De ploegverantwoordelijke kan bepaalde spelers uit de ploeg zetten. Prioriteit gemiddeld Complexiteit laag Precondities Postcondities De ploegverantwoordelijke heeft (een) speler(s) uit de ploeg gezet. Primaire actoren ploegverantwoordelijke Secundaire actoren Successcenario 1. De ploegverantwoordelijke gaat naar de pagina “ploeggegevens”. 2. Hij meldt zich aan (zodat de juiste rol verworven wordt) 3. Hij klikt op “spelers beheren”. 4. Hij krijgt een lijst van alle geregistreerde spelers. 5. Hij selecteert een of meerdere spelers. 6. Hij klikt op “spelers verwijderen”. 7. Hij bevestigt het verwijderen van de speler(s) met “OK”. Alternatieve scenario’s 4a. Er zijn geen spelers ingeschreven. 4a-2. Hij krijgt de melding “geen spelers in de ploeg”. 7a. Hij annuleert het verwijderen van de speler(s) met “Annuleren”.
39
Spelerwachtwoord aanpassen Een speler kan zijn wachtwoord aanpassen Prioriteit gemiddeld Complexiteit laag Precondities Postcondities De speler heeft zijn wachtwoord gewijzigd. Primaire actoren ploegverantwoordelijke Secundaire actoren Successcenario 1. De speler gaat naar “Account aanpassen”. 2. De speler klikt op “Wachtwoord wijzigen”. 3. Het systeem vraagt het oude wachtwoord, het nieuwe wachtwoord en een bevestiging van het nieuwe wachtwoord. 4. De speler bevestigt met “Opslaan”. 5. Het systeem wijzigt het wachtwoord. Alternatieve scenario’s 3a. De speler is zijn wachtwoord vergeten en klikt op “Wachtwoord vergeten”. 3a2. Het systeem genereert een nieuw wachtwoord en stuurt het op naar het opgegeven email adres. 3a2b. Het systeem vindt geen geldig opgegeven email adres en verwittigt de gebruiker. 3a2b2. Het systeem meldt de gebruiker dat hij contact moet opnemen met de administrator. 4a. De speler annuleert met “Annuleren”. Technische opmerking: Voor de codering van het wachtwoord wordt sha-256 gebruikt. Recuperatie van het wachtwoord is dus niet mogelijk. Zie alternatieve scenario’s.
40
Blessures opgeven Ploegverantwoordelijke geeft de blessures op van de spelers uit zijn ploeg. Prioriteit laag Complexiteit gemiddeld Precondities Postcondities De spelers krijgen de juiste blessures toegewezen. Primaire actoren ploegverantwoordelijke Secundaire actoren Successcenario 1. De ploegverantwoordelijke gaat naar de pagina “ploeggegevens”. 2. Hij meldt zich aan (zodat de juiste rol verworven wordt) 3. Hij klikt op “spelers beheren”. 4. Hij krijgt een lijst van alle geregistreerde spelers. 5. Hij selecteert een speler. (merk op, slechts één speler kan op een bepaald moment behandeld worden.) 6. Hij geeft de blessure op voor de speler. 7. Hij klikt op opslaan. Alternatieve scenario’s 2a. Het systeem weigert de gebruiker wegens foutieve login. 4a. Er werden geen spelers gevonden in de databank. 4a2. Het systeem geeft een lege lijst weer. 7a. De gebruiker annuleert.
41
Inschrijven Seizoen De ploegverantwoordelijke schrijft zijn ploeg in voor een seizoen. Prioriteit gemiddeld Complexiteit gemiddeld Precondities Postcondities De ploeg is ingeschreven in het gewenste seizoen Primaire actoren ploegverantwoordelijke Secundaire actoren Successcenario 1. De ploegverantwoordelijke gaat naar de pagina “inschrijven voor seizoen”. 2. Hij meldt zich aan (zodat de juiste rol verworven wordt) 3. Hij krijgt een overzicht van de seizoenen waarvoor hij zich kan inschrijven. 4. Hij selecteert het gewenste seizoen en klikt op “inschrijven”. 5. Hij wacht op bevestiging van het bestuur. 6. Het bestuur bevestigt de inschrijving. Alternatieve scenario’s 3a. Hij krijgt een melding dat hij nog geen geldige ploeg heeft. 3b. Er zijn geen seizoenen gevonden. 3b2. Het systeem geeft een lege lijst weer. 6a. Het bestuur weigert de inschrijving.
42
Architectuur
Rollen Zoals u reeds kon merken bij de indeling van de use cases is er een bepaalde structuur die overeenkomt met de aparte wensen van de webapplicatie en dekstop applicatie. Met die structuur bedoelen we natuurlijk de verdeling van de taken over desktop applicatie en site, in het bijzonder het hebben van een rol om bepaalde administratieve taken op één van beide onderdelen tot een succesvol einde te brengen. We spreken dus over de gebruikersindeling. Er zijn vijf categorieën waar men onder kan vallen binnen het geheel “Compass”. Vier van de rollen beschikken over bepaalde rechten (en plichten) die hun meer verantwoordelijkheid geeft op de site en/of op het desktop gedeelte. Zo zijn de bestuurders vooral nodig om de administratie op de desktop applicatie te voorzien. De rol van een bestuurder is een belangrijke rol, want die bepaalt de hoofdstructuur waarin men kan participeren. Het is dus belangrijk dat deze vastlegt hoe de vereniging in zijn werk zal gaan. Daarnaast zijn er de scheidsrechters. Zij staan in voor de puntenverdeling, maar ze hebben ook recht op iets meer. Het toewijzen van gekwetsten of bepaalde sancties behoort ook tot hun takenpakket en die implementatie zit bevat in het Java onderdeel. De teamverantwoordelijken en spelers zullen hun activiteiten hoofdzakelijk op de webapplicatie moeten doorvoeren. Daar kan men een team inschrijven en zich dus tot teamverantwoordelijke maken voor dat team. Spelers kunnen ook door de teamverantwoordelijke ingeschreven worden in zijn team.
43
Spelers zijn enkel in staat om hun eigen gegevens aan te passen. Wat op zich wel logisch is, aangezien ze onderaan de hiërarchie staan. Helemaal onderaan staat echter de gewone gebruiker, de bezoeker. Voor hem werd ook wat voorzien, namelijk het bekijken van de gegevens die opgesteld werden rondom de structuur die de applicatie omvat. Zo kan hij raadplegen welke competities momenteel actief zijn, evenals hun onderliggen seizoenen met teams, klassement, … Scraping De bedoeling van het scrapen was op een eenvoudige manier gegevens voorzien voor de databank. We verzamelden informatie rond voetbalspelers van de eerste klasse van België met hun bijhorende team en locatie informatie. We zijn eerst begonnen met het scrapen van wikipagina’s maar aangezien deze geen consistente opmaak bevatte en het scrapen van de informatie niet werd ondersteund zijn we op zoek gegaan naar een alternatieve bron van informatie. Uiteindelijk belandden we bij de website sport.be. Het scrapen op zich is zoals opgedragen gebeurt in perl en we hebben geopteerd om deze een sql scrip te laten generen zodoende dat we niet telkens het script moesten uitvoeren als we de database terug wouden voor zien van initiële data. Dit had enkele nadelen, onder andere het toevoegen van foto’s in de database als Blob bestand werd niet ondersteund. Dit hebben we verholpen door een stored procedure te ontwikkelen in de database die het mogelijk maakt om alle foto’s die zich in een bepaalde directory bevinden te gaan open en langs deze weg als nog in de database op te slaan. Aangezien spelers toegang tot het programma moesten krijgen hebben we geopteerd om de voornaam+achternaam te hashen en dit als gebruikersnaam en paswoord te gebruiken. Zodoende kan elke speler die zich in de databank bevind zich ook aanmelden op de website. De perl scripts bevinden zich op de bijgeleverde CD. Algoritmen Het voornaamste algoritme die in ons project gebruikt wordt is het automatisch genereren van een kalender. Hiervoor werd een klasse aangemaakt.
44
De methode getVolgendeSpeeldag zorgt er voor dat een nieuwe speeldagdatum wordt gegenereerd rekening houdend met de vakantiedagen en uitgesloten datums. De methode WedstrijdenAanmaken maakt zoals de naam het al zegt de nodige wedstrijden aan in het gewenste seizoen en voegt scheidsrechters en eveneens een locatie toe indien de gebruiker een specifieke locatie heeft gekozen voor een bepaalde speeldag. In de methode LigaGen wordt het aantal wedstrijden dat het seizoen moet bevatten bepaald en roept de methode westrijdenAanmaken aan. De teams worden toegevoegd aan een liga door middel van een schuifsysteem zodat elk team 1 of meerdere keren tegen alle andere teams komen te staan in de methode TeamsToevoegenAanLiga. TornooiGen bepaalt eveneens het aantal wedstrijden dat moet worden gegeneerd LigaGen doet dit voor een tornooi. TeamsToevoegenAanTornooi gaat bij een nieuw tornooi van n teams n/2 wedstrijden opvullen met random bepaalde koppels van teams. Indien er reeds wedstrijden zijn gespeeld gaat deze aan de hand van de winnaar bepalen welke teams tegenover elkaar komen te staan in de volgende wedstrijd. wedsToevoegenAanSeizoen gaat de wedstrijden die zijn gegeneerd toevoegen aan het seizoen en de gebruiker vragen of dat de einddatum mag worden aangepast. isFeestdag gaat de datum voor Pasen en aanverwante feestdagen bereken en kijken of dat deze niet overeen komt met de gekozen speeldag.
C#.NET webapplicatie Omschrijving model – Code organisatie Elke laag in het model heeft zijn eigen verantwoordelijkheid. Dit komt de schaalbaarheid en de herbruikbaarheid van een applicatie ten goede. Algemeen kan gesteld worden dat een onderliggende laag geen weet mag hebben van een bovenliggende laag m.a.w. een onderliggende laag mag geen functie oproepen uit een bovenliggende laag. In principe zou het dus mogelijk moeten zijn om een bovenliggende laag te vervangen zonder wijzigingen aan te brengen in de onderliggende lagen. De presentatielaag verzorgt de interface tussen de gebruiker en de server applicatie. Presentatielaag Aanbieden van diensten, services,… (Verwar niet met webservices. We bedoelen hier enkel het aanbieden van een interface zodat de gebruiker gebruik kan maken van de diensten die de applicatie aanbiedt.) Businesslaag Bevat de business logica – domeinklassen en facades. Persistentielaag Verzorgt de communicatie met de database
45
In de applicatie is de persistentielaag opgenomen in de DAL-package. Terwijl de businesslaag in de BLL-namespace opgenomen is. Daarnaast is er nog het geheel van pagina’s met code-behind, deze staan garant voor de presentatielaag.
46
Klassen & Packagestructuur BLL
47
48
Facades Er worden ook veel facadeklassen voorzien. Dit is voorzien zodat we modulariteit ondersteunen. Gemakkelijk aanpasbare en uitbreidbare gegevens zijn hierdoor beter ondersteund. Ook de code blijft overzichtelijk.
49
DAL Elke DAL-klasse is een singletonklasse. De methodes in de klasse hebben enkel betrekking tot de domeinobjecten met gelijke namen. Deze klassen zijn dus een verzameling voor het ophalen, wegschrijven en aanpassen van de gelijknamige domeinobjecten.
Third party software Implementatie van myOpenID OpenID is een manier om op het internet een single sign-on te hebben. Het doel is dat uw login en profiel informatie op een plaats blijft en dat je niet bij iedere site moet inloggen. Het komt er eigenlijk op neer dat een OpenID provider (in ons geval myOpenID) een bepaald URL bijhoud. Wanneer een gebruiker is ingelogd op dit URL, kan je als RelyingParty alle gegevens opvragen van dit URL. De communicatie gaat als volgt: je vraagt zoveel mogelijk informatie en hoopt er zoveel mogelijk terug te krijgen. Om dit te implementeren in .NET zijn er een aantal libraries beschikbaar. Wij hebben gekozen voor DotNetOpenAuth. Deze leek ons de meest voor de hand liggende en de bekendste waar we het meest feedback op zouden krijgen. Het enige die dan eigenlijk nog nodig is om connectie te maken met myOpenID is dll in onze applicatie kopiëren en dan de passende request doen. In het begin van het project, toen we nog met een Membership authenticatie werkten, moest hiervoor niets gebeuren. Er waren zelfs een aantal controls beschikbaar die het werk heel wat eenvoudiger maakten. Maar omdat we er niet zijn in geslaagd om onze MembershipProvider te porteren naar een Oracle databank, hebben we uiteindelijke toch zelf de afhandeling van URL’s moeten implementeren.
50
Hiervoor hebben we een extra veld in onze databank toegevoegd, “openid”. Daar worden URL’s in opgeslagen gescheiden door een puntkomma. Dit omdat een gebruiker meerdere OpenID providers kan hebben, zoals bijvoorbeeld Yahoo en Google. Via deze data kunnen we dus controleren of een OpenID gelinkt is aan een bepaalde account en ten slotte dus een gebruiker ermee te laten inloggen. http://www.dotnetopenauth.net/
51
Java Desktop Applicatie Omschrijving model - Code-organisatie Voor de organisatie van de code hebben we dezelfde conventies gebruikt als bij de website. We hebben een Domein, een persistentie en een presentatielaag. De schematische voorstelling wordt in de volgende puntjes verder getoond.
Klassen & Packagestructuur
Package structuur
Domein
52
Domein 2
Facades
53
Persistentie
Utils
Third party software gebruikte libraries voor de Java Desktop applicaite:
Swingx-1.6.jar Vooral gebruikt omdat hier een “date picker” component in zit. Mail.jar Een library met methodes om een email te kunnen verzenden Jcommon-1.0.16.jar en Jfreechart-1.0.13.jar Twee libraries waarmee grafieken kunnen gegenereerd worden Ojdbc14.jar Library om een connectie met de database te kunnen maken
54
Algoritmen In het Java project werd een klasse gemaakt met daarin de algoritmen om een kalender te genereren.
De methode getVolgendeSpeeldag zorgt er voor dat een nieuwe speeldagdatum wordt gegenereerd rekening houdend met de vakantiedagen en uitgesloten datums. De methode WedstrijdenAanmaken maakt zoals de naam het al zegt de nodige wedstrijden aan in het gewenste seizoen en voegt scheidsrechters en eveneens een locatie toe indien de gebruiker een specifieke locatie heeft gekozen voor een bepaalde speeldag. In de methode LigaGen wordt het aantal wedstrijden dat het seizoen moet bevatten bepaald en roept de methode westrijdenAanmaken aan. De teams worden toegevoegd aan een liga door middel van een schuifsysteem zodat elke team 1 of meerdere keren tegen alle andere teams komen te staan in de methode TeamsToevoegenAanLiga. TornooiGen bepaalt eveneens het aantal wedstrijden dat moet worden gegeneerd LigaGen maar doet dit voor een tornooi. TeamsToevoegenAanTornooi gaat bij een nieuw tornooi van n teams n/2 wedstrijden opvullen met random bepaalde koppels van teams. Indien er reeds wedstrijden zijn gespeeld gaat deze aan de hand van de winnaar bepalen welke teams tegenover elkaar komen te staan in de volgende wedstrijd. wedsToevoegenAanSeizoen gaan de wedstrijden die zijn gegeneerd toevoegen aan het seizoen en de gebruiker vragen of dat de einddatum mag worden aangepast. isFeestdag gaat de datum voor Pasen en aanverwante feestdagen bereken en kijken of dat deze niet overeen komt met de gekozen speeldag.
55
Databankschema
56
Installatie & testhandleiding Om de website en de desktop applicatie te installeren voeren we setup.exe uit. Dit uitvoerbaar bestand vinden we terug op de bijgeleverde CD-ROM vinden. De installatie zorgt ervoor dat alle software die nodig is geïnstalleerd wordt op je pc. De enige sotware die niet meegeleverd is, is de Oracle database software om de gegevens op te slaan. Tijdens de installatie krijg je de keuze om de website en/of de desktop applicatie te installeren. Er is ook de mogelijkheid voorzien om je database te vullen met testdata. Hiervoor moet je een servernaam opgeven en de inloggegevens van een systeembeheerder. Na de installatie zal er een snelkoppeling op je bureaublad geplaatst worden om de desktop applicatie op te staren en de website te weergeven. Inloggen kan, als men de testdata geïnstalleerd heeft, met volgende gebruikers:
Login: oprichter / paswoord: oprichter o
Deze gebruiker is de oprichter van de vereniging
Login: Carlo / paswoord: oprichter o
Deze gebruiker is een scheidsrechter
Wat met deze gebruikers gedaan kan worden kan je in de gebruikershandleiding lezen. De software wordt geïnstalleerd op de servermachine. De connectiestrings zijn dan ook hardcoded opgenomen in de installatie en zijn enkel bruikbaar bij de botticelli-pc. Het is echter een kleine aanpassing om de twee connectionstrings die slechts op één plaats werden gedeclareerd om te vormen tot een compatibel geheel.
57
Gebruikershandleiding Java Desktop Applicatie
Hogeschool Gent Kortrijksesteenweg 14 9000 Gent Tel. 32(9) 243 33 33 http://www.hogent.be/
Goessaert Carlo Roy Van Coillie Roeland Andelhofs Siemon Geeroms Matthias Polet
58
DISCLAIMER .............................................................................................................................................. 60 CHAPTER I: APPLICATIE INITIALISEREN ..................................................................................................... 61 STARTFORMULIER VERENIGING ..................................................................................................................... 61 OPRICHTER FORMULIER .............................................................................................................................. 62 LOGIN / PASWOORD FORMULIER .................................................................................................................. 63 CHAPTER II: INLOGGEN............................................................................................................................. 64 INLOGGEN ALS OPRICHTER OF BESTUURSLID ..................................................................................................... 64 INLOGGEN ALS SCHEIDSRECHTER ................................................................................................................... 64 PASWOORD VERGETEN ............................................................................................................................... 64 CHAPTER III: HOOFDFORMULIER .............................................................................................................. 65 NAVIGATIE .............................................................................................................................................. 65 PROFIEL .................................................................................................................................................. 66 Paswoord & Gebruikersnaam wijzigen ............................................................................................. 66 Foto Kiezen ...................................................................................................................................... 67 Persoonlijke gegevens wijzigen ........................................................................................................ 67 TABBLADEN HOOFDFORMULIER .................................................................................................................... 68 Tabblad Vereniging .......................................................................................................................... 68 Tabblad Bestuur............................................................................................................................... 69 Tabblad Scheidsrechters .................................................................................................................. 70 Tabblad Locaties .............................................................................................................................. 71 Tabblad Statistieken ........................................................................................................................ 72 Tabblad Events ................................................................................................................................ 73 Tabblad Competitie.......................................................................................................................... 74 CHAPTER IV: HOOFDFORMULIER SEIZOEN ............................................................................................... 76 KALENDERGENERATIE ................................................................................................................................. 77 TABBLADEN HOOFDFORMULIER SEIZOEN ........................................................................................................ 78 Tabblad Teams ................................................................................................................................ 78 Tabblad Verantwoordelijken ............................................................................................................ 80 Tabblad Klassement ......................................................................................................................... 81 Tabblad Statistieken ........................................................................................................................ 82 Tabblad Wedstrijden........................................................................................................................ 83 CHAPTER V: HOOFDFORMULIER SCHEIDSRECHTER .................................................................................. 84 TABBLADEN HOOFDFORMULIER SCHEIDSRECHTER ............................................................................................. 85 Tabblad Vrije Wedstrijden ................................................................................................................ 85 Tabblad Scores................................................................................................................................. 85 Tabblad Verdiensten ........................................................................................................................ 86 Tabblad Overtredingen .................................................................................................................... 87 Tabblad Gekwetsten ........................................................................................................................ 87
59
DISCLAIMER De Compass Java applicatie werd ontwikkeld door Carlo Goessaert, Siemon Geeroms, Roeland Andelhofs, Roy Van Coillie en Matthias Polet. The belangrijkste doel van deze applicatie is om het beheer van een sportvereniging te vergemakkelijken en te automatiseren. We moedigen sportverenigingen aan om onze applicatie te gebruiken om onze doelen te realiseren. De Compass Java applicatie hoort samen met een website, die dezelfde gegevens gebruikt. De website en de webapplicatie kunnen niet onafhankelijk van elkaar gebruikt worden. Hoewel alle moeite is gedaan om er voor te zorgen dat alle informatie in de applicatie correct, up-to-date en betrouwbaar is, kunnen wij niet verantwoordelijk geacht worden voor incorrectheden, errors of virussen. Het gebruik van de applicatie is op de gebruikers eigen risico.
60
Chapter I: Applicatie Initialiseren Startformulier vereniging Wanneer u de applicatie voor de eerste keer opstart, vragen wij u vooreerst enkele gegevens over de vereniging waarvoor u deze applicatie wilt gebruiker via een driedelige wizard. U dient onder andere de naam en wat bijkomende informatie in te geven. Via de knop “Kies Logo” kunt u het logo kiezen waar uw vereniging mee geassocieerd wordt. Let op: deze informatie wordt ook op de website getoond.
Bij het drukken op de knop “Volgende” wordt de ingevoerde informatie gevalideerd. Verplichte velden die niet werden ingevuld of velden met incorrect informatie worden met een * aangeduid. De bijpassende foutmelding komt onderaan links tevoorschijn. Deze manier van valideren wordt doorheen de gehele applicatie toegepast:
61
Oprichter formulier Vervolgens bent u verplicht enkele gegevens over de oprichter van de vereniging op te geven. Bij het invoeren van persoonsgegevens zijn geboortedatum, uniek email adres, naam en voornaam verplichte velden. Tevens kunt u voor elke persoon een foto kiezen.
Hoewel de meeste van deze gegevens (zoals gsm, telefoonnummer, adres, foto enzovoort) niet verplicht in te vullen zijn, is het toch aan te raden zoveel mogelijk informatie mee te geven met dit invulformulier. Veel van deze informatie wordt ook gebruikt om aan de bezoekers van de website mee te geven en hoe meer informatie de website kan aanbieden, hoe interessanter hij wordt.
62
Login / Paswoord formulier Als laatste dient u ook een gebruikersnaam en een paswoord op te geven voor de oprichter. De oprichter is een gebruiker die alle rechten heeft; Kies hier dus een toepasselijke gebruikersnaam en paswoord voor. Gebruikersnamen dienen minimaal uit 6 karakters te bestaan en moeten uniek zijn. Paswoorden moeten minimaal uit 8 karakters bestaan.
Na het klikken op “Voltooien” en het valideren van de gegevens worden deze opgeslagen in de database. Het programma wordt opnieuw opgestart.
63
Chapter II: Inloggen Inloggen in de gebruikersapplicatie kunnen enkel de oprichter, de scheidsrechters en de bestuursleden.
Inloggen als oprichter of bestuurslid Na het invoeren van paswoord en gebruikersnaam worden deze gevalideerd. De gepaste foutmeldingen worden gegeven indien de gebruikersnaam en/of paswoord niet correct ingevuld werden. Wanneer bestuursleden of oprichters inloggen, wordt bij een correcte login het hoofdformulier van de applicatie getoond. (zie verder)
Inloggen als scheidsrechter Zelfde procedure, maar hier wordt het hoofdformulier voor de scheidsrechters getoond. (zie verder)
Paswoord vergeten Wanneer u uw paswoord vergeten bent, kunt u via de knop “Paswoord vergeten” uw paswoord resetten. Hiervoor dient u het (correcte) email adres in te vullen waarmee u ook in de vereniging bent ingeschreven. Indien u ook dit niet meer weet, gelieve dan de oprichter of een bestuurslid te contacteren.
64
Chapter III: Hoofdformulier Het hoofdformulier werd opgedeeld in drie delen. Links bovenaan ziet u uw eigen informatie (naam, laatst ingelogd en welk type gebruiker) en hebt u de mogelijkheid om alle persoonlijke informatie aan te passen via de knop “Profiel”. Het midden van het hoofdformulier bevat een aantal tabbladen met telkens informatie naargelang de titel van het tabblad. Het eerste tabblad bevat bijvoorbeeld informatie over de vereniging, het tweede tabblad dient om de bestuursleden te beheren enzovoort (zie verder voor meer uitleg).
Navigatie Linksonder ziet u nogmaals de verschillende tabbladen, maar dan als een treeview. Er zijn dus twee mogelijke middelen om te navigeren tussen de tabbladen, namelijk via de treeview of via de tabbladen zelf. Deze conventie wordt ook gebruikt in de andere hoofdformulieren (zie verder).
65
Profiel De knop “Profiel” biedt zoals gezegd mogelijkheden om persoonlijke informatie aan te passen. Door op deze knop te klikken komt u terecht op een formulier waarop een aantal mogelijkheden voor zichzelf spreken:
Paswoord & Gebruikersnaam wijzigen Bij het wijzigen van het paswoord moet u eerst uw oud paswoord opgeven. U moet ook het nieuwe paswoord twee maal ingeven om typefouten te vermeiden.
De gekozen gebruikersnaam moet bovendien uniek en minstens 6 karakters lang zijn. Paswoorden hebben een minimumlengte van 8 karakters en er wordt aangeraden om zowel numerieke als alfanumerieke karakters te gebruiken.
66
Foto Kiezen Via de knop “Kies Foto” kunt u door uw pc browsen en een nieuwe foto kiezen. Bij het selecteren van een foto wordt rechts telkens een preview getoond.
Persoonlijke gegevens wijzigen Het wijzigen van uw persoonlijke gegevens kan via de knop “Wijzig persoonlijke gegevens”. Kan komt u op volgend formulier terecht.
Zoals bij het ingeven of wijzigen van alle persoonsgegevens zijn ook hier de naam, voornaam en geboortedatum verplichte in te geven. Tevens wordt ook een uniek (scope = vereniging) email adres verwacht.
67
Tabbladen hoofdformulier Zoals te zien werd op het hoofdformulier en ook op andere hoofdformulieren (zie verder) gebruik gemaakt van tabbladen. Het eerste hoofdformulier bevat zeven tabbladen. Hieronder worden ze allemaal besproken.
Tabblad Vereniging Het eerste tabblad is het tabblad vereniging. Hierop ziet u de gegevens van de vereniging zelf en ook de informatie over de oprichter van de vereniging. Onderaan hebt u de mogelijkheid om deze informatie aan te passen via de knoppen “Wijzig Vereniging” en “Wijzig Oprichter”. U kunt tevens de knop “Stuur Email” gebruiken om een email te sturen naar de oprichter.
Rechts kunt u ook het logo van de vereniging kiezen of veranderen via de knop “Kies Logo”. Dit logo en ook de andere informatie weergegeven op dit tabblad wordt ook gebruikt om weer te geven op de website.
68
Tabblad Bestuur Het tabblad bestuur staat in voor het beheer van alle bestuursleden. In de tabel bovenaan worden alle bestuursleden weergegeven met hun email adres en hun functie. Wanneer een rij uit de tabel geselecteerd wordt kunt u bijkomende informatie bekijken via het paneel details, onderaan het tabblad.
Onderaan staan zoals op de meeste tabbladen de knoppen. U kunt een nieuw bestuurslid invoegen, gegevens over een bestuurslid wijzigen of een bestuurslid verwijderen. Verder kunt u ook voor elk bestuurslid een foto kiezen of een email er naartoe sturen. Door het dubbelklikken op een rij uit de tabel komt u automatisch bij het formulier voor het wijzigen van het bestuurslid. Bij het maken van een bestuurslid wordt de loginnaam de voornaam + de naam en wordt als paswoord ook de voornaam + naam gekozen. Wanneer het bestuurslid dan voor de eerste maal inlogt kan hij deze gegevens zelf aanpassen. Tenslotte kan via de knop “Print Gegevens” een lijst uitgeprint worden met alle bestuursleden. De lijst zal ook een titel en de datum van uitprinten bevatten en tevens ook de naam van de gebruiker die het printen uitgevoerd heeft.
69
Tabblad Scheidsrechters Het tabblad scheidsrechters staat in voor het beheer van alle scheidsrechters die aangesloten zijn in de vereniging. De tabel toont een lijst van alle scheidsrechters met hun email adres en bij het selecteren van een scheidsrechter wordt onderaan detailinformatie getoond.
Onderaan kunt u via de bijbehorende knoppen nieuwe scheidsrechters toevoegen, informatie over scheidsrechters wijzigen of scheidsrechters verwijderen. Per scheidrechter kunt u ook via de knop “Lijst Wedstrijden” een lijst bekomen van alle wedstrijden die onder leiding stonden van de geselecteerde scheidsrechter. Verder kunt u een lijst afprinten van alle scheidsrechters en ook een email sturen.
70
Tabblad Locaties Het tabblad locaties bevat alle locaties waar wedstrijden kunnen gespeeld worden. De tabel bevat een lijst met alle locaties, hun adres en gemeente. Bij het selecteren van een rij uit de tabel wordt bijkomende informatie getoond onderaan in het detailpaneel.
Ook hier kan u via dezelfde knoppen nieuwe locaties toevoegen, locaties wijzigen of locaties verwijderen. De knoppen “Print Gegevens”, “Stuur Email” en “Kies Foto” spreken voor zichzelf.
71
Tabblad Statistieken Het tabblad statistieken toont een aantal interessante statistieken die samengesteld zijn uit alle gegevens die in de database aanwezig zijn. Deze statistieken zijn dus niet seizoens of competitiegebonden. U kiest een type statistiek en drukt op de knop “Toon”.
Via de rechtermuisknop op de grafiek kunt u alle instellingen voor de grafiek zelf aanpassen of kunt u de grafiek opslaan als figuur of afdrukken.
72
Tabblad Events Het tabblad events toont alle acties die elke gebruiker die kan inloggen in het systeem tot nu toe ondernomen heeft. Dit tabblad toont dus alle logginginformatie.
U kunt een filter instellen op naam, op type en/of op datum via de opties op de linkerkant van het tabblad. Rechts worden alle logging gegevens in een tabel getoond. Een event heeft een gebruiker die het event uitgevoerd heeft, een type, een naam en een tijdstip.
73
Tabblad Competitie Via dit tabblad kunt u een nieuwe competitie starten en nieuwe seizoenen per competitie starten. Als u ook de gearchiveerde competities & seizoen wil zien, kan u dit aanpassen via het vinkje en de knop “Refresh”.
U moet altijd eerst een nieuwe competitie creëren via het de knop “Nieuwe Competitie”. Daar geeft u een naam op en het soort competitie.
Een tornooi werkt via rechtstreekse uitschakeling, terwijl bij alle ploegen tegen elkaar spelen en een klassement op het einde bepaalt wie de winnaar is.
74
Vervolgens maakt u een seizoen aan voor de geselecteerde competitie via de knop “Nieuwe Seizoen”. Daar geeft u een naam op en enkele belangrijke waarden. Zo moet u bijvoorbeeld opgeven hoeveel ploegen aan het seizoen deelnemen, hoeveel duels ploegen tegen elkaar moeten spelen, hoe de puntenverdeling werkt en wanneer het seizoen start.
Door het dubbelklikken op een seizoen of via de knop “Seizoen Beheren” komt u terecht op het tweede hoofdformulier. (zie verder) Verder kunt u opnieuw de getoonde informatie wijzigen of afdrukken via bijbehorende knoppen.
75
Chapter IV: Hoofdformulier Seizoen Door het selecteren van een seizoen uit een competitie en het klikken op “Seizoen Beheren” (of dubbelklikken op het seizoen) komt u terecht op het seizoen hoofdformulier. Hier kunt u alle seizoensgebonden acties uitvoeren.
Net zoals de andere hoofdformulieren bestaat dit formulier uit een navigatie treeview op de linkerkant, een profielruimte linksboven en een aantal tabbladen in het midden. U kan opnieuw navigeren via de tabbladen zelf of via de treeview en ook uw profiel aanpassen via de knop “Profiel”.
76
Kalendergeneratie Wanneer u voor de eerste maal het seizoen hoofdformulier opent, wordt gevraagd om wedstrijden aan te maken. Door op “Ja” te klikken wordt u doorverwezen naar een formulier waar u een kalender kunt genereren.
Op dit formulier kunt u een aantal opties meegeven om een kalender te genereren. Linksboven kunt u de dagen en uren ingeven wanneer wedstrijden gespeeld kunnen worden. Rechtsboven kunt een locatie kiezen voor de wedstrijden of kunt u kiezen voor de thuislocatie van de thuisploeg als standaard. Linksonder kunt u bepaalde datums zoals feestdagen uitsluiten, zodat op deze datums geen wedstrijden worden gepland. Rechtsonder tenslotte kunt u de scheidsrechters opgeven die dit seizoen wedstrijden zullen leiden. Door op “Genereren” te klikken wordt de kalender automatisch gegenereerd op basis van uw instellingen. Via “Instellingen opslaan” kunt u de opties die u gekozen hebt opslaan in een tekstbestand. Later kunt u dit bestand herladen via de knop “Instellingen laden”. Bij het genereren van de kalender kunt u nadien nog altijd zelf wijzigingen aanbrengen of de kalender opnieuw genereren met andere opties. Na het genereren van de kalender moet u wachten tot de nodige teams zich voor het seizoen hebben ingeschreven en deze vervolgens ook accepteren vooraleer u de kalender kunt opvullen met de ingeschreven teams (zie verder).
77
Tabbladen Hoofdformulier Seizoen Net zoals bij het algemene hoofdformulier bestaat ook dit uit enkele tabbladen. Deze worden hieronder besproken.
Tabblad Teams Op het tabblad teams worden in een tabel alle teams getoond die zich hebben ingeschreven voor het gekozen seizoen. Naast elk team staat ook de status (geaccepteerd, nog wachtend of geweigerd). Via de knoppen “Accepteren” of “Weigeren” kunt u die status aanpassen. Onderaan in het details paneel worden bijkomende gegevens getoond.
Het is belangrijk voor het opvullen van de kalender dat het aantal teams dat deelneemt aan het seizoen gelijk is aan het aantal geaccepteerde teams. Wanneer dit zo is dat de kalender automatisch opgevuld worden. Dit kan ook via de knop “Teams toevoegen aan kalender”.
78
Via de knop “Lijst Spelers” of via het dubbelklikken bekomt u een lijst van alle spelers die bij dit team horen.
Dit formulier toont de naam en positie van elke speler. Bij het selecteren van een speler uit de lijst wordt onderaan bijkomende informatie getoond. U kunt ook de lijst van spelers per ploeg afdrukken.
79
Tabblad Verantwoordelijken Het tabblad verantwoordelijken toont per ingeschreven team een verantwoordelijke. Deze persoon was verantwoordelijke voor het inschrijven van het team en kan ook als enige van zijn team de teamgegevens wijzigen. Tevens is deze persoon ook de contactpersoon voor het team. De lijst toont voor elk team de naam en voornaam van de verantwoordelijke. Bij het selecteren van een verantwoordelijke uit de lijst wordt onderaan in het details paneel bijkomende informatie getoond.
Via de knop “Wijzig Verantwoordelijke” kunt u de gegevens over de verantwoordelijke wijzigen. Verder kunt u ook een email sturen naar de verantwoordelijke, een foto kiezen en de lijst van verantwoordelijken afdrukken.
80
Tabblad Klassement Het tabblad klassement toont de rangschikking van alle teams in het seizoen. Er wordt rekening gehouden met de puntenverdeling die bij de aanmaak van het seizoen ingegeven werd.
Wanneer nog geen enkele wedstrijd gespeeld werd, staan alle waarden natuurlijk nog op 0. U hebt ook de mogelijkheid om het klassement af te drukken.
81
Tabblad Statistieken Het tabblad statistieken toont enkele statistieken die per seizoen moeten berekend worden. U kiest via de combobox een statistiek en drukt op “Toon”.
82
Tabblad Wedstrijden Het tabblad wedstrijden toont alle wedstrijden van het seizoen. Wanneer er nog geen wedstrijden zijn kunt u de kalender genereren via de knop “Kalender Genereren”. U kunt ook de wedstrijden per team tonen door een team te selecteren uit de combobox.
U kunt via de knop “Wijzig Seizoen Parameters” ook de parameters wijzigen die u bij het aanmaken van het seizoen hebt opgegeven. Binnen het tabblad wedstrijden zijn er vier kleine tabbladen die betrekking hebben tot één wedstrijd. Deze hebben dezelfde functionaliteit als het derde hoofdformulier waar de scheidsrechters toegang tot hebben. Daarom verwijzen we u door naar de uitleg over dat derde hoofdformulier (Hoofdformulier Scheidsrechter) voor meer informatie.
83
Chapter V: Hoofdformulier Scheidsrechter Wanneer een scheidsrechter inlogt zal hij volgend hoofdformulier te zien krijgen:
Zoals op de andere hoofdformulieren ziet u links een mogelijkheid om profielinformatie aan te passen en kunt u op twee manieren navigeren doorheen de tabbladen. Scheidsrechters kunnen via dit formulier wedstrijden die ze geleid hebben aanvinken als “Gespeeld” en alle wedstrijdinformatie ingeven in de bijbehorende tabbladen. Bovenaan kunnen ze een competitie een seizoen kiezen. De wedstrijden in bijbehorende competitie en seizoen die zij geleid hebben worden dan weergegeven in de lijst bovenaan.
84
Tabbladen Hoofdformulier Scheidsrechter Ook dit formulier werd opgedeeld in een aantal tabbladen. Deze worden hieronder besproken.
Tabblad Vrije Wedstrijden Dit tabblad toont alle wedstrijden in een tabel die nog niet werden toegewezen aan een scheidsrechter. De scheidrechter heeft op dit tabblad de mogelijkheid om deze wedstrijden op te nemen en hij kan ook wedstrijden terug vrijgeven, omdat hij bijvoorbeeld niet kan aanwezig zijn.
De knop “Vrijgeven” geeft de wedstrijd vrij die geselecteerd werd in de lijst BOVENAAN het tabblad.
Tabblad Scores Via dit tabblad kan de scheidsrechter de score in vullen van de geselecteerde wedstrijd en kan hij ook een verslag schrijven.
85
Tabblad Verdiensten Via het tabblad verdiensten kunnen alle doelpunten bijgehouden worden per wedstrijd.
De scheidsrechter kan verdiensten toevoegen via de knop “Toevoegen”. Hij kiest dan een tijdstip, een waarde, een ploeg en een persoon.
Via de knop “Wijzigen” kan een ingegeven verdienste gewijzigd worden en de scheidsrechter kan ook verdiensten verwijderen via de bijbehorende knop.
86
Tabblad Overtredingen Op dit tabblad worden op dezelfde manier zoals bij de verdiensten de overtredingen bijgehouden. De scheidsrechter kan overtredingen toevoegen, wijzigen en verwijderen.
Tabblad Gekwetsten Op opnieuw dezelfde manier kan de scheidsrechter ook de gekwetsten per wedstrijd bijhouden.
87
Gebruikershandleiding C#.NET Webapplicatie
Hogeschool Gent Kortrijksesteenweg 14 9000 Gent Tel. 32(9) 243 33 33 http://www.hogent.be/
Goessaert Carlo Roy Van Coillie Roeland Andelhofs Siemon Geeroms Matthias Polet
88
Inhoudsopgave DISCLAIMER ...................................................................................................................................................... 90 CHAPTER II: VERENIGINGSPAGINA ................................................................................................................... 92 VERENIGINGSPAGINA ......................................................................................................................................... 92 COMPETITIE – SEIZOENSSTRUCTUUR ...................................................................................................................... 93 Teams bekijken ........................................................................................................................................ 94 Wedstrijdinformatie bekijken ................................................................................................................... 97 Seizoensinformatie bekijken ..................................................................................................................... 98 Het klassement bekijken .......................................................................................................................... 99 Seizoensstatistieken raadplegen ............................................................................................................ 100 TEAM REGISTREREN ......................................................................................................................................... 103 INLOGGEN ..................................................................................................................................................... 105 WIJZIG UW GEGEVENS ...................................................................................................................................... 106 WIJZIG UW TEAM ............................................................................................................................................ 107 Wijzig de teamverantwoordelijke........................................................................................................... 108 Verwijder speler(s) ................................................................................................................................. 109 Voeg een nieuwe speler toe ................................................................................................................... 110 Team inschrijven in een nieuw seizoen ................................................................................................... 111
89
DISCLAIMER De Compass Webapplicatie werd ontwikkeld door Carlo Goessaert, Siemon Geeroms, Roeland Andelhofs, Roy Van Coillie en Matthias Polet. The belangrijkste doel van deze applicatie is gegevens voorstellen naar de gebruiker toe. Daarnaast biedt het ook de functionaliteit aan teamverantwoordelijken en spelers om bepaalde van hun gegevens aan te passen. Het is dus een noodzakelijke applicatie op teamniveau. De Compass webapplicatie hoort samen bij een desktopapplicatie, die dezelfde gegevens gebruikt. De website en de webapplicatie kunnen niet onafhankelijk van elkaar gebruikt worden. Hoewel alle moeite is gedaan om er voor te zorgen dat alle informatie op de applicatie correct, up-to-date en betrouwbaar is, kunnen wij niet verantwoordelijke geacht worden voor incorrectheden, errors of virussen. Het gebruik van de applicatie is op de gebruikers eigen risico.
90
Chapter I: Welkom U dient allereerst over een vereniging te beschikken die aangemaakt werd met behulp van de java desktopapplicatie. Raadpleeg “Chapter I: Initialiseren” om een nieuwe vereniging aan te maken en zo van start te gaan. Indien u echter al over een geïnitialiseerde vereniging beschikt, dan kan krijgt u onderstaand scherm te zien bij het bezoeken van de website.
Dit is de welkomstpagina van de website. Zoals u kan zien wordt u de keuze gesteld om de site in het Nederlands, Frans of Engels te raadplegen. De gekozen taal zal betrekking hebben op de rest van de acties die u wenst uit te voeren met behulp van de site.
91
Chapter II: Verenigingspagina Verenigingspagina Het eerstvolgende scherm is het verenigingsscherm. Dit scherm is een vaakvoorkomende constante doorheen het gebruik van deze webapplicatie. U zal vaak teruggestuurd worden naar deze pagina bij het vervolledigen van bepaalde acties op de site.
U krijgt bovenaan de vereniging met daar kort onder een korte omschrijving. Daaronder zie u twee hyperlinks in het menu. “Welkom” en “Verenigingspagina”, zoals de naam het zelf zegt wordt u daarbij naar het respectievelijke onderdeel gestuurd waar u ofwel uw taal kan kiezen ofwel kan navigeren in de competitie/seizoenstructuur die het programma omvat. Rechtsbovenaan kan u nog een kleine menustructuur terugvinden die enkel zal werken indien u een geregistreerd gebruiker bent. U krijgt namelijk een loginscherm te zien na het klikken op “Wijzig uw gegevens” of “Wijzig uw team”, waarbij u dus de correcte aanmeldgegevens moet ingeven indien u wenst verder te gaan.
92
Competitie – seizoensstructuur U kan echter ook op de huidige pagina heel wat functionaliteit terugvinden. De handige menustructuur laat u in een oogwenk zien welke competities er van toepassing zijn (let op, enkel niet-gearchiveerde competities worden getoond!). Bij het selecteren van een competitie worden de respectievelijke seizoenen onder die competitie getoond in het kader eronder. Na selectie van de seizoenen, krijgt u enkele nieuwe tabbladen die u de seizoensspecifieke gegevens weergeven. Teams, Wedstrijden, Seizoensinformatie, Klassement en seizoensstatistieken zijn de mogelijkheden. Daarnaast kan u van hieruit ook een nieuwe team registreren.
93
Teams bekijken Het eerste tabblad dat beschikbaar is, is het teamstabblad, waarbij u alle geaccepteerde teams kan bekijken (hoe men dient teams te accepteren staat uitvoerig beschreven in de desktophandleiding). De teams worden verdeeld in pagina-onderdelen van tien stuks. De paginering onder aan de opsomming van teams wijst erop dat er nog een tweede pagina is waaruit u teams kan selecteren om nader te bekijken.
Het -icoontje wijst erop dat er meer informatie beschikbaar is over dat team. Dergelijke informatie wordt weergegeven in een nieuw scherm dat tevoorschijn komt indien u het icoon van het gewenste team aanklikt.
94
Teamdetails bekijken Nadat u een team geselecteerd hebt, krijgt u voor dat team de details te zien. Zoals bijvoorbeeld de naam, de korte naam, de kleuren en of ze al dan niet over een thuislocatie beschikken. Daarnaast krijgt u ook een lijst van alle spelers die in het team opgenomen zijn. Opnieuw wijst het -icoon op de mogelijkheid tot het bekijken van details voor de geselecteerde speler.
95
Spelerdetails bekijken Nadat u het detailvenster opgevraagd heeft door het -icoontje aan te klikken van de respectievelijke speler, krijgen we een nieuwe pagina met een overzicht van de verschillende spelergegevens. Daar kan je ook de foto van de speler bekijken indien hij over dergelijke foto beschikt.
96
Wedstrijdinformatie bekijken In het overzicht van een seizoen staat ook een tab “wedstrijden”. Deze tab bevat het overzicht van alle wedstrijden die nog gespeeld moeten worden en die al gespeeld zijn (zie het betreffende aankruishokje dat al dan niet aangevinkt is). De stand wordt ook mooi weergegeven met links de thuisploeg en rechts de bezoekerpunten.
97
Seizoensinformatie bekijken Een seizoen bevat ook allerhande informatie die weergegeven wordt onder het “Seizoensinformatie”-tabblad.
98
Het klassement bekijken Een klassement dat gegenereerd wordt telkens u de pagina bezoekt, is ook ter beschikking gesteld. Ook dit is weer op seizoensniveau. Onderstaande screenshot bevat echter voor alle ploegen nu nul-scores. Dit komt simpelweg omdat geen wedstrijden gespeeld werden en dat er dus ook geen punten te scoren vielen.
99
Seizoensstatistieken raadplegen Daarnaast kan u ook de statistieken bekijken die geldig zijn binnen een seizoen. Deze statistieken zijn zeer gemakkelijk uit te breiden, mits een degelijk opgebouwde query. In het project zijn slechts “lengtes per team” en “leeftijden per team” statistieken beschikbaar gemaakt. Zodra u een statistieksoort gekozen heeft, wordt u naar één van volgende pagina’s doorverwezen, respectievelijk “lengtes per team” of “leeftijden per team”.
100
Lengtes per team bekijken Een van de statistieken is bijvoorbeeld lengtes per team. Hierbij zien we per team een overzicht van de grootste speler, zijn lengte en ook de kleinste speler met zijn lengte. Zo zien we ook in een oogopslag welk team de grootste spelers heeft (en dus het meest intimideerd op het veld). Vooral voor een basketbalvereniging is deze statistiek erg handig.
101
Leeftijden per team bekijken
102
Team registreren Een team registreren kan men door de link “Registreer uw team” aan te klikken op de verenigingspagina. Dat brengt u op onderstaande pagina. Hierbij wordt gebruik gemaakt van AJAX om de teamgegevens, locatiegegevens en/of teamverantwoordelijkegegevens afzonderlijk toonbaar te maken. Klikken op de titel “verberg …” zal de tussenliggende tekstvakken laten verdwijnen en u kan dan rustig verder (zonder scrollen) de andere vereiste data invullen.
103
Verplichte data wordt aangeduid met een (*) bij de naam van het veld. Als alle gegevens ingevuld zijn, dan kan u op de knop registreren klikken. U kan ook kiezen om te annuleren, dat brengt u terug bij de verenigingspagina.
104
Inloggen Onderstaand scherm wordt u voorgelegd als u op “Wijzig Team” of “Wijzig uw gegevens”. U dient dus eerst in te loggen met uw gegevens. Enkel teamverantwoordelijken krijgen toegang tot wijzig team en de aanverwante pagina’s. Elke gebruiker die herkend wordt in het systeem kan echter zijn gegevens aanpassen via de webapplicatie. Ook inloggen met openid is mogelijk!
105
Wijzig uw gegevens Zoals daarnet vermeld, kan elke speler zijn accountgegevens aanpassen naar wens, mits inloggen. De velden worden zo goed mogelijk ingevuld met allerhande gegevens die u dus naar wens kan wijzigen. Ook hier zijn weer verplichte velden aanwezig. U wordt echter automatisch op de hoogte gesteld mocht bepaalde informatie incorrect zijn of ontbreken.
106
Wijzig uw team Een teamverantwoordelijke heeft ook toegang tot de “wijzig uw team”-pagina. U kan van hieruit verschillende administratieve taken verrichten, zoals het inschrijven voor een nieuw seizoen, het aanpassen van de teamgegevens. Spelers verwijderen en toevoegen hoort ook tot het arsenaal. Bij het klikken op opslaan worden alle nieuwe teamgegevens opgeslagen.
107
Wijzig de teamverantwoordelijke Er zijn twee manieren om een nieuwe teamverantwoordelijke aan te stellen. Enerzijds kunt u één van de huidige spelers gebruiken. Anderzijds kunt u een nieuwe persoon toevoegen. Let wel, eens u de teamverantwoordelijke heeft aangepast, wordt u uitgelogd. Daarna zal de nieuwe teamverantwoordelijke kunnen inloggen met de benodigde rechten.
108
Verwijder speler(s) Spelers verwijderen kan eenvoudigweg door in de rij van de te verwijderen spelers het hokje ‘Verwijder’ aan te vinken. Daarna moet u enkel nog op de knop klikken met “Verwijder de geselecteerde spelers”, waarna de spelers zullen verwijderd worden door het systeem. U krijgt ook onmiddellijk een update te zien met de beschikbare spelers in het team.
109
Voeg een nieuwe speler toe U kon echter ook de “Voeg nieuwe speler toe”-hyperlink aanklikken. Daarna zal u op onderstaande pagina terechtkomen waarbij u nieuwe spelers kan aanstellen om toe te voegen aan uw team. U kan de gegevens invoeren en op “Registreer” klikken.
110
Team inschrijven in een nieuw seizoen U kan er ook voor kiezen om uw team in een nieuw seizoen in te schrijven. U dient daarvoor eerst een nieuw seizoen te selecteren. Alle reeds gespeelde seizoenen zullen niet getoond worden in de lijst! U zal dus enkel de niet-gespeelde seizoenen aanklikken en uitkiezen uit de lijst. U dient vervolgens “Ja” aan te klikken indien u zeker bent dat u zich wenst in te schrijven voor dat respectievelijke seizoen.
111
Logboeken Carlo Goessaert Datum
Start
Einde
Duur (u)
9/2/2010
13:30:00 15:30:00 20:00:00 21:00:00 9:30:00 21:00:00 9:30:00 13:30:00 17:30:00 20:00:00
15:30:00 17:30:00 20:30:00 22:30:00 11:00:00 21:30:00 10:00:00 17:30:00 18:00:00 20:30:00
2:00:00 2:00:00 0:30:00 1:30:00 1:30:00 0:30:00 0:30:00 4:00:00 0:30:00 0:30:00
13/02/2010
10:00:00 13:00:00
12:00:00 14:00:00
2:00:00 1:00:00
14/02/2010 15/02/2010 16/02/2010 18/02/2010
10:00:00 10:00:00 11:00:00 10:00:00
11:30:00 10:30:00 12:00:00 10:30:00
1:30:00 0:30:00 1:00:00 0:30:00
19/02/2010 20/02/2010 21/02/2010 22/02/2010
13:30:00 19:00:00 13:00:00 11:00:00 19:00:00
17:30:00 20:00:00 14:00:00 12:00:00 19:30:00
4:00:00 1:00:00 1:00:00 1:00:00 0:30:00
24/02/2010 25/02/2010
8:00:00 9:00:00
9:00:00 9:30:00
1:00:00 0:30:00
10/2/2010 11/2/2010 12/2/2010
112
Activiteit Inleiding tot het vak "Vakoverschrijdend Eindproject" kennismaking groepsleden + voorstellen projecten doornemen van het document "richtlijnen" opstellen google group, aanmaken en aanvullen spreadsheet aanvullen document "behoeftenanalyse" Installeren TortoiseSVN + aanmaken lokale repository & checkout Opzetten en configureren TortoiseSVN & VisualSVN In groep, maken van de ERD, afspraken ivm scope van het project, maken klassenmodel Feedback behoeftenanalyse Aanvullen logboek + beginnen analysedocument Analyse & Ontwerp => aanmaken document analyse & ontwerp + use case diagramman + ERD + klassendiagram Opstellen Klassendiagram + attributen & relaties + aanvullen repository Aanmaak sql script create_database en populate_database (1e versie). + aanmaak project datalaag Compass + updaten klassenmodel Databaseschema bewerken Databasescripten aanvullen Opzoeken informatie voor scraping bespreking met projectbegeleiders over de behoefteanalyse + afspraken ivm eerste iteratie + aanmaken databasediagram. Afwerken databaseschema Afwerken databaseschema + Bekijken mogelijkheden voor algoritme kalender aanmaken Aanpassen script database genereren Bekijken en bekendraken met manier van programmeren in visual studio (bll + dal) Kleine aanpassingen brengen aaan het databaseschema (enkele veldjes toevoegen + constraints + naamwijzigingen SQLscript database aanpassen (schemanaam toevoegen) + attribuut gespeeld toevoegen aan de
26/02/2010
13:00:00
17:30:00
4:30:00
19:00:00 11:00:00 14:00:00 13:30:00 15:00:00 20:00:00 13:30:00 19:30:00 10:00:00 14:30:00 19:00:00 9:00:00 20:00:00
20:30:00 12:00:00 15:00:00 15:00:00 17:30:00 23:00:00 17:30:00 22:00:00 13:30:00 17:30:00 20:30:00 11:00:00 21:00:00
1:30:00 1:00:00 1:00:00 1:30:00 2:30:00 3:00:00 4:00:00 2:30:00 3:30:00 3:00:00 1:30:00 2:00:00 1:00:00
12/3/2010 13/3/2010 16/3/2010 19/3/2010
13:30:00 14:00:00 20:00:00 13:30:00 14:00:00
17:30:00 18:00:00 21:00:00 14:00:00 17:30:00
4:00:00 4:00:00 1:00:00 0:30:00 3:30:00
23/03/2010
13:30:00 19:00:00 18:00:00 19:00:00 13:30:00 14:30:00 15:00:00 19:00:00 10:00:00 14:00:00 10:00:00
17:30:00 21:00:00 20:00:00 22:00:00 14:30:00 15:00:00 17:30:00 21:00:00 12:00:00 15:00:00 11:00:00
4:00:00 2:00:00 2:00:00 3:00:00 1:00:00 0:30:00 2:30:00 2:00:00 2:00:00 1:00:00 1:00:00
27/02/2010 28/02/2010 2/3/2010
5/3/2010 7/3/2010 8/3/2010 11/3/2010
24/03/2010 25/03/2010 26/03/2010
27/03/2010 28/03/2010
113
tabel wedstrijd Eerste klasses in java schrijven voor java swing programma + bespreking klassendiagram Mr. Schepens Aanpassen databaseschema aan nieuwe structuur en denkwijze over ploegen/spelers/seizoenen/wedstrijden Verder aanmaken klasses & interfaces java project. Startformulieren Java Compass project + DAL & BLL Powerpointvoorstelling hoe een masterproef maken Schijven uitpakken + updates installeren + java gui & DAL Verder werken aan java DAL & GUI + inputcontrole verenigingsformulier & oprichterformulier Verder werken aan DAL + inlogformulier maken Facades maken voor BLL objecten in plaats van static methodes. BLOB types integreren in ons java project voor gebruik van foto's en logo's BLOB types integreren in ons java project voor gebruik van foto's en logo's Kleine foutjes uit mainform halen in java (o.a. datum problemen) Bestuursleden tonen + aanmaken Aanmaken Stored Procedures voor verwijderen Bespreken Use Cases & contract met leerkrachten + aanmaken tablemodel voor bestuursleden + tabblad bestuursleden (use case bekijken bestuursleden) Bestuurslid toevoegen + Scheidsrechter toevoegen Aanpassen document use cases Uitleg Masterproef Use Case scenario's updaten + contract verbeteren + tableModels perfectioneren Wijzigen Bestuurslid + Wijzigen Scheidsrechter implementeren + Foto's toevoegen & wijzigen scheidsrechter, oprichter en bestuurslid implementeren Bugs oplosssen in insert en wijzigen door wijzigingen database. Wijzigen Vereniging + Wijzigen Oprichter + wijzigen foto vereniging iplementeren. ImageFilter instellen + Foto Kiezen aanpassen + Profielform Groepsgesprek + discussie over onderdelen project Bespreking Databaseschema Toevoegen + locaties + foto Toevoegen + Wijzigen locaties Use Case Printen + Mailen Use Case Paswoord Vergeten Bugs uithalen in verband met foto's inserten, updaten en tonen
14:00:00
16:00:00
2:00:00
19:00:00 13:30:00 15:00:00 15:45:00 20:00:00 14:00:00 16:00:00 13:30:00 19:00:00 20:00:00 9:00:00 13:30:00 17:00:00 19:30:00 8:15:00 18:00:00 13:30:00 19:00:00
22:00:00 15:00:00 15:30:00 17:45:00 21:30:00 16:00:00 19:00:00 15:30:00 21:00:00 21:00:00 10:00:00 17:00:00 18:00:00 21:00:00 11:00:00 20:00:00 17:45:00 21:00:00
3:00:00 1:30:00 0:30:00 2:00:00 1:30:00 2:00:00 3:00:00 2:00:00 2:00:00 1:00:00 1:00:00 3:30:00 1:00:00 1:30:00 2:45:00 2:00:00 4:15:00 2:00:00
30/04/2010
13:30:00 21:00:00
17:45:00 22:00:00
4:15:00 1:00:00
4/5/2010
13:30:00
17:45:00
4:15:00
7/5/2010
13:30:00 19:00:00 9:00:00
17:45:00 21:00:00 11:00:00
4:15:00 2:00:00 2:00:00
11:00:00 19:00:00
12:00:00 21:30:00
1:00:00 2:30:00
10:00:00 13:30:00
12:00:00 17:45:00
2:00:00 4:15:00
29/02/2010 30/03/2010
11/4/2010 12/4/2010 14/04/2010 18/04/2010 19/04/2010 20/04/2010 20/04/2010 23/04/2010 24/04/2010 27/04/2010
8/5/2010
9/5/2010 11/5/2010
114
Bugs uithalen persoon inserrten + seizoen inserten Voorbereiding Presentatie + Bugs verwijderen + testen applicatie + aanmaken 2e mainform + toevoegen listeners voor dubbelklikken Voorbereiding Presentatie 1e iteratie Presentatie 1e Iteratie Tabs 2e mainform aanmaken Aanpassingen seizoen + parameters Bekijken aanpassingen gedurende de vakantie + enkele bugs rapporteren. Facademethodes veranderen naar static + aanpassingen doorvoeren in alle forms + bugs eruithalen Rapporteren Bugs Opzoeken informatie voor mooie statistieken (piecharts, ...) Aanvullen populate Script (personen, scheidsrechters) + rapporteren bugs mainform Aanvullen populate Script (Scheidsrechtersperseizoen, bestuursleden, competities&seizoenen.) Klaarmaken programma & website voor peer testing (handleiding, bugs, ...) Peer testing Statistieken (sql query's StatistiekenDAL, Facade, PieChart, BarChart, ...) Statistieken(tabblad aanmaken + eerste statsitiekenchart tonen. Grafieken integreren in de het Statistieken tabblad StatistiekenDAL aanvullen + Klassementquery maken + KlassementTab maken Klassementsquery implementeren Statistieken inloggen implementeren + loggingdal aanmaken + database aanpassen + logging implementeren Logging implementeren Mainformscheidsrechter aanpassen + tabs scheidsrechterfrom implementeren + database updaten (nieuwe veldjes, foutjes er uit halen) Scheidsrechterformulier verder uitbouwen (gekwetsten, verdiensten, overtredingen...) + start eindverslag document Gekwetstenmodule vervolledigen Procedures toegevoegd voor inserten van gekwetsten, overtredingen en verdiensten. insert verdienste & gekwetste, delete verdienste & gekwetste zijn werkende. Update gekwetste en Update verdienste moeten nog aangepast worden Eindverslag beginnen updaten van verdiensten & gekwetsten vervolledigd + insert, update & delete overtredingen implementeren Trigger after update persoon toevoegen voor events + redundante kolom in database toevoegen +
12/5/2010 15/05/2010 19/005/2010
Totaal
115
19:30:00 10:00:00 13:00:00 18:00:00 13:30:00 20:00:00
21:00:00 12:00:00 17:00:00 20:00:00 18:00:00 23:00:00
175:30:00 Uur
1:30:00 2:00:00 4:00:00 2:00:00 4:30:00 3:00:00
statistieken per seizoen (query's schrijven) Statistieken per seizoen implementeren Werken aan eindverslag Gebruikershandleiding maken voor Java Desktop Applicatie Gebruikershandleiding afwerken werken aan het eind verslag (diagrammen, typwerk, ...) Eindverlsag afwerken + afdrukken
Siemon Geeroms datum 9/2/2010
startuur
einduur
aantal uur
13:30:00
17:45
4:15
10/2/2010
10:55
13:15
2:20
10/2/2010 12/2/2010 14/2/2010 15/2/2010 15/2/2010 15/2/2010 16/2/2010 17/2/2010 17/2/2010
20:00 13:30 14:00 12:00 14:20 19:30 17:00 10:30 19:45
21:15 17:45 15:30 13:50 15:00 20:00 18:30 11:15 20:30
1:15 4:15 1:30 1:50 0:40 0:30 1:30 0:45 0:45
19/2/2010
13:30
17:45
4:15
20/2/2010 22/2/2010
14:00 19:00
15:30 20:00
1:30 1:00
26/2/2010 28/2/2010 1/3/2010 2/3/2010
13:30 13:00 19:00 13:30
17:45 15:00 20:00 15:30
4:15 2:00 1:00 2:00
2/3/2010 2/3/2010 4/3/2010 5/3/2010 6/3/2010 7/3/2010 9/3/2010 12/3/2010
15:30 19:00 9:00 13:30 12:30 9:00 18:30 13:30
17:45 20:00 11:30 17:45 14:00 10:30 20:00 17:45
2:15 1:00 2:30 4:15 1:30 1:30 1:30 4:15
116
activiteit inleidende informatieve les en bespreking in groep over onderwerp van project opzoekingswerk android en verdere bespreking projectvoorstel +aanpassen wiki behoeften analyse bekijken svn en installeren nodige software + bekijken android sdk met kleine test classe bespreken domein, ERD en opstellen use casediagram aanmaken android project, installeren netbeans en mysql database maken van usecase scenarios + brainstormen over project opzoeken informatie EID schrijven usecase's installeren en maken oracle database maken use case scenario's opstellen ERD opstellen contract, bespreken ERD en database diagram, opzoeken layout website opstellen schript database implementeren en opzoeken algoritmen voor kalender + scraping informatie opstellen perl script ophalen informatie bespreken project en verdelen taken, oplossen problemen oracle +bespreking mer mr. Scheppens implementeren van DAL op generieke manier opstellen klassen generator voorstelling bijwonen hoe schrijf ik een eindwerk aanpassen implementatie dal + het controleren en updaten van de verkregen schijven herschrijven persoondsal ASP aanmaken business objecten in ASP en aanpassen persoonsDAL bespreken functies website/desktop app + aanpassen persoonDAL JAVA aanpassen forms JAVA eerste implementatie algorithmen kalender generatie verder werken perl script verder werken aan kalender algorithmen + perl script
13/3/2010 14/3/2010
14:00 13:00
16:00 14:00
19/3/2010 24/3/2010 26/3/2010 27/3/2010 28/3/2010
13:30 18:30 13:30 12:00 12:00
17:45 19:30 17:45 17:00 17:00
30/3/2010 2/4/2010
13:30 13:30
17:45 17:45
3/4/2010
14:00
17:00
4/4/2010
14:00
15:30
4/4/2010
15:00
16:00
6/4/2010 9/4/2010
12:00 16:00
16:00 18:00
11/4/2010
14:00
15:30
11/4/2010 11/4/2010
19:30 12:00
20:30 12:15
12/4/2010
18:00
19:00
12/4/2010
19:00
19:30
12/4/2010
19:30
20:30
13/04/2010
13:00
17:00
13/04/2010
19:00
19:15
117
2:00 aanmaken formulier voor het genereren van de kalender 1:00 verdere implementatie formulier uitleg masterproef + aanmaken populatie script voor database +verder 4:15 werken kalender algorithmen 1:00 verder werken formulier voor kalender generatie 4:15 bespreken invoegen wedstrijden + aanpassen kalender algorithmen 5:00 Locaties toevoegen aan kalender + schrijven insert procedures 5:00 DALs java aanpassen aan het gebruik van procedures presentatie eerste iteratie + aanpassen DBfacade voor gebruik procedures 4:15 ASP 4:15 pc voorbereiden op 2de voorstelling + oplossen enkele bugs Form aanmaken zodat het mogelijk is om alle gebruikers aan te passen via 3:00 1 dezelfde form maken procedure voor het verifieren en het inloggen van de gebruiker te 1:30 vergemakkelijken+ mogelijk maken preview van de gekozen afbeelding en deze toevoegen 1:00 aan alle formulieren. het omzetten van JFrame naar JDialogs voor de meeste formulieren en het model van de JTables aanpassen voor het weergeven van scheids en 4:00 bestuursleden 2:00 fout opvang voorzien bij kalender generatie en verdere uitwerking hiervan script perl aanpassen van spelers zodoende dat deze direct worden gelinkt 1:30 met een team ophalen afbeeldingen aparte thread vodoende det deze het programma 1:00 niet vertragen 0:15 aanpassen parameter klasse asp voor procedures mogelijk te maken. de verschillende forms aanpassen aan het tonen van de figuren met de 1:00 nieuwe methode opkuisen ven de procedures in db en plaatsen in een apart sql script om 0:30 fouten te voorkomen wijzigen die aan de persoon gegevens worden gedaan worden niet direct 1:00 toegepast enkel bij bevestiging vooral belangrijk bij het oploaden van foto revisie van perl script voor scrapen spelers, er wordt nu gebruik gemaakt van een andere wedsite dan wiki om uniform te zijn over de gehele lijn, ook 4:00 worden de locaties van de verschillende teams ook toegevoegd extra kolom "positie" toegevoegd aan de tabel spelers zodat de positie van 0:15 de speler kan bewaard worden.
14/04/2010 14/04/2010
11:00 12:30
12:30 12:45
14/4/2010
13:30
15:30
17/04/2010 17/04/2010 17/04/2010
8:00 10:00 10:45
10:00 10:30 11:15
17/04/2010
18:00
18:40
19/04/2010 20/04/2010 23/04/2010
19:00 13:30 13:30
20:30 17:45 17:45
25/04/2010 27/04/2010
10:00 13:30
13:00 17:45
28/04/2010
19:00
19:30
30/04/2010 4/5/2010 5/5/2010
13:30 13:30 11:30
17:45 17:45 12:00
6/5/2010
9:00
11:00
7/5/2010 8/5/2010
13:30 14:00
17:45 15:00
9/5/2010
14:00
14:30
10/5/2010
12:30
14:30
10/5/2010
15:30
16:00
11/5/2010
13:30
17:45
118
functionaliteit toevoegen aan kalender generatie zodat de teams worden 1:30 toegevoegd aan de wedstrijden 0:15 objecten laten lazy loaden zoals het locatie object bij wedstrijden toevoegen formulier voor spelers overzicht per team met details als ook de 2:00 nodige Speler domein oject model als DAL klasse het wedstrijd object aanpassen zodat deze een array bervat van teams als 2:00 ook kalender generatie aanpassen zodat deze worden opgevuld. 0:30 imigreren van dbserver naar een internet server voor test doeleinden 0:30 aanmaken procedure voor het inserten van wedstrijden in de db wedstrijdtab uitgebreid met de mogelijkheid de wedstrijden weer te geven 0:40 van een specifiek team enkele bugs uit het programma halen dat voorkomen bij het tonen van 1:30 foto's en wedstrijden 4:15 deployment voor 2de iteratie + peer testen andere groepen 4:15 uitstap mogelijkheid toevoegen voor het laden en opslaan van de instellingen van 3:00 de kalender generatie 4:15 scheidsrechters toevoegen aan de wedstrijden via de kalender generatie kalendergeneratieform gebruiksvriendelijker maken door automatische 0:30 selectie van bepaalde elementen toe te voegen mogelijk maken aanpassen parameters van seizoen + email formulier 4:15 toevoegen voor het versturen van emails 4:15 opvangen van fout bij het toevoegen van wedstrijden+ verbeteren fout in db 0:30 sha versleuteling toepassen op perl script data procedure schrijven voor het toevoegen van gescrapte afbeeldingen 2:00 moglijk maken aanpassingen layout + oplossen probleem weergeven figuur + aanmaken 4:15 triggers 1:00 fouten uit de db scripts halen + problemen oplossen ivm relaties in db procedure insert_image aangepast zo dat men geen 2 dezelfde 0:30 afbeeldingen in de db kunnen inserten algorithmen uitschrijven toevoegen teams voor tornooi + refactory kalgen 2:00 classe oplossen probleem incorrect weergeven van tijd in de eventDAL + datum 0:30 format aanpassen kalender generatie form aanpassen zodoende de locatie per speeldag kan 4:15 gekozen worden +tabel aanpassen wedstrijden tab zodat wedstrijden op
12/5/2010
9:00
9:30
0:30
13/5/2010 14/5/2010
10:00 10:00
12:00 11:00
2:00 1:00
14/5/2010
18:00
18:30
0:30
15/5/2010
11:30
15:30
4:00
16/5/2010
12:30
15:00
2:30
17/5/2010
13:45
18:00
4:15
totaal aantal uren
119
169:45:00
gespeeld gezet kunnen worden kalendergeneratie form aanpassen zodat er enkel met de geselecteerde teams een kalender wordt opgesteld + aanpassen tabwedstrijden zodat ook enkel de geselecteerde teams verschijnen in dropdown details tonen team + locatieform en tabel aanpassen zodat deze los van locatietab kan gebruikt worden + dit ook voor nieuwseizoenform + van alle DAL statische klasses maken aanmaken filter voor de eventstabel oplossen probleem weergeven wedstrijden op main scheidsrechter formulier aanmaken triggers+ methodes voor archivereren van seizoen; competitie en scheidsrechters + filteren op gearchiveerde seizoen en competities mogelijk maken opvangen van fout indien er geen db connectie is + archiveren vorige seizoenen indien er een nieuw seizoen wordt aangemaakt + disablenen van formulier indien het seizoen is gearchiveerd + schrijven persoonlijke opinie project bespreken algoritmen + oplossen kleine foutjes scrap script + deployen van opstelling + aanpassen populatie sql script met recente gegevens
Roeland Andelhofs Dag
Beginuur Einduur Totaal 2/9/2010 13:30:00 15:30:00 2:00:00 15:30:00 17:45:00 2:15:00 2/10/2010 12:15:00 13:20:00 1:05:00 19:30:00 20:00:00 0:30:00 20:45:00 21:20:00 0:35:00 2/12/2010 13:30:00 16:45:00 3:15:00 2/20/2010
7:45:00
9:30:00
13:00:00 15:00:00
14:30:00 16:00:00
2/22/2010
18:30:00 21:00:00
20:00:00 22:00:00
2/26/2010
13:30:00 23:00:00 14:00:00 17:00:00 13:30:00 14:00:00 14:40:00 18:00:00 13:30:00 15:00:00 21:30:00 13:30:00 13:30:00 15:30:00 11:00:00
17:45:00 23:30:00 15:00:00 18:00:00 14:00:00 14:40:00 15:00:00 18:30:00 15:00:00 17:45:00 22:30:00 17:45:00 15:30:00 17:45:00 12:00:00
2/27/2010 3/1/2010
3/2/2010
3/5/2010 3/12/2010 3/13/2010
120
Beschrijving Inleiding tot het vak "Vakoverschrijdend Eindproject" kennismaking groepsleden + voorstellen projecten Wiki aanvullen met behoefteanalyse + bespreking behoefteanalyse installeren Visual Studio, TortoiseSVN, VisualSVN en Altova UModel Opzetten en configureren van de code repositories In groep: maken van de ERD, afspraken ivm scope van het project maken
1:45:00 achterstand inhalen door wiki te lezen, klassendiagram door te nemen, ERD te bekijken Herhalen 3-lagen structuur voor de opbouw van het project + bekijken van voordelen en nadelen van 1:30:00 de verschillende manieren van communicatie tussen de verschillende lagen 1:00:00 Bekijken voorbeeld DAL en BLL Bekijken hoe de 3-lagen structuur in Java kan ingezet worden. + Eventhandling en 1:30:00 methodeoproepen 1:00:00 testen JDBC: connectie maken, drivers downloaden Bespreking aanpak van schrijven van klassen + eerste DAL en singleton voor database-access 4:15:00 maken + Bepreking model met Mr. Schepens 0:30:00 Eerste Java Swing form toegevoegd aan het project 1:00:00 Aanpassen DBFacade + uitwerken DAL Java project 1:00:00 DAL Verenigingen volledig afgewerkt + Unit test geschreven 0:30:00 Error: geen tekst meer in java Forms 0:40:00 TeamDAL implementeren 0:20:00 Codefragment toegevoegd om vereniging aan DB toe te voegen 0:30:00 Doorgeven van data tussen 2 forms en verwerking van een nieuwe vereniging 1:30:00 Powerpoint presntatie over het schrijven van het eindproject 2:45:00 Testen deployment PC's + schrijven DAL voor Oprichter van de vereniging 1:00:00 Aanpassen van oprichter dal naar persoon dal om meer generisch te kunnen werken 4:15:00 scraping van ploegen en spelers in eerste klasse voetbal 2:00:00 scraping spelers en ploegen eerste klasse voetbal 2:15:00 SeizoenDAL aanmaken, WedstrijdDAL aanmaken 1:00:00 CompetitieDAL aangemaakt
13:00:00 22:30:00 15:30:00 18:00:00
16:00:00 23:15:00 17:30:00 20:00:00
3:00:00 0:45:00 2:00:00 2:00:00
3/25/2010 3/26/2010
13:30:00 19:30:00 13:30:00 16:30:00 13:30:00 19:00:00 20:45:00 21:15:00 13:30:00
17:45:00 20:30:00 14:30:00 18:00:00 17:45:00 20:00:00 21:45:00 22:20:00 15:00:00
4:15:00 1:00:00 1:00:00 1:30:00 4:15:00 1:00:00 1:00:00 1:05:00 1:30:00
3/29/2010
15:00:00 20:30:00
17:45:00 21:30:00
2:45:00 1:00:00
4/2/2010
13:30:00
17:45:00
4:15:00
4/4/2010
14:00:00 20:45:00 10:30:00 12:30:00 16:00:00 10:15:00 12:45:00 14:45:00 19:30:00 20:00:00 14:00:00 19:15:00 19:45:00
15:00:00 21:15:00 12:00:00 15:30:00 17:00:00 12:00:00 13:15:00 15:15:00 20:30:00 21:00:00 16:00:00 19:45:00 20:00:00
1:00:00 0:30:00 1:30:00 3:00:00 1:00:00 1:45:00 0:30:00 0:30:00 1:00:00 1:00:00 2:00:00 0:30:00 0:15:00
3/16/2010 3/17/2010
3/19/2010 3/20/2010 3/23/2010
4/5/2010
4/6/2010
4/14/2010 4/18/2010 4/19/2010
121
Seizoen: DAL, Facade Wedstrijd: DAL Team: DAL Competities weergeven in het verenigingsscherm Competities weergeven in het verenigingsscherm + competities toevoegen Competities weergeven in het verenigingsscherm + competities toevoegen Verder implementeren Java Project: weergave van competities en seizoenen in de verschillende competities. Aanpassen en toevoegen competities Aanpassen en Toevoegen Seizoenen Weergeven van teams in een seizoen Weergave voor Competities en Seizoenen na toevoegen afgewerkt Competities ophalen in een thread Kalender generatie koppelen aan het bestaande project dummy wedstrijden toevoegen aan database na generatie van kalender Vergadering in groep over standaardistatie van gui elementen + DB model nog eens overlopen Kleinere aanpassingen tot een betere structuur in het programma + Wedstrijden per ploeg weergeven bij het seizoen Samen met Carlo afspraken gemaakt over de presentatie van 30/03/2010 Wedstrijden in een seizoen weergeven + oplossen van bug: sommige form verdwenen naar de achtergrond Verdwenen tekst en icoontjes terug geplaatst + wedstrijdtab aangepast zodat deze kon gebruikt worden in het 2e form Verder afwerken wedstrijden weergeven oude panels omvormen naar panelforms om te kunnen gebruiken in 2e hoofdvenster tabs van het hoofdvenster in aparte files zetten voor meer overzicht Verantwoordelijken van de teams in een seizoen worden weergeven alle statements en resultsets gesloten Verdere uitwerking van het sluiten van de statements en resultsets Status van een ploeg in een seizoen tonen oprichter in Oprichter-object gestoken + team weigeren in een seizoen Screenshots maken en begin van de handleiding Handleiding schrijven Handleiding afwerken Foutje met distributie van de jar file
4/20/2010
13:30:00 15:30:00
15:30:00 17:45:00
4/21/2010
21:30:00
22:00:00
4/27/2010 4/29/2010
13:30:00 20:30:00
17:45:00 21:55:00
4/30/2010
13:30:00 19:30:00 11:00:00 13:30:00 21:00:00 21:30:00 21:30:00 13:30:00 18:30:00 20:00:00 13:30:00 12:00:00 14:00:00 20:00:00
17:45:00 20:30:00 12:30:00 17:45:00 21:30:00 22:30:00 21:50:00 17:45:00 19:15:00 20:30:00 17:45:00 13:30:00 18:00:00 20:20:00
5/2/2010 5/4/2010
5/5/2010 5/7/2010 5/9/2010 5/11/2010 5/15/2010 5/17/2010
totaal
122
2:00:00 Deployment op klas PC's 2:15:00 Peertesting groep 9 en 13 Begin van scheidsrechtermodule schrijven, een nieuw hoofdformulier aangemaakt en controle van 0:30:00 het gebruikerstype Scheidsrechtermodule: wedstrijden per scheidsrechter weergeven 4:15:00 bugfix: eerste rij in grids van competitietab standaard selecteren 1:25:00 toevoegen scores en verslag aan wedstrijden Scheidsrechterformulier: nieuw design + toevoegen scores, verslag + spelers per team per wedstrijd 4:15:00 ophalen voor verdiensten 1:00:00 error op seizoenfilter voor scheidsrechter 1:30:00 error op seizoenfilter voor scheidsrechter 4:15:00 VerdienstenDAL + verdiensten toevoegen en weergeven 0:30:00 Verdiensten afgewerkt 1:00:00 Gelogde events tonen in het MainFormulier 0:20:00 Fout uit EventLoggingDAL gehaald, events worden nu deftig weergeven in het MainFormulier 4:15:00 Probleem met wedstrijdgrid van scheidsrechter opgelost + overtredingen toevoegen aan wedstrijden 0:45:00 overtredingen toevoegen afgewerkt + globale UI verbeteringen 0:30:00 Kleine bugs in ScheidsrechterwedstrijdTableModel opgelost 4:15:00 Scheidsrechters: wedstrijden weigeren en accepteren + installer maken 1:30:00 Handleiding voor de scheidsrechter schrijven 4:00:00 UML diagrammen maken, installer maken, kleine bugs uit java project halen 0:20:00 installatie handleiding schrijven
125:35:00
Roy Van Coillie Datum
Start
Eind
Duur
Taak
9 februari 2010
13u30 15u30 21u00 22u30 12u45 19u30 18u30
15u30 17u45 22u30 22u45 13u15 20u30 19u
2 2,25 1,5 0,25 0,5 1 0,5
13u30 17u30 10u00
17u30 18u00 12u00
4 0,5 2
13u00
14u00
1
14u00
14u30
0,5
14 februari 2010 15 februari 2010 16 februari 2010 17 februari 2010 19 februari 2010
18u00 12u30 13u30 9u30 13u15
18u45 13u30 15u30 10u00 17u45
0,5 1 2 0,5 4
20 februari 2010
12u30
13u00
0,5
13u00 13u30 13u45 16u00
13u30 13u45 16u00 17u00
0,5 0,25 2,25 1
Uiteenzetting van het project Brainstormen over project richtlijnen doornemen + opstellen documentatie + opstellen logboek gmail en google group verkennen + configuratie behoeftenanalyse bekijken en code project raadplegen ToirtoiseSVN installeren + onderzoek voor het opzetten van een SVN-project Aanpassen welkomstbericht op de groep + documentatie doornemen voor het opzetten van de SVNverbinding + downloaden en installeren van benodigde software om de verbinding te leggen Groepssamenkomst, ERD opmaken, scope-afspraken, klassenmodel opstellen Feedback behoeftenanalyse Aanvullen logboek + uitwerking van verschillende sportideeen (basketbal, voetbal en wielrennen) + voorstel in de groep indienen voor aanpassing klassenmodel + aanpassen behoefteanalyse Use-casediagram opstellen + document opstellen met seizoensgebonden parameters en document met structuuroverzicht + trunk instellen op de laptop Aparte use-case diagrammen opslaan als afbeelding en opnemen in de repository + voorstellen indienen op het discussieforum voor bepaalde projectaanpassingen Androidplugin installeren en bekijken + repository updates lezen en bekijken heropfrissen WCF-structuur voor n-layered architecture+ Opzetten van websitestructuur in de repository Klassendiagram aanmaken Databaseschema aanmaken voor een deel bespreken klassenmodel en aanpassingen doorvoeren + verbeteren ERD + bespreking met projectbegeleiders over de behoefteanalyse + webapplication - css template zoeken Korte herhaling ASP.NET projecten + duidelijke uiteenzetting zoeken op internet van de standaard implementatie van de n-layered architecture voor software round robin bekijken + How to make schedules (UC Berkeley scheduling guide) naming convention op het discussieforum plaatsen. Voorbeeld aanmaken van de BLL - DAL laag voor vereniging Nieuwe tablespace aanmaken + user + default tablespace aanduiden + sql-script uitvoeren voor initiële
10 februari 2010 11 februari 2010 12 februari 2010 13 februari 2010
123
23 februari 2010 26 februari 2010
17u00 17u15 12u00 13u30
17u15 17u30 12u30 17u45
0,25 0,25 0,25 4,25
27 februari 2010 28 februari 2010
13u15 14u30
14u15 15u30
1 1
2 maart 2010
13u30 15u30 18u00
15u30 17u30 20u00
2 2 2
20u00 20u00 22u00
22u30 21u00 23u00
2,5 1 1
13u15 15u30 15u45 9u45 18u00
15u15 15u45 17u45 10u00 20u30
2 0,25 2 0,25 2,5
12 maart 2010
20u00 20u15 13u15
20u15 20u30 17u45
0,25 0,25 4,5
16 maart 2010
21u00
21u15
0,25
4 maart 2010
5 maart 2010
6 maart 2010 8 maart 2010 9 maart 2010
124
testversie vreemde fout bij uitvoeren van oracledatareader Overlezen presentation layer guidelines Updates van de groep lezen + klassendiagram updaten (toevoegen van gemeente voor zaal en persoon) Herstellen en converteren van orcl naar xe om een uniforme naamgeving te bekomen + samenhokken met mr. Schepens om een generisch model te bespreken Aanpassen van het databankschema (naamgeving optimaliseren) Java-project, aanpassen van verenigingDAL tot een singleton-klasse. Bekijken andere code + hernoemen van de packages (persistentie, domein) + bespreken met carlo over kleine functionaliteiten die nog tot het programma moet behoren Bespreking door mevr. Leen Pollefliet over schrijven, van verslag tot eindwerk Problemen met de autogegenereerde klassencode. Herwerken van programma naar vorige versie wegens problemen met de generieke klassengenerator. Ook de DAL-klassen terug herwerken naar een vorige versie. + Overschakelen naar de express edition van oracle wegens problemen bij de full-personal-edition-installation. Problemen met de connectie proberen op te lossen Multiboot aanmaken en opnieuw opstellen van projectomgeving Nieuwe Facades aanmaken + nieuwe DALklassen opstellen voor de ophaling van Competities + een algemene opmaak voorzien in style.css en een thema aanmaken. Ook de masterpage updaten tot een model met header, content, navBar en footer Uitwerken van layoutmodel met masterpages, footer, header, content. Weergave van vereniging. Bespreking rechten en rollen en mogelijkheden Ophalen van Competities, nog probleem bij de overerving (liga, tornooi) Kleine layout aanpassingen doorvoeren voor de weergave van de site Ophalen en weergeven van competies (zowel ligas als tornooien), en ook hun onderlinge seizoenen ophalen bij het selecteren van een bepaalde item AjaxControlToolkit installeren Tabpane voorzien in project + rounded corners Wedstrijden ophalen +extra DALfunctionaliteit aanmaken. Seizoen ophalen en lazy load voor teams, wedstrijden, etc voorzien, bespreken use cases, aanpassen use cases. Nieuwe use cases aanmaken en de bestaande verbeteren. Voorstelling bijwonen over erasmus visual studio project debuggen => enkele syntaxfoutjes wegnemen die er vrijdag ingeslopen waren +
17 maart 2010 19 maart 2010
20u00 13u15
20u30 17u45
0,5 4,5
20 maart 2010
12u45
13u45
1
21 maart 2010
19u30 21u00
21u00 22u00
1,5 1
22 maart 2010
22u30 20u00
23u00 22u00
0,5 2
23 maart 2010
22u00 13u15
22u45 17u45
0,75 4,5
24 maart 2010
17u00
17u30
0,5
19u00
20u00
1
21u00 22u00
22u00 22u30
1 0,5
18u30
19u30
1
27 maart 2010
20u00 13u30 14u30 16u00 14u30
20u45 14u30 15u30 17u45 16u00
0,75 1 1 1,75 1,5
28 maart 2010
13u30
14u30
1
25 maart 2010
26 maart 2010
125
enkele code-aanpassingen (typecasts en dergelijke) redesign website - crucial positioning + navigation website verder implementeren, databankschema aanpassen, sqlgeneratiescript aanpassen (inserts van verenigingen voor competities etc, testdata voor website) + weergave van seizoensinformatie (teams, wedstrijden mbv lazy load, seizoensinformatie) Ophalen competitieById, Session-objecten voor huidige competitie/seizoenen, aanpassen seizoen en competitie gridview maken voor weergave van teams bij het geselecteerde seizoen. extra klasses toevoegen (locatie) + nieuwe attributen toevoegen aan bestaande klassen met de nodige lazy load eigenschappen (vb verantwoordelijke voor team, ...) Oplossen foutje bij weergave team Aanvang van de pagina RegistreerTeam, controlopbouw, clientside controles op invoer (javascript), ajaxextensions Aanvullen use cases + controleren Aanpassen Teamregistratie + bespreken accountlogin spelers - ploegverantwoordelijke + collapsiblepanels Calendarchooser + updatepanel voor asynchrone postbacks in registreer team+ ophalen en weergeven van gemeenten Ombouwen van bestaande designmodule naar 'holy grail no quirks', een eigen implementatie gebaseerd op nevenstaande link implementatie fotoklasse + aanvang van ploegregistratie (code-behind, DAL, Facade) aanmaken van locatiefacade + DAL klassen aanpassen (enkele insertstatements) + code-behind bij RegistreerTeam.aspx geschreven voor het klikken op de Registreerknop Toevoegen locatiedal + insertlocatie + insertpersoon + fotodal aanpassen + toevoegen van codering naar sha256 in de persoonsklasse (static method) alle code geschreven voor registreren van team groepsvergadering over functionaliteit en werkzaamheden bespreken dbschema debuggen en aanpassen functionaliteit teamregistratie voor seizoen Aanmaken stored procedures (insertteam, insertpersoon, insertfoto, insertlocatie) + ombouwen code naar stored procedurecompatibel Zoeken naar fout van stored procedures en oplossen
21u00
22u30
1,5
9u00 9u15
9u15 9u30
0,25 0,25
2 april2010
19u00 13u30 15u00 15u15 13u30
20u30 15u00 15u15 17u45 17u45
1,5 1,5 0,25 2,5 4,25
4 april2010
22u00 11u00
23u00 12u00
1 1
9 april2010
17u00
18u00
1
10 april2010
15u00 16u00 16u00 16u30 17u00 18u00
15u30 17u00 16u30 17u00 18u00 20u00
0,5 1 0,5 0,5 1 2
12 april2010
18u00
19u30
1,5
13 april2010
11u30 14u00 16u00 16u15 16u30 13u45 15u00
12u00 16u00 16u15 17u00 18u00 14u45 16u00
0,5 2 0,25 0,75 1,5 1 1
29 maart 2010
30 maart 2010
11 april2010
14 april2010 16 april2010
126
stored procedure research + debugging van insertverantwoordelijke (team, persoon, ...) + installeren SP1 + zoeken hoe T-sql debugging te doen in visual studio adding navbar Aanmaken enkele nieuwe pagina's (ploegenoverzicht, speleroverzicht, welkompagina) + aanpassingen aan masterpage en navbar debugging webapp + controleren correcte werking Voorbereidingen treffen voor de presentatie + concrete afspraken presentatie debugging + aanpassing web usability + controleernaamvanteam Herstellen procedure GetTeamsInSeizoenNaam (werkt nu) + welkomstpagina aanpassen + lokalisatie bestuderen in asp.net Localisatie geslaagd voor engels, frans en nederlands in de verenigingspagina op vier labels Vertalen van de verenigingspagina + voorzien van teamsgridview van degelijke opmaak, selectfield + link naar ploegdetail, met invulling van id in querystring +paging in gridview Registreerteam klaarmaken met code in code-behind en aspx voor vertaling + toegepast in het nederlands Opstellen van enkele schermschetsen en logische structuur om wegwijs te geraken in nieuwe pagina's Vertalen van RegistreerTeam naar engels en frans + test Vertalen van de masterpage + toevoegen van pagina's en overzicht links opstellen (papier) Wedstrijd aanpassen + wedstrijdengridview toevoegen Aanpassen Ploegdetail (nu met javascript om pagina op te roepen die details weergeeft) Wedstrijd, wedstrijdfacade, wedstrijddal, team, teamfacade, teamdal, ploegdetail, verenigingspagina aanpassen voor weergave van teams in gridview en weergave spelers in gridview PloegDetail aanpassen + nullpointer uit DALklassen verwijderen (DataTable == null en niet DataTable.Rows.Count == 0) Spelergegevens weergeven in ploegdetail PloegDetail afwerken + linken naar spelerdetail + weergeven van spelergegevens in spelerdetail Vertaling van de pagenotfound werken aan pasaccountaan + bevestigingsscript opstellen in code-behind + analyse pasaccountaan Vertalen + klaarzetten van volledige functionaliteit voor PasAccountAan PasAccountAan voorzien van functionaliteit (UpdateSpeler, UpdatePersoon) WijzigPloegPagina aanmaken => aspx-pagina klaarzetten (gui) + aanpassen connectie naar server en
16u00 13u00 15u00
16u45 13u15 15u45
0,75 0,25 0,75
19 april2010
15u45 16u15 18u00
16u15 16u30 19u00
0,5 0,25 1
20 april2010
20u00 13u30
21u00 17u45
1 4,25
22 april2010 27 april2010
17u00 13u30
18u30 17u45
1,5 4,25
30 april2010
13u30
17u45
4,25
4 mei2010
8u00
8u30
0,5
8u30
9u00
0,5
13u30
15u30
2
7 mei2010
15u45 13u30
17u45 17u45
2 4,25
10 mei2010
20u00
20u45
0,75
17 april2010
127
onderzoeken waarom geen wedstrijden getoond worden verderwerken wijzigploeg + lazy load team verantwoordelijke Foutje bij het weergeven van wedstrijden opgelost UpdateTeam implementeren + voorzien van pagina met interactiviteit en bevestigingen voor OK en Cancel knoppen + vertalingen verder implementeren exploring the possibilities van een dragpanel dragpanel fixed Installer aanmaken voor webapplicatie + testomgeving opzetten op pc (downloaden en installeren XEClient, ODP.NET, installeren van IIS, etc) opstellen van handleiding voor de webapplicatie Testomgeving website klaarzetten (appel en botticelli) + Opstellen vragendocument + tests voor runnen + evalueren andere groepsprojecten zoeken naar oorzaak van het niet pagineren van de gridview + Wijzigploeg aanpassen Korte bespreking todo + aanpassingen + PersoonEmail uniek methode aanmaken en controle op de gepaste momenten inlassen + helpen met polet aan integratie met login + image weergeven bij ploegdetail (howto) Overleggen met matthias polet voor het weggooien van de asp.net membershipprovider en een eigen implementatie te voorzien + korte bespreking met Carlo over de statistieken + implementeren van functies GetPersoonByEmail en GetPersoonByLogin + verderwerken aan PasAccountAan + Wijzigploeg (voorzien van deleteSpelermethode en interactie met inloggen) Fout uitzoeken in PasAccountAan (te overleggen met matthias vanmiddag) + aanpassingen in PloegInschrijven in nieuw seizoen Tagging onderzoeken + onderzoek naar controleboxen (clientside) die toch de resources kunnen ophalen om taalafhankelijke boodschappen weer te geven Overleg met matthias polet over de login + aanpassen van loginpagina en aangrenzende functionaliteit en pagina's + opzoeken 'how to run clientside scripting from serverside' en een oplossing voor de confirmationboxes zoeken ploeginschrijven in nieuw seizoen aanpassen + helpen bij polet bij wijzigploeg Helpen bij klassement ingeven op de website (met Carlo) + wedstrijden naar datatable overhevelen om pagineringsfout proberen op te lossen. + correcte wedstrijdweergave met teamnamen verwezenlijken + foto weergeven onderzoeken Oplossen probleempje met registreerTeam (invalid attribute + connstring nakijken + bepaalde refs updaten)
11 mei2010 13 mei2010
14 mei2010
16 mei2010
17 mei2010
Totaal
128
20u45 14u00 14u30 14u00
21u30 14u30 17u45 16u30
0,75 0,5 3,25 2,5
16u30 18u00
17u30 19u00
1 1
10u30 11u30 13u00 13u45 15u30 17u00 18u00 19u30 20u30 22u00
10u45 12u00 13u45 14u30 17u00 17u15 19u30 20u30 22u00 23u00
0,25 0,5 0,75 0,75 1,5 0,25 1,5 1 1,5 1
11u30 12u30
12u00 13u30
0,5 1
19u30
23u00
3,5
23u00 23u30 8u00
23u30 00u15 10u00
0,5 0,75 2
14u00
18u30
4,5
174
Foto weergeven bij team + enkele webapptests doorvoeren (try-click) Aanpassen loginpagina + bug zoeken omtrent wijzigploeg (af)Werken Wijzigploeg-pagina + maxaantalteams toevoegen aan seizoen controleren in de businesslogic De nieuwe statistieken een plaatsje op de site geven + error oplossen (illegal variable name/number) + foto wijzigen bij wijzigploeg implementeren + boodschappen voorzien voor lege gridviews Dossierstukje schrijven + nalezen op fouten van de rest van het dossier Refactoring van de domeinklassen - uniforme naamgeving + regions aanmaken + nakijken van namespaces + ??!! typfouten verbeteren ??!! + opkuisen van de domeinklassen Overlopen van de facadeklassen op mogelijke veranderingen of verbeteringen Zoeken naar een oplossing om de automatisch gebonden kolomnamen taalafhankelijk te maken Verderzetten om taalgebonden kolomnamen aan te passen + in de opzet slagen ;-) Logging in de desktopapplicatie bekijken zodat we een uniforme werkwijze UpdateFoto en toevoegen van loggingboodschappen Parameterdal verwijderen + verwijzingen ernaar uit het programma opsporen en weghalen PloegInschrijvenInNieuwSeizoen implementeren Vreemde fout uitpluizen omtrent using Oracle.DataAccess.Client; en using System.Data.OracleClient; Fout oplossen + testen wijzigploeg (updatefoto) en InschrijvenInNieuwSeizoen => oplossen fouten/bugs Aanpassingen doorvoeren voor zaken die over het hoofd gezien werden (specifiek: archivering van bepaalde items en hun uitwerking op de applicatie) Paging voorzien in ploegdetail Schoonheidsfoutjes oplossen (scorekolom aanmaken, gespeeld als checkbox, nog een nullpointer opvangen, ...) Handleiding voor de webapplicatie opstellen + bekijken java handleiding + nakijken addspeler en wijzigploegverantwoordelijke In de resourcefiles alle verwijzingen naar ploeg wijzigen naar team Na het veranderen van ploeg naar team, moeten ook enkele screenshots veranderd worden Volledige structuur analyse en ontwerp stuk vastleggen + schrijven van requirements, use case scenario's + diagrammen + architectuur, code-organisatie, rollen, etc ... + voorleggen aan carlo TODO's vanmiddag werken aan dossier (klassendiagrammen genereren, laatste hand project, ...)
Matthias Polet Datum
Start
Einde
Taak
Duur
9 februari
13u30 15u45 19u45 21u00 13u30 15u45 19u45 21u00
15u30 17u45 20u15 22u30 15u30 17u45 20u15 22u30
infosessie project kennismaking + behoeften analyse richtlijnen doornemen logboek maken + opstellen documentatie infosessie project kennismaking + behoeften analyse richtlijnen doornemen logboek maken + opstellen documentatie
2u00 2u00 0u30 1u30 2u00 2u00 0u30 1u30
10 februari
12u45
13u15
behoefteanalyse
0u30
12 februari
13u30 17u45
17u45 18u00
ERD, klassendiagram, bespreking scope van het project Feedback behoeftenanalyse
4u15 0u15
15 februari
17u45
18u30
ERD digitaal maken
0u45
16 februari
14u30
16u30
Installatie netbeans/visual studio
2u00
19 februari
13u30 15u30 16u00
15u30 16u00 17u45
practische afspraken maken + kleine taakverdeling bespreking met projectbegeleiders over de behoefteanalyse afspraken ivm prototype
2u00 0u30 1u45
20 februari
14u30 15u40
15u30 16u50
1u00 1u10
18u00
19u00
informatie opzoeken openID lijst maken functionaliteit + wiki up daten + behoefteanalyse aanpassen prototype doelstellingen opstellen + informatie opzoeken openID + inleiding schrijven dossier/template maken + logboek aanvullen
24 februari
21u00
22u00
afwerken contract
1u00
25 februari
13u30
17u45
laptop problemen + bespreking contract met begeleiders + aanpassen contract + herbekijken ontwerp
4u15
129
1u00
27 februari
20u00
21u00
kleine aanpassingen wiki
1u00
02 maart
13u30 15u45 18u00
15u30 17u45 23u00
bespreking masterproef BLL klassen asp.NET aanmaken BLL klassen asp.NET aanmaken + probleem DB connectie (DBFacade)
2u00 2u00 4u30
05 maart
13u30
17u45
duidelijke afspraken taken van actoren; opsplitsing desktop applicatie/webapplicatie; begin implementatie openID: dll bestand toevoegen; voorbereidend werk
4u15
AjaxControlToolkit installeren,Nieuwe use cases aanmaken, bestaande verbeteren. Uitleg erasmus.
4u15
13 maart
13u30
17u45
15 maart
21u15
1u15
OpenID: proberen inloggen met openID zonder registratie in afzonderlijke applicatie probleem met references; Contact met OP werkt, maar callback niet Download + instal SP1; Visual Studio Team System 2008 Database Edition GDR R2
4u00
19 maart
13u30
17u45
inloggen openID werkt in apparte applicatie maar niet met Oracle
4u15
20 maart
10u30 13u10 14u40
11u45 14u30 17u25
voorbereidend werk inloggen: forms aanmaken test methode maken voor het ophalen van personen login implementeren: validatie; verificatie van velden (geen gebruik van "echte" databank) auth tickets, redirectoring
1u15 1u20
Voorlopig oracle db negeren, openid in SQL server, werken met membership provider (ook in SQL server)
2u45
23 maart 2010
13u30
17u45
26 maart 2010
13u30 14u30
14u30 15u30
15u30
17u45
afspraken maken voor presentatie 1u00 alle openid's toelaten op de site 1u00 proberen tutorials toe te passen om de sql db naar oracle te migreren, geen goeie informatie die onze db (oracle xe) ondersteund 1u15
14u00 18u00
15u00 19u00
Voorbereiding presentatie op papier inoefenen presentatie
29 maart 2010
130
4u15
1u00 1u00
30 maart 2010
13u30 15u00 15u15
15u00 15u15 17u45
Voorbereiding presentatie presentatie Verder zoeken naar een oplossing voor een oracle membership provider
1u30 0u15 0u15
2 april 2010
13u30
17u15
Sql server scripts vertalen naar oracle scripts
4u15
20 april 2010
13u30
17u45
oracle membership tabellen aanmaken (+ nodige aanpassingen in provider, sommige naamgevingen gelden niet in oracle
4u15
27 april 2010
13u30
17u45
mailserver instellen; password retriever; rechten aan rollen toekennen
4u15
4u15 1u35 0u50 0u30 0u30
30 april 2010
13u30
17u45
Overleggen met roy vancoilley voor het weggooien van de asp.net membershipprovider en een eigen implementatie te voorzien) + nieuwe loginpagina aanmaken + alles van membership excluden + inloggen implementeren met encryptie + Sessions aanmaken + testgegevens toevoegen
3 mei 2010
10u10 12u10 15u00 16u00
11u45 13u00 15u30 17u30
Opmaak login form verder werken + validatie controls + oude membershipcode opkuisen implementatie rollen afmelden knop implementatie authorisatie + updaten logboek
4 mei 2010
13u30
17u45
afspraken login + authorisatie voor ploegverantwoordelijken/spelers + wijzigploeg verder werken + sha256 probleem (verschil java/.net) 4u15
6 mei 2010
16u35 17u55
17u45 19u00
sha probleem oplossen (probleem datatype byte; andere volgorde van encrypting) openid handler schrijven + aanpassen login pagina + logboek
1u10 1u05
19u10
20u50
plan van aanpak => opslaan toevoegen openid's + passacount aan authenticatie + kleine bugs + refactoring + openidframe
1u40
7 mei 2010
13u30
17u45
validatiegroups loginform + openid opslaan in db + openid ophalen uit db + authenticatie met openid afronden in handler + refactoring + kleine css aanpassingen
4u15
8 mei 2010
12u00
12u30
updaten logboek + loginform in meerdere talen maken
0u30
131
15u00 17u50
17u30 19u20
AddSpeler ajax controls AddSpeler validatie
2u30 0u30
10 mei 2010
14u15
15u10
addspeler: btnannuleer + btn bevestig + writeimage
0u55
11 mei 2010
13u30 14u20 20u20
14u20 17u50 20u50
wachten to lokaal vrijkomt AddSpeler:insertSpeler + insertTeamSeizoenSpeler + debugging + bindgemeenten + talen talen afwerken + updaten logboek
0u50 3u30 0u30
14 mei 2010
9u35 14u00 16u00
12u00 15u25 18u30
AddSpeler: code behind wegschrijven naar spelers en teamspelerseizoen + nodige aanpassingen doen in persoonfacade/persoonDAL AddSpeler: debugging + refactoring Wijzigploegverantwoordelijke: controls + gruwe opmaak
1u25 1u25 2u30
15 mei 2010
13u00
16u30
16u00 20u10
18u30 21u25
Verder werken aan WijzigPloegverantwoordelijke: code behind + validation groups + probleem met controleer email Debugging van WijzigPloegverantwoordelijke + Probleem: huidige ploegverantwoordelijke moet worden uitgelogd als hij de ploegverantwoordelijke aanpast (moet dan opnieuw inloggen met "nieuwe" account van ploegverantwoordelijke) Automatisch laten uitloggen bij het aanpassen van pv
16 mei 2010
10u30 14u05 21u10
12u35 19u10 23u35
Debugging van wijzigPloegVerantwoordelijke (resource files voor talen updaten) Handleiding + tekst openid + evaluatie + refactoring AddSpeler/WijzigPloegverantwoordelijke resource files update + css
2u35 5u05 2u25
17 mei 2010
7u30 14u00
11u15 18u10
Verder werken aan handleiding + eindverslag OpenID's aanmaken om te testen + logboek updaten + PasAccountAan refactoring
3u45 4u10
Totaal 147u45
132
2u30
2u30 1u15