Technisch Design Document



Vergelijkbare documenten
Technisch Ontwerp Stylin s

Cursus Analyse voor Web Applicaties 1. Webdesign / Web Programmeren Analyse voor web applicaties SDM methode + Basis UML

En hoe gaan ze dit allemaal terugvinden?

Hoe bouw ik een component? Drs. Arjan Burger

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

opstarthandleiding mysqlworkbench November 2012 Fons van Kesteren HVA- CMD- V1 Datamodelleren

Kies File>New>Blank Page>PHP. Je kunt eventueel nog een stylesheet koppelen. Definieer nu eerst een site! Dat betekent: Site>New Site

Les 10 : Aanmaken van een database (deel2).

Project plan. Erwin Hannaart Sander Tegelaar

Niveau 2 Medewerker ICT

Puntjes op de I. Baris Firat

Les 2 Eenvoudige queries

VERENIGINGSWIJZER.NL PROJECTPLAN

Grafisch ontwerp. Referenties.

Opmerkingen kan je mailen naar: A. Kouters: A. Steijlen: Versie Datum Opmerkingen

De plug-in is heel eenvoudig te installeren met een setup-programma. Waarna je een aantal menu opties in het tools menu er bij krijgt.

Technisch ontwerp. Projectteam 6. Project "Web Essentials" 02 april Versie 2.1.0

Handleiding installatie Enecsys uitlezen op een Synology NAS

Verslag. Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers

LAB handleiding april

PORTFOLIO WEBSITE DOCUMENT AMY VERLOUW VAK: DED KLAS: M21T DOCENT: SCL

Werken met Google Docs en Google Drive

Modelleren en Programmeren

Informatica-Actief. i&i-conferentie. 25 november 2015, Amersfoort. Pieter Vorstenbosch en Paul Bergervoet

Planywhere adres:

Project verslag. Erwin Hannaart Sander Tegelaar

Javascript oefenblad 1

Handleiding Magister 5.2. leerlingen SG WILLEM DE ZWIJGER, KAMERLINGH ONNESDREEF 4, 2871JN SCHOONHOVEN.

Gosnowboarding.nl Wireflow 1: Beheer accommodatie - Amber Haccou - Versie 1.0

Katholieke Hogeschool Kempen ASP

LAB handleiding april

Werkboek studiekeuzecheck Opleiding HBO-ICT

Modular Development. Een App in Facebook. Dennis van der Oost CMD2D Module: CMDDEV01-7 Docent: Eric Mahieu. Eindverslag v.1.

Templates maken voor Joomla! Hoe maak je zelf een template voor je Joomla! website

TaskCentre Web Service Connector: Creëren van requests in Synergy Enterprise

Bottleball Onderzoeksverslag MovingMonsters. Uitgevoerd door Arno Classens

intro informatica F. Vonk versie

EDpuzzle. Wat is EDpuzzle? Site. Kostprijs. Hoe werkt het?

AFO 142 Titel Aanwinsten Geschiedenis

Installeer Apache2: Landstede februari 2009 versie 3 1 Bertil Hoentjen

Bitrix Site Manager gebruikershandleiding BureauZuid

SenBox Handleiding. Versie: juli

VWM :: Facturatie. Documentatie van het systeem. Danny van Wijk Auteur: Website:

icafe Een digitaal bestelsysteem voor de horeca Joeri Verdeyen Stefaan De Spiegeleer Naim Ben Tanfous

Connect Social Business. Plan van Aanpak voor mijn stage bij ConnectSB

Technische nota AbiFire Rapporten maken via ODBC

Handleiding IZEE CMS. Dit is de handleiding voor IZEECMS

DataFlex 19.0 SQL Server

Inhoud. Pagina 2 van 13

Dit kan gebruikt worden in zowel een ASP.NET web applicatie als een desktop applicatie.

ASRemote WebService. Via deze webservice kunt u:

Zicht - Content Management Systeem een algemene beschrijving

Fidura Enterprise. Documentatie Installatie BTW 2012 Fix, Versie / / 3.0.1

Introductie werken met ICT Wifi Office 365 Magister Slim

Stagerage Versie 3 zomer 2011

Website AC Lebbeke Inhoud

Handleiding CMS. Auteur: J. Bijl Coldfusion Consultant

Website beoordeling zonetelechargement.com

Server Side Scripting

Het omzetten van een ER-diagram naar SQL

Magister Web 5 en Magister Web 6

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

B.Sc. Informatica Module 4: Data & Informatie

SQL & Datamodelleren

Magister handleiding

maplev 2010/7/12 14:02 page 15 #17 Nadere detaillering van een aantal zaken van Module 1 Geen,, " ", \, save, read, protect, unprotect

Visual Basic.NET. Visual Basic.NET. M. den Besten 0.3 VB. NET

How To (person) Hieronder volgt een uitleg welk veld zie ik met een aantal scherm voorbeelden: Scherm beeld # 1. Invul tips: Link aanklikken

Modulewijzer Tirdat01

How To (company) Hieronder volgt een uitleg welk veld zie ik met een aantal scherm voorbeelden: Scherm beeld # 1. Invul tips: Link aanklikken

Projectdocument Airport Suite. The Wright Company: Zehna van den Berg Steven Both Reinier Maas Adolfo Ochagavía Bas Ouwerkerk Thijs van der Zaan

Variabelen en statements in ActionScript

Wat bieden we je aan. Onze voorwaarden. Hoe werkt het solliciteren?

Elo: Een opdracht inleveren

Weebly: Stappenplan voor docenten

Themahandleiding: SMS toepassing in Fronter

Websites aanpassen. Voor iedereen.

Beknopte handleiding remote werken met Novell Virtual office

Foto web applicatie documentatie

Handleiding Magister 6

Transcriptie:

Technisch Design Document Versie 1.1 Jeroen Frenken & Thomas Hopstaken - JTLearning 1 van 21

Inhoudsopgave Introductie 3 Silverlight 7 Technisch Design 8 Technische Specificaties 9 Leerdoelen 14 Codeer Afspraken 16 MoSCoW 20 Document Tracking 21 2 van 21

Introductie 1.1 Doelstelling Ons doel is om een nieuw leerlingvolgsysteem / leerlingadministatiesysteem te ontwikkelen met als inspiratiebron het huidige systeem Magister. Wij willen het systeem Magister verbeteren op de gebieden gebruiksvriendelijkheid en design omdat wij vinden dat Magister dit geen van beiden is. 1.2 Doelgroep Onze doelgroepen zijn leerlingen, docenten en administratoren van het MBO. Wij maken dit systeem voor nu alleen voor MBO, omdat er voor het VMBO meerdere goede systemen beschikbaar zijn en het MBO een beetje wordt achtergesteld. 1.3 Zakelijke doelstelling Door ons systeem wordt het SintLucas minder afhankelijk van Magister en dat scheelt in de kosten. SintLucas heeft meer zelf in de hand en heeft dan zelfs de mogelijkheid om het systeem aan te bieden aan andere partijen. 3 van 21

1.4 Risico s Het grootste risico waar wij rekening mee moeten houden is dat dit project in een korte tijd een enorme grote kan aan nemen waardoor wij door de bomen het bos niet meer kunnen zien. Dit gaan wij voorkomen door actief Scrum en MosCOW te gaan gebruiken en door goed vooropgestelde afspraken te maken. Een ander risico is dat ons product niet aanslaat bij het publiek. Wij willen dit voorkomen door geregeld feedback van onze beta-testers te vragen en ons daar op te oriënteren. 1.5 Naam NOVO : novo betekend letterlijk nieuw in Portugees. Wij 1.6 Sitemap hebben voor het woord nieuw gekozen omdat wij met ons systeem een nieuwe start willen. Wij hebben ook andere woorden geprobeerd, zoals student & school alleen NOVO vonden wij tot nu toe de beste. 4 van 21

5 van 21

1.7 Functies Wij willen de volgende functies in ons project gaan implementeren: - Login - Wachtwoord vergeten - Dashboard - ToDo lijst - Vandaag Rooster - Melding bord (aanwezigheid) - Aanwezigheid ( D ) - Rooster - Lessen - Huiswerk - Keuzemodules - NRE - Absenties ( D ) - Persoonlijke afspraken - Lokaal ( D ) - Beschikbaarheid - Reserveren - Aanwezigheid - Absenties - Lessen - Aantal uren - Statistiek - Cirkeldiagram - Cijfers - Overzicht - Gemiddelde - Toetsboom - Profiel - Algemene Persoon Informatie - Wachtwoord veranderen - OV 6 van 21

Silverlight Silverlight is een product van Microsoft. Silverlight is een systeem dat de strijd aan moest gaan met het uitstervende flash. Flash is desondanks toch een lange tijd een webstandaard gebleven. Net zoals Flash kan Silverlight gebruik worden voor animaties, video s and interactieve web apps. Net zoals Flash bied Silverlight de mogelijkheid om dingen voor elkaar te krijgen niet erg lasting of onmogelijk waren in plain HTML. Het nadeel was wel dat de gebruiker Flash geïnstalleerd moest hebben om Flash content te kunnen zien, en Silverlight om Silverlight content te kunnen bekijken. Het is leuk om deze theorie eens te testen. Als Flash uninstalleerd wordt van de computer, dan zul je merken dat bepaalde content niet meer helemaal goed werkt of helemaal weg is. Maar als je nu Silverlight uninstalleerd dat zul je bijna geen verschil zien. Dit is een ander verhaal bij Magister. Magister heeft Silverlight echt nodig en heeft geen zogenoemde fallback op Adobe Flash. Naast dat Silverlight bijna niet meer gebruikt en ondersteund wordt, is het ook nog eens onveilig om te gebruiken. Hackers kunnen tegenwoordig via Silverlight toegang krijgen tot je persoonlijke bestanden zonder dat de gebruiker dit door heeft. Dit kan iedereen die een beetje moeite doet voor elkaar krijgen. Dit kan voorkomen worden als Silverlight niet op je laptop staat. Daarom vinden wij het een goed idee om zo snel mogelijk van Silverlight afstand te doen en verder te gaan in HTML5 en geen gebruik meer te maken van een 3e partij. 7 van 21

Technisch Design 8 van 21

Technische Specificaties 3.1 Database Voor ons systeem gaan wij werken in MySQL en gebruiken phpmyadmin om dit te beheren. Wij gaan 7 databases gebruiken namelijk een centrale database die door een 3e partij beheerd wordt en eigen databases met schoolinformatie die wij zelf beheren. 3.2 Centrale Database Hier staat alle informatie die bekend is over de leerling voor deze op school kwam. Wij hebben overwogen om deze informatie via het DigiID op te vragen maar hebben hier niet voor gekozen omdat als wij zelf de server hebben kunnen wij makkelijk en snel aanpassingen maken. Ook hebben de uptime in eigenhand dus geen last van DigiID storingen en kost een login bij DigiID geld (als de gebruiker een sms controle heeft aangezet). 3.3 Eigen Databases Hier komt alle informatie te staan die de school nodig heeft om ons nieuwe systeem goed te laten werken. Deze bestaat uit 6 databases. 3.3.1 Students Database Database met basis informatie over de student zelf persoonlijk en zijn inloggedrag. 3.3.2 Teachers Database Alle informatie over de docent zelf en zijn inloggedrag. Ook het rooster staat in deze database. 9 van 21

3.3.3 Roosters Database In het rooster table worden verschillende dingen opgeslagen zoals: - Les Naam - Docent - Lokaal - Aanwezigheid (dit word per half uur opgeslagen) - Opmerking (denk aan huiswerk) (opmerkingen worden ook gebruikt voor de todolist) Hier is een voorbeeld van het opslaan van het rooster { "2016": { "8": { "MA": { "1/8": { "Naam" : "Keuze Module", "Docent" : "BDOH", "Lokaal" : "B408", "Aanwezigheid" : { "1" : "PR", "2" : "PR", "3" : "PR", "4" : "PR", "5" : "PR", "6" : "PR", "7" : "PR", "8" : "AB" }, opmerking : maken opdracht 2 }, "9": { "Naam" : "Paue", "Docent" : "", "Lokaal" : "AULA", "Aanwezigheid" : { "9": "PR" } }, zo gaat het rooster door voor de hele dag }, "DI": { "1/2": { "Naam" : "KEUZEMODULE", "Docent" : "", "Lokaal" : "" }, zo gaat het rooster door voor de hele dag } } } } 10 van 21

Het rooster blijft per gebruiker opgeslagen tot dat hij of zij uit de database wordt gehaald. Dus terug kijken is mogelijk. Ook is er in het rooster plek voor keuze modules. Deze modules kunnen zelf gekozen worden maar kunnen ook vooraf worden ingevuld door de administrator. 3.3.4 Studenten keuze module De keuze modules werken als volgt: in de row specialgroup wordt aangegeven in welke keuze groep jij zit bijvoorbeeld: NL1. Als het rooster wordt geladen gaat de database opzoek naar NL1 in de specialgroup row. Hier vindt deze NL1 en wordt in de row lecture de JSON opgehaald. Vervolgens wordt op de webpage de lecture en het rooster samengevoegd tot een rooster. Het idee is om van NRE ook keuze modules te maken alleen dat deze dan vooraf wordt ingevuld door de administrator. 3.3.5 Docenten keuze module Voor docenten werkt het keuze module systeem precies hetzelfde. De voordelen van het keuze module systeem is dat je hierdoor makkelijk een groep docenten kunt inplannen voor iets, bijv. een vergadering met maar een deel van de docenten. Docenten kunnen zowel leraar als student zijn in het systeem. Het docenten rooster werkt hetzelfde als het studenten rooster alleen wordt dan docent de klas en wordt aanwezigheid weg gehaald. 11 van 21

3.3.6 Aanwezigheid Aanwezigheid bestaat uit 3 groepen: Je hebt mentoren, docenten en administrators. Het verschil tussen deze 3 is dat een docent de aanwezigheid alleen kan aanpassen van de les die de docent heeft gegeven. Een mentor kan van alle leerlingen in zijn mentor klas de aanwezigheid aanpassen. Een administrator kan van iedereen in de school de aanwezigheid aanpassen. 3.3.7 ToDo De todolist is een nieuwe functie voor NOVO die ons handig leek. Met de todolist kan je makkelijk een lijst maken van de dingen die jij nog moet doen. Huiswerk wordt automatisch toegevoegd aan de todolist als deze beschikbaar is in de les. Ook kan je zelf taken toevoegen. 3.3.8 Database Model 12 van 21

13 van 21

Leerdoelen Wij hebben voor dit project meerdere leerdoelen gezet die wij willen behalen en voor ons ook handig lijken in de toekomst en bij een stage. Wij hebben de leerdoelen als volgt opgedeeld: 4.1 Grote Projecten - Een goede folder structuur - Werken met bitbucket (git) - Werken met een grote database - Houden aan een programmeer structuur - Duidelijke documentatie 4.2 Samenwerking - Werken met ze 2e aan een groot project. - Taken opvangen als een ziek is. 4.3 Beveiliging - Goed beveiligen van data die wij hebben. - Zorgen dat gevoelige data niet toegankelijk is voor het publiek. 14 van 21

4.3 Programeren Dit is onze MoSCoW die wij gaan toepassen voor de eerste 4 project weken. 4.3.1 PHP - Werken met routing. - Werken met Symfony - Werken met MVC. 4.3.2 CSS - Werken met een framework. 4.3.3 Java (Android) - Thomas (ervaring met Java android), Jeroen (geen ervaring). - Wat wij willen bereiken is dat we na dit project beide beter Java kunnen gebruiken. 4.3.4 Swift - Web zo goed mogelijk omzetten naar een App. 4.3.5 jquery & HTML - Dit beheersen wij goed en zullen dit toepassen. 4.3.6 SQL - Moeilijkere queries uitvoeren en een goede structuur houden. - Complexere Database structureren / technieken. 15 van 21

Codeer afspraken Voor dit project hebben wij verschillende afspraken gemaakt over hoe wij willen coderen en aan welke regels wij ons gaan houden. 5.1 Bestandsnaamgeving Alle bestandsnamen zijn lowercase en bevatten geen spaties. In plaats van een spatie wordt er een underscore geschreven. 5.2 Tabstructuur 1 tab = 2 spaces (Atom) Bij voorkeur altijd een tab gebruiken inplaats van een spatie. 5.3 Comments Comments kunnen op 2 manieren worden geschreven. - // - /* */ 5.4 PHP code tag De PHP tag mag op 2 manieren worden gebruikt. - <?php?> - <??> Bij voorkeur altijd de eerste gebruiken. 16 van 21

5.5 Brackets & Braces Tussen de brackets en de text wordt geen tussenruimte gedaan Tussen de brackets en de brace wordt een spatie tussenruimte gedaan, geen nieuwe regelation. if($foo == $bar) { } 5.6 Meerdere parameters Bij meerdere parameters zit er tussen de komma en een nieuwe parameter één spatie. testfunctie($foo, $bar); 5.7 Else If Als er een else if moet worden gebruikt, worden deze los van elkaar geschreven niet aan elkaar. if($foo == $bar) { return $foo; } else if($bar == $foo) { return $bar; } 5.8 Quotes Het gebruik van zowel single ('') als double ("") quotes zijn toegestaan. De voorkeur gaat naar single quotes tenzij er iets in de string geëvalueerd moet worden. 17 van 21

5.9 Classnaam Elk woord beginnen met een hoofdletter. class MijnClassNaam { function MijnClassNaam() { } } 5.10 Functies Functies beginnen met een hoofdletter letter en hebben een hoofdletter aan het begin van elk nieuw woord in de functie naam. function TestFunctie() { } 5.11 Verboden Functies De functie extract() mag niet worden gebruikt. 5.12 Variables Variables namen worden altijd lowercase geschreven. De namen bevatten geen spaties maar een underscore. 5.13 Private & Protected Private en Protected variables hebben een _ voor de naam. Public variables hebben dit niet. public variablenaam; private _variablenaam; protected _variablenaam; 18 van 21

5.14 Constante Variables Constante variables bestaan alleen maar uit HOOFDLETTERS. 5.15 Database Database namen worden altijd lowercase geschreven. De namen bevatten geen spaties maar een underscore. CREATE TABLE IF NOT EXISTS `voorbeeld_table` ( `id` int(11) NOT NULL AUTO_INCREMENT, `title` varchar(128) NOT NULL, `description` varchar(255) NOT NULL, UNIQUE KEY `id` (`id`) ) DEFAULT CHARSET = utf8; 19 van 21

MoSCoW Must Should Could Won t Opzetten Databasen Cijfers invoeren Toevoegen keuze modules Studenten Maken van API tussen de 3rd party db en onze db Beveiligen van de API verbinding Maken Login voor Studenten en Docenten Vandaag Rooster maken studenten en docenten Vooruitkijken Rooster maken voor studenten en docenten Aanwezigheid invoeren Aanwezigheid bekijken Login protection maken dat het aantal keren inloggen in de db word gezet cijfers bekijken Toevoegen keuze modules Docenten Profiel pagina maken Profiel pagina kunnen bewerken Huiswerk invoeren LOB klas kunnen invoeren Admin login Huiswerk bekijken Ov feature toevoegen dat docenten kunnen zien of studenten gehinderd zijn ToDo list voor huiswerk studenten ToDo list met toevoegen van eigen taken forget password maken Feedback voor beta testers Zien welke leerlingen in de les zitten Persoonlijke afspraken maken in het rooster Aanwezigheid tab maken waar je in een diagram de aanwezigheid kan zien Maken van het dashboard Admin dashboard 20 van 21

Document Tracking Version Date of edit / change Person Description 1.1 01-03 - 2016 Thomas Silverlight apart gezet 1.1 01-03 - 2016 Jeroen Database Model verwijdert, nieuwe toegevoegd 1.1 03-03 - 2016 Jeroen MoSCoW veranderd 1.1 03-03 - 2016 Thomas Codeerafspraken toegevoegd 1.1 03-03 - 2016 Thomas / Jeroen Leerdoel Symfony toegevoegd 21 van 21