Data Dictionary Objecten in administratieve toepassingen.

Maat: px
Weergave met pagina beginnen:

Download "Data Dictionary Objecten in administratieve toepassingen."

Transcriptie

1 Data Dictionary Objecten in administratieve toepassingen. Afstudeeropdracht van: Ing. G.M.L. Dingemans Open Universiteit Nederland Studentnummer Afstudeercommissie: Dr. A. Dayanayake (Voorzitter) Ir. J.J. Van der Hoek (Secretaris) Drs. G. Kuys (Lid) 1

2 Voorwoord Het ontwikkelen van applicaties is een werkterrein dat volop in beweging is. Één manier van softwareontwikkeling heeft al geruime tijd mijn interesse: data driven programmeren of programmeren met een data-dictionary. Dit verslag beschrijft het toepassen van data-dictionaries in administratieve software. Datadictionaries en data-driven programmeertechnieken bestaan reeds een aantal jaren. In 1997 heeft mijn interesse in data-dictionaries geresulteerd in de keuze van mijn afstudeeronderwerp voor de Open Universiteit in Heerlen. Met name de keuze en het toepassen van een objectgeoriënteerde analyse en ontwerpmethode heeft bijgedragen aan het eindproduct zoals dat voor u ligt. Dit eindproduct is tot stand gekomen door de hulp van een groot aantal mensen. Een aantal mensen kan niet onvermeld blijven. Allereerst Maarten van Eck van Tangram automatisering, die, in de beginperiode van de afstudeeropdracht, mij de kans heeft geboden te experimenteren met data-dictionaries in Visual Objects. Verder heeft hij mij geleerd hoe een onderzoek in fasen wordt opgezet. Verder wil ik Peter Los bedanken, mijn manager bij IMN. Reeds voor mijn dienstverband bij IMN heeft hij zich ingezet en gezocht naar een tweetal vakinhoudelijke begeleiders binnen IMN. Mijn vakinhoudelijke begeleiders Gerard Kuys en Olav de Kock hebben een positieve invloed gehad op mijn objectgeoriënteerde denken. Voor hun inhoudelijke bijdrage wil ik hen wil bedanken. Voor het testen van het DDO prototype heb ik Erik Visser en Janno Hordijk bereid gevonden. Zij hebben hun vrije tijd gebruikt om dit prototype te testen en te vergelijken met de traditionele werkwijze. Voor hun bijdragen, ingevulde vragenlijst en suggesties betreffende de toepassing wil ik hen bedanken. Ad van Ommen wil ik bedanken voor zijn opbouwende kritiek. Hij heeft het verslag doorgelezen vanuit het OU student gezichtveld. Als laatste wil ik mijn kinderen en mijn partner, in het bijzonder, bedanken. In de afgelopen periode ben ik veel avonden alleen fysiek aanwezig geweest, heb veel achter mijn PC gezeten of was humeurig na een nacht met weinig nachtrust. Ik kan mij voorstellen dat het maken van deze afstudeeropdracht ook voor hen in een aantal gevallen een opgave is geweest. Ede, november

3 Inleiding In dit verslag staan de hulpmiddelen, ook wel ontwikkelomgevingen genoemd, van applicatieprogrammeurs centraal. Denk aan ontwikkelomgevingen als: Powerbuilder (Sybase), MS-Access (Microsoft), Delphi (Borland) en CA-Visual Objects (Computer Associates). In deze ontwikkelomgevingen worden entiteiten zoals formulieren, rapporten en tabeldefinities gerepresenteerd als objecten. Deze hulpmiddelen kennen een aantal nadelen, met name het gemak waarmee ongemerkt het objectmodel inconsistent wordt en het ontbreken van validatie is een probleem. De ontwikkelomgeving helpt de applicatieprogrammeurs bij het opmaken en aanpassen van onder andere formulieren, rapporten, besturingselementen en kolommen of velden in tabellen. Door deze objecten persistent (opslaan in bestanden) te maken kunnen deze problemen gereduceerd worden. In dit verslag wordt een beschrijving gegeven van het proces dat ten grondslag heeft gelegen aan de uitwerking waarbij objecten persistent gemaakt worden door het toepassen van een data-dictionary. Dit verslag is gemaakt in de context van Informatie Management Nederland (IMN). IMN is een middelgroot softwarehuis. De ontwikkeltrajecten worden veelal uitgevoerd bij financiële instellingen zoals banken, verzekeringsmaatschappijen en de overheid. De softwareontwikkelingsprojecten van IMN hebben vrijwel altijd de volgende kenmerken: Beheersing van administratieve toepassingen in kantoorautomatisering. Gericht op het registreren en beheren van gegevens. Veelal opslag van gegevens in relationele databases. Toepassingen waarbij de Mens Machine Interface belangrijk is. Gebaseerd op de operating systemen MS-Windows 95/98 en MS-Windows NT. Bij softwareontwikkeling richt IMN zich, waar mogelijk, op twee aspecten, te weten de IMN Drie Lagen Architectuur en Object Oriëntatie. In deze opdracht wordt een knelpunt bij het toepassen van deze twee aspecten in een evolutionair ontwikkelmodel uitgewerkt: Het aanpassen van een business object model waarbij alle lagen in een architectuur betrokken zijn. Het beschreven probleem is algemeen geldend van aard. Echter waar nodig worden voorbeelden gebruikt uit een IMN project waarin de lagenarchitectuur en object oriëntatie worden toegepast. Dit project is de ontwikkeling van een administratief informatiesysteem ten behoeve van de FIOD. De FIOD richt zich op het bestrijden van belastingfraude. Het informatiesysteem richt zich onder andere op de ondersteuning van rechercheurs bij het doen van onderzoeken en het opmaken van processen verbaal. Vanwege vertrouwelijkheid worden fictieve voorbeelden gebruikt. Als naar dit voorbeeld wordt verwezen dan wordt dit project de opsporingstoepassing genoemd. In de volgende hoofdstukken vindt u de verslaglegging van de stappen welke ondernomen zijn om tot een prototype te komen van een toepassing waarbij de applicatieobjecten persistent zijn gemaakt. Als uitgangspunt wordt het procesmodel van softwareontwikkeling genomen. 3

4 Samenvatting Binnen softwareontwikkelingstrajecten nemen de werkzaamheden van applicatieprogrammeurs een belangrijke plaats in. Onder applicatieprogrammeur wordt verstaan een persoon die met behulp van geautomatiseerde hulpmiddelen de resultaten van een analyse- en ontwerptraject vertaalt naar (een deel van) een informatiesysteem. Echter het gereedschap van een applicatieprogrammeur, de ontwikkelomgeving, biedt te weinig ondersteuning om te komen tot een goed eindproduct. Met name kwaliteitsaspecten als robuustheid en juistheid komen onder druk te staan doordat ontwikkelomgevingen het toestaan dat een inconsistent object model van het eindproduct bestaat binnen deze ontwikkelomgeving. In deze opdracht wordt gezocht naar een oplossing waarbij consistentie van het object model gedurende het ontwikkeltraject gehandhaafd blijft. Hiertoe worden Data Dictionary Objecten (DDO) geïntroduceerd Dit zijn objecten die de structuur van de entiteiten in een applicatie omvatten. Deze DDO zorgen voor een consistent object model gedurende het gehele ontwikkeltraject. Het eindproduct van deze opdracht bestaat uit een werkend en getest prototype. Om te komen tot dit eindproduct zijn de volgende stappen genomen: Keuze van de analyse en ontwerpmethode. Uit een vijftal object georiënteerde methoden is op basis van een checklist een keuze gemaakt voor de methode Object Modelling Technique (OMT). Op basis van de stappen requirements, analyse, systeemontwerp, detailontwerp is een OMT object model opgesteld. Dit objectmodel bestaat uit vier producten: een statisch model, een functioneel model, een datadictionary en een systeembeschrijving. Op basis van de eindproducten uit de voorgaande fasen is een prototype van een DDO applicatie. Dit prototype bestaat uit drie onderdelen: een klantapplicatie, een embedded module voor het laden van de DDO toestand in de klantapplicatie en een beheersmodule voor het aanpassen van de DDO toestand. Op basis van de requirements is een testplan opgesteld. Vervolgens is het prototype getest door een aantal applicatieprogrammeurs. Deze applicatieprogrammeurs hebben het prototype vergeleken met een traditionele ontwikkelomgeving en hun bevindingen teruggekoppeld door middel van het invullen van een vragenlijst. De gevolgde werkwijze, de eindproducten van iedere fase worden ten slotte geëvalueerd Uit het prototype en de tests kan geconcludeerd worden dat het toepassen van DDO in een ontwikkelomgeving voordelen biedt ten opzichte van de werkwijze met een traditionele ontwikkelomgeving. Het consistent houden van een object model gedurende een ontwikkeltraject levert een kwalitatief beter eindproduct op. Echter meer onderzoek is nodig naar de verschillende werkwijzen en wensen van applicatieprogrammeurs op het gebied van een consistent objectmodel. 4

5 1 Probleemstelling De ontwikkelomgevingen, zoals genoemd in de inleiding, voor applicatieprogrammeurs bieden onvoldoende ondersteuning bij het vervaardigen van een kwalitatief eindproduct. Met name consistentie van het object model is een knelpunt. Hierdoor staan onder andere de kwalitatieve aspecten robuustheid en juistheid onder druk. Toepassen van een modelgedreven applicatie ontwikkeling op basis van een data-dictionary kan bovenstaande kwalitatieve aspecten positief beïnvloeden. 1.1 Software ontwikkeling Voor softwareontwikkelingtrajecten past IMN de door haar ontwikkelde drie lagen architectuur (DLA) toe. De IMN drie lagen architectuur is opgebouwd uit de volgende lagen: De bedrijfslaag, dit beschrijft de veelal stabiele onderdelen van de bedrijfsvoering. Bijvoorbeeld de structuur en het gedrag van de objecten verdachte en zaak in de opsporingstoepassing zijn onderdeel van het bedrijfsmodel. In deze laag zal veelal ook de persistentie van objecten geregeld worden. Hiermee wordt bedoeld de opslag van de Business Object Model (BOM) objecten in gegevensbestanden. De gebruikerslaag, dit beschrijft de werkprocessen zoals verschillende gebruikers(groepen) kijken naar het bedrijfsmodel. De gebruikerslaag in DLA is de plaats waar de applicatielogica zich bevindt. Dit zijn dan ook de verschillende views overeenkomstig de functionaliteit van de desbetreffende applicatie op het domeinmodel. Een rechercheur heeft bijvoorbeeld een andere manier kijk op het object verdachte als een Officier van Justitie. De presentatielaag, deze zorgt voor presentatie van de objecten uit de gebruikerslaag aan de gebruiker. Als voorbeeld zijn formulieren, rapporten en invoerschermen te noemen. Als voorbeeld kan het invoerscherm van een verdachte genoemd worden. Het invoerscherm dat gebruikt wordt door rechercheurs is veelal anders dan dat van een Officier van Justitie. Bij het ontwikkelen van software nemen de werkzaamheden van applicatieprogrammeurs een belangrijke plaats in. Met een applicatieprogrammeur wordt bedoeld een persoon werkzaam binnen een software ontwikkelproject die zich bezig houdt met het creëren formulieren, rapporten, menu s en niet visuele objecten. De applicatieprogrammeur maakt de vertaling van ontwerp naar applicatie. Hierbij wordt met applicatieprogrammeur bedoeld dat het werkveld ligt op het ontwikkelen van applicaties voor eindgebruikers. Applicatie voldoet hierbij aan de kenmerken zoals genoemd in de inleiding. De werkzaamheden van een applicatieprogrammeur veranderen door onder andere de volgende aspecten: Toepassen van nieuwe ontwikkelprocessen zoals Rapid Application Development (RAD) en ontwikkelstraten. Toepassen van Object Oriëntatie in zowel analyse, ontwerp als realisatie Kortere ontwikkelcyclus, waardoor analyse- en ontwerpactiviteiten naar de realisatiefase verplaatst worden. Toepassen van lagenstructuren zoals de IMN drielagen architectuur De activiteiten van een applicatieprogrammeur kunnen beschouwd worden als het opbouwen en aanpassen van een objectmodel. Dit objectmodel bestaat onder andere uit: Tabeldefinities en views Formulieren en rapporten Besturingselementen en controls Menu s en toolbars De momenteel gebruikte ontwikkelomgevingen bieden allen de mogelijkheid om op basis van een gelaagde architectuur een applicatie te bouwen gebaseerd op een objectmodel. Iteratief ontwikkelen, zoals vaak in RAD trajecten toegepast, wordt in deze ontwikkelomgevingen echter slecht ondersteund. In onderstaande voorbeelden worden ter illustratie twee voorbeelden waarom dit het geval is. Aanpassen objectmodel. In het eerste deelsysteem van de opsporingstoepassing is ervoor gekozen de postcode en de woonplaats van een verdachte te combineren tot één attribuut Postcode_plaats. Hiervoor is gekozen omdat dit eenvoudig is bij het opstellen van een proces-verbaal. In een proces-verbaal moet de adressering foutloos zijn. Voordeel van een gecombineerde postcode woonplaats is dat ook in het buitenland woonachtige verdachten juist geadresseerd kunnen worden. 5

6 In de volgende fase van het ontwikkeltraject wordt het deelsysteem bestuurlijke informatie ontwikkeld. Dit houdt in dat een aantal functionarissen frequenties berekenen ten behoeve van rapportages. Een van de rapportages heeft betrekking op de verdeling van verdachten op woonplaats. Hiertoe moet het gecombineerde attribuut postcode woonplaats gesplitst worden, omdat anders deze optie niet mogelijk is. De ontwikkelaar brengt deze wijziging aan in het bedrijfsmodel. Echter worden de wijzigingen niet aangebracht in het gebruikersmodel en het presentatiemodel van de IMN drie lagen architectuur dan houdt dit in een aantal objecten en associaties inconsistent zijn. In de presentatielaag wordt bijvoorbeeld in formulieren en rapporten verwezen naar het attribuut postcode_woonplaats, dit bestaat echter niet meer maar is gewijzigd in de attributen postcode en woonplaats bestaan immers niet meer. Echter tijdens het aanpassen met behulp van de huidige hulpmiddelen van de ontwikkelaar wordt deze niet geattendeerd op de deze inconsistentie tussen de verschillende objecten. Aanpassen van een attribuut Van iedere zaak geregistreerd in de opsporingstoepassing wordt een dossiercode opgenomen. Deze dossiercode wordt gebruikt voor het onderscheiden van de correspondentie die over deze zaak gevoerd wordt en voor het archiveren van de dossiers. In een eerdere fase is gekozen voor een numerieke dossiercode met een lengte van 5 posities. In de presentatielaag is hiertoe validatie opgenomen zodat de gebruiker ondersteund wordt bij het invoeren van dossiercodes. In een latere fase wordt een deelsysteem ontwikkeld dat gebruikt wordt door Officieren van Justitie. Echter de Officieren werken aan zaken voor meerdere overheidsinstanties. Hierdoor zijn ten eerste vijf posities te weinig voor registratie van de dossiers. Daarnaast is de opzet van een ander informatiesysteem van het ministerie gebaseerd op een code van 10 posities, de eerste twee is een lettercode voor de organisatie, gevolgd door een dossiernummer van 8 cijfers of letters. Gevolg is dat het attribuut aangepast moet worden in iedere laag van de drie lagen architectuur. De bovengenoemde voorbeelden tonen aan dat de actuele gereedschappen van applicatieprogrammeurs (ontwikkelomgevingen) uitstekende hulpmiddel zijn voor het snel ontwikkelen van kantoortoepassingen in één procesgang. Maar het aanbrengen van wijzigingen in een latere fase, wat voorkomt bij RAD trajecten of ontwikkelstraten, kan problemen veroorzaken. Dit ligt in het feit dat bij het aanpassen van het objectmodel geen rekening wordt gehouden met bestaande relaties en afhankelijkheden binnen en tussen objecten. De consistentie van verschillende objecten en hun associaties is hierdoor niet gewaarborgd. Objecten kunnen hierdoor in hun specificatie en implementatie verwijzen naar, door de ontwikkelaar, verwijderde of aangepaste klassen, objecten, associaties of attributen. Met andere woorden de ontwikkelomgeving ondersteunt de applicatieprogrammeur niet bij het behouden van een consistent objectmodel. Hierdoor is het mogelijk dat het eindproduct (de klanttoepassing) incorrect of onvolledig is. 1.2 Opdracht De opdracht kan geformuleerd worden met de volgende stelling: Zoek naar een objectmodel dat de werkzaamheden van een applicatieprogrammeur omvat waardoor de volgende tekortkomingen verminderd c.q. voorkomen kunnen worden: Ontbreken van integriteit tussen de objecten in de verschillende lagen in het ontwikkelde informatiesysteem. Onvoldoende bewaken van de consistentie van het objectmodel Onvoldoende aanpasbaarheid, uitbreidbaarheid van de ontwikkelde informatiesystemen. Hiertoe worden de werkzaamheden geanalyseerd en objecten gemodelleerd en geïmplementeerd. Deze objecten zorgen ervoor dat de toestand van de objecten in een informatiesysteem hoofdzakelijk afkomstig zijn uit gegevensbestanden en niet uit programmacode of binair in de toepassing is opgeslagen. De objecten worden persistent gemaakt. Hierbij zijn met name de toepassingsobjecten belangrijk en de objecten in het Business Object Model (BOM) van de opsporingstoepassing minder. Deze toepassingsobjecten hebben betrekking op alle lagen van de IMN drie lagen architectuur. Het geheel van deze toepassingsobjecten wordt Data Dictionary Objecten (DDO) genoemd. Reden voor deze naam is dat het een data dictionary is van toepassingsobjecten. Het is hierbij van belang twee deelsystemen te onderkennen. Allereerst is er het systeem dat ervoor zorgt dat de opsporingstoepassing gegevensbestanden kan lezen ten behoeve van de objecten in de toepassing. Dit wordt de embedded module genoemd. Daarnaast is er het systeem dat de programmeur ondersteunt bij het aanmaken en aanpassen van de eigenschappen van de objecten in de toepassing. Dit is de beheersmodule. In figuur 1 worden Data Dictionary Objecten getoond in hun relatie met objecten in de toepassing. Voordeel van data dictionary objecten zijn: 6

7 Evolutionair ontwikkelen wordt beter ondersteund omdat de status van objecten aanpasbaar is gedurende het gehele ontwikkeltraject. Het objectmodel is uitbreidbaar, omdat eenvoudig eigenschappen en gedrag toegevoegd kunnen worden aan de gegevensbestanden van de data dictionary, waarbij validatie van de eigenschappen bij opslag mogelijk is. Hergebruik is mogelijk door (delen van) data dictionaries in meerdere applicaties of lagen kunnen worden toegepast. Voor ontwikkelomgevingen die de interne objectstructuur weergeven (reflexief) kunnen data dictionary objecten toegepast worden voor reversed engineering. Figuur 1 DDO beheersmodule en embedded module in applicatie 1.3 Opzet opdracht De opdracht bestaat uit onderstaande stappen: Uitvoeren van een literatuuronderzoek waarbij een aantal bestaande analyse- ontwerpmethoden met elkaar worden vergeleken. Op basis van op te stellen criteria wordt uit deze methoden een selectie gemaakt en wordt een raamwerk van het probleem gedefinieerd en hierin worden deze gekozen methoden geplaatst. Opstellen van criteria waaraan de aangepaste ontwikkelomgeving voor applicatieprogrammeurs (DDO) moet voldoen. Kiezen van een OO analyse en ontwikkelmethode en met deze methode een analyse maken van het probleemgebied van de werkzaamheden van applicatieprogrammeurs. Vertalen van de analyse naar een ontwerp gebaseerd op de gekozen OO analyse en ontwerpmethode Er wordt een kritiek onderdeel van de applicatie gekozen (denk bijvoorbeeld aan de schermgenerator). Hiervan wordt een prototype gebouwd. Met het ontwikkelde prototype worden een tweetal testapplicaties gebouwd. Allereerst een kleine opsporingsapplicatie en een order invoer systeem. Er wordt een testplan opgesteld en het prototype wordt voorgelegd aan een aantal applicatieprogrammeurs Op basis van alle voorgaande stappen wordt de DDO toepassing geëvalueerd. 7

8 2 Keuze van de analyse- en ontwerp methode In het hoofdstuk probleemstelling is een beschrijving gegeven van de huidige ontwikkelomgevingen en de knelpunten die daarin voorkomen betreffende met name een inconsistent objectmodel. Hierbij kan men de werkzaamheden van een applicatieprogrammeur vanuit een object georiënteerd oogpunt beschouwen. Wordt dit gedaan dan kunnen we van de werkzaamheden en de gebruikte entiteiten of objecten een model op stellen. Wat zijn de objecten die binnen een toepassing worden aangemaakt, aangepast en verwijderd? Vanwege de complexiteit van deze objecten en het model hiervan is het toepassen van een analyse en ontwerp methode noodzakelijk. Hiervoor zijn meerdere methoden beschikbaar. Daarom wordt in deze rapportage een aantal analyse- en ontwerpmethode geëvalueerd en wordt uit de geëvalueerde methoden een keuze gemaakt. De evaluatie bestaat uit een literatuurstudie waarbij een aantal criteria is geformuleerd. Op basis van de beschrijving van de criteria per methode wordt een keuze gemaakt. Deze keuze bestaat uit één van de vijf analysemethoden Als uitgangspunt worden een vijftal methoden genomen. Redenen om deze methoden te kiezen zijn: Er is voldoende toekomstperspectief voor de methode Er is een gebruikerspopulatie en er zijn voorbeelden van toepassingen. Er is voldoende documentatie beschikbaar over de methode In de literatuur zijn meerdere vergelijkingen van analysemethoden te vinden. De een is specifiek gericht op een bepaald probleem, de ander is meer generiek van aard. In dit verslag wordt uitgegaan van een vijftal vergelijkende onderzoeken. [2, 6,7,8,29] In de tabel is een opsomming te vinden van de vijf te onderzoeken analyse- en ontwerpmethoden. Verder is een percentage weergegeven van gebruik van deze methoden in Nederland [27]. Analyse- en ontwerpmethode % gebruik 1998 Coad 11 ISAC 9 OMT (Rumbaugh) 10 OOADA (Booch) 6 OOSE (Jacobson) 5 Tabel 1 Procentueel gebruik van OO methoden in Nederland Omdat ISAC een methode is welke met name gericht is op functionele decompositie en niet gericht is op object oriëntatie wordt deze methode niet uitgewerkt. Daarvoor in de plaats wordt de Unified Modelling Language (UML) onderzocht[6]. Ondanks het feit dat UML is geen methode maar een ontwerptaal wordt de UML toch opgenomen. Reden om de UML op te nemen is de verwachting dat deze taal de komende jaren steeds belangrijker wordt. Op basis van de probleemstelling en het literatuuronderzoek zijn voor de DDO toepassing een aantal criteria te noemen welke een vergelijking tussen de verschillende ontwerpmethoden mogelijk maakt. Op basis van deze criteria worden de methoden in de bijlagen beschreven. Deze beschrijving wordt gebruikt om in de laatste paragraaf een score aan ieder selectiecriterium te geven. Op basis van deze score wordt een keuze gemaakt. De gekozen methode zal gebruikt worden in de volgende fasen van dit project. 8

9 2.1 Criteria methoden De methoden worden beschreven op basis van onderstaande criteria [2, 6,7,8,29]. Deze punten worden dan ook als paragraafindeling gebruikt voor de te beschrijven methoden. De punten zijn: 1. Historie en toekomstperspectief 2. Projectfasering en methodische werkwijze 3. Modellering 4. Vertaling naar gegevensbestanden 5. Interactie met gebruiker 6. Introductie van lagen en modulen 7. Toepasbaarheid van OO realisatie 1 Historie en toekomstperspectief Als inleiding van de methode wordt een korte beschrijving gegeven van de historie. Daarnaast wordt aangegeven wat het toekomstperspectief is van de methode. 2 Projectfasering en methodische werkwijze Ondersteunt de methode een projectmatige werkwijze. Is er een fasering van activiteiten te onderkennen, welke bijdraagt aan een methodische werkwijze voor de ontwerper. De werkwijze dient de ontwerper te ondersteunen bij het ontwikkelproces middels abstractie. Welke projectfasen worden ondersteund van onderstaande punten. Wat zijn de activiteiten en producten van de afzonderlijke fasen. Definitie (vooronderzoek) Analyse Ontwerp Realisatie Testen Onderhoud 3 Modellering Er kan vanuit meerdere gezichtspunten een model opgesteld worden van de toepassing. Ruwweg zijn deze modellen onder te verdelen in onderstaande gezichtspunten. Van ieder gezichtspunt wordt aangegeven welke onderdelen belangrijk zijn voor de toepassing en welke notatie en semantiek gebruikt wordt. Uitgaan van meerdere gezichtspunten biedt de mogelijkheid de complexiteit van het probleem te reduceren. Dit omdat in ieder model een deelaspect van het probleem beschreven wordt. Modelleren van eigenschappen Modelleren van de eigenschappen oftwel het statisch model. Dit model is belangrijk, omdat met name de eigenschappen van de entiteiten de basis of het uitgangspunt vormen van het te modelleren probleem. De volgende vragen over het statisch model zijn van belang: Is het mogelijk een statisch model op te stellen en is de notatie eenduidig? Kunnen eigenschappen of attributen van objecten gemodelleerd worden? Welke relaties tussen objecten worden onderscheiden en is het mogelijk om details zoals multipliciteit en ordering van relaties aan te geven. Met multiplciteit wordt het minimum en maximum aantal instantiastie van een entiteit bedoeld. Kunnen aan relaties eigenschappen toegewezen worden? Kunnen objecten of klassen meerdere rollen vervullen in relaties, is het in het bijzonder mogelijk om aggregaties (whole-part) te definieren. Is het mogelijk om overerving van eigenschappen en gedrag te modelleren? Kunnen van eigenschappen meerdere gegevens geregistreerd worden zoals minimum en maximum multipliciteit en beginwaarde? Modelleren van functionaliteit Modelleren van functionaliteit noemen we het functioneel model. In dit model worden de functies of operaties welke de eigenschappen van de objecten bewerken en aanpassen gemodelleerd. De methode dient hier een notatie voor te bieden. De volgende eisen worden gesteld aan het functioneel model: 9

10 Kunnen operaties gedefinieerd worden en is het mogelijk om van een operatie aan te geven wat de parameters en de return waarde is? Is het mogelijk een functioneel model op te stellen en is de notatie eenduidig? Is het mogelijk de relatie tussen objecten, operaties en gebruikers te modeleren? Is het mogelijk om eigenschappen en of gegevens in het functioneel model te beschrijven? Modelleren van gedrag Modelleren van gedrag oftewel het dynamisch model. Het dynamisch model is voor data dictionary objecten minder belangrijk,. Bij data dictionary objecten is gedrag nauwelijks te onderkennen. Alleen bij de presentatie is gedrag te onderkennen, zoals bijvoorbeeld gebruiker drukt op opdrachtknop. Echter dit gedrag is algemeen van aard, zoals het aanpassen van eigenschappen van objecten. Dit kan goed gemodelleerd worden in het functioneel model. Er worden de volgende globale eisen gesteld aan dit model. Is het mogelijk een dynamisch model op te stellen en is de notatie eenduidig? Is het mogelijk om de toestand van objecten te beschrijven Is het mogelijk om gebeurtenissen die de toestand van objecten verandert te beschrijven Biedt de methode de mogelijkheid om volgtijdelijkheid van gebeurtenissen te beschrijven Relatie tussen de modellen Omdat er vanuit meerdere views gekeken wordt naar de toepassing is het belangrijk dat de relatie tussen de views duidelijk is. Met name bij geautomatiseerd modelleren dient er cohesie te zijn tussen de verschillende modellen. De methode dient hiervoor mogelijkheden te bieden. 4 Vertalen naar gegevensbestanden De kern van de oplossing van het probleem is gebaseerd op de opslag van objecten in gegevensbestanden. De ontwerpmethode dient aandacht te besteden aan aspecten die hierbij een rol spelen. Daarom dient de methode de ontwerper te ondersteunen bij het opslaan van de objecten in gegevensbestanden middels een beschrijving van de relevante aspecten van deze actie. Op basis van het type opslag (OO database, relationele database) zal dit aspect meer of minder belangrijk zijn. In OO databases omvat de vertaling minder beslispunten ten opzichte van relationele bestanden. 5 Interactie met de gebruiker Naast interactie met gegevensbestanden is ook interactie met de gebruiker (applicatieprogrammeur) belangrijk. Bijvoorbeeld hoe wordt de toestand van een object en haar eigenschappen gepresenteerd aan de gebruiker, welke interface naar de gebruiker wordt toegepast. Wordt er in de methode een beschrijving gegeven van aspecten van Mens Machine Interface. 6 Introductie van lagen en modulen De DDO toepassing is complex van aard. Het aantal objecten, attributen en associaties is groot. De analyse- en ontwerp methode dient daarom te beschrijven welke stappen ondernomen kunnen worden om de toepassing te splitsen in lagen en modulen. Hierdoor kan worden aangesloten op de drie lagen architectuur van IMN. De complexiteit wordt hierdoor beter beheersbaar. 7 Toepasbaarheid voor geautomatiseerde object georiënteerde realisatie Biedt de methode mogelijkheden om tijdens de realisatie met OO/RAD ontwikkelhulpmiddelen [29] te werken. Kunnen de opgestelde modellen op eenvoudige wijze vertaald worden naar object georiënteerde programma code? Is het verder mogelijk om met hulpmiddelen modellen en systeemdocumentatie te genereren? Zijn deze hulpmiddelen beschikbaar of kunnen de modellen met generieke hulpmiddelen ontwikkeld worden? 8 Toepassen deelmodel Ter verduidelijking van de methoden wordt een relevant deelsysteem van de te ontwikkelen toepassing als voorbeeld genomen. Dit voorbeeld wordt gebruikt om met name het statisch model van de analyse- en ontwerpmethode te testen voor het toepassingsgebied data dictionary objecten. Hiertoe wordt een beschrijving gegeven van de activiteit formulieren maken om de gegevens van een verdachte weer te geven.,dit is een essentieel onderdeel van de opsporingstoepassing. Hierbij wordt uitgegaan van de drielagenarchitectuur zoals beschreven in de probleemstelling. In onderstaande paragraaf wordt een beschrijving gegeven in natuurlijke taal van deze activiteit. 10

11 Tijdens het ontwikkelen van een applicatie worden formulieren gebruikt voor weergave van een verdachte. Deze formulieren moeten aangemaakt, gewijzigd en verwijderd kunnen worden door de applicatieprogrammeur. Als de applicatieprogrammeur een nieuw formulier maakt dan is het uitgangspunt een leeg formulier. Allereerst wordt aan het formulier een naam en een titel gegeven. Vervolgens wordt een verdachte object gekoppeld aan het formulier. Van de verdachte worden een aantal attributen beschreven, zoals naam, bijnaam, adres en woonplaats. Attributen zijn van het type: datum, karakter, memo, numeriek of logisch. Verder heeft de inhoud van attributen een bepaalde lengte Bij het aanmaken van een formulier moet een keuze gemaakt worden tussen gegevensbladweergave en formulierweergave. Bij een formulierveld worden besturingselementen op het formulier geplaatst. Er zijn meerdere soorten besturingselementen zoals: Invoervak, Keuzelijst, Keuzelijst met invoervak, vaste tekst en diverse kaders. De laatste twee soorten zijn te beschouwen als opmaakelementen, de overige als invoerelementen. De invoerelementen worden gekoppeld aan een veld in de tabel en geeft de inhoud van dit veld weer. Bij het opmaken van formulieren wordt gebruikt gemaakt van een layoutfunctie. Deze functie ondersteunt de programmeur bij het plaatsen van de besturingselementen op het scherm. De besturingselemeneten hebben een positie op het formulier en zijn van een bepaalde grootte. Op basis van het type van een attribuut wordt een keuze gemaakt uit een van de invoerelementen. Als laatste is de tabvolgorde belangrijk van het formulier. Dit is de volgorde waarin de besturingselementen op het formulier op het scherm geplaatst zijn. Tenslotte test de programmeur het aangemaakt formulier. In de bijlagen worden de methoden volgens bovenstaande indeling beschreven. Dit is te vinden in de volgende bijlagen: Booch OOAD (bijlage 1) Rumbaugh OMT (bijlage 2) Jacobson (OOSE) (bijlage 3) Coad & Yourdon OOA/OOD (bijlage 4) UML (bijlage 5) 2.2 Score van methoden Op basis van de bovenstaande beschrijvingen is het mogelijk een score te geven van de afzonderlijke methode. Omdat het aangeven van een wegingsfactor moeilijk is wordt gekozen voor de volgende indeling: + positief, +/- neutraal, - negatief OOA OMT OO Co UML DA SE ad Historie en toekomstperspectief +/- +/- +/- - + Projectfasering en methodische werkwijze Modellering +/ /- - Vertalen naar gegevensbestanden _ Interactie met de gebruiker - +/ Introductie van lagen en modulen - + +/- + +/- Toepasbaarheid voor geautomatiseerde OO realisatie Tabel 2 Score van OO methoden Zoals blijkt uit de score ontlopen de methoden elkaar niet veel. De UML scoort in verhouding laag omdat de Unified Modelling Process (UMP) nog niet beschikbaar is. Op basis van de score tabel wordt gekozen voor OMT. We kunnen hierbij vermelden is dat OMT op basis van de aanpassingen van Blaha en Premerlani [3]wordt gebruikt. Belangrijkse redenen om te kiezen voor OMT zijn: De notatiewijze van met name het statische model is uitgebreid en met name op het vlak van eigenschapmodellering compleet te noemen. De methode bestaat uit een aantal duidelijk omschreven stappen hoe tot een object model gekomen kan worden De methode biedt ondersteuning bij het vertalen naar gegevensbestanden in de vorm van een stappenplan, suggesties en voorbeelden. De methode biedt ondersteuning bij het opstellen van een gebruikersinterface. In de volgende hoofdstukken wordt het DDO probleem uitgewerkt op basis van de methodische werkwijze van OMT. De hoofdstukindeling is gebaseerd op de stappen in deze methode. Voor het functionele model wordt 11

12 gebruik gemaakt van een toevoeging uit de methode OOSE [16], te weten de use cases. Daarnaast wordt gebruik gemaakt van het principe van sjablonen zoals die door OOADA [5] geintroduceerd zijn. 12

13 3 Requirements In de probleemstelling is een beschrijving gegeven van de problemen welke applicatieprogrammeurs kunnen verwachten indien zij werken volgens een evolutionaire ontwikkelmethode met de huidige ontwikkelomgevingen. Er wordt hierbij een scheiding aangebracht tussen twee onderdelen te weten: Beheersmodule, voor het beheren en bewerken van de metagegevens. Het aangepaste gereedschap van de applicatieprogrammeur Embedded module voor het lezen en koppelen van de metagegevens in een klantapplicatie, zoals de opsporingsapplicatie. Aan de hand van een vragenlijst wordt aangegeven welke aspecten belangrijk zijn [3]. Hierbij dient onderkend te worden dat onderstaande lijst iteratief is samengesteld. Na iedere fase in het ontwikkelproces is gekeken of er criteria ontbreken of aangepast dienen te worden. Dit geldt met name voor de kwantitatieve criteria. Deze zijn in een vroeg stadium gebaseerd op schattingen. In een later stadium is een aantal eenvoudige tests uitgevoerd. In dit hoofdstuk worden de embedded module en beheersmodule als aparte toepassingen beschreven. Voor achtergrondinformatie over het probleem en de te ontwikkelen toepassing wordt verwezen naar het hoofdstuk "Probleemstelling". 3.1 Requirements beheersmodule Voor wie is de beheersmodule? De beheersmodule wordt gebruikt door applicatieprogrammeurs betrokken bij de ontwikkeling van MS Windows programmatuur volgens een iteratieve werkwijze. Hierbij beperken we ons tot de automatisering van administratieve processen waarbij opslag van gegevens een belangrijke component is. Welk probleem zal de beheersmodule oplossen? De huidige werkwijze kent een aantal knelpunten, waardoor het ontwikkeltraject niet optimaal is. Dit geldt voor zowel ontwikkeltijd als kwaliteit van het geleverde eindproduct. De toepassing levert een bijdrage aan de optimalisatie van het ontwikkelproces waarbij het belangrijkste aspect is dat de visuele editors geïntegreerd worden. In onderstaande opsomming worden de belangrijkste eisen genoemd. Hierbij wordt een onderscheid tussen kwantitatieve- en kwalitatieve aspecten. Ondersteunen van evolutionaire ontwerpmethode. Ontwikkeltijd voor klantapplicaties dient 10% sneller te zijn ten opzichte van de huidige werkwijze De opgeleverde klantapplicaties dienen 20% minder fouten te bevatten op het werkveld van applicatieprogrammeurs. Te denken valt aan formulierdefinitie, selecties en queries, tabeldefinitie en rapportage. Hergebruik van gegevensbestanden dient eenvoudig mogelijk te zijn in 10% van de projecten. Integriteit moet gehandhaafd blijven bij het verwijderen en toevoegen van eigenschappen van alle entiteiten. De beheersmodule biedt een gebruikersinterface welke de werkzaamheden op een logische wijze concentreert, zodat de arbeidsproductiviteit stijgt. De applicatieprogrammeur kan eenvoudiger zoeken en selecteren naar de diverse entiteiten. Het aanmaken van formulieren voor klantapplicaties is verbeterd ten opzichte van de huidige werkwijze. Dit betekent dat de volgorde van besturingselementen door de programmeur in een procesgang bepaald wordt. Het veranderen van het type besturingselement (bijvoorbeeld van invoervak naar keuzelijst) dient in een procesgang mogelijk te zijn. Tijdens het opmaken van formulieren dient een de programmeur inzicht te hebben in de besturingselementen in gebruik Voor complexe activiteiten dient de beheersmodule ondersteuning te bieden op het gebied van MMI. Waar wordt de beheersmodule gebruikt? De beheersmodule wordt gebruikt binnen automatiseringsafdelingen als onderdeel van de totale ontwikkelinfrastructuur. Daarnaast kan de toepassing bij klanten op locatie toegepast worden, zodat in sessies met de klant (expert) wijzigingen gemaakt kunnen worden aan de klantspecifieke programmatuur. Wanneer is de beheersmodule nodig? De beheersmodule is op korte termijn nodig. Op dit moment is de vraag naar MS Windows toepassingen erg groot waardoor de druk op het ontwikkelteam groot is. Als de ontwikkeltrajecten korter worden heeft dit een positief effect op de werkdruk. 13

14 Waarom is de beheersmodule nodig? De beheersmodule is nodig omdat met de huidige het opgeleverde eindproduct te veel fouten bevat. Hierdoor kan een ontwikkeltraject langer duren dan noodzakelijk is omdat fouten in een later stadium opgelost moeten worden. Hoe werkt de beheersmodule toepassing? In de DDO toepassing worden eigenschappen en operaties van de entiteiten zoals formulieren en tabeldefinities opgeslagen in gegevensbestanden. Door het werken met gegevensbestanden zijn de ontwikkelwerkzaamheden meer administratief van aard en is het valideren van eigenschappen eenvoudiger te realiseren. 3.2 Requirements embedded module Voor wie is de embedded module? De embedded module is ingebed in de applicaties geïnstalleerd bij klanten van de gebruikers van de beheersmodule. Dit houdt in dat het voor de klant een onzichtbaar onderdeel is van de toepassing. Welke problemen zal de embedded module oplossen? Door het toepassen van een evolutionaire werkwijze is het voortraject van applicaties, de analyse en het ontwerp relatief kort, met name als gebruik gemaakt wordt van RAD. Deze activiteiten zijn meer geïntegreerd in de realisatie van het prototype. Dit heeft tot gevolg dat het realisatietraject veelal langer is en meer geintegreerd met de voorgaande fasen. Tijdens dit realisatietraject worden regelmatig aanpassingen aangebracht aan de structuur van het object model. In onderstaande opsomming worden de belangrijkste eisen genoemd: Opstarten van een applicatie dient even snel (of sneller) te zijn als in de huidige situatie Omvang van een bestand met wijzigingen dient minstens 4 keer kleiner te worden. Hierbij kunnen we de regel toepassen. Hierbij wordt bedoeld dat slechts 20% van de eigenschappen aan veranderingen onderhevig is. Wijzigingen aanbrengen op afstand dient mogelijk te zijn. Fysieke bestandsstructuren moeten vergeleken kunnen worden met de structuren in de DDO of metagegevensbestanden. Als er een verschil is moet de fysieke structuur worden aangepast aan het model in de metagegevens. Waar wordt de embedded module gebruikt? De embedded module wordt gebruikt als onderdeel van de uiteindelijke toepassing bestemd voor eindgebruikers. Denk bijvoorbeeld aan de opsporingstoepassing zoals deze door rechercheurs gebruikt wordt. Wanneer is de embedded module nodig? De embedded module wordt geïmplementeerd op het moment dat het volledig gebouwd en getest is. Het is daarnaast afhankelijk van de ontwikkeling van de beheersmodule. Zonder beheersmodule zijn er vanzelfsprekende geen metabestanden beschikbaar en kan de embedded module niet uitgewerkt worden. Waarom is de embedded module nodig? Bij de huidige ontwikkelomgevingen is onvoldoende controle aanwezig waardoor het maken van fouten in klantapplicaties (opsporingsapplicatie) relatief eenvoudig is. Deze embedded module zorgt voor de koppeling tussen klantapplicatie en de bestanden aangemaakt met de hierboven beschreven beheersmodule. Hoe werkt de embedded module? De klantapplicatie is een framework opgebouwd uit generieke objecten en een aantal gegevensbestanden. In deze gegevensbestanden zijn de klantspecifieke toepassingseigenschappen opgeslagen. Bij het opstarten van de applicatie worden de gegevensbestanden geladen in een aantal containers. Een container bevat daarna de verschillende objecten van een klasse. Containers dienen met name voor de navigatie tussen verschillende objecten en toegang tot de eigenschappen van een klasse. Deze containers bepalen wat de structuur van de uiteindelijke productieklassen is [18]. Onder productieklassen wordt verstaan de klassen die het gedrag en de toestand van het Business Object Model van de klantapplicatie bepalen. 3.3 Toepassen requirements Door het uitwerken van de requirements op basis van een sjabloon van vragen is de uitwerking van de requirements belangrijk voor de volgende fasen in dit project. Onderstaande opsomming geeft aan hoe de requirements gebruikt kan worden in de vervolgfasen: 14

15 Analyse, de genoemde punten geeft aan wat de scheiding is tussen de twee toepassingen en welke eigenschappen belangrijk zijn. Ontwerp, de requirements biedt informatie voor het nemen van beslissingen over de verdeling van de functionaliteit over toepassingen. Realisatie, er wordt aangegeven welke punten van belang zijn tijdens de realisatie. Daarnaast wordt aangegeven wat de kwaliteitseisen van de te ontwikkelen toepassing zijn. Testen, omdat een aantal eisen in de requirements gekwantificeerd zijn kan tijdens het testen gecontroleerd worden of aan de opgestelde eisen voldaan is. Samenvattend kan gesteld worden dat de requirements resulteert in een checklist voor de vervolgfasen In iedere fase wordt bepaald hoe de checklist er voor de volgende fasen uitziet. Deze bijgestelde checklist geldt vervolgens als uitgangspunt. 15

16 4 Analyse In de requirements fase is een lijst van eisen opgesteld voor de te ontwikkelen toepassing. In de analysefase van OMT worden een aantal stappen onderscheiden waarmee men tot een aantal modellen komt. Dit zijn in totaal 14 stappen [3]. De stappen zijn weergegeven als paragrafen, de substappen zijn met een kop in vet aangegeven. De iteratieve stappen om te komen tot een model zijn gecombineerd in deze verslaglegging. Daarnaast wordt van alle klassen een deel gerepresenteerd in de tabellen. Als voorbeeld zijn in alle tabellen de klassen veld en tabel uitgewerkt. Dit om de leesbaarheid te vergroten. In bijlage 8 met de data-dictionary is een gedetailleerde beschrijving van alle klassen gegeven. 4.1 Probleembeschrijving Met de probleembeschrijving wil ik een beeld geven welke activiteiten en aspecten de werkzaamheden van een RAD applicatieprogrammeur bepalen. Het werk van een applicatieprogrammeur is complex en veelomvattend, daarom wordt een samenvattende opsomming gegeven. Als uitgangspunt is de Getting started guide van Visual Objects gebruikt. Voor deze bron is gekozen omdat het een samenvattend en stapsgewijs beeld geeft van de ontwikkeling van toepassingen relevant voor deze opdracht. Daarnaast geeft het een compleet beeld van de werkzaamheden. Echter ook in andere ontwikkelomgevingen zullen deze activiteiten terug te vinden zijn, waarbij mogelijk de volgorde van stappen afwijkend is. Vanuit de repository wordt een nieuwe applicatie gegenereerd met de applicatie wizard. Deze applicatie bestaat uit een applicatie object, een MDI shellwindow en een applicatie menu. Er worden eventueel class libraries gekoppeld aan de gegenereerde applicatie en deze wordt gecompileerd. Het Business Object Model van de klantapplicatie wordt vertaald in een gegevensstructuur. Deze gegevensstructuur bestaat uit een aantal tabeldefinities. Tabeldefinities worden gemaakt met de DbServer- of SQLTable editor. Dit zijn visuele editors in de IDE. Een tabeldefinitie bestaat uit de definitie van de eigenschappen van de velden of kolommen in de tabel. Met de fieldspec editor in de IDE worden deze beschrijvingen aangemaakt. Eventueel worden er index definities aangemaakt in de DbServer editor. Deze indexdefinities bieden de eindgebruiker in de applicatie de mogelijk om gegevens op te zoeken. Is de tabeldefinitie opgezet dan worden de formulieren welke de gegevens presenteren aangemaakt. Dit wordt vanuit de IDE gedaan met een formulier-painter. Deze painter bevat veelal mogelijkheden om de diverse entiteiten en eigenschappen via directe manipulatie aan te passen. Formulieren bestaan uit een aantal standaard componenten zoals een titelbalk, een menu en eventueel een knoppenbalk. Een knoppenbalk wordt afgeleid van de opties aanwezig in het menu. Formulieren kunnen op twee manieren de gegevens weergeven in gegevensblad- en formulierweergave. Op een formulier in formulierweergave worden besturingselementen geplaatst. Deze besturingselementen worden gekoppeld aan de veld- of kolomdefinities in de tabel. Besturingslementen zijn onder andere tekstvakken, labels, keuzelijsten, keuzelijsten met invoervak en keuzerondjes. In gegevensbladweergave zijn een aantal kolommen te onderscheiden. Een kolom kan de inhoud van een veld of een afgeleide of berekening van een aantal velden weergeven Er worden specifieke eigenschappen voor de klanttoepassing gedefinieerd, bijvoorbeeld selectiemogelijkheden, filters of queries. Dit wordt gedaan door het intikken van programma code in de sourcecode editor van de IDE. Met de IDE menueditor worden menu's aangemaakt. De entiteiten in een menu beschrijven veelal operaties in een formulier. Een menu is dan ook altijd gekoppeld aan een formulier Aan het MDI shellwindow wordt een menu gekoppeld dat ervoor zorgt de verschillende formulieren geopend kunnen worden. In een aantal iteratiestappen worden de bovengenoemde entiteiten aangepast en verbeterd totdat een resultaat bereikt wordt dat door de klant geaccepteerd wordt. Vanuit deze beschrijving en de gedetailleerde beschrijving in de getting started guide kunnen de modellen uitgewerkt worden. Dit is beschreven in onderstaande paragrafen. 4.2 Object Model Kiezen en verwijderen van klassen In deze stap wordt een lijst gemaakt van mogelijke klassen voor het te ontwikkelen informatiesysteem. Deze lijst is iteratief opgesteld. Echter in dit verslag is alleen het eindresultaat opgenomen. Deze activiteit resulteert in een lijst van klassen. In de eerste kolom ziet u deze lijst In de laatste kolom wordt aangegeven of de klasse relevant is voor het DDO project. 16

17 Klassenaam Repository Applicatie Tabel Besturingselement Formulier Statistiek Filter/Selectie Menu Menueditor Veld DbServer editor SQLtable editor Formulier painter Index Sourcecode editor Relatie Kolom Formulier painter Tabblad DDO Nee Nee JA JA JA JA JA JA Nee JA JA JA JA JA Nee JA JA JA JA Tabel 3 Klassen overzicht Kiezen en verwijderen van relaties In deze fase worden de associaties tussen de verschillende klassen in DDO weergegeven. In deze toepassing is naast de reguliere relaties met name aggregatie belangrijk. Als soort relatie wordt deze dan ook expliciet opgenomen soorten relaties belangrijk, te weten: Klassenaam Relatie met Soort relatie Index Tabel Aggregatie Veld Tabel Aggregatie Relatie Tabel Aggregatie Selectiestap Tabel Aggregatie Statistiekstap Tabel Aggregatie Tabblad Formulier Geeft weer Veld Tabel Aggregatie Formulier Tabel Toont inhoud van Besturingselement Veld Toont Kolom (gegevensblad) Veld Toont Menu Formulier Toont functies van Menu Knoppenbalk Verkort weergegeven op Formulier Besturingselement Aggregatie Relatie Index Sorteert kind Relatie Veld Koppel ouder Selectie Veld Bepaling op basis van Statistiek Veld Berekening op basis van Tabel 4 Relatie tussen klassen Kiezen en verwijderen van attributen In deze stap wordt een lijst van attributen of eigenschappen gegeven van een aantal klassen. Deze lijst is in deze fase summier van opzet. Deze lijst is een uitgangspunt voor het objectmodel. De detaillering vindt plaats tijdens de ontwerpfase. Daarom wordt in deze tabel alleen de naam van de eigenschap gegeven. In deze lijst worden alleen de klassen beschreven die op basis van de relatie eigendom voorkomen. De klassen gerelateerd op basis van overerving zullen in een later stadium beschreven worden. Klassenaam Eigenschap Klassenaam Eigenschap Veld Naam Titel Omschrijving Inhoudtype Inhoudlengte Inhouddecimalen Gekoppelde tabelnaam Gekoppelde Keuzelijst Vereist Beginwaarde expressie Berekende waarde expressie Samenvoeg expressie Voorkeur besturingselement Invoermasker Tabel Naam Titel Omschrijving Extensie Tabel 5 Eigenschappen van tussen klassen Bestandstype Keuzelijst expressie Oudersleutel naam Primaire sleutel 17

18 Verifieer model In deze fase worden een aantal stappen beschreven van het OMT analyse proces. Op basis van de tabellen in bovenstaande paragrafen is een model op te stellen in de OMT notatie. Omdat het model omvangrijk is wordt hierbij een splitsing gemaakt in een aantal deelmodellen of sheets. (bijlage 6) Daarnaast worden de eigenschappen en operaties niet in de objectdiagrammen opgenomen. Dit allereerst vanwege de beperkte ruimte in de diagrammen. Ten tweede worden de eigenschappen van klassen in de datadictionary in detail uitgewerkt. Het model wordt geverifieerd met onderstaande tests. Selectie Bij codeselectie wordt een lijst van keuzes getoond gebaseerd op codes, bijvoorbeeld branchecode en omschrijving. Is dit mogelijk via de associaties? Codeselectie overerft de eigenschappen van selectiestap Selectiestap gebruikt veld Veld gebruikt keuzeopties. Verwijderen van een veld Tabel 6 Verifieer model 4.3 Data-dictionary Als een veld wordt verwijderd dient vooraf gecontroleerd te worden of dit veld nog voorkomt in indexen, relaties en formulieren. Veld wordt gebruikt door Tabel Index wordt gebruikt door Tabel en heeft een eigenschap expressie met veldinformatie Relatie wordt gebruikt door Tabel en heeft de eigenschap sleutelveld Formulier wordt gebruikt door Tabel, Besturingselement wordt gebruikt door Formulier. Besturingselement gebruikt Veld. Keuze van werkwijze De data-dictionary definieert alle te modelleren entiteiten zoals klassen, relaties, eigenschappen en operaties. [3]. Voor het opstellen van de data-dictionary zijn een aantal mogelijkheden beschikbaar. De belangrijkste zijn: Natuurlijke tekst met een standaardisatie van namen. Bijvoorbeeld eigenschappen met een datum waarde worden met date of datum aangeduid]. Een template of sjabloon zoals in de OOADA methode gebruikt wordt. In dit sjabloon worden de te modelleren entiteiten in het vooraf gedefinieerde sjabloon omschreven [5, 29]. Uitgaande van onderstaande punten wordt gekozen voor de werkwijze zoals in OOADA deze toepast: Een sjabloon ondersteunt de gebruiker, het geeft een beeld van de compleetheid van het ontwerp. Een sjabloon is dwingend, in vrije tekst is de omschrijving van een entiteit te vrij. Een sjabloon kan eenvoudig geautomatiseerd worden. Daarnaast kan in de volgende fasen gebruik gemaakt worden van de reeds ingevulde sjablonen. Bijvoorbeeld in de realisatie van uitgewerkte klasse en eigenschap sjablonen. In de volgende fasen zal gebruik gemaakt worden van een geautomatiseerde data-dictionary. Deze datadictionary is opgesteld op basis van een aantal gerelateerde gegevensbestanden. Redenen zijn [29]: De mogelijkheid om invoer te valideren Het genereren van meerdere soorten van documentatie. 18

19 Het genereren van programma code tijdens de realisatiefase. Opstellen van de dictionary Op basis van de class templates zoals gebruikt door Booch is het volgende model opgesteld voor de datadictionary [29]. In bijlage 8 is een overzicht van de uitgewerkte klassen te vinden op basis van de datadictionary. Naam Eigenschap Toelichting Klasse Naam Naam van de klasse Inherit van Erft alle eigenschappen en operaties van de klasse genoemd in deze eigenschap Omschrijving Omschrijving van de bestaansreden van de klasse Eigenschap Naam Naam van de eigenschap Omschrijving Omschrijving van de eigenschap Beginwaarde Initiële waarde als een nieuw object gecreëerd wordt van deze klasse Minimum cardinaliteit Minimum aantal elementen van deze eigenschap in de klasse Maximum cardinaliteit Maximum aantal elementen van deze eigenschap in de klasse Waarde van de inhoud Waarde van de inhoud van de eigenschap er zijn een aantal mogelijkheden te weten: Array, String, Object, Expressie, Datum, Integer, Logisch en Onbekend Mogelijke waarden Hierbij zijn twee mogelijkheden te onderscheiden er wordt een lijst van vaste waarden opgegeven waarbij de lijst wordt weergegeven gescheiden door een komma. Met pseudo code wordt een dynamische lijst van gegevens omschreven Zichtbaarheid Eigenschappen of attributen zijn op drie manieren zichtbaar: Verborgen De eigenschap is alleen zichtbaar in de klasse zelf, dus in de overervende klassen is de eigenschap niet zichtbaar Protectie. De eigenschap is alleen zichtbaar in de klasse en in alle overervende klassen, of via een methode welke een validatie mogelijk maakt Export De eigenschap is altijd zichtbaar, ook buiten de overervingboom om Operatie Naam Naam van de operatie Onderdeel Komt voor in applicatie onderdeel: Beheersmodule / Embedded module 19

20 /Beiden Pseudocode Pseudo code van de bewerkingen in de operatie Parameters Lijst van inkomende parameters welke door de operatie gebruikt wordt Returnwaarde Uitgaande parameters of return waarde van de operatie. Associatie Gekoppelde klasse Naam van de klasse waarmee een associatie bestaat Naam associatie Naam of omschrijving associatie Min. Cardinaliteit Klasse Minimaal aantal elementen van de actieve klasse in de associatie Max. cardinaliteit Klasse Maximum aantal elementen van de actieve klasse in de associatie Min. Card. Gekoppelde Klasse Minimaal aantal elementen van de geassocieerde klasse Max. card. Gekoppelde Klasse Maximum aantal elementen van de gerelateerde klasse in de relatie Tabel 7 Toelichting op eigenschappen in Class diagram 4.3 Functioneel Model Specificeer "Use cases" In deze stap wordt een lijst van "use cases" opgesteld. Een Use case kan het beste vertaald worden met een gebruikers situatie [16]. Dit wordt gedaan om de verschillende vormen van interactie tussen het systeem en externe actoren weer te geven. In deze toepassing zijn twee externe actoren te onderscheiden, de applicatie programmeurs voor de beheersmodule en de klantapplicatie (opsporingstoepassing) voor de embedded module [19]. Embedded module Opvragen van alle afzonderlijke klassen vanuit bestand Opmaken formulieren op basis van DDO Controleer fysieke bestandstructuur ten opzichte van DDO Beheersmodule Toevoegen in alle klassen Bewerken van alle klassen Verwijderen in alle klassen Afdrukken in alle klassen Opmaken formulieren Toevoegen van besturingselementen op formulieren Verwijderen van besturingselementen op formulieren Bewerken van besturingselementen op formulieren Verplaatsen van besturingselementen op formulieren Tabvolgorde aanpassen van besturingselementen Testen van opgemaakte formulieren Zoeken van gegevens in alle klassen Selecteren of filteren van gegevens in alle klassen Vervangen van gegevens in alle klassen Kiezen van functioneel paradigma In deze fase wordt een keuze gemaakt voor het functioneel paradigma. Hiermee wordt het gedrag van de diverse objecten beschreven [3]. Relevante paradigma's zijn: Data flow diagrammen Voordeel van deze diagrammen is dat ze veelvuldig toegepast worden, en daarom bekend zijn. Nadeel is dat het te dicht bij de realisatie van toepassingen zit. Het kan gebruikt worden als een specificatie en niet als analyse instrument. Beslissingstabellen Beslissingstabellen zijn goed toepasbaar bij keuzeprincipes zoals if-then constructies. Echter voor andere selectie principes en iteraties worden beslissingstabellen snel complex en onoverzichtelijk. Pseudocode Pseudocode heeft als voordeel dat het eenvoudig te gebruiken is en dat gebruikt kan worden in latere fase van het ontwikkeltraject. Groot gevaar (en nadeel) is echter dat te snel op implementatieniveau gewerkt gaat worden. 20

Genereren van een webapplicatie op basis van DLA

Genereren van een webapplicatie op basis van DLA Genereren van een webapplicatie op basis van DLA ir Bert Dingemans DLA Ontwerp en Software info@dla-architect.nl Inleiding Bij het ontwikkelen van maatwerk software loopt men al snel tegen het probleem

Nadere informatie

Kenmerken van DLArchitect

Kenmerken van DLArchitect Kenmerken van DLArchitect Bert Dingemans, e-mail : bert@dla-os.nl www : http://www.dla-os.nl 1 Inhoud KENMERKEN VAN DLARCHITECT... 1 INHOUD... 2 INLEIDING... 3 ARCHITECTUUR... 3 Merode... 3 Methode en

Nadere informatie

Toegepaste notatiewijzen DLA software

Toegepaste notatiewijzen DLA software Toegepaste notatiewijzen DLA software Bert Dingemans info@dla-architect.nl Inleiding In de DLA Software wordt gebruik gemaakt van een aantal notatiewijzen voor het opstellen van een object- en procesmodel.

Nadere informatie

Canonieke Data Modellering op basis van ArchiMate. Canonieke Data Modellering op basis van Archimate Bert Dingemans

Canonieke Data Modellering op basis van ArchiMate. Canonieke Data Modellering op basis van Archimate Bert Dingemans Canonieke Data Modellering op basis van ArchiMate Canonieke Data Modellering op basis van Archimate Bert Dingemans Abstract Modelleren op basis van de open standard ArchiMate is een goed uitgangspunt voor

Nadere informatie

Archimate risico extensies modelleren

Archimate risico extensies modelleren Archimate risico extensies modelleren Notatiewijzen van risico analyses op basis van checklists versie 0.2 Bert Dingemans 1 Inleiding Risico s zijn een extra dimensie bij het uitwerken van een architectuur.

Nadere informatie

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010

Systeemontwikkeling, Hoofdstuk 4, Tabellen maken in MS Access 2010 4 Tabellen maken in MS Access In dit hoofdstuk starten we met de bouw van ons informatiesysteem met de belangrijkste bouwstenen: de tabellen. 4.1 Starten met MS Access Als je het programma Microsoft Access

Nadere informatie

Tools voor canonieke datamodellering Bert Dingemans

Tools voor canonieke datamodellering Bert Dingemans Tools voor canonieke datamodellering Tools voor canonieke datamodellering Bert Dingemans Abstract Canonieke modellen worden al snel omvangrijk en complex te beheren. Dit whitepaper beschrijft een werkwijze

Nadere informatie

De beheerrisico s van architectuur

De beheerrisico s van architectuur De beheerrisico s van architectuur Een overzicht van de ArChimate Risico Extensie versie 0.2 Bert Dingemans Inleiding Het implementeren van een (enterprise) architectuur brengt altijd risico s met zich

Nadere informatie

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat:

Kennis na het volgen van de training. Na het volgen van deze training bent u in staat: Training Trainingscode Duur Gepubliceerd Taal Type Leermethode Kosten SF2015V8 4 dagen 02/02/2015 Nederlands & Engels Developer, basis Invidueel & klassikaal Op aanvraag Deze training richt zich op het

Nadere informatie

Dynamiek met VO-Script

Dynamiek met VO-Script Dynamiek met VO-Script Door Bert Dingemans DLA Ontwerp & Software bert@dla-architect.nl Inleiding Op de SDGN nieuwsgroep voor Visual Objects ontstond laatst een draad van berichten over de nieuwe libraries

Nadere informatie

Technisch Ontwerp W e b s i t e W O S I

Technisch Ontwerp W e b s i t e W O S I Technisch Ontwerp W e b s i t e W O S I WOSI Ruud Jungbacker en Michael de Vries - Technisch ontwerp Website Document historie Versie(s) Versie Datum Status Omschrijving / wijzigingen 0.1 20 nov 2008 Concept

Nadere informatie

Sparse columns in SQL server 2008

Sparse columns in SQL server 2008 Sparse columns in SQL server 2008 Object persistentie eenvoudig gemaakt Bert Dingemans, e-mail : info@dla-os.nl www : http:// 1 Content SPARSE COLUMNS IN SQL SERVER 2008... 1 OBJECT PERSISTENTIE EENVOUDIG

Nadere informatie

Integratie van Beheer en Ontwikkeling op basis van een Drielagenarchitectuur

Integratie van Beheer en Ontwikkeling op basis van een Drielagenarchitectuur Integratie van Beheer en Ontwikkeling op basis van een Drielagenarchitectuur Bert Dingemans info@dla-architect.nl www.dla-architect.nl Inleiding In de sector jeugdzorg zijn momenteel een aantal ingrijpende

Nadere informatie

Trainingsomschrijving ACCESS 97 / 2000 / 2003NL

Trainingsomschrijving ACCESS 97 / 2000 / 2003NL Module 1 Inleiding Module 2 Ontwerpen van tabellen Module 3 Relationele databases en queries Module 4 Formulieren en rapporten Module 5 Geav. formulieren en rapporten Module 6 Macro s en menu s Module

Nadere informatie

Zeon PDF Driver Trial

Zeon PDF Driver Trial Zakelijke software voor verkoop, dienstverlening en administratie Handleiding module Document Uitgaande correspondentie genereren Uitgaande correspondentie terugvinden Persoonlijk geadresseerde mailings

Nadere informatie

Keteininformatiemodellering op basis van UML

Keteininformatiemodellering op basis van UML Keteininformatiemodellering op basis van UML Richtlijnen en voorbeelden versie 0.1 Bert Dingemans Keteininformatiemodellering op basis van UML... 1 Richtlijnen en voorbeelden... 1 Inleiding... 2 Documenten...

Nadere informatie

Les F-02 UML. 2013, David Lans

Les F-02 UML. 2013, David Lans Les F-02 UML In deze lesbrief wordt globaal beschreven wat Unified Modeling Language (UML) inhoudt. UML is een modelleertaal. Dat wil zeggen dat je daarmee de objecten binnen een (informatie)systeem modelmatig

Nadere informatie

Release datum: 11 juni 2012

Release datum: 11 juni 2012 Highlights 1 HSExpert versie 5.2 Begin juni is versie 5.2 van HSExpert gereleased. In versie 5.2 zijn vooral wijzigingen op het RiAxion (Arbo) dossier doorgevoerd. Daarnaast zijn er wat kleinere wijzigingen

Nadere informatie

Evo Evolutionary Project Management. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V.

Evo Evolutionary Project Management. Een introductie. Algemene informatie voor medewerkers van SYSQA B.V. Evo Evolutionary Project Management Een introductie Algemene informatie voor medewerkers van SYSQA B.V. Organisatie SYSQA B.V. Pagina 2 van 10 Inhoudsopgave 1. INLEIDING... 3 2. EVO... 4 3. FASERING...

Nadere informatie

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous

icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous icafe Project Joeri Verdeyen Stefaan De Spiegeleer Ben Naim Tanfous 2006-2007 Inhoudsopgave 1 2 1.1 Programmeertaal PHP5..................... 2 1.2 MySQL database......................... 3 1.3 Adobe Flash...........................

Nadere informatie

Microsoft Excel. It s all about Excel - VBA

Microsoft Excel. It s all about Excel - VBA X Microsoft Excel Stap in de wereld van Visual Basic for Applications (VBA) binnen het Microsoft Office programma Excel. Leer hoe deze programmeertaal precies in elkaar zit en hoe u deze in de dagelijkse

Nadere informatie

Informatica 2 Studiehandleiding

Informatica 2 Studiehandleiding Informatica 2 Studiehandleiding Embedded Systems Engineering Groep: ES1D ir drs E.J Boks 25-02-2010 Inhoud 1 Inleiding... 2 2 Doelstelling... 3 3 Beoordeling... 4 4 Eisen aan het verslag... 6 Voorbeeld

Nadere informatie

Titel van de paper; Integratie van Beheer en Ontwikkeling op basis van een Drielagenarchitectuur

Titel van de paper; Integratie van Beheer en Ontwikkeling op basis van een Drielagenarchitectuur Categorie van de bijdrage long paper Track; Tussen passie en teleurstelling - aspecten van de menselijke maat Titel van de paper; Integratie van Beheer en Ontwikkeling op basis van een Drielagenarchitectuur

Nadere informatie

Offective > CRM > Vragenlijst

Offective > CRM > Vragenlijst Offective > CRM > Vragenlijst Onder het menu item CRM is een generieke vragenlijst module beschikbaar, hier kunt u zeer uitgebreide vragenlijst(en) maken, indien gewenst met afhankelijkheden. Om te beginnen

Nadere informatie

Business Scenario. Voorbeeld Archimate Risico Extensie. versie 0.1. Bert Dingemans

Business Scenario. Voorbeeld Archimate Risico Extensie. versie 0.1. Bert Dingemans Business Scenario Voorbeeld Archimate Risico Extensie versie 0.1 Bert Dingemans Administratieve pagina Wijzigingshistorie Versie Datum Auteur Reden wijziging Review historie Naam Afdeling Functie Datum

Nadere informatie

1. Welke diagrammen beschrijven het dynamisch gedrag van een applicatie?

1. Welke diagrammen beschrijven het dynamisch gedrag van een applicatie? 1. Welke diagrammen beschrijven het dynamisch gedrag van een applicatie? -Use case-diagram -Use case-beschrijving -Activity diagram -Sequentie diagram 2. Welke diagrammen beschrijven de structuur van de

Nadere informatie

MWeb 4.0. Handleiding Basis Modules Versie 1.0

MWeb 4.0. Handleiding Basis Modules Versie 1.0 MWeb 4.0 Handleiding Basis Modules Versie 1.0 Index 1. Algemeen 3 1.1. Gebruikersnamen en Wachtwoorden 3 1.2. Inloggen 3 1.3. Uitloggen 3 1.4. Belangrijk 3 2. User Manager 4 2.1. Gebruikers lijst User

Nadere informatie

Roadmap. RIE Manager

Roadmap. RIE Manager Roadmap RIE Manager Look & Feel Rapportage/ Documentatie Uploaden Documenten Major Release 3 Lokaal beheer Major Release 2 Regie in eigen hand Submodules Major Release 1 Introductie In deze roadmap geeft

Nadere informatie

Mach3Framework 5.0 / Website

Mach3Framework 5.0 / Website Mach3Framework 5.0 / Website Handleiding Mach3Builders Inhoudsopgave 1 Inloggen...5 1.1 Ingelogd blijven...6 1.2 Wachtwoord vergeten...7 2 Applicatie keuzescherm...8 2.1 De beheeromgeving openen...9 3

Nadere informatie

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces

Software Processen. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1. Het software proces Software Processen Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 4 Slide 1 Het software proces Een gestructureerd set van activiteiten nodig om een software systeem te ontwikkelen Specificatie;

Nadere informatie

PlanCare Dossier V11.4 Carrouselkaarten. Inhoudsopgave

PlanCare Dossier V11.4 Carrouselkaarten. Inhoudsopgave Inhoudsopgave Inleiding... 2 maken... 2 Matrixkaart... 3 Open vragen kaart... 5 wijzigen... 6 verwijderen... 7 gebruiken... 7 Handelingen met huidige selectie... 8 PlanCare Dossier V11.4 - Pagina 1 van

Nadere informatie

MS Access. Module 0. MS Access, versie 2000 (NL) Nummer: 256 (11062002) The Courseware Company

MS Access. Module 0. MS Access, versie 2000 (NL) Nummer: 256 (11062002) The Courseware Company MS Access Module 0 MS Access, versie 2000 (NL) Nummer: 256 (11062002) The Courseware Company Niets van deze uitgave mag verveelvoudigd worden en/of openbaar worden gemaakt door middel van druk, fotokopie,

Nadere informatie

RIE Vragenlijst Editor

RIE Vragenlijst Editor Handleiding RIE Vragenlijst Editor Versie 1.0 Datum: 29 oktober 2015 IT&Care B.V. Inhoudsopgave 1. INLEIDING EN VERANTWOORDING... 3 2. OVERZICHT RIE VRAGENLIJSTEN... 4 3. AANMAKEN VAN EEN NIEUWE VRAGENLIJST...

Nadere informatie

Technisch Ontwerp Ontwerp template

Technisch Ontwerp Ontwerp template Auteur Dennis Steenwijk Versie Datum Status 1 Inleiding 2 Versie geschiedenis Versie Datum Status Naam Omschrijving 03-10-08 Dennis Steenwijk versie 2 van 9 Versie geschiedenis 3 Distributie Naam Functie

Nadere informatie

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Een introductie voor leden van de expertgroep Informatiemodellen Harmen Mantel, Ordina ICT Management & Consultancy, werkzaam voor KING DOELSTELLING PRESENTATIE GEMEENSCHAPPELIJKE

Nadere informatie

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen.

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen. Handleiding Office+ Introductie Met de module Office+ gaat een lang gekoesterde wens voor vele gebruikers van Unit 4 Multivers in vervulling: eenvoudig koppelen van documenten in relatiebeheer of documentmanagement

Nadere informatie

Cyberpesten: social media platform mining tools

Cyberpesten: social media platform mining tools Cyberpesten: social media platform mining tools ABI team 27: Pascal Pieters, Stephaan Declerck Begeleider: dr. Rik Bos Opdrachtgever: prof. dr. ir. Remko Helms Inhoud Achtergrond Opdracht Projectaanpak

Nadere informatie

4orange Connect. 4orange, 2015. Hogehilweg 24 1101 CD Amsterdam Zuidoost www.4orange.nl

4orange Connect. 4orange, 2015. Hogehilweg 24 1101 CD Amsterdam Zuidoost www.4orange.nl 4orange Connect 4orange, 2015 Hogehilweg 24 1101 CD Amsterdam Zuidoost www.4orange.nl 2 Inhoud Inhoud... 2 1. Achtergrond... 3 2) Browsen... 4 3) Scheduler... 4 4) Frequenties en kruistabellen... 4 5)

Nadere informatie

Handleiding helpdesk. Datum: 08-10-2014 Versie: 1.0 Auteur: Inge van Sark

Handleiding helpdesk. Datum: 08-10-2014 Versie: 1.0 Auteur: Inge van Sark Datum: 08-10-2014 Versie: 1.0 Auteur: Inge van Sark Inhoudsopgave Inhoudsopgave... 2 1. Beheer helpdesk... 3 1.1. Settings... 3 1.2. Applicaties... 4 1.3. Prioriteiten... 5 1.4. Gebruik mailtemplates...

Nadere informatie

Gezamenlijke procesinrichting binnen de jeugdzorg

Gezamenlijke procesinrichting binnen de jeugdzorg Gezamenlijke procesinrichting binnen de jeugdzorg Samenvatting Dit artikel beschrijft de ervaringen in het project gezamenlijke proces inrichting binnen de jeugdzorg. Het is geschreven vanuit een software

Nadere informatie

Nummer: 011 (11062002) The Courseware Company

Nummer: 011 (11062002) The Courseware Company Access Module 0 Access voor Windows, versie 97 (UK) Nummer: 011 (11062002) Niets van deze uitgave mag verveelvoudigd worden en/of openbaar worden gemaakt door middel van druk, fotokopie, microfilm of op

Nadere informatie

AFO 113 Authoritybeheer

AFO 113 Authoritybeheer AFO 113 Authoritybeheer 113.1 Inleiding Authority records die gebruikt worden in de catalogusmodule kunnen via deze AFO beheerd worden. U kunt hier records opzoeken, wijzigen, verwijderen of toevoegen.

Nadere informatie

Handleiding draaien en gebruiken Omzet & OHW overzicht

Handleiding draaien en gebruiken Omzet & OHW overzicht Handleiding draaien en gebruiken Omzet & OHW overzicht Versie 0.1 NederCare B.V. Postbus 185 3900 AD Veenendaal Tel.: 0318-500449 Fax: 0318-500391 Rabobank: Veenendaal nr.: 15.55.86.890 K.v.K. te Utrecht

Nadere informatie

UML. From weblog http://dsnippert.wordpress.com. Dennis Snippert

UML. From weblog http://dsnippert.wordpress.com. Dennis Snippert UML From weblog http://dsnippert.wordpress.com Naam: Dennis Snippert Inhoudsopgave 1. Wat is Uml?... 3 2. UML diagrammen... 4 3. Uitleg diagrammen... 5 3.1. Usecase diagram:... 5 3.2. Class diagram:...

Nadere informatie

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen.

Met deze module heeft u de mogelijkheid om gemakkelijk, snel en efficiënt uw documenten als naslag in Unit 4 Multivers te koppelen. Handleiding Scan+ Introductie Met Scan+ gaat een lang gekoesterde wens voor vele gebruikers van Unit 4 Multivers in vervulling: eenvoudig koppelen van documenten in relatiebeheer of documentmanagement

Nadere informatie

Hoofdstuk 2 Basiskennis... 0-21 2.1 Muistechnieken... 0-21 2.2 Windows Explorer... 0-22

Hoofdstuk 2 Basiskennis... 0-21 2.1 Muistechnieken... 0-21 2.2 Windows Explorer... 0-22 Inhoudsopgave Module 1 Basisvaardigheden Hoofdstuk 1 De Fluent Interface... 0-7 1.1 Lint... 0-7 1.2 Lint minimaliseren... 0-9 1.3 Backstage... 0-10 1.4 Knopafbeeldingen in het lint... 0-12 1.5 Werkbalk

Nadere informatie

Normaliseren van tabellen Praktische oefeningen

Normaliseren van tabellen Praktische oefeningen Normaliseren van tabellen Praktische oefeningen Oefening 1 : Het gebruik van een OPZOEKTABEL Maak eerst een backup van de werkende versie In onze eigen database moeten we het principe van een opzoektabel

Nadere informatie

module 5 2008 Instruct, Postbus 38, 2410 AA Bodegraven - 1 e druk: november 2008

module 5 2008 Instruct, Postbus 38, 2410 AA Bodegraven - 1 e druk: november 2008 Europees Computer Rijbewijs module 5 ACCESS 2007 2008 Instruct, Postbus 38, 2410 AA Bodegraven - 1 e druk: november 2008 ISBN: 978 90 460 0493 7 Alle rechten voorbehouden. Niets uit deze uitgave mag worden

Nadere informatie

Keteininformatiemodellering op basis van Archimate

Keteininformatiemodellering op basis van Archimate Keteininformatiemodellering op basis van Archimate Notatie en voorbeelden versie 0.1 Bert Dingemans Inhoudsopgave Inhoudsopgave... 2 Inleiding... 3 Archimate... 3 Domeininformatiemodellen... 4 Modellering...

Nadere informatie

Het Wepsysteem. Het Wepsysteem wordt op maat gebouwd, gekoppeld aan de gewenste functionaliteiten en lay-out van de site. Versie september 2010

Het Wepsysteem. Het Wepsysteem wordt op maat gebouwd, gekoppeld aan de gewenste functionaliteiten en lay-out van de site. Versie september 2010 Het Wepsysteem Het Wepsysteem is een content management systeem, een systeem om zonder veel kennis van html of andere internettalen een website te onderhouden en uit te breiden. Met het Content Management

Nadere informatie

Systeemontwikkeling, Hoofdstuk 6, Query s, macro s en rapporten in MS Access 2010

Systeemontwikkeling, Hoofdstuk 6, Query s, macro s en rapporten in MS Access 2010 6. Query s, macro s en rapporten In dit hoofdstuk zetten we de puntjes op de i. Alle processen zullen in de aangemaakte formulieren met de gebruikersmenu s van de secretaris, penningmeester en wedstrijdsecretaris,

Nadere informatie

Macro s. 4.2 Een macro maken

Macro s. 4.2 Een macro maken 4.2 Een macro maken Een macro is een reeks van commando s die u kunt maken en die een programma uitvoeren. Wanneer u de macro in zijn geheel uitvoert, dan worden de acties opeenvolgend uitgevoerd. Elk

Nadere informatie

Workflow. Taak Sjablonen

Workflow. Taak Sjablonen Workflow Workflow beheer Bij elke klant in RADAR (het vinkje klant staat aan in het tabblad ALGEMEEN van het bedrijf of de familie) kunt u een planning maken van een aantal periodieke taken, bijvoorbeeld:

Nadere informatie

Project Start Architectuur (PSA)

Project Start Architectuur (PSA) Project Start Architectuur (PSA) InterActory Architectuur Service Orientatie versie 0.2 Bert Dingemans Administratieve pagina Wijzigingshistorie Versie Datum Auteur Reden wijziging 0.1 Maart 2012 Bert

Nadere informatie

Handleiding 4CIS InfoBase Project Projectbeheer Urenregistratie Kostenregistratie Factureren op basis van kostenregistratie

Handleiding 4CIS InfoBase Project Projectbeheer Urenregistratie Kostenregistratie Factureren op basis van kostenregistratie Handleiding 4CIS InfoBase Project Projectbeheer Urenregistratie Kostenregistratie Factureren op basis van kostenregistratie 4CIS InfoBase 3.2.0 4CIS, 1999-2002, alle rechten voorbehouden Zakelijke software

Nadere informatie

Software Test Plan. Yannick Verschueren

Software Test Plan. Yannick Verschueren Software Test Plan Yannick Verschueren November 2014 Document geschiedenis Versie Datum Auteur/co-auteur Beschrijving 1 November 2014 Yannick Verschueren Eerste versie 1 Inhoudstafel 1 Introductie 3 1.1

Nadere informatie

Automatisering voor Financiële Dienstverleners. Werken met Queries en Merge Documenten. For more information visit our website at www.pyrrho.

Automatisering voor Financiële Dienstverleners. Werken met Queries en Merge Documenten. For more information visit our website at www.pyrrho. Automatisering voor Financiële Dienstverleners Werken met Queries en Merge Documenten For more information visit our website at www.pyrrho.com Date: Document Nr: 30 maart, 2007 UBizzMerge, Versie 4.0 Status:

Nadere informatie

MDA experiences in een uitvoeringsorganisatie. Eelco van Mens (Architect, Mn Services) 5 juni 2008

MDA experiences in een uitvoeringsorganisatie. Eelco van Mens (Architect, Mn Services) 5 juni 2008 MDA experiences in een uitvoeringsorganisatie MDA experiences in een uitvoeringsorganisatie Eelco van Mens (Architect, Mn Services) 5 juni 2008 2 Inhoud Korte introductie Mn Services Overwegingen om met

Nadere informatie

Gebruikershandleiding SAP-TEM. In proces m.b.t. de cursusadministratie binnen SAP R/3 wordt een onderverdeling gemaakt in de volgende fasen:

Gebruikershandleiding SAP-TEM. In proces m.b.t. de cursusadministratie binnen SAP R/3 wordt een onderverdeling gemaakt in de volgende fasen: 1 Algemeen In proces m.b.t. de cursusadministratie binnen SAP R/3 wordt een onderverdeling gemaakt in de volgende fasen: Aanleggen evenement Boeking Deelnemer op evenement Evenement Laten doorgaan Evaluatie

Nadere informatie

Project Fasering Documentatie Applicatie Ontwikkelaar

Project Fasering Documentatie Applicatie Ontwikkelaar Project Fasering Documentatie Applicatie Ontwikkelaar Auteurs: Erik Seldenthuis Aminah Balfaqih Datum: 31 Januari 2011 Kerntaak 1 Ontwerpen van applicaties De volgordelijke plaats van de documenten binnen

Nadere informatie

Inhoudsopgave Voorwoord 9 Nieuwsbrief 9 Introductie Visual Steps 10 Wat heeft u nodig? 11 Hoe werkt u met dit boek?

Inhoudsopgave Voorwoord 9 Nieuwsbrief 9 Introductie Visual Steps 10 Wat heeft u nodig? 11 Hoe werkt u met dit boek? Inhoudsopgave Voorwoord... 9 Nieuwsbrief... 9 Introductie Visual Steps... 10 Wat heeft u nodig?... 11 Hoe werkt u met dit boek?... 12 Uw voorkennis... 13 De volgorde van lezen... 14 De schermafbeeldingen...

Nadere informatie

Objectgeoriënteerde systeemontwikkeling

Objectgeoriënteerde systeemontwikkeling 2 Objectgeoriënteerde systeemontwikkeling Objecttechnologie of objectoriëntatie is een bekende term in de automatisering. Regelmatig verschijnen artikelen over dit onderwerp in de bekende vaktijdschriften.

Nadere informatie

Stakeholder behoeften beschrijven binnen Togaf 9

Stakeholder behoeften beschrijven binnen Togaf 9 Stakeholder behoeften beschrijven binnen Togaf 9 Inventarisatie van concerns, requirements, principes en patronen Bert Dingemans Togaf 9 kent verschillende entiteiten om de behoeften van stakeholders te

Nadere informatie

OFFICE A LA CARTE - ACCESS 2013

OFFICE A LA CARTE - ACCESS 2013 OFFICE A LA CARTE - ACCESS 2013 Inhoud HOOFDSTUK ACC-1.1: TERMINOLOGIE - (0:20) Wat is een database? Onderdelen van een database Tabellen en relaties Schematisch overzicht van de structuur van een database

Nadere informatie

vanuit de technische en organisatorische omgeving, werk-verdeling, budget, planning, en hergebruik van componenten. Het documenteren van SA dient

vanuit de technische en organisatorische omgeving, werk-verdeling, budget, planning, en hergebruik van componenten. Het documenteren van SA dient 9 Samenvatting Software heeft vooruitgang in veel vakgebieden mogelijk gemaakt en heeft een toenemend invloed op ons leven en de samenleving in zijn geheel. Software wordt gebruikt in computers, communicatienetwerken,

Nadere informatie

HERGEBRUIK VAN REQUIREMENTS

HERGEBRUIK VAN REQUIREMENTS HERGEBRUIK VAN REQUIREMENTS EEN PRAKTISCHE AANPAK BUSINESS ANALYSE CENTER OF EXCELLENCE - SYNERGIO Inhoudsopgave 1 HERGEBRUIK VAN REQUIREMENTS... 3 1.1 GEBRUIKEN VERSUS HERGEBRUIKEN... 4 2 STRATEGIE...

Nadere informatie

Functiepuntanalyse. Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V.

Functiepuntanalyse. Een introductie. Algemene informatie voor medewerkers van: SYSQA B.V. Functiepuntanalyse Een introductie Algemene informatie voor medewerkers van: SYSQA B.V. Organisatie SYSQA B.V. Pagina 2 van 8 Inhoudsopgave 1 INLEIDING... 3 1.1 ALGEMEEN... 3 1.2 VERSIEBEHEER... 3 2 WAT

Nadere informatie

Overige transacties 1 (Excel 2002 en 2003)

Overige transacties 1 (Excel 2002 en 2003) Handleiding Meldprogramma Ongebruikelijke Transactie Overige transacties 1 (Excel 2002 en 2003) 1 Transactiesoort is noch een Money Transfer, noch een girale overboeking Inleiding Vanaf mei 2011 werkt

Nadere informatie

VAN USE CASE NAAR TEST CASE ORDINA SMART COMPETENCE CENTER

VAN USE CASE NAAR TEST CASE ORDINA SMART COMPETENCE CENTER VAN USE CASE NAAR TEST CASE ORDINA SMART COMPETENCE CENTER Sander Hoogendoorn Versie 1.0 15 april 2002 Documentbeheer Versie Datum Auteur Omschrijving 0.1 15 April 2002 Sander Hoogendoorn 0.2 15 april

Nadere informatie

Twinfield change list v6.3.5

Twinfield change list v6.3.5 Twinfield change list v6.3.5 Eerste beschikbaarheid: 28 november 2011 Twinfield International NV De Beek 9-15 3871 MS Hoevelaken Nederland V6.3.5 2 van 8 Artikelen Verbetering 4972 Vanaf nu is het mogelijk

Nadere informatie

MDA in de praktijk. Freek Bosch, Business Unit Manager Amsterdam, 4 juni 2009

MDA in de praktijk. Freek Bosch, Business Unit Manager Amsterdam, 4 juni 2009 Functional Model Driven Development MDA in de praktijk Freek Bosch, Business Unit Manager Amsterdam, 4 juni 2009 FMDD agenda FMDD Waarom FMMD De praktijk Wat is FMDD Ervaringen en lessons learned Ervaringen

Nadere informatie

ICT Beheermodel informatiesystemen Drechtsteden Baseline inrichting ICT beheermodel Drechtsteden

ICT Beheermodel informatiesystemen Drechtsteden Baseline inrichting ICT beheermodel Drechtsteden Drechtsteden Technische Architectuur (DTA) ICT Beheermodel informatiesystemen Drechtsteden Baseline inrichting ICT beheermodel Drechtsteden Status : Definitief 1.0 Redactie : DTA Datum : 29-08-2007 1 Versiebeheer

Nadere informatie

1 Calculatie XE, 9.00 update 16 2

1 Calculatie XE, 9.00 update 16 2 1 Calculatie XE, 9.00 update 16 2 1.1 Nieuw: Uitbreidingen n.a.v de ARW 2012 2 1.1.1 Beschrijving / doel 2 1.1.2 Instelling(en) 4 1.1.3 RAW inschrijfstaat rapportage 6 1.1.4 RAW inschrijfstaat rapportage

Nadere informatie

Beschouwing over het schakelbord

Beschouwing over het schakelbord Opdracht 1 Beschouwing over het schakelbord Eindgebruikers van een database zullen meestal routinewerk uitvoeren zoals: - een nieuw item invoeren - een bestaand item wijzigen - een bestaand item archiveren

Nadere informatie

MA!N Rapportages en Analyses

MA!N Rapportages en Analyses MA!N Rapportages en Analyses Auteur Versie CE-iT 1.2 Inhoud 1 Inleiding... 3 2 Microsoft Excel Pivot analyses... 4 2.1 Verbinding met database... 4 2.2 Data analyseren... 5 2.3 Analyses verversen... 6

Nadere informatie

Elektronisch factureren

Elektronisch factureren Elektronisch factureren Inleiding Elektronisch Factureren in RADAR is mogelijk vanaf versie 4.0. Deze module wordt niet standaard meegeleverd met de RADAR Update maar is te bestellen via de afdeling verkoop

Nadere informatie

EUROPEES COMPUTER RIJBEWIJS / INTERNATIONAAL COMPUTER RIJBEWIJS ADVANCED DATABASE

EUROPEES COMPUTER RIJBEWIJS / INTERNATIONAAL COMPUTER RIJBEWIJS ADVANCED DATABASE EUROPEES COMPUTER RIJBEWIJS / INTERNATIONAAL COMPUTER RIJBEWIJS ADVANCED DATABASE The European Computer Driving Licence Foundation Ltd. Portview House Thorncastle Street Dublin 4 Ierland Tel: + 353 1 630

Nadere informatie

Tips & Tricks: Tip van de maand januari 2009

Tips & Tricks: Tip van de maand januari 2009 Tips & Tricks: Tip van de maand januari 2009 Project Management met Teamcenter 2007 Door: Ramon van Raak Beheert u complexe projecten dan weet u als geen ander dat de projectvoorbereiding de basis legt

Nadere informatie

voorbeeldexamen I-Tracks voorbeeldexamen ISDDF Information Systems Design and Development Foundation uitgave april 2005

voorbeeldexamen I-Tracks voorbeeldexamen ISDDF Information Systems Design and Development Foundation uitgave april 2005 voorbeeldexamen Information Systems Design and Development Foundation I-Tracks voorbeeldexamen ISDDF Information Systems Design and Development Foundation uitgave april 2005 inhoud 3 inleiding 4 voorbeeldexamen

Nadere informatie

Handleiding website menu s en pagina s

Handleiding website menu s en pagina s Handleiding website menu s en pagina s Versie 0.1 januari 2012 INHOUD INHOUD... 2 1 Inleiding... 3 2 Het opzetten van de menubalken van de website... 3 3 Het opzetten van de pagina s achter het menu...

Nadere informatie

Mach3Framework 5.0 / Website

Mach3Framework 5.0 / Website Mach3Framework 5.0 / Website Handleiding Mach3Builders Inhoudsopgave 1 Inloggen...4 1.1 Ingelogd blijven...5 1.2 Wachtwoord vergeten...6 2 Applicatie keuzescherm...7 2.1 De beheeromgeving openen...8 3

Nadere informatie

UML is een visuele taal om processen, software en systemen te kunnen modeleren.

UML is een visuele taal om processen, software en systemen te kunnen modeleren. Vragen inleinding UML 1. Wat is UML? UML is een visuele taal om processen, software en systemen te kunnen modeleren. 2. Waar bestaat UML uit? Notaties(zijn symbolen, commentaar en waarden etc.) en diagrammen(grafische

Nadere informatie

beschrijvingstechnieken bij systeemontwikkeling

beschrijvingstechnieken bij systeemontwikkeling 1 Bijlage 8 Alternatieve (UML) beschrijvingstechnieken bij systeemontwikkeling De in hoofdstuk 3 weergegeven beschrijvingstechnieken voor de beschrijving van de informatietechnologie is summier. Er wordt

Nadere informatie

Opdrachtformulering (pagina 3 van 7)

Opdrachtformulering (pagina 3 van 7) 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

Nadere informatie

LibreOffice. LibreOffice een alternatief voor andere office pakketten?

LibreOffice. LibreOffice een alternatief voor andere office pakketten? LibreOffice. LibreOffice een alternatief voor andere office pakketten? LibreOffice. LibreOffice wordt ontwikkeld en onderhouden door de The Document Foundation. De software kan zonder licentiekosten gebruikt

Nadere informatie

Handleiding Merge items

Handleiding Merge items Handleiding Merge items Copyright, Connexys Versie 3.2.0.1-30 september 2013 Niets uit dit document mag worden verveelvoudigd en/of openbaar worden gemaakt door middel van druk, fotokopie, microfilm of

Nadere informatie

Briljant Prospectenbeheer

Briljant Prospectenbeheer Briljant Prospectenbeheer Inhoud 1. Prospecten 1 Prospecten aanmaken 1 De stamgegevens 2 Het tabblad Algemeen 3 Het tabblad Contactpersonen 4 Het tabblad Interesses 5 Het tabblad Memo 6 Het tabblad Offertes

Nadere informatie

PHP-OPDRACHT SITE BOUWEN

PHP-OPDRACHT SITE BOUWEN PHP-OPDRACHT SITE BOUWEN PERIODE 4 LEERJAAR 1 Opleiding: Duur: Applicatieontwikkelaar 1 onderwijsperiode (4-8 weken) Voorkennis: Basiscursus PHP 5.4 Victor Peters (978 90 125 8499 9) Basiscursus XHTML,

Nadere informatie

Technische handleiding

Technische handleiding Technische handleiding Behalve dat u met behulp van de de inhoud van een SBR document kunt raadplegen, biedt de toepassing een aantal extra mogelijkheden. Hieronder wordt een aantal van deze additionele

Nadere informatie

Verplichtingen administratie. Brochure - Verplichtingen administratie

Verplichtingen administratie. Brochure - Verplichtingen administratie Brochure - Verplichtingen administratie Ontwikkeld door: Van der Heijde Automatisering B.V. Registratie van verplichtingen van debiteuren en aan crediteuren Uitgebreide structuur voor autorisatie van verschillende

Nadere informatie

De acties die je als gebruiker stapsgewijs moet volgen, worden als volgt genoteerd.

De acties die je als gebruiker stapsgewijs moet volgen, worden als volgt genoteerd. Inleiding Access 2013 is een relationeel databasesysteem. Een databasesysteem is een programma om gegevens te beheren. Deze gegevens worden in tabellen opgeslagen. Tussen de tabellen kunnen relaties bestaan.

Nadere informatie

Tien tips voor canonieke datamodellering. Bert Dingemans

Tien tips voor canonieke datamodellering. Bert Dingemans Tien tips voor canonieke datamodellering Bert Dingemans Abstract Modelleren is een vakgebied gebaseerd op eenvoudige notaties. Echter op het moment dat en model opgesteld wordt blijkt de te modelleren

Nadere informatie

Mailmerge Auteur : Reint Endendijk Versie : 1.0 Datum : 25 juni 2010

Mailmerge Auteur : Reint Endendijk Versie : 1.0 Datum : 25 juni 2010 Auteur : Reint Endendijk Versie : 1.0 Datum : 25 juni 2010 2 Volgens Wikipedia is mailmerge: Een software product dat een bestand (of database) van namen en adressen samenvoegt met een sjabloon, om zodoende

Nadere informatie

RTE. Handleiding. Publiceren Documenten

RTE. Handleiding. Publiceren Documenten RTE Handleiding Publiceren Documenten Datum: December 2015 Inhoudsopgave 1. Introductie 2 2. Aan de slag 3 2.1. Het opstarten van de applicatie 3 2.2. WebHare Applicaties 3 2.3. De RTE applicatie 3 3.

Nadere informatie

AccountView Go Workflow documenten handleiding

AccountView Go Workflow documenten handleiding AccountView Go Workflow documenten handleiding Workflow AccountView Go Pagina 1 van 12 Inhoud 1 Business Case... 3 1.1 Maandelijkse rapporten... 3 1.1.1 BTW Aangifte... 3 1.1.2 Openstaande posten debiteuren...

Nadere informatie

WebHare Professional en Enterprise

WebHare Professional en Enterprise WebHare Professional en Enterprise Publicatie module Site inrichting handleiding Datum 19 november 2002 Aantal pagina s: 31 Versie: 2.01 Doelgroep Sysops Gebruikers met site aanmaak rechten Gebruikers

Nadere informatie

INHOUDSOPGAVE Ms Access 2007

INHOUDSOPGAVE Ms Access 2007 INHOUDSOPGAVE Ms Access 2007 Woord vooraf... 11 Inleiding... 12 1 Een inleiding tot databanken... 12 2 Een databank ontwerpen... 13 3 Wat is Microsoft Access?... 16 DEEL 1 Een relationele databank opstellen...

Nadere informatie

Rapportage Lineage. Introductie. Methode. J. Stuiver

Rapportage Lineage. Introductie. Methode. J. Stuiver Rapportage Lineage Rapportage Lineage J. Stuiver Introductie In elk project is het essentieel om informatie over het project en haar activiteiten voor alle partijen beschikbaar te stellen. Deze informatie

Nadere informatie

Programmeren met databanken volgens het lagenmodel in C#

Programmeren met databanken volgens het lagenmodel in C# Programmeren met databanken volgens het lagenmodel in C# met Visual Studio en MySQL HA-2267-02 Informaticabeheer Bert Cauwenberg en Lieven Pauwels Werkgroep Handel 2016 Guimardstraat 1, 1040 Brussel Guimardstraat

Nadere informatie

Start de applicatie op om naar het inlogscherm te gaan. Onthoudt mijn gegevens

Start de applicatie op om naar het inlogscherm te gaan. Onthoudt mijn gegevens iphone app - Users Users - iphone App Deze Paxton applicatie is gratis verkrijgbaar in de App Store. Deze applicatie is ontwikkeld om gebruikt te worden op elk ios apparaat versie 5.1 of hoger en is uitgevoerd

Nadere informatie