3.1 Opsomming data type
|
|
|
- Nienke Eilander
- 10 jaren geleden
- Aantal bezoeken:
Transcriptie
1 Deel I Hoofdstuk 3: Klasse Model - gevorderd 2005 Prof Dr. O. De Troyer Klasse Model - gevorderd pag Opsomming data type Opsomming (enumeration) data type Data type waarvan de verzameling waarden eindig en opsombaar is Voorbeelden: Klasse Person, attribuut sex: {m, f} Klasse Figure, attribuut pentype: {solid, dashed, dotted} Klasse TwoDimentional, attribuut filltype: {solid, grey, none, horizontal lines, vertical lines} 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 2
2 3.1 Opsomming data type Colour: {red, yellow, green} 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Opsomming data type Gebruik geen subklassen om enkel de waarden van een opsombaar attribuut weer te geven Gebruik enkel subklassen indien ten minste 1 subklasse significant andere attributen, operaties of associaties heeft die niet van toepassing zijn voor het supertype 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 4
3 3.1 Opsomming data type - UML notatie 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Multipliciteit voor attributen Multipliciteit voor een attribuut Aantal mogelijke waarden voor het attribuut voor één instantie [1] juist é én (verplicht enkelwaardig attribuut) [0..1] optioneel enkelwaardig attribuut [*] meerdere waarden Default: [1] 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 6
4 Klasse multipliciteit Klasse multipliciteit Geeft aan hoeveel instanties de klasse kan hebben Default is 0 of meer (geen beperking) Soms is het nuttig om aan te duiden dat een klasse maar 1 instantie kan hebben 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Klasse attributen en operaties Klasse attribuut is een (benoemde) eigenschap van de klasse zelf die een waarde beschrijft voor de klasse Klasse operatie Een functie of een procedure die kan worden toegepast door de klasse Klasse attributen - voorbeelden: Mailbox: maxmessages, maxlengthmessage Klasse operaties - voorbeelden: creëer, totaalaantal, gemiddelde UML notatie: klasse attribuut/operatie wordt onderlijnd 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 8
5 3.4 Zichtbaarheid Principe OO: Encapsulatie attributen en methoden zijn niet zichtbaar buiten de methoden van de klasse; operaties wel Veel OO-talen zondigen hier echter tegen Public ( + ): zichtbaar en vrij toegankelijk vanuit alle methoden Protected ( # ): enkel zichtbaar en toegankelijk vanuit methoden van de klasse en subklassen Private ( - ): enkel zichtbaar en toegankelijk vanuit methoden van de klasse package ( ~ ): enkel zichtbaar en toegankelijk vanuit methoden in hetzelfde package als de klasse 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Zichtbaarheid Private, protected en package operaties zijn meestal bedoeld als hulpoperaties Vermijd het wijzigen van public operaties Alle methoden die er gebruik van maken moeten gewijzigd worden Vermijd public attributen Bemoeilijkt wijzigingen Zondigt tegen het encapsulatie principe 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 10
6 3.5 N-aire associaties N-aire associatie associatie tussen drie of meer klassen Voorbeeld Een programmeur gebruikt een programmeertaal in een project 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag N-aire associaties Gebruik zoveel mogelijk binaire associaties N-aire associaties kunnen in principe omgezet worden naar binaire associaties Soms is een abstracte klasse nodig met een extra beperking 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 12
7 3.5 N-aire associaties is verschillend van 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag N-aire associaties Voorbeeld Project pr1 pr1 pr2 pr2 Taal t1 t2 t2 t1 Persoon p1 p2 p1 p2 Project pr1 pr1 pr1 pr1 pr2 pr2 Taal t1 t1 t2 t2 t2 t2 Persoon p1 p2 p1 p2 p1 p2 Project pr1 pr1 pr2 Taal t1 t2 t2 Project pr1 pr1 pr2 Persoon p1 p2 p1 Taal t1 t2 t2 Persoon p1 p2 p1 pr2 pr2 t1 t1 p1 p2 pr2 t1 pr2 p2 t1 p Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 14
8 3.5 N-aire associaties is equivalent met N-aire associatie heeft hier de voorkeur! 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag met elke combinatie (project, persoon, programmeertaal) kan maar 1 taalgebruik (-object) overeenstemmen ( uniqueness constraint ) 3.5 Niet N-aire associaties Niet elementaire N-aire associatie Kan worden omgezet zonder verlies van informatie naar: 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 16
9 3.5 Niet N-aire associaties Auteurschap GeschrevenDoor UitgegevenDoor Boek Persoon Uitgever Boek Persoon Boek Uitgever B1 A1 P1 B1 A1 B1 P1 B1 A2 P1 B1 A2 B2 P2 B1 A3 P1 B1 A3 B2 A3 P2 B2 A Prof. Dr. O. De Troyer Klasse Model - gevorderd pag N-aire associaties Rolnamen kunnen ook gebruikt worden bij n-aire associaties Verplicht wanneer een klasse in meer dan 1 n-aire associatie voorkomt N-aire associaties kunnen ook associatie klassen hebben 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 18
10 3.5 N-aire associaties Multipliciteiten in n-aire associaties Aantal projecten waarin een bepaalde persoon kan deelnemen met een bepaalde programmeertaal Aantal programmeertalen die een bepaalde persoon kan hanteren in een bepaald project Aantal personen die kunnen meewerken in een bepaald project en een bepaalde programmeertaal 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Aggregatie Aggregatie is een speciale associatie; de associatie modelleert een deel-van (part-of) relatie. Deze associatie verbindt een samengesteld object ( assembly ) met één van zijn onderdelen ( component ). Voorbeelden Een grasmaaier model bestaat uit een mestype, een motortype, wielen van een welbepaald type en een kaptype Een fiets model bestaat uit 2 wieltypen, een stuurtype, een frametype en een zadeltype 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 20
11 3.6 Aggregatie Voorbeeld-1 Grasmaaiertype bestaat uit een mestype, een motortype, wielen(type) en een kaptype UML notatie 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Aggregatie Voorbeeld-2 Fietstype bestaat uit 2 wieltypen, een stuurtype, een frametype en een zadeltype 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 22
12 3.6 Aggregatie Eigenschappen aggregatie associatie Transitief Als A deel is van B en B is deel van C dan is A deel van C Antisymmetrisch Als A deel is van B dan is B geen deel van A - Licht is een deel van Frame, Frame is deel van Fiets dus Licht is deel van Fiets - Wiel is deel van Fiets maar Fiets is geen deel van Wiel 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Aggregatie vs Associatie Wanneer aggregatie - Mogelijke vragen: Kan je spreken van een deel-van relatie? Fiets-Wiel: een wiel is een deel van een fiets Werknemer-Bedrijf: een werknemer is geen deel van een bedrijf Propageren sommige operaties zich automatisch naar de componenten? Produceer fiets --> produceer wiel Propageren sommige attribuutwaarden zich naar de componenten? Producent fiets Is er sprake van een intrinsieke asymmetrie? 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 24
13 3.7 Compositie Compositie beperktere vorm van aggregatie: het onderdeel is slecht deel van maximaal 1 assembly het onderdeel bestaat zolang de assenbly bestaat Voorbeelden Een fysieke grasmaaier bestaat uit een mes, een motor, wielen en een kap. Elk van de onderdelen kan maar deel uitmaken van 1 enkele grasmaaier! Een fysieke fiets bestaat uit 2 wielen, een stuur, een frame en een zadel. Elk van de onderdelen kan maar deel uitmaken van 1 enkele fiets! 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Compositie Voorbeeld-1 Een grasmaaier bestaat uit een mes, een motor, wielen en een kap. Elk van de onderdelen kan maar deel uitmaken van 1 enkele grasmaaier! UML notatie 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 26 Bij een compositie is de multipliciteit: 1 of 0..1
14 3.7 Compositie Voorbeeld-2 Fiets bestaat uit 2 wielen, een stuur, een frame en een zadel. Elk van de onderdelen kan maar deel uitmaken van 1 enkele fiets! 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Compositie Voorbeeld-3 Een bedrijf bestaat uit divisies; een divisie bestaat uit departementen en werknemers werken voor een bedrijf 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 28
15 Voorbeeld 3.8 Propageren van operaties Een document bestaat uit paragrafen en een paragraaf bestaat uit karakters. Het kopiëren van een document impliceert het kopiëren van paragrafen en dit impliceert het kopiëren van karakters Een paragraaf kan echter gekopieerd worden zonder het volledige document te moeten kopiëren. Idem voor karakters 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Propageren van operaties - notatie Een document bestaat uit paragrafen en een paragraaf bestaat uit karakters. Notatie maakt geen deel uit van UML - wel handig 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 30
16 3.9 Abstracte klassen Abstracte Klasse Klasse die geen instanties heeft maar met subklassen (directe of indirecte) die wel instanties hebben Concrete Klasse Klasse die instanties heeft Voorbeelden Figuur is een abstracte klasse Vierkant, Rechthoek en Cirkel zijn concrete klassen De abstracte klasse is een veralgemening van de concrete klassen 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Abstracte klassen -UML notatie Voorbeeld Naam klasse in schuin of Naam gevolgd door {abstract} 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 32 Alle bladeren in de boom moeten concrete klassen zijn
17 3.9 Abstracte klassen Waarom abstracte klassen? Om gemeenschappelijke attributen en/of operaties te specificeren Operaties kunnen abstract zijn (zonder implementatie). De implementatie wordt dan gegeven in de concrete klassen. Concrete klassen mogen geen abstracte operaties meer hebben! 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Abstracte klassen 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 34
18 3.9 Abstracte klassen 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Multiple Inheritance Multiple inheritance Wanneer een klasse meerdere superklassen kan hebben en van al deze superklassen kan erven Voordeel: Krachtig Bevordert hergebruik Nadeel Conflicten mogelijk Meeste programmeertalen ondersteunen geen multiple inheritance 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 36
19 3.10 Multiple Inheritance Voorbeeld 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Multiple Inheritance Workarounds - gebruik makend van delegatie 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 38
20 3.10 Multiple Inheritance Workarounds - gebruik makend van combinatie inheritance en delegatie 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Multiple Inheritance Workarounds - uitsplitsing van de subtypes 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 40
21 3.10 Multiple Inheritance Workarounds Delegatie: bij verschillende subklassen allen van gelijk belang Delegatie + inheritance: wanneer 1 subklasse duidelijk dominant (belangrijker) is Uitsplitsen: wanneer aantal combinaties beperkt is en duplicatie van beperkt is Gebruik voor subklassering eerst het meest belangrijk criterium 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Metadata MetaData data die andere data beschrijft Voorbeeld Klasse definitie Beschrijft een klasse Modellen Beschrijven de dingen die men modelleert Soms bevatten modellen ook Metadata: Een automodel is metadata voor een fysieke auto. Beide klassen (Auto en AutoModel) kunnen voorkomen in een model 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 42
22 3.13 Beperkingen ( Constraints ) Beperking (constraint) een waar/onwaar uitdrukking gebaseerd op modelelementen die een beperking uitdrukt op mogelijke waarden en/of relaties Voorbeelden: Salaris van een werknemer kan niet hoger zijn dan het salaris van de baas van deze werknemer Het salaris van een werknemer mag niet dalen De verhouding lengte/breedte van een schermvenster mag niet kleiner zijn dan 0.8 en niet groter dan Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Beperkingen ( Constraints ) Constraints kunnen uitgedrukt worden in natuurlijke taal of via een constraint taal, bijv. OCL (Object Constraint Language) - zie later Constraints voor de instances van een klasse {salaris baas.salaris} {salaris never increases} {0.8 lengte/breedte 1.5} 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 44
23 3.13 Beperkingen ( Constraints ) Constraints op subklassen Impliciete constraints Zonder multiple inheritance zijn subklassen disjunct UML voorziet Disjoint : de subklassen zijn disjunct. Elke instantie behoort tot hoogstens één subklasse Overlapping : een instantie kan tot verschillende subklassen behoren Complete : Elke instantie behoort tot minstens één subklasse Incomplete : Niet elke instantie behoort tot een subklasse 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Beperkingen ( Constraints ) -UML notatie 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 46
24 Constraints op links 3.13 Beperkingen ( Constraints ) Multipliciteit Beperkt het aantal objecten die kunnen gerelateerd zijn via een associatie met een bepaald object {ordered} geeft aan dat er een expliciete order is op de verzameling objecten gerelateerd via een associatie met een bepaald object Idem voor {sequence} en {bag} 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Beperkingen ( Constraints ) Constraints op links (vervolg) Expliciete constraints op links Subset: deelverzameling vereist tussen verzameling van links Equality: verzameling van links moet gelijk zijn Exclusion: verzamelingen van links moeten disjunct zijn 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 48
25 3.13 Beperkingen ( Constraints ) Probeer zo veel mogelijk constraints te specificeren Verhoogt de kwaliteit van het model Notatie voor constraints Tussen { en } In commentaar box Stippellijn/stippellijnpijl om elementen in een constraint te verbinden OCL (zie later) 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Afleidbare informatie Afleidbaar element element afleidbaar van ander elementen door middel van een functie Klassen, attributen en associaties kunnen afleidbaar zijn UML notatie: / 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 50
26 3.14 Afleidbare informatie Voeg enkel afleidbare elementen toe indien belangrijk of noodzakelijk (bijv. voor het gemak bij implementatie) 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag Packages Package groep elementen met een gemeenschappelijk thema Een package kan andere packages bevatten Is een abstractie mechanisme 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 52
27 3.15 Packages Denk goed na over de mogelijke opdeling in packages Klassennamen en associatienamen moeten uniek zijn binnen een package Probeer de overlap tussen packages te beperkingen Zet associaties en subklassen in hetzelfde package Een mogelijke benadering Definieer een package voor elke klasse met de volledige definitie van de klasse. In andere packages kan men dan de eenvoudige rechthoek notatie voor de klasse gebruiken de diagrammen worden luchtiger 2005 Prof. Dr. O. De Troyer Klasse Model - gevorderd pag. 53
Deel I Hoofdstuk 2: Het klassenmodel
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
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
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
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
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
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
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
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
Domeinmodellen en klassendiagrammen
Overview Architectuur Deployment-diagram Software-architectuur 1 Architectuur Deployment-diagram Software-architectuur 2 3 Architectuur Architectuur Deployment-diagram Software-architectuur Webapplicatie
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
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
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
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:
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
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
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,
Informatie-analyse volgens het NIAM model.
Informatie-analyse volgens het NIAM model. 2.1 NIAM als binair relationeel model In tegenstelling met het entiteit relatie diagram, dat gegroeid is uit de praktijk van data base ontwerp met de beschikbare
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,
Ontwerp 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
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
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
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
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
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.
DATAMODELLERING BASIS UML KLASSEMODEL
DATAMODELLERING BASIS UML KLASSEMODEL Inleiding In dit whitepaper wordt de datamodelleervorm basis UML klassemodel beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.
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
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
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
Hoofdstuk 1: Inleiding. Hoofdstuk 2: Klassen en objecten Datahiding: afschermen van implementatiedetails. Naar de buitenwereld toe enkel interfaces.
Hoofdstuk 1: Inleiding Objectoriëntatie: 1. Objecten & klassen: samenwerking van componenten om bepaald doel te bereiken; herbruikbaarheid. 2. Encapsulation: afschermen gedragingen en kenmerken van de
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
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
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
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
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
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
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
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
DATAMODELLERING ARCHIMATE DATAMODELLERING
DATAMODELLERING ARCHIMATE DATAMODELLERING Inleiding In dit whitepaper wordt de datamodelleervorm ArchiMate datamodellering beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.
UML een overzicht. Gert Florijn [email protected]
UML een overzicht Gert Florijn [email protected] Wat is UML? Unified Modeling Language The Unified Modeling Language (UML) is a graphical language for visualizing, specifying, constructing, and documenting
DATAMODELLERING BEGRIPPENBOOM
DATAMODELLERING BEGRIPPENBOOM Inleiding In dit whitepaper wordt de datamodelleervorm begrippenboom inclusief de begrippenlijst beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen.
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
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
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
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.
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...
Project Objectgericht Programmeren : Deel 3
Project Objectgericht Programmeren : Deel 3 Prof. Eric Steegmans Raoul Strackx Academiejaar 2010-2011 Deze tekst beschrijft het derde deel van de opgave voor het project van de cursus Objectgericht Programmeren.
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
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
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:...
Een 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
2WO12: Optimalisering in Netwerken
2WO12: Optimalisering in Netwerken Leo van Iersel Technische Universiteit Eindhoven (TUE) en Centrum Wiskunde & Informatica (CWI) 3 en 6 februari 2014 Leo van Iersel (TUE/CWI) 2WO12: Optimalisering in
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
DATAMODELLERING ARCHIMATE DATA- & APPLICATIEMODELLERING
DATAMODELLERING ARCHIMATE DATA- & APPLICATIEMODELLERING Inleiding In dit whitepaper wordt de datamodelleervorm ArchiMate data- & applicatiemodellering beschreven. Deze modelleervorm staat in verhouding
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
Taal van de Laan WAZZUP? Hoeveel doekoe kost die fatoe? Paul Janssen - Geonovum [email protected]
Taal van de Laan Hoeveel doekoe kost die fatoe? WAZZUP? Paul Janssen - Geonovum [email protected] Digitaal Stelsel Omgevingswet Digitaal Stelsel Omgevingswet Eén loket Eén Virtuele databank Standaarden
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
DATAMODELLERING 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.
Aan het eind van deze lesbrief wordt uitgelegd wat het nut van OOP is en vind je een aantal oefenopdrachten.
Doel van deze lesbrief Deze lesbrief is bedoeld om je op de hoogte te brengen van de basisbegrippen die gangbaar zijn bij object georiënteerd programmeren (OOP). In deze lesbrief kom je korte codefragmenten
Aquo Informatiemodellen, Uitwisselformaten en objecten
Aquo Informatiemodellen, Uitwisselformaten en objecten Overzicht van kwaliteitseisen Auteur: IHW Publicatiedatum: 1 april 2016 Versie: 1.0 Kenmerk: Zaakdossier/documentnummer Documentbeheer Wijzigingshistorie
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
Oefenvragen OMI 2005-2006 eerste helft
Oefenvragen OMI 2005-2006 eerste helft Hoewel de beide toetsen uitsluitend uit multiple-choice-vragen zullen bestaan, volgen hieronder onder zowel een aantal open vragen als meerkeuzevragen. De eerste
Getallensystemen, verzamelingen en relaties
Hoofdstuk 1 Getallensystemen, verzamelingen en relaties 1.1 Getallensystemen 1.1.1 De natuurlijke getallen N = {0, 1, 2, 3,...} N 0 = {1, 2, 3,...} 1.1.2 De gehele getallen Z = {..., 4, 3, 2, 1, 0, 1,
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
Toegepaste notatiewijzen DLA software
Toegepaste notatiewijzen DLA software Bert Dingemans [email protected] Inleiding In de DLA Software wordt gebruik gemaakt van een aantal notatiewijzen voor het opstellen van een object- en procesmodel.
Verzamelingen. Hoofdstuk 5
Hoofdstuk 5 Verzamelingen In de meest uiteenlopende omstandigheden kan het handig zijn om een stel objecten, elementen, of wat dan ook, samen een naam te geven. Het resultaat noemen we dan een verzameling.
Kenmerken van DLArchitect
Kenmerken van DLArchitect Bert Dingemans, e-mail : [email protected] www : http://www.dla-os.nl 1 Inhoud KENMERKEN VAN DLARCHITECT... 1 INHOUD... 2 INLEIDING... 3 ARCHITECTUUR... 3 Merode... 3 Methode en
DATAMODELLERING DATA MAPPING MODEL
DATAMODELLERING DATA MAPPING MODEL Inleiding In dit whitepaper wordt de datamodelleervorm data mapping model beschreven. Deze modelleervorm staat in verhouding tot een aantal andere modelleervormen. Wil
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.
Discrete Wiskunde, College 7. Han Hoogeveen, Utrecht University
Discrete Wiskunde, College 7 Han Hoogeveen, Utrecht University Sommatiefactor methode (niet in boek) Doel: oplossen van RBs als Basisidee: f n a n = g n a n 1 + c n ; 1 Vermenigvuldig de RB met een factor
III.2 De ordening op R en ongelijkheden
III.2 De ordening op R en ongelijkheden In de vorige paragraaf hebben we axioma s gegeven voor de optelling en vermenigvuldiging in R, maar om R vast te leggen moeten we ook ongelijkheden in R beschouwen.
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
DATAMODELLERING RACI MATRIX
DATAMODELLERING RACI MATRIX Inleiding In dit whitepaper wordt de datamodelleervorm RACI Matrix beschreven. Deze modelleervorm staat in verhouding tot een aantal andere data modelleervormen. Wil je een
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
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
Programmeren in C++ (deel 1)
FHT&L MODULE BESCHRIJVING Programmeren in C++ (deel 1) PRO4 Samenstelling: Cees van Tilborg, Thijs Dorssers Datum: september 2011 Versie: 1h Titel: Programmeren in C++ Identificatie Progresscode: PRO4
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
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
Ternaire relaties in ERDs zijn lastig
Ternaire relaties in ERDs zijn lastig Maarten M. Fokkinga Versie van 3 juni 2002, 9:54 Inleiding In het afgelopen tentamen OIS (Ontwerpen van Informatiesystemen; 233026) stond onderstaande opgave over
start -> id (k (f c s) (g s c)) -> k (f c s) (g s c) -> f c s -> s c
Een Minimaal Formalisme om te Programmeren We hebben gezien dat Turing machines beschouwd kunnen worden als universele computers. D.w.z. dat iedere berekening met natuurlijke getallen die met een computer
Oefening 2.2. Welke van de volgende beweringen zijn waar?
Oefeningen op hoofdstuk 2 Verzamelingenleer 2.1 Verzamelingen Oefening 2.1. Beschouw A = {1, {1}, {2}}. Welke van de volgende beweringen zijn waar? Beschouw nu A = {1, 2, {2}}, zelfde vraag. a. 1 A c.
Oplossingen Datamining 2II15 Juni 2008
Oplossingen Datamining II1 Juni 008 1. (Associatieregels) (a) Zijn de volgende beweringen juist of fout? Geef een korte verklaring voor alle juiste beweringen en een tegenvoorbeeld voor alle foute be-weringen:
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;
Datastructuren en algoritmen
Datastructuren en algoritmen Doelstelling Datastructures + algorithms = programs Boek van Niklaus Wirth: bedenker Pascal en Modula Datastructuur: structuur om informatie op te slaan Algoritme: voorschrift
Het ontwerpen van een databaseschema
Het ontwerpen van een databaseschema Maarten Fokkinga Versie van 9 oktober 2008, 10:14 In deze verhandeling geef ik een notatie en methode om een databaseschema te ontwerpen. Ik onderscheid in grote lijnen
Eigenschappen en Axioma s van de E 6 -meetkunde
Faculteit Wetenschappen Vakgroep Wiskunde Eigenschappen en Axioma s van de E 6 -meetkunde Magali Victoor Promotor: Prof. dr. Hendrik Van Maldeghem Masterproef ingediend tot het behalen van de academische
Vergelijking 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.
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
HvA Instituut voor Interactieve Media ActionScript 3.0
PPRO 1: OEFENINGEN LES 1 Hierbij de werkgroepoefeningen behorend bij het practicum week 1. Lees de stukken uitleg aandachtig door, zonder deze informatie zullen de principes in de oefeningen moeilijk te
ISO Query By Example
ISO Query By Example Prof. dr. Paul De Bra Gebaseerd op: Database System Concepts, 5th Ed. QBE waarom nog een query taal? de relationele algebra en SQL geven niet alleen een specificatie van een query-resultaat,
NEN 3610: mei 2010
NEN 3610: 2010 Paul Janssen, Geonovum IMRO IMWA IMLG IMNAB IMOOV IMKL IMKAD IMKICH IMWE IMGeo IM0101 IMBRO IMTOP IMMetingen IM... Wat is NEN 3610? Stelsel van Geo-informatiemodellen Hoe ISO ISO standaarden
