Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Ontwikkeling van een prototype uurroosterapplicatie
met een state-of-the-art onderzoeksraamwerk
Faysal Boukayoua & Pieter Vandermeulen
KaHo Sint-Lieven
23 juni 2009
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
1 Introductie
2 Voorbereidende studie
3 Ontwerp & implementatie
4 Besluit
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Wat?
Ontwikkeling van een prototype-uurroosterapplicatie
Vertrekkend vanuit een timetablingraamwerk dat ontwikkeld is in
het kader van een doctoraat aan KaHo Sint-Lieven
Nuttig om KaHo Sint-Lieven en K.U.Leuven samen te beschouwen
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
University Course Timetabling Problem
uctp: University Course Timetabling Problem (1)
Maandag Dinsdag Woensdag Donderdag Vrijdag
8:10 - 9:40 8:10 - 9:40 8:10 - 9:40 - Code 5 8:10 - 9:40 - Code 6
Dig. audiotechnieken (K) -6x Geavanc. computerarchit. -6x Cellulaire communic. (K) -12x W. en et. 3: deontologi -6x
6 A dagen - B105 6 A dagen - D019 4ELICT 6 B dagen - D002
C. Naessens L. De Strycker Microcontrollers (K) -12x M. Meganck
4ELICT 4ELICTI 4ELICT 4ELICT+ zie code
9:50 - 13:00 - Code 1 9:50 - 13:00 - Code 2 9:50 - 11:20 - Code 4 9:50 - 13:00 9:50 - 11:20
Zakelijk Frans (K) -12x Masterproef -12x W. en et. 3: deontologi -12x Mobiele communicatie Lab -6x Bedrijfsbeleid 2 -12x
4ELICT Elke week - Geen Elke week - D002 6 A dagen - B134 Elke week - E031
Y. Blom+ zie code M. Meganck L. De Strycker I. Martens
9:50 - 13:00
4ELICTI 4ELICT+ zie code 4ELICTI1 4ELICT
Internetapplicaties (K) -6x
4ELICT+ 3ELICTI 11:30 - 13:00 9:50 - 13:00 11:30 - 13:00
Mobiele communicatie -12x Mobiele communicatie Lab -6x Geavanc. computerarchit. -12x
9:50 - 11:20
Elke week - D018 6 B dagen - B134 Elke week - E031
Dig. audiotechnieken (K) -6x
L. De Strycker L. De Strycker L. De Strycker
4ELICT
4ELICTI 4ELICTI2 4ELICTI
Middagpauze Middagpauze Middagpauze Middagpauze Middagpauze
14:00 - 15:30 14:00 - 17:10 - Code 3 14:00 - 15:30 14:00 - 17:10 14:00 - 17:10 - Code 7
Veilige software (K) -12x Masterproef -12x Intelligente Agenten (K) -12x Geav. computerarch. Lab -6x Dig. beeldverwerking (K) -6x
Elke week - B317 Elke week - Geen Elke week - D019 6 A dagen - B134
14:00 - 17:10
V. Naessens C. Naessens+ zie code K. Verbeeck J. Goemaere
Videotechnieken (K) -6x
4ELICTI 4ELICTI 4ELICTI 4ELICTI1
14:00 - 15:30
14:00 - 17:10
PC hardware (K) -12x
Geav. computerarch. Lab -6x
6 B dagen - B134 14:00 - 15:30
A. Van Nieuwenhuyse Artificiële intellig.(K) -12x
4ELICTI2
17:10 - 18:40
Eng. for science & tech(K -12x
Elke week - D019
E. Van Achter
4ELICT+ 4EMEM+
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
University Course Timetabling Problem
uctp: University Course Timetabling Problem (2)
Codes Tijd Studenten Onderwerp Weken Lokaal Docenten
Maandag 9:50 - 11:20 4ELICT Dig. audiotechnieken (K) 6 A dagen: 7+10+12+14+18+20 B105 C. Naessens
Code 1 9:50 - 13:00 4ELICT Zakelijk Frans (K) Elke week D049 L. Bracke
9:50 - 13:00 4ELICT+ 3ELICTI Internetapplicaties (K) 6 A dagen: 7+10+12+14+18+20 D019 K. Verbeeck
Dinsdag 9:50 - 13:00 4ELICTI Masterproef Elke week Geen Y. Blom+ L. De Backer+ H. Coolens+ J.
Code 2 Goemaere+ J. De Wispelaere+ W. De
Geest+ D. De Saffel+ C. Naessens+ K. Van
den Steen+ L. De Strycker
Dinsdag 14:00 - 17:10 4ELICTI Masterproef Elke week Geen C. Naessens+ F. Thomaes+ G. Vanden
Code 3 Berghe+ K. Van den Steen+ L. De Strycker+
K. Verbeeck+ A. Vorstermans+ P.
Demeester+ J. De Wispelaere+ W. De
Geest+ J. Goemaere+ H. Coolens+ L. De
Backer+ P. Aelvoet+ V. Naessens+ K.
Vangheluwe
Woensdag 9:50 - 11:20 4ELICT+ 4EMEM+ W. en et. 3: deontologi Elke week D002 M. Meganck
Code 4 4ELAU+ 4ELEL
Donderdag 8:10 - 9:40 4ELICT Cellulaire communic. (K) Elke week E034 L. De Strycker
Code 5 8:10 - 9:40 4ELICT Microcontrollers (K) Elke week E030 J. Goemaere
Vrijdag 8:10 - 9:40 4ELICT+ 4ELAU+ W. en et. 3: deontologi 6 B dagen: 8+10+12+14+19+21 D002 M. Meganck
Code 6 4ELEL+ 4EMEM+
Vrijdag 14:00 - 15:30 4ELICT PC hardware (K) Elke week B133 J. Goemaere
Code 7 14:00 - 15:30 4ELICTI Artificiële intellig.(K) Elke week D016 G. Vanden Berghe
14:00 - 17:10 4ELICT Dig. beeldverwerking (K) 6 A dagen: 7+9+11+13+17+20 E030 N. Stevens
14:00 - 17:10 4ELICT Videotechnieken (K) 6 B dagen: 8+10+12+14+19+21 B124 W. De Geest
Weekinformatie
Maandag - 6 A dagen Weken: 7+10+12+14+18+20
Woensdag - 6 A dagen Weken: 7+9+11+13+17+19
Donderdag - 6 A dagen Weken: 7+9+11+13+17+19
Donderdag - 6 B dagen Weken: 8+10+12+14+18+20
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
University Course Timetabling Problem
Contextschets
Complexe planningsbehoeften hoger onderwijs
Weinig automatisering
Weinig flexibiliteit t.o.v.:
Wijzigende studentenaantallen
Veranderende behoeften
Complexe roosters
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
University Course Timetabling Problem
Enkele belangrijke doelstellingen
Beslissingsondersteunend
Automatische en semi-automatische planning
Eenvoudige koppeling van nieuwe databanken
Geen noemenswaardige wijzigingen aan het bestaande
timetablingraamwerk
Implementatie en integratie met moderne technologie¨n en
e
methodologie¨n
e
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Voorbereidende studie
Doornemen van wetenschappelijke artikels over uctp
Studie van softwarepakketten: verkennen van mogelijkheden van
beschikbare commerci¨le en opensource software
e
Interviews met toekomstige gebruikers
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Interviews met toekomstige gebruikers
Huidige situatie
Vertrekken uit rooster van vorig academiejaar
Departementssecretariaat (m.b.v. Titan)
Opleidingshoofden
Docenten
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Interviews met toekomstige gebruikers
Eisen voor toekomstige situatie
Uit interviews
cd-ict
Departementssecretariaat
Opleidingshoofden
Academische Bachelor
Bouwkunde
Chemie
Elektromechanica
Elektronica-ict
Rekening houden met info uit schooldatabases
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Interviews met toekomstige gebruikers
Minimale specificatie (1)
Lessenroosters genereren
<<Include>>
Reserveren van periodes
Gegenereerd lessenrooster opslaan <<Include>>
Extra lange sessies voorzien
Gegenereerd lessenrooster inlezen
Administrator
Controlelijst bekijken
Constraints ingeven
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Interviews met toekomstige gebruikers
Minimale specificatie (2)
Lessen tijdens vrije uren van
studenten plannen
Suggestie voor weggevallen les zoeken Toestemming aan betrokken docent vragen
<<Extend>>
<<Include>>
<<Extend>>
Lessen onderling verwisselen
Leswijzigingen doorvoeren <<Extend>>
<<Include>> Feedback over leswijziging
krijgen
Docent Toestemming voor verwisseling geven
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Systeemmodel (1)
Systeemmodel (2)
Databank en databanktoegang
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Databankkeuze
Oorspronkelijk: werken met databank van KaHo Sint-Lieven, maar
niet tijdig klaar in vereiste vorm
Wijziging opdracht: uitgaan van K.U.Leuven-database
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
rnp test1 versus rnp test2
Vaststelling: we beschikken over 2 databanken van de K.U.Leuven:
rnp test1
rnp test2
Groot deel van de data gemeenschappelijk
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Verschil tussen rnp test1 en rnp test2
rnp test1
Bevat gegevens over individuele studenten
Bevat gegevens over studentengroepen
Zowel individuele als groepsgebaseerde planning mogelijk
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Verschil tussen rnp test1 en rnp test2
rnp test1
Bevat gegevens over individuele studenten
Bevat gegevens over studentengroepen
Zowel individuele als groepsgebaseerde planning mogelijk
rnp test2
Bevat enkel gegevens over studentengroepen
Enkel groepsgebaseerde planning mogelijk
Groepsgebaseerde planning minder flexibel:
Studentenaantallen niet a priori bekend =⇒ werken met schattingen
Houdt geen rekening met gop-studenten
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Keuze tussen rnp test1 en rnp test2
K.U.Leuven wil naar groepsgebaseerde planning: opvangen
laattijdige inschrijvingen
Gevraagd om rnp test2 te gebruiken
MAAR:
Bij aanvang thesis kon het raamwerk enkel individueel plannen
Auteur kon niet tijdig nodige aanpassingen uitvoeren
=⇒ Keuze: rnp test1
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Originele databanktoegang
Originele manier: jdbc (Java DataBase Connectivity)
Na database-interactie ook preprocessing uitgevoerd (te behouden
en evt. te verbeteren)
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Originele databanktoegang
Originele manier: jdbc (Java DataBase Connectivity)
Afhankelijk van het sql-dialect
Extra bewerkingen nodig voor bekomen domeinobjecten
E´nlagig: niet flexibel voor koppeling met andere databanken
e
Na database-interactie ook preprocessing uitgevoerd (te behouden
en evt. te verbeteren)
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Originele databanktoegang
Originele manier: jdbc (Java DataBase Connectivity)
Afhankelijk van het sql-dialect
Extra bewerkingen nodig voor bekomen domeinobjecten
E´nlagig: niet flexibel voor koppeling met andere databanken
e
Na database-interactie ook preprocessing uitgevoerd (te behouden
en evt. te verbeteren)
Negeren van sessies zonder studenten
Groeperen van sessies in pilaren
Duplicatie van sessies met meer studenten dan toegelaten
...
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Doelstellingen voor de nieuwe datalaag
Databanken behandelen als legacy-databases, volstrekt niets wijzigen
Hogere lagen (e.g. timetablingraamwerk) mogen geen invloed
ondervinden van:
Nieuwe datalagen die we implementeren
Koppeling van een nieuwe databank
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Primitief domein en dao
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Primitief domein en dao
Object-Relational Mapping: jpa/Hibernate
Onafhankelijk van sql-dialect
Voordeel: primitief domein en dao bestaan normaliter al
Groepsgebaseerde variant ge¨
ımplementeerd
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Databaseonafhankelijk domein en dao
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Databaseonafhankelijk domein en dao
Databaseonafhankelijk domein bestaat al: hergebruik domein van
timetablingframework
Databankonafhankelijke dao:
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Databaseonafhankelijk domein en dao
Databaseonafhankelijk domein bestaat al: hergebruik domein van
timetablingframework
Databankonafhankelijke dao:
Omzetting primitief naar databankonafhankelijk domein
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Databaseonafhankelijk domein en dao
Databaseonafhankelijk domein bestaat al: hergebruik domein van
timetablingframework
Databankonafhankelijke dao:
Omzetting primitief naar databankonafhankelijk domein
Voorgedefinieerde eenduidige interfaces: te implementeren bij
koppeling nieuwe databank
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Databaseonafhankelijk domein en dao
Databaseonafhankelijk domein bestaat al: hergebruik domein van
timetablingframework
Databankonafhankelijke dao:
Omzetting primitief naar databankonafhankelijk domein
Voorgedefinieerde eenduidige interfaces: te implementeren bij
koppeling nieuwe databank
Reeds veel voorzieningen voor groepsgebaseerd plannen
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Databaseonafhankelijk domein en dao
Databaseonafhankelijk domein bestaat al: hergebruik domein van
timetablingframework
Databankonafhankelijke dao:
Omzetting primitief naar databankonafhankelijk domein
Voorgedefinieerde eenduidige interfaces: te implementeren bij
koppeling nieuwe databank
Reeds veel voorzieningen voor groepsgebaseerd plannen
Verbeterde preprocessing
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Koppeling met het timetablingframework
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Databank en databanktoegang
Koppeling met het timetablingframework
Voordeel: framework ongewijzigd!
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Timetablingraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Timetablingraamwerk
Constraints
Houden rekening met:
Type lokaal
Resources lokaal
Beschikbaarheid docenten
Minimaliseren springuren
Tijd voor lunchpauze
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Timetablingraamwerk
Interne werking
Tabu Search
Constraint per constraint oplossen
optimum
lokale optima
Y-Axis
huidige oplossing
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Solution Extractor & Manipulator
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Solution Extractor & Manipulator
Extra voorziene functionaliteit
Informatie effici¨nter extraheren
e
Aanpassen oplossingen
Vastzetten sessies
Feedback overtreden constraints
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Modellering van de gebruikersinteractie
Gebruikersinteractie
Gebruikmakend van webservice
Volgt uit de minimale specificaties
Roosters opvragen voor student, docent en lokaal
Selectie academiejaar + semester
Plannen + herplannen
Controle planningsstatus
Wijzigen uurrooster
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Applicatiedatabase, -domein en -dao
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Systeemintegratie
Applicatiedatabase, -domein en -dao
Opslaan en opvragen van:
Instanties van Solution Content Extractor & Manipulator
Planningsstatussen
Gebruikersinformatie voor security
Gebruikersrollen voor security
Belangrijk: transactionaliteit!
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Systeemintegratie
Security
Security belangrijk voor multi-useromgeving!
Gebruik van Spring Security: full-fledged security
Stevige basis voor uitbreidingen/aanpassingen
Voorlopig alleen authenticatie
Authorisatie nog toe te voegen: ondersteund door Spring Security
Loose coupling en hoge modulariteit dankzij dependency injection
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Webservice en rekenwachtrij
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Systeemintegratie
Webservice
Volgt uit de gebruikersinteractie
Maakt gebruik van Spring Webservices
Webservicedomein blijft bruikbaar bij gebruik van ander
timetablingframework
Loose coupling en hoge modulariteit dankzij dependency injection
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Systeemintegratie
Rekenwachtrij
4 statussen: completed, failed, in progress,
not requested
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Systeemintegratie
Rekenwachtrij
4 statussen: completed, failed, in progress,
not requested
Mogelijk om:
Roosters te berekenen (Rostering)
Roosters te herberekenen (Rerostering)
Verder te rekenen vertrekkend van een voorheen berekend rooster
(RosteringContinuation)
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Systeemintegratie
Rekenwachtrij
4 statussen: completed, failed, in progress,
not requested
Mogelijk om:
Roosters te berekenen (Rostering)
Roosters te herberekenen (Rerostering)
Verder te rekenen vertrekkend van een voorheen berekend rooster
(RosteringContinuation)
Voordelen:
Houdt rekening met aantal processoren
Bij abrupt afsluiten en heropstarten van applicatie, worden
onderbroken berekeningen automatisch terug toegevoegd aan de
rekenwachtrij
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Systeemintegratie
Applicatieserver
Gebruik van JBoss AS met tls-versleuteling
Schaalbaar: uitgebreide mogelijkheden voor clustering en load
balancing
Mogelijkheden voor toekomstige uitbreidingen
Vrije software ⇒ continu¨
ıteit
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Verwezenlijkingen
Verwezenlijkingen
Voorstudie: belangrijke info voor toekomstige ontwikkelaars
Eenvoudig koppelen van nieuwe databank
Rekenwachtrij
Uitbreiding framework
Complexiteit naar bovenste en onderste lagen sterk gereduceerd
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Meerwaarde
Meerwaarde
Gigantische tijdswinst (moet niet langer manueel)
Optimalere oplossingen: neemt alle opleidingen/resources in
beschouwing
Betere tegemoetkoming aan individuele studenten/docenten
Flexibiliteit
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Meerwaarde
Meerwaarde
Toegankelijkheid code
Stuk dichter bij eindapplicatie
Onderhoudbaarheid
Waardevolle informatie uit interviews
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Uitbreidingen
Uitbreidingen
Authorisatie op methodeniveau, uitgebreide studie volledig
securitymodel
Groepsgebaseerde i.p.v. individuele roostering
Ontwikkeling GUI
Optioneel: uitgebreide specificatie
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
Inhoud Introductie Voorbereidende studie Ontwerp & implementatie Besluit
Vragen en suggesties
Vragen?
Ontwikkeling van een prototype uurroosterapplicatie met een state-of-the-art onderzoeksraamwerk
0 comments
Post a comment