IN3405

Electronic forms web-application prototype

More Info
expand_more

Abstract

Tijdens het stage project TAG eForms is een prototype ontwikkeld, dit prototype dient na de stage verder ontwikkeld te worden tot een product. Dit verslag probeert ook enkele recommendations aan te leveren hiervoor. Het bedrijf TAG software & consultancy bestaat ondertussen een jaar of 20. In deze tijd heeft het bedrijf een enorme schat aan ervaring opgedaan op het gebied van kwaliteitsmanagement, interne audits en performance scans. Tegenwoordig levert TAG software & consultancy ook standaard software hiervoor en hoogwaardige consultancy diensten op het gebied van kwaliteits-, proces-, risk- en klachtenmanagement, strategische beleidsvorming en organisatie vraagstukken.TAG software & consultancy heeft 22 medewerkers, waaronder enkele internationaal aangestelden. Formulieren worden binnen een organisatie zo vaak gebruikt dat het soms gewoon niet meer opvalt, dat hetgeen waarmee gewerkt wordt in essentie als een formulier gezien kan worden. Zolang voor deze formulieren geen software oplossing gekocht/gemaakt is, dan zijn dit veelal Microsoft Word of Excel bestanden.Deze zijn vaak niet uniform, leveren een berg papier op of moeten geprint of gekopieerd worden alvorens gebruikt te worden. Dit zijn enkele nadelen die met eForms opgevangen kunnen worden. De opdracht was dan ook het ontwikkelen van een prototype van eForms. Een product waarmee formulieren gemaakt, beheer en gebruikt kunnen worden. Daarnaast moet het product nog aan een aantal specifieke eigenschappen voldoen welke terug te vinden zin in de requirements definition. Het product dient uiteindelijk te functioneren i.c.m. een windows of linux server en een MySQL of SQL server database. TAG eForms zal gebruik maken van MySQL of msSQL, verder wordt er geprogrammeerd in PHP en JavaScript. Deze code dient te worden gedocumenteerd door middel van een tweetal tools, JSdoc en PHPdoc. Deze genereren documenten aan de hand van de objecten methoden, attributen en het commentaar hierbij. Voor de planning en project structuur is sterk gekeken naar eXtreme Programming en pair programming. Het betreffende project team bestond buiten de twee eerder genoemde studenten uit: Rene ten Oever, Emiel van Goor, Danny Hoogendoorn en Michael van Rijswijk. Het project is 4 globale fasen ingedeeld, formbuilder, workflowbuilder, mailboxen en back-end. Deze onderdelen zijn vrijwel niet in de code gekoppeld en kunnen dus prima los van elkaar ontwikkeld worden. Elke fase heeft 3 subfasen namelijk ontwikkelen, testen en debuggen. Aan het begin van het project is, zoals eerder genoemd een aantal requirements opgesteld. Deze requirements zijn vervolgens onderverdeelt in een MoSCoW document, waarin de prioriteit van de functionaliteit in het stage project verduidelijkt wordt. Verder is er in het ontwerp rekening gehouden met de verschillende database servers waarmee de software moet kunnen werken. Verder is het belangrijk dat eForms kan werken met het ASP model van TAG software & cosultancy. eForms is gemaakt met het MVC principe als framework Tot slot is er in eForms gebruik gemaakt van extJS, een javascript library die het ontwikkelen van gebruiksvriendelijke clientside vereenvoudigd. Het is Versie: 2 Status: definitief 8 enorm belangrijk dat het maken en beheren van formulieren zo natuurlijk mogelijk is voor de gebruiker, wil een dergelijk product aanslaan bij het grote publiek. Er werd gebruik gemaakt van pair programming, een methode waarbij 2 programmeurs een workstation delen, zodat zij gezamenlijk tot een resultaat komen. Dit levert een kwalitatief beter product op en een prettigere werksfeer, naar mening van de programmeurs. Voornamelijk omdat de discussie tijdens of voor het schrijven van de code al gevoerd kan worden en zo de beste keuzes gemaakt worden. Het project heeft een prototype van eForms opgeleverd waarmee verder gewerkt gaat worden om te zorgen dat het een product wordt. De meeste van de vele gemaakte keuzes zijn goed bevallen. Vooral de keuze voor extJS is hier een goed voorbeeld van. Ook de ervaring die opgedaan is binnen TAG bij dit project, wordt gezien als een interessante aanwinst.