Tutorial klassendiagram

Klassendiagrammen zijn eenvoudiger dan ze eruitzien. Het zijn gewone diagrammen die de structuur van een systeem beschrijven door de klassen, attributen, operaties en relaties tussen objecten van het systeem te modelleren.

Klik op de onderstaande knoppen om zelf een klassendiagram te creëren. Lucidchart is gratis en gemakkelijk te gebruiken, en bovendien kunt u met een onbeperkt aantal teamgenoten samenwerken!


Wat is een klassendiagram in UML?

UML (Unified Modelling Language) kan u helpen bij het modelleren van vele soorten diagrammen, inclusief gedragsdiagrammen, interactiediagrammen en structuurdiagrammen. Een klassendiagram is een soort structuurdiagram, omdat het beschrijft wat er aanwezig moet zijn in het systeem dat gemodelleerd wordt. Klassendiagrammen worden meestal door ingenieurs gebruikt om softwarearchitectuur te documenteren.

Een klassendiagram vormt de kern van UML. Het stelt de kerndoelen van UML voor omdat het de designelementen scheidt van de codering van het systeem. UML werd gecreëerd als een gestandaardiseerd model om een objectgeoriënteerde programmeerbenadering te beschrijven. Klassen zijn de bouwstenen van objecten, en dus zijn klassendiagrammen de bouwstenen van UML. De diagramcomponenten in een klassendiagram kunnen de klassen voorstellen die geprogrammeerd zullen worden, de belangrijkste objecten, of de interactie tussen klasse en object.

De klasse zelf bestaat uit een rechthoek met drie rijen. De bovenste rij bevat de naam van de klasse, op de middelste rij staan de attributen van de klasse, en de onderste rij benoemt de methodes of bewerkingen die de klasse kan gebruiken. In een diagram worden klassen en subklassen samen gegroepeerd om de statische relatie tussen elk object weer te geven. De UML-vormbibliotheek in Lucidchart kan u helpen om zowat elk klassendiagram op maat te maken, met behulp van onze UML-diagramtool.

Wat is een klassendiagram in UML?

Grondbeginselen van klassendiagrammen

Anatomie van een klassendiagram

Het klassendiagram bestaat uit drie delen:

  • Bovenste gedeelte - naam van de klasse - Dit gedeelte is verplicht, zowel voor een classificeerder als voor een object.
  • Middelste sectie - Attributen van de klasse - De attributen beschrijven de variabelen die de kwaliteiten van de klasse beschrijven. Dit is alleen nodig wanneer een specifieke instantie van een klasse wordt beschreven.
  • Onderste sectie - Klasseoperaties (methoden) - Weergegeven als lijst, elke operatie heeft zijn eigen regel. De operaties beschrijven hoe een klasse kan interacteren met data.

Toegangsmodificator voor leden

Alle klassen hebben verschillende toegangsniveaus, afhankelijk van de toegangsmodificator (zichtbaarheid). Hieronder vindt u de verschillende toegangsniveaus en de bijbehorende symbolen:

  • Openbaar (+)
  • Privé (-)
  • Beschermd (#)
  • Pakket (~)
  • Afgeleid (/)
  • Statisch (onderlijnd)

Ledenbereik

Er zijn twee soorten bereik voor leden: classificeerders en instanties. Classificeerders zijn statische leden en instanties zijn de specifieke instanties van de klasse. Als u bekend bent met de theorie van objectoriëntatie, dan is dit niets grensverleggend.


Interacties tussen objecten en klassen in klassendiagram

Interacties tussen objecten en klassen zijn een cruciaal onderdeel van klassendiagrammen.

Overname

Erving vindt plaats wanneer een kindobject alle eigenschappen van zijn ouderobject aanneemt. Als we bijvoorbeeld een voertuig als object hebben, zou een kindklasse 'Go-go' auto alle eigenschappen erven (snelheid, aantal passagiers, brandstof) en methoden (rijden(), stoppen(), richtingWijzigen()) van de ouderklasse, naast de specifieke attributen (modelType, aantal deuren, fabrikant) en methoden van zijn eigen klasse (Radio(), ruitenWisser(), AC/verwarming()). Erving wordt weergegeven in een klassendiagram met een ononderbroken lijn met een gesloten, holle pijl.

Bidirectionele associaties

Bidirectionele associaties zijn de standaard associaties tussen twee klassen, en worden weergegeven door een rechte lijn tussen twee klassen. Beide klassen zijn zich bewust van elkaar en van de relatie die ze met elkaar hebben. In het bovenstaande voorbeeld zijn de klassen Go-go -auto en RoadTrip met elkaar verbonden. Aan het einde van de lijn neemt de Go-go-auto de associatie "assignedCar" aan met de vermenigvuldigingsfactor 0..1, wat betekent dat als de instantie RoadTrip bestaat, er ofwel één ofwel geen instantie Go-go-auto mee geassocieerd kan zijn. In dit geval is er een aparte klasse Caravan nodig, met vermenigvuldigingsfactor 0..*, om aan te geven dat een RoadTrip met meerdere instanties van Go-go-auto's geassocieerd zou kunnen worden. Omdat een Go-go-auto meerdere "getRoadTrip"-associaties kan hebben - met andere woorden, één go-go-auto kan meerdere autoritten maken - is de vermenigvuldigingsfactor 0..*

Unidirectionele associaties

Een unidirectionele associatie wordt getekend als een ononderbroken lijn met een open pijl van de klasse die kennis heeft naar de klasse waar ze kennis van heeft. In dit geval zou u tijdens een autorit naar Frankrijk een flitser kunnen passeren die uw activiteiten vastlegt, maar dat weet u pas wanneer er daarover een brief in de bus valt. Dit is niet in de afbeelding opgenomen, maar in dit geval is de vermenigvuldigingsfactor 0..*, afhankelijk van hoe vaak u de flitser passeert.


Toepassingen van klassendiagrammen

Elke organisatie kan zijn voordeel doen met klassendiagrammen. U kunt ze gebruiken om:

  • Datamodellen van informatiesystemen te illustreren.
  • Het algemene overzicht van de schematische weergave van een toepassing te begrijpen.
  • De behoeften van een systeem uit te drukken en die informatie te verspreiden in het bedrijf.
  • Gedetailleerde schema's te creëren die gericht zijn op de programmeercode die nodig is om de beschreven structuur toe te passen.
  • Een inrichtingsonafhankelijke beschrijving te voorzien van types die in een systeem worden gebruikt en die tussen de componenten ervan worden doorgegeven.

Componenten van klassendiagrammen

Afhankelijk van de context kunnen klassen in een klassendiagram de hoofdobjecten, interacties in de applicatie en te programmeren klassen representeren. Om de vraag "wat is een klassendiagram in UML" te beantwoorden, moet u eerst de fundamentele samenstelling ervan begrijpen.

  • Klassen - een sjabloon om objecten te creëren en gedrag te implementeren in een systeem. In UML vertegenwoordigt een klasse een object of een groep objecten die hun structuur of gedrag gemeen hebben. Ze worden voorgesteld met een rechthoek die rijen bevat met de naam, attributen en bewerkingen van de klasse. Bij het tekenen van een klassendiagram op een klassendiagram, moet alleen de bovenste rij worden ingevuld—de andere rijen zijn optioneel als u meer details wilt verstrekken.
    • Naam - de eerste rij in een klassevorm.
    • Attributen - de tweede rij in een klassevorm. Elk attribuut van de klasse wordt weergegeven op een aparte regel.
    • Methoden - de derde rij in een klassevorm. Methoden worden ook operaties genoemd en worden weergegeven als lijst, waarbij elke operatie op zijn eigen regel staat.
  • Signalen - symbolen die asynchrone communicaties in één richting tussen actieve objecten representeren.
  • Gegevenstypes - classificeerders die de gegevenswaarde bepalen. Gegevenstypes kunnen zowel primitieve types als opsommingen modelleren.
  • Pakketten - deze omvattende vorm is ontworpen om gerelateerde classificeerders te organiseren in een diagram. Een pakket wordt gesymboliseerd met een grote, gekartelde, rechthoekige vorm.
  • Interfaces - lijken op een klasse, behalve dat een klasse instanties van dat type kan hebben en een interface minstens een klasse moet hebben om dit te implementeren.
  • Opsommingen - voorstellingen van door de gebruikers gedefinieerde gegevenstypes. Een opsomming omvat groepen identificatoren die waarden van de opsomming voorstellen.
  • Objecten - instanties van een klasse of van klassen. Objecten kunnen aan een klassendiagram worden toegevoegd wanneer ze concrete of prototypische instanties voorstellen.
  • Artefacten - model-elementen die de concrete entiteiten in een softwaresysteem weergeven, zoals documenten, databases, uitvoerbare bestanden, softwarecomponenten enzovoort.
  • Interacties - een term voor de verschillende relaties en links die kunnen bestaan in klassen- en objectdiagrammen. Een aantal veelvoorkomende interacties zijn:
    • Overname - bij dit proces (ook gekend als generalisatie) neemt een kind- of subklasse de functionaliteit van een ouder- of superklasse over. Dit wordt gesymboliseerd door rechte verbonden lijnen met een gesloten pijl die in de richting van de superklasse wijst.
    • Bidirectionele associatie - de standaardrelatie tussen twee klassen; beide klassen zijn bewust van elkaar en hun relatie met de andere klasse. Deze associatie wordt weergegeven met een rechte lijn tussen twee klassen.
    • Unidirectionele associatie - een iets minder algemene relatie tussen twee klassen; één klasse is bewust van de andere klasse en interacteert ermee. Unidirectionele associatie wordt gemodelleerd met een rechte, verbindende lijn die met een open pijlpunt van de kennende klasse naar de gekende klasse richt.
    Wat is een klassendiagram in UML?

Meer voorbeelden van UML-klassendiagrammen.

Maak vandaag gratis een account aan en gebruik Lucidchart om samen te werken en UML-diagrammen te maken! Er zijn geen plug-ins of downloads nodig.

Registreer