• No results found

Online Document Viewer

N/A
N/A
Protected

Academic year: 2021

Share "Online Document Viewer"

Copied!
47
0
0

Bezig met laden.... (Bekijk nu de volledige tekst)

Hele tekst

(1)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0

van Dinther, 2012

Online

Document

Viewer

Student

Procesverslag / Productverslag

Company:

van Dinther Bedrijfsautomatisering B.V.

Naam:

Nick van Hooydonk

Administratie nummer:

2015304

Toezichthouders:

 Gerard Wagenaar (Avans Hogeschool Breda)  Jan Montizaan (Avans Hogeschool Breda)

 Rens Braspenning (van Dinther)  Han van Dinther (van Dinther)

Raamsdonksveer, 2012

(2)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0

van Dinther, 2012

Document geschiedenis

Datum Versie Beschrijving Auteur

16-02-2012 0.1 Initiale versie N. van hooydonk

08-03-2012 0.2 Verslag bijgewerkt N. van Hooydonk

12-04-2012 0.3 Verslag bijgewerkt N. van Hooydonk

26-04-2012 0.4 Verslag bijgewerkt N. van Hooydonk

21-05-2012 0.5 Tussenverslag N. van Hooydonk

05-06-2012 0.6 Concept verslag N. van Hooydonk

14-06-2012 1.0 Eindverslag N. van Hooydonk

Distributie

Versie 0.1 0.2 0.3 0.4 0.5 0.6 0.7 1.0 N. van Hooydonk x x x x x x x x Dhr. Wagenaar / / / / x x x x Dhr. Braspenning / x x / x x x x Dhr. Van Dinther / / / / x x x x Dhr. Montizaan / / / / / / / x

(3)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 1 - 5

Voorwoord

Dit verslag is geschreven door Nick van Hooydonk, vierdejaars informatica student bij de academie voor ICT & Business Avans hogeschool te Breda. Het verslag is geschreven naar aanleiding van een afstudeerstage bij ‘van Dinther’ aan het bedrijventerrein “Dombosch I’ te Raamsdonksveer te Raamsdonksveer. De stageopdracht is voltooid op de afdeling Development. Het verslag is geschreven om mijn leerervaringen plus het product te beschrijven en mijzelf te beoordelen.

In het project bij van Dinther werd een tool ontworpen en gerealiseerd waarmee verscheidene documenten online in een webbrowser zichtbaar gemaakt kunnen worden. Deze tool is ontworpen in C-Sharp in combinatie met Microsoft Silverlight. De tool wordt verder in het document gerefereerd als ‘de (online) documentviewer’. Door middel van deze tool is het niet perse meer nodig om client-software zoals bijvoorbeeld Microsoft Office geïnstalleerd te hebben op de computer om bestanden te openen.

Hierbij wil ik mijn bedrijfsbegeleider Rens Braspenning, hoofd afdeling development ‘van Dinther the document company’ bedanken voor de hulp en aandacht, die hij mij heeft geboden tijdens mijn stageperiode bij van Dinther. Daarnaast wil ik ook mijn collega’s van van Dinther bedanken voor de prettige samenwerking en alle bruikbare antwoorden op mijn vragen die ik gekregen heb. Tevens wil ik mijn tweede bedrijfsbegeleider, Han van Dinther, bestuurder ‘van Dinther the document company’ en stagebegeleider Gerard Wagenaar bedanken voor de nodige hulp, tijd en informatie die door hen werd verstrekt.

Mede dankzij de hulp van de bovengenoemde mensen heb ik mijn stage tot een goed einde kunnen brengen, waarbij zowel voordelen voor van Dinther alsmede voor mij zijn ontstaan.

Ik wens U veel leesplezier toe.

Nick van Hooydonk

Student Academie voor ICT & Business Avans internationaal hoger onderwijs Breda

(4)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 2 - 5

Inhoudsopgave

1.

Inleiding _____________________________________________________________ 1

2.

Organisatie ___________________________________________________________ 2

2.1.

Bedrijfsprofiel _____________________________________________________________ 2

2.2.

Bedrijfscultuur ____________________________________________________________ 3

3.

De opdracht __________________________________________________________ 4

3.1.

Aanleiding _______________________________________________________________ 4

3.2.

Probleemstelling __________________________________________________________ 4

3.3.

Doelstelling ______________________________________________________________ 4

3.4.

Onderzoeksopdracht _______________________________________________________ 5

3.5.

Uitgangspunten ___________________________________________________________ 6

3.5.1. Buiten scope ___________________________________________________________________ 6 3.5.2. Functionele requirements _________________________________________________________ 6 3.5.3. Niet-functionele requirements _____________________________________________________ 6 3.5.4. Randvoorwaarden ______________________________________________________________ 6 3.5.5. Planning ______________________________________________________________________ 6 3.5.5.1. Globaal fasen plan (Work Breakdown Structure): __________________________________ 7

4.

Methoden & Technieken ________________________________________________ 8

4.1.

Ontwikkelmethode ________________________________________________________ 8

4.1.1. Dynamic Systems Development Method _____________________________________________ 9

4.1.1.1. Haalbaarheidsonderzoek _____________________________________________________ 9 4.1.1.2. Bedrijfsanalyse _____________________________________________________________ 9 4.1.1.3. Functioneel Model Iteratie (FMI) ______________________________________________ 10 4.1.1.4. Ontwerp en Bouw Iteratie (OBI) _______________________________________________ 10 4.1.1.5. Implementatie _____________________________________________________________ 11

(5)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 3 - 5

4.2.

Technieken ______________________________________________________________ 13

4.2.1. C-Sharp (& ASP.NET) - Programmeertaal ____________________________________________ 13 4.2.2. Structured Query Language (SQL) - Opslag van gegevens ______________________________ 13 4.2.3. SharePoint & INVU – Frontend implementatie _______________________________________ 14 4.2.4. Microsoft SQLserver 2008 R2 developer edition - gegevensopslag van SQL ________________ 14 4.2.5. Microsoft Visual Studio 2010 - .NET C# ontwikkeling __________________________________ 14

5.

Uitvoering ___________________________________________________________ 15

5.1.

Functioneel model iteratie__________________________________________________ 15

5.1.1. ‘MoSCoW’ lijst _________________________________________________________________ 15 5.1.2. TimeBox ______________________________________________________________________ 17

5.2.

Ontwerp en bouw iteratie __________________________________________________ 18

5.2.1. Use Case diagram ______________________________________________________________ 18 5.2.2. Deployment diagram ___________________________________________________________ 19 5.2.3. Sequentie diagram _____________________________________________________________ 20 5.2.4. Klassendiagram vandinther.econtent (server-side) ____________________________________ 21 5.2.5. Klassendiagram vandinther.documentviewer (client-side) ______________________________ 22

5.3.

Implementatie ___________________________________________________________ 23

5.3.1. Viewer _______________________________________________________________________ 23 5.3.1.1. Werking viewer ____________________________________________________________ 23

6.

Discussie/Aanbevelingen _______________________________________________ 30

6.1.1. Interesse tijdens de stage ________________________________________________________ 30 6.1.2. Eigen ervaring _________________________________________________________________ 30 6.1.3. Nu & Straks ___________________________________________________________________ 30 6.1.3.1. Afronding ________________________________________________________________ 30 6.1.3.2. Toekomst _________________________________________________________________ 30

7.

Evaluatie ____________________________________________________________ 31

(6)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 4 - 5

7.1.

Leerervaring _____________________________________________________________ 31

7.1.1. Beginsituatie __________________________________________________________________ 31 7.1.1.1. Capaciteit / Kennis _________________________________________________________ 31 7.1.2. Leerproces ____________________________________________________________________ 32

7.2.

Begeleiding en Beoordeling _________________________________________________ 33

7.2.1. Bedrijfsbegeleider ______________________________________________________________ 33 7.2.2. Stagebegeleider _______________________________________________________________ 33 7.2.3. Beoordeling Bedrijfsbegeleider (plus collega’s) _______________________________________ 33 7.2.3.1. Positieve ervaringen student _________________________________________________ 33 7.2.3.2. Negatieve ervaringen student ________________________________________________ 33

Bijlage A ___________________________________________________________________

Bijlage B ___________________________________________________________________

Bijlage C ___________________________________________________________________

(7)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 0.1

van Dinther, 2012 Pagina 1 - 34

1.

Inleiding

Tijdens deze eindstage wordt een tool gebouwd waarmee verschillende soorten extensies online in een browser geopend kunnen worden. Door middel van de programmeertaal C-Sharp en Microsoft Silverlight wordt de tool opgebouwd. Bestaande componenten (libraries) worden gebruikt om de conversie van bestanden te realiseren. Vervolgens kan het bestand ingeladen worden. Door middel van deze tool is het makkelijk om allerlei bestanden te openen zonder dat er een lokaal programma voor geïnstalleerd hoeft te zijn. Welke soort bestanden dit zijn staat in de zogeheten MoSCoW lijst (DSDM) beschreven. Wat dit precies inhoud wordt uitgelegd in de komende paragrafen.

Een project kan natuurlijk niet succesvol verlopen zonder projectplanning en ontwikkelmethode. Hier is zoals boven beschreven gekozen voor de ontwikkelmethode DSDM. Deze Agile methode wordt veel gebruikt bij projecten waar een sterke klantrelatie aanwezig is en de eventuele terugkoppeling hoog is. Bij deze opdracht is mijn klant mijn stagebegeleider. De terugkoppeling en/of klantrelatie is dus redelijk hoog. Mede doordat nog niet alle eisen van tevoren bepaald konden worden is DSDM een goede keuze om te maken.

In hoofdstuk 2 vertellen we eerst iets over de organisatie (werkomgeving) en wat voor effect deze onderneming nou op mijn eindproduct heeft gehad. Vervolgens komt de opdrachtomschrijving. Hierin wordt de volgende vraag gesteld: “Waarom moet die online documentviewer nou eigenlijk ontwikkeld worden?”.

Vervolgens wordt in hoofdstuk 3 uitgelegd wat de probleemstelling is en wat de doelstelling is om dit probleem op te lossen.

In “Methoden & Technieken”, hoofdstuk 4, staat welke ontwikkelmethode is gekozen en welke technieken er gebruikt zijn om dit project uit te voeren. Dit alles leidt uiteindelijk allemaal tot het eindproduct. Deze zal besproken worden in het opvolgende hoofdstuk 5 “Uitvoering”. Hier worden ook de uitgevoerde methoden en technieken die daarbij gebruikt zijn weergegeven.

In hoofdstuk 6 wordt de ervaring tijdens de stage en voor de toekomst weergegeven.

Ten slotte volgt er nog een evaluatie (hoofdstuk 7) waarin aangegeven wordt hoe de gehele stage verlopen is en wat de eventuele valkuilen zijn geweest.

(8)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 2 - 34

2.

Organisatie

In het hoofdstuk Organisatie wordt een korte bedrijfsbeschrijving gegeven van het bedrijf van Dinther. Hierin wordt het bedrijfsprofiel van ‘van Dinther the document company’, de bedrijfscultuur en de keuze voor de organisatie waar de afstudeeropdracht wordt voltooid beschreven.

2.1.

Bedrijfsprofiel

Van Dinther is een innovatief bedrijf dat totaaloplossingen biedt op het gebied van documentmanagement binnen de woningcorporatiebranche. Hieronder vallen o.a. document- en informatiebeheer, workflow management, web content management, record management, scanning, full tekst retrieval zoeken, versiebeheer, CRM, etc. De focus bij Van Dinther ligt op het ontwikkelen van add-on software die bovenop bestaande producten wordt geplaatst. De document management oplossingen zijn dan ook op een efficiënte wijze volledig geïntegreerd in Microsoft SharePoint

(BRON: WWW.VANDINTHER.NET)

Van Dinther is opgericht in 1992 waarbij het leveren van bedrijfsautomatisering als core business werd toegepast. Na enkele jaren van succes in de bedrijfsautomatisering richt men zich sinds enkele jaren tevens op het gebied van Enterprise Content Management. Hierbij is men voornamelijk werkzaam op de markt van de vastgoedbranche.

Op dit moment heeft van Dinther ongeveer 19 klanten waarvan het grootste deel gebruik maakt van een op maat gemaakte SharePoint 2007 oplossing. De grootste klant (Wonenbreburg) maakt nog gebruik van het (oude) systeem INVU.

Er is ook al een SharePoint 2010 oplossing en deze is reeds geimplementeerd bij de eerste klant genaamd ‘De Woonschakel’. De toekomstvisie van ‘Van Dinther’ is dan ook dat INVU en SharePoint 2007 langzamerhand zullen verdwijnen en plaats gaan maken voor SharePoint 2010.

Het systeem ‘E-content’ wordt aangeboden als module voor Microsoft SharePoint en bevat koppelingen naar andere informatiesystemen. Kortom: E-content bestaat uit een content management systeem specifiek gericht op woningcorporaties.

Na 20 jaar is de organisatie Van Dinther uitgegroeid tot 12 werknemers. Veel functies overlappen elkaar zodat bij eventuele afwezigheid de taken van de afwezige kunnen worden waargenomen door een ander. Dit is noodzakelijk mede door de geringe omvang van de organisatie.

In het onderstaande organogram (figuur 1) is de bedrijfsstructuur van ‘Van Dinther’ weergeven. Hieruit is op te maken dat de afdelingen marketing, sales en office management de afdelingen Training, DMS en Bedrijfsautomatisering ondersteunen.

De helpdesk ondersteunt klanten en werknemers van de afdelingen DMS en bedrijfsautomatisering. Bovenin staat de directie, deze stuurt organisatie vanuit de top van het bedrijf aan en neemt strategische beslissingen om de richting van het bedrijf te bepalen.

(9)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 3 - 34

(FIGUUR 1:ORGANOGRAM BEDRIJFSORGANISATIE)

2.2.

Bedrijfscultuur

Binnen van Dinther heerst een gezellige non-formele sfeer waarin het erg aangenaam is om te werken. Het delen van ideeën staat centraal en dus is mijn inbreng ook erg welkom.

Naar aanleiding van de opdracht om een plaats voor het afstuderen te zoeken voor de periode van 30 januari 2012 tot en met 15 juni 2012 ben ik direct op zoek gegaan naar, een voor mij, geschikt bedrijf. Ik ben bij Van Dinther gekomen door aanbeveling van mijn stagecoördinator Leonie van Diepen. Al vrij snel werd door Van Dinther de interesse getoond om een “online document viewer” te ontwikkelen ten gunste van ‘Van Dinther’ en de woningcorporaties. Mijn keuze was op Van Dinther gevallen, omdat het een jong en dynamisch bedrijf is dat erg veel passie toont in hetgeen het voortbrengt. Daarnaast vond ik het erg leuk dat het bedrijf ook meteen mijn mening en passies meenam in het besluit voor hoe de opdracht voldaan zou gaan worden. Mijn interesse lag dan ook erg hoog bij dit project en dit werkt natuurlijk positief.

Directie Sales Office management Marketing Training DMS Bedrijfs Automatisering Helpdesk

(10)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 4 - 34

3.

De opdracht

In dit hoofdstuk wordt de opdracht beschreven. Hierin worden de aanleiding, de probleemstelling, de doelstelling en de onderzoeksopdracht weergegeven.

3.1.

Aanleiding

Binnen een woningcorporatie gaan veel documenten rond. Dit resulteert sinds een aantal jaar in de investering van een document management systeem. Door de grote vraag worden steeds meer documenten digitaal gearchiveerd en dus verdwijnen ook langzaam de logge archiefkasten. Tot nu toe moet een digitaal gearchiveerd bestand eerst gedownload worden vanuit het archief voordat het geopend kan worden door een lokaal programma. Twee verschillende klanten bij Van Dinther hebben de vraag gesteld of dit niet sneller en eenvoudiger kon. Aangezien de twee klanten verschillende DMS systemen gebruikten was het nodig een standalone component, de “Online Document Viewer”, te realiseren.

Met betrekking tot het bovenstaande is er een opdracht voor een afstudeerstage verschaft naar het ontwerpen plus ontwikkelen van een dergelijk systeem.

Verder werden er vraagtekens gezet bij de manier van het weergeven van gegevens. Er moest dus ook nagedacht worden over verschillende schermen voor een goede weergave van de vele verschillende soorten documenten.

3.2.

Probleemstelling

De probleemstelling van de opdracht luidt:

Er bestaat op dit moment geen online mogelijkheid om bestanden direct in te zien in de browser binnen de verschillende DMS systemen die Van Dinther levert. Welke bestanden kunnen het beste worden geïntegreerd in de toekomstige “Online Document Viewer” en op welke wijze moet deze informatie weer worden gegeven? Is er dan ook nog een efficiënte wijze van laden en zijn er eventueel nog aanvullende functies die er in de nieuwe add-on gerealiseerd kunnen worden? (Denk hierbij aan tekst selecteren, tekst printen en dergelijke.)

3.3.

Doelstelling

Het doel van de opdracht is het ontwerpen en ontwikkelen een online vervangingssysteem in .NET (C# plus SilverLight) voor bestaande lokale programma’s. Nu worden deze applicaties gebruikt om documenten vanuit het DMS te openen. Na mijn stage zouden deze bestanden via een Microsoft SilverLight viewer geopend moeten kunnen worden.

Het is hier natuurlijk wel de bedoeling dat ik niet alleen de configuratie van SharePoint ga doen, maar vooral het ontwikkelen van de viewer op mij ga nemen. Tevens gaat de SilverLight viewer ook in een bestaand systeem genaamd ‘INVU’ geïmplementeerd worden. Hierdoor wordt de SilverLight viewer als een standalone programma ontworpen.

(11)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 5 - 34

3.4.

Onderzoeksopdracht

De Afstudeerstageopdracht luidt als volgt: Ontwikkel een “Online Document Viewer” applicatie waarmee verschillende soorten bestandsextensies en versies direct in de client (browser) weergegeven kunnen worden. Van Dinther wil gegevens uit kunnen lezen die in één van de onderstaande bestandssoorten staan. Deze extensies staan gerangschikt op het lokale programma waarmee het bestand origineel geopend zou kunnen worden.

 Microsoft Word

- .doc Word document

- .docx Word Open XML format document - .rtf Rich Tekst Format

- .html HyperText Markup Language

- .xhtml Extensible HyperText Markup Language

- .mhtml Multipurpose Internet Mail (Multimedia) Extensions HyperText Markup Language - .odt OpenDocument Tekst Templates

- .txt Plain-text file  Microsoft Excell

- .xls Excell worksheet

- .xlsx Excell Open XML format worksheet - .xlsm Excell Macro-Enabled worksheet - .xltx Excell template worksheet - .csv Comma-separated file  Microsoft Powerpoint

- .ppt Powerpoint presentation

- .pptx Powerpoint Open XML format presentation - .pps Powerpoint show

- .ppsx Powerpoint Open XML format show - .pot Powerpoint template

- .potx Powerpoint Open XML format template  Microsoft Outlook

- .msg Outlook message - .eml Email message - .mht mhtml Web Archive  PDF viewer

- .pdf Portable Document Format  Image viewer

- .tif(f) Tagged Image File (Format) - .jp(e)g Joint Photographic (Experts) Group - .png Portable Network Graphics - .gif Graphics Interchange Format - .bmp Bitmap file

(12)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 6 - 34

Aan het einde van het traject kan het mogelijk zijn dat niet alle bovenstaande extensies ondersteund zullen worden door de “Online Document Viewer”. Later onder het hoofdstuk Uitvoering (hoofd 5) staat in paragraaf 5.1.1 een MoSCoW lijst waarin deze extensies op prioriteit worden ingedeeld.

3.5.

Uitgangspunten

Ontwikkel een geïntegreerde browser-viewer voor intern en extern gebruik genaamd ‘Ontwerp & ontwikkeling Online Document Viewer’ voor Van Dinther en gebruik makend van:

 ‘Microsoft SharePoint 2010’ of ‘INVU’ voor Frontend

 ‘Microsoft SQLserver 2008 R2 developer edition’ voor gegevensopslag van SharePoint of INVU  ‘Microsoft Visual Studio 2010’ voor .NET C# ontwikkeling

Deze tools en talen worden uitgebreid besproken in paragraaf 4.2 Technieken.

3.5.1.

Buiten scope

Als stagiair bij Van Dinther houd ik mij niet bezig met het configureren van de SharePoint omgeving. Deze kunnen eventueel gedaan worden door een collega.

3.5.2.

Functionele requirements

 De verschillende soorten bestanden moeten op een juiste wijze geconverteerd worden.  Er moeten verschillende soorten views komen om gebruikers een keuze te geven.  Bestanden moeten geprint kunnen worden.

 Tekst moet herkend en geselecteerd (en gekopieerd) kunnen worden.  Pagina’s moeten gedraaid kunnen worden.

 Pagina’s moeten vergroot of verkleint kunnen worden.

3.5.3.

Niet-functionele requirements

 Bestanden moeten snel (SMART  binnen 5 seconden) ingeladen kunnen worden.  Bestanden mogen niet haperen.

 Product mag niet crashen zonder een foutmelding weer te even.

3.5.4.

Randvoorwaarden

 Het product moet door N. van Hooydonk zelfstandig gerealiseerd worden.

 Het product moet gerealiseerd worden op locatie bij van Dinther in Raamsdonksveer.

3.5.5.

Planning

In de originele planning waar nog het ‘AORTA Lifecycle Model’ werd toegepast is en schema gemaakt die na de invoering van de DSDM ontwikkelmethode niet helemaal meer klopte. Deze originele planning plus opleveringen ziet u in de paragraaf 2.7 van bron B.

(13)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 7 - 34

Na overgeschakeld te zijn naar de DSDM ontwikkelmethode is de bestaande planning aangepast. De 5 ontwikkelfasen van DSDM zijn nu in gebruik genomen en hierbij zijn ook de aandachtsgebieden aangepast. Tevens zijn alle opleveringen voor Avans Hogeschool weg gelaten. Deze kunt u terug vinden in het oriëntatieverslag (bijlage B).

3.5.5.1.

Globaal fasen plan (Work Breakdown Structure):

Fase één en twee zijn omgewisseld qua volgorde. Dit wegens kennismaking met het bedrijf en het oriëntatieverslag dat in week vijf ingeleverd moest worden.

Hieronder volgt een overzicht van de onderkende fasen en hun specifieke aandachtsgebied.

Fase Periode Aandachtsgebied

1 Week 1 - Stagebedrijf leren kennen

- Software installeren

2 Week 2 – 4 - Oriëntatie C# plus Viewer Libraries

- Oriëntatie C# plus Conversie Libraries - Oriëntatie MS SharePoint

3 Week 5 - Orientatieverslag (inclusief PVA met functionele

en niet niet-functionele eisen).

3 Week 6 - 9 - Ontwerp Gegevensconversie

4 Week 10 - 11 - Ontwerp GUI (SilverLight viewer)

4 Week 12 - 13 - Implementatie in MS SharePoint

- Inleveren 1 statusrapport

4 Week 14 - Implementatie in MS SharePoint

- Inleveren tussenverslag (concept) - Inleveren 1 statusrapport

5 Week 15 – 16 - Implementatie in INVU

5 Week 17 - 18 - Implementatie in MS SharePoint

Bedrijfsanalyse

Haalbaarheidsonderzoek 1

2

4 Ontwerp en bouw iteratie

Implementatie 5

Functioneel model iteratie 3

(14)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 8 - 34

4.

Methoden & Technieken

In dit hoofdstuk worden de gebruikte methoden en technieken beschreven. Door middel van deze methoden en technieken is het product tot stand gekomen.

4.1.

Ontwikkelmethode

Na lang nagedacht te hebben over verschillende ontwikkelmethodes was de eerste keuze op de watervalmethode gevallen. In eerste instantie was het handig aan een volgende fase te beginnen als de vorige fase al helemaal was afgerond. Wat na een paar weken als nadeel van de watervalmethode ondervonden werd was de missende korte terugkoppeling binnen dezelfde fase (Dus een kleine aanpassing). Mocht een eis of wens veranderen moest helemaal naar de voorgaande (en vaak eerste) fase teruggegaan worden. Om deze reden heb ik met mijn bedrijfsbegeleider besproken dat eventuele terugkoppeling mogelijk is. Hierdoor is mijn werkwijze af te leiden uit het ‘AORTA Lifecycle Model’. Het Aorta lifecycle-model is een software ontwikkelmethode volgens de watervalmethode, maar na elke cyclus vindt een terugkoppeling naar de klant plaats. Dit risico probeer ik tevens zo sterk mogelijk af te wenden door de eisen en wensen van de klant tijdens de eerste fase goed op papier te zetten. In theorie zou dit een perfecte oplossing zijn, maar in de praktijk gaat dit natuurlijk niet altijd op.

(BRON: HTTP://NL.WIKIPEDIA.ORG/WIKI/AORTA_LIFECYCLE-MODEL)

Het ‘AORTA Lifecycle Model’ was een goede poging, maar de systematiek voldeed niet aan alle verwachtingen. In de praktijk werden de oplevering en eisen opgeschoven door de twee verschillende klanten. Wegens de vele terugkoppelingen stond ik in het begin van mijn stage voor de keuze om een andere ontwikkelmethode te kiezen. De ontwikkelmethode die uiteindelijk beter zou passen bij mijn project en manier van werken was Dynamic Systems Development Method (DSDM).

De reden waarom er nu dus voor de DSDM ontwikkelmethode gekozen is komt door de volgende redenen: 1. DSDM is bijzonder geschikt voor bedrijfstoepassingen, die interactief zijn en waarbij de functionaliteit

zichtbaar is aan de gebruikersinterface  Bij de online documentviewer is ongeveer de helft van de applicatie interactie met de gebruiker.

2. DSDM is bijzonder geschikt voor bedrijfstoepassingen, die vereisten hebben die niet te gedetailleerd of te vast omschreven zijn. De vereisten zijn in dit geval nog niet helemaal duidelijk of aan verandering onderhevig.  Binnen van Dinther waren nog niet alle eisen van de klant(en) gespecificeerd, maar eerder een globaal doel.

3. DSDM is bijzonder geschikt voor bedrijfstoepassingen, die vereisten hebben die geprioriteerd worden.  Door middel van de MoSCoW lijst (zie par 5.1.1.) wordt er duidelijk gemaakt welke componenten prioriteit krijgen om eerst gemaakt te worden.

4. DSDM is bijzonder geschikt voor bedrijfstoepassingen, die aan tijdsvoorwaarden voldoen.  Tijdens mijn stage heb ik sowieso te maken met een tijdsbestek van 20 weken. Hierin kan dan ook Timeboxing (zie par 4.2.) worden toegepast.

5. DSDM is bijzonder geschikt voor bedrijfstoepassingen, die indien omvangrijk, kunnen worden opgesplitst in kleinere functionele componenten.  Door middel van de MoSCoW lijst (zie par 5.1.1.) wordt duidelijk gemaakt welke componenten prioriteit krijgen om eerst ontwikkeld te worden.

(15)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 9 - 34

4.1.1.

Dynamic Systems Development Method

Zoals in de paragraaf hierboven beschreven is in overeenstemming met mijn begeleiders overeen gekomen dat het werken in cyclussen (DSDM) het beste is. DSDM definieert een generiek, hoog niveau proces (raamwerk) dat aangepast kan worden voor gebruik in een specifieke organisatie, afhankelijk van de bedrijfs- en technische mogelijkheden en beperkingen. In dit proces worden de volgende vijf fasen onderscheiden:

1. Haalbaarheidsonderzoek 2. Bedrijfsanalyse

3. Functioneel model iteratie 4. Ontwerp en bouw iteratie 5. Implementatie

(BRON: WWW.ALICON.NL/HOE/DSDM/DSDM_LIFECYCLE.HTM)

Sommigen pleiten ook voor 7 fasen, waarbij het pre-project en post-project toe worden gepast, maar deze zijn in een dergelijk project onder fase 1 en 5. Dit omdat de opdracht te klein is om alle fasen uitgebreid te realiseren.

In figuur 2 in par 4.1.1.5. hieronder ziet u de DSDM flowchart die ik heb toegepast. Wat als eerste op zal vallen is dat de twee rode vlakken niet bij het geheel horen. Dit klopt ook, want de werkelijke implementatie daarvan is gedaan door mijn stagebegeleider Rens Braspenning. Het trainen van gebruikers wordt door een interne medewerker gedaan die hier speciaal voor is aangesteld.

4.1.1.1.

Haalbaarheidsonderzoek

Binnen DSDM is er eerst het haalbaarheidsonderzoek. Binnen het haalbaarheidsonderzoek wordt onderzocht of de voorwaarden voor een succesvol project kunnen worden ingevuld en of DSDM (met eventuele aanpassingen) de geschikte aanpak is voor dit project. Tevens wordt een eerste schatting gemaakt van benodigde tijd en middelen. Het haalbaarheidsonderzoek duurt maximaal enkele weken.

(BRON: WWW.ALICON.NL/HOE/DSDM/DSDM_LIFECYCLE.HTM)

4.1.1.2.

Bedrijfsanalyse

In het bedrijfsonderzoek wordt gekeken waar het project geïmplementeerd moet worden. Meestal moet het project binnen een ander project gerealiseerd worden en dan is het natuurlijk wel zo makkelijk om iets van het overkoepelende systeem te weten. Daarbij wordt ook gekeken naar de organisatie en bestaande bedrijfsprocessen die daarbij een rol spelen. Het is natuurlijk uiteindelijk van groot belang of het project ook past binnen het bedrijf en of medewerkers efficiënt met het eindproduct kunnen werken. Hierna volgt het haalbaarheidsonderzoek. Hierin wordt bepaalt of het project met de te benutten middelen wel binnen het tijdsbestek gerealiseerd kan worden.

(BRON: WWW.ALICON.NL/HOE/DSDM/DSDM_LIFECYCLE.HTM)

Binnen mijn project heb ik het haalbaarheidsonderzoek en de bedrijfsanalyse samengevoegd in het oriëntatieverslag. Deze kunt u vinden in bijlage B. Deze twee overlappen elkaar voor een groot deel. Daarbij is de documentviewer voor een groot deel een losstaand systeem.

(16)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 10 - 34

4.1.1.3.

Functioneel Model Iteratie (FMI)

In de vorige fase is gedefinieerd welke bedrijfsprocessen ondersteund moeten worden. In de FMI wordt bepaald met welke functionaliteit dat zal gaan plaatsvinden. In één woord kan gesteld worden dat "wat" de applicatie moet gaan doen tijdens deze fase wordt bepaald. De functionaliteit wordt iteratief ontwikkeld met behulp van prototypes en functionele modellen. DSDM onderkent hiervoor 3 iteraties, te weten onderzoek, verfijning en consolidatie. Op deze wijze kunnen toekomstige gebruikers voortschrijdend inzicht opnemen in het uiteindelijke eindproduct. Optimale gebruikskwaliteit wordt zo heel dicht benaderd.

(BRON: WWW.ALICON.NL/HOE/DSDM/DSDM_LIFECYCLE.HTM)

4.1.1.3.1.

Timeboxing en prioriteitstelling

De techniek om zowel tijdige oplevering te realiseren als voortschrijdend inzicht te kunnen implementeren heet timeboxing. Binnen DSDM projecten is de opleverdatum vast en de productiecapaciteit is daardoor duidelijk te benoemen (op basis van beschikbare tijd en mensen).

Timeboxing betekent effectief dat tijd en geld worden gefixeerd en dat functionaliteit wordt gevarieerd. Het managen van functionaliteit gebeurt door middel van prioriteitstelling. Initieel wordt een lijst met eisen opgesteld, waaraan prioriteiten worden toegekend volgens het MoSCoW principe. Op basis van deze lijst wordt een begroting gemaakt, die vervolgens wordt gefixeerd. Bij optredende verschuivingen wordt niet meteen gegrepen naar het aloude middel van meer tijd/geld. Nee, er wordt middels de prioriteitenlijst bepaald wat dan wel binnen de grenzen blijft horen .

(BRON: WWW.ALICON.NL/HOE/DSDM/DSDM_LIFECYCLE.HTM)

4.1.1.3.2.

MoSCoW Lijst

MoSCoW (de o's maken het wat gemakkelijker uit te spreken) is een eenvoudig maar krachtig prioriteitstellingprincipe. De eisen aan het systeem worden gecategoriseerd in Must have, Should have, Could have, en Want to have but won't have this time. 'M' eisen moeten worden gerealiseerd en vormen de 'Minimal Usable SubseT'. 'S' eisen moeten ook worden gerealiseerd, maar er is eventueel een work-around realiseerbaar. 'C' eisen moeten worden gerealiseerd wanneer er voldoende tijd is, maar zouden eventueel kunnen vervallen zonder de toepasbaarheid van het systeem aan te tasten. 'W' eisen zijn belangrijke eisen die echter niet horen bij de doelstellingen van het huidige increment.

(BRON: WWW.ALICON.NL/HOE/DSDM/DSDM_LIFECYCLE.HTM)

Hier wordt dus bepaald welke functies er uiteindelijk geïmplementeerd gaan worden en binnen welk tijdsbestek dit moet gebeuren. In mijn geval heb ik deze functies al globaal beschreven in mijn opdrachtomschrijving. In de MoSCoW lijst(zie verder in par. 5.1.1 Uitvoering) is gedetailleerderder beschreven welke functies ik zal gaan ontwikkelen. Door middel van timeboxing (zie verder in hoofd. 5. uitvoering) wordt er afgebakend in welk tijdsbestek deze functies gerealiseerd zouden moeten worden. Bij mijn project is de maximale timebox op plusminus 20 weken gezet door Avans Hogeschool Breda.

4.1.1.4.

Ontwerp en Bouw Iteratie (OBI)

Als alle toekomstige functies van het systeem dan op prioriteit zijn geordend kan er begonnen worden aan het ontwerp en de bouw van het systeem. Hier wordt dan aan een prototype gewerkt die later goedgekeurd kan worden door de klant.

(17)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 11 - 34

Waar in de functionele model iteratie (FMI) de nadruk ligt op het realiseren van WAT, ligt in de ontwerp en bouw iteratie de nadruk op het HOE. Startpunt voor deze fase is een geprioriteerde lijst functionele- en niet-functionele eisen met eventueel een goedgekeurd functioneel prototype. Hoeveel iteraties gerealiseerd zullen worden ligt totaal aan de gefixeerde tijd die aangegeven is door middel van timeboxing. Aan het einde van de OBI is er dus een werkend product dat kan worden opgeleverd.

Afhankelijk van bijvoorbeeld ontwikkelomgeving of de complexiteit van het te bouwen increment kan worden besloten de OBI te combineren met de FMI. Een belangrijk nadeel daarvan is dat het boven tafel krijgen van de noodzakelijke functionaliteit dan vaak onvoldoende aandacht krijgt.

Met DSDM wordt incrementeel ontwikkeld, waardoor de ontwikkeling van de verschillende incrementen zich ook in verschillende fasen kan bevinden. Terwijl op een bepaald moment bepaalde incrementen al

geïmplementeerd zijn (dus worden gebruikt), bevindt de ontwikkeling van andere incrementen zich dan nog in de FMI of OBI.

(BRON: WWW.ALICON.NL/HOE/DSDM/DSDM_LIFECYCLE.HTM)

4.1.1.5.

Implementatie

Als het product af is gaan we over tot implementatie van ons product. Deze wordt geïmplementeerd bij de klant die deze dan kan gaan testen. Mochten er nog opmerkingen zijn of moeten eventuele verbeteringen aan het opgeleverde bestand komen dan wordt er eerst gekeken naar de ernst van de zaak. In de lijst hieronder staan de acties die daarna ondernomen kunnen worden.

Tijdens deze fase wordt de applicatie in alle opzichten geïmplementeerd. De applicatie wordt geïnstalleerd, maar ook de gebruikers worden, bijvoorbeeld door middel van workshops, geïnformeerd over de werking van de applicatie. De tijdens het project ontwikkelde documentatie wordt afgerond, gebruikers worden getraind en de formele acceptatie vindt plaats. De laatste stap van de implementatie is een evaluatie van wat er is bereikt. Het resultaat hiervan dient als input voor de beslissing over het al of niet starten van volgende incrementen. De volgende mogelijkheden worden aangegeven:

1. Alles is opgeleverd en er is geen noodzaak voor verdere ontwikkeling, het project wordt beëindigd; 2. Nieuwe functionaliteit is geïdentificeerd tijdens de ontwikkeling en er wordt teruggekeerd naar de fase

Bedrijfsonderzoek, vanwaar een nieuw increment wordt gestart;

3. Een minder essentieel onderdeel van de functionaliteit is tijdens de ontwikkeling achterwege gebleven door de combinatie tijdsdruk en prioriteitstelling. De fase Functioneel Model Iteratie wordt opnieuw gestart om de ontbrekende functionaliteit toe te voegen aan het reeds geïmplementeerde systeem; 4. Aan sommige niet-functionele eisen is (nog) niet voldaan. De fase Ontwerp en Bouw Iteratie wordt

opnieuw gestart om de ontbrekende niet functionele eisen toe te voegen aan het reeds geïmplementeerde systeem.

(18)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 12 - 34

(FIGUUR 2: VANDINTHER DSDM FLOWCHART) (BRON:DSDM2E EDITIE,DEMETHODEINDEPRAKTIJK)

(Figuur 2 – Pijl 1)

Mocht er een kleine bugfix zijn of kan er snel een workaround gerealiseerd worden gaat het project terug naar ontwerp en bouw. Er is hier sprake van een kleine wijziging in een niet nieuw functioneel onderdeel.

Haalbaarheidsonderzoek

Bedrijfonderzoek

1 2

(19)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 13 - 34

(Figuur 2 – Pijl 2)

Als er voor de klant een minder belangrijk deel van de functionele omgeving ontbreekt, dus in de rangorde van de MoSCoW lijst. Blijkt deze toch wel belangrijk te worden dan zal de ontwerpstroom terugkoppelen naar functies bepalen. Hier wordt de MoSCoW lijst eventueel bijgewerkt en vergaat de flowchart volgens procedure. (Figuur 2 – Pijl 3)

Het kan natuurlijk ook zo zijn dat na het testen van de klant een gewenste functie ontbreekt of dat de klant juist op dit moment deze extra functie nog wil zien, maar hier eerder nog nooit eerder aan gedacht heeft. In dit geval kan er teruggekoppeld worden naar het begin. Het haalbaarheids- en bedrijfsonderzoek wordt er dan opnieuw bij gepakt en aangepast. In de praktijk gebeurd deze stap niet erg vaak aangezien aan het begin de MoSCow list is samengesteld en de functie die toegevoegd moet worden meestal wel in deze lijst staat.

4.2.

Technieken

Naast de gekozen ontwikkelmethode zijn er ook bepaalde technieken gebruikt om het product te realiseren. Zowel voor INVU als SharePoint zijn verschillende technieken en tools gebruikt. In de paragrafen hieronder staan de technieken beschreven met hun doel binnen het programma in de kop.

4.2.1.

C-Sharp (& ASP.NET) - Programmeertaal

C# (Engels uitgesproken als "C sharp") is een objectgeoriënteerde programmeertaal ontwikkeld door Microsoft als deel van het .NET-initiatief, en later geaccepteerd als standaard door ECMA (ECMA-334) en ISO (ISO/IEC 23270). C# is objectgeoriënteerd en lijkt quasyntaxis en semantiek sterk op Java, terwijl vooral in de bibliotheken en programmeeromgeving een sterke invloed van Object Pascal enDelphi te zien is. Dit is niet verrassend, omdat C# onder andere bedoeld is als Microsofts antwoord op Java en omdat Anders Hejlsberg, de ontwerper van Delphi, ook een leidende rol heeft gehad in is C# en .NET.

C# is samen met het .NET-framework geïntroduceerd, en wordt beschouwd als de belangrijkste taal voor dat platform.

Naast desktopapplicaties en serverapplicaties (in combinatie met ASP.NET) wordt de taal ook gebruikt voor mobiele apparaten als pda'sen smartphones, in combinatie met het .NET Compact Framework.

(BRON:http://nl.wikipedia.org/wiki/C#)

4.2.2.

Structured Query Language (SQL) - Opslag van gegevens

SQL(Structured Query Language) is een standaardtaal voor een

relationeel databasemanagementsysteem (DBMS). Het is een gestandaardiseerde taal die gebruikt kan worden voor taken zoals het bevragen en het aanpassen van gegevens in een relationele databank. SQL kan met vrijwel alle moderne relationele databankproducten worden gebruikt.

SQL is gebaseerd op de relationele algebra en werd in de loop van de jaren zeventig ontwikkeld door IBM (San José). Sinds het ontstaan van SQL hebben reeds vele verschillende SQL-versies het levenslicht gezien. Pas in de loop van de jaren 80 werd SQL gestandaardiseerd. Tegenwoordig gebruiken de meeste Relationele Database Management Systemen SQL-92.

Bij het beschouwen van de verschillende SQL-implementaties moeten we vaststellen dat bijna elk DBMS zijn eigen extra functies heeft toegevoegd aan SQL-92. Dit maakt dat computerprogramma's waarbij de databankinterface werd geschreven met behulp van SQL niet noodzakelijk zonder problemen kunnen worden

(20)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 14 - 34

gemigreerd van de ene naar de andere SQL-compatibele databank. In vele gevallen werd door de ontwikkelaar van de software wel een of andere SQL-functie gebruikt die enkel maar bestaat in de SQL-implementatie van één specifiek DBMS.

SQL kan worden opgedeeld in drie onderdelen: de Data Manipulation Language (DML), de Data Control Language (DCL) en de Data Definition Language (DDL).

(BRON:http://nl.wikipedia.org/wiki/SQL)

4.2.3.

SharePoint & INVU – Frontend implementatie

SharePoint is een platform van Microsoft dat dient als een raamwerk voor het opzetten van een website voor informatie-uitwisseling en online samenwerking binnen een groep of organisatie, zoals dat vaak op een intranet gebeurt. Een belangrijk concept daarbij zijn delibraries of bibliotheken waarin documenten kunnen worden opgeslagen. De opgeslagen documenten kunnen verrijkt worden metmetadata die aan een document zijn gekoppeld en bibliotheken kunnen versiebeheer hebben. Niet alleen Officedocumenten kunnen worden opgeslagen in SharePoint, maar in feite ieder digitaal object. Andere functionaliteiten die in SharePoint bestaan voor het uitwisselen van informatie zijn onder andere fora, enquêtes, taken en agenda's. Doel hierbij is dat informatie op de juiste manier met de juiste persoon gedeeld kan worden.

INVU is een alternatief voor SharePoint. Het idee achter het systeem is hetzelfde, alleen de implementatie van de documentviewer in het systeem is anders dan SharePoint.

(BRON:http://nl.wikipedia.org/wiki/SharePoint)

4.2.4.

Microsoft SQLserver 2008 R2 developer edition - gegevensopslag van SQL

Microsoft SQL Server is een relationeel databasebeheersysteem ontwikkeld door Microsoft. Het ondersteunt een dialect van SQL, beschreven in paragraaf 4.2.2. Het wordt algemeen gebruikt door organisaties voor kleine tot middelgrote databases.

(BRON: http://nl.wikipedia.org/wiki/Microsoft_SQL_Server)

4.2.5.

Microsoft Visual Studio 2010 - .NET C# ontwikkeling

Microsoft Visual Studio is een programmeerontwikkelomgeving van Microsoft. Het biedt een complete set ontwikkelingstools omcomputerprogramma's in diverse programmeertalen voor met name Windows-omgevingen te ontwikkelen. De talen Visual Basic.Net,C# (paragraaf 4.2.1.), F# en Visual C++ worden in de standaard editie meegeleverd. Het wordt gebruikt om ASP.Net-webapplicaties, XML-webservices,

desktopapplicaties en mobiele toepassingen te ontwerpen. Het is uitermate geschikt voor het ontwerpen van Windows-applicaties, omdat bij Visual Studio diverse standaardbibliotheken en MFC-klassenbibliotheken met programmeercode worden geleverd die het mogelijk maken om op een eenvoudige wijze Windows-kenmerken zoals vensters en keuzemenu's aan een programma te geven.

(21)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 15 - 34

5.

Uitvoering

In dit hoofdstuk wordt verantwoording afgelegd van het ontwikkelingsproces door middel van het eindproduct te presenteren met bijbehorende producten.

Voordat u dit hoofdstuk leest:

Tijdens mijn afstudeerperiode is er door samenloop van omstandigheden voor gekozen om rond week vijf van de ‘Aorte Lifecycle Model’ methode over te stappen op de DSDM methode. De redenen hiervoor zijn dat de klantbinding erg sterk was en daardoor de specificaties soms nogal veranderden. Dit heeft geresulteerd dat niet alle fases totaal zijn uitgevoerd. De fase haalbaarheidsonderzoek stond eigenlijk ook al vast via Avans Hogeschool, want alle opdrachten werden gecontroleerd op niveau voor er aan de afstudeerstage begonnen mocht worden. De fase bedrijfsanalyse wordt door een groot deel gedekt in het oriëntatieverslag (Bijlage B). Door dit verslag te schrijven kwam er een twijfel of de eerstgenoemde methode wel de juiste was. Later bleek dit dus niet zo te zijn.

5.1.

Functioneel model iteratie

In deze paragraaf wordt besproken welke onderdelen gebruikt zijn om het product te realiseren. De uitkomsten hiervan ziet u in de volgende paragrafen.

5.1.1.

‘MoSCoW’ lijst

Van Dinther wil gegevens uit kunnen lezen vanuit verschillende soorten bestanden. In mijn oriëntatie verslag zijn alle eisen en/of wensen van de documentviewer beschreven. Aan de hand van deze eisen en/of wensen heb ik een zogehete ‘MoSCoW’ lijst opgezet. Deze lijst is mijn rode draad geweest tijdens mijn stage.

MUST have this:

- Viewer ondersteuning

o Microsoft Word

 .doc Word document

o Microsoft Excell  .xls Excell worksheet o Microsoft Powerpoint  .ppt Powerpoint presentation o Microsoft Outlook  .msg Outlook message o PDF Viewer

 .pdf Portable Document Format

o Afbeeldingen

 .tif(f) Tagged Image File (Format)  .jp(e)g Joint Photographic (Experts) Group - Viewer zoomfunctie

- Viewer printfunctie

SHOULD have this if at all possible: - Viewer ondersteuning

o Microsoft Word

(22)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 16 - 34

o Microsoft Excell

 .xlsx Excell Open XML format worksheet

o Microsoft Powerpoint

 .pptx Powerpoint Open XML format presentation

o Microsoft Outlook

 .eml Email message

o Afbeeldingen

 .png Portable Network Graphics  .gif Graphics Interchange Format - Viewer thumbnail scherm

- Draaiknop pagina binnen pagina - Fullscreen optie

COULD have this if it does not affect anything else: - Viewer ondersteuning

o Microsoft Word

 .txt Plain-text file

o Afbeeldingen

 .bmp Bitmap file

 .psd Photoshop Format (Adobe Systems Incorporated) - Zoomfunctie schuifbalk.

- ‘Lite’ GUI

- Ophalen van bijlagen in een email

WON'T have this time but WOULD like in the future: - Viewer ondersteuning

o Microsoft Word

 .rtf Rich Tekst Format

 .html HyperText Markup Language

 .xhtml Extensible HyperText Markup Language

 .mhtml Multipurpose Internet Mail (Multimedia) Extensions HyperText Markup Language

 .odt OpenDocument Tekst Templates

o Microsoft Excell

 .xlsm Excell Macro-Enabled worksheet  .xltx Excell template worksheet  .csv Comma-separated file

o Microsoft Powerpoint

 .pps Powerpoint show

 .ppsx Powerpoint Open XML format show  .pot Powerpoint template

 .potx Powerpoint Open XML format template

o Microsoft Outlook .mht mhtml Web Archive

(23)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 17 - 34

5.1.2.

TimeBox

Binnen mijn stageperiode heb ik ook een globale timebox gemaakt voor de verschillende DSDM fasen plus de documentatiefase. Deze is gebruikt als rode draad om mijn producten op tijd af te krijgen.

(FIGUUR3:TIMEBOXONLINEDOCUMENTVIEWER)

Zoals in bovenstaande figuur al aan geeft is de timebox verdeelt in de 5 fasen van ontwikkeling uit DSDM. Uit de fasen onder ID 1 en 2 rolt het oriëntatieverslag. Deze kunt u vinden in bijlage B. De algemene documentatie is gedurende het hele proces bijgehouden. Dit zijn de opleverproducten voor Avans Hogeschool.

(24)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 18 - 34

5.2.

Ontwerp en bouw iteratie

In deze paragraaf komt naar voren hoe het technisch gebruik van de applicatie in elkaar zit. In de eerste paragraaf worden de gebruikersfuncties van het systeem getoont door middel van verschillende Use Case scenarios die uiteindelijk weer samengevoegd zijn in het Use Case Diagram. Daarna komt het deployment diagram voorbij waarin wordt uitgelegd hoe het globale systeem in elkaar zit. Vervolgens wordt de server-client verbinding door middel van een sequentie diagram uitgelegd in paragraaf 5.2.3. Dit geeft een goed beeld van de interne communicatie en gegevensstromen. Ten slotte komen de klassendiagrammen van zowel de backend als de frontend van de documentviewer naar voren in paragraaf 5.2.4.

5.2.1.

Use Case diagram

Het doel van eenuse case-diagram is om een overzicht te geven van de functionaliteiten van een systeem in termen vangebruikers. De onderlingen relaties tussen de bestaande scenarios (die in paragraaf 5.2.1.1. worden getoond) worden hier goed zichtbaar.

(FIGUUR4:USE CASE DIAGRAM)

Opmerkelijk is het tweerichtingsverkeer tussen ‘Open Pagina’ en ‘Openen Bijlage’. Hiermee wordt bedoeld: Als een bijlage geopend is kan de hoofdpagina vanuit deze view weer worden geopend. De hoofdpagina wordt dus gesloten op het moment dat de bijlage geopend wordt en vice versa.

(25)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 19 - 34

5.2.2.

Deployment diagram

Om duidelijk te maken hoe het globale systeem in elkaar zit hebben we het gebruiksdiagram. Het deployment diagram toont het gebruik van de hardware- en softwarecomponenten binnen een systeemconfiguratie en geef een eenvoudige, maar duidelijke weergave over de inrichting van de applicatie weer.

(FIGUUR5:DEPLOYMENT DIAGRAM)

Zoals u ziet bestaat de documentviewer uit twee delen: De Client en Server. De SilverLight viewer wordt eerst gedownload bij het eerste bezoek aan de site en kan dan lokaal communiceren met de IHttpHandlers van de server.

(26)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 20 - 34

5.2.3.

Sequentie diagram

Om de gegevensstromen binnen de applicatie goed in kaart te brengen is er ook een sequentie diagram gemaakt.

(FIGUUR7:SEQUENTIE DIAGRAM)

Er is echter nog één opmerking bij het diagram: Het aanroepen van het document en de bijlagen is zo geprogrammeerd dat ze asynchroon zijn en meerdere keren aangeroepen kunnen worden. Dit betekend dat de twee aanroepen tegelijk en ook door meerdere gebruikers aangeroepen kan worden. Dat de twee IHttpHandlers tegelijk aangeroepen kunnen worden is een grote performance verbetering.

(27)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 21 - 34

5.2.4.

Klassendiagram vandinther.econtent (server-side)

Hieronder is het klassendiagram van de server-side kant van de documentviewer afgebeeld. Er zijn twee klassen die een IHttpHandler overerven: getDocument en getattachments. Dit betekent dat deze twee klassen aangeroepen kunnen worden door middel van een http Web request (url eigenschap). Als de IHttpHandler getDocument klasse wordt aangeroepen dan wordt het veld requestedFile en eventueel ook het velt requestedAttachment gevuld. Deze bevatten de informatie die nodig is om een resultaat te geven. Op dit moment wordt het bestand eventueel geconverteerd naar een voor de viewer leesbaar bestand. De IHttpHandlers geven in dit geval hierna ook altijd een stream terug als antwoord die weer door de Client geopend kan worden.

(28)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 22 - 34

5.2.5.

Klassendiagram vandinther.documentviewer (client-side)

Aan de andere kant is er natuurlijk ook de client-side van de documentviewer. Dit is de kant die de gebruiker als eerste te zien krijgt. De viewer wordt geladen en daarmee ook het bestand. Aan de hand van aangegeven parameters roept de client de IHttpHandler van de server-side applicatie aan. Deze geeft dan op zijn beurt weer een bestand door in de vorm van een stream. De IHttpHandlers kunnen asynchroon en in meerdere instanties worden aangeroepen wat tot een enorme snelheidsverbetering leidt. Als het bestand dan streaming wordt ingeladen doet de SilverLight applicatie (de client dus) weer zijn werk door het bestand zichtbaar te maken voor de gebruiker. In Bijlage A zit het uitgebreide klassendiagram van de vandinther.documentviewer (client-side).

(29)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 23 - 34

5.3.

Implementatie

Het belangrijkste product is natuurlijk het eindproduct. Dit is dan ook het product waar het allemaal om draait. In de volgende paragrafen wordt uitgelegd wat de Online Documentviewer doet en hoe deze in alle verschillende versies te gebruiken is.

5.3.1.

Viewer

In de volgende paragrafen komt naar voren dat de viewer gebouwd voor zowel het platform SharePoint als het platform INVU. De viewer is in principe een standalone product, wat het makkelijk maakt deze in nieuwe systemen te implementeren. In de komende paragraaf gaan we eerst wat dieper in op hoe de viewer achter de schermen werkt en daarna beschrijven we Graphical User Interface (GUI) voor de gebruiker.

5.3.1.1.

Werking viewer

De online documentviewer laadt bestanden vanaf de serverdirectory direct in het scherm. Toch gebeurt er wel het een en ander voordat het bestand daadwerkelijk gestreamed wordt naar de browser. De viewer bestaat eigenlijk uit twee delen: Het conversie gedeelte en de frontend. De frontend is in dit geval de Microsoft Silverlight applicatie die in de browser geladen wordt en het conversie gedeelte staat op de server. Als een bestand aangeklikt wordt, gaat het deel conversie controleren of het bestand wel daadwerkelijk kan worden gelezen door de viewer. Zo niet, dan stuurt deze een code door naar de Silverlight applicatie die op zijn beurt weer een sein door middel van een melding geeft aan de gebruiker. Zodra geconstateerd is dat de extensie geladen kan worden wordt het bestand geconverteerd naar een .xps of .tiff memorystream. Welk van deze twee conversies dit is ligt aan het bestand dat geconverteerd moet worden. Over het algemeen worden plaatjes naar .tiff streams geconverteerd en teksten en dergelijke naar .xps streams. De Silverlight viewer kan de .xps of .tiff stream dan weer inlezen. Het kan ook zijn dat er geen conversie plaats hoeft te vinden. Sommige bestanden kan de viewer ook zo inlezen (zoals bijvoorbeeld .png bestanden) en worden dus alleen naar een memorystream geschreven. De reden dat dit geconverteerde bestand niet op de schijf wordt opgeslagen als .xps of .tiff bestand, maar naar een memorystream wordt geschreven heeft te maken met performance. Zodra het bestand gestreamed wordt naar het werkgeheugen is er de mogelijkheid om de GUI al te laten zien met bijvoorbeeld de eerste pagina. De rest van de pagina’s wordt geleidelijk ingeladen. In de volgende paragrafen wordt beschreven welke verschillende Silverlight Applicaties er zijn en hoe deze te bedienen zijn. De versie SharePoint heeft ook alle functies van de Versie INVU, daarom zullen deze functies niet twee keer genoemd worden.

(30)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 24 - 34

5.3.1.1.1.

Versie INVU

In INVU is de viewer echt een standalone applicatie. De viewer wordt aangeroepen door middel van een hyperlink die een paar waardes van het document door geeft. In figuur 10 ziet u een voorbeeld van de links in INVU. Door deze waarden weet de viewer welk bestand geladen moet worden.

(FIGUUR 10:INVU AANROEPSCHERM)

Als u op een documentnummer in het rode vak klikt opent er een nieuwe pagina met de waarden van dat document. In figuur 11 ziet u een email document die geopend is met de documentviewer. Zoals u in de adresbalk (punt 1) ziet is er een document meegegeven (documentviewer.aspx?document=2346076). Door middel van en SQL query kan de backend van het programma de locatie van het bestand op de harde schijf vinden.

(31)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 25 - 34

Op punt 2 in figuur 11 ziet u een bladwijzer component. Hierin ziet u alle pagina’s die het document bevat. Mochten er meerdere pagina’s zijn dan kunt u snel wisselen van pagina zonder ze allemaal één voor één door te bladeren.

Punt 3 is de viewer zelf. Dit is het visuele plaatje dat we uiteindelijk zo goed mogelijk willen bereiken. De viewer zelf heeft ook nog een functie. Als u met uw muis over de viewer heen gaat verschijnt er onderaan elke pagina een knop waarmee u de pagina rond kunt draaien. Als u op deze knop drukt dan draait de pagina 45 graden rechtsom. De knop kan oneindig gebruikt worden.

De viewer (punt 3) moet natuurlijk goed leesbaar zijn. Om dit te realiseren zijn er een aantal tools om het beeld (de viewer dus) aan te passen. Al deze tools staan in punt 4. Deze tools worden in figuur 13 verder uitgelegd. Punt 5 is een optie. Mocht het geladen bestand een email zijn dan kijkt de backend eerst of er nog bijlagen en/of gerefereerde plaatjes in het bestand zitten. Dit kan bijvoorbeeld ook een handtekening zijn. Als zo’n item bestaat maakt de backend een hiërarchische lijst van bestanden die doorgestuurd wordt naar de SilverLight applicatie. De applicatie merkt dit op zijn beurt weer op en maakt deze visueel in de browser. Mochten er dus bijlagen in het bestand zitten in de mail wordt de knop uit punt 5 zichtbaar. Als u met uw muis over deze knop heen gaat ziet u de hiërarchische boom zichtbaar in figuur 12.

(FIGUUR 12:ONLINE DOCUMENTVIEWER HIËRARCHISCHE BOOM)

U ziet hier in deze hiërarchische boom om wat voor soort bijlagen het gaat en welke bestandsnamen ze hebben. Deze documenten kunnen weer met 1 druk op de knop streaming ingeladen worden zoals beschreven hierboven. Doordat de hiërarchische boom blijft bestaan kunt u ook weer erg makkelijk terug gaan naar de oorspronkelijke email.

(32)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 26 - 34

Zoals boven beschreven bij figuur 11 bestaan er binnen de Online Document viewer ook een aantal tools (Figuur 13)

(FIGUUR 13:ONLINE DOCUMENTVIEWER TOOLKIT)

Ten eerste heeft u twee tools die ervoor zorgen dat u uw scherm in de juiste verhouding krijgt. Bij punt 2 kunt u kiezen tussen voor gedefinieerde formaten om het scherm naar wens te maken. Dit is echter niet helemaal waar. In figuur 13 kunt u zien dat er een aparte functie geselecteerd is: ‘(Anders **%)’. Mocht u deze waarde selecteren pakt de viewer de waarde van punt 1. Punt 1 is de schaalschuif. Met deze schuif kunt u zelf op de procent precies bepalen welke schaal gewenst is. Dit is erg handig met moeilijk leesbare documenten.

Daarnaast zijn er nog drie tools om door het te laden bestand heen te navigeren / bladeren. Bij punt 3 vind u de eenvoudigste. Hier kunt u pagina voor pagina door het bestand heen bladeren door op één van de knoppen te drukken. Bij punt 4 ziet u de paginanummering dan veranderen. Hier kunt u tevens een pagina nummer typen en bij het drukken van de ‘Enter’ knop zal de viewer u automatisch naar de opgevraagde pagina brengen. (Opmerking: Mocht u een te lage of te hoge numerieke waarde invoeren zal de viewer u naar de dichtstbijzijnde pagina van de ingevoerde waarde brengen. Mocht er een non-numerieke waarde ingevoerd worden blijft de viewer op dezelfde pagina staan). Als laatst is er de ‘thumbnailview’ bij punt 6. Mocht u op deze knop drukken dan verschijnt er een nieuw scherm met alle pagina’s verkleint naast elkaar zoals zichtbaar in figuur 14. Als u nu op een thumbnail klikt komt u weer terug in het hoofdscherm en brengt de viewer u naar de desbetreffende pagina.

(33)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 27 - 34

(FIGUUR 14:ONLINE DOCUMENTVIEWER THUMBNAILVIEWER)

Met de knop zichtbaar op punt 5 (figuur 13) kan het document geprint worden. Na het klikken op deze knop krijgt u het volgende scherm te zien. Dit is het printscherm. U kunt hier uw printer selecteren en aangeven hoeveel kopieën u van uw document wilt krijgen. Ook kunt u behalve alle pagina’s te printen aangeven welke pagina(‘s) u wilt printen.

(FIGUUR 15:ONLINE DOCUMENTVIEWER PRINTSCHERM)

Als laatste in figuur 13 is er de ‘Fullscreen’ knop. Deze ziet u bij punt 7. Bij het drukken op deze knop zal de silverlight applicatie het hele scherm vullen. Dit maakt het makkelijker om bestanden te bekijken zonder allerlei

(34)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 28 - 34

randen. Tevens kunt u in het volledige scherm alle bovenstaande functies nog steeds gebruiken. Bij het nogmaals drukken op de knop zal de viewer weer naar zijn originele staat terug keren. Deze laatste handeling kan ook met de ‘Esc’ toets gedaan worden.

5.3.1.1.2.

Versie SharePoint

De SharePoint versie verscheelt niet veel van de INVU versie. Buiten het feit dat bestanden anders aangeroepen worden en dat meerdere bestandsextensies geopend kunnen worden lijkt de SharePoint Online Document Viewer heel erg veel op de INVU Online Document Viewer.

Daarbij wordt de viewer zelf ook op een andere manier aangeroepen. In figuur 16 ziet u hoe de viewer geopend kan worden. Klik op een vergrootglas achter de bestandsnaam en het desbetreffende bestand zal geopend worden.

(FIGUUR 16:SHAREPOINT AANROEPSCHERM.)

De SharePoint versie is op dit moment de meest uitgewerkte versie van de Online Document Viewer.

5.3.1.1.2.1.

Lite versie

Binnen de SharePoint versie zijn er 2 subversies: De ‘Lite’ versie en de ‘Normal’ versie. Technisch gezien is het op de achtergrond geen andere versie aangezien ze dezelfde functies gebruiken om het bestand te verwerken. Echter zit er wel een verschil in de GUI (uiterlijk) van het systeem. In figuur 17 kunt u zien hoe deze ‘Lite’ versie eruit ziet.

(35)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 29 - 34

(FIGUUR 17:ONLINE DOCUMENT VIEWER –‘LITE’)

Zoals de bovenstaande figuur aan geeft heeft deze versie een heel stel minder knoppen dan de normale versie. De achterliggende reden is om het kleine scherm zo duidelijk mogelijk te maken. Dit scherm dient eigenlijk als ‘Preview’. Het is zelfs zo dat er nog maar één knop zichtbaar in de viewer is: De ‘Fullscreen’ knop.

De ‘Lite’ versie heeft de mooie optie om van GUI te wisselen. Mocht u op de bovengenoemde knop drukken dan wordt het document naar het volledige scherm gebracht en zijn alle knoppen weer aanwezig net zoals in de normale versie. Mocht u hierna weer op de ‘Fullscreen’ knop klikken of op ‘Esc’ op uw toetsenbord dan krijgt u het scherm uit figuur 17 weer te zien.

(36)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 30 - 34

6.

Discussie/Aanbevelingen

6.1.1.

Interesse tijdens de stage

Het interessante aan mijn afstudeerstage vond ik het inzicht in de processen binnen Van Dinther. Het sprak mij erg aan om bij een dergelijk bedrijf te kunnen werken aan mijn eigen project. Zo heb ik het idee dat ik echt een meerwaarde ben voor het bedrijf. Ik begon steeds enthousiaster te worden nadat ik twee weken met C-Sharp en het project bezig was. Dat er zo veel informatie was die op zo veel verschillende manieren met elkaar gecombineerd kon worden en dan toch op zo’n simpele wijze weergegeven kon worden was voor mij een openbaring!

De stage is tot nu toe erg leerzaam voor mij geweest en ik heb mijn competenties hier pas echt mee kunnen verbreden.

6.1.2.

Eigen ervaring

Mijn ervaring tijdens de bouw van de online document manager is dat de mogelijkheden van programmeren uiteindelijk bijna onuitputbaar zijn. In (relatief) korte tijd heb ik het voor elkaar gekregen om mijn documentviewer in twee systemen te implementeren waarvan zelfs op één systeem de implementatie in twee vormen voldaan is. Daarbij vond ik het erg leuk om eens met mijn eigen project bezig te zijn. Op de stage kreeg ik de vrijheid om mijn eigen inbreng te presenteren en dit heb ik ook erg gewaardeerd. Nou kwam er in deze stage heel veel communicatie met mijn bedrijfsbegeleiders ( en eindgebruikers) bij kijken. Niet zozeer welke informatie ik wilde laten zien, maar meer op welke manier? (dus hoe komt de User Interface er uit te zien.)

6.1.3.

Nu & Straks

Hier wordt in het kort verteld wat ik vind van het behaalde resultaat en wat ik in de toekomst aan mijzelf zou willen verbeteren.

6.1.3.1.

Afronding

Achteraf ben ik erg blij over het resultaat wat ik gemaakt heb. Niet alle extensies die ik werkend in mijn viewer wenste zijn er uiteindelijk in gekomen, maar deze zijn vervangen door andere extensies. Uiteindelijk heb ik toch een goed werkende viewer neergelegd die ook al bij een paar klanten geïmplementeerd is. Ook heb ik veel geleerd over SilverLight, C# en het bedrijfsleven. Hier ben ik nog wel het gelukkigst om aangezien ik mijzelf hier erg in verrijkt heb.

6.1.3.2.

Toekomst

Wat ik in de toekomst beter zou willen doen is de communicatie met school. Mijn communicatie met het bedrijf zelf liep goed en alle stappen werden besproken. Met school heb ik mijn communicatie voor een deel laten verzaken. Ik had niet echt het idee dat ik nog op school zat aangezien ik hier hele weken aan het werk was. Verantwoording naar school toe hoort er nu eenmaal bij en daarin ben ik misschien tekort geschoten. Daarbij moet ik beter inspringen op een onderzoek naar de juiste methode. Het was tijdens deze afstudeerperiode niet handig om tijdens het proces van ontwikkelmethode te veranderen. Dit was achteraf echter wel nodig doordat ik met de methode die ik eerst hanteerde niet genoeg uit de voeten kon.

(37)

vrijdag 15 juni 2012

Online Document Viewer – AIB Avans - v. 1.0 

van Dinther 2012 Pagina 31 - 34

7.

Evaluatie

7.1.

Leerervaring

In dit hoofdstuk worden de leerervaringen van mijn stage bij Van Dinther beschreven.

7.1.1.

Beginsituatie

Tijdens mijn eerste week bij Van Dinther werd ik aan het bedrijf voorgesteld. Mijn bedrijfsbegeleider heeft mij ook meteen kennis laten maken met SharePoint. Tijdens de eerste vergadering die ik bij mocht wonen hebben we ook gelijk wat basisfunctionaliteiten van SharePoint doorgenomen. Toen ik voor het eerst kennis maakte met dit systeem stond ik perplex. De mogelijkheden zijn echt bijna eindeloos! Moest ik hier nou een applicatie op bouwen? Einde week 2 heb ik mij toen maar gewoon gestort op C#. Mijn bedrijfsbegeleider vond dat ik eerst het systeem maar losstaand moest maken en daarna zou er wel gekeken worden naar het implementeren in MS SharePoint. Mijn begeleider, Rens Braspenning, had hier gelijk in. Einde week 2 en 3 heb ik mijn werkproces beschreven in bovenstaande paragrafen. Tevens is er uiteindelijk gekozen voor de DSDM methode om mijn project af te realiseren en af te bakenen (zie par. 2.7.1.).

7.1.1.1.

Capaciteit / Kennis

Aan het begin van mijn stage heb ik ook een inschatting gedaan over mijn capaciteit en kennis waarmee ik begon.

De vraag of de benodigde capaciteit en/of kennis voor deze opdracht aanwezig is valt heel gemakkelijk te beantwoorden. Vanaf de eerste dag dat ik hier kwam zag mijn capaciteiten- en kennisveld er ongeveer zo uit:

- Capaciteit

o 40 uur durende werkweek

o 80% investering in kennis

o 20% productiviteit - Kennis

o C#  Beperkte kennis

o Gebruik libraries  Voldoende kennis

o MS SharePoint  Geen kennis

Nu ik 5 maanden aan mijn afstudeerproject heb gewerkt ziet mijn capaciteiten- en kennisveld er ongeveer zo uit:

3. Capaciteit

o 40 uur durende werkweek

o 40% investering in kennis

o 60% productiviteit 4. Kennis

o C#  Voldoende kennis

o Gebruik libraries  Ruime kennis

o MS SharePoint  Beperkte kennis

Referenties

GERELATEERDE DOCUMENTEN

Verwerken / Verwerking: Een bewerking of een geheel van bewerkingen met betrekking tot persoonsgegevens of een geheel van persoonsgegevens, al dan niet uitgevoerd

Eerstehulpoefeningen hebben we nodig als we het nu, heel acuut, niet meer weten; telkens als we het gevoel hebben bijna in te storten, als ons hoofd omloopt en we

Voor nu kunnen jullie aan de slag met de puzzel “Vele wegen die naar Nieuw Weerdinge leiden” elders in deze

In aanvulling op het vierde lid voldoet bij een ingrijpende renovatie als bedoeld in artikel 2 van de herziene richtlijn energieprestatie gebouw en w aarbij een technisch

(meestal geen vulling) U geeft indien aan de orde aan welke extra maatregelen nodig zijn voor contact met deze patiënt of cliënt.. In de update: alleen zaken die nog niet

Gemeenten krijgen in 2018 dus extra geld voor de instroom van statushouders in 2018 én kunnen profiteren van het feit dat de eventuele uitstroom van statushouders die al in de

Na vaststelling door de raad wordt het definitieve GRP zes weken ter visie gelegd. Extern overleg gevoerd met: samenwerkingsverband Noord-Kennemerland Noord, inclusief

Na de ter inzage legging worden de zienswijze verwerkt en wordt het GRP nogmaals ter vaststelling aan de raad aangeboden. Welke middelen zijn met dit