De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

EEN INLEIDING IN DE UNIFIED MODELING LANGUAGE. Inleiding zAannemer bouwt volgens bouwplannen -> toont het ontwerp van het huis zProgrammeurs, softwarearchitecten.

Verwante presentaties


Presentatie over: "EEN INLEIDING IN DE UNIFIED MODELING LANGUAGE. Inleiding zAannemer bouwt volgens bouwplannen -> toont het ontwerp van het huis zProgrammeurs, softwarearchitecten."— Transcript van de presentatie:

1 EEN INLEIDING IN DE UNIFIED MODELING LANGUAGE

2 Inleiding zAannemer bouwt volgens bouwplannen -> toont het ontwerp van het huis zProgrammeurs, softwarearchitecten en analisten gebruiken modelleertalen -> beschrijven het ontwerp van software door middel van grafische notaties

3 Modelleertaal z= een grafische notatie voor het beschrijven van softwareontwerpen zomvat regels waarmee juiste van onjuiste tekeningen kunnen worden onderscheiden yhet zijn deze regels die de UML tot een modelleertaal maken, in plaats van alleen een verzameling symbolen voor het tekenen zIs verschillend van een methodologie

4 Methodologie zbeschrijft een procedure voor het ontwerpen van software ylevert richtlijnen voor het analyseren en ontwerpen van software zomvat vaak een modelleertaal, die dan dat ontwerp op grafische manier weergeeft yde modelleertaal illustreert het ontwerp door een methodologie te volgen.

5 UML z= een algemeen aanvaarde standaard modelleertaal ynodig voor het modelleren van software zodat anderen uw ontwerpdiagrammen snel en makkelijk kunnen begrijpen zUnified Modeling Language betekent letterlijk vereende modelleertaal yUML is het resultaat van drie met elkaar concurrerende modelleertalen zcursus is geen uitgebreide inleiding in de UML

6 UML z= taal z= een betekenisvolle (grafische) notatiewijze om de verschillende aspecten in een objectgeoriënteerd ontwerp weer te geven zbestaat uit een verzameling van min of meer onafhankelijke diagramtechnieken yKlassediagram yObjectdiagram yVolgordediagram

7 Klassediagram zlaat zien: ywelke klassen er zijn ontworpen ywelke attributen en bewerkingen of methodes deze klassen hebben ywelke relaties tussen deze klassen bestaan z= een weergave van de statische structuur van een programma

8 Klassediagram zwaarom een klassediagram: yis codeonafhankelijk xcode is de laagste vorm van documentatie van het ontwerp, alhoewel de meest volledige, maar nutteloos voor iemand die de implementatietaal niet kent yontwerp is in één oogopslag te begrijpen xu kan zich concentreren op de structuur (hoofdklassen en inhoud van de klassen)van de klassen op een hoog niveau doordat de grafische notatie u afschermt van de details

9 De basisnotatie voor klassen znotatie:

10 De basisnotatie voor klassen zsyntaxis voor attributen of eigenschappen ynaam  : type   = waarde  xalles tussen de rechte haken mag worden weggelaten x= waarde : standaardwaarde die het attribuut krijgt bij de creatie van een instantie van de klasse xenkel de naam van een attribuut kan vermeld worden.

11 De basisnotatie voor klassen zsyntaxis voor methode of bewerking ynaam(  parameterlijst  )  : resultaattype  xminimale aanduiding = de naam van de methode plus een paar haakjes xin UML : bewerking is verschillend van methode bewerking = een service die u bij een willekeurig object van een klasse kunt aanvragen methode = een specifieke implementatie van die bewerking

12 De basisnotatie voor klassen zzichtbaarheid: y- : voor private y+ : voor public y# : voor protected zopmerking y helpt soms betekenis over te dragen die anders verloren zou raken of over het hoofd zou worden gezien y= gele post-it briefjes

13 De basisnotatie voor klassen yvoorbeeld van een opmerking :

14 Geavanceerde notatie voor klassen zom meer beschrijvende of omschrijvende modellen mogelijk te maken zstereotype y= een UML-element om de vocabulaire van de taal UML zelf uit te breiden ybestaat uit een woord of een zinsnede tussen dubbele hoekige haakjes (« ») ywordt boven of naast een bestaand element geplaatst

15 Geavanceerde notatie voor klassen zstereotype yvoorbeeld:

16 Geavanceerde notatie voor klassen zabstracte klasse en abstracte methode ynaam van de klasse en de methode : cursief yvoorbeeld:

17 Uw klassen modelleren om aan uw doeleinden te voldoen zverschillende keuzemogelijkheden om klassen te modelleren y-> welke notatie nu gebruiken? xsituatie-afhankelijk: niet-technisch persoon collega aangepaste vocabulair zTips voor het effectief modelleren yWat probeer ik over te dragen? yAan wie probeer ik die informatie over te dragen? yZo een eenvoudig mogelijk model maken om een zo effectief mogelijk ontwerp over te dragen.

18 xdoel : de publieke interface van de klasse Bank over te dragen Uw klassen modelleren om aan uw doeleinden te voldoen

19 zTips voor het effectief modelleren yVerzand niet in de modelleertaal. xniet al te veel van de semantiek afwijken, maar model hoeft niet helemaal perfect zijn Maak u alleen zorgen als uw model het ontwerp niet goed overdraagt yde UML = hulpmiddel xdoel -> ontwerp over te dragen. xUML is geen doel op zichzelf -> nog steeds code moet geschreven worden

20 Relaties tussen klassen modelleren zKlassen hebben ingewikkelde relaties tot elkaar yrelatie x-> beschrijft hoe klassen samenwerken x-> wordt in de UML aangegeven met een verbinding tussen twee of meer elementen in de notatie zin UML : 3 soorten relaties yAfhankelijkheid yAssociatie ygeneralisatie xeigen notaties maar UML-onafhankelijk

21 z= object is afhankelijk van de specificatie (interface of gedrag) van een ander object ywijziging in specificatie -> bijwerking van het afhankelijke object yvoorbeeld: Afhankelijkheid

22 x2 x afhankelijk xafhankelijkheidsmodel bevat enkel de kenmerken die van belang zijn voor de afhankelijkheidsrelatie doel van UML is informatie over te dragen Afhankelijkheid

23 zafhankelijkheden zoveel mogelijk beperken zsoms onmogelijk : niet alle afhankelijkheden zijn gelijk: yAfhankelijkheid van een interface = acceptabel yAfhankelijkheid van de implementatie = nooit acceptabel zWanneer moet u afhankelijkheden modelleren? yals het ene object een ander object gebruikt. xVoorbeeld : in argumenten van methoden Afhankelijkheid

24 zdieper dan afhankelijkheidsrelaties z= structurele relatie yassociatie geeft aan dat een object een ander object bevat of dat de objecten met elkaar verbonden zijn xvoorbeeld : znaam van de associatie = naam die de relatie beschrijft yin casu: naam = Leent van Associatie

25 zde rol van een object in de associatie zmeervoudigheid geeft aan hoeveel objecten er aan de associatie deelnemen ymeervoudigheid wordt weergegeven door xenkel getal : exact dat aantal objecten xeen asterisk : * = willekeurig aantal xeen lijst : 1..4 = minimum 1, maximum 4 3..* = 3 of meer Associatie

26 yvoorbeeld van meervoudigheid: zWanneer moet u associaties modelleren? yals het ene object een ander object bevat - de ‘bevat een’-relatie of yals een object een ander object gebruikt xEen associatie maakt het u mogelijk te modelleren wie wat doet in een relatie. Associatie *

27 ztwee subtypen om modellen verder te verfijnen yaggregatie y compositie zbeiden zijn deel/geheel-relaties of ‘bevat een’-relaties ybeschrijven de relatie tussen objecten waarbij het ene object een ander object bevat Associatie

28 z= deel/geheel-relatie tussen gelijken ygelijken = het ene object is niet belangrijker is dan het andere in de relatie xbelangrijk = de objecten kunnen onafhankelijk van elkaar bestaan zvoorbeeld: Aggregatie

29 zwordt aangegeven met een open ruitje yobject dat ruitje raakt = het geheel van de relatie; de klasse die naar de andere klasse verwijst of bevat yde andere klasse(n) is het deel of delen yin voorbeeld: xBank : geheel xKlant : deel xze zijn onafhankelijk van elkaar; dus elkaars gelijken als de Bank verdwijnt, verdwijnen de klanten niet en omgekeerd Aggregatie

30 zWanneer moet u aggregatie modelleren? yals het model tot doel heeft de structuur van een deel/geheel-relatie tussen gelijken te beschrijven. yMocht u er echter meer in geïnteresseerd zijn te modelleren wie wat doet in een relatie, dan kunt u beter een gewone associatie gebruiken: een relatie zonder het ruitje. Aggregatie

31 zstrenger dan aggregatie zdeel/geheel-relatie maar niet tussen gelijken zwordt aangegeven met een zwart ruitje (aan de kant van het geheel) zin voorbeeld: Filialen kunnen niet onafhankelijk van de Bank bestaan yalle filialen worden gesloten als de bank wordt gesloten yomgekeerd : de bank kan open blijven als een filiaal wordt gesloten Compositie

32 zWanneer moet u compositie modelleren? yals het model tot doel heeft de structuur van een deel/geheel-relatie maar niet tussen gelijken te beschrijven xHet onderdeel is dus afhankelijk van het geheel xin voorbeeld: alle filialen zullen gesloten worden, als de bank wordt gesloten. xin termen van programmeren betekent dit dat alle Filialen vernietigd zullen worden als de Bank wordt vernietigd Compositie

33 zWanneer moet u compositie modelleren? yMocht u er echter meer in geïnteresseerd zijn te modelleren wie wat doet in een relatie, dus de rollen van de objecten in de associatie, dan kunt u beter een gewone associatie gebruiken: een relatie zonder het ruitje Compositie

34 zEen object kan tegelijkertijd aan een aggregatierelatie en een compositierelatie deelnemen: Aggregatie en Compositie

35 z= relatie tussen het algemene en het specifieke z= voorstelling van de ‘is een’-relatie yvoor vervanging geschikte relaties definiëren: xafstammelingen worden gebruikt in plaats van hun voorouders of children in plaats van hun parents Generalisatie

36

37 zwe weten hoe basisklassen en relaties te modelleren -> nu beginnen met redelijk veelzeggende modellen te vormen z2 modellen : yhebben gemeen: xElk model bevat net voldoende informatie en net genoeg notatie om het idee over te dragen. xDeze modellen hebben niet tot doel elke beschikbare notatie te gebruiken. ycombineren verschillende elementen van de UML. xU kunt zeer informatieve modellen maken door de diverse elementen te combineren. Alles bij elkaar

38

39

40 zToepassing 1: Modelleer een bij/ bijenkorf compositierelatie. zToepassing 2: Modelleer de associatie tussen een winkelbezoeker en een winkelier. Specificeer de rollen, de meervoudigheid en de associatienaam. Toepassingen

41 zToepassing 1:

42 Toepassingen zToepassing 2:

43 zToepassing 3: Gegeven een klasse Cirkel, met een attribuut straal met standaardwaarde 1. De klasse heeft methoden om de omtrek en het oppervlak van de cirkel te berekenen, alsmede een methode om de cirkel in een vlak te plaatsen met het middelpunt op gegeven coördinaten. Teken een klassediagram waarin deze informatie over attributen en methoden is opgenomen. Toepassingen

44 zToepassing 3:

45 zToepassing 4: Maak een klasse Artikel. Hiermee wordt een artikel bedoeld die bijvoorbeeld in een winkel verkocht wordt. Deze klasse heeft attributen artikelnummer, prijs, naam en voorraad. De klasse beschikt eveneens over een methode getPrijs( ). Teken een klassediagram waarin deze informatie over attributen en de methode is opgenomen. Toepassingen

46 zToepassing 4:


Download ppt "EEN INLEIDING IN DE UNIFIED MODELING LANGUAGE. Inleiding zAannemer bouwt volgens bouwplannen -> toont het ontwerp van het huis zProgrammeurs, softwarearchitecten."

Verwante presentaties


Ads door Google