Deel I Hoofdstuk 2: Het klassenmodel

Save this PDF as:
 WORD  PNG  TXT  JPG

Maat: px
Weergave met pagina beginnen:

Download "Deel I Hoofdstuk 2: Het klassenmodel"

Transcriptie

1 Deel I Hoofdstuk 2: Het klassenmodel 2005 Prof Dr. O. De Troyer Klasse Model pag. 1 Hoofdstuk 2: Het klassenmodel Het Klassenmodel Beschrijft de statische structuur van een systeem door middel van Het beschrijvingen van de objecten in het systeem Welke objecten Welke informatie bevatten ze Hoe zijn ze gerelateerd; verbanden tussen objecten Belangrijke concepten in dit hoofdstuk: object, klasse, link, associatie, generalisatie, overerving 2005 Prof. Dr. O. De Troyer Klasse Model pag. 2

2 2.1 Objecten Voorbeelden van objecten: Prof Jonckers Vrije Universiteit Brussel het boek Object-Oriented Modeling and Design with UML de factuur nr een variabele Prof. Dr. O. De Troyer Klasse Model pag Objecten Object is een ding, concept of abstractie met een identiteit dat betekenis heeft voor de toepassing onder beschouwing (het systeem). Objecten met een correspondentie in de werkelijkheid Prof Jonckers, De Vrije Universiteit Brussel,... Objecten die corresponderen met abstracte entiteiten uit de werkelijkheid: Het huwelijk van Jan en Hilde De regel van 3, Objecten die niet corresponderen met dingen uit werkelijk: De variabele a, een schermvenster (window), Prof. Dr. O. De Troyer Klasse Model pag. 4

3 2.1 Objecten Alle objecten hebben een identiteit en zijn te onderscheiden op basis van hun identiteit! Gevolg: objecten kunnen dezelfde beschrijvende eigenschappen hebben 2 appels kunnen dezelfde eigenschappen hebben (rood, rond, zoet) maar toch zijn het 2 verschillende objecten ( identiteit) 2005 Prof. Dr. O. De Troyer Klasse Model pag Klassen En wat als je heel veel objecten nodig hebt? Voorbeelden: 500 proffen 9000 studenten boeken Prof. Dr. O. De Troyer Klasse Model pag. 6

4 2.2 Klassen Klasse beschrijft een groep van gelijksoortige objecten. Voorbeelden Klassen: Prof Student Universiteit Boek Computerboek Factuur Huwelijk... Geef een klasse een betekenisvolle unieke naam! 2005 Prof. Dr. O. De Troyer Klasse Model pag Klassen Elk object is een instantie van een klasse Objecten van een klasse dezelfde soort eigenschappen maar de waarden van de eigenschappen kunnen verschillen Voorbeeld Proffen hebben allemaal een naam en doceren cursussen Naam kan verschillen; cursussen kunnen verschillen De klasse van een object is een impliciete eigenschap van het object Objecten weten tot welke klasse ze behoren 2005 Prof. Dr. O. De Troyer Klasse Model pag. 8

5 2.2 Klassen Definitie van de eigenschappen van een klasse moet slechts 1 keer gegeven worden ook al zijn er zeer veel instanties van de klasse nodig Ook klasse indien slechts 1 enkele instantie Het concept Klasse is zelf ook een abstractie mechanisme 2005 Prof. Dr. O. De Troyer Klasse Model pag UML - Grafische Representatie UML = Unified Modeling Language Aantal diagrammen om bepaalde modellen grafisch weer te geven Class en Object diagrams Sequence diagrams Collaboration diagrams Statecharts Component diagrams Use case diagrams 2005 Prof. Dr. O. De Troyer Klasse Model pag. 10

6 2.3 UML - Grafische Representatie Grafische representaties zijn gemakkelijker te begrijpen, ook voor niet technische personen Laat communicatie toe met opdrachtgever, domeinspecialisten, enz. Maakt validatie van de modellen mogelijk 2005 Prof. Dr. O. De Troyer Klasse Model pag UML - Klasse en object notatie Klasse grafische notatie Prof Object grafische notatie Jonckers:Prof Houben:Prof :Prof UML conventies Symbool voor klasse is rechthoek Klassennaam in vet, gecentreerd en beginnend met hoofdletter Object zonder naam 2005 Prof. Dr. O. De Troyer Klasse Model pag. 12

7 2.4 Attributen Objecten hebben meestal een boel vaste eigenschappen Sommige ervan zijn belangrijk voor het systeem Voorbeelden: Een prof: naam, geboortedatum, graad Een factuur: datum, bedrag, gefactureerde Een boek: titel, jaar van uitgifte, uitgeverij Attribuut is een (benoemde) eigenschap van een object die een waarde beschrijft voor het object Prof. Dr. O. De Troyer Klasse Model pag Attributen Een attribuut heeft een waarde voor een object Voorbeeld: naam prof, waarde = Jonckers Verschillende objecten kunnen dezelfde waarde hebben voor een attribuut 2 facturen met dezelfde datum Meerdere boeken met dezelfde uitgever Meerdere proffen met dezelfde graad 2 proffen met dezelfde naam 2005 Prof. Dr. O. De Troyer Klasse Model pag. 14

8 2.4 Attributen Attributen worden gedefinieerd in de klasse door middel van een naam; eventueel ook een data type 2005 Prof. Dr. O. De Troyer Klasse Model pag Attributen - UML notatie UML - grafische notatie Prof naam geboortedatum Prof Klasse met attributen UML datatypen: Boolean, Integer, UnlimitedNatural, String Ook andere datatypen zijn mogelijk, bijv. Date naam: String geboortedatum: Date Attribuutnamen starten met een kleine letter 2005 Prof. Dr. O. De Troyer Klasse Model pag. 16

9 2.4 Attributen Namen van attribuut moeten uniek zijn binnen één klasse naam attribuut voor Prof naam attribuut voor Univ Prof Univ naam geboortedatum naam adres 2005 Prof. Dr. O. De Troyer Klasse Model pag Attributen UML - grafische notatie (2) Meersman:Prof naam= Meersman geboortedatum=18 november 1947 Janssens:Prof naam= Janssens geboortedatum= 20 januari 1945 Objecten met attribuutwaarden 2005 Prof. Dr. O. De Troyer Klasse Model pag. 18

10 2.4 Attributen Attributen worden gebruik om eigenschappen te beschrijven; geen verbanden tussen objecten (relaties)!! Daarom moet een attribuut een waarde beschrijven!! waarde object Waarden hebben geen identiteit Alle voorkomen van de string Canada zijn hetzelfde Alle voorkomen van de integer 17 zijn hetzelfde 2005 Prof. Dr. O. De Troyer Klasse Model pag. 19 bedrijf is geen eigenschap van een persoon; Een Persoon werkt voor een Bedrijf is een voorbeeld van een verband tussen objecten 2.4 Attributen De identiteit van een object is een impliciete eigenschap en mag niet gemodelleerd worden als attribuut! Prof profid: Integer naam: String geboortedatum: Date Opgelet: objecten kunnen in de werkelijkheid ook identificatienummers hebben. Deze dienen, indien relevant, wel gemodelleerd te worden Prof. Dr. O. De Troyer Klasse Model pag. 20 Prof AdministratieNr: Integer naam: String geboortedatum: Date

11 Verschil object - klasse Een klasse is een veralgemening van gelijksoortige objecten Klassen laten toe om objecten te classificeren Een klasse heeft een extensie en een intentie Extensie: verzameling van alle mogelijke instanties Intentie: eigenschappen gemeenschappelijk aan alle instanties 2005 Prof. Dr. O. De Troyer Klasse Model pag. 21 Verschil object - klasse Koe: klasse of object of beide? Wat klasse is en wat object is afhankelijk van het domein en de toepassing Prof. Dr. O. De Troyer Klasse Model pag. 22

12 2.5 Operaties en Methoden Objecten in de werkelijkheid vertonen gedrag Om informatie te verstrekken aan andere objecten Om iets te doen Weerspiegeld in OO OO-objecten kunnen ook gedrag hebben Door middel van het definiëren van operaties. Voorbeelden: Window: open, move, resize, hide, close Prof: geefnaam, geefleeftijd, verandergraad Operatie Een functie of een procedure die kan worden toegepast op of door objecten 2005 Prof. Dr. O. De Troyer Klasse Model pag Operaties en Methoden Elke operatie wordt toegepast op of door een object De open operatie wordt toegepast op een Windowobject Alle objecten van een klasse hebben dezelfde operaties Alle Window-objecten hebben de operaties open, move, resize, hide en close Operaties worden gedefinieerd in de klasse 2005 Prof. Dr. O. De Troyer Klasse Model pag. 24

13 2.5 Operaties en Methoden Methode De implementatie van een operatie voor een klasse m.a.w. de code nodig voor de operatie 2005 Prof. Dr. O. De Troyer Klasse Model pag Operaties en Methoden Eenzelfde operatie kan verschillend worden geïmplementeerd voor verschillende klassen nl. door verschillende methoden Voorbeeld: drukaf voor Formulier drukaf voor Figuur Polymorfisme Dezelfde operatie is gedefinieerd voor verschillende klassen 2005 Prof. Dr. O. De Troyer Klasse Model pag. 26

14 2.5 Operaties en Methoden Vermijd het gebruik van dezelfde naam voor operatie die semantisch niet hetzelfde zijn! Voorbeeld: inverse voor Matrix en inverse voor spiegelbeeld van een Figuur 2005 Prof. Dr. O. De Troyer Klasse Model pag. 27 UML - grafische notatie 2.5 Operaties en Methoden - UML notatie Prof naam: String geboortedatum: Date adres: String wijzigadres(nieuwadres: String) drukaf () Klasse met attributen en operaties optioneel Operatienamen starten met een kleine letter Operaties worden niet opgenomen in object diagrammen, enkel in klasse diagrammen 2005 Prof. Dr. O. De Troyer Klasse Model pag. 28

15 2.6 UML - Klasse diagram UML - Klasse diagram KlasseNaam attribuut1naam: datatype1 = defaultwaarde1 attribuut2naam: datatype2 = defaultwaarde2 operatienaam1(argumentlijst1): resultaattype1 operatienaam2(argumentlijst2): resultaattype2 } } Naam van de klasse Lijst van attributen - mag weggelaten worden - leeg betekent geen attributen Lijst van operaties - mag weggelaten worden - leeg betekent geen operaties Notatie voor een argument [ in out inout ] argumentnaam : type = defaultwaarde 2005 Prof. Dr. O. De Troyer Klasse Model pag UML - Klasse voorstelling - voorbeelden 2005 Prof. Dr. O. De Troyer Klasse Model pag. 30

16 2.7 Link en Associaties In de werkelijkheid zijn er verbanden tussen objecten Voorbeeld: Prof Jonckers doceert de Cursus Structuur I Het Land België heeft Brussel als Hoofdstad Het Boek Object-Oriented Modeling and Design with UML heeft als auteurs Michael Blaha and James Rumbaugh In OO modelleren: Links tussen objecten 2005 Prof. Dr. O. De Troyer Klasse Model pag Link en Associaties Deze verbanden worden gemodelleerd op klasse niveau Voorbeeld: Prof doceert Cursus Land heeft hoofdstad Stad Boek heeft auteur Persoon Verbanden tussen klassen worden associaties genoemd Associatie is een veralgemening van links 2005 Prof. Dr. O. De Troyer Klasse Model pag. 32

17 UML - grafische notatie 2.7 Link en Associatie - UML notatie Persoon naam: String HeeftAandelenVan Bedrijf naam: String Klasse Diagram Naam van de associatie Niet verplicht maar zeer wenselijk 2005 Prof. Dr. O. De Troyer Klasse Model pag Link en Associaties Link verband tussen objecten Associatie beschrijft een groep van gelijksoortige links Een link is een instantie van een associatie De links van een associatie liggen tussen objecten van dezelfde klassen 2005 Prof. Dr. O. De Troyer Klasse Model pag. 34

18 UML - grafische notatie 2.7 Link en Associatie UML notatie Jan:Persoon naam= Jan Hilde:Persoon HeeftAandelenVan HeeftAandelenVan IMB:Bedrijf naam= IBM Object Diagram naam= Hilde HeeftAandelenVan Apple:Bedrijf Alice:Persoon naam= Apple naam= Alice Als een link een naam heeft moet die onderlijnd worden 2005 Prof. Dr. O. De Troyer Klasse Model pag Link en Associatie - UML notatie Meerdere associaties mogelijk tussen dezelfde klassen Associatienamen verplicht!! 2005 Prof. Dr. O. De Troyer Klasse Model pag. 36

19 2.7 Link en Associaties De verbanden zijn bi-directioneel Ze kunnen in 2 richtingen gelezen worden Default van links naar rechts en van boven naar onder: Persoon WerktVoor Bedrijf 2005 Prof. Dr. O. De Troyer Klasse Model pag Link en Associaties Andere leesrichting via pijltje Bedrijf SteltTeWerk Persoon 2005 Prof. Dr. O. De Troyer Klasse Model pag. 38

20 2.7 Link en Associaties Verbanden mogen niet als attributen gemodelleerd worden! Een bedrijf is geen eigenschap van een persoon en een persoon is geen eigenschap van een bedrijf 2005 Prof. Dr. O. De Troyer Klasse Model pag Multipliciteit Een persoon werkt maar voor ten hoogste 1 bedrijf en het bedrijf kan meerdere personen te werk stellen 2005 Prof. Dr. O. De Troyer Klasse Model pag. 40

21 2.8 Multipliciteit Multipliciteit Aantal instanties van een klasse dat kan verbonden zijn met één instantie van een geassocieerde klasse 1 juist 1 1..* 1 of meer tot 5, 5 inbegrepen * meerdere 2005 Prof. Dr. O. De Troyer Klasse Model pag Multipliciteit - voorbeelden 1-1 associatie Met een welbepaalde stad kan juist 1 land verbonden zijn via de associatie HeeftHoofdstad Met een welbepaalde land kan juist 1 stad verbonden zijn via de associatie HeeftHoofdstad 2005 Prof. Dr. O. De Troyer Klasse Model pag. 42

22 2.8 Multipliciteit - voorbeelden 1-veel associatie Met een cursus is juist 1 professor geassocieerd, m.a.w een cursus wordt maar door 1 professor gedoceerd. Met een professor kunnen 0 of meerdere cursussen geassocieerd zijn, m.a.w een professor kan meerdere cursussen doceren Prof. Dr. O. De Troyer Klasse Model pag Multipliciteit - voorbeelden 2005 Prof. Dr. O. De Troyer Klasse Model pag. 44 veel-veel associatie Met een bedrijf kunnen meerdere personen geassocieerd zijn via de associatie HeeftAandelen, m.a.w een bedrijf kan meerdere aandeelhouders hebben. Met een persoon kunnen meerdere bedrijven geassocieerd zijn via de associatie HeeftAandelen, m.a.w een persoon kan aandelen hebben van verschillende bedrijven.

23 2.8 Multipliciteit - voorbeelden Met een bedrijf kunnen meerdere personen geassocieerd zijn via de associatie WerktVoor, m.a.w een bedrijf kan meerdere werknemers hebben. Met een persoon kan geen of juist 1 bedrijf geassocieerd zijn via de associatie WerktVoor, m.a.w een persoon werkt voor 1 of geen bedrijf Prof. Dr. O. De Troyer Klasse Model pag Rolnamen Een klasse speelt een welbepaalde rol in een associatie Persoon speelt de rol van werknemer in deze associatie. Bedrijf speelt de rol van werkgever in deze associatie Prof. Dr. O. De Troyer Klasse Model pag. 46 Rolnamen: niet altijd verplicht.

24 2.9 Rolnamen Gebruik van rolnamen is optioneel, maar noodzakelijk voor associaties tussen dezelfde klasse In UML zijn rolnamen meestal zelfstandige naamwoorden 2005 Prof. Dr. O. De Troyer Klasse Model pag Rolnamen Alle rolnamen moeten uniek zijn voor een klasse en verschillend van van de attribuutnamen gebruikt in de klasse Een rol kan gezien worden als een soort attribuut 2005 Prof. Dr. O. De Troyer Klasse Model pag. 48

25 2.9 Rol vs Klasse of Klasse: als elke instantie onafhankelijk kan bestaan als elke instantie steeds een instantie van de klasse blijft Rol: Instantie kan alleen bestaan als er een link is met een ander object 2005 Prof. Dr. O. De Troyer Klasse Model pag Ordening van links Wanneer een object verbonden is met meerdere objecten door middel van links dan is er geen expliciete orde Voorbeeld Een professor is verbonden met een verzameling van cursussen Soms is een orde aangewezen: geordende verzameling 2005 Prof. Dr. O. De Troyer Klasse Model pag. 50

26 2.11 Bags en Sequences Normaal is er ten hoogste 1 link tussen 2 objecten Meerdere links tussen dezelfde 2 objecten zijn mogelijk via bags en sequences Bag: verzameling waarin duplicaten toegelaten zijn Sequence: geordende verzameling waarin duplicaten toegelaten zijn 2005 Prof. Dr. O. De Troyer Klasse Model pag Bags en Sequences {sequence} is gelijk aan {ordered} {bag} 2005 Prof. Dr. O. De Troyer Klasse Model pag. 52

27 2.12 Associatie klassen Associatie Klasse een associatie die tevens een klasse is Laat toe om links te beschrijven door middel van attributen en er operaties aan toe te kennen 2005 Prof. Dr. O. De Troyer Klasse Model pag Associatie klassen /documents/les1 read Marie /documents/les1 read-write Olga /documents/les2 read-write Olga 2005 Prof. Dr. O. De Troyer Klasse Model pag. 54

28 2.12 Associatie klassen De objecten van een associatie klasse krijgen hun identiteit van de instanties verbonden door de link /documents/les1 read Marie /documents/les1 read-write Jan /documents/les2 read-write Jan /documents/les2 read Jan Niet toegelaten! 2005 Prof. Dr. O. De Troyer Klasse Model pag Associatie klassen Associatie klassen zijn ook mogelijk voor 1-1 associaties and 1-veel associaties 2005 Prof. Dr. O. De Troyer Klasse Model pag. 56

29 2.12 Associatie klassen Het is beter om de attributen van 1-1 en 1-veel associaties te modeleren via associatie klassen dan deze attributen toe te voegen aan één van de klassen GOED Slecht model Te vermijden 2005 Prof. Dr. O. De Troyer Klasse Model pag Associatie klassen Een associatie klasse kan ook participeren in andere associaties Een gebruiker heeft toegang toe meerdere computer. Op elke computer heeft hij andere toegangsrechten. En op elke computer heeft hij 1 home folder. Verschillende gebruikers kunnen dezelfde home folder hebben 2005 Prof. Dr. O. De Troyer Klasse Model pag. 58

30 2.12 Associatie klassen Een associatie klasse is verschillend van een associatie die gepromoveerd werd tot klasse (Jan, project1) manager, 10 (Jan, project2) analist, 30 (Dirk, project1) analist, 20 (Piet, project1) programmeur, 40 (Jan, job1) (Jan,job2) (Dirk, job3) (Piet, job4) (Piet, job5) (job1,project1) (job2, project2) (job3, project1) (job4,project1) (job5, project1) 2005 Prof. Dr. O. De Troyer Klasse Model pag Specialisatie en generalisatie Voorbeeld Stockbeheer Onderdelen Naam, fabrikant, gewicht, prijs Maar er zijn verschillende soorten onderdelen: Pompen» Zuigkracht, doorstroomvolume Tanken» Volume, druk Pomp en Tank te beschouwen als speciale soorten onderdelen 2005 Prof. Dr. O. De Troyer Klasse Model pag. 60

31 2.13 Specialisatie en generalisatie De klassen Pomp en Tank hebben alle attributen en operaties van de klasse Onderdeel, maar ook nog extra attributen en operaties 2005 Prof. Dr. O. De Troyer Klasse Model pag Specialisatie en generalisatie superklasse Specialisatie/generalisatie subklasse Alle eigenschappen van Onderdeel zijn impliciet ook eigenschappen van Pomp Pomp Naam, fabrikant, gewicht, prijs, aantal, zuigkracht, doorstroomvolume updatestock 2005 Prof. Dr. O. De Troyer Klasse Model pag. 62

32 2.13 Specialisatie en generalisatie Specialisatie/generalisatie organiseert klassen op basis van gemeenschappelijke en discriminerende eigenschappen in een hiërarchie De superklasse bevat de gemeenschappelijke attributen, operaties en associaties; de subklasse voegt hier specifieke attributen, operaties en associaties aan toe Elke subklasse erft de eigenschappen van zijn superklasse 2005 Prof. Dr. O. De Troyer Klasse Model pag Specialisatie en generalisatie Verkorte notatie bij meerdere subklassen voor 1 superklasse: dimensie Logische groepering van subklassen Meerdere dimensies mogelijk per superklasse Naam van de dimensie: optioneel OnderdeelType 2005 Prof. Dr. O. De Troyer Klasse Model pag. 64

33 2.13 Specialisatie en generalisatie Generalisatie/specilalisatie wordt ook een is-een relatie genoemd Elke instantie van de subklasse is ook een instantie van de superklasse Voorbeelden: Elke pomp is een onderdeel Elke vrouw is een persoon Elke kat is een dier Tegenvoorbeeld: elk dier is geen kat Een instantie van een subklasse heeft een waarde voor elk attribuut van elke (directe of indirecte) superklasse Een instantie kan een methode uitvoeren van elke van zijn (directe of indirecte) superklassen 2005 Prof. Dr. O. De Troyer Klasse Model pag Specialisatie en generalisatie Er kunnen verschillende niveaus zijn Een subklasse kan superklasse zijn van een andere subklasse Generalisatie is transitief over de verschillende niveaus PompelPomp erft van Pomp Pomp erft van Onderdeel Dus PompelPomp erft ook van Onderdeel PompelPomp is subklasse van Pomp Pomp is subklasse van Onderdeel Dus PompelPomp is ook subklasse van Onderdeel 2005 Prof. Dr. O. De Troyer Klasse Model pag. 66

34 2.13 Specialisatie en generalisatie 2005 Prof. Dr. O. De Troyer Klasse Model pag Specialisatie en generalisatie Waarom subklasse hiërarchieën gebruiken? 1. Abstractie mechanisme Laat toe om beschrijvingen van complexe klasse stapsgewijs op te bouwen Voorbeeld: Persoon - personeelslid - Academisch Personeelslid - Zelfstandig Academisch Personeelslid 2005 Prof. Dr. O. De Troyer Klasse Model pag. 68

35 2.13 Specialisatie en generalisatie Waarom subklasse hiërarchieën gebruiken? 2. Onderhoudbaarheid Aanpassingen zijn gelokaliseerd tot het niveau waar ze gespecificeerd zijn window 2005 Prof. Dr. O. De Troyer Klasse Model pag Specialisatie en generalisatie Waarom subklasse hiërarchieën gebruiken? 3. Uitbreidbaarheid Nieuwe subklassen kunnen eenvoudig toegevoegd worden zonder de andere klassen te beïnvloeden 2005 Prof. Dr. O. De Troyer Klasse Model pag. 70

36 2.13 Specialisatie en generalisatie Overschrijven ( Overriding ) Een subklasse kan eigenschappen die geërfd werden aanpassen. Dit wordt overriding genoemd. Methoden en default waarden van attributen kunnen overschreven worden Signatuur van de operatie (aantal en type van de argumenten en return type) moet bewaard blijven Overriding mag nooit aanleiding geven tot inconsistenties 2005 Prof. Dr. O. De Troyer Klasse Model pag. 71 Voorbeeld overschrijven default waarde van attribuut 2.13 Specialisatie en generalisatie 2005 Prof. Dr. O. De Troyer Klasse Model pag. 72

37 Voorbeeld overschrijven Methoden overschrijven 2.13 Specialisatie en generalisatie 2005 Prof. Dr. O. De Troyer Klasse Model pag. 73 Waarom overschrijven? 2.13 Specialisatie en generalisatie Als de methode voor een operatie bepaald wordt door de subklasse In het voorbeeld van Figure zal de methode display verschillend zijn voor elke subklasse Om de specificatie meer specifiek te maken Bijv. Het type van een attribuut meer specifiek maken: integer -> small integer. Om de performantie te verbeteren De methode rotate kan aangepast worden voor Circle, nl. de rotatie van een cirkel hoeft niets te doen 2005 Prof. Dr. O. De Troyer Klasse Model pag. 74

3.1 Opsomming data type

3.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 informatie

Objectgeorïenteerd werken is gebaseerd op de objecten die door het systeem gemanipuleerd worden.

Objectgeorï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 informatie

Hoofdstuk 9: Object Constraint language (OCL) Prof. Dr. Olga De Troyer. Constraints

Hoofdstuk 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 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

Deel I Hoofdstuk 4: Modelleren van Toestand

Deel 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 informatie

Deel II: Modelleren en software ontwikkeling. Hoofdstuk 7 Software ontwikkeling - Overzicht. Naïeve benadering

Deel 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 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

voorbeeldexamen 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 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 informatie

Deel I Hoofdstuk 6: Modelleren van interactie

Deel I Hoofdstuk 6: Modelleren van interactie Deel I Hoofdstuk 6: Modelleren van interactie 2005 Prof Dr. O. De Troyer, pag. 1 Introductie Interactiemodellen beschrijven de interactie die plaats vindt tussen objecten Toestandsmodellen beschrijven

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

Keteininformatiemodellering op basis van UML

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

Nadere informatie

Les F-02 UML. 2013, David Lans

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

Nadere informatie

Top-down ontwerpen. Concentreren op de hoofdzaak zonder rekening te houden met allerlei details.

Top-down ontwerpen. Concentreren op de hoofdzaak zonder rekening te houden met allerlei details. Top-down ontwerpen Concentreren op de hoofdzaak zonder rekening te houden met allerlei details. Dus: de belangrijkste entiteittypes en hun onderlinge structuur proberen te vinden. De relaties in tekst

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

Uitbreiding van UM Aquo cluster metingen, toevoegen optioneel attribuut Identificatie waarnemingssoort aan klasse WaardeReeks MIDDELGROOT

Uitbreiding van UM Aquo cluster metingen, toevoegen optioneel attribuut Identificatie waarnemingssoort aan klasse WaardeReeks MIDDELGROOT Uitbreiding van UM Aquo cluster metingen, toevoegen optioneel attribuut Identificatie waarnemingssoort aan klasse WaardeReeks algemeen onderdeel: Publicatiedatum 1 mei 2012 UM Aquo - metingen Status concept

Nadere informatie

het bank voorbeeld ISO Datamodelleren modelleren met het E-R R model een database ontwerpen verzamelingen van relaties (verbanden)

het bank voorbeeld ISO Datamodelleren modelleren met het E-R R model een database ontwerpen verzamelingen van relaties (verbanden) het bank voorbeeld ISO Datamodelleren Prof. dr. Paul De Bra waarom zijn er drie tabellen om klanten en rekeningen voor te stellen? customer (customer_name, customer_street, customer_city) account (account_number,

Nadere informatie

Abstracte klassen & Interfaces

Abstracte 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 informatie

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

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

Nadere informatie

Programmeren in C# Overerving

Programmeren in C# Overerving Programmeren in C# Overerving Programmeren in C# 2 public class Balloon private int x = 50; private int y = 50; private int diameter = 20; public int Diameter getreturn diameter; setif (value

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

Programmeren in Java 3

Programmeren in Java 3 26 september 2007 Deze les korte herhaling vorige les Unified Modelling Language notatie van een class afleiding pointers abstracte classes polymorphisme dubieuze(?) constructies interfaces Meer over class

Nadere informatie

ISO Datamodelleren. Prof. dr. Paul De Bra. Gebaseerd op: Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan

ISO Datamodelleren. Prof. dr. Paul De Bra. Gebaseerd op: Database System Concepts, 5th Ed. Silberschatz, Korth and Sudarshan ISO Datamodelleren Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. het bank voorbeeld waarom zijn er drie tabellen om klanten en rekeningen voor te stellen? customer (customer_name,

Nadere informatie

IMP Uitwerking week 13

IMP Uitwerking week 13 IMP Uitwerking week 13 Opgave 1 Nee. Anders moet bijvoorbeeld een venster applicatie een subklasse zijn van zowel Frame en WindowListener. Als de applicatie ook een button of een menu heeft, dan moet het

Nadere informatie

Overerving & Polymorfisme

Overerving & Polymorfisme Overerving & Polymorfisme Overerving Sommige klassen zijn speciaal geval van andere klasse Docent is een speciaal geval van werknemer, dwz. elke docent is ook werknemer Functionaliteit van docent = functionaliteit

Nadere informatie

ALGORITME objectgeoriënteerd programmeren

ALGORITME objectgeoriënteerd programmeren ALGORITME objectgeoriënteerd programmeren Gunter Schillebeeckx 1 objectgeoriënteerd programmeren Object Klasse Instantie Eigenschap Methode Inkapseling Polymorfisme Overerving 2 Inleiding Kern Samenvatting

Nadere informatie

Hoofdstuk 5. case: klassediagram

Hoofdstuk 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 informatie

Problemen met platte toestandsdiagrammen

Problemen met platte toestandsdiagrammen Deel I Hoofdstuk 5: Modelleren van toestand -- gevorderd 2005 Prof Dr. O. De Troyer OO modelleren pag. 1 Problemen met platte toestandsdiagrammen Bij complexe systemen krijgt men een explosie van toestanden

Nadere informatie

EEN INLEIDING IN DE UNIFIED MODELING LANGUAGE

EEN INLEIDING IN DE UNIFIED MODELING LANGUAGE Een inleiding in de Unified Modeling Language 51 III EEN INLEIDING IN DE UNIFIED MODELING LANGUAGE Als een aannemer een huis bouwt, dan ontwerpt hij dat huis niet terwijl hij het bouwt. Hij bouwt het huis

Nadere informatie

Unified Modeling Language

Unified Modeling Language Unified Modeling Language Een overzicht Danny Greefhorst Matthijs Maat 19 december 1997 Copyright 1997 Software Engineering Research Centre All rights reserved. Software Engineering Research Centre Stichting

Nadere informatie

Verder zijn er de nodige websites waarbij voorbeelden van objectgeoriënteerd PHP (of Objec Oriented PHP, OO PHP) te vinden zijn.

Verder zijn er de nodige websites waarbij voorbeelden van objectgeoriënteerd PHP (of Objec Oriented PHP, OO PHP) te vinden zijn. Objectgeoriënteerd PHP (versie 5) Kennisvereisten: Ervaring met programmeren in PHP met MySQL Je weet wat een class of klasse is Je weet wat een instantie van een klasse (een object) is Je weet wat een

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

Uitwerking Toets ontwerpen 4 december 2013

Uitwerking 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 informatie

Informatiemodel Ruimtelijke Ordening (IMRO) 2006. Modeldocument: beschrijving van het model. Opdrachtnemer: Ravi

Informatiemodel Ruimtelijke Ordening (IMRO) 2006. Modeldocument: beschrijving van het model. Opdrachtnemer: Ravi 6 Informatiemodel Ruimtelijke Ordening (IMRO) 2006 Modeldocument: beschrijving van het model Juni 2006 Opdrachtnemer: Ravi Inhoudsopgave 1. Inleiding... 1 2. Onderwerp en toepassingsgebied... 2 3. Relatie

Nadere informatie

Stacks and queues. Hoofdstuk 6

Stacks 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 informatie

Vakgroep CW KAHO Sint-Lieven

Vakgroep 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 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

Software-Ontwikkeling I Academiejaar 2006-2007

Software-Ontwikkeling I Academiejaar 2006-2007 Software-Ontwikkeling I Academiejaar 2006-2007 Project: Bibliotheekbeheer 1 1. Digitale bibliotheek a. Inleiding Bibliotheken houden onder meer hun collecties van uitleenbare artikels bij in digitaal formaat.

Nadere informatie

Noties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst

Noties Informatica. In java fungeren objecten als een model voor de elementen waarin een probleem kan worden opgesplitst s Informatica Hoofdstuk 1 Object Klasse Methode Parameters Type Velden Toestand Compiler Resultaten (returnwaarde) In java fungeren objecten als een model voor de elementen waarin een probleem kan worden

Nadere informatie

Project network. Gebaseerd op paragrafen , uit het boek. We simuleren een sociaal netwerk

Project network. Gebaseerd op paragrafen , uit het boek. We simuleren een sociaal netwerk Project network Gebaseerd op paragrafen 10.1-10.7, 11.1-11.6 uit het boek. We simuleren een sociaal netwerk Er zijn twee soorten berichten: tekstberichten en fotoberichten,... voorgesteld door de klassen

Nadere informatie

Inhoud leereenheid 1. Objectgeoriënteerd ontwerpen. Introductie 17. Leerkern 18. Samenvatting 50. Zelftoets 51. Terugkoppeling 52

Inhoud leereenheid 1. Objectgeoriënteerd ontwerpen. Introductie 17. Leerkern 18. Samenvatting 50. Zelftoets 51. Terugkoppeling 52 Inhoud leereenheid 1 Objectgeoriënteerd ontwerpen Introductie 17 Leerkern 18 1 Objectgeoriënteerd ontwerpen 18 1.1 Softwareontwikkeling 18 1.2 Wat is een goed programma? 24 1.3 Objectkeuze 28 2 UML-diagrammen

Nadere informatie

Metamodel M(etamodel) I(nformatiemodellen) G(emeenten)

Metamodel M(etamodel) I(nformatiemodellen) G(emeenten) Metamodel M(etamodel) I(nformatiemodellen) G(emeenten) (metamodel voor informatiemodellen KING en Kadaster + extensie) Het metamodel MIG (Metamodel Informatiemodellen Gemeenten) is het metamodel voor de

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

Inhoud leereenheid 1. Introductie. Leerkern. Objectgeoriënteerd ontwerpen. Zelftoets. Terugkoppeling. 1 Objectgeoriënteerd ontwerpen

Inhoud leereenheid 1. Introductie. Leerkern. Objectgeoriënteerd ontwerpen. Zelftoets. Terugkoppeling. 1 Objectgeoriënteerd ontwerpen Inhoud leereenheid 1 Objectgeoriënteerd ontwerpen Introductie Leerkern 1 Objectgeoriënteerd ontwerpen 1.1 Software-ontwikkeling 1.2 Wat is een goed programma? 1.3 Objectkeuze 2 Klassediagrammen en volgordediagrammen

Nadere informatie

Leren programmeren in C# Deel 4 - Objectoriëntatie

Leren programmeren in C# Deel 4 - Objectoriëntatie Leren programmeren in C# Deel 4 - Objectoriëntatie Michiel Rotteveel Leren programmeren in C# Deel 4 - Objectoriëntatie Brinkman Uitgeverij Amsterdam 2017 Leeswijzer double gereserveerde woorden C# PictureBox

Nadere informatie

Informatica. 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 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 informatie

Taal van de Laan WAZZUP? Hoeveel doekoe kost die fatoe? Paul Janssen - Geonovum p.janssen@geonovum.nl

Taal van de Laan WAZZUP? Hoeveel doekoe kost die fatoe? Paul Janssen - Geonovum p.janssen@geonovum.nl Taal van de Laan Hoeveel doekoe kost die fatoe? WAZZUP? Paul Janssen - Geonovum p.janssen@geonovum.nl Digitaal Stelsel Omgevingswet Digitaal Stelsel Omgevingswet Eén loket Eén Virtuele databank Standaarden

Nadere informatie

case: ocl-expressies

case: 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 informatie

VI. Klassen en objecten

VI. Klassen en objecten VI. Klassen en objecten Klassen en objecten vormen het fundament van OOP. We zullen dus uitgebreid aandacht besteden aan klassen en objecten. U kunt Java niet begrijpen zonder goed met klassen en objecten

Nadere informatie

Inhoud leereenheid 2. Overerving (1) Introductie 59. Leerkern 60. Samenvatting 88. Zelftoets 90. Terugkoppeling 94

Inhoud leereenheid 2. Overerving (1) Introductie 59. Leerkern 60. Samenvatting 88. Zelftoets 90. Terugkoppeling 94 Inhoud leereenheid 2 Overerving (1) Introductie 59 Leerkern 60 1 Specialisatie en generalisatie 60 2 Functionaliteit aan een klasse toevoegen 62 2.1 Toegangsspecificaties 63 2.2 Definitie van subklassen

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

Semantische Netwerken & Frames. Geen revolutie... Ontologieën. Linnaeus

Semantische Netwerken & Frames. Geen revolutie... Ontologieën. Linnaeus Semantische Netwerken & Frames Geen revolutie... Belang laatste jaren zeer sterk toegenomen: als basis voor description logics (DL s) als basis voor de beschrijving van terminologieën in bepaalde domeinen

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

Inhoudstafel. UML (Unified Modeling Language)

Inhoudstafel. 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 informatie

ER-modeling. Datamodellering Wat is ER-modeling?

ER-modeling. Datamodellering Wat is ER-modeling? ER-modeling Datamodellering 2008 1 Wat is ER-modeling? ER-modelleren: top-down benadering bedacht door P. Chen 1976, paper in ACM Transactions on Database Systems Codd (Relationeel Model) aanvankelijk

Nadere informatie

ER-modeling. Wat is ER-modeling? ERD & relationeel model. ER-benadering DMO Datamodellering 2008

ER-modeling. Wat is ER-modeling? ERD & relationeel model. ER-benadering DMO Datamodellering 2008 ER-modeling Datamodellering 2008 1 Wat is ER-modeling? ER-modelleren: top-down benadering bedacht door P. Chen 1976, paper in ACM Transactions on Database Systems Codd (Relationeel Model) aanvankelijk

Nadere informatie

Kleine cursus PHP5. Auteur: Raymond Moesker

Kleine cursus PHP5. Auteur: Raymond Moesker Kleine cursus PHP5 Auteur: Raymond Moesker Kleine cursus PHP PHP is platform en CPU onafhankelijk, open source, snel, heeft een grote userbase, het is object georiënteerd, het wordt omarmd door grote bedrijven

Nadere informatie

Oplossingen voor het testen van objectgeoriënteerde software

Oplossingen voor het testen van objectgeoriënteerde software Oplossingen voor het testen van objectgeoriënteerde software Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 14 maart 2013 HOM/FHTeL Oplossingen voor het testen

Nadere informatie

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89.

Inhoud leereenheid 7c. JavaScript: Objecten en functies. Introductie 59. Leerkern 60. Samenvatting 82. Opdrachten 83. Zelftoets 89. Inhoud leereenheid 7c JavaScript: Objecten en functies Introductie 59 Leerkern 60 1 Functies 60 1.1 Syntax - samenvatting 60 1.2 Functies definiëren 61 1.3 Functie als parameter (facultatief) 64 1.4 Functie

Nadere informatie

I.3 Functies. I.3.2 Voorbeeld. De afbeeldingen f: R R, x x 2 en g: R R, x x 2 zijn dus gelijk, ook al zijn ze gegeven door verschillende formules.

I.3 Functies. I.3.2 Voorbeeld. De afbeeldingen f: R R, x x 2 en g: R R, x x 2 zijn dus gelijk, ook al zijn ze gegeven door verschillende formules. I.3 Functies Iedereen is ongetwijfeld in veel situaties het begrip functie tegengekomen; vaak als een voorschrift dat aan elk getal een ander getal toevoegt, bijvoorbeeld de functie fx = x die aan elk

Nadere informatie

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double.

Datatypes Een datatype is de sort van van een waarde van een variabele, veel gebruikte datatypes zijn: String, int, Bool, char en double. Algemeen C# Variabele Een variabele is een willekeurige waarde die word opgeslagen. Een variabele heeft altijd een datetype ( De soort waarde die een variabele bevat). Datatypes Een datatype is de sort

Nadere informatie

Modeleren. Modelleren. Together UML. Waarvan maken we een model? overzicht les 14 t/m 18. ControlCenter 6.2

Modeleren. 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 informatie

SQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003

SQL Aantekeningen 3. Maarten de Rijke mdr@science.uva.nl. 22 mei 2003 SQL Aantekeningen 3 Maarten de Rijke mdr@science.uva.nl 22 mei 2003 Samenvatting In deze aflevering: het selecteren van tuples, operaties op strings, en aggregatie functies. Verder kijken we naar iets

Nadere informatie

Hoofdstuk: 1 Objectoriëntatie en systeemontwikkeling

Hoofdstuk: 1 Objectoriëntatie en systeemontwikkeling OOF Programmeren Hoofdstuk: 1 Objectoriëntatie en systeemontwikkeling aant Css: 2 669 Objectoriëntatie en systeemontwikkeling - blz 5 1 OO OO staat voor object oriented of objectoriëntatie of objecttechnologie.

Nadere informatie

H9: Klasse Ontwerp. Richtlijnen Specificaties Multiple inheritence

H9: 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 informatie

Objectgericht Ontwerpen

Objectgericht 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 informatie

Semantiek 1 college 10. Jan Koster

Semantiek 1 college 10. Jan Koster Semantiek 1 college 10 Jan Koster 1 Vandaag Vorige keer: conceptuele structuur en semantische decompositie Vandaag: inleiding in de formele semantiek Gebruikt notaties uit formele logica plus de daar gehanteerde

Nadere informatie

Oplossingen voor het testen van objectgeoriënteerde software

Oplossingen voor het testen van objectgeoriënteerde software Oplossingen voor het testen van objectgeoriënteerde software Pieter van den Hombergh Fontys Hogeschool voor Techniek en Logistiek Software Engineering 14 maart 2013 HOM/FHTeL Oplossingen voor het testen

Nadere informatie

Interactie diagrammen

Interactie 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 informatie

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction

Informatica. Deel II: les 1. Java versus Python. Jan Lemeire Informatica deel II februari mei 2014. Parallel Systems: Introduction Informatica Deel II: les 1 Java versus Python Jan Lemeire Informatica deel II februari mei 2014 Parallel Systems: Introduction Arabidopsis (zandraket) Arabidopsis (zandraket) MMIQQA Multimodal Microscopic

Nadere informatie

G e n e r e r e n v a n o p e r a t i o n e l e s p e c i f i c a t ies aan de hand van UML d i a g r a m m e n

G e n e r e r e n v a n o p e r a t i o n e l e s p e c i f i c a t ies aan de hand van UML d i a g r a m m e n G e n e r e r e n v a n o p e r a t i o n e l e s p e c i f i c a t ies aan de hand van UML d i a g r a m m e n Bache lor sc riptie Auteur: Mark Zandstra (0413429) Begeleider: Patrick van Bommel Tweede

Nadere informatie

Zelftest 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 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 informatie

InformatieModel Water (IMWA) 2013

InformatieModel Water (IMWA) 2013 InformatieModel Water (IMWA) 2013 Auteur Datum IHW 21-augustus-2013 Versie 5.0 Documentbeheer Wijzigingshistorie Datum Versie Auteur Wijziging H-J. Lekkerkerk Dit document is gebaseerd op IMWA 2005, IMWA

Nadere informatie

Opleiding SQL / Systeemanalyse IBK ERD. Hogeschool Rotterdam

Opleiding SQL / Systeemanalyse IBK ERD. Hogeschool Rotterdam Opleiding SQL / Systeemanalyse IBK ERD Hogeschool Rotterdam ERD ERD = Entity Relationship diagram is een model of diagram voor het inzichtelijk te maken van een conceptueel datamodel. Het is een visuele

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

Zelftest Programmeren in Java

Zelftest Programmeren in Java Zelftest Programmeren in Java Document: n0883test.fm 22/01/2013 ABIS Training & Consulting P.O. Box 220 B-3000 Leuven Belgium TRAINING & CONSULTING INLEIDING BIJ DE ZELFTEST PROGRAMMEREN IN JAVA Deze test

Nadere informatie

Tools voor canonieke datamodellering Bert Dingemans

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

Nadere informatie

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

Omschrijf bij ieder onderdeel van de methode de betekenis ervan. Java kent twee groepen van klassen die een GUI kunnen maken: awt en swing.

Omschrijf bij ieder onderdeel van de methode de betekenis ervan. Java kent twee groepen van klassen die een GUI kunnen maken: awt en swing. irkel (met Jpanel) ij de onderstaande opdracht behoort het bestand Panels: JPanels_1.java (map Panel) in de map irkel. pplicaties in Java hebben altijd een publieke klasse waarin een methode main voorkomt.

Nadere informatie

VERZAMELINGEN EN AFBEELDINGEN

VERZAMELINGEN EN AFBEELDINGEN I VERZAMELINGEN EN AFBEELDINGEN Het begrip verzameling kennen we uit het dagelijks leven: een bibliotheek bevat een verzameling van boeken, een museum een verzameling van kunstvoorwerpen. We kennen verzamelingen

Nadere informatie

Cursus Analyse voor Web Applicaties 1. Webdesign / Web Programmeren Analyse voor web applicaties SDM methode + Basis UML

Cursus Analyse voor Web Applicaties 1. Webdesign / Web Programmeren Analyse voor web applicaties SDM methode + Basis UML Cursus Analyse voor Web Applicaties 1 Organisatie Opleiding Module Onderwerp Syntra AB Webdesign / Web Programmeren Analyse voor web applicaties SDM methode + Basis UML Analyse op basis van SDM en UML

Nadere informatie

Hoofdstuk Error! Style not defined. 19. 3. Use-case analyse

Hoofdstuk 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 informatie

Keteininformatiemodellering op basis van Archimate

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

Nadere informatie

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

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

Directie Services Communicatie Services IMKL. Beschrijving van het model 1.1. Het Kadaster. Versie. Auteur(s)

Directie Services Communicatie Services IMKL. Beschrijving van het model 1.1. Het Kadaster. Versie. Auteur(s) Directie Services Communicatie Services IMKL Beschrijving van het model Versie 1.1 Auteur(s) Het Kadaster Datum mei 2008 Directie Services Communicatie Services Titel IMKL Versie 1.1 Blad 1 van 51 IMKL

Nadere informatie

Systeem modellen. Topics covered

Systeem modellen. Topics covered Systeem modellen Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 8 Slide 1 Topics covered Context models Behavioural models Data models Object models CASE workbenches Ian Sommerville 2004

Nadere informatie

Entity-Relationship Diagram (ERD) Modelleren

Entity-Relationship Diagram (ERD) Modelleren Entity-Relationship Diagram (ERD) Modelleren Huub de Beer Eindhoven, 4 juni 2011 Informatiesysteemontwikkeling en modelleren in fasen 1. Gegevensstromen naar en van het systeem: DFD 2. Gegevens die in

Nadere informatie

Hoofdstuk 1. Inleiding. Lichamen

Hoofdstuk 1. Inleiding. Lichamen Hoofdstuk 1 Lichamen Inleiding In Lineaire Algebra 1 en 2 heb je al kennis gemaakt met de twee belangrijkste begrippen uit de lineaire algebra: vectorruimte en lineaire afbeelding. In dit hoofdstuk gaan

Nadere informatie

Objectgeoriënteerd Programmeren: WPO 2a

Objectgeoriënteerd Programmeren: WPO 2a Objectgeoriënteerd Programmeren: WPO 2a 1. Inhoud Eenvoudige (enkelvoudige) overerving, override, ToString(), base, private, public, protected, virtual 2. Inleiding 2.1 Overerving In het voorgaande WPO

Nadere informatie

Tentamen SPM1120 Analyse van bedrijfssystemen 18 Januari 2011, 9:00-12:00

Tentamen SPM1120 Analyse van bedrijfssystemen 18 Januari 2011, 9:00-12:00 Tentamen SPM20 Analyse van bedrijfssystemen 8 Januari 20, 9:00-2:00 Bij de meerkeuzevragen, vul de antwoorden in op het schrapformulier. Vul daarop behalve je naam ook je studienummer in (zowel in cijfers

Nadere informatie

Object Oriëntatie Foundation (OOF.NL)

Object Oriëntatie Foundation (OOF.NL) Object Oriëntatie Foundation (OOF.NL) EXIN Hét exameninstituut voor ICT ers Janssoenborch - Hoog Catharijne Godebaldkwartier 365 3511 DT Utrecht Postbus 19147 3501 DC Utrecht Nederland T +31 30 234 48

Nadere informatie

Officiële uitgave van het Koninkrijk der Nederlanden sinds 1814.

Officiële uitgave van het Koninkrijk der Nederlanden sinds 1814. STAATSCOURANT Officiële uitgave van het Koninkrijk der Nederlanden sinds 1814. Nr. 4615 22 maart 2010 Regeling van de Minister van Economische Zaken van 23 februari 2010, nr. WJZ/9230923, houdende regels

Nadere informatie

Inleiding Programmeren 2

Inleiding Programmeren 2 Inleiding Programmeren 2 Gertjan van Noord, Leonie Bosveld 12 december 2016 Zelle hoofdstuk 10 Stof Overzicht - theorie 1. Zelle hoofdstuk 4 en 5 2. Zelle hoofdstuk 7 en 8, recursie, Brookshear hoofdstuk

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

Voorstel voor wijziging Informatiemodel ZTC

Voorstel voor wijziging Informatiemodel ZTC Voorstel voor wijziging Informatiemodel ZTC Van: Arjan Kloosterboer Datum: 5-9-2013 Ter bespreking in Expertgroep Informatiemodellen dd. 12-9-2013 In maart 2013 is de ZTC 2.0 gepubliceerd. Een onderdeel

Nadere informatie

Onderwerp Vertaling van de rollen van een betrokkene in een zaak naar StUF-ZKN 3.20 Vergaderstuk ter Besluitvorming Datum Bijlagen

Onderwerp Vertaling van de rollen van een betrokkene in een zaak naar StUF-ZKN 3.20 Vergaderstuk ter Besluitvorming Datum Bijlagen Memo Van Henri Korver Aan StUF Expertgroep & Discussieforum StUF-ZKN 3.20 Afdeling KING/E-Diensten Onderwerp Vertaling van de rollen van een betrokkene in een zaak naar StUF-ZKN 3.20 Vergaderstuk ter Besluitvorming

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

Inhoud hoofdstuk 9. Domeinmodellen. Introductie 89. Leerkern 90. Zelftoets 120. Terugkoppeling 121

Inhoud hoofdstuk 9. Domeinmodellen. Introductie 89. Leerkern 90. Zelftoets 120. Terugkoppeling 121 Inhoud hoofdstuk 9 Domeinmodellen Introductie 89 Leerkern 90 1 Wat is een domeinmodel? 90 2 De bouwstenen van een domeinmodel 91 2.1 Klassen en attributen 91 2.2 Afleidbare attributen 92 2.3 Attributen

Nadere informatie

HL7 v3 in een notendop

HL7 v3 in een notendop HL7 v3 in een notendop Relatie : Furore Contactpersoon : - Auteur : Christiaan Knaap Collegiale toetsing : Versie : 1.0 Datum : 8 augustus 2007 Kenmerk : Fur_HL7v3notendop_1-0 Bruggebouw Bos en Lommerplein

Nadere informatie

Rapportage Lineage. Introductie. Methode. J. Stuiver

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

Nadere informatie