Beste dreamweaverfan.
UML is niet iets dat je aan java kan koppenelen of dergelijks.
UML laat eigenlijk alle aspecten van je programma zien m.b.v. verschillende diagrammen.
Je zou met behulp van een grondige UML analyse je hele programma moeten kunnen uitwerken en omdat er vooraf al aan de meeste (er zijn altijd onvoorziene) aspecten word gekeken loop je minder kans om hele grote structurele fouten te maken waardoor het je op de lange baan veel tijd zal besparen, daarom is het ook zo belangrijk (al word er vaak niet verder gekeken dan een klassendiagram in mijn beleving).
Dit kan met behulp van verschillende diagrammen
Het klassendiagram (die niek ook al uitlegde) laat de structuur van het programma zien (de verschillende referenties naar klasses etc.)
http://www.computerwoorden.nl/woorden/wdb/gif/klassediagram.jpg
(Eerst komen alle attributen, onder het streepje zie je de methoden die een klasse bevat. Als je in uml een woord boven een associatie tussen 2 klassen ziet staan betekent dit dat degene waar de pijl naar wijst een attribuut van (de klasse aan het begin van de pijl) is met de naam die boven de associatie staat).
*Het laatste klinkt misschien een beetje vreemd, maar ik denk dat google je er veel over kan vertellen
Het activiteitendiagram laat zeg maar een process binnen een systeem zien. Bijvoorbeeld om te laten zien hoe componenten binnen een systeem werken.
http://argouml-stats.tigris.org/non...al-0.26/images/reference/activity_diagram.gif
(De zwarte stip is het begin, de witte vlakken zijn toestanden (bijv. ingelogd), de guard [.. ] moet waar zijn om de pijl waarbij de guard hoort te mogen volgen).
Use-cases: Zijn eigenlijk dingen/taken die de gebruiker met het syteem kan. een use-case bij een spel zou bijvoorbeeld kunnen zijn: Score invoeren of spel starten.
http://pineapplie.files.wordpress.com/2009/05/usecase.jpg
(zoals je ziet zijn er verschillende actoren (de poppetjes) dit zijn mensen die van het systeem gebruik maken)
include betekend dat de betreffende use-case dat word geinclude moet voldaan zijn voordat de use-case die iets include pas uitgevoerd kan worden).
Use-case beschrijvingen: Zijn uitgewerkte use-cases.
http://www.cwu.edu/~gellenbe/docs/xmltouml/images/appendixa.gif
(Zelf zou ik het gewoon houden bij: Naam use-case, actor, Pre-conditie, Hoofdscenario (en eventuele alternatieve scenario's hoe de use-case uitgevoerd zou kunnen worden), post-conditie. Een voorbeeld van een hoofdscenario is: 1. Gebruiker vult inlog-gegevens in 2. Systeem controleert de gegevens 3. Gebruiker is ingelogd. )
Het Sequence diagram laat zien hoe een bepaalde use-case word uitgevoerd. Zo kan je een makkelijk zien hoe een use-case geimplementeerd is in het systeem.
http://argouml-stats.tigris.org/non...al-0.28/images/reference/sequence_diagram.gif
(Zoals je ziet kun je hier goed de verschillende acties (aanroepen) tussen objecten zien en welke aanroep er gedaan wordt).
*De dubbele punt voor de naam van de klasse betekent dat het een object is (zonder naam in dit geval).
Toestandsdiagram:
Een toestandsdiagram laat de verschillende toestanden zien waarin een systeem kan verkeren en hoe het daarin komt. Dit valt goed te zien in de onderstaande link.
http://users.csc.calpoly.edu/~jdalbey/SWE/Design/STD_HotelReservation.jpg
Communicatiediagram:
Laat de communicatie tussen verschillende objecten binnen een systeem zien (zoals de naam al doet vermoeden)
Dit is een alternatief op het sequence diagram.
http://www.agilemodeling.com/images/models/communicationDiagram.jpg
Er bestaan ook nog: Component-, Deployment en Collaboration diagrammen, maar daar weet ik zelf niks van af
Om verwarring te voorkomen: Een klasse is geen object. Een klasse is een soort van richtlijn waaruit objecten kunnen ontstaan. Dus van een klasse kunnen meerdere objecten gemaakt worden. Helpmij1 is bijv.een object van de klasse Helpmij.nl maar Helpmij2 is ook een object van Helpmij.nl.
----
Ik kon hier natuurlijk niet alles in uitwerken. Als je bepaalde aspecten van diagrammen wilt weten of vragen hebt wil ik ze graag beantwoorden.
Enige fouten / aanvullingen hoor ik graag. Zelf ben ik ook een leerling dus alle hulp is welkom.
Kind regards,
NewbProgr