Learn UML - alicon-nl/alicon-nl.github.io GitHub Wiki
UML Introductie
- Het ontstaan van UML
- Een taal, geen methode
- De diagrammen en hun samenhang
- Verschillende stadia van de diagrammen
- De diagrammen gebruiken bij de traditionele projectfasering
- Conceptualisatie, Analyse, Ontwerp, Implementatie DSDM Concept, Functionele specificatie, Ontwerp & bouw, Implementatie
Modelleerwijze
Door modellering kan men samenhang binnen systemen concretiseren. Mensen
denken visueel. Een goed plaatje zegt meer dan duizend woorden. Hierbij kan een
standaard taal als UML een bijdrage leveren. De kracht van de UML is dat je van
elk vraagstuk alle benodigde associaties en (vooral) abstracties kunt maken. De
samenhang tussen de modelleerwijzen en modellen kan men bewaken door het
hanteren van de IEEE-1471-norm voor architectuur-beschrijving. Deze norm kan
praktisch toegepast worden met softwaretools, met name repository-based tools
voor teamwork, het traceren van relaties en hergebruik.
Daarmee kan een scala aan oplossingen worden uitgewerkt die kunnen worden
toegepast om nieuwe vraagstukken aan te pakken. Hierdoor kan men terugdringen
van het applicatie-portfolio terugdringen en informatievoorziening integreren
UML en RUP
In 1996, introduceerden Ivar Jacobson, Grady Booch en James Rumbaugh, de
Unified Modelling Language (UML), later gevolgd door het Unified Process (UP).
Inmiddels zijn de UP-methode en de UML-techniek uitgegroeid tot
wereldstandaarden voor OO-software engineering (OOSE). Rational Software
Corporation heeft softwaretools uitgebracht voor het toepassen van de UML en het
UP.
De Rational Software Development Suite bevat onder andere
- Rational Rose (UML-modellering)
- Rational Requisite Pro (requirement management)
- Rational Unified Process.
Hiermee beschikt men over de methode, de technieken en de tools om OOBE en OOSE toe te passen op de besturing, inrichting en ondersteuning van IT-organisaties.
UML Samenhang
Werkwijze
- Identificeer alle mogelijke kandidaat klasse
- Selecteer de klasse uit de lijst van kandidaten
- Maak een model dictionary
- Identificeer associaties
- Identificeer attributen
- Identificeer operaties
- Generaliseer mbv overerving
- Maak OCL contraints
- Groepeer klasse eventueel in packages
- Itereer over de gedane stappen
UML Activity Diagram
Concepten
- Activiteit
- Flow of control
- Beslispunt en samenkomst
- Splitsing en synchronisatie
- Swimlane
Toepassingen
- Voor workflow
- Als algoritme
Een activiteitsdiagram met swimminglanes
Een activiteitsdiagram voor de operatie doeBestelling
Werkwijze
- Selecteer operaties en/of use-cases
- Vindt de activiteiten en de bijbehorende flow of control
- Bepaal per activiteit welk object verantwoordelijk is
- Splits activiteiten indien nodig
Notatie van het activiteitsdiagram
UML Application and implementation stadium
- Voorwaarden voor start van applicatie stadium
- Uitbreiding van bestaande diagrammen
- Koppeling van de diagrammen
- Concepten
- Klassenspecificatie
- Werkwijze
UML Component and deployment diagram
- Concepten
- Component
- Node
- Componentdiagram
- Deploymentdiagram
Overzicht van het component- en diploymentdiagram
UML Geavanceerde concepten
Onderwerpen
- Afgeleide attributen
- Zichtbaarheid attributen en operaties
- Klasse attributen en operaties
- Afgeleide associaties
- Richting van een associatie
- Associatie klasse
- Aggregatie en compositie
- Abstracte klasse en operaties
- Meervoudige en herhaalde overerving
- Stereotype
- Interface
- Enumeratie
- Package
- Dependency-relaties
- Geparametriseerde klasse of template
- Constraints
Klasse diagram met geavanceerde objecten
Learn-UML-Klasse-en-object-diagrammen
- Object of instantie
- Klasse
- Attribute
- Operatie
- Associatie
- Rol
- Multipliciteit
- Generalisatie en overerving
- Commentaar
Verschil klasse en object diagrammen
Geavanceerde concepten
- Afgeleide attributen
- Zichtbaarheid attributen en operaties
- Klasse attributen en operaties
- Afgeleide associaties
- Richting van een associatie
- Associatie klasse
- Aggregatie en compositie
- Abstracte klasse en operaties
- Meervoudige en herhaalde overerving
- Stereotype
- Interface
- Enumeratie
- Package
- Dependency-relaties
- Geparametriseerde klasse of template
- Constraints
Klasse diagram met geavanceerde objecten
Werkwijze
- Identificeer alle mogelijke kandidaat klasse
- Selecteer de klasse uit de lijst van kandidaten
- Maak een model dictionary
- Identificeer associaties
- Identificeer attributen
- Identificeer operaties
- Generaliseer mbv overerving
- Maak OCL contraints
- Groepeer klasse eventueel in packages
- Itereer over de gedane stappen
CASE Klassediagram
Vijfde voorbeeld klasse diagram
Notatie in het klasse diagram
Learn-UML-Klassediagram-met-geavanceerde-concepten
Learn-UML-OO
- Objectgeorienteerde programmeertalen
- Klasse en overerving
- Garbage collection
- Polymorfisme & dynamische binding
Sequence-collaboration-diagram
- Interactie
- Instantie en levenslijn
- Boodschap
- Tijdconstraints
- Asynchrone boodschap
- Conditionele boodschap
- Iteratie van boodschappen
- Activering van een object
- Actieve objecten
- Recursie of zelfaanroep
- Creatie en verwijdering
- Resultaat van een operatie aanroep
- Stereotype voor link oorsprong
Voorbeeld sequence diagram
Voorbeeld sequence diagram inloggen
Notatie in het sequence diagram
Notatie van het collaboratie diagram
Learn-UML-State-diagram
Use Case
1. Huisgenoot geeft aan een boodschappenlijst te willen versturen
1. Het systeem controleert of alle het schema voor de getoonde week
hebben ingevuld. Zo niet dan treed er een uitzondering op. Het
systeem genereert een boodschappenlijst voor de getoonde week en
toont deze.
1. Huisgenoot kan aan deze lijst items toevoegen en hoeveelheden
wijzigen. De huisgenoot kan nu kiezen:
<li>ofwel de lijst wordt verwijderd (dit is een uitzondering)
1. ofwel de lijst wordt bewaard,
1. ofwel de lijst wordt bewaard en verstuurd
1.