Diagram Illustration

Inhoud

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. Met onze UML-diagramsoftware creëert u deze diagrammen gemakkelijker dan u denkt. Raadpleeg onze gids en ga aan de slag met uw eigen klassendiagram.

Wat is een klassendiagram in UML?

De Uniforme modelleertaal (UML) kan u helpen om systemen op verschillende manieren te modelleren. Een veelgebruikt type in UML is het klassendiagram. Een klassendiagram is een soort structuurdiagram, omdat het beschrijft wat er aanwezig moet zijn in het systeem dat gemodelleerd wordt. Het wordt vaak door ingenieurs gebruikt om softwarearchitectuur te documenteren. Het maakt niet uit of u bekend bent met UML- of klassendiagrammen, onze UML-software is ontworpen om eenvoudig en gebruiksvriendelijk te zijn.

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 klassevorm 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. Klassen en subklassen worden samen gegroepeerd om de statische relatie tussen elk object weer te geven.

De UML-vormbibliotheek in Lucidchart kan u helpen om vrijwel elk klassendiagram op maat te maken met behulp van onze UML-diagramtool.

UML-vormbibliotheek

Voordelen van klassendiagrammen

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

  • datamodellen van informatiesystemen te illustreren, ongeacht hoe eenvoudig of complex.
  • het algemene overzicht van de schematische weergave van een toepassing te begrijpen.
  • de specifieke behoeften van een systeem visueel uit te drukken en die informatie te verspreiden in het bedrijf.
  • gedetailleerde schema's te creëren die gericht zijn op de specifieke code die geprogrammeerd en op de beschreven structuur toegepast moet worden.
  • een inrichtingsonafhankelijke beschrijving te voorzien van types die in een systeem worden gebruikt en die later tussen de componenten ervan worden doorgegeven.

Basisonderdelen van een klassendiagram.

Het klassendiagram bestaat uit drie delen:

  • Bovenste gedeelte: Bevat de naam van de klasse. Dit gedeelte is verplicht, zowel voor een classificeerder als voor een object.
  • Middelste gedeelte: Bevat de attributen van de klasse. Gebruik dit gedeelte om de eigenschappen van de klasse te beschrijven. Dit is alleen nodig wanneer een specifieke instantie van een klasse wordt beschreven.
  • Onderste gedeelte: Bevat klasseoperaties (methoden). Weergegeven als lijst, waarin elke operatie een eigen regel beslaat. De operaties beschrijven hoe een klasse kan omgaan met data.

Toegangsmodificators 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.

Aanvullende componenten van klassendiagrammen

Afhankelijk van de context kunnen klassen in een klassendiagram de hoofdobjecten, interacties in de applicatie en de 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 klasse in 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 een lijst, waarbij elke operatie op zijn eigen regel staat.

  • Signalen: Symbolen die asynchrone eenrichtingscommunicatie tussen actieve objecten representeren.

  • Gegevenstypes: Classificeerders die de gegevenswaarde bepalen. Gegevenstypes kunnen zowel primitieve types als opsommingen modelleren.

  • Pakketten: Vormen ontworpen om gerelateerde classificeerders te organiseren in een diagram. Ze worden gesymboliseerd met een grote, gekartelde, rechthoekige vorm.

  • Interfaces: Een verzameling handtekeningen voor bewerkingen en/of definities van attributen die een samenhangend geheel van gedragingen definiëren . 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 modelelementen die de concrete entiteiten in een softwaresysteem weergeven, zoals documenten, databases, uitvoerbare bestanden, softwarecomponenten enzovoort.

Interacties

De term "interacties" verwijst naar de verschillende relaties en links die kunnen bestaan in klassen- en objectdiagrammen. Een aantal veelvoorkomende interacties zijn:

  • Overname:  bij dit proces neemt een onderliggende of subklasse de functionaliteit van een bovenliggende of superklasse over, ook gekend als generalisatie Dit wordt gesymboliseerd door een rechte verbonden lijn met een gesloten pijl die in de richting van de superklasse wijst.

 erving

In dit voorbeeld zou het object 'auto' alle eigenschappen erven  (snelheid, aantal passagiers, brandstof) en methoden (rijden(), stoppen(), richtingWijzigen()) van de ouderklasse ("Voertuig"), naast de specifieke attributen (modeltype, aantal deuren, fabrikant) en methoden van zijn eigen klasse (Radio(), ruitenWisser(), AC/verwarming()). Erving wordt in een klassendiagram weergegeven met een ononderbroken lijn met een gesloten, holle pijl.

  • Bidirectionele associatie:  de standaardrelatie tussen twee klassen. Beide klassen zijn zich bewust van elkaar en van de relatie die ze met elkaar hebben. Deze associatie wordt weergegeven met een rechte lijn tussen twee klassen.

klassendiagram met bidirectionele associatie

In het bovenstaande voorbeeld zijn de klassen Auto en RoadTrip met elkaar verbonden. Aan het einde van de lijn neemt de auto de associatie "toegewezenAuto" aan met de vermenigvuldigingsfactor 0..1, wat betekent dat als de instantie RoadTrip bestaat, er ofwel één ofwel geen instantie 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 Auto geassocieerd zou kunnen worden. Omdat een Auto meerdere "getRoadTrip"-associaties kan hebben - met andere woorden, één auto kan meerdere autoritten maken - is de vermenigvuldigingsfactor 0..*

  • Unidirectionele associatie:  een iets minder voorkomende relatie tussen twee klassen. Eén klasse is zich bewust van de andere klasse en werkt erop in. Unidirectionele associatie wordt gemodelleerd met een rechte, verbindende lijn die met een open pijlpunt van de kennende klasse naar de gekende klasse richt.

klassendiagram met unidirectionele associatie

Als voorbeeld: u zou 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.

Voorbeelden klassendiagram

Het maken van een klassendiagram om processtromen in kaart te brengen is eenvoudig. Bekijk de twee onderstaande voorbeelden en maak uw eigen klassendiagrammen in UML.

Klassendiagram van een beheerssysteem van een hotel

Een klassendiagram kan de relaties tonen tussen elk object in een beheersysteem van een hotel, zoals informatie over gasten, personeelsverantwoordelijkheden en kamerbezetting. Het onderstaande voorbeeld geeft een handig overzicht van het beheersysteem van het hotel. Klik op het sjabloon om uw eigen klassendiagram te maken.

sjabloon klassendiagram voor hotelbeheerKlik hier om dit sjabloon te gebruiken

Klassendiagram van een geldautomaatsysteem

Geldautomaten zijn bedrieglijk eenvoudig: hoewel klanten slechts enkele knoppen hoeven in te drukken om contant geld te ontvangen, zijn er vele beveiligingslagen die een veilige en effectieve geldautomaat moet passeren om fraude te voorkomen en waarde te bieden voor bankklanten. De verschillende menselijke en technische onderdelen van een geldautomaatsysteem worden hieronder in een gemakkelijk te lezen diagram geïllustreerd—elke klasse heeft een titel, en de attributen staan hieronder vermeld. U kunt dit diagram bewerken, opslaan en delen door het document te openen en u aan te melden voor een gratis Lucidchart-account.

sjabloon klassendiagram voor geldautomaatsysteem

Klik hier om dit sjabloon te gebruiken 

Hoe maak ik een klassendiagram?

Met Lucidchart is het verrassend eenvoudig om een klassendiagram te creëren. Volg daarvoor deze stappen:

  1. Open een leeg document of kies een sjabloon.

  2. Activeer de UML-vormbibliotheek. Klik op "Vormen" links in de Lucidchart-editor. In het beheer van de vormbibliotheek vinkt u "UML" aan en klikt u op "Opslaan".

  3. Selecteer in de bibliotheken die u zojuist hebt toegevoegd de gewenste vorm en sleep deze van de toolbox naar het tekenvel.

  4. Modelleer de processtroom door lijnen tussen vormen te tekenen en tekst toe te voegen.

Lees de handleiding Een klassendiagram tekenen in UML voor meer uitleg. In Lucidchart kan het formaat en de stijl van elk element gemakkelijk worden aangepast. U kunt zelfs SVG-vormen en Visio-bestanden importeren voor een oplossing op maat. Als u meer over UML te weten wilt komen, raadpleeg dan onze tutorial "Wat is UML?"