Naar een valide objectmodel Frank Peeters september 2011

Maat: px
Weergave met pagina beginnen:

Download "Naar een valide objectmodel Frank Peeters september 2011"

Transcriptie

1 Naar een valide objectmodel Frank Peeters september 2011 Aanleiding Er is wetenschappelijk aangetoond dat gedurende het ontwikkelen van software het in een vroeg stadium opsporen van fouten de kwaliteit van de software zeer ten goede komt en sterk kostenbesparend werkt. Onderzoek naar methoden, technieken en tools op dit terrein heeft al decennialang de aandacht. Het langdurig onderzoeksprogramma van EQuA 1 (Early Quality Assurance in Software Production) sluit hierop aan en richt zich op uitwisseling van wetenschappelijk toegepaste kennis op het vlak van vroegtijdige foutdetectie en herstel. Eén van de vijf EQuA- deelprojecten begeeft zich op het terrein van validatie van requirements en modellen. Vrij spoedig na de start van dit deelproject werd duidelijk dat één van de meest centrale modellen, die van het objectmodel is. Hierbij rijzen allereerst twee vragen: Wat is een objectmodel? Hoe kunt u ervoor zorgen dat ook een objectmodel valide blijft? Objectmodel Een model is een vereenvoudigde voorstelling, beschrijving of nabootsing van een deel van de werkelijkheid. Bij een objectmodel richten we ons op het vastleggen van de objecten uit de relevante werkelijkheid voor de betreffende software. Het relevante deel van de werkelijkheid noemen we het domein. Gedurende het ontwerp van een objectmodel zullen een aantal vragen moeten worden beantwoord. Zoals: welke objecten zijn er binnen het domein relevant, wat zijn hun eigenschappen, welke relaties met andere objecten onderhouden ze, aan welke constraints moeten ze voldoen, welke opdrachten kunt u ze geven en hoe wordt een object tot leven gebracht? Het objectmodel, dat wij voor ogen hebben, bevat daarom in ieder geval de volgende informatie: een verzameling met objecttypen, alle onderlinge relaties tussen objecttypen of relaties met primitieve gegevens (getallen, tekst, karakters en boolean waarden), de beperkingen die er voor deze relaties gelden, overerfrelaties tussen objecttypen en constructoren en operaties per objecttype. De in het objectmodel opgenomen objecttypen refereren allemaal op de een of andere manier naar objecten uit de relevante werkelijkheid. Het zijn concepten 1 Early Quality Assurance in Software production een programmavoorstel in het kader van RAAK- PRO Hogeschool van Amsterdam, december pag 1

2 uit deze werkelijkheid. Het objectmodel mag daarom ook een conceptueel objectmodel mogen worden genoemd. Een objectmodel kunt u in de vorm van een UML klassendiagram visualiseren. Deze visualisatie wordt in sommige kringen met een conceptueel klassendiagram aangeduid. Men bestempelt zo n conceptueel klassendiagram soms kortweg met het conceptuele ontwerp of het domeinmodel. Het conceptuele ontwerp, het domeinmodel en het (conceptuele) objectmodel zijn binnen deze tekst elkaars synoniemen. In het vervolg zullen we ons vooral van de laatste term bedienen. Validiteit Bij validatie van een model denkt men aan de vraag: of het model voldoet aan wat de klant wil. Een klant kan evenwel doorgaans niet beoordelen of een objectmodel valide is. Daarvoor is dat model te technisch. Een klant is immers normaliter geen software engineer. Bij user requirements ligt dat anders. Die zijn, zeker in het allereerste stadium van requirements engineering, in natuurlijke taal omschreven. Dat biedt de mogelijkheid om requirements aan de diverse soorten van stakeholders voor te leggen en te laten valideren. Na een grondige validatieslag heeft men echter nog geen absolute zekerheid of de requirements compleet, eenduidig en haalbaar zijn. Daarom noemen we de verzamelde requirements tesamen een requirementsmodel. Het is een model van de werkelijke behoefte. In deze tijd van iteratieve en agile software- ontwikkeling hoeft deze onvolkomenheid geen al te groot probleem te zijn. De kortcyclische werkwijze zorgt voor een snelle feedback en biedt dus de kans om de requirements bijtijds bij te stellen, waardoor deze waarschijnlijk dichter in de buurt van werkelijke behoefte komen te liggen, of anders gezegd: meer valide worden. Ook al weet men niet met 100% zekerheid dat het requirementsmodel (voldoende) valide is, toch willen we de validiteit van het objectmodel optimaliseren. Deze ambitie wordt gerealiseerd doordat elk afzonderlijk onderdeel uit het objectmodel direct of indirect in een of meer onderdelen uit het requirementsmodel is verankerd. Veranderingen (lees: verbeteringen) in het requirementsmodel moeten dan wel tot veranderingen in het objectmodel leiden. Hoe dat precies in zijn werk gaat, wordt verderop duidelijk gemaakt. De validiteit van het objectmodel wordt dan bepaald door de validiteit van het requirementsmodel. Als de validiteit van het requirementsmodel goed is, zal die van het objectmodel ook goed zijn. De validiteit van een objectmodel is dan een maat voor de afstemming op de requirements. Hoe beter het objectmodel de kansen biedt om de requirements te realiseren hoe hoger de validiteit. Hiermee hebben overigens nog niet alle kwaliteitsaspecten van een objectmodel voldoende aandacht gekregen. U kunt hierbij denken aan de beloften die er in de jaren 80 bij de opkomst van het objectgeoriënteerde paradigma zijn gedaan zoals: a) klassen bieden de mogelijkheid tot herbruikbaarheid, b) objectgeoriënteerde software is gemakkelijker uit te breiden en c) de objectgeoriënteerde software is eenvoudiger te onderhouden. Deze beloften pag 2

3 worden in de praktijk vaak niet waargemaakt omdat er in de ontwerpfase wordt gezondigd tegen algemeen geaccepteerde ontwerppatronen 2. Requirements De koninklijke weg voor een kwalitatief hoogwaardige software- ontwikkeling begint eigenlijk bij een businessstudie, waarin onder meer tekortkomingen, kansen, uitdagingen, risico s en doelen in kaart zijn gebracht. Uiteindelijk zal dit tot een inventarisatie van bedrijfsrequirements leiden. Deze inventarisatie is vanuit het bedrijfsperspectief beschreven. Hierna volgt het opstellen van een user requirements specification (URS). De bedrijfsrequirements worden dan geconcretiseerd richting toekomstig gebruik van de te (her)ontwikkelen software. In een URS komt men normaliter de volgende bestanddelen tegen: 1. contextbeschrijving (domein, belanghebbenden, infrastructuur etc.); 2. terminologie; 3. opsomming van handelingen die met behulp van de nieuwe software uitvoerbaar moeten gaan worden; 4. opsomming van relevante informatie, die ten grondslag ligt aan de uit te voeren handelingen (zie 3); 5. opsomming van constraints en andere bedrijfsregels waaraan de nieuwe software gebonden is; 6. opsomming van kwaliteitsattributen met betrekking tot bovenstaande geboden functionaliteit (hoe snel, hoe veilig, hoe betrouwbaar, hoe gebruiksvriendelijk e.d.). De onder punt 3 vermelde handelingen zijn pas in redelijk globale termen beschreven. Deze handelingen zullen met meer detail moeten worden uitgewerkt. Use cases zijn tegenwoordig algemeen geaccepteerd als het gaat om het, met voldoende detail en in natuurlijke taal, vastleggen van de interactie tussen de toekomstige gebruikers met het te bouwen systeem. Zo ontstaat er een bundel use cases die in een valideerbaar use- casemodel wordt ondergebracht. Het URS (=Requirementsmodel) in combinatie met het use- casemodel vormt een prima basis om de brug naar een gedegen objectmodel te slaan. De status quo van het onderzoek In het eerste acht maanden van het onderhavige EquA- deelonderzoek zijn er doelen, ambities en ook toekomstmuziek geformuleerd: 1. Constructie van een objectmodel vanuit requirements (automatisering van de constructie waar mogelijk); 2. Het verfijnen van het objectmodel door middel van het aanbrengen van constraints, zodat visualisatie in de vorm van een klassendiagram mogelijk wordt; 3. Visualisatie van het objectmodel in de vorm van een objectroldiagram (ORD) en een klassendiagram; 2 Zie: Robert C. Martin. Agile Software Development, Principles, Patterns, and Practices pag 3

4 4. Modelelementen zijn zodanig gedocumenteerd dat alle bronnen traceerbaar zijn; 5. Transformatie van een objectmodel gestuurd door meta- regels en expertise op het vlak van software- design; 6. Synchronisatie van direct afhankelijke modelelementen zodra een bron wijzigt; 7. Verfijning van het objectmodel op basis van scenario- analyse; 8. Automatische generatie van testscripts op basis van scenario s en verzamelde representatieve en kritieke feiten; 9. Genereren van programmacode behorende bij alle klassen uit het conceptuele klassendiagram. In deze eerste fase van het onderzoek zijn de eerste en tweede stap inmiddels tot in een redelijk volwassen stadium gevorderd. De komende maanden wordt er de nodige progressie op het terrein van visualiseren van het objectmodel verwacht 3. De vierde, vijfde en zesde stap rondom traceability worden langzamerhand voorbereid en in gang gezet. De zevende stap wordt in het kader van het afronden van een masterstudie aan de TU/e onderzocht. De achtste en negende stap staat vooralsnog alleen op de rol, zonder dat er op dit moment een duidelijk tijdspad en, laat staan, milestones zijn voorzien. 3 De GUI wordt dit najaar, m.b.v. een usability- analyse door een team van Fontys- studenten nader onder de loep genomen. pag 4

5 De grote lijn In fig 1 staat schematisch de gepropageerde werkwijze beschreven. Niet alles uit dit schema zal misschien meteen duidelijk zijn. De getoonde tussenresultaten (in de vorm van rechthoeken) en de stappen er naartoe (in de vorm van pijlen) worden aan de hand van een voorbeeldcasus besproken. changing requirements Req. model refinement fact decomposition glossary adjustment Use Case model behavioral refinement scenario s Object model facts Testmodel adjustment constraints etc show adjustment behavior Object diagram Class diagram external input manually comp. controlled contws generated restricted to the domainobjects Figuur 1: de grote lijn De casus speelt zich bij de Nederlandse voetbalbond, de K.N.V.B., af. Deze bond moet allerlei competities organiseren. Te denken valt aan de eredivisie, de eerste divisie, regionale competities en de beker. De competities met wedstrijden ondergaan wijzigingen die door diverse betrokkenen worden gevolgd of gevoed. De grote lijn schrijft voor dat je met het verzamelen van alle requirements begint (zie linksboven in fig 1). Voor het K.N.V.B.- domein wordt eerst een klein deel van het URS getoond. Daarna wordt gedemonstreerd hoe uit deze requirements een objectmodel wordt geconstrueerd. De andere onderdelen uit fig 1 krijgen verderop hun aandacht. pag 5

6 Het voorbeelddomein In tabel 1 kunt u de vier soorten van requirements terugvinden. Te beginnen met een opsomming van de beoogde functies voor het K.N.V.B.- systeem, weliswaar in globale termen. User Requirements Specification Terminologie Context Beschrijving KNVB Stakeholders Competitieleiders, teamsecretarissen, journalisten, voetballiefhebbers A. Functies Funct1: competieleiders kunnen een competitierooster inrichten Funct2: wedstrijden moeten kunnen worden verplaatst Funct3: voetballiefhebbers kunnen de eigenschappen van een wedstrijd via het internet inzien. B. Feiten Fact1: VVV Ajax uit ronde 6 van de eredivisie van seizoen 2011 is in 2-2 geëindigd. Fact2: Bij de wedstrijd van Heracles tegen Feyenoord uit ronde 6 van de eredivisie van seizoen 2011 waren toeschouwers aanwezig. Fact3: Heracles Feyenoord uit ronde 4 van de eredivisie van seizoen 2011 is op 7 september om uur gepland. Fact4: Ronde 1 van de KNVB- beker van seizoen 2010 staat standaard voor 1 september gepland. Fact5: In de 14 e minuut van de wedstrijd PSV- Roda JC uit ronde 7 van de erdivisie van seizoen 2011 is er voor de thuisspelende ploeg een doelpunt gevallen. Fact6: Het doelpunt in de 14 e minuut van de wedstrijd PSV- Roda JC uit ronde 7 van de eredivisie van seizoen 2011 is door Olav Toivonen gemaakt. C. Beperkingen Constr1 : tussen twee opeenvolgende wedstrijden van een team zitten ten minste twee wedstrijdloze dagen. Constr2 : de (tussen)uitslag van een wedstrijd kan pas bekend zijn als de wedstrijd is begonnen. D. Kwaliteitsattributen QA1 : [performance] gemelde wijzigingen in de uitslagen van de wedstrijden worden binnen één minuut verwerkt. QA2 : [schaalbaarheid] wedstrijdhistorie over alle knvb- competities ligt over 30 seizoenen terug publiekelijk ter inzage. Tabel 1: een URS voor het voorbeelddomein Na de opsomming van de functies volgt de relevante informatie. Er wordt aldaar gepoogd om uit het gestelde domein voor elk soort van informatie een of meer representatieve feiten op te sommen. Er is onder meer voor dit concrete niveau gekozen omdat er dan nóg gemakkelijker kan worden geconterd of de vereiste informatie correct is geformuleerd. Elk fact- requirement staat op zich; het is uitdrukkelijk de bedoeling dat zo n requirement onafhankelijk van de andere fact- requirements kan worden geïnterpreteerd. Ook een punt van aandacht is dat aanduidingen van objecten uit het domein eenduidig zijn 4. Deze 4 Zie ook: Elton Manoku, Jan Pieter Zwart, Guido Bakema. A fact approach to automatic application development pag 6

7 strikte eisen komen zo meteen van pas zodra het objectmodel wordt geconstrueerd. Deze constructie start dan met een analyse van de voornoemde feiten. De constraint- requirements vormen de derde categorie aan requirements. Dat kunnen statische of dynamische constraints. Constr1 is een voorbeeld van een statische constraint. Een statische constraint beperkt de toestandsruimte van alle objecten op enig moment. De dynamische constraints beperken de toestandsovergang. Constr2 is daar een voorbeeld van. De kwaliteitsattributen sluiten de rij der requirements af. Zij stellen kwaliteitseisen aan de andere requirements. Kwesties als veiligheid, gebruiksgemak, betrouwbaarheid en dergelijke worden aldaar vastgelegd. Deze attributen worden vaak ook als de niet- functionele requirements aangeduid. Decompositie van een feit Met de hulp van factrequirements worden de bestanddelen in het objectmodel aangewezen. Elk feit representeert een verwoording van een realistische relatie uit het gestelde domein. We nemen de analyse van fact1 als startpunt: VVV Ajax uit ronde 6 van de eredivisie van seizoen 2011 is in 2-2 geëindigd. Dit feit beschrijft een uitslag van een wedstrijd, ofwel het beschrijft de relatie tussen een wedstrijd en een uitslag. Voor de identificatie van een wedstrijd zijn er drie gegevens nodig: het thuisspelende team, het uitspelende team en de ronde waar deze wedstrijd bij hoort. Er vindt een stapsgewijze decompositie in de structuur van dit feit plaats. In fig 2 krijgt u enigszins een beeld hoe deze decompositie met behulp van de EQuA- objectmodeler in zijn werk gaat. De variabele onderdelen van het feit worden getypeerd (bijv. Team) en krijgen zo mogelijk een rolnaam (bijv. uitteam) toegewezen. De constante onderdelen reigen de variabele onderdelen als het ware aan elkaar. Na afloop van deze stapsgewijze verfijning kan het oorspronkelijke feit weer worden teruggenereerd 5. 5 De werkwijze bij feitdecompositie is in detail beschreven in: Frank Peeters, Frens Vonken. Objectgeoriënteerde domeinanalyse. Academic Service, pag 7

8 Figuur 2: decompositie van een feit Nadat de decompositie van fact1 is voltooid, zijn er inmiddels zeven nieuwe typen aan het objectmodel toegevoegd. Deze ziet u bovenaan in weergegeven. Merk op dat al deze typen met elkaar zijn gerelateerd; er bestaan geen solitaire typen. De werkwijze van het analyseren van feitelijke relaties komt de samenhang in het resulterende objectmodel vanaf het het allereerste begin tot aan het einde van de constructie ten goede. Figuur 3: de inmiddels gedecteerde typen Een object van een objecttype kan een rol bij een ander feit of object spelen. Een feit, dat geen object is, beschikt niet over die capaciteit. Daarom noemen we pag 8

9 UitslagWedstrijd een (puur) feittype. De andere zes typen uit figuur 3 zijn allemaal objecttypen 6. In fig 4 zijn de drie rollen met de bijbehorende restricties voor het geselecteerd objecttype Wedstrijd getoond. Restricties kunnen hier, weliswaar op een nogal een primitieve wijze, worden aangepast 7. Voor de vermelde feit- en objecttypen zijn de volgende restricties toegevoegd: Bij Wedstrijd zijn er twee uniciteitsconstraints over de eerste en derde rol (u7) en over de tweede en derde rol (u8) aangebracht, immers per ronde zal een team slechts één wedstrijd spelen; bij UitslagWedstrijd is aan de eerste rol een uniciteitsconstraint toegevoegd (een wedstrijd kent maar één uitslag) en is de navigatie vanuit de tweede rol vanuit Uitslag verbroken (een uitslag- object hoeft niet te weten bij welke wedstrijduitslag hij betrokken is); bij Wedstrijd is de Ronde- rol als parent- rol aangemerkt; bij Ronde worden de Wedstrijd- objecten beheerd. Dit zijn de enige aanpassingen die er voor de zeven typen hebben plaatsgevonden. Nu kan er standaardgedrag voor elk objecttype (=class) worden gegenereerd. Bij standaardgedrag denken we aan een constructor, getters en setters, zoekmethoden, methoden om objectlinks toe te voegen en te verwijderen en meer van zulks. Als voorbeeld is er aan de rechterzijde in de figuren 4 en 5 het automatisch gegenereerde standaardgedrag van achtereenvolgens de klassen Wedstrijd en Ronde af te lezen. De zes operaties (1 constructor, 4 properties met getters en/of setters en 1 methode) van Wedstrijd zullen waarschijnlijk nauwelijks een verrassing zijn. Voor Ronde zijn de tien gegenereerde operaties toch al een stuk minder triviaal (zie rechterzijde in fig 5). Dankzij deze automatiseringsslag wordt er de nodige ontwerptijd bespaard en wellicht belangrijker: de kwaliteit van het objectmodel verhoogd. 6 Harm van der Lek, Guido Bakema, Jan Piet Zwart. De Unificatie van Objecttypen en Feittypen Ter zijde: de GUI wordt dit najaar, m.b.v. een usability- analyse door een team van Fontys- studenten nader onder de loep genomen en, naar het zich laat aanzien, ingrijpend verbeterd. pag 9

10 Figuur 4: automatisch gegenereerd standaardgedrag voor het objecttype Wedstrijd Figuur 5: automatisch gegenereerd standaardgedrag voor het objecttype Ronde pag 10

11 Het objectmodel visualiseren Het objectmodel bevat een collectie object- en feittypen met bijbehorende constraints. Ook zijn in het objectmodel alle ingevoerde feiten en objecten terug te vinden. Zojuist is gedemonsteerd hoe u standaardgedrag van een klasse kunt genereren. Het standaardgedrag is voor de volle 100% berekenbaar uit het objectmodel 8. Ter wille van het overzicht is het gewenst om delen van een objectmodel in de vorm van een diagram te visualiseren. Er zijn twee manieren om een objectmodel te visualiseren: Class Diagram (CD) Object Role Diagram (ORD) Het klassendiagram voldoet aan de UML- specificaties. Aspecten als attributen, associaties, multipliciteit, rolnamen, overerving en operaties kunnen zichtbaar worden gemaakt. Bij het aanmaken van een klassendiagram moet de toolgebruiker aangeven welke objecttypen er in het nieuwe klassendiagram moeten worden opgenomen. Daarna kan er worden aangegeven waar elke klasse wordt gepositioneerd. De zojuist opgesomde aspecten worden vervolgens in het klassendiagram getoond. Dat gebeurt allemaal zoals men dat in een UML- tool is gewend, zie figuur 6 9. In dit figuur zijn de operaties even buiten beeld gebleven. Uiteraard kan men ook het gegenereerde gedrag in het klassendiagram zichtbaar maken. Dit gedrag komt exact overeen met datgene er in de voorgaande figuren is getoond. Dus wat dat betreft, is er niets nieuws onder de zon. Traceability Met klem wijzen we op het feit dat niet het klassendiagram het ontwerp bevat, maar dat het klassendiagram volledig aan het onderliggende objectmodel is ontleend. Het klassendiagram is niet meer dan een grafische view gebaseerd op informatie ontleend aan het objectmodel. Het beschreven objectmodel met zes objecttypen is op zijn beurt uit één enkel feit geconstrueerd. We brengen dit feit nogmaals onder uw aandacht: VVV Ajax uit ronde 6 van de eredivisie van seizoen 2011 is in 2-2 geeindigd. Op grond van dit enkele feit en het toevoegen van welgeteld vier extra constraints, is er een klassendiagram met zes klassen met eigenschappen en zesënveertig standaardoperaties ontstaan. Het vermelde feit is een bestanddeel uit het URS. In het objectmodel is deze relatie met dit requirement terug te vinden. Mocht er in de toekomst iets aan dit requirement fact1 worden gewijzigd dan zal er dankzij het metamodel nauwkeurig worden aangegeven 8 Ook het automatisch genereren van de bijbehorende programmacode (headers met complete bodies) lijkt geen al te groot probleem te zijn. 9 Dit klassendiagram is met behulp van Visual Paradigm Professional Edition opgesteld. Binnenkort biedt de Equa- objectmodeler een vergelijkbare functionaliteit, waarbij klassen aan het onderliggende objectmodel worden ontleend. pag 11

12 welke onderdelen uit het objectmodel speciale aandacht vergen. Deze traceability wordt consequent voor elk modelelement doorgevoerd. Figuur 6: het klassendiagram gebaseerd op de decompositie van fact1 Er bestaan binnen het metamodel geen modelelementen die niet aan ten minste één bron hun bestaansgrond ontlenen. Bij modelelementen is men vrij om verder te kijken dan onderdelen uit het objectmodel (objecttypen, feittypen, overerfrelaties, operaties). Ook use cases, scenario s en test cases vallen hieronder. Het objectroldiagram Naast het klassendiagram kunnen er ook zogenaamde objectroldiagrammen worden gegenereerd. Het ORD biedt de mogelijkheid om het objectmodel verder te configureren. Naast het verwerken van de constraints uit het URS krijgt de ontwerper de kans om andere aspecten te verfijnen en ingewikkelde relaties verder te modelleren. We verwijzen u naar bijlage 1 om een betere indruk te krijgen hoe een objectroldiagram eruit zal gaan zien. Name TypeExpression Het tool biedt de mogelijkheid om meta- regels te laten checken en te zijner tijd aanbevolen modeltransformaties te laten uitvoeren. Overigens alleen als het objectmodel door deze metacheck heen is gekomen, kunnen er pag 12

13 klassendiagrammen worden gegenereerd. Als het objectmodel niet in voldoende mate is uitgewerkt of het bevat zekere tegenstrijdigheden kan er geen klassendiagram worden getoond. Wel is het mogelijk om klassendiagrammen te genereren op basis van een onvolledige verzameling van verwerkte fact- requirements. Aan het tonen van ORD s is daarentegen geen beperking verbonden. Zij kunnen ook worden getoond als het objectmodel nog niet in een, voor het metamodel, acceptabele toestand is terechtgekomen. Het ORD is daarom een uitgelezen medium om het onderliggende objectmodel verder te configureren. Use cases Aan het begin van deze notitie is in fig 1 op schematische wijze de grote lijn van de gepropageerde werkwijze weergegeven. In dit schema is ook het usecasemodel (UCM) opgenomen. Er volgt nu een korte toelichting op de rol van dit model. Use cases behoren een gedetailleerder beeld op de beschreven functionaliteit in URS te geven 10. Aldaar zijn function- requirements beschreven. Deze globale beschrijvingen verdienen een detailuitwerking zodat de mogelijke mismatch tussen behoefte vanuit de klant en realisatie door de softwareontwikkelaars verder kan worden verkleind. Use Case 1 Verfijning van : func2 Status : goedgekeurd Naam : wedstrijd verplaatsen Actor: competitieleider Pre: er is een niet- gespeelde wedstrijd gepland Normal flow: 1. Actor kiest te verplaatsen wedstrijd 2. Actor vraagt aan systeem om agenda met geplande wedstrijddatums van betrokken teams 3. Actor stelt nieuwe toekomstige datum voor wedstrijd vast 4. Systeem voert wijziging van datum voor wedstrijd uit. 5. Systeem alerteert betrokken teams. Post: datum van wedstrijd is verplaatst Alternate flow: 3. Er is geen ruimte in de twee agenda s van de twee betrokken teams 1. Actor gaat eerst een of meer andere wedstrijden verplaatsen 2. Stap 1 van normal flow Figuur 7: de use case uitwerking behorende bij funct2 uit het URS In fig 7 is het functie- requirement funct2 van het URS in de vorm van een use case uitgewerkt. De use case is een prima intermediair tussen klant en requirement engineer. Voor de requirement engineer ontstaat hier bovendien een extra kans om de requirements uit het URS aan te scherpen of uit te breiden. De use case vormt een interface tussen klant en systeemontwerper. De ene zijde van de interface tussen klant en use case is zojuist aangestipt. Nu de andere kant: 10 In SysUML (zie wordt uitgebreid aandacht gegeven aan de traceability van modellen. Daarin wordt aangegeven hoe de koppeling tussen onder meer requirements, use cases en test cases etc kan worden gerealiseerd. pag 13

14 welke kansen biedt een use case met het oog op het conceptuele ontwerp? De systeemontwerper zal zich een beeld willen vormen van de scenario s die bij een use case horen. In een standaard use case wordt het systeem als een black box beschouwd. De systeemontwerper zal echter bij zijn analyse naar een white box voorstelling van het systeem overstappen. In deze ontwerpfase wordt het systeem door de bril van een conceptueel klassendiagram, of zo u wilt objectmodel, bezien. Zodra de systeemontwerper aan zijn scenario- analyse begint is dat klassendiagram reeds voor het overgrote deel ingevuld met klassen, associaties, attributen, overerfrelaties en operaties. De systeemontwerper zal de stappen uit een scenario met behulp van de instrumenten in het klassendiagram in kaart proberen te brengen. Tegenstrijdigheden en onvolkomenheden in het klassendiagram kunnen op deze wijze worden rechtgezet. Deze aanpassingen resulteren in wijzigingen van het onderliggende objectmodel. Normaliter beperken deze wijzigingen zich tot verfijning van het gedrag van een of meer objecttypen. Wijzigingen in eigenschappen van een objecttype zouden daarentegen eigenlijk via het pad van wijzigen van (fact- )requirements behoren te verlopen. In geval van gewijzigde fact- requirements, zal er een hernieuwde decompositie van de gewijzigde feiten plaatsvinden, waardoor het objectmodel vanuit de URS een wijziging ondergaat. Testen Interessant is te vermelden dat het automatisch genereren van testcases geen probleem hoeft te zijn zodra ook de normal en alternate flow scenario s zijn vastgelegd. De combinatie van de geanalyseerde feiten en de scenario s biedt immers een uitgelezen kans om een complete set met testscripts te genereren. De feiten uit het URS moeten dan wel met het oog van een test engineer zijn samengesteld. Behalve dat ze representatief zijn, horen de requirements ook de grensgevallen mee te nemen. Nawoord In deze uiteenzetting is een pleidooi gehouden voor een werkwijze waarin er vanuit requirements stapsgewijs een conceptueel klassendiagram wordt geconstrueerd. De werkwijze is voorbereid op de zich onherroepelijk wijzigende requirements. Hoe blijft met zo n dynamische input het ontwerp consistent. Er is aangegeven dat een groot deel van het klassendiagram geautomatiseerd is ingevuld. Deze automatiseringsslag biedt naast tijdwinst een verhoging van de kwaliteit van het conceptuele klassendiagram. Dankzij de beschreven automatisering van het creëren van standaardgedrag lijkt het genereren van bijbehorende programmacode en testscripts geen onoplosbare problemen op te leveren. Dat klinkt allemaal veelbelovend. Eigenlijk te mooi om waar te zijn. We moeten echter met een relativering eindigen. De kwaliteit van een objectmodel wordt voor een substantieel deel bepaald door de kwaliteit van de systeemontwerper die onder meer de decompositie van de feiten uitvoert. Een goede scholing en voldoende ervaring vormen een noodzakelijke voorwaarde. Men moet in voldoende mate zicht hebben op bad smells in de decompositie en de rest van het ontwerp. Met zo n scholing ontstaat er wel een ambacht dat op gestructureerde wijze kan worden aangeleerd en onderwezen. Een pag 14

15 systeemontwerper hoeft dan gelukkig minder terug te vallen op de gezond verstand werkwijze. Leerboeken over objectgeoriënteerd ontwerpen hoeven zich dan niet meer te bedienen van heuristieken die hun domeinanalyse starten met het inventariseren van zelfstandige naamwoorden, waarna er meestal een nogal moeizaam proces ontstaat naar een conceptueel klassendiagram, waarbij het lang duurt voordat men er een goed gevoel bij heeft. In hun boek over objectgeoriënteerde technologie 11 vermelden de schrijvers: Helaas bestaat er geen eenvoudige of eenduidige manier om een verzameling klassen voor een probleemdomein te identificeren. De kwaliteit van de domeinanalyse is sterk afhankelijk van de kennis, intuïtie, ervaring en vaardigheden van de ontwerper van het probleemdomein. Hopelijk gaat de in deze notitie gepropageerde werkwijze in deze leemte voorzien. 11 Zie paragraaf in: Curtis H.K. Tsang, Clarence S.W. Lau, Ying K.Leung. Objectgeoriënteerde Technologie, Van diagram naar code met Visual Paradigm for UML. Academic Service, pag 15

16 Bijlage 1: prototype of an object diagram Name FactType TypeExpression Supertype Name TypeExpression ObjectType Subtype TypeExpression constraints name type constraints name Role contains 2 or 3 departments constraints name ObjectTypey pe Role connector always ending at outside boundary of rounded box of objecttype. If name unknown, number should be shown. If type of is a basetype, connector is never shown. Width of departments depends on length of containing text? Roles and type expression may be hided. TypeExpression is filled with the object type expression, unless unknown, in that case the fact type expression should be shown. pag 16

ARE methodiek Het ontwikkelen van Informatie Elementen

ARE methodiek Het ontwikkelen van Informatie Elementen ARE methodiek Het ontwikkelen van Informatie Elementen WI1: Het opstarten van het project Milestone 1 WI2: Ontwikkel een Vison WI3: Modelleer het Business Domain WI4: Creëer een Glossary WI7: Beheer wijzigingen

Nadere informatie

case: toestandsdiagrammen

case: toestandsdiagrammen Hoofdstuk 13 case: toestandsdiagrammen In dit hoofdstuk wordt het maken van de eerste versie van de toestandsdiagrammen voor het boodschappensysteem van Hans en Jacqueline uitgewerkt. 13.1 Vind klassen

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

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

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

DATAMODELLERING BEGRIPPENBOOM

DATAMODELLERING BEGRIPPENBOOM DATAMODELLERING BEGRIPPENBOOM Inleiding In dit whitepaper wordt de datamodelleervorm begrippenboom inclusief de begrippenlijst beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.

Nadere informatie

Domeinmodellen en klassendiagrammen

Domeinmodellen en klassendiagrammen Overview Architectuur Deployment-diagram Software-architectuur 1 Architectuur Deployment-diagram Software-architectuur 2 3 Architectuur Architectuur Deployment-diagram Software-architectuur Webapplicatie

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

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

a. Wat wordt verstaan onder V&V? b. Uit welke kernactiviteiten bestaat V&V? c. Noem enkele voor- en nadelen van inspecties. d. Idem voor testen.

a. Wat wordt verstaan onder V&V? b. Uit welke kernactiviteiten bestaat V&V? c. Noem enkele voor- en nadelen van inspecties. d. Idem voor testen. Eindtoets T07351 Software engineering Een eindtoets staat in het algemeen model voor het tentamen van de betreffende cursus. Aangezien deze cursus een mondeling tentamen heeft, bevat deze eindtoets slechts

Nadere informatie

Subwerkgroep Methoden. Toelichting inhoud en voortgang tot nu toe

Subwerkgroep Methoden. Toelichting inhoud en voortgang tot nu toe SPIDER werkgroep Requirements Management Subwerkgroep Methoden Toelichting inhoud en voortgang tot nu toe donderdag 17 januari 2008 Frans van Veen Bert Dubbelman Robert van Lieshout Erwin Bolwidt Jan-Willem

Nadere informatie

DATAMODELLERING BASIS UML KLASSEMODEL

DATAMODELLERING BASIS UML KLASSEMODEL DATAMODELLERING BASIS UML KLASSEMODEL Inleiding In dit whitepaper wordt de datamodelleervorm basis UML klassemodel beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.

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

BRP-BZM Use Case Realisations Guidelines

BRP-BZM Use Case Realisations Guidelines BRP-BZM Use Case Realisations Guidelines Versie 2.0 02-09-2011 Definitief Versiehistorie Datum Versie Auteur 23-12-2010 0.1 Eerste versie R.F. Schaaf 04-01-2011 1.0 Feedback verwerkt R. Schaaf en D. Geluk

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

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

Die inputs worden op een gecontroleerde manier aangeboden door (test) stubs. De test driver zorgt voor de uiteindelijke uitvoering ervan.

Die inputs worden op een gecontroleerde manier aangeboden door (test) stubs. De test driver zorgt voor de uiteindelijke uitvoering ervan. Nota: Schrijf je antwoorden kort en bondig in de daartoe voorziene velden. De puntenverdeling is 2 punten per theorie-vraag en 8 punten per oefening. Het totaal is 40. Vraag 1. Er bestaan verschillende

Nadere informatie

Model Driven Software Development: Geen toekomst maar realiteit. 4 juni 2009, WTC, Amsterdam.

Model Driven Software Development: Geen toekomst maar realiteit. 4 juni 2009, WTC, Amsterdam. Model Driven Software Development: Geen toekomst maar realiteit. 4 juni 2009, WTC, Amsterdam. Welke hoort in dit rijtje niet thuis? Weg- en waterbouw Huizen- en kantoorbouw Stedenbouw Auto- en vliegtuigbouw

Nadere informatie

Factsheet CONTINUOUS VALUE DELIVERY Mirabeau

Factsheet CONTINUOUS VALUE DELIVERY Mirabeau Factsheet CONTINUOUS VALUE DELIVERY Mirabeau CONTINUOUS VALUE DELIVERY We zorgen ervoor dat u in elke volwassenheidsfase van uw digitale platform snel en continu waarde kunt toevoegen voor eindgebruikers.

Nadere informatie

DATAMODELLERING DATA MAPPING MODEL

DATAMODELLERING DATA MAPPING MODEL DATAMODELLERING DATA MAPPING MODEL Inleiding In dit whitepaper wordt de datamodelleervorm data mapping model beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen. Wil

Nadere informatie

Een Inleiding tot Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1

Een Inleiding tot Software Engineering. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 Een Inleiding tot Software Engineering Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 1 Slide 1 Software engineering De economie is compleet afhankelijk van software. Meer en meer systemen

Nadere informatie

case: use-case-diagram

case: use-case-diagram Hoofdstuk 9 case: use-case-diagram Dit hoofdstuk beschrijft de totstandkoming van de use-cases voor EasyShop, het maaltijdsysteem van Hans en Jacqueline. Het zijn de functionele systeemeisen die hier worden

Nadere informatie

Inhoud. Deel een Het ontwikkeltraject 13. Inleiding 11

Inhoud. Deel een Het ontwikkeltraject 13. Inleiding 11 5 Inhoud Inleiding 11 Deel een Het ontwikkeltraject 13 1 Werken binnen organisaties 15 1.1 Non-profit-organisatie 15 1.2 Profit-organisatie 16 1.3 Doelen 16 1.4 Rechtsvormen 16 Rechtspersoon 17 Persoonlijke

Nadere informatie

Duurzaam Product. Ecodesign methode van Tischner

Duurzaam Product. Ecodesign methode van Tischner Ecodesign methode van Tischner Omschrijving Stappenplan voor het ontwerpen van milieuvriendelijke producten. Het stappenplan is gebaseerd op gangbare methoden voor productontwerpen. Gebruik Het stappenplan

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

Handout. Hoe testers de kwaliteit van requirements kunnen beïnvloeden. Slechte requirements zijn overal. Testnet thema-avond Requirements.

Handout. Hoe testers de kwaliteit van requirements kunnen beïnvloeden. Slechte requirements zijn overal. Testnet thema-avond Requirements. Hoe testers de kwaliteit van requirements kunnen beïnvloeden Testnet thema-avond Slechte requirements zijn overal 2 Pagina 1 En dan heb je goede requirements 3 proces proces ontwikkeling validatie management

Nadere informatie

Software Engineering Groep 3

Software Engineering Groep 3 Software Engineering Groep 3 Post Mortem Review 1 Kristof Van Moffaert (QA Manager) 3 e Bachelor Computerwetenschappen Kristof.Van.Moffaert@vub.ac.be se3@tinf.vub.ac.be 22 februari 2009 Document geschiedenis

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

Plan van Aanpak Afstuderen

Plan van Aanpak Afstuderen Plan van Aanpak Afstuderen Michiel Graat 27-09-2005 Inhoudsopgave 1 Inleiding 3 1.1 Terminologie............................. 3 1.2 Opdracht............................... 4 1.3 JavaCard...............................

Nadere informatie

Uitdagingen performancetesten in een Agile omgeving Best Practices & Demo

Uitdagingen performancetesten in een Agile omgeving Best Practices & Demo Uitdagingen performancetesten in een Agile omgeving Best Practices & Demo Henrik Rexed & Joerek van Gaalen Voorstellen Joerek van Gaalen Performancetest specialist sinds 2005 Sinds 2014 CTO Computest Voorstellen

Nadere informatie

Use-Case 2.0. Requirements Kenniscentrum 15 November 2012. Eric Lopes Cardozo elcardozo@ivarjacobson.com

Use-Case 2.0. Requirements Kenniscentrum 15 November 2012. Eric Lopes Cardozo elcardozo@ivarjacobson.com Use-Case 2.0 Requirements Kenniscentrum 15 November 2012 Eric Lopes Cardozo elcardozo@ivarjacobson.com Agenda Use cases: Een korte geschiedenis Waarom nog steeds use cases gebruiken? Waarom Use-Case 2.0?

Nadere informatie

Oplossingsvrij specificeren

Oplossingsvrij specificeren Oplossingsvrij specificeren ir. J.P. Eelants, projectmanager Infrabouwproces CROW Samenvatting De methodiek van oplossingsvrij specificeren richt zich niet alleen op het formuleren van functionele eisen.

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

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

Inhoud. Introductie tot de cursus

Inhoud. Introductie tot de cursus Inhoud Introductie tot de cursus 1 Plaats en functie van de cursus 7 2 Inhoud van de cursus 8 2.1 Voorkennis 8 2.2 Leerdoelen 8 2.3 Opbouw van de cursus 8 2.4 Leermiddelen 9 3 Aanwijzingen voor het bestuderen

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

Voor en nadelen (spatieel) gedistribueerd

Voor en nadelen (spatieel) gedistribueerd Voor en nadelen (spatieel) gedistribueerd Centraal Dynamische regelbaarheid Gedistribueerd Communicatie hogere systeemlagen Communicatie lagere systeemlagen Fouttolerantie Faalgedrag Schaalbaarheid Complex

Nadere informatie

Webdesign voor ondernemers

Webdesign voor ondernemers e-boek Webdesign voor ondernemers Veelgestelde vragen over het laten maken van een website Bart van den Bosch Inhoud 1. Zelf doen of uitbesteden? 4 2. Webdesigners 7 3. Wat is Wordpress 10 4. Maken van

Nadere informatie

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl

Excel reader. Beginner Gemiddeld. bas@excel-programmeur.nl Excel reader Beginner Gemiddeld Auteur Bas Meijerink E-mail bas@excel-programmeur.nl Versie 01D00 Datum 01-03-2014 Inhoudsopgave Introductie... - 3 - Hoofdstuk 1 - Databewerking - 4-1. Inleiding... - 5-2.

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

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

Bijlage 9. UNI 120621.9 REB GD. Releasebeleid

Bijlage 9. UNI 120621.9 REB GD. Releasebeleid Releasebeleid Ondanks alle aan de samenstelling van de tekst bestede zorg, kan Newway Retail Solutions bv (Newway) géén enkele aansprakelijkheid aanvaarden voor eventuele directe en/of indirecte schade,

Nadere informatie

Rapport over het werkprofiel van Software engineer (sr)

Rapport over het werkprofiel van Software engineer (sr) Rapport over het werkprofiel van Software engineer (sr) Identificatienummer: Publicatiedatum: 19 november 2015 Leeswijzer Dit rapport omschrijft het werkprofiel van 'Software engineer (sr)' zoals die door

Nadere informatie

bedrijfsprocessen en vormt daarmee de kapstok voor de producten van andere disciplines. Het PAM is geen RUP concept.

bedrijfsprocessen en vormt daarmee de kapstok voor de producten van andere disciplines. Het PAM is geen RUP concept. 1. 1.1. Inleiding Doel De Requirementdiscipline richt zich op het vaststellen en vastleggen van de eisen en wensen die aan een oplossing worden gesteld: de requirements. Rollen De keyrol binnen deze discipline

Nadere informatie

Website van het openbaar ministerie Korte gebruikershandleiding voor Content Managers

Website van het openbaar ministerie Korte gebruikershandleiding voor Content Managers Website van het openbaar ministerie Korte gebruikershandleiding voor Content Managers De website van het openbaar ministerie is momenteel (tijdelijk) te vinden op volgende intranetadres: http://10.241.132.229.

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

Opzetten object - overzicht

Opzetten object - overzicht Opzetten object - overzicht In deze tutorial wordt in grote stappen aangegeven wat er voor nodig is om een volledig nieuw product op te zetten in i-reserve. De stappen zijn onderverdeeld in zes stukken,

Nadere informatie

Inhoudsopgave 1. Opdrachtformulering Beschouwingsgebied Binnen de opdracht Buiten de opdracht

Inhoudsopgave 1. Opdrachtformulering Beschouwingsgebied Binnen de opdracht Buiten de opdracht Test rapport Dit document beschrijft de testopdracht voor het Nederlands Kampioenschap software testen 2017. De website Fructasys (Software Under Test SUT) is een totaal backoffice pakket waarmee je bestellingen

Nadere informatie

Van persona s en scenario s naar wireframes. Lay-out met grid

Van persona s en scenario s naar wireframes. Lay-out met grid Interaction Design Van persona s en scenario s naar wireframes Lay-out met grid Louis Klomp LHJ.Klomp@windesheim.nl X8.10 / X7.96 Tel (088-469) 9908 Wat gaan we doen deze week? Persona s Scenario s Conceptueel

Nadere informatie

notitie Systems Engineering Lesplan Requirements Engineering (RE) Werkgroep opleidingen Definitief; vastgesteld Stuurgroep 4P

notitie Systems Engineering Lesplan Requirements Engineering (RE) Werkgroep opleidingen Definitief; vastgesteld Stuurgroep 4P notitie Van project onderwerp opgemaakt door Systems Engineering Lesplan Requirements Engineering (RE) Werkgroep opleidingen status datum opmaak 20-7-2012 bijlagen Definitief; vastgesteld Stuurgroep 4P

Nadere informatie

Testomgevingen beheer

Testomgevingen beheer Testomgevingen beheer Testen brengt het verwachte resultaat en de huidige toestand bij elkaar. Het geeft aanknopingspunten om de planning te maken, het product te verbeteren en om zorgen bij belanghebbenden

Nadere informatie

1. Over LEVIY 5. Openen van de activiteit 2. Algemene definities 6. Inloggen op het LEVIY dashboard 3. Inloggen 6.1 Overzichtspagina 3.

1. Over LEVIY 5. Openen van de activiteit 2. Algemene definities 6. Inloggen op het LEVIY dashboard 3. Inloggen 6.1 Overzichtspagina 3. Versie 1.0 05.03.2015 02 1. Over LEVIY Wat doet LEVIY? 08 5. Openen van de activiteit Hoe wordt de activiteit geopend? 2. Algemene definities Behandelen van terugkerende definities. 09 6. Inloggen op het

Nadere informatie

OOAA. Object Oriented Analysis Advanced. Arie Bubberman 12/10/2009

OOAA. Object Oriented Analysis Advanced. Arie Bubberman 12/10/2009 OOAA Object Oriented Analysis Advanced Arie Bubberman 12/10/2009 Contents 1 Analyse...3 Kiezen van een ontwikkelproces...3 Agile Methoden...3 Deelprocessen in het OO-ontwikkelproces...Fout! Bladwijzer

Nadere informatie

Gebruikershandleiding. StUF Testplatform Versie 1.3.0

Gebruikershandleiding. StUF Testplatform Versie 1.3.0 Gebruikershandleiding StUF Testplatform Versie 1.3.0 Documentversie: 0.7 Datum 25 november 2014 Status In gebruik Inhoudsopgave 1 INLEIDING...3 2 GEBRUIK MAKEN VAN HET STUF TESTPLATFORM...4 2.1 INLOGGEN

Nadere informatie

Reglement periode kampioenschappen Eerste Divisie betaald voetbal seizoen 2015/'16

Reglement periode kampioenschappen Eerste Divisie betaald voetbal seizoen 2015/'16 KONINKLIJKE NEDERLANDSE VOETBALBOND BETAALD VOETBAL Reglement periode kampioenschappen Eerste Divisie betaald voetbal seizoen 2015/'16 29 juli 2015 knvb.nl 1. De competitie in de Eerste Divisie kent vier

Nadere informatie

Handleiding RoosterGenerator

Handleiding RoosterGenerator Inleiding Handleiding RoosterGenerator, deel II Handleiding RoosterGenerator Deel II: Aan de slag met RoosterGenerator De module RoosterGenerator is bedoeld als aanvulling op het maken van een competitie

Nadere informatie

Vrijeplanning. 2005 WisseQ WoWie

Vrijeplanning. 2005 WisseQ WoWie 1 ISS Handleiding Inhoudsopgave Voorwoord 1 2 0 ISS 1 Voorwoord ISS staat voor Informatie Systeem Sportorganisaties. ISS is een zeer compleet softwarepakket om op efficiënte en eenvoudige manier de administratieve

Nadere informatie

Business Workflow innovaties in SAP S/4 HANA

Business Workflow innovaties in SAP S/4 HANA Business Workflow innovaties in SAP S/4 HANA Op dit moment vindt er wereldwijd een technologie gebaseerde bedrijfsrevolutie plaats die op het eerste gezicht geen grenzen kent. Met zeer grote snelheid worden

Nadere informatie

CORA 1.0 Bedrijfs- en ICT-referentiearchitectuur voor woningcorporaties

CORA 1.0 Bedrijfs- en ICT-referentiearchitectuur voor woningcorporaties CORA 1.0 Bedrijfs- en ICT-referentiearchitectuur voor woningcorporaties Hoe zorgen we ervoor dat we nieuwe diensten en producten soepel in onze bedrijfsvoering op kunnen nemen? Hoe geven we betere invulling

Nadere informatie

Agenda. Introductie Aan het werk Conclusie / restrospective

Agenda. Introductie Aan het werk Conclusie / restrospective Agenda Introductie 13.45 14.30 Aan het werk 14.30 16.30 Conclusie / restrospective 16.30 17.00 Introductie High performance Testing Voorstellen Waar ben je echt goed in (3 minuten) Teams vormen op basis

Nadere informatie

Plan van aanpak Toogle

Plan van aanpak Toogle Plan van aanpak Toogle Gemaakt door, Kevin Donkers Paul v.d. Linden Paul Eijsermans en Geert Tapperwijn 1 Inhoudsopgave 1 Inhoudsopgave...2 2 Inleiding...3 3 Projectopdracht...4 4 Projectactiviteiten...5

Nadere informatie

GAMP Toegepast op de DeskTopXorter Besturing DeskTopXorter

GAMP Toegepast op de DeskTopXorter Besturing DeskTopXorter GAMP Toegepast op de DeskTopXorter Besturing DeskTopXorter 2 Opdrachtgever : Opdrachtnemers : Ing. P. van den Berg Michel van Reenen Thijs Mommen GAMP Toegepast op de DeskTopXorter Besturing DeskTopXorter

Nadere informatie

Module 1 Programmeren

Module 1 Programmeren Module 1 Programmeren Programmeertalen 13 1.1 Inleiding 13 1.2 Programmeertalen in historisch perspectief 13 1.2.1 Machinecode 13 1.2.2 Assembleertalen (assembly) 14 1.2.3 Hogere programmeertalen 15 1.2.4

Nadere informatie

Rapport over de functie van Dirk Demo

Rapport over de functie van Dirk Demo Rapport over de functie van Dirk Demo Publicatiedatum: 14 februari 2014 Leeswijzer Dit rapport omschrijft de functie van 'Dirk Demo' zoals die door The PeopleFactory - Demo omgeving is vastgesteld en geeft

Nadere informatie

Satisfy the real (and changing) customer expectation

Satisfy the real (and changing) customer expectation Han Duisterwinkel Test & Quality competence RUP competence LogicaCMG Nederland B.V. Eemsgolaan 1 P.O. Box 70237 9704 AE Groningen The Netherlands www.logicacmg.com @logicacmg.com

Nadere informatie

Application interface. service. Application function / interaction

Application interface. service. Application function / interaction Les 5 Het belangrijkste structurele concept in de applicatielaag is de applicatiecomponent. Dit concept wordt gebruikt om elke structurele entiteit in de applicatielaag te modelleren: softwarecomponenten

Nadere informatie

Waardecreatie is niet langer gebonden aan tijd, plaats en middelen:

Waardecreatie is niet langer gebonden aan tijd, plaats en middelen: Waardecreatie is niet langer gebonden aan tijd, plaats en middelen: Software voor het ontwikkelen en activeren van een sterk merk. Online Branding Software Wazokuu! Online Branding is software die de belangrijkste

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

Centrale label management systemen

Centrale label management systemen Centrale label management systemen Data-driven versus layout-driven label management Datum: 03-november-2010 Auteur: Jack de Hamer M.Sc. Versie: 2.1 Status: Final Pagina 1 van 7 Introductie Simpel gezegd

Nadere informatie

Titel, samenvatting en biografie

Titel, samenvatting en biografie Titel, samenvatting en biografie \ Peter Wanders De Black Box Dialog methode Voorjaarsevent Testnet: 22 juni 2009 Samenvatting Nog nooit heb ik heb een klant horen zeggen: Enorm vervelend dat het IT project

Nadere informatie

Een gebruiksvriendelijk dashboard voor leerlingen en docenten

Een gebruiksvriendelijk dashboard voor leerlingen en docenten UXkids case study: Een gebruiksvriendelijk dashboard voor leerlingen en docenten Keywords: Muiswerk, Oefensoftware, User tests, Focusgroepen, Usability, UX, Leerlingen 13-15 jaar, Docenten. Het onderwijslandschap

Nadere informatie

Product Quality Management, onze toekomst René Tuinhout

Product Quality Management, onze toekomst René Tuinhout Product Quality Management, onze toekomst René Tuinhout Agenda No. 2 1 Tijdsindeling Binnen TestNet is gesproken over Product Kwaliteit (in 2011 en tijdens de Summerschool 2012). Een TestNet-werkgroep

Nadere informatie

MSO Eindproject. 17 Oktober 2015

MSO Eindproject. 17 Oktober 2015 MSO Eindproject 17 Oktober 2015 Inleiding De naam Mankala staat voor een familie van bordspelen die voornamelijk bekend zijn in Afrika, het Midden-oosten, Azië, en het Caraïbische gebied. Het spel komt

Nadere informatie

Rapportage workfl ow

Rapportage workfl ow Rapportage workflow Rapportage registratie workflow C.G.A.M Wessels Introductie Workflow management (WFM) staat voor de automatisering van bedrijfsprocessen en werkstromen (regels, procedures en processen)

Nadere informatie

Welkom! Christiane Buschman (IND) Cornelie Kagenaar (IND) Rosalie van Oostrom (Juris) Tim Klein Robbenhaar (Juris)

Welkom! Christiane Buschman (IND) Cornelie Kagenaar (IND) Rosalie van Oostrom (Juris) Tim Klein Robbenhaar (Juris) Welkom! Christiane Buschman (IND) Cornelie Kagenaar (IND) Rosalie van Oostrom (Juris) Tim Klein Robbenhaar (Juris) Agenda Voorbereiding Doelstellingen Wat doet Juridische Analyse en Begrippen (JA&B) De

Nadere informatie

Cover Page. The handle holds various files of this Leiden University dissertation.

Cover Page. The handle  holds various files of this Leiden University dissertation. Cover Page The handle http://hdl.handle.net/1887/41339 holds various files of this Leiden University dissertation. Author: Karasneh, B.H.A. Title: An online corpus of UML Design Models : construction and

Nadere informatie

Samenwerken aan goede requirements met UXinstrumenten

Samenwerken aan goede requirements met UXinstrumenten UX Samenwerken aan goede requirements met UXinstrumenten Samenwerking is vaak de sleutel om te komen tot IT-oplossingen waar mensen blij van worden. Als UX Lead bij spir-it (het ICT-bedrijf voor de rechtspraak)

Nadere informatie

ALL-CRM Gebruikershandleiding AC-DataCumulator

ALL-CRM Gebruikershandleiding AC-DataCumulator ALL-CRM Gebruikershandleiding AC-DataCumulator Author: Bas Dijk Date: 23-04-2013 Version: v1.2 Reference: 2013, All-CRM 1 Inhoudsopgave 1 Inhoudsopgave 2 2 Inleiding 3 3 Gebruikershandleiding Windows Forms

Nadere informatie

Architectuurredeneermodel Afgewogen keuzes maken

Architectuurredeneermodel Afgewogen keuzes maken Architectuurredeneermodel Afgewogen keuzes maken Robert Deckers SASG okt 2012 v3 Architectuur: technologie in perspectief Klantbehoefte Toepassing Systeem T 2 Vele wegen die naar ergens leiden Bewuste

Nadere informatie

Programmaraad. Gebruikersevaluatie DSO-LV kwartaalresultaten

Programmaraad. Gebruikersevaluatie DSO-LV kwartaalresultaten Programmaraad Programmaraad Beslisnotitie Contactpersoon Wimfred Grashoff Onderwerp Gebruikersevaluatie DSO-LV kwartaalresultaten Agendanummer 5.0 Akkoord indiener Kristel Lammers Actiehouder Wimfred Grashoff

Nadere informatie

PROJECT PLAN VOOR DE IMPLEMENTATIE VAN EEN STANDAARD SITE VOOR DE VERENIGING O3D

PROJECT PLAN VOOR DE IMPLEMENTATIE VAN EEN STANDAARD SITE VOOR DE VERENIGING O3D PROJECT PLAN VOOR DE IMPLEMENTATIE VAN EEN STANDAARD SITE VOOR DE VERENIGING O3D Auteur : P. van der Meer, Ritense B.V. Datum : 17 juli 2008 Versie : 1.3 2008 Ritense B.V. INHOUD 1 VERSIEBEHEER...1 2 PROJECT

Nadere informatie

Systems Engineering en de Modelgebaseerde aanpak. Eric Burgers

Systems Engineering en de Modelgebaseerde aanpak. Eric Burgers Systems Engineering en de Modelgebaseerde aanpak Eric Burgers 2 Context: Toepassing MBSE in tunnelprojecten Modelprecisie / formaliteit LST 1.2 LST 1.1 Nijverdal (2011) SysML Statisch model Dynamisch model

Nadere informatie

Handleiding voor het lezen van processen

Handleiding voor het lezen van processen Handleiding voor het lezen van processen Algemeen... 2 Gebruikte objecten in een processchema (EPC)... 2 arissen en Organisaties... 2 Trigger... 3 Processtappen... 3 Connectoren... 4 Einde Proces... 4

Nadere informatie

Het belang van. Data Modellering. GEMINIT Training. Data Modellering. Frédéric BARBIER

Het belang van. Data Modellering. GEMINIT Training. Data Modellering. Frédéric BARBIER Het belang van Data Modellering Studiedag Informatiemanagement Politeia, 22 februari 2013, Gent Open data en de cloud: een revolutie in de informatiehuishouding van de overheid Training Data Modellering

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

Ticon. De volgende generatie projectmanagement

Ticon. De volgende generatie projectmanagement De volgende generatie Optimaal Het virtueel bouwproces model binnen de GWW Virtueel bouwproces model Het fundament van Ticon is het Virtueel bouwproces model. Dit datamodel is een collectie van alle projectgegevens

Nadere informatie

Uitgebreid eindwerkvoorstel Lokaliseren van personen en objecten met behulp van camera s

Uitgebreid eindwerkvoorstel Lokaliseren van personen en objecten met behulp van camera s Uitgebreid eindwerkvoorstel Lokaliseren van personen en objecten met behulp van camera s Sofie De Cooman 21 December 2006 Stagebedrijf: Interne begeleider: Externe begeleider: BarcoView Koen Van De Wiele

Nadere informatie

Plug and Play in de machinebouw. Zelf configurerende machines

Plug and Play in de machinebouw. Zelf configurerende machines Plug and Play in de machinebouw Zelf configurerende machines Kort voorstellen IMS ontwikkelt hightech productielijnen 80 professionals Productielijnen voor hoog volume samengestelde producten Uniek, schaalbaar

Nadere informatie

HOGESCHOOL ROTTERDAM

HOGESCHOOL ROTTERDAM HOGESCHOOL ROTTERDAM IAN02 - Informatie-analyse (objectgeoriënteerde analyse) M O D U L E W I J Z E R I A N 0 2 1 V A N 1 5 Modulecode: IAN02 Modulenaam: Informatieanalyse 2 Belasting (aantal cp): 2 Bestemd

Nadere informatie

ABN AMRO Verzekeringen Project: Documentbeheer Verzekeringen

ABN AMRO Verzekeringen Project: Documentbeheer Verzekeringen Opdrachtformulering Het in kaart brengen van de structuur achter verzekeringsdocumenten met het doel deze op een efficiënte manier productief te maken in een daarvoor te realiseren tool. De applicatie

Nadere informatie

De brug tussen requirement engineer en gebruiker

De brug tussen requirement engineer en gebruiker De brug tussen requirement engineer en gebruiker Gerlof Hoekstra Even kennismaken Senior testconsultant / product manager In de ICT sinds 1985 Sinds 1993 testen/kwaliteitszorg Opdrachtgevers Postbank KPN

Nadere informatie

Handleiding competitie.nevobo.nl

Handleiding competitie.nevobo.nl De competitiewebsite, welke via http://competitie.nevobo.nl/ te bereiken is, wordt steeds belangrijker in de volleybalcompetities van de Nevobo. In dit document vindt u informatie over de werking van deze

Nadere informatie

DATAMODELLERING ARCHIMATE DATAMODELLERING

DATAMODELLERING ARCHIMATE DATAMODELLERING DATAMODELLERING ARCHIMATE DATAMODELLERING Inleiding In dit whitepaper wordt de datamodelleervorm ArchiMate datamodellering beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.

Nadere informatie

CURRICULUM PLANNING SCENARIO S TON PEETERS, DICK KAMPMAN

CURRICULUM PLANNING SCENARIO S TON PEETERS, DICK KAMPMAN CURRICULUM PLANNING SCENARIO S TON PEETERS, DICK KAMPMAN INTRODUCTIE Er komen steeds meer studenten op de opleiding Biologie af. Dit heeft als gevolg dat de zaalreserveringen en planning van docenten en

Nadere informatie

Hoorcollege 1 datavisualisatie 21-11-12

Hoorcollege 1 datavisualisatie 21-11-12 Hoorcollege 1 21-11-12 docenten! http://vimeo.com/31244010#at=10 hoorcollege 1 introductie HVA CMD V2 21 november 2012!! justus sturkenboom! j.p.sturkenboom@hva.nl! yuri westplat! y.westplat@hva.nl! vandaag

Nadere informatie

Whitepaper. Outsourcing. Uitbesteden ICT: Wat, waarom, aan wie en hoe? 1/6. www.nobeloutsourcing.nl

Whitepaper. Outsourcing. Uitbesteden ICT: Wat, waarom, aan wie en hoe? 1/6. www.nobeloutsourcing.nl Uitbesteden ICT: Wat, waarom, aan wie en hoe? 1/6 Inhoud Uitbesteden ICT: Wat, waarom, aan wie en hoe? 3 Relatie tussen ICT en 3 Outsourcen ICT: Wat? 3 Cloud Services 3 Service Level Agreement 3 Software

Nadere informatie

Tentamen Systeemontwikkeling 1 (I00100)

Tentamen Systeemontwikkeling 1 (I00100) Tentamen Systeemontwikkeling 1 (I00100) 26 januari 2004, 10:30 12:30 Naam: Studentnummer: Noteer op dit tentamen als eerste je naam en studentnummer Er mogen geen boeken, aantekeningen, etc. worden geraadpleegd

Nadere informatie

Vraag 1. Vraag 1a TERUGKOPPELING PROEFTENTAMEN. Software architecture

Vraag 1. Vraag 1a TERUGKOPPELING PROEFTENTAMEN. Software architecture Software architecture IM0203 TERUGKOPPELING PROEFTENTAMEN Vraag 1 Vraag 1a Veel van de in het werkboek besproken patterns kunnen ingezet worden voor het referentiesysteem. We lopen de patterns hier stuk

Nadere informatie

Uitgebreide implementatieondersteuning

Uitgebreide implementatieondersteuning Uitgebreide implementatieondersteuning Overstappen op een nieuw leermiddel of een digitaal concept brengt altijd enige onzekerheid met zich mee. Om deze onzekerheid te minimaliseren begeleidt ThiemeMeulenhoff

Nadere informatie