Final Report
Team : ETN206 Leden : Hilmi Yavuz, Rizky Fakkel, Salar Darwish, Samanjit Singh, Shahin Mokhtar Moshfegi, Jesper Plug
Inhoudsopgave Versie beheer ..................................................................................................................................... 3 Inleiding ............................................................................................................................................... 4 Reflectie ............................................................................................................................................... 5 Presentatie Fase 1......................................................................................................................... 11 Presentatie Fase 2......................................................................................................................... 13 Workflow ......................................................................................................................................... 15 Research report ............................................................................................................................. 16 PID ...................................................................................................................................................... 17 Class Diagram ................................................................................................................................. 18 Test approach ................................................................................................................................. 19 User Manual .................................................................................................................................... 20 Bijlagen ............................................................................................................................................. 21
2
Versie beheer Ver.
Status
Datum
Concept Concept Concept Concept Concept
aangemaakt gewijzigd gewijzigd gewijzigd gewijzigd
21-05-13 28-05-13 28-05-13 28-05-13 28-05-13
Concept Concept
gewijzigd gewijzigd
Auteur(s)
Salar Darwish Salar Darwish Jesper Ploeg Rizky Fakkel Shahin Mokhtar Moshfegi 28-05-13 Samanjit Singh 28-05-13 Hilmi Yavuz
3
Wijzigingen
Reflectie toegevoegd Reflectie toegevoegd Reflectie toegevoegd Reflectie toegevoegd Reflectie toegevoegd Reflectie toegevoegd
Inleiding De final report van het project Getconnected bevat alle documentatie die we gemaakt hebben tijdens de afgelopen periode.
4
Reflectie Reflectie Jesper Plug Bij Project Get Connected was het de bedoeling om met andere richtingen samen een product op te leveren. Dit was een heel ander project dan de 3 voorgaande waarbij je allemaal de zelfde richting had. Zelf vond ik dit een grote uitdaging om samen met andere richtingen te gaan werken en uiteindelijk een applicatie op te leveren. Door het stroeve begin, doordat we elkaar nog niet goed kenden en doordat de opdracht niet geheel duidelijk was voor ons resulteerde de eerste 2 opleveringen in een NO-Go. Bij de tweede fase van het project, moesten we een PID maken. Hier had ik in project Outfit al kennis meegemaakt. De andere jongens van de richting SNE en SE hadden hier nog geen ervaring mee, maar door een korte uitleg is het tot een volledig rapport gekomen. Bij de derde fase moesten we een test approach maken dit was erg handig voor de 3e oplevering zo dat we konden zien of alles naar behoren werkte. De 3e presentatie ging goed. De opdrachtgever waas zeer tevreden en kregen een Go. Dit motiveerde ons om de applicatie nog beter te maken en een goed cijfer te halen. Ik vond het zeer leuk en leerzaam om met andere richtingen samen te werken. Doordat ik weinig tot niets over programmeer-code weet, hebben de jongens mij goed kunnen helpen en vertellen hoe alles werkte en voordiende hierdoor heb ik zeer veel kennis opgedaan. Helaas hadden wij weinig tot niets aan de workshops die gegeven werden. Ik vond het erg fijn dat de opdrachtgever beschikbaar was voor eventuele vragen. Reflectie Shahin Mokhtar Moshfegi Ik vind dat Project Get Connected een apart project is vergeleken met eerdere projecten. Ten eerste werden we ingedeeld met studenten van andere richtingen die ik niet kende. Drie Software Engineers, drie System & Network Engineers en één IT Management. De indeling vind ik erg aangenaam omdat we een gelijke indeling hebben om onze project makkelijk af te ronden. Onze ITM’er is onze teamleider geworden. Dit is het geval bij veel groepen. En ten tweede waren er veel onduidelijkheden over wat er nou moest gebeuren. Dit was niet alleen bij onze
5
groep, maar ook bij alle andere groepen. Niemand wist wat er nou precies gedaan moet worden. We kregen te horen wat onze project inhield en wat er van ons werd verwacht. Helaas snapte niemand van ons en veel andere groepen wat de bedoelen nou was. Pas enkele weken later kregen wij pas door wat er nou moest gebeuren. Dit kwam doordat wij in het begin geen duidelijke vragen stelden. Hier zijn we wel achter gekomen en hebben toen veel meer vragen gesteld en zijn we er toch uitgekomen. Bij mijn eerste project was ik de lead programmeur, bij mijn tweede project was ik de second lead programmeur en bij deze project was ik meer een onderzoeker. Ik hielp bij programmeer problemen waar onze lead programmeur niet uitkwam. Ik heb veel onderzoek gedaan naar problemen met de code waar we niet uit kwamen en heb deze gedeeld en toegepast aan de applicatie. Doordat we niet allemaal bij elkaar in de klas zaten hadden we in het begin problemen met plannen. Iedereen had zijn eigen volle agenda en we konden elkaar niet dwingen tot iets. Gelukkig kwamen we er allemaal uit en hebben goede afspraken gemaakt om onze project goed af te ronden. We wisten aan het begin ook niet wat we nou precies moesten doen. Met de tijd mee, na coach gesprekken en PM meetings werd het ons steeds meer duidelijk en konden we beter aan het project werken. Doordat wij eerst ook geen vragen stelden, kregen we ook een No-go bij onze eerste en tweede presentatie. Gelukkig kregen we wel bij de twee herkansingen elke keer een Go en bij onze Alpha oplevering ook meteen een Go. Onze slechte start heeft ons wel een lesje geleerd. Wij hebben geleerd om altijd op tijd vragen te stellen als wij niet uitkomen. De samenwerking in onze groep is goed gegaan. Wij maakten duidelijke afspraken. Ook al kregen wij twee keer een No-Go, bleven we gemotiveerd om onze project af te krijgen. Wij bleven eraan werken totdat wij een goed product hadden. Tijdens onze project werd onze database tweemaal verwijderd. Ik heb hiervan geleerd om altijd een extra back-up klaar te laten staan om in zo een situatie snel de back-up te kunnen gebruiken. Gelukkig kon mijn groep snel een nieuwe database aanmaken om te gebruiken. Mijn taken binnen de groep was meer een onderzoeker zijn. Ik heb onze lead programmeur geholpen met CSS vragen en styling als het niet lukte. Ik ben meer een onderzoeker, dus als iets niet werkte ging ik direct onderzoeken op het internet waarom het niet op een bepaalde manier werkt en hoe het gecodeerd moest worden om toch te werken. Ik heb ook meegeholpen met de database kant. Ik heb veel onderzocht en geholpen met de connectie tot de database en het aanmaken van databases dat nodig waren voor het werkend krijgen van de Google Applicatie.
6
Ik heb ook bijgedragen aan de code door de toenmalige simpele inlogscherm te voorzien van een echt werkende JavaScript/MySQL database inlogscherm. Je kon een gebruikersnaam, wachtwoord en functie level aanmaken in een MySQL database om vervolgens in te loggen. Dit was natuurlijk tijdelijk, want het inloggen moest uiteindelijk gebeuren door in te loggen met een Google account. Reflectie Rizky Fakkel GetConnected was hele andere koek dan EXPO en Outfit. Ik heb hier heel veel ervaring opgedaan. Net als in EXPO en Outfit begonnen we met een vraagteken over wat het eindresultaat moest zijn. Na veel navraag is het uiteindelijk duidelijk geworden wat er gemaakt moest worden. Ik ben zeer tevreden over hoe dit is verlopen en over het eindproduct. Zeker omdat we niet bekend zijn met de sterke en zwakke punten van elkaar, maar we toch elkaar zo veel mogelijk wilden aanvullen. Daarbij zijn coaching gesprekken heel handig geweest, aangezien deze vaak de grootste duwen in onze ruggen heeft gegeven om een stap verder te komen naar het eindproduct. Door ervaring buiten mijn studie was ik als SE’er ook al op de hoogte van een groot deel van de SNE kant. Zo kon ik aan beide delen mijn steentje bijdragen zodra dit nodig was. Het was goed om te zien dat alles synchroon verliep, en dat er nooit op elkaar gewacht hoefde te worden. Aan de scripting kant van de app waren wel eens fouten of problemen waar we tegen gebotst zijn, maar deze werden tijdig opgelost door omwegen te vinden voor de eerste oplossing. Ook hierbij was wel eens wat hulp nodig, waarbij de snelle antwoorden van de opdrachtgever Jan-Joost de Vries ons een heel eind verder brachten. Dit was zeker behulpzaam en daar toon ik volle waardering voor. Echter was deze mening niet hetzelfde voor de studentassistenten, welke onze kreten voor hulp weerlegden met een e-mail dat ze te druk waren om nog iets voor ons te kunnen betekenen. Nadat de applicatie werkend was was echter het probleem dat deze traag reageerde. Samen met de andere SE’ers heb ik gekeken of er een hotfix beschikbaar is voor dit probleem. Echter bleek dit een probleem te zijn in Google Script waar we nog geen oplossing voor hebben kunnen vinden. Ik heb hiernaast ervoor gezorgd dat we een backup database beschikbaar hadden om in te schrijven en uit te lezen indien dit mis ging. Helaas was dit 5 minuten voor onze Alpha oplevering het geval, omdat de toen gebruikte database verwijderd was. Deze was niet bereikbaar en niet meer te vinden. Binnen deze 5 minuten was alle data overgeschreven naar mijn backup database en hebben wij een succesvolle Alpha oplevering mogen meemaken.
7
Reflectie Salar Darwish Project Geconnected was een heel andere project in vergelijking met de eerste drie projecten waar ik deel aan heb genomen in het eerste jaar. Er was voor het eerst sprake van een groep van studenten met verschillende richtingen die elkaar niet kennen. Ik vond het een grote uitdaging om samen te kunnen werken met deze studenten. Bij de vorige projecten(behalve project SIM) waren de groepsleden van de zelfde klas. We zagen elkaar elke dag en konden elkaar elke dag spreken. Bij deze project zagen we elkaar een keer per week. In het begin ging het moeizaam en heeft wat tijd gekost totdat we aan elkaar gewend hebben geraakt. De opdracht is met de tijd duidelijker geworden. Toen we nog aan het voorbereiden waren voor het eerst fase , hadden we nog geen duidelijk idee wat de verwachting van ons is. Ik wist niet wat ik als SNE’r precies moest doen. De PM meetings en de coach gesprekken hebben ons geholpen om meer overzicht te krijgen. De project handleiding was heel handig. Ik heb die uitgeprint en had altijd bij me. Men kreeg een volledig overzicht van de deadlines en gevraagde producten. De opdracht was een grote uitdaging. Wij moesten een server opzetten die als domain controller functioneert. Ik heb al vaker gewerkt met Windows server en heb genoeg ervaring met domain controllers. maar een van de eisen van de opdrachtgever was om gebruik te maken van een Linux server. Het ging om Linux Zentyal. Ik had gelukkig met de vorige project namelijk project Outfit4u veel ervaring opgedaan op het gebied van Linux server. Toch moest ik veel documenten doornemen en filmpjes bekijken op internet om mijn weg te kunnen vinden binnen Linux Zentyal. Ik ben lid geworden van verschillende websites en forums over Linux zentyal. De installatie en configuratie is gelukkig zonder problemen verlopen. De tweede uitdaging was google app domain. Ik had nog nooit gebruik gemaakt van google apps domain. Ik heb me daar in verdiept en voor mijn groep een google app domain aangemaakt en samen met de opdracht gever deze geregistreerd. Ik vond het zeer interessant om gebruik te maken van google apps domain. Vooral omdat wij deze domain gekoppeld hebben aan een echte domain van een van de groepsleden. Een ander grote eis was om de Linux server te synchroniseren met deze google apps domain. Daar hebben we lang over gedaan. Het waren drukke weken waar ik bijna elke dag bezig was met opzoeken van benodigde informatie om de synchronisatie voor elkaar te kunnen krijgen. Uiteindelijk is het gelukt om de LDAP gebruikers te synchroniseren met de google apps domian. IK vond deze opdracht zeer interessant. Ik heb veel geleerd en kennis gemaakt met systemen welke ik daarvoor nooit gebruikt heb. Er waren natuurlijk punten die ik als min punten mag noemen. een er van is de onduidelijkheid die we af en toe mee te maken hebben gehad. Sommige berichten werden te laat verzonden terwijl we al bezig waren. De workshops die geweest zijn waren of te laat of niet heel erg nuttig 8
voor ons project. De student assistenten hebben we helemaal niks aan gehad. We hebben ze twee keer benaderd om ons te helpen maar iedere keer kregen we een mail terug dat ze het druk hadden. Wat ik wel een positief punt vond is dat de opdrachtgever altijd bereikbaar was voor ons. Hij reageerde snel op de email wat heel fijn was. Reflectie Hilmi Yavuz Dit project is anders dan de vorige projecten. De producten wat wij aan het eind van het project moeten inleveren zijn veel ingewikkelder in vergelijking met die van vorige projecten. Doordat we een andere programmeertaal moeten gebruiken waar we geen les van hebben gehad en die nog niet stabiel is, moesten we veel onderzoeken hoe het precies werkt, wat je daarmee kan, wat de syntaxen daarvan zijn, enzovoort. Hierdoor moesten we veel tijd besteden aan het leren van google apps script. Ook al vond ik het in het begin raar dat we met zo een nieuwe taal een app moesten bouwen, vind ik het nu handige manier om een nieuwe taal te leren. Er zijn echter weinig voorbeelden op het internet te vinden wat dus het project een stukje moeilijker maakt. Het is een andere ervaring voor ons om met de studenten van andere richtingen samen te werken. Toch is de samenwerking in het team meestal goed gegaan hoewel we 2 keer een nogo hadden gehad. Er was toch wel eens een miscommunicatie in het team. Dit werd echter wel snel opgelost of er werd wat van gezegd. Reflectie Samanjit Singh Getconnected was op een heel ander niveau dan de vorige projecten. Samen moesten wij met leerlingen van andere richten werken om een eind product te leveren. Dit is compleet anders dan de voorgaande projecten maar ook heel leuk. Je leert hierdoor meer omdat je met mensen van andere richtingen werkt en kan zo je IT kennis uitbreiden. In het begin was het alles best vaag aangezien er niet veel bekend was, wat precies opgeleverd moest worden. Ieder persoon heeft zo z'n zwakke punten en sterke punten en door goed samen te werken konden we elkaar aanvullen. Bij deze project was een goede samenwerking een must en dat was goed gelukt bij ons. Tijdens de coaching gesprekken konden we onze hele verhaal kwijt van wat er wel goed ging en wat er niet goed ging. Tijdens deze gesprekken werd er duidelijk gemaakt waar de knelpunten liggen en wat we moeten doen om dit aan te pakken. Kort gezegd is het prettig om een gesprek te voeren met je coach. Helaas waren de consultants niet altijd bereikbaar. De server gedeelte was een drama in het begin. We konden echter niet de ISO op de server installeren omdat hij niet uitgezet kon worden. Pas na lange tijd was hij weer
9
toeganglijk. Toen pas kon ik aan de slag gaan. Ben wel veel problemen tegen gekomen met de zentyal server maar heb ze uiteindelijk wel op kunnen lossen. Tijdens de Alpha Fase hadden we problemen met onze google app doordat de database niet meer beschikbaar was. We hebben op het laatste moment toch een alternatief gevonden en alsnog een succesvolle alfa oplevering meegemaakt.
10
Presentatie Fase 1 Hierbij de slides van de presentatie van fase 1:
11
12
Presentatie Fase 2 Hierbij de slides van de presentatie van fase 2:
13
14
Workflow De workflow treft u in de bijlage.
15
Research report De research report treft u in de bijlage.
16
PID De PID treft u in de bijlage.
17
Class Diagram
18
Test approach De test approach treft u in de bijlage.
19
User Manual De user manual treft u in de bijlage.
20
Bijlagen Bijlage 1: Workflow Bijlage 2: Research report Bijlage 3: PID Bijlage 4: Test Approach Bijlage 5: User Manual
21