→ familie van grafische notaties met een achterliggend metamodel
om OO-software systemen te beschrijven en te ontwerpen
→ open standaard
→ gecontroleerd door de OMG (Object Management Group)
Een meta-model is een expliciet model van de constructies en regels die nodig zijn
om specifieke modellen voor een bepaald vakgebied te bouwen.
→ samenvoegsel van 3 Object georiënteerdemodelleertechnieken en methodes:
o Booch (Rational Software)
o Jacobson’s OOSE (Object Oriented Software Engineering) met use cases
o Rumbaugh’s OMT (Object Modelling Technique)
BELANG VAN VISUEEL MODELLEREN
Software bouwen is als een huis bouwen. Je begint met een model en werkt zo alles
verder uit tot je het verwachte resultaat bekomt.
“Een model is een vergemakkelijking van de realiteit.”
“We bouwen modellen zodat we het systeem dat we aan het ontwikkelen zijn
beter kunnen begrijpen.”
Een model kan structureel zijn: organisatie van het systeem
Een model kan ook gedragingen bevatten
Een visueel model kan een verzameling gerelateerde UML diagrammen zijn.
Voor een volledig model moeten we zeker zijn dat er:
o Niets ontbreekt
o Geen duplicaten zijn
o De elementen een naam hebben en in elk diagram waarin ze voorkomen op
dezelfde manier gedefinieerd zijn.
o De relaties tussen elementen gedefinieerd zijn op dezelfde manier in elk
diagram waarin ze voorkomen
Vanaf een zeker grootte hebben we software nodig voor het beheer van deze
complexiteit, om het model op te slaan en de integriteit te waarborgen.
,WAAROM SOFTWARE MODELLEREN
o Een model helpt ons het systeem te visualiseren.
o Een model laat ons toe om structuur of gedrag in kaart te brengen.
o Een model geeft ons een template.
o Modellen documenteren de beslissingen die we hebben genomen.
o Een model is een abstractie dat een systeem of een subset ervan beschrijft.
(weglaten van alle niet-essentiële informatie en secundaire aspecten)
(= vereenvoudiging)
o Een view geeft de geselecteerde aspecten van een model weer.
o Een notatie is set grafische of tekstuele regels om een view weer te geven.
Modellen zijn een abstractie van de werkelijkheid,
abstractie hangt af van het perspectief van de viewer.
De ontwerper van het model kiest welke informatie
beschouwd wordt als relevant en wenst te communiceren.
Bijvoorbeeld:
Een kaart is een abstractie: toont wegen en gebouwen
Maar, verbergt de kleur van de gebouwen, geeft geen hoogteverschillen weer, …
Code is vaak niet direct begrijpbaar voor ontwikkelaars die niet hebben
deelgenomen aan de ontwikkeling, daarom hebben we eenvoudigere weergaven
nodig voor complexe systemen. Modelleren is een manier om met die complexiteit
om te gaan.
KENMERKEN VAN UML
Hoe UML gebruiken?
o Sketch (communicatiemiddel: informeel en dynamisch)
o Blueprint (volledigheid)
o Programmeertaal (MDA = Model Driven Architecture)
o Reverse Engineering (van software naar ontwerp)
,UML is:
o Geen methode: hoe het gebeurt of hoe je het moet doen
o Geen methodologie: onderzoek naar de methoden
o Wel een modelleertaal:
kunstmatige formele taal, die gebruikt kan worden om definities van
begrippen en informatie, kennis en/of vereisten over producten,
systemen en/of processen weer te geven
o De standaard voor het modelleren van object georiënteerde software.
o Een “nonproprietary approach”, OMG onderhoudt de UML-standaard
o Methode-onafhankelijk en bevoordeelt geen methodologie
o Ondersteunt de volledige levenscyclus van ontwikkeling:
van conceptualisatie, analyse tot architectuur en ontwerp, constructie en
documentatie.
o Werkt voor kleine en grote systemen
o Zowel begrijpbaar door software tools als mensen
o Verenigt zowel OO-aanpak als niet OO-aanpak bij ontwikkelen van systemen
o Onafhankelijk van de keuze van een programmeertaal
o Heeft een formeel metamodel: definieert de abstracte syntax (grammar)
‘UML is a standard language for writing software blueprints.’
‘The UML is a language for … the artifacts of a software-intensive system
o Visualizing
o Specifying
o Constructing
o Documenting
Notatie (symbolen) en regels (rules):
Syntax: voorstellingswijze van symbolen
Semantiek: betekenis van symbolen (Bv. zoals een woord in een zin)
UML is zelf een tool: je kan diagrammen op papier of op white board maken.
Er zijn veel tekentools voor UML-diagrammen. (UMLet, Draw- io, Astah, LucidChart)
Er zijn ook UML-case tools:
- ondersteunen (of verplichten) de semantische verificatie van de diagrammen
- voorzien ondersteuning voor een specifieke methodologie
- genereren code skeletons vanuit de UML-diagrammen
- organiseren alle diagrammen voor een project
- automatische generatie van modelelementen voor ontweppatronen.
, UML FIRST PASS
USE CASE DIAGRAMS
KLASSENDIAGRAM
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller DeKeyser. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $3.24. You're not tied to anything after your purchase.