case: applicatie- en implementatiemodellen
|
|
- Stijn van Doorn
- 7 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Hoofdstuk 17 case: applicatie- en implementatiemodellen In dit hoofdstuk wordt het maken van de applicatie- en implementatieversies van de diagrammen voor EasyShop, het maaltijdsysteem van en, uitgewerkt Start van applicatiestadium Op dit moment lijken de diagrammen voor EasyShop een redelijke mate van stabiliteit te hebben. We kunnen nu overgaan naar het volgende stadium, mits we beslissingen hebben genomen over een aantal zaken: Hergebruik In EasyShop zal geen enkele domeinklasse worden hergebruikt, aangezien dergelijk klassen niet voorhanden zijn. Wel wordt een bibliotheek gebruikt om de grafische userinterface mee te ontwikkelen. Verder ligt het niet in de bedoeling om in het kader van EasyShop herbruikbare klassen te ontwikkelen. Keuze van ontwikkelomgeving De programmeertaal waarin het systeem geschreven zal worden is Java. De ontwikkelomgeving wordt een PC met daarop een gratis beschikbare Java-editor. Gegevensbeheer We besluiten tot een eenvoudige opslagstructuur, namelijk in ASCII-files. Elke Week zal gegevens wegschrijven naar een eigen file. Elk Recept staat in een eigen file. Het Kookboek heeft een file waarin de namen van de beschikbare recepten zijn opgenomen. De Voorraadkast heeft een file waarin alle gegevens over de voorraad staan. Verder zullen alle gegevens over alle Personen in één file opgenomen worden. Dit kan omdat de verwachting is dat het aantal personen klein zal blijven Integreer informatie in klassediagram De eerste stap in deze volgende fase is het integreren van de informatie in alle diagrammen in het klassediagram. Met het maken van de dynamische diagrammen is een groot aan- 185
2 praktisch uml tal keuzes gemaakt over de klassen en hun verantwoordelijkheden. Deze keuzes worden gebruikt om het klassediagram in een nieuwe iteratieslag uit te breiden en te verbeteren Controleer klassen en associaties Afgezien van de klasse Bestelling zijn in de dynamische diagrammen van EasyShop geen nieuwe klassen geïdentificeerd. De klasse Bestelling is al toegevoegd aan het klassediagram. Toch gaan we nog een klasse toevoegen. Wanneer er namelijk een bepaald ingrediënt in voorraad is, en ook in bestelling is, en die bestelling komt binnen, dan willen we de voorraad op de juiste wijze updaten. Hiervoor moeten we weten dat het hierbij gaat om in wezen hetzelfde ingrediënt, hoewel in de voorraad en in de bestelling twee verschillende Ingrediënt-objecten bestaan. Daartoe introduceren we een klasse IngrediëntSoort, met als attributen de van het ingrediënt, het type (diepvries, vers), de eenheid waarin het verkocht wordt (liters, grammen, stuks). Elk Ingrediënt-object verwijst nu naar een IngrediëntSoort-object en daarmee hebben we dit probleem opgelost. In feite hebben we hier een verbetering van ons domeinklassemodel, door het toevoegen van een nieuwe domeinklasse Leid attributen uit de dynamische diagrammen af Bij het afleiden van attributen uit de dynamische diagrammen moeten we ons beperken tot het enige toestandsdiagram, dat van Bestelling. Bij deze klasse is een attribuut toestand nodig om de toestand waarin een Bestelling-object zich bevindt te kunnen identificeren Voeg operaties aan het klassediagram toe Zoals gewoonlijk hebben ook in deze case de dynamische diagrammen veel nieuwe operaties en extra informatie over bekende operaties, zoals parameters, opgeleverd. Volgens de regels voor koppeling van de diagrammen (uit 16.4) hebben we in hoofdstuk 11 de events uit de sequence- en communicatiediagrammen omgezet in operaties. Extra operaties die we op dit moment kunnen toevoegen zijn operaties op basis van het toestandsdiagram van Bestelling: wijzigitem voegtoeitem verstuur ontvangen Verder moeten we op dit moment beslissen hoe we de lijst met Personen die binnen het systeem bekend zijn, gaan opslaan. In hebben we al aangegeven dat we dit kunnen doen door middel van een klasseattribuut en een klasseoperatie bij de klasse Persoon of door middel van een lijst in de Userinterface. We kiezen ervoor om de klasse Persoon deze verantwoordelijkheid te geven. 186
3 ho ofdstuk 17 case: applicatie- en implementatiemodellen Week nummer toonweekschema() 7 Dag aantalmaaltijden datum Maaltijd type : MaaltijdType heeftreceptnodig tijd : Tijdstip Bestelling toestand: BestelToestand aanwezigen Persoon allepersonen type kok Recept bereidingswijze bereidingstijd moeilijkheidsgraad wijzigitem() voegtoeitem() verstuur() ontvangen() vindpersoon() Supermarkt faxnummer voorkeuren Voorkeur maaltijdtype Kookboek zoekrecept() Voorraadkast doebestelling() ontvangbestelling() vermindervoorraad() voorraad «self» Ingredient hoeveelheid MaaltijdType warm koud benodigdheden IngrediëntSoort type eenheid «enumeration» «enumeration» BestelToestand voorlopig verstuurd ontvangen Figuur 17-1 Vijfde versie klassediagram voor EasyShop 187
4 praktisch uml Completeer het klassediagram Figuur 17 1 bevat het klassediagram waarin de nieuwe attributen en operaties zijn opgenomen Voeg details toe In deze stap gaan we de klassen die tot op dit moment herkend zijn en in het klassediagram gevoegd zijn detailleren Ontwerp associaties Associaties worden in onze case allemaal in één richting gebruikt. In figuur 17 2, aan het eind van dit hoofdstuk, zijn alle associaties met hun richting opgenomen Ontwerp attributen Tijdens het ontwerp van de attributen wordt voor alle attributen bij de klassen het type bepaald. De types die in EasyShop gebruikt worden zijn over het algemeen standaardtypes zoals Integer en String. Het type van het attribuut tijd bij Maaltijd is daarop een uitzondering. We hebben een utilityklasse Tijdstip nodig. Deze moet worden toegevoegd aan het model. In figuur 6 2 staat een dergelijke klasse. Dit is typisch een klasse die uit een klassebibliotheek gehaald kan worden Ontwerp operaties Alleen voor de klasse Bestelling is een toestandsdiagram gemaakt. Uit dit diagram kunnen we pre- en postcondities voor enkele operaties van deze klasse afleiden. Preconditie bij de operatie verstuur is dat het object in de toestand voorlopig is. Postconditie bij deze operatie is naast het feit dat een fax verstuurd is natuurlijk ook dat het object in de toestand verstuurd is. Deze pre- en postcondities kunnen met behulp van OCL vastgelegd worden. context Bestelling::verstuur() pre : self.toestand = BestelToestand::voorlopig post: self.toestand = BestelToestand::verstuurd In [Warmer2003] wordt uitgebreid ingegaan op het gebruik van OCL voor pre- en postcondities. Het vaststellen van de condities voor de overige operaties laten we als oefening aan de lezer over. 188
5 ho ofdstuk 17 case: applicatie- en implementatiemodellen Overerving Met de huidige informatie hoeven de overervingsrelaties niet aangepast te worden OCL-constraints In deze stap beslissen we hoe we de constraints die in hoofdstuk 7 voor EasyShop zijn aangegeven, zullen implementeren. We hebben de volgende constraints geïdentificeerd: 1. context Voorraadkast inv: Voorraadkast.allInstances()->size() <= 1 2. context Kookboek inv: Kookboek.allInstances()->size() <= 1 3. context Maaltijd inv: aanwezigen->includes( kok ) 4. context Maaltijd inv: kok->notempty() implies recept->notempty() and recept->notempty() implies kok->notempty() 5. context Dag inv: Dag::aantalMaaltijden = maaltypen->size() 6. context Persoon inv: voorkeur->size() = Dag::aantalMaaltijden 7. context Persoon inv: voorkeur.maaltijdtype = voorkeur.maaltijdtype->asset() 8. context Bestelling inv: if toestand = BestelToestand::voorlopig then supermarkt->isempty() else supermarkt->notempty() endif 9. context Voorraadkast inv: bestelling->select( toestand <> BestelToestand::ontvangen)->size() <=1 189
6 praktisch uml De eerste twee constraints implementeren we met behulp van het singleton pattern, zie hiervoor De derde constraint implementeren we door een controle in te bouwen in de operatie zetkok(p: Persoon) van Maaltijd. De vierde constraint implementeren we door eenzelfde soort controle in de operatie zetkok op het bekend zijn van een Recept. Dit betekent dat we altijd eerst een recept bekend moeten maken en daarna de kok. De vijfde constraint implementeren we door bij de creatie van een Dag-object tegelijkertijd alle benodigde Maaltijd-objecten te creëren. Vervolgens staan we het afzonderlijk weggooien van Maaltijd-objecten (dus zonder het bijbehorende Dag-object weg te gooien) niet toe. In het klassediagram geven we deze lifetime dependency (zie 4.4.8) aan door de associatie tussen Dag en Maaltijd te veranderen in een compositieassociatie. De laatste twee constraints implementeren we als een controle in het creëren door een Persoonobject van Voorkeur-objecten Packages Het systeem is nog steeds zo klein dat packages niet nodig zijn. In zullen we hierop terugkomen Voeg nieuwe klassen toe Het toevoegen van nieuwe klassen is verdeeld in het toevoegen van applicatieklassen (in dit geval de complete userinterface) en het toevoegen van implementatieklassen (in dit geval de opslagstructuur) Applicatieklassen of het definiëren van de userinterface De volgende stap in de werkwijze heeft betrekking op het definiëren van de userinterface van EasyShop. Identificeer views Voor het identificeren van de views worden de interacties uit hoofdstuk 11 als uitgangspunt genomen. We zoeken naar informatie die getoond moet worden door de userinterface. Het blijkt dat een lijst met Personen van het type gast wordt getoond en informatie uit de volgende domeinklassen: Week Dag Maaltijd Kookboek Recept Bestelling 190
7 ho ofdstuk 17 case: applicatie- en implementatiemodellen Voorraadkast Supermarkt Voor elk van deze klassen en voor de klasse Persoon introduceren we een applicatieklasse. De van een dergelijke applicatieklasse is de van de domeinklasse met het woord View eraan toegevoegd, bijvoorbeeld WeekView. Elk van deze applicatieklassen heeft een associatie met de domeinklasse waarvan informatie getoond moet worden. Definieer controllers Bij het definiëren van controllers gaan we terug naar de use-cases, ervan uitgaande dat de use-cases gestructureerd zijn naar de taken die de gebruiker met het systeem moet kunnen uitvoeren. We gaan alle use-cases af om de juiste controllers te vinden. Inloggen De controle tijdens het inloggen ligt in het main programma. We introduceren geen extra controller voor deze taak. Agenda invullen en Gast(en) aangeven Tijdens het invullen van de agenda wordt de nieuwe klasse WeekView gebruikt. We introduceren voor het afhandelen van de algemene gebruikersinteracties een klasse WeekController en een klasse MaaltijdController voor het afhandelen van het aangeven van de aanwezigheid bij een enkele Maaltijd. Recept kiezen en Kookboek inzien Bij de taken in use-cases Recept kiezen en Kookboek inzien ligt de controle bij een nieuwe klasse KookboekController. Boodschappenlijst versturen en Binnengekomen inkopen opvoeren In beide use-cases moet een Bestelling getoond en veranderd kunnen worden. Naast de BestellingView wordt een nieuwe klasse BestellingController geïntroduceerd. Voorraad inzien In deze use-case moet de voorraad getoond worden. Hiertoe introduceren we een klasse VoorraadKastController Implementatieklassen Het vinden van utilityklassen is relatief simpel. In EasyShop is datum een belangrijk type van attributen. Dit is een utilityklasse. We zullen proberen deze klasse te vinden in een bibliotheek. Is er geen geschikte bibliotheek dan zullen we de klasse zelf implementeren. Verder is het handig om een mechanisme te hebben om pre- en postcondities van operaties te testen. Dit mechanisme brengen we onder in een utilityklasse Assertie. Vervolgens is de aandacht gericht op de opslagmechanismen. Het inlezen en wegschrijven van alle files wordt op een standaardmanier geregeld door twee klassen te introduceren: Schrijver en Lezer. De klasse Schrijver bevat alle operaties die naar file schrijven 191
8 praktisch uml zoals schrijfrecept, schrijfkookboek, enz. De klasse Lezer bevat alle leesoperaties zoals leesrecept, leeskookboek, enz. WeekController MaaltijdController WeekView 7 DagView MaaltijdView Week Bestelling BestellingView isingevuld 7 Dag Persoon aanwezigbij kok Maaltijd ReceptView Recept BestellingController Supermarkt Voorraadkast Voorkeur benodigdheden Ingrediënt voorraad IngrediëntSoort Kookboek KookboekView KookboekController VoorraadkastView VoorraadkastController Figuur 17-2 Zesde versie klassediagram voor EasyShop 192
9 ho ofdstuk 17 case: applicatie- en implementatiemodellen Overige stappen Het meest interessante van de overige stappen is het vastleggen van de structuur in de userinterface-klassen. De applicatieklasse WeekView wordt een apart window in onze grafische userinterface en zal dan ook overerven van de juiste klasse uit onze GUI-bibliotheek. DagView en MaaltijdView worden onderdelen van WeekView en zullen dan ook overerven van een andere klasse uit onze GUI-bibliotheek. WeekView heeft een associatie met de Week die hij laat zien. Ook is een associatie met het Persoon-object waarvan de aanwezigheid getoond moet worden, nodig. In figuur 17 2 staat het klassediagram waarin de userinterface-klassen zijn weergegeven. Ter illustratie wordt in figuur 17 3 getoond hoe het weekschema van er op het scherm uit zou kunnen zien. Maandag Dinsdag Woensd. Donderd. Vrijdag Zaterdag Zondag Ontbijt Lunch Diner (kok) Jos Anneke (kok) Figuur 17-3 Een voorbeeld-weekview Op dezelfde wijze zal de klasse KookboekView een apart window zijn waar ReceptView een onderdeel van is. Het invullen van alle andere details wordt als oefening aan de lezer overgelaten. Op dit moment is het systeem zo groot geworden dat het zinvol is het op te delen in packages. We gebruiken hiervoor een three-tier-architectuur en introduceren de volgende packages: Userinterface: bevat alle userinterface-klassen. Domein: bevat alle domeinklassen. 193
10 praktisch uml Opslag: bevat de Schrijver- en Lezer-klassen. Tools: bevat alle utilityklassen. In figuur 17 4 vindt u een diagram waarin alleen de packages zijn opgenomen. EasyShop DomeinPackage ToolsPackage UserInterfacePackage OpslagPackage Figuur 17-4 Het packagediagram voor EasyShop 17.5 Maak dynamische diagrammen Het maken van de extra toestandsdiagrammen en de aanpassingen in de sequencediagrammen is niet bijzonder ingewikkeld. Wij laten dit dan ook als oefening aan de lezer Integreer alle informatie Het maken van het laatste model voor we gaan implementeren is nu niets anders meer dan het samenvoegen van de informatie die we op dit moment tot onze beschikking hebben. Op dit moment moet van alle klassen een complete beschrijving gemaakt kunnen worden. Als voorbeeld is de klasse Maaltijd uitgewerkt in tabel
11 ho ofdstuk 17 case: applicatie- en implementatiemodellen Tabel 17-1 Klassebeschrijving van de klasse Maaltijd Klasse: Maaltijd Attributen: : String type: {warm, koud} heeftreceptnodig: Boolean tijd: Tijdstip Operaties: geefaanwezigen(): lijst Persoon zetrecept(r: Recept): void aanwezig(p: Persoon): void geefingrediënten(): lijst Ingrediënt Associatie-einden: kok: Persoon isaanwezigbij: lijst Persoon recept: Recept 17.7 Vervolg van de case Het maaltijdsysteem van en is zo kleinschalig dat het maken van component- en deploymentdiagrammen niet zinvol is. Deze diagrammen worden in hoofdstuk 14 behandeld. Het uitwerken van de rest van de case laten we vanaf dit moment dan ook aan de lezer over. Op de website van Klasse Objecten is een in Java uitgewerkte versie van de case te vinden. 195
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 informatiecase: ocl-expressies
Hoofdstuk 7 case: ocl-expressies In dit hoofdstuk worden de expressies ontwikkeld bij het domein-klassediagram van de case zoals dat in hoofdstuk 5 ontwikkeld is. Daarna worden de resterende stappen uit
Nadere informatiecase: sequence- en communicatiediagrammen
Hoofdstuk 11 case: sequence- en communicatiediagrammen In dit hoofdstuk wordt het maken van de eerste versie van de sequence- en communicatiediagrammen voor het boodschappensysteem van Hans en Jacqueline
Nadere informatieHoofdstuk 5. case: klassediagram
Hoofdstuk 5 case: klassediagram In dit hoofdstuk wordt het maken van het klassediagram in het domeinstadium voor onze case uitgewerkt. We maken dus een domein-klassediagram van EasyShop, het maaltijdsysteem
Nadere informatiecase: 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 informatieImplementatie #-operator
Departement Wiskunde-Informatica Universiteit Antwerpen November 13, 2005 Book sample Book sample Tools Reïficatie Maak van de event method loan een method class Loan Non-reïficatie Genereer nieuwe properties
Nadere informatieObjectgericht Ontwerpen
Objectgericht Ontwerpen Probleem Analyse Ontwerp Code Unified Modelling Language Doel Hulpmiddel bij nadenken Hulpmiddel communicatie met collega s Documentatie van code In dit vak Leren door doen Project
Nadere informatieVoorbeeld. public class BankRekening {
OCL Constraints Eigenschappen die op bepaalde momenten altijd voldaan moeten zijn Belangrijk voor bug-vrije programma s Contract tussen implementator & gebruiker Vier soorten Preconditie: conditie die
Nadere informatieHoofdstuk 9: Object Constraint language (OCL) Prof. Dr. Olga De Troyer. Constraints
Hoofdstuk 9: Object Constraint language (OCL) Prof. Dr. Olga De Troyer 2005 Prof Dr. O. De Troyer, pag. 1 Constraints UML s notatie is grafisch Goed voor het uitdrukken van structurele eigenschappen van
Nadere informatievoorbeeldexamen Object Oriëntatie Foundation (OOF.NL) editie juli 2010 inhoud inleiding 3 voorbeeldexamen 4 antwoordindicatie 11 evaluatie 22
voorbeeldexamen Object Oriëntatie Foundation (OOF.NL) editie juli 2010 inhoud inleiding 3 voorbeeldexamen 4 antwoordindicatie 11 evaluatie 22 bijlage bijlagenset A711 EXIN Hét exameninstituut voor ICT
Nadere informatieUML 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 informatieOntwerp van Informatiesystemen
1ste bach HIB Ontwerp van Informatiesystemen Prof. Verelst Q www.quickprinter.be uickprinter Koningstraat 13 2000 Antwerpen 112 2,50 Online samenvattingen kopen via www.quickprintershop.be Table of Contents
Nadere informatieDATAMODELLERING 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 informatieBRP-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 informatieInhoudstafel. UML (Unified Modeling Language)
UML (Unified Modeling Language) Inhoudstafel Inleiding...2 Waarvoor dient UML...2 Wat is UML... 2 Use-cases... 2 Inleiding...2 Voorbeeld...3 Eigenschappen van een goede use-case...3 Wat is een actor...4
Nadere informatieModeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2
Modelleren Werkelijkheid Modelleren Modeleren Waarvan maken we een model?!analyse " Maak een model van de te automatiseren werkelijkheid of van het op te lossen probleem! Domeinkennis = structuur! Functionele
Nadere informatieDATAMODELLERING GEAVANCEERD UML KLASSEMODEL
DATAMODELLERING GEAVANCEERD UML KLASSEMODEL Inleiding In dit whitepaper wordt de datamodelleervorm geavanceerd UML klassemodel beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.
Nadere informatieAbstraheren van modellen
Abstraheren van modellen Geert Delanote 7 maart 2005 Geert.Delanote@cs.kuleuven.ac.be Software Development Methodology 1 Inhoudstafel Motivatie Denkpistes Software Development Methodology 2 Motivatie Verslag
Nadere informatieHOGESCHOOL 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 informatiehttp://www.liacs.nl/home/kosters/java/
sheets Programmeren 1 Java college 2, Walter Kosters De sheets zijn gebaseerd op de hoofdstukken 2 tot en met 6 van: D. Bell en M. Parr, Java voor studenten, Prentice Hall, 2002 http://www.liacs.nl/home/kosters/java/
Nadere informatieInteractie diagrammen
Interactie diagrammen Use case Verhaaltje Interactie van gebruiker (actor) met systeem In een vast formaat Analyse van functionele vereisten Interactie diagrammen Vertrekken van use cases Interactie van
Nadere informatieModule 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 informatieDie 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 informatieARE 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 informatieDatastructuren Werkcollege Intro
Bart Hijmans, Universiteit Leiden. Universiteit Leiden The Netherlands Focus 1 19 ˆ Ervaring in gebruik en implementatie van datastructuren ˆ Kennis van mogelijkheden ˆ Programmeren voor andere programmeurs
Nadere informatieTemperatuur logger synchronisatie
Temperatuur logger synchronisatie Juni 10, 2010 1 / 7 Temperatuur logger synchronisatie Introductie Twee of meerdere ontvangers van het Multilogger systeem kunnen met de temperature logger synchronisatie
Nadere informatieZelftest OOAD/UML. Document: N0767Test.fm 30/08/2010. ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium
Zelftest OOAD/UML Document: N0767Test.fm 30/08/2010 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INTRODUCTIE Deze test is gebaseerd op de inhoud van onze cursus OO
Nadere informatieMetro Simulatie. 1 Samenvatting. 2 Context
Metro Simulatie Documentsoort: Behoeftespecificatie Versie: 1.2 Datum: 15 februari 2017 Auteurs: Brent van Bladel Status: Opgeleverd 1 Samenvatting Dit document bevat de specificaties voor een informaticasysteem
Nadere informatieSoftware Factories. Toepassing van Domain Specific Languages. achtergrond
In de software-industrie zijn budget- en deadline-overschrijdingen aan de orde van de dag, er wordt vaak niet aan de gestelde verwachtingen voldaan. Dit kan worden voorkomen door software-ontwikkeling
Nadere informatieToelichting op dit erratum
Toelichting op dit erratum Exameninstantie EXIN heeft de eindtermen van Object Oriented Analysis Advanced (OOAA) op een paar punten wat aangepast, waardoor de studiewijzer van de LOI niet meer 100% aansloot
Nadere informatieKeteininformatiemodellering 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 informatieJ2EE/.NET en de rol Applicatie Architectuur
J2EE/.NET en de rol Applicatie Architectuur Edwin van Dillen evdillen@sogyo.nl 2003 Sogyo Information Engineering 1 Sogyo information engineering! IT Innovator sinds 1995! Klanten: ABN AMRO, Rabobank,
Nadere informatieHoofdstuk Error! Style not defined. 19. 3. Use-case analyse
Hoofdstuk Error! Style not defined. 19 3. Use-case analyse Hier worden een paar use-case diagrammen gegeven en een aantal use-case beschrijvingen volgens het template van Warmer & Kleppe. 3.1 Use-case
Nadere informatieH9: Klasse Ontwerp. Richtlijnen Specificaties Multiple inheritence
H9: Klasse Ontwerp Richtlijnen Specificaties Multiple inheritence SchetsPlus... doe ik het goed? 2 Hoe maak ik goede klassen? We gaan kijken naar: algemene ontwerp-richtlijnen software metric Complement:
Nadere informatieVakgroep CW KAHO Sint-Lieven
Vakgroep CW KAHO Sint-Lieven Objecten Programmeren voor de Sport: Een inleiding tot JAVA objecten Wetenschapsweek 20 November 2012 Tony Wauters en Tim Vermeulen tony.wauters@kahosl.be en tim.vermeulen@kahosl.be
Nadere informatieProject. 3D-Fraggel. Plan van aanpak. Door: IH1T08 1/1
Project 3D-Fraggel Plan van aanpak Door: 1/1 Project 3D-Fraggel Plan van aanpak Datum: 07-05-2001 Plaats: Enschede Opdrachtgever: Saxion Hogeschool Enschede Instituut ICT Afdeling Hogere Informatica Contactpersoon
Nadere informatie3.1 Opsomming data type
Deel I Hoofdstuk 3: Klasse Model - gevorderd 2005 Prof Dr. O. De Troyer Klasse Model - gevorderd pag. 1 3.1 Opsomming data type Opsomming (enumeration) data type Data type waarvan de verzameling waarden
Nadere informatieVerslag. Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers
Verslag SE Projectteam: 107 Datum: 16 oktober 2008 Project leden: Lennard Fonteijn Harish Marhe Nicoletta Saba Turgay Saruhan Robin Tummers In dit verslag zullen wij een beschrijving geven, over welke
Nadere informatieDeel II: Modelleren en software ontwikkeling. Hoofdstuk 7 Software ontwikkeling - Overzicht. Naïeve benadering
Deel II: Modelleren en software ontwikkeling Hoofdstuk 7 Software ontwikkeling - Overzicht 2005 Prof Dr. O. De Troyer, pag. 1 Naïeve benadering De vereisten voor het systeem worden geformuleerd en op basis
Nadere informatieSysteemanalyse Oefeningen Object-Oriëntatie
Systeemanalyse Oefeningen Object-Oriëntatie prof. dr. Jan Verelst Kris Ven Academiejaar 2007 2008 Revisie: 29 Inhoudsopgave Inhoudsopgave i 1 Opgaven 1 1.1 Aankoopdienst.....................................
Nadere informatieEen inleiding in de Unified Modeling Language 79
Een inleiding in de Unified Modeling Language 79 2. Het objectdiagram Soms hebben we behoefte om in de plaats van een klasse een instantie van deze klasse weer te geven. Figuur 3.22. toont als voorbeeld
Nadere informatieTutorial 1, Delphi: Geldspraak
Tutorial 1, Delphi: Geldspraak Versie Datum Auteurs Opmerkingen 1 25-09-2001 Kees Hemerik (code) Gebaseerd op Delphi 5 Enterprise. Roel Vliegen (tekst) 2 17-03-2005 Kees Hemerik Aanpassingen: Delphi 7,
Nadere informatieSparse 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 informatieEindtoets. Opgaven. 1 Gegeven is het domeinmodel van figuur 1. Domeinmodel voor betalingen. Eindtoets I N T R O D U C T I E.
Eindtoets I N T R O D U C T I E Deze eindtoets is bedoeld als voorbereiding op het tentamen. Het is belangrijk dat u de eindtoets pas probeert te maken op het moment dat u denkt klaar te zijn met de tentamenvoorbereiding.
Nadere informatieStacks and queues. Hoofdstuk 6
Hoofdstuk 6 Stacks and queues I N T R O D U C T I E In dit hoofdstuk worden drie datastructuren stack, queue en deque behandeld. Om deze datastructuren te implementeren, worden onder andere arrays en linked
Nadere informatieHandleiding 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 informatieTaak 2.1.4 Eerst zien dan geloven... 1. Inhoud
Taak 2.1.4 Eerst zien dan geloven Inhoud Taak 2.1.4 Eerst zien dan geloven... 1 Inhoud... 1 Inleiding... 2 Modules van urenregistratiesysteem (Blokboek)... 3 Module applicatiebeheer... 3 Module projectbeheer...
Nadere informatieVergelijking Oracle certificering voor Java en het CPP Gecertificeerd Javaprogrammeur van de Open Universiteit
Vergelijking Oracle certificering voor Java en het CPP Gecertificeerd Javaprogrammeur van de Open Universiteit Inleiding Op het gebied van scholing van de taal Java zijn er vele aanbieders op de markt.
Nadere informatieDe student krijgt de opdracht een dynamische webomgeving te ontwerpen. Als het ontwerp is goedgekeurd moet hij deze realiseren en vervolgens testen.
LEEREENHEID Systeem ontwikkeling 2 Dit document bestaat uit twee onderdelen - Onderdeel Leereenheid - Onderdeel Onderwijsproduct 1 Naam leereenheid In deze tabel staat de naam en het type van de leereenheid
Nadere informatieTechnisch 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 informatieUniversiteit Leiden Opleiding Informatica
Internal Report 2010-12 Augustus 2010 Universiteit Leiden Opleiding Informatica SignalBrowser Derk Mus BACHELOR THESIS Leiden Institute of Advanced Computer Science (LIACS) Leiden University Niels Bohrweg
Nadere informatieOpdracht 7a. Applicatiebouw 2014/2015
Applicatiebouw 2014/2015 Opdracht 7a Inhoud Applicatiebouw op dag 7 College In het college wordt oa. overerving behandeld, waarmee je uit een bestaande klasse een nieuwe andere klasse kan maken. Ook zijn
Nadere informatieDynamiek 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 informatieWaarmaken van Leibniz s droom
Waarmaken van Leibniz s droom Artificiële intelligentie Communicatie & internet Operating system Economie Computatietheorie & Software Efficiënt productieproces Hardware architectuur Electronica: relais
Nadere informatie1. 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 informatieTechnisch ontwerp. Projectteam 6. Project "Web Essentials" 02 april 2009. Versie 2.1.0
Projectteam 6 Faculteit Natuur en Techniek Hogeschool Utrecht Projectleider: Hans Allis, hans.allis@student.hu.nl Technisch ontwerp Project "Web Essentials" 02 april 2009 Versie 2.1.0 Teamleden: Armin
Nadere informatiePlan 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 informatieKenmerken 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 informatiebeschrijvingstechnieken 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 informatieSysteemontwikkeling met UML
Systeemontwikkeling met UML De visuele modelleertaal Unified Modeling Language (UML) is een gezamenlijk product van een groot aantal bedrijven. Het is een standaard die naar aanleiding van een request
Nadere informatieCanonieke 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 informatieDATAMODELLERING XML SCHEMA DEFINITIONS
DATAMODELLERING XML SCHEMA DEFINITIONS Inleiding In dit whitepaper wordt de datamodelleervorm XML Schema Definition (XSD) beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.
Nadere informatieGebruikershandleiding DucoOnline. 1 Inhoudsopgave
1 Inhoudsopgave Gebruikershandleiding... 1 2 Systeemeisen... 2 2.1 Windows XP / Vista / 7... 2 3.1 Inloggen als cliënt... 3 3.2 Wachtwoord vergeten... 3 3.3 Cliëntgegevens... 3 3.4 Facturen... 4 3.5 Handleiding...
Nadere informatieLes 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 informatieLuchthaven Simulatie. 1 Samenvatting. 2 Context
Luchthaven Simulatie Documentsoort: Behoeftespecificatie Versie: 1.2 Datum: 15 februari 2018 Auteurs: Brent van Bladel Status: Opgeleverd 1 Samenvatting Dit document bevat de specificaties voor een informaticasysteem
Nadere informatieWCF claims-based authorization
WCF claims-based authorization In elk project waar ik tot nu toe aan heb meegewerkt is beveiliging altijd een belangrijk onderdeel gebleken. De vraag is vaak wat de meest geschikte manier van authenticeren
Nadere informatieObjectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.
Herhaling Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden. De basisbouwsteen is het object; een geïntegreerde eenheid van data en operaties werkend op deze
Nadere informatieBest Practice gebruik DMKS tussen Landelijke Voorzieningen en Bronhouders
Best Practice gebruik DMKS tussen Landelijke Voorzieningen en Bronhouders Datum 01-10-2017 Versie 1.0 Status Auteur(s) Concept Ferry Bijl, Piet der Krieke, Liesbeth der Feen, Rob Post Versie Datum omschrijving
Nadere informatieUML. 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 informatieRapportage 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 informatieOPDRACHT Opdracht 2.1 Beschrijf in eigen woorden wat het bovenstaande PSD doet.
Les C-02: Werken met Programma Structuur Diagrammen 2.0 Inleiding In deze lesbrief bekijken we een methode om een algoritme zodanig structuur te geven dat er gemakkelijk programmacode bij te schrijven
Nadere informatieHOGESCHOOL ROTTERDAM
HOGESCHOOL ROTTERDAM INA02 - Informatie-analyse (objectgeoriënteerde analyse) M O D U L E W I J Z E R I N F I N A 0 2 1 V A N 18 Modulecode: IAN02 Modulenaam: Informatieanalyse 2 Belasting (aantal cp):
Nadere informatieDynamische gebruikersbeslissingen in SAP Workflow
Dynamische gebruikersbeslissingen in SAP Workflow Inleiding Een gebruikersbeslissing in een SAP Workflow definitie biedt de mogelijkheid om een optiescherm aan de gebruiker aan te bieden. Hiermee kan de
Nadere informatieHandleiding Speciaal voor vraagouders
Handleiding Speciaal voor vraagouders Let op: Zie je dit balkje in deze handleiding? Dan hebben wij een tip voor je. Ohw. Wachtwoord kwijt of vergeten? Dan kun je deze resetten door in het inlogscherm
Nadere informatieSYNTRA-WEST. Cursus OOP. Deel
SYNTRA-WEST Cursus OOP Deel Syntra-West voorheen VORMINGSINSTITUUT VOOR KMO Syntra-West Doorniksesteenweg 220 8500 Kortrijk Tel. 056/26.02.00 Fax 056/22.81.07 i Inhoudsopgave SYNTRA-WEST... 0 CURSUS OOP...
Nadere informatieProgrammeerstructuren met App Inventor
Programmeerstructuren met App Inventor Kevin Krul, Universiteit Utrecht Roncalli, Bergen op Zoom Inhoud: Les 1: Introductie tot App Inventor, when statement en variabelen. Les 2: Introductie if-statement
Nadere informatieAbstracte klassen & Interfaces
Abstracte klassen & Interfaces Overerving public class Vierhoek {... Vierhoek public class Rechthoek extends Vierhoek {... public class Ruit extends Vierhoek {... Rechthoek Ruit Elke rechthoek is een vierhoek.
Nadere informatieHOWTO: Microsoft Domain Controller en Linux DNS-server. geschreven door Johan Huysmans
HOWTO: Microsoft Domain Controller en Linux DNS-server geschreven door Johan Huysmans 1. Over deze howto. Deze howto behandelt verschillende aspecten van een MS Windows Domain Controller gebruik makend
Nadere informatieInformatica. Objectgeörienteerd leren programmeren. Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele
Informatica Objectgeörienteerd leren programmeren Van de theorie met BlueJ tot een spelletje met Greenfoot... Bert Van den Abbeele http://creativecommons.org/licenses/by-nc-nd/3.0/legalcode Objectgeörienteerd
Nadere informatieDeel I Hoofdstuk 4: Modelleren van Toestand
Deel I Hoofdstuk 4: Modelleren van Toestand 2005 Prof Dr. O. De Troyer Toestandsmodel pag. 1 Berichten of boodschappen OO is gebaseerd op hoe de reële wereld werkt 2005 Prof. Dr. O. De Troyer Toestandsmodel
Nadere informatieTPUPT Gebruikershandleiding
TPUPT Gebruikershandleiding René Ladan, r.c.ladan@gmail.com 3 oktober 2006 1 Introductie TPUPT staat voor Two Phase UML Phunction Transformer, het afstudeerproject van de auteur. Het biedt de mogelijkheid
Nadere informatieDATAMODELLERING 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 informatieDomeinmodellen en klassendiagrammen
Overview Architectuur Deployment-diagram Software-architectuur 1 Architectuur Deployment-diagram Software-architectuur 2 3 Architectuur Architectuur Deployment-diagram Software-architectuur Webapplicatie
Nadere informatieOpleiding Technische Informatica 2007-2008 Ontwerp Gericht Onderwijs 1.1 (2IO05) Handleiding
Opleiding Technische Informatica 2007-2008 Ontwerp Gericht Onderwijs 1.1 (2IO05) Handleiding Eindhoven, 24 augustus 2007 Gemaakt door: Meulemans, W. Dinkla, K. Coördinator: Sidorova, dr. N. 2 Inhoudsopgave
Nadere informatieOefeningen Jaarproject I
Oefeningen Jaarproject I Deze oefeningenreeks behandelt de grafische Scheme bibliotheek die jullie mogen gebruiken voor de implementatie van het Pacman spel. De bibliotheek i is een evaluator voor Scheme
Nadere informatieUnified 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 informatiepublic Paneel() { knop = new JButton( Klik ); knop.addactionlistener( new KnopHandler() ); tekstvak = new JTextField(10); add(knop); add(tekstvak);
Vaknaam: Programmeren I (Java) - Tentamen Module: 2 Datum/Tijd: 17 mrt 2015 / 18.30 20:30 Richting: ICT Code: IC011 Docent: E. Lieuw Boeken en aantekeningen NIET toegestaan. Kladpapier is wel toegestaan.
Nadere informatieUitwerking Toets ontwerpen 4 december 2013
Uitwerking Toets ontwerpen 4 december 203. Activity diagram - Merk op dat er één loop in zit (tot n keer een bericht naar de cliënt), maar geen loop om de gehele service te herhalen. Die loop was in het
Nadere informatieDe architect: in spagaat tussen mensen en technische details. Illustratie met een simpel voorbeeld
De architect: in spagaat tussen mensen en technische details Illustratie met een simpel voorbeeld Illustratie van stap voor stap naar een architectuur aan de hand van een voorbeeld Overview Exercise Assistant:
Nadere informatieBilling Tool. Handleiding
Billing Tool Handleiding Inhoudsopgave 1. Inleiding... 4 2. Werkwijze voor de gebruiker:... 4 1.1 Inzien van facturen... 5 1.1.1 Inzien van het factuurdossier... 5 1.2 Aanmaken van facturen... 6 3. Werkwijze
Nadere informatieVAN 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 informatiePraktijkrichtlijn IMBRO
Praktijkrichtlijn IMBRO Auteur : TNO / Alterra Datum : 25 november 2009 versie : 1.0 Status : definitief IMBRO Informatiemodel Bodem en Ondergrond REVISIE HISTORIE Datum Versie Beschrijving Auteur(s)
Nadere informatieArchimate 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{ specificatie (contract) en toelichting }
Programmeren Blok A Drie aspecten van routines http://www.win.tue.nl/ wstomv/edu/2ip05/ College 5 Kees Hemerik Tom Verhoeff Technische Universiteit Eindhoven Faculteit Wiskunde en Informatica Software
Nadere informatieVoIP via Online Pro: De voordelen op een rij
Inge Heuvel - van Schaijck --- Online Van: Maarten Heuvel - Online Verzonden: donderdag 22 oktober 2015 16:32 Aan: Online Groep Onderwerp: Online Pro Update 2015.0.0.125: Nieuwe
Nadere informatieVraag 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 informatieHet handboek van Umbrello UML Modeller
Het handboek van Umbrello UML Modeller 2 Inhoudsopgave 1 Introductie 7 2 Grondbeginselen van UML 8 2.1 Over UML............................................ 8 2.2 UML-elementen.......................................
Nadere informatieF U N C T I O N E E L O N T W E R P V O O R F U L L H O U S E M O B I LE ( V I S I O N V E R S I E )
F U N C T I O N E E L O N T W E R P V O O R F U L L H O U S E M O B I LE ( V I S I O N V E R S I E ) Datum: 29-09-2010 Auteur: Dairo Bosschart Versie: 1.0 Document: Functioneel_ontwerp (vision versie).docx
Nadere informatieVariabelen en statements in ActionScript
Ontwikkelen van Apps voor ios en Android Variabelen en statements in ActionScript 6.1 Inleiding Als we het in de informatica over variabelen hebben, bedoelen we een stukje in het geheugen van de computer
Nadere informatie