Afstudeerovereenkomst van Tim Wils
Bijlage 1
Opdrachtformulering (pagina 3 van 7) Dit project betreft een eigen framework (soort API) waarmee relatief gemakkelijk en in korte tijd eindproducten opgezet kunnen worden. Hierbij komt kijken dat ik de planning, uitvoering, documentatie en gedeeltelijke de budgetering in de gaten moet houden en opzetten. De technische eisen hiervoor zijn dat het een dynamische opgezette framework moet zijn die voor iedere klant in grote lijnen hetzelfde is, maar dat het met een kleine aanpassingen specifiek voor een bepaalde klant te maken moet zijn. Tevens wordt het in tegenstelling tot ASP waarmee het bedrijf werkt in PHP gemaakt en dat is nieuw voor Elementa. Hierbij komt dus ook kijken dat ik onderzoek moet gaan doen naar de opzet van zo’n PHP server. De opdracht die ik krijg in meer detail Voor bedrijven in de reintegratie branche ontwikkel ik met name een klantenvolgsysteem die gebouwd moet zijn op dit framework (API). Het systeem houdt de ontwikkeling en groei van de individuele klanten bij, waarschuwt de begeleiders op cruciale momenten, plant examens en evaluatiemomenten en houdt bij wanneer de beslissingen genomen moeten worden. Ook een product wat gemaakt moet worden met dit framework is een webshop voor een klant. Het systeem wordt door Elementa gebruikt voor meerdere klanten en daarom worden hoge eisen gesteld op het gebied van privacy en beveiliging. Usability en interfacing is belangrijk in dit product. Klanten werken met grote hoeveelheden data. De applicatie moet intelligent zijn, werk uit handen nemen en 'aanvoelen' welke informatie of input gewenst is. Dynamiek op zowel selectie van gegevens als output van gegevens is van groot belang, code moet slechts éénmaal geschreven en meerdere malen uitgevoerd kunnen worden, overerving van eigenschappen en gedrag is noodzakelijk. De bouw van het product vereist kennis van het proces waarin de eindgebruiker zijn werk doet maar ook van de techniek om het product te ontwerpen, te bouwen en te implementeren. Projectbeheer vraagt om inzicht in eigen werkstijl, productiesnelheid en overzicht van de stand van zaken op dat moment. Flexibiliteit is noodzakelijk om met de 'on the fly' veranderende eisen van de klant om te kunnen gaan. Het project heeft analytische, statistische en informatieve componenten, vraagt veel van het abstractievermogen en van de kwaliteit om technisch vergaarde informatie op een prettige en bruikbare manier aan de eindgebruiker te presenteren. Technieken De technieken die o.a. gebruikt zullen gaan worden bij dit systeem zijn: PHP, MySQL/SQL, Javascript, Unixbased code, CSS, XHTML, Ajax. Het systeem moet object georiënteerd in elkaar zitten, waardoor het makkelijker uitbreidbaar is en gemakkelijk te beheren is. Dit wordt gedaan m.b.v. een MVC (Model View Controller) model en is op deze manier dus modulair opgebouwd.
Afstudeerovereenkomst van Tim Wils
Bijlage 2
Een extra wat bij dit systeem komt kijken is het feedbacksysteem wat een soort pushserver achtig idee gaat worden. Dit moet ik gaan opzetten op de PHPhosting server en hierbij komt ook een stuk Javascript kijken die op de server en de cliënts moeten gaan draaien. Het gedeelte van de PHPserver naar het systeem wat bij de klant thuis kan worden beheerd moet worden gedocumenteerd en worden weergegeven in schema’s zoals een UML. Het doel is dus om met een plan te gaan werken en met dit plan het doel te gaan behalen. Eén “collega” zal zich voornamelijk met het programmeren bezig houden, en één collega zal voornamelijk de designs ontwerpen van de producten die met het framework gemaakt kunnen worden. Ik zal mij o.a. bezig gaan houden met het technische ontwerp van het systeem, technische uitvoering van de server en ook het ontwerpen van de layout van de producten die met het framework gemaakt worden. Ook zal ik aan het programmeerwerk zitten. Het bijhouden en sturen van dit project is een hele verantwoordelijkheid zijn en daarom is de communicatie met mijn collega’s en met IJme (de directeur) erg belangrijk. Usability staat hoog in het vaandel in dit systeem, dus IJme en zijn werknemers zal ik regelmatig moeten raadplegen om tests uit te voeren en om overleg te plegen over het systeem. De uitdaging is dat het bedrijf nu totaal geen PHP mogelijkheid heeft en dat ik helemaal zal moeten gaan opzetten.
Afstudeerovereenkomst van Tim Wils
Bijlage 3
Afstudeerovereenkomst van Tim Wils
Bijlage 4
Omschrijving van het afstudeerproject (pagina 6 van 7) Titel Het opzetten van een framework (API) waarmee Elementa producten voor klanten op een relatief gemakkelijke manier en in een korte tijd kan opzetten.
Randvoorwaarden Gebruiksvriendelijkheid Het framework moet gemakkelijk op te pakken zijn door stagiaires en andere programmeurs, zodat uitbreidbaarheid en aanpasbaarheid gemakkelijk wordt. Uitbreidbaarheid In de toekomst komen er meer modules (plugins). Deze moeten gemakkelijk te maken zijn. Aanpasbaarheid Het framework moet logisch in elkaar zitten, zodat het bij een fout of wijziging gemakkelijk aan te passen is. Flexibiliteit Heeft te maken met al het bovenstaande. Veiligheid Het framework zal op een goede manier met privacy van klanten om moeten gaan en daarom veilig moeten zijn.
Uitgangspunten Met het framework neemt de productiviteit toe bij Elementa.
Probleemstelling Hoe kan Elementa (de eindgebruiker) de algehele productiviteit van webapplicaties voor de klant verhogen doormiddel van het gebruik van het te maken framework?
Doelstelling Een framework dat gemakkelijk verder te ontwikkelen is, te beheren is, veilig is, waarmee relatief gemakkelijk en in korte tijd producten voor de klant mee gemaakt kunnen worden, en uitbreidbaar is door Elementa.
Afstudeerovereenkomst van Tim Wils
Bijlage 5
Producten Framework (API) met de daarbij behorende modules die in de stageperiode ontwikkeld worden. Tevens ook webapplicaties/systemen die met dit framework gemaakt zijn.
Te volgen aanpak (pagina 7 van 7) Methode Methodische Aanpak
Stappen Brainstormen, PVA, Uitvoering, Testen, Eindproduct.
Planning Tijdschema Het framework moet samen met een aantal producten die erop zijn gebouwd vanaf september 2010 tot eind januari 2011 goed in gebruik genomen zijn.
Voorlopige inhoudopgave scriptie •
Inleiding
•
Opdracht/Probleemstelling
•
Plan van aanpak
•
Functioneel ontwerp
•
Technisch ontwerp
•
Technische handleiding
•
Proces
•
Samenvatting
•
Evaluatie