Analyse en ontwikkeling van een elektronische leeromgeving



Vergelijkbare documenten
Katholieke Hogeschool Kempen

2 Eisenanalyse. 2.1 Functionele eisen het UseCaseDiagram

Installeren van het programma:

XAMPP Web Development omgeving opzetten onder Windows.

Xampp Web Development omgeving opzetten onder Windows.

PHP-OPDRACHT SITE BOUWEN

Inhoudsopgave Disclaimer... 3 Voorwoord... 4 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

Installatiehandleiding FWG 3.0/ Stand-alone / Netwerkversie. Nieuwe Installatie van FWG 3.0/ met een MS Access database

Inhoudsopgave web2work Pagina 1 van 16

Katholieke Hogeschool Kempen Campus Geel Departement Handelswetenschappen en Bedrijfskunde 2de jaar Toegepaste Informatica

Planbord installatie instructies

Handleiding Websitebeheer

Instructie helpdesk. Computerproblemen?

Test Joomla op je PC 1

Gebruikers handleiding Brugge Printshop webshop

Handleiding voor het installeren van Tomcat7

Inhoudsopgave... 1 Disclaimer... 3 Voorwoord... 3 Inleiding... 5 Het downloaden van XAMPP... 7 Het installeren van XAMPP... 8 Joomla installeren op

Bestanden bewaren met SkyDrive

Installatiehandleiding Business Assistent

De verschillen tussen Plesk en DirectAdmin

INSTALLATIE VAN DE BelD KAARTLEZER

Je -programma configureren

BRICONweb voor de club

Op de Virtual Appliance is MySQL voorgeïnstalleerd. MySQL is momenteel de meest gebruikte database op het internet.

Handleiding Back-up Online Windows Versie april 2014

Handleiding Mijn Kerk

Meerdere gebruikersaccounts aanmaken

Administratieve apllicatie bij het opleidingsonderdeel Dynamische Websites.

OFFICE 365. Start Handleiding Medewerkers

Installatie. Klik vervolgens op OK om verder te gaan met de installatie. Om verder te gaan met de installatie kunt op op Volgende klikken.

Installatiehandleiding Business Assistent

IMAP-handleiding Bookinto

Verkorte handleiding Beheer Website

Handleiding: MRJ Online Back-up versie 1.0

Handleiding Vodafone Cloud

Project plan. Erwin Hannaart Sander Tegelaar

HANDLEIDING HOSTED EXCHANGE 2007 (PC-EN)

BASIS HANDLEIDING CLOUD ASSISTENT

Midi PDF Bladmuziek lezer

C a s e S t u d y Y i f e C o n t a c t i n f o r m a t i e

Installatiehandleiding Cane Webservices.nl Integratie

Fuel. Handleiding voor installatie en gebruik

Uitleg van de Systeeminstellingen in Ubuntu.

Contents Backup en herinstallatie... 2

Personalia. Woonplaats: Katwijk aan Zee Geboortejaar: 1989 Nationaliteit: Nederlandse Rijbewijs: B. Eigenschappen

Nieuw toegevoegd: Uitleg driver (her) installeren nadat Windows 8 en Windows 8.1 automatisch de driver heeft geüpdatet.

Aanmelden Na installatie wordt de service automatisch gestart en kunt u meteen aanmelden van op afstand:

Intramed OnLine instellen en gebruiken. Voor Android tablet of telefoon

Windows 8, Windows 8.1, deel II

HANDLEIDING DMS Plugin Installatie, configuratie & werking

Handleiding - Nieuwe werkomgeving (medewerkers)

Handleiding voor de admin van vvstroe.nl

In dit artikel zal ik u uitleggen hoe u rechtstreeks vanuit Troublefree Retail kan afdrukken

Remote Back-up Personal

Intramed OnLine instellen en gebruiken. Voor Mac OSX

Handleiding. Opslag Online. voor Windows. Versie februari 2014

Installatie en configuratie documentatie

Compustam voor Windows van oude laptop- pc naar nieuwe laptop- pc

Let s Connect CONFIGURATIE EXCHANGE 2010 CLIENT-CONFIGURATIE

// Mamut Business Software

Technische documentatie Klankie 2010 voor systeembeheerders/installateurs

ZIEZO Remote Back-up Personal

Software Requirements Specification

Cloud Products CONFIGURATIE EXCHANGE 2010 CLIENT-CONFIGURATIE

Handleiding voor snelle installatie

Schakel in Windows 10 automatische driver update uit : Uitleg driver (her) installeren nadat Windows 10 automatisch de driver heeft geüpdatet.

LAB handleiding april

EasternGraphics product documents pcon.update handleiding HANDLEIDING

Friesland College Leeuwarden

Installatie SQL: Server 2008R2

Op de website van de N!X Ruilkring klik je in het menu op Cyclos". Rechts bovenin klik je op de knop aanmelden. Je komt dan in het inlogscherm.

cbox UW BESTANDEN GAAN MOBIEL! VOOR LAPTOPS EN DESKTOPS MET WINDOWS PRO GEBRUIKERSHANDLEIDING

Plato gebruikershandleiding

Cash Software B.V AD Den Haag (T) (E) 1

De polling is er nu dan ook in een service variant en kan dus in plaats van de normale polling gebruikt worden.

INSTALLATIEHANDLEIDING

Xelion 6 MT beheer handleiding v0.3

mydesktop Anywhere Deze mydesktop Anyhwere oplossing biedt een aantal voordelen:

Inhoudsopgave. GlinQ: BattleField2 beheertool, Handleiding versie 1.0

Eenvoudig een backup van je bestanden maken. G.v.Eijndhoven ( )

Beginnen met businessdesk

Handleiding afdrukken rotariaat CAMPUS NOORD Informaticadienst Scholengroep Sint-Rembert v.z.w. Kevin Baert Loes Casteleyn Michiel Seys

Handleiding Beveiligen van Wordpress

Handleiding instellen

Naam: Sander van Schie Datum: Klas: SBICO-IB2 Doel: Uitleg Toegang tot vcloud Doelgroep: Nieuwe cursisten Versie: 1.0.0

Handleiding digitaal dossier

Handleiding. Installatie / Configuratie

Installatie van sqlserver

OFFICE 365. Start Handleiding Leerlingen

5/5 Red Carpet. 5/5.1 Inleiding

Installatiehandleiding bij overzetten op nieuwe computer

Installatie Remote Backup

KraamZorgCompleet OnLine instellen en gebruiken. Voor Android tablet of telefoon

Transcriptie:

Handelswetenschappen en Bedrijfskunde Geel Bachelor in de toegepaste informatica Analyse en ontwikkeling van een elektronische leeromgeving CAMPUS Geel Luca Andronico Academiejaar 2009-2010

3 VOORWOORD Dit eindwerk is tot stand gekomen door drie maanden stage te lopen bij Mondi Belcoat te Duffel. Het bevat enerzijds informatie over het reilen en zeilen op een interne helpdesk. Anderzijds vind je hierin informatie over de analyse en ontwikkeling van een webapplicatie in PHP. Graag wil ik enkele mensen bedanken die mij geholpen hebben om dit eindwerk te realiseren. Om te beginnen zou ik graag Mondi Belcoat willen bedanken voor de kans die ze mij gegeven hebben om er stage te lopen. Verder bedank ik mijn stagebegeleider Kurt Geys om mij een stageopdracht te verschaffen en om me steeds bij te staan met raad en hulp. Ook mijn eindwerkbegeleidster Ria Spruyt wil ik bedanken voor tips bij het schrijven van mijn eindwerk. Ten slotte wil ik mijn ouders en mijn vriendin nog bedanken voor hun steun gedurende deze periode.

4 SAMENVATTING Dit eindwerk is een uitgebreid verslag van mijn stage bij Mondi Belcoat. Werknemers van Mondi Belcoat moeten soms een nieuwe opleiding of cursus volgen. Wanneer er nieuwe voorschriften zijn bijvoorbeeld i.v.m. de veiligheid op de werkvloer, wordt er ook van de werknemers verwacht dat ze deze voorschriften kennen en er zich aan houden. Om de medewerkers de mogelijkheid te geven zich deze opleidingen en cursussen eigen te maken, kreeg ik de opdracht om een gebruiksvriendelijke elektronische leeromgeving te ontwikkelen. Met deze applicatie kan een werknemer zonder te studeren een cursus leren op basis van dagelijkse herhalingen. Na een periode van een maand krijgt de werknemer een kans om te bewijzen dat hij de cursus kent onder de vorm van een examen. Als hij hiervoor slaagt, wordt de cursus weggeschreven naar zijn voltooide cursussen, anders zal hij nog herhalingen moeten blijven maken en later opnieuw proberen. Voor nieuwe werknemers is de applicatie ook handig om een routine te kweken en om zo beter en sneller aan de slag te kunnen gaan zonder de hulp van andere werknemers. In de applicatie is er ook een gedeelte voorzien om ze te beheren. In dit admin-deel kan een beheerder cursussen,gebruikers,vragen,categorieën toevoegen, wijzigen en verwijderen. De beheerder kan ook vragen uploaden via een csv- of txt-bestand. Het is ook mogelijk om eventuele afbeeldingen of geluidfragmenten bij een vraag te uploaden. De applicatie is niet enkel van toepasbaar bij Mondi Belcoat, maar kan door diverse organisaties gebruikt worden, zoals scholen en andere bedrijven. De applicatie draait op een personal computer met een Apache webserver, gebruikt een MySQL databasesysteem en is geprogrammeerd in PHP. De applicatie werd geprogrammeerd op basis van drie lagen. Deze bestaan uit een grafische interface, een database en een laag waar al het werk van de applicatie gedaan wordt. Dit geeft de programmeur een duidelijk overzicht van de verschillende klassen en functionaliteiten. Naast het maken van de applicatie heb ik ook meegedraaid als assistent van de ITcoördinator. Hierbij heb ik vooral veel ervaring opgedaan in het dagelijks onderhoud van de IT binnen een organisatie.

5 INHOUDSTAFEL VOORWOORD... 2 SAMENVATTING... 4 INHOUDSTAFEL... 5 INLEIDING... 8 1 MONDI BELCOAT... 9 1.1 Structuur Mondi Group... 9 1.2 Historiek... 11 1.3 Activiteiten... 11 1.4 Overzicht IT-departement... 12 2 OPDRACHTEN... 14 2.1 Assistentie IT-coördinator... 14 2.1.1 Beveiliging... 14 2.1.2 Ondersteuning... 15 2.1.3 Nieuwe medewerkers... 16 2.1.4 E-mail... 17 2.1.5 Onderhoud IT-database... 17 2.1.6 Batchfiles beheren... 17 2.1.7 Beheer stock... 18 2.1.8 Onderhoud IT binnen de organisatie... 18 2.2 Elektronische leeromgeving... 18 2.2.1 Aanleiding en achtergrond van het project... 18 2.2.2 Business Case... 18 2.2.3 Verwacht resultaat... 18 2.2.4 Omschrijving van de primaire doelgroep... 19 2.2.5 Derden: andere stakeholders... 19 2.3 Gebruikte software... 19 2.3.1 Netbeans IDE... 19 2.3.2 REAL VNC... 19 2.3.3 Microsoft Office Outlook... 20 2.3.4 Microsoft Office Access... 20 2.3.5 Norton Ghost... 20 2.3.6 Trend Micro Officescan Antivirus... 20 2.3.7 MySQL... 21 2.3.8 PHPMyAdmin... 21 2.3.9 Apache webserver... 21 2.3.10 Gliffy... 21 2.3.11 Crimson Editor... 21 2.3.12 Microsoft Office Visio... 22 2.3.13 ZBar... 22 3 ANALYSE EN AANPAK ELEKTRONISCHE LEEROMGEVING... 23 3.1 Functionele Eisenanalyse... 23 3.1.1 Use case diagram op sea-level... 23 3.2 Use case scenario s... 23 3.2.1 Inloggen... 24 3.2.2 Leerpakket toevoegen aan account... 24 3.2.3 Leerpakket studeren... 25 3.2.4 Statistieken bekijken... 26 3.2.5 Leerpakket verwijderen van account... 26 3.2.6 Herhalingen maken... 27 3.2.7 Account verwijderen... 28 3.2.8 Wachtwoord aanpassen... 28 3.2.9 Registreren... 29

6 3.2.10 Gebruiker wijzigen... 30 3.2.11 Gebruiker verwijderen... 30 3.2.12 Nieuwe gebruiker aanmaken... 31 3.2.13 Leerpakket wijzigen... 31 3.2.14 Leerpakket verwijderen... 32 3.2.15 Nieuw leerpakket aanmaken... 33 3.2.16 Categorie wijzigen... 33 3.2.17 Categorie verwijderen... 34 3.2.18 Nieuwe categorie aanmaken... 34 3.2.19 Vragen wijzigen... 35 3.2.20 Vraag verwijderen... 36 3.2.21 Nieuwe vragen aanmaken via txt... 36 3.2.22 Nieuwe vragen aanmaken via cvs... 37 3.2.23 Beheer tekst startpagina... 37 3.2.24 Bekijk uploadmap... 38 3.3 Niet-functionele eisenanalyse... 39 3.3.1 Bruikbaarheid... 39 3.3.2 Schaalbaarheid... 39 3.3.3 Veiligheid... 39 3.3.4 Kritikaliteit... 39 3.3.5 Uitvoeringsfrequentie en responstijd... 40 3.3.6 Betrouwbaarheid... 40 3.3.7 Andere niet-functionele eisen... 40 3.4 Attributenlijst... 40 3.5 Relationeel schema... 41 3.6 Relatiebeschrijving... 42 3.7 Foreign key specificaties... 43 3.8 Installatie Apache webserver... 43 3.9 Installatie PHP... 44 3.10 Installatie database MySQL... 44 4 WIREFRAMES... 45 4.1 Wireframes gebruiker... 45 4.1.1 Inloggen... 45 4.1.2 Persoonlijke leerpakketten... 46 4.1.3 Zoek leerpakketten... 46 4.1.4 Bekijk je statistieken... 47 4.1.5 Wachtwoord aanpassen... 48 4.1.6 Account verwijderen... 48 4.2 Wireframes beheerder... 49 4.2.1 Inloggen... 49 4.2.2 Beheer gebruikers... 49 4.2.3 Gebruiker wijzigen... 50 4.2.4 Gebruiker toevoegen... 51 4.2.5 Beheer categorieën... 51 4.2.6 Categorie wijzigen... 51 4.2.7 Categorie aanmaken... 52 4.2.8 Beheer leerpakketten... 52 4.2.9 Leerpakket wijzigen... 53 4.2.10 Leerpakket aanmaken... 54 4.2.11 Beheer vragen... 54 4.2.12 Vragen aanpassen... 55 4.2.13 Vraag aanmaken... 55 4.2.14 Vragen verwijderen... 56 4.2.15 Beheer tekst startpagina... 56 4.2.16 Bekijk uploadmap... 57

7 5 ELEKTRONISCHE LEEROMGEVING... 58 5.1 Programmeerstructuur... 58 5.2 Lay-out... 59 5.3 Look and Feel... 59 5.3.1 Index.php... 60 5.3.2 Access.php... 60 5.3.3 Menu.php... 60 5.3.4 Content.php... 60 5.3.5 Execute.php... 60 5.4 Beveiliging... 60 5.4.1 Rechten... 61 5.4.2 SQL-injection... 61 5.4.3 Controle gebruikersinvoer met javascript... 61 5.4.4 Bevestiging CRUD-acties... 62 5.4.5 Captcha... 62 5.5 Anysurfer... 62 5.6 JQuery... 62 5.7 Pagina s gebruiker... 63 5.7.1 Home... 63 5.7.2 Registratie... 64 5.7.3 Log-in... 64 5.7.4 Contact & gastenboek... 64 5.7.5 Persoonlijke pagina gebruiker... 65 5.7.6 Persoonlijke leerpakketten... 66 5.7.7 Leerpakket toevoegen aan account... 66 5.7.8 Leerpakket oefenen... 67 5.7.9 Statistieken bekijken... 68 5.7.10 Herhalingen oefenen... 69 5.7.11 Examen maken... 69 5.7.12 Wachtwoord aanpassen... 69 5.7.13 Forum bekijken... 69 5.7.14 Wachtwoord vergeten... 69 5.8 Pagina s beheerder... 70 5.8.1 Log-in beheerder... 70 5.8.2 Beheerpaneel... 70 5.8.3 Gebruikers... 70 5.8.4 Gebruiker aanpassen... 71 5.8.5 Categorieën... 71 5.8.6 Leerpakketten... 72 5.8.7 Leerpakket aanpassen... 72 5.8.8 Beheer vragen... 72 5.8.9 Vragen toevoegen... 73 5.8.10 Vragen handmatig invoeren... 74 5.8.11 Vragen aanpassen... 75 5.8.12 Vragen verwijderen... 75 5.8.13 Beheer tekst startpagina... 75 5.8.14 Bekijk afbeeldingen uploadmap... 76 BESLUIT.... 77 LITERATUURLIJST... 78 BIJLAGE 1: PROCEDURE VOOR HET VERWIJDEREN VAN SCHADELIJKE SOFTWARE... 79 BIJLAGE 2: CONFIGURATIE VAN OUTLOOK MET MICROSOFT EXCHANGE SERVER... 84 BIJLAGE 3: UITWERKING BATCHFILE... 87

8 INLEIDING Dit eindwerk gaat over de opdrachten die ik gedurende drie maanden heb uitgevoerd tijdens mijn stage bij Mondi Belcoat. Eerst en vooral zal ik mijn stagebedrijf en zijn werkzaamheden voorstellen. Verder beschrijf ik mijn taken tijdens deze periode. Enerzijds stond ik in voor assistentie van de IT-coördinator en het runnen van de helpdesk. Anderzijds heb ik gewerkt aan een elektronische leeromgeving. In dit werk ga ik vooral uitgebreid in op het programmeren van de elektronische leeromgeving. Deze leeromgeving moet voor de werknemers een handig alternatief zijn bij het studeren van cursussen of opleidingen. Op basis van herhalingen kunnen zij zich alle nodige kennis van een opleiding verschaffen. Deze opdracht heb ik gerealiseerd in de vorm van een webapplicatie in PHP. De applicatie is gebaseerd op het drielagenmodel.

9 1 MONDI BELCOAT In dit hoofdstuk vind je een voorstelling van mijn stagebedrijf en zijn werkzaamheden. Figuur 1-1: Logo Mondi 1.1 Structuur Mondi Group De Mondi Group is ingedeeld in 2 hoofdgroepen: Europe & International en Zuid- Afrika(South Africa). Dit kan je zien op figuur 1-2. Figuur 1-2: Structuur Mondi Group De belangrijkste productie gebeurt in Europe & International. Hier worden 3 bedrijfsstromen gerealiseerd: uncoated papier(ufp), gegolfd papier, zakken en specialiteiten. In Zuid-Afrika doet men aan bosbeheer, productie van pulp, productie van uncoated papier(ufp) en containerboards. De Mondi group bezit verder nog belangrijke aandelen in verschillende organisaties wereldwijd. De hoofdzetel voor Europa bevindt zich in Oostenrijk(Wenen). De naam Mondi is afgeleid van een Zuid-Afrikaanse bloem, de Mondia whitei. Zuid-Afrika is de thuishaven van het Mondi Group hoofdkwartier. Mondi speelt een grote rol in de Zuid-

10 Afrikaanse economie en is een belangrijke werkgever in de regio s waar ze actief zijn. Mondi is beursgenoteerd op de Johannes Stock Exchange. Mondi Belcoat valt onder de Mondi Group. In 50 jaar tijd is Mondi Belcoat een groeigeoriënteerde, internationale leverancier geworden van kwaliteitsproducten voor o.a. de automobielsector, de bouw, de grafische en medische industrie en ook voor specifieke toepassingen op vraag van de klant. Er werken momenteel zo n 200 werknemers in Duffel. Figuur 1-3: Site Mondi Belcoat Duffel In België zelf zijn er nog 2 bedrijven die onder de Mondi Group vallen. Mondi packaging Poperinge en Mondi Brussels South. Mondi Packaging Poperinge is gespecialiseerd in de productie van open mondzakken die een PE-film bevatten. Deze zakken zijn bestemd voor de voedingsnijverheid, de dierenvoedingsector en de chemische industrie. Figuur 1-4: Site Mondi Packaging Poperinge Mondi Brussels South bevindt zich sinds 2008 op een nieuwe locatie met een totaal nieuwe fabriek in de buurt van Brussel. Hier ligt de focus voornamelijk op de productie van ventielzakken o.a. voor de vele klanten uit de bouwnijverheid.

11 Figuur 1-5: Site Mondi Brussels South 1.2 Historiek De tabel toont enkele belangrijke momenten in de geschiedenis van Mondi Belcoat. Tabel 1-1: Korte geschiedenis Mondi Belcoat Mondi Belcoat is uitgegroeid van een klein Belgisch bedrijf tot een onderdeel van een grote internationale organisatie. Dit ging gepaard met de nodige overnames en naamsveranderingen. 1.3 Activiteiten Mondi Belcoat behoort tot de verwerkende industrie. Het bedrijf is gespecialiseerd in het vervaardigen van meerlagige producten door extrusie coating of extrusie laminatie. Zij combineren kunststoffen of polymeren met diverse dragermaterialen zoals papier, karton, aluminium, filmen, gemetalliseerde filmen, non-wovens, wovens, glasvlies en basaltvezels. Deze coatings bieden kwaliteitsvolle en betrouwbare barrières tegen vet, water, vocht, gasdiffusie, licht en chemicaliën. Voor toepassingen waarbij gewichtreductie, slijtvastheid, structurele stevigheid of akoestische verbetering vereist is, biedt extrusie coating een ideale oplossing.

12 Figuur 1-6: Extrusie coating Op figuur 1-6 zie je hoe een dunne kunststofsmelt in de vorm van een film(oranje) op hoge temperatuur op een dragermateriaal(blauw) gegoten en gehecht wordt. Figuur 1-7: Extrusie laminatie Figuur 1-7 toont de gelijkenis met extrusie coating. Hierbij wordt echter de kunststofsmelt(oranje) als hechtingslaag tussen 2 dragermaterialen(groen en blauw) aangewend. Enkele voorbeelden: Kabelisolatie Aluminiumlaminaten voor b.v. een aromabarrière Verpakkingen voor chocolade, kruiden, sausen enz Mondi Belcoat bezit 2 ISO-certificaten. ISO 9001:2008 is een internationale norm die eisen stelt aan het kwaliteitsmanagementsysteem of QMS van een bedrijf en ook aan de manier waarop het bedrijf omgaat met haar kwaliteitsbeleid. Het certificaat maakt duidelijk dat Mondi Belcoat aan alle eisen van de norm voldoet en dat Mondi Belcoat al haar producten levert volgens de afspraken. ISO 14001:2004 is een internationale norm die eisen stelt aan het milieumanagementsysteem van een bedrijf. Met de hulp van een goed milieumanagementsysteem is het mogelijk om milieurisico s te verminderen of het verergeren tegen te gaan. Voor Mondi Belcoat is het milieu een hot topic. 1.4 Overzicht IT-departement Het IT-departement bij Mondi Belcoat wordt voornamelijk gerund door 1 persoon. Een andere persoon staat in voor het SAP-systeem. Het netwerk wordt voornamelijk beheerd vanuit de hoofdzetel in Oostenrijk. De afdeling is dus maar een klein onderdeel in de organisatie, maar speelt toch een onmisbare rol in de dagelijkse werking bij Mondi Belcoat. Hieronder zie je het organigram van het IT-departement.

13 IT-Departement Kurt Geys Hardware Pang Kim Bonn SAP Software Helpdesk Organigram 1-1: Structuur IT-departement De IT-coördinator, Kurt Geys, is verantwoordelijk voor alles wat te maken heeft met IT. Hij doet kleine herstellingen aan de hardware of installeert en configureert nieuwe hardware voor andere medewerkers zoals laptops, desktops en printers. De software wordt ook door hem beheerd. Hij installeert dus alle software op de computers binnen de organisatie. Wanneer medewerkers een probleem ondervinden dat met IT te maken heeft, zullen zij hem contacteren. Dit kan met een functie in Microsoft Outlook of telefonisch. Hij zal dan proberen om het probleem zo snel mogelijk te verhelpen. Hij staat dus alleen in voor de helpdesk. Hij regelt ook de aankoop van IT-producten en diensten. Voor grotere re IT-projecten schakelt hij de hulp in van externe gespecialiseerde bedrijven. Wanneer medewerkers een probleem ondervinden met het SAP-systeem, contacteren zij de verantwoordelijke, Pang Kim Bonn. Hij contacteert dan de IT-afdeling in Oostenrijk. Zij stellen een mogelijke oplossing voor en hij dient die dan uit te voeren en te testen.

14 2 OPDRACHTEN Mijn stageopdracht bestond uit twee delen. Enerzijds was ik samen met de ITcoördinator verantwoordelijk voor het runnen van de helpdesk en het managen van de IT-afdeling. Anderzijds moest ik een webapplicatie in PHP programmeren die zal functioneren als een soort elektronische leeromgeving. Ik heb mijn dagen ingedeeld volgens deze 2 opdrachten. Tijdens de voormiddag werkte ik samen met de ITcoördinator en s namiddags ging ik aan de slag met mijn PHP-applicatie. 2.1 Assistentie IT-coördinator Assisteren van de IT-coördinator betekent vooral helpen bij het runnen van de helpdesk. Anderzijds moet de totale IT-organisatie dagelijks onderhouden worden, zowel de hardware-omgeving als de software-omgeving. Dit alles zorgt voor een ruim pakket aan taken. 2.1.1 Beveiliging Een belangrijke taak van de helpdesk is het opvolgen van virusproblemen bij clients. Een geïnfecteerd bestand kan zich namelijk snel verspreiden over het netwerk, meerdere clients besmetten en uiteindelijk de dagelijkse werking van de organisatie belemmeren. Meldingen over de aanwezigheid van geïnfecteerde bestanden komen terecht in de inbox van de helpdesk (Zie figuur 2-1 ). Figuur 2-1: Virusmelding in Outlook In deze melding staat informatie over het besmette bestand en de besmette client. Zo kunnen de client en het besmette bestand snel opgespoord worden en uiteraard wordt het besmette bestand dan ook zo snel mogelijk verwijderd, als dit nog niet is gebeurd door de anti-virussoftware. Ik heb een procedure geschreven zodat werknemers ook zelf een virus kunnen zoeken, vinden en verwijderen. Een procedure voor het verwijderen van een virus vindt u in bijlage 1. Het is binnen een organisatie ook noodzakelijk om bestanden en mappen op het netwerk de juiste rechten toe te kennen. Bestanden die bedoeld zijn voor medewerkers van de personeelsdienst mogen niet toegankelijk zijn voor andere medewerkers, tenzij er natuurlijk reden voor is. Dit moet allemaal consequent in elkaar steken zodat er geen misbruik kan gemaakt worden, maar zo dat toch iedere medewerker toegang heeft tot de nodige bestanden. Er is een netwerkschijf waarop alle bestanden staan van alle departementen. Per departement is er een map voorzien met daarin een map met toegang voor medewerkers van het departement en een map met toegang voor alle gebruikers. Dit alles wordt beheerd via de domain controller. Hierin worden gebruikers toegevoegd aan een bepaalde groep. Die groep heeft dan alle nodige rechten voor alle

15 benodigde mappen al ingesteld. Voor elke nieuwe medewerker heb ik de rechten toegekend. Rechten kunnen ook gewijzigd worden via Windows verkenner (zie figuur 2-2). Dit doe je door met de rechtermuisknop op een folder te klikken en vervolgens op eigenschappen te klikken. In het tabblad 'Beveiliging' vind je dan de huidige groepen en gebruikers die toegang hebben tot de folder. Daaronder kan je dan ook nog eens de verschillende toegewezen machtigingen bekijken en eventueel wijzigen. Deze groepen zijn aangemaakt in de domain controller, meer bepaald in de active directory Users and Computers op de server BEDUFFEDC. Figuur 2-2: Tabblad Beveiliging Hieronder zie je de map Groups in de Active Directory Users and Computers. Hierin staan alle groepen van gebruikers. 2.1.2 Ondersteuning Figuur 2-3: Groups op domain controller Het is noodzakelijk om binnen een organisatie ondersteuning te bieden aan medewerkers die maar een minimale kennis hebben van IT. Dit geeft een ruime waaier van taken en opdrachten: problemen oplossen i.v.m. Microsoft office-pakket; hardwarematige problemen met computers; softwarematige problemen met computers;

16 problemen met printers, printservers;. 2.1.3 Nieuwe medewerkers Voor elke nieuwe medewerker bij Mondi Belcoat moet een computer beschikbaar zijn. Medewerkers die ook thuis werken, krijgen een laptop ter beschikking. Meestal worden oude computers in stock opnieuw geïnstalleerd indien ze nog correct functioneren. Dit gebeurt via een Windowsinstallatiecd of via een al vooraf gemaakte image van een harde schijf van een computer die overeenkomt met de te installeren computer. De image heeft de voorkeur omdat deze alle drivers en alle nodige software installeert. Bij een Windowsinstallatie moet dit handmatig gebeuren en dit neemt heel wat meer tijd in beslag. Natuurlijk moet de gebruiker ook een account krijgen. Dit wordt beheerd via de domain controller. Figuur 2-4:Nieuwe account aanmaken De nieuwe medewerker wordt toegevoegd aan de huidige users, krijgt de juiste toegang tot groepen en een accountnaam en wachtwoord. De nieuwe gebruiker aan een groep toevoegen doen we nadat we een account hebben gemaakt via Eigenschappen. In het tabblad Member of kunnen we de gebruiker gaan toevoegen aan de juiste groepen. Figuur 2-5: Tabblad Member of

17 Op de storage area server of BEDUFFESA wordt er een stukje ruimte gereserveerd voor persoonlijke bestanden van de gebruiker. We moeten op de domain controller dit stukje ruimte nog wel instellen zodat er connectie naar de schijf kan gemaakt worden. Elke gebruiker krijgt ook een log-inscript ingesteld in zijn profiel, dit script zal tijdens het opstarten kijken of er nieuwe updates voor programma s nodig zijn, netwerkschijven aangemaakt moeten worden,. 2.1.4 E-mail Figuur 2-6: Tabblad Profile Na het aanmaken van de gebruiker op de domain controller maken we een mailaccount aan op de server van Mondi in Oostenrijk via een simpele webinterface. Hierop dienen enkele basisgegevens over de nieuwe medewerker ingevuld te worden waarna het systeem een mailaccount en paswoord genereert. Het paswoord wordt wel gewijzigd naar een vooraf opgesteld patroon. Daarna kunnen we Microsoft outlook configureren met de nieuw aangemaakte mailaccount. Dit doen we door verbinding te maken met de Microsoft Exchangeserver van Mondi. Wij gebruiken de Exchangeserver dus als mailserver. Meer informatie hierover vind je in bijlage 2. 2.1.5 Onderhoud IT-database Alle IT-hardware binnen de organisatie wordt in een database bijgehouden. Elk toestel heeft een eigen ID. Deze ID is ook terug te vinden op een label op het toestel zelf. Van elk toestel kunnen de gegevens en de huidige eigenaar bekeken worden. Het is ook mogelijk om de geschiedenis van vorige eigenaars te bekijken. Telkens wanneer er een nieuw IT-apparaat aangekocht wordt, dient dit in de database gezet te worden. Er is een handige GUI ontwikkeld om dit te vergemakkelijken. 2.1.6 Batchfiles beheren Wanneer een gebruiker zijn computer opstart, gebeuren er automatisch enkele acties zoals controleren op updates voor software of een homefolder aanmaken. Ik heb een batchfile geschreven voor laptopgebruikers binnen het bedrijf. De mailbox van een gebruiker wordt bewaard op zijn persoonlijke homefolder op het netwerk onder de vorm van een PST-bestand. Wanneer de gebruiker zijn laptop mee naar huis neemt, heeft hij echter geen toegang meer tot de netwerkschijf. Daarom zou het handig zijn als de mailbox gekopieerd wordt naar een schijf van de laptop tijdens het afmelden. Dit heb ik uitgewerkt in kladblok. Om te beginnen heb ik een controle geprogrammeerd op de gebruikersnaam van de werknemer aangezien de file bij iedereen wordt uitgevoerd tijdens het afmelden, maar niet van toepassing is voor elke gebruiker. Als de Username dus gelijk is met een vooraf gedefinieerde naam dan wordt de bat-file uitgevoerd.

18 Uiteraard heb ik onderscheid moeten maken tussen verschillende talen, aangezien er gebruikers zijn binnen de organisatie die met een Engelstalige Windows werken i.p.v. de standaard Nederlandstalige Windows. Ik heb dit gedaan door te kijken naar de map Mijn documenten. Als de map Mijn documenten heet, is het een Nederlandstalige interface. Heet de map My documents dan is het een Engelstalige interface. Het programma zal dus de juiste interface kiezen en dan gaan controleren of er al een mapje bestaat op de harde schijf waarin de mailbox komt. Als het mapje nog niet bestaat, zal het programma dit eerst aanmaken. Als het mapje al bestaat, zal het programma de mailbox onder de vorm van PST-bestanden kopiëren van de netwerkschijf naar de harde schijf van de laptop. De uitwerking van de batchfile bevindt zich in bijlage 3. 2.1.7 Beheer stock Alle hardware, van printers tot monitors, wordt gestockeerd volgens type in een ruimte naast het IT-departement. Zo is alles snel te vinden. De meeste wijzigingen in de stock gebeuren bij de inkttoners. In de productie staan namelijk heel wat printers die labels moeten afdrukken en dus relatief snel leeg geraken. De stock moet consequent opgevolgd worden, zodat er bijvoorbeeld geen tekort komt aan toners. 2.1.8 Onderhoud IT binnen de organisatie Het is uitermate belangrijk om IT-systemen altijd up-to-date te houden, zodat ze continu optimaal kunnen blijven presteren. Zo moet er regelmatig verouderde soft- en hardware geüpdatet worden. Ook worden er steeds innovatieve oplossingen gezocht om systemen optimaler te doen werken. 2.2 Elektronische leeromgeving 2.2.1 Aanleiding en achtergrond van het project Voor Mondi Belcoat zou het handig zijn als nieuwe medewerkers een opleiding kunnen leren aan de hand van een vlotte applicatie. Deze applicatie moet werken op basis van herhalingen, zodat de gebruiker door dagelijks gebruik van de applicatie een zekere routine kweekt en daardoor de opleiding onder de knie krijgt. Nieuwe opleidingen, voor bijvoorbeeld medewerkers in de productie, kunnen op deze manier aangeleerd worden. Het is wel de bedoeling dat werknemers dit op eigen initiatief doen, ze zullen zeker niet gedwongen worden tot het gebruik van de applicatie. 2.2.2 Business Case Mijn doel is om een zo volledig mogelijke applicatie af te leveren. De applicatie moet vlot en makkelijk werken voor gebruikers en ook voor administrators met minimale ITkennis. Op die manier kunnen werknemers op eigen initiatief voor een cursus of opleiding slagen, zonder al te veel tijd kwijt te geraken aan het studeren van de leerstof. Een groot voordeel voor het bedrijf is dat het een kostenvrij project is, aangezien het enkel door mij gerealiseerd wordt. Dankzij mijn opleiding Toegepaste Informatica moet ik dit project op een correcte wijze kunnen realiseren. 2.2.3 Verwacht resultaat Werknemers kunnen uit vrije wil cursussen studeren over allerhande onderwerpen gerelateerd aan het bedrijf. Na verloop van tijd kennen ze de cursus, enkel door dagelijks gebruik te maken van de applicatie. Ze moeten dus niets studeren. Het moet ook mogelijk zijn voor een gebruiker om zijn statistieken bij te houden en te bekijken.

19 Zo kan de gebruiker zelf zijn vooruitgang analyseren en beslissen of hij al dan niet verder gebruik moet maken van de applicatie. Gebruikers met een minimale IT-kennis moeten de applicatie kunnen beheren. Een uitgebreide analyse is dus noodzakelijk om de gebruiksvriendelijkheid optimaal te realiseren. Er moet ook een database voorzien worden zodat dynamische inhoud beheerd kan worden. 2.2.4 Omschrijving van de primaire doelgroep Nieuwe medewerkers van Mondi of huidige personeelsleden die via een andere aanpak een cursus of opleiding willen volgen of een routine willen kweken, moeten snel en vlot kunnen werken met deze applicatie. 2.2.5 Derden: andere stakeholders De applicatie kan voor allerlei doeleinden gebruikt worden; zowel door scholen als andere bedrijven. Er kunnen allerhande cursussen toegevoegd worden, van bedrijfsgerelateerde softwarecursussen tot eenvoudige cursussen van lagere scholen. Er zijn dus oneindig veel mogelijkheden. 2.3 Gebruikte software Uiteraard heb ik tijdens mijn stage gebruik gemaakt van vele handige IT-tools. 2.3.1 Netbeans IDE Netbeans IDE heb ik gebruikt om de PHP-applicatie te programmeren. Het is een ontwikkelomgeving met ondersteuning van o.a. syntax-highlighting. Netbeans is ook geschikt voor andere veel gebruikte programmeertalen zoals Java. Het is open source en dus gratis te downloaden, wat een groot voordeel is t.o.v. Dreamweaver. Sun is de hoofdsponsor van Netbeans. 2.3.2 REAL VNC VNC of Virtual Network Computing is platformonafhankelijke software waarmee je een bureaublad van een computer kan delen. Dit wordt mogelijk gemaakt door rfb (Remote FrameBuffer protocol), waardoor je een andere computer op afstand kan beheren. VNC verstuurt de toetsaanslagen en muisbewegingen van de ene computer, de 'server' naar een andere computer, de 'viewer'(zie figuur 2-7). Het beeld wordt de andere kant opgestuurd via het netwerk. Je hebt dus viewer mode en server mode. Met de viewer mode of client kan je een computer of 'server' overnemen en deze beheren. De server mode is de computer die zijn bureaublad deelt en overgenomen kan worden. Het is mogelijk om meerdere clients op één server te laten werken. De verbinding tussen de viewer en de server wordt geëncrypteerd en paswoorden worden niet als platte tekst verzonden om ongewenste bezoekers af te weren. Figuur 2-7: Verbinding VNC

20 Ik heb VNC veel gebruikt wanneer ik clients in de productie of clients die ver weg stonden van de IT-afdeling, moest overnemen om software te installeren of om een klein probleem op te lossen. 2.3.3 Microsoft Office Outlook Dit programma is een bekend onderdeel van het Officepakket van Microsoft. Outlook is een e-mail client. Door gebruik van de Microsoft Exchangeserver kunnen wij binnen Mondi snel en eenvoudig gegevens delen met elkaar. Alle meldingen voor de helpdesk komen binnen in een speciale aparte inbox in Outlook. Figuur 2-8: Takenlijst Outlook Deze meldingen of taakverzoeken kunnen wij dan accepteren zodat deze in een takenlijst terecht komen. Zo krijgen we een handig op te volgen overzicht van taken die al gedaan zijn, of die nog moeten gebeuren. Er bestaat ook een handige functie waarmee we de afzender kunt verwittigen als de taak voltooid is. 2.3.4 Microsoft Office Access Deze relationele databasesoftware van Microsoft biedt de mogelijkheid aan gebruikers om databanken te maken zonder uitgebreide IT-kennis. Het is net als Outlook een onderdeel van het Officepakket. Dit programma heb ik gebruikt om de hardwaredatabase te beheren. 2.3.5 Norton Ghost Dit programma maakt het mogelijk om snel en eenvoudig een back-up te maken van een harde schijf of een partitie. Een nieuwe Windowsinstallatie wordt op die manier compleet overbodig. Bij Mondi Belcoat wordt er van elke computer maandelijks een image als back-up gemaakt en wekelijks een incrementele back-up. 2.3.6 Trend Micro Officescan Antivirus Dit krachtig anti-virusprogramma beschermt servers, desktops, laptops enz., zowel binnen als buiten het netwerk tegen ongewenste indringers, spyware, wormen enzovoort.

21 2.3.7 MySQL Dit is een RDBMS of relationeel databasemanagementsysteem. Het wordt gebruikt om gegevens zoals tekst en getallen of andere types in databases op te slaan. MySQL maakt gebruik van SQL en wordt algemeen veel gebruikt in combinatie met PHP, Linux en Apache. Wikipedia is een site die ook gebruik maakt van MySQL. 2.3.8 PHPMyAdmin Via een overzichtelijke webinterface kan je met deze software makkelijk MySQLtabellen beheren. Het is mogelijk om tabellen aan te maken, te verwijderen en aan te passen. Het is ook mogelijk om SQL-query s in te voeren en om gegevens te exporteren. 2.3.9 Apache webserver Figuur 2-9: Interface phpmyadmin Deze webserver is net als PHPMyAdmin en MySQL opensource software. IIS of Internet Information Services van Microsoft is de belangrijkste concurrent van Apache. Het grote voordeel van Apache t.o.v. IIS is het prijskaartje. Er zijn geen kosten verbonden aan Apache, bij IIS is dit wel het geval. 2.3.10 Gliffy Met deze handige online tool kan je makkelijk diagrammen maken. Er zijn geen kosten verbonden aan het programma. Persoonlijk vind ik het een waardige concurrent voor Microsoft Visio. Vooral het verschil in gebruiksvriendelijkheid viel me sterk op in het voordeel van Gliffy. Gliffy heeft wel wat minder mogelijkheden dan Visio. 2.3.11 Crimson Editor Figuur 2-10: Interface Gliffy Deze professionele editor is gratis software voor Windows. Hij wordt vooral gebruikt als editor voor broncode of HTML. Deze editor heeft een ingebouwde syntax highlighting wat een duidelijkere structuur geeft aan het document.

22 Ik heb deze editor gebruikt om de configuratiebestanden van Apache en PHP aan te passen. 2.3.12 Microsoft Office Visio Dit is software om technische schema s te maken. Het is een onderdeel van het Microsoft Officepakket. Ik heb Visio gebruikt om mijn use case diagrammen te maken. 2.3.13 ZBar Deze tool is er voor personen die gebruik maken van meerdere monitoren. Wanneer je dus gebruik maakt van 2 monitoren, zal Windows de taakbalk enkel op het hoofdscherm tonen. Je kan het bureaublad uitbreiden naar het tweede scherm, maar de taakbalk blijft op het eerste scherm staan. Aangezien ik tijdens mijn stage ook gebruik gemaakt heb van twee monitoren, een laptop en een externe monitor, had ik graag de taakbalk op beide schermen gehad zodat ik niet steeds terug naar het laptopscherm moest. Hiervoor heb ik wel even wat research gedaan naar mogelijke oplossingen en uiteindelijk viel mijn keuze op ZBar. Het is simpel in gebruik en gratis. Ik heb daarna de execute-file ZBar.exe gekopieerd naar de map Opstarten zodat ik automatisch bij het opstarten een doorlopende taakbalk had.

23 3 ANALYSE EN AANPAK ELEKTRONISCHE LEEROMGEVING In dit hoofdstuk volgt mijn analyse van de PHP-applicatie. Het is belangrijk om eerst een analyse te maken om een goed beeld te krijgen van de applicatie. Een analyse is natuurlijk ook een handig hulpmiddel tijdens het programmeren. Pas na het maken van een analyse kan er overgegaan worden tot de programmatie van de applicatie. 3.1 Functionele Eisenanalyse Hier worden de functies beschreven die de applicatie dient te hebben volgens de gebruikers. 3.1.1 Use case diagram op sea-level Een use case diagram toont de gebruikers of actoren van het systeem en welke functies deze gebruikers nodig hebben. Figuur 3-1: Use case diagram 3.2 Use case scenario s In elk scenario vind je een beschrijving of overzicht van de stappen die uitgevoerd dienen te worden door de actor of het systeem.

24 3.2.1 Inloggen Naam : Inloggen als gebruiker Samenvatting : Gebruiker/werknemer logt in om toegang te krijgen tot het systeem. Actoren : Gebruiker/werknemer Precondities : / Actor Systeem Alternatief 1. Kiest voor aanmelden 3. Geeft gebruikersnaam en wachtwoord in 2. Toont aanmeldvenster 4. Zoekt gebruiker op in database en toont persoonlijke pagina en stopt de use case (1)(2) Alternatief Omschrijving Actie (1) Er zijn geen gegevens ingevuld Systeem toont foutmelding en use case stopt (2) De gebruiker bestaat niet Systeem toont foutmelding en use case stopt Resultaat: De actor heeft zich succesvol aangemeld op het systeem. 3.2.2 Leerpakket toevoegen aan account Naam : Leerpakket toevoegen aan account Samenvatting : Gebruiker/werknemer bekijkt leerpakketten en voegt ze eventueel toe aan zijn/haar account. Actoren : Gebruiker/werknemer Precondities : Actor is ingelogd Actor Systeem Alternatief 5. Kiest voor zoek leerpakketten 6. Toont categorieën

25 7. Kiest een categorie 9. Kiest toevoegen aan account 11. Stop de use case 8. Toont leerpakketten van de gekozen categorie 10. Voegt het gekozen leerpakket toe aan de account van de actor (1) (2) Alternatief Omschrijving Actie (1) Er zijn geen leerpakketten beschikbaar (2) Het gekozen leerpakket staat al op de account van de gebruiker Systeem toont foutmelding en use case stopt Systeem toont foutmelding en use case stopt Resultaat: De actor heeft een leerpakket toegevoegd aan zijn persoonlijke account. 3.2.3 Leerpakket studeren Naam : Leerpakket studeren Samenvatting : Gebruiker/werknemer studeert één van zijn/haar leerpakketten. Actoren : Gebruiker/werknemer Precondities : Actor is ingelogd en heeft minstens één leerpakket toegevoegd aan zijn /haar account. Actor Systeem Alternatief 1. Kiest voor persoonlijke leerpakketten 3. Kiest voor oefen dit leerpakket voor het gewenste leerpakket 2. Toont de leerpakketten die de actor aan zijn account heeft toegevoegd 4. Toont vragen (1)

26 5. Geeft antwoord 7. Stop de use case 6. Gaat naar volgende vraag Alternatief Omschrijving Actie (1) Er zijn geen vragen meer beschikbaar Systeem toont resultaatpagina en use case stopt Resultaat: De actor heeft een leerpakket kunnen studeren. 3.2.4 Statistieken bekijken Naam : Statistieken bekijken Samenvatting : Gebruiker/werknemer bekijkt zijn statistieken. Actoren : Gebruiker/werknemer Precondities : Actor is ingelogd Actor Systeem Alternatief 1. Kiest voor bekijk statistieken 2. Toont de statistieken (1) van de actor 3. Stop de use case (2) Alternatief Omschrijving Actie (1) Er zijn geen statistieken beschikbaar (2) Actor kiest om statistieken te resetten Systeem toont foutmelding en use case stopt Systeem reset de statistieken en use case stopt Resultaat: De actor heeft een leerpakket kunnen studeren. 3.2.5 Leerpakket verwijderen van account Naam : Leerpakket verwijderen van account

27 Samenvatting : Gebruiker/werknemer verwijdert een leerpakket dat op zijn persoonlijke account staat. Actoren : Gebruiker/werknemer Precondities : Actor is ingelogd en heeft minstens één leerpakket toegevoegd aan zijn account Actor Systeem Alternatief 1. Kiest voor persoonlijke leerpakketten 3. Kiest voor verwijder dit pakket 2. Toont de leerpakketten van de actor 4. Verwijdert pakket en geeft een melding en de use case stopt (1) Alternatief Omschrijving Actie (1) Er zijn geen leerpakketten beschikbaar Systeem toont foutmelding en use case stopt Resultaat: De actor heeft een leerpakket succesvol verwijderd. 3.2.6 Herhalingen maken Naam : Herhalingen maken Samenvatting : Gebruiker/werknemer maakt herhalingen van zijn/haar leerpakketten. Actoren : Gebruiker/werknemer Precondities : Actor is ingelogd en heeft minstens 1 leerpakket toegevoegd aan zijn /haar account. Actor Systeem Alternatief 1. Kiest om herhalingen te maken van een leerpakket 3. Geeft antwoord 2. Toont herhalingsvragen

28 5. Stop de use case 4. Toont volgende vraag (1) Alternatief Omschrijving Actie (1) Er zijn geen vragen meer beschikbaar Systeem toont resultaatpagina en use case stopt Resultaat: De actor heeft herhalingen van een leerpakket kunnen maken. 3.2.7 Account verwijderen Naam : Account verwijderen Samenvatting : Gebruiker/werknemer verwijdert zijn account. Actoren : Gebruiker/werknemer Precondities : Actor is ingelogd Actor Systeem Alternatief 1. Kiest voor verwijder je account 3. Bevestigt actie 2. Vraagt om bevestiging 4. Verwijdert account uit database en geeft een melding (1) Alternatief Omschrijving Actie (1) Actor annuleert de actie Systeem toont melding en use case stopt Resultaat: De actor heeft zijn account succesvol verwijderd. 3.2.8 Wachtwoord aanpassen Naam : Wachtwoord aanpassen Samenvatting : Gebruiker/werknemer wijzigt zijn wachtwoord Actoren :

29 Gebruiker/werknemer Precondities : Actor is ingelogd Actor Systeem Alternatief 1. Kiest voor wachtwoord aanpassen 2. Toont venster en vraagt om oud wachtwoord en nieuw 3. Geeft gegevens in (1) 4. Wijzigt wachtwoord Alternatief Omschrijving Actie (1) Actor geeft de verkeerde gegevens in Systeem toont melding en gaat terug naar stap 2 Resultaat: De actor heeft zijn wachtwoord succesvol aangepast. 3.2.9 Registreren Naam : Registreren Samenvatting : Gebruiker/werknemer registreert zich om toegang te krijgen tot het systeem Actoren : Gebruiker/werknemer Precondities : / Actor Systeem Alternatief 1. Kiest voor registreren 2. Toont venster en vraagt om een gebruikersnaam en wachtwoord 3. Geeft gegevens in (1) 4. Voegt de nieuwe gebruiker toe aan de database Alternatief Omschrijving Actie

30 (1) Actor geeft te weinig gegevens in Systeem toont melding en gaat terug naar stap 2 Resultaat: De actor heeft succesvol een account aangemaakt. 3.2.10 Gebruiker wijzigen Naam : Beheren gebruikers - gebruiker wijzigen Samenvatting : Wijzigen van gebruikers door de administrator Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor aanpassen gebruiker 3. Wijzigt de gegevens 2. Toont venster met gegevens gebruiker 4. Wijzigt de gegevens van de gebruiker in de database (1) Alternatief Omschrijving Actie (1) Actor geeft te weinig of foute gegevens in Systeem toont foutmelding en gaat terug naar stap 2 Resultaat: De actor heeft succesvol een gebruiker gewijzigd. 3.2.11 Gebruiker verwijderen Naam : Beheren gebruikers - gebruiker verwijderen Samenvatting : Verwijderen van gebruikers door de administrator Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor verwijderen

31 gebruiker 2. Toont bevestigingsvenster 3. Kiest voor ja (1) 4. Verwijdert de gebruiker uit de database Alternatief Omschrijving Actie (1) Actor kiest voor nee Systeem toont foutmelding en use case stopt Resultaat: De actor heeft succesvol een gebruiker verwijderd. 3.2.12 Nieuwe gebruiker aanmaken Naam : Beheren gebruikers - gebruiker aanmaken Samenvatting : Aanmaken van nieuwe gebruikers door de administrator Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor nieuwe gebruiker 2. Toont venster met velden die ingevuld moeten worden 3. Vult gegevens in (1) 4. Maakt nieuwe gebruiker aan in database Alternatief Omschrijving Actie (1) Actor geeft foute of te weinig gegevens in Systeem toont foutmelding en gaat naar stap 2 Resultaat: De actor heeft succesvol een nieuwe gebruiker aangemaakt. 3.2.13 Leerpakket wijzigen Naam : Beheren leerpakketten - leerpakket wijzigen Samenvatting : Wijzigen van leerpakketten door de administrator

32 Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor aanpassen leerpakket 3. Wijzigt de gegevens 2. Toont venster met gegevens leerpakket 4. Wijzigt de gegevens van het leerpakket in de database (1) Alternatief Omschrijving Actie (1) Actor geeft te weinig of foute gegevens in Systeem toont foutmelding en gaat terug naar stap 2 Resultaat: De actor heeft succesvol een leerpakket gewijzigd. 3.2.14 Leerpakket verwijderen Naam : Beheren leerpakketten - leerpakket verwijderen Samenvatting : Verwijderen van leerpakket door de administrator Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor verwijderen leerpakket 2. Toont bevestigingsvenster 3. Kiest voor ja (1) 4. Verwijdert het leerpakket uit de database Alternatief Omschrijving Actie (1) Actor kiest voor nee Systeem toont foutmelding en use case stopt

33 Resultaat: De actor heeft succesvol een leerpakket verwijderd. 3.2.15 Nieuw leerpakket aanmaken Naam : Beheren leerpakketten - leerpakket aanmaken Samenvatting : Aanmaken van nieuwe leerpakketten door de administrator Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor nieuw leerpakket 2. Toont venster met velden die ingevuld moeten worden 3. Vult gegevens in (1) 4. Maakt nieuw leerpakket aan in database Alternatief Omschrijving Actie (1) Actor geeft foute of te weinig gegevens in Systeem toont foutmelding en gaat naar stap 2 Resultaat: De actor heeft succesvol een nieuw leerpakket aangemaakt. 3.2.16 Categorie wijzigen Naam : Beheren categorieën - categorie wijzigen Samenvatting : Wijzigen van categorieën door de administrator Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor aanpassen categorie 2. Toont venster met gegevens categorie

34 3. Wijzigt de gegevens 4. Wijzigt de gegevens van de categorie in de database (1) Alternatief Omschrijving Actie (1) Actor geeft te weinig of foute gegevens in Systeem toont foutmelding en gaat terug naar stap 2 Resultaat: De actor heeft succesvol een categorie gewijzigd. 3.2.17 Categorie verwijderen Naam : Beheren categorieën - categorie verwijderen Samenvatting : Verwijderen van categorie door de administrator Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor verwijderen categorie 2. Toont bevestigingsvenster 3. Kiest voor ja (1) 4. Verwijdert de categorie uit de database Alternatief Omschrijving Actie (1) Actor kiest voor nee Systeem toont foutmelding en use case stopt Resultaat: De actor heeft succesvol een categorie verwijderd. 3.2.18 Nieuwe categorie aanmaken Naam : Beheren categorieën - categorie aanmaken Samenvatting : Aanmaken van nieuwe categorieën door de administrator Actoren : Beheerder/admin

35 Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor nieuwe categorie 2. Toont venster met velden die ingevuld moeten worden 3. Vult gegevens in (1) 5. Stopt use case 4. Maakt nieuwe categorie aan in database Alternatief Omschrijving Actie (1) Actor geeft foute of te weinig gegevens in Systeem toont foutmelding en gaat naar stap 2 Resultaat: De actor heeft succesvol een nieuwe categorie aangemaakt. 3.2.19 Vragen wijzigen Naam : Beheren vragen - vragen wijzigen Samenvatting : Wijzigen van vragen door de administrator Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor aanpassen vraag 3. Wijzigt de gegevens 5. Stopt use case 2. Toont venster met gegevens vraag 4. Wijzigt de gegevens van de vraag in de database (1) Alternatief Omschrijving Actie (1) Actor geeft te weinig of foute gegevens in Systeem toont foutmelding en gaat terug naar stap 2

36 Resultaat: De actor heeft succesvol een vraag gewijzigd. 3.2.20 Vraag verwijderen Naam : Beheren vragen - vraag verwijderen Samenvatting : Verwijderen van vragen door de administrator Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor verwijderen vragen 2. Toont bevestigingsvenster 3. Kiest voor ja (1) 4. Verwijdert de vragen uit de database Alternatief Omschrijving Actie (1) Actor kiest voor nee Systeem toont foutmelding en use case stopt Resultaat: De actor heeft succesvol een vraag/vragen verwijderd. 3.2.21 Nieuwe vragen aanmaken via txt Naam : Beheren vragen - vragen aanmaken met txt-bestand Samenvatting : Aanmaken van nieuwe vragen door de administrator met een txt-bestand Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor nieuwe vragen 2. Toont venster waar een txt-bestand moet geüpload worden

37 3. Kiest het bestand en klikt op uploaden 4. Haalt vragen en antwoorden uit bestand en maakt nieuwe vragen aan in database (1) Alternatief Omschrijving Actie (1) Actor geeft foute of te weinig gegevens in Systeem toont foutmelding en gaat naar stap 2 Resultaat: De actor heeft succesvol nieuwe vragen aangemaakt. 3.2.22 Nieuwe vragen aanmaken via cvs Naam : Beheren vragen - vragen aanmaken met cvs-bestand Samenvatting : Aanmaken van nieuwe vragen door de administrator met een cvs-bestand Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 5. Kiest voor nieuwe vragen 7. Kiest het bestand en klikt op uploaden 6. Toont venster waar een cvs-bestand moet geüpload worden 8. Haalt vragen en antwoorden uit bestand en maakt nieuwe vragen aan in database (1) Alternatief Omschrijving Actie (1) Actor geeft foute of te weinig gegevens in Systeem toont foutmelding en gaat naar stap 2 Resultaat: De actor heeft succesvol nieuwe vragen aangemaakt. 3.2.23 Beheer tekst startpagina Naam : Beheer tekst startpagina

38 Samenvatting : De beheerder kan de tekst van de startpagina aanpassen Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor beheer tekst startpagina 3. Geeft een tekst in en kiest een afbeelding 2. Toont pagina met een wysiwyginputveld en de mogelijkheid om een afbeelding te uploaden. 4. Schrijft de tekst en de afbeelding weg naar de database en uploadt de afbeelding naar de map upload. (1) Alternatief Omschrijving Actie (1) Actor kiest geen (nieuwe) afbeelding Systeem houdt de huidige afbeelding als die er is of laat het veld afbeelding leeg in database en gaat verder naar stap 4 Resultaat: De actor heeft succesvol nieuwe vragen aangemaakt. 3.2.24 Bekijk uploadmap Naam : Uploadmap bekijken Samenvatting : De beheerder kan de inhoud van de uploadmap bekijken Actoren : Beheerder/admin Precondities : Actor is ingelogd met admin-rechten Actor Systeem Alternatief 1. Kiest voor uploadmap bekijken

39 3. Klikt op 1 van de knoppen 2. Toont pagina met drie keuzes. Map met afbeeldingen, map met vragen en map met sounds 4. Toont de inhoud van de gekozen map Alternatief Omschrijving Actie Resultaat: De actor heeft de inhoud van de uploadmap kunnen bekijken. 3.3 Niet-functionele eisenanalyse Hier wordt besproken aan welke randvoorwaarden de applicatie moet voldoen. Deze voorwaarden hebben geen betrekking tot het doel van de applicatie. 3.3.1 Bruikbaarheid Het systeem moet werken op een pc. Het systeem moet een grafische userinterface hebben. De gebruiker (werknemer, administrator) van het systeem dient enige ervaring te hebben met een pc met Windows. Het systeem moet online beschikbaar zijn of op een server op het netwerk. De gebruiker (werknemer, administrator) van het systeem hoeft geen kennis van PHP of een andere programmeertaal te hebben. 3.3.2 Schaalbaarheid Het systeem dient vanaf meerdere pc's in een netwerk toegankelijk te zijn. Gebruikers moeten onafhankelijk van elkaar gebruik kunnen maken van het systeem. 3.3.3 Veiligheid Om de voornaamste functionaliteiten van het systeem te kunnen gebruiken zal een gebruiker of administrator moeten inloggen met een paswoord en gebruikersnaam. Er worden ook verschillende rollen toegekend. Zo zal een administrator andere mogelijkheden hebben dan een gewone gebruiker. 3.3.4 Kritikaliteit Het systeem kan best niet langer dan één dag uitvallen, zodat een gebruiker toch zijn dagelijkse routine kan verder zetten.

40 3.3.5 Uitvoeringsfrequentie en responstijd De responstijden van het systeem zijn minder dan twee seconden. Het systeem dient vanaf meerdere pc's in een netwerk toegankelijk te zijn. 3.3.6 Betrouwbaarheid Het systeem moet verbinding kunnen leggen en gegevens kunnen halen uit een database via MySQL. 3.3.7 Andere niet-functionele eisen Het systeem wordt geprogrammeerd in hoofdzakelijk PHP, HTML en Javascript. 3.4 Attributenlijst Figuur 3-2: Attributenlijst

41 3.5 Relationeel schema Figuur 3-3: Relationeel schema

42 3.6 Relatiebeschrijving Hier beschrijf ik de verschillende relaties in het datamodel. R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11 R12 R13 R14 R15 R16 R17 R18 1 gebruiker heeft 1 functie 1 functie heeft 0 of meerdere gebruikers 1 leerpakket behoort toe aan 1 categorie 1 categorie kan 0 of meerdere leerpakketten bevatten 1 gebruiker kan 0 of meerdere leerpakkettenuser hebben 1 leerpakkettenuser kan maar 1 gebruiker hebben 1 leerpakkettenuser kan 1 of meerdere leerpakketten bevatten 1 leerpakket kan toebehoren aan 0 of meerdere leerpakkettenuser 1 vraag behoort toe aan 1 categorie 1 categorie kan 0 of meerdere vragen bevatten 1 vraag behoort toe aan 1 leerpakket 1 leerpakket kan 0 of meerdere vragen bevatten 1 gebruiker kan 0 of meerdere statistieken hebben 1 statistiek behoort toe aan 1 gebruiker 1 leerpakket kan 0 of meerdere statistieken hebben 1 statistiek behoort toe aan 1 leerpakket Voor 1 juist antwoord behoort toe aan 1 vraag 1 vraag bestaat uit 1 of meerdere juiste antwoorden 1 gebruiker kan meerdere juiste antwoorden geven 1 juist antwoord kan door 1 of meer gebruikers gegeven worden 1 leerpakket heeft 1 of meerdere juiste antwoorden 1 juist antwoord kan in meerdere leerpakketten voorkomen Voor 1 fout antwoord bestaan er meerdere vragen 1 vraag bestaat uit 1 of meerdere foute antwoorden 1 gebruiker kan meerdere foute antwoorden geven 1 fout antwoord kan door 1 of meer gebruikers gegeven worden 1 leerpakket heeft 1 of meerdere foute antwoorden 1 fout antwoord kan in meerdere leerpakketten voorkomen 1 herhaling kan 0 of meerdere vragen hebben 1 vraag behoort toe aan 0 of meerdere herhalingen 1 herhaling kan 0 of meerdere gebruikers hebben 1 gebruiker behoort toe aan 0 of meerdere herhalingen 1 herhaling behoort toe aan 1 leerpakket 1 leerpakket kan 0 of meerdere herhalingen bevatten 1 voltooid pakket behoort toe aan 1 gebruiker 1 gebruiker kan 0 of meerdere voltooide pakketten bezitten