Katholieke Hogeschool Kempen Campus Geel Departement Handelswetenschappen en Bedrijfskunde 2de jaar Toegepaste Informatica
Examenrooster Eisenanalyserapport
Teamnr: 63 Luca Andronico (2Ti6 631) Jorge Schrauwen (2TI6 633) Gianni Coenen (2TI6 632)
Academiejaar 2008 -2009
Inhoudsopgave
1 2
Inleiding ....................................................................................................................... 3 Functionele eisenanalyse ............................................................................................. 4 2.1 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.3 2.4 2.5 2.6 2.7 2.8
3
Niet-functionele eisenanalyse.................................................................................... 12 3.1 3.2 3.3 3.4 3.5 3.6 3.7
4.
Bruikbaarheid ................................................................................................................ 12 Schaalbaarheid .............................................................................................................. 12 Veiligheid ....................................................................................................................... 12 Kritikaliteit ..................................................................................................................... 12 Uitvoeringsfrequentie en responsetijd ......................................................................... 12 Betrouwbaarheid........................................................................................................... 12 Andere niet-functionele eisen ....................................................................................... 12
User interface diagram .............................................................................................. 13 4.1 4.2 4.3 4.4 4.5
5.
Use case diagram (Sealevel-niveau) ................................................................................ 4 Use case diagram (Fish-niveau) ....................................................................................... 5 Raadplegen examenrooster ........................................................................................ 5 Ingeven examenrooster .............................................................................................. 5 Beheren gebruikers ..................................................................................................... 6 Importeren periodes/klassen/vakken/docenten/studenten ...................................... 6 Use case scenarios ........................................................................................................... 7 Raadplegen examenrooster ............................................................................................ 7 Ingeven examenrooster .................................................................................................. 8 Beheren gebruikers ......................................................................................................... 9 Importeren gegeven ...................................................................................................... 10 Inloggen ......................................................................................................................... 11
Inloggen ......................................................................................................................... 13 Raadplegen examenrooster .......................................................................................... 14 Ingeven examenrooster ................................................................................................ 15 Beheren gebruikers ....................................................................................................... 16 Importeren periodes/klassen/vakken/docenten/studenten ........................................ 17
Datamodel ................................................................................................................. 18 5.1 Attributenlijst ..................................................................................................................... 18 5.2 Relationeel schema ............................................................................................................ 19 5.4 Relatiebeschrijving .............................................................................................................. 20 5.5 FK specificaties .................................................................................................................... 22
2
Project PHP Examenrooster 1 Inleiding De doelstelling bestaat eruit om een php-webapplicatie te bouwen waarmee de studenten van het departement HWBKG een geïndividualiseerd examenrooster kunnen bekijken. Dit examenrooster is dan volledig aangepast aan de student. Voor mensen die een persoonlijk traject volgen is dit uiterst makkelijk om te bekijken wanneer hun examens vallen. Deze toepassing is niet alleen bestemd voor de studenten maar ook voor de docenten. Docenten kunnen immers ook zo gemakkelijk bekijken wanneer ze examens moeten komen afleggen. De bestaande webapplicatie heeft niet de vereiste functionaliteiten die de gebruiker nu wilt. Doordat deze applicatie in asp is geschreven is ze moeilijker te onderhouden. Nu is ook het niet mogelijk om een lessenrooster van een bepaalde klas op te vragen. De beheerder wil op een effiecient en makkelijke manier de examenroosters kunnen ingeven via de zelfde php-webapplicatie.
3
2
Functionele eisenanalyse
2.1 Use case diagram (Sealevel-niveau)
4
2.2 Use case diagram (Fish-niveau) 2.2.1
Raadplegen examenrooster Inloggen
2.2.2
Ingeven examenrooster
5
2.2.3
Beheren gebruikers
2.2.4
Importeren periodes/klassen/vakken/docenten/studenten
6
2.3 Use case scenarios 2.4 Raadplegen examenrooster
Naam : raadplegen examenrooster Samenvatting : Docent/student bekijkt zijn persoonlijke examenrooster en print dit eventueel af. Actoren : • docent/student Precondities : • actor is ingelogd Actor
System 1. examenrooster wordt getoond
2. kiest voor het afdrukken van zijn examenrooster
Exception/Alternative
(1)
3. drukt examenrooster af 4. stopt met use case Exception/Alternative (1)
Description Actor wilt zijn examenrooster niet afdrukken.
Actions Actor stopt met use case
Resultaat: De actor heeft zijn examenrooster bekeken en dit eventueel afgedrukt.
7
2.5 Ingeven examenrooster
Naam : ingeven examenrooster Samenvatting : Ingeven van de data en lokalen voor de examens. Actoren : • beheerder Precondities : • actor is ingelogd • actor heeft gekozen voor ingeven van examenroosters
Actor 1. kiest periode en klas
System
Exception/Alternative
2. toont kalender 3. kiest dag en wijst een vak toe. 4. datum + vak worden bewaard 5. vraagt voor lokaal 6. vult een lokaal in 7. lokaal wordt bewaard 8. gaat naar stap 2 9. stopt met use case Exception/Alternative (1)
(1) Description Actor duidt nog meer datums aan.
Actions Actor gaat verder naar stap 3
Resultaat: Er zijn nu datums en lokalen bekend voor een of meerdere examen vakken.
8
2.6 Beheren gebruikers
Naam: beheren gebruikers Samenvatting: Beheren van accounts. Actoren: beheerder Voorwaarden: Actor is geïdentificeerd als beheerder.
Actor 1. Actor kiest voor het aanmaken van een nieuwe beheerder 3. actor vult in of bewerkt de gegevens en slaat op
Uitzondering/Alternatief (1)
Systeem 2. systeem toont invulformulier
Uitzondering/Alternatief (1)
4. systeem valideert en slaat de gegevens op
Omschrijving Actor kiest om een bestaande beheerder te bewerken
Actie Systeem toont invulformulier met bestaande gegevens ingevuld en gaat naar stap 3
Resultaat: Gebruikersgegevens aangepast.
9
2.7 Importeren gegeven
Naam : importeren periode/klassen/vakken/docenten/studenten Samenvatting : Importeren van periode/klassen/vakken/docenten/studenten Actoren : • beheerder Preconditie : • actor is ingelogd
Actor 1. kiest te importeren bestand
System
2. geeft bevestiging bestand succesvol geïmporteerd Exception/Alternative (1)
Description Importeren niet succesvol
Exception/Alternative
(1)
Actions Actor kan opnieuw proberen te importeren
Resultaat: Er zijn nu examen periodes met klassen die deel nemen aan deze periode en de vakken die deze klassen hebben.
10
2.8 Inloggen Naam: inloggen Samenvatting: Een actor logt in als beheerder of gebruiker. Actoren: • Elke gebruiker van de applicatie Voorwaarden: • De actor beschikt over een s/p nummer of een gebruiker/wachtwoord indien hij een beheerder is.
Actor 3. Actor identificeert zich
Uitzondering/Alternatief (1) (2)
Systeem 2. systeem valideert het soort gebruiker 3. actor is geïdentificeerd 4. gebruiker krijgt examenroorster
Omschrijving De actor heeft geen geldige identificatie De actor is een beheerder
Uitzondering/Alternatief (1) (2)
Actie Systeem geeft passende melding. Systeem gaat over naar beheerders mode.
Resultaat: Een geldige gebruiker is ingelogd.
11
3
Niet-functionele eisenanalyse
3.1 Bruikbaarheid Het systeem moet werken op een pc. Het systeem moet een grafische userinterface hebben De gebruiker (docent, student, administrator) van het systeem dient enige ervaring hebben met een PC met Windows. Het systeem moet online beschikbaar zijn De gebruiker (docent, student, administrator) van het systeem hoeft geen kennis van PHP of een andere programmeertaal te beschikken. 3.2 Schaalbaarheid Het systeem dient vanaf meerdere PC's in een netwerk toegankelijk te zijn. Gebruikers moeten onafhankelijk van elkaar gebruik moeten kunnen maken van het systeem. 3.3 Veiligheid Docent moet inloggen met een paswoord. 3.4 Kritikaliteit Géén 3.5 Uitvoeringsfrequentie en responsetijd De responstijden van het systeem zijn kleiner dan 1 seconde. Het systeem dient vanaf meerdere PC's in een netwerk toegankelijk te zijn. 3.6 Betrouwbaarheid Het systeem moet verbinding kunnen leggen en gegevens kunnen halen uit een database via MySQL. 3.7 Andere niet-functionele eisen Het systeem word geprogrammeerd in php
12
4. User interface diagram 4.1 Inloggen
13
4.2 Raadplegen examenrooster
14
4.3 Ingeven examenrooster
15
4.4 Beheren gebruikers
16
4.5 Importeren periodes/klassen/vakken/docenten/studenten
17
5.
Datamodel
5.1 Attributenlijst persoon
klas
persoonId
FK1 academiejaarId nummer naam type
examen
klasId
AK
FK6 afdelingId FK7 academiejaarId naam
examenId
AK
afdeling vak vakId
naam FK2 academiejaarId
FK9 lokaalId FK10 periodId FK11 lesId datum uur
afdelingId
FK8 departementId naam
AK
lokatie lokatieId
examenonderdeel examenonderdeelId FK12 examenId
les lesId
FK14 vakId FK15 klasId FK16 docent_persoonnummer
ac ademiejaarId
beginjaar eindjaar
departementId
naam
studentles examentype
studentlesId
examentypeId
FK17 student_persoonnummer
type
FK18 lesId
periode mededeling mededelingId
FK3 periodeId FK4 departementId mededeling
AK
lokatie departement
academiejaar
AK
FK13 examentypeId
periodeId
omschrijving FK5 academiejaarId
18
AK
5.2 Relationeel schema 7
15
10
1 .. * 1,1 vak
0 .. *
0 .. *
1,1 les
14
11
0 .. *
0 .. * examen
9
1,1 0 .. *
1,1
1,1 12
16 2
0 .. *
1 .. *
1,1
1,1 Persoontype
1,1
persoon
0..*
examenonderdeel
lokatie
18 0 .. *
17
0 .. *
1 1,1 1,1 5
1,1
academiejaar
13 1 .. *
1 .. * studentles
1,1 examentype
1,1
19
5.4 Relatiebeschrijving R1 1 persoon (student of docent) volgt/geeft les in 1 academiejaar R10 1 academiejaar heeft 0 of meerdere personen
1 examen gaat door voor 1 periode 1 perdiode kan 0 of meerdere examens hebben
R2
1 vak word gegeven in 1 academiejaar 1 academiejaar heeft 0 of meerdere vakken
R11
1 examen gaat door voor 1 les 1 les heeft 0 of meerdere examens
R3
1 mededeling hoort bij 1 periode 1 periode heeft 0 of meerdere mededelingen
R12+R13 1 examen heeft 1 of meerdere examen types 1 examen type kan 0 of meerdere examens hebben
R4
1 mededeling hoort bij 1 departement 1 departement heeft 0 of meerdere mededelingen
R14
1 les wordt gegeven voor 1 vak 1 vak heeft 1 of meerdere lessen
R5
1 periode hoort bij 0 of 1 academiejaar 1 academiejaar heeft 0 of meerdere periodes
R15
1 les wordt gegeven aan 1 klas 1 klas heeft 1 of meerdere lessen
R6
1 klas hoort bij 1 afdeling 1 afdeling heeft 0 of meerdere klassen
R16
1 les word gegeven door 1 persoon(docent) 1 persoon(docent) heeft 0 of meerdere lessen
R7
1 klas hoort bij 1 academiejaar 1 academiejaar heeft 0 of meerdere klassen
R17+18
1 persoon(student) volgt 1 of meerdere lessen 1 les wordt gevolgd door 1 of meerdere personen(student)
R8
1 afdeling hoort bij 0 of 1 departement 1 departement heeft 0 of meerdere afdelingen
R9
1 examen gaat door op 1 lokatie 1 lokatie kan 0 of meerdere examens hebben
20
21
5.5 FK specificaties
FK01 FK02 FK03 FK04 FK05 FK06 FK07 FK08 FK09 FK10 FK11 FK12 FK13 FK14 FK15 FK16 FK17 FK18
NNA NNA NNA NNA NNA NNA NNA NA NNA NNA NNA NNA NNA NNA NNA NNA NNA NNA
DTR DTR DTR DTR DTR DTR DTR DTR DTR DTR DTR DTR DTR DTR DTR DTR DTR DTR
22