logo

UML-klassediagram

Het klassendiagram geeft een statische weergave van een applicatie weer. Het vertegenwoordigt de typen objecten die zich in het systeem bevinden en de relaties daartussen. Een klasse bestaat uit zijn objecten, en kan ook van andere klassen erven. Een klassendiagram wordt gebruikt om verschillende aspecten van het systeem te visualiseren, beschrijven en documenteren, en ook om uitvoerbare softwarecode te construeren.

Het toont de attributen, klassen, functies en relaties om een ​​overzicht van het softwaresysteem te geven. Het bevat klassenamen, attributen en functies in een apart compartiment dat helpt bij de ontwikkeling van software. Omdat het een verzameling klassen, interfaces, associaties, samenwerkingen en beperkingen is, wordt het een structureel diagram genoemd.

Doel van klassendiagrammen

Het belangrijkste doel van klassendiagrammen is het opbouwen van een statische weergave van een applicatie. Het is het enige diagram dat veel wordt gebruikt voor constructie, en het kan in objectgeoriënteerde talen in kaart worden gebracht. Het is een van de meest populaire UML-diagrammen. Hieronder volgt het doel van de onderstaande klassendiagrammen:

  1. Het analyseert en ontwerpt een statische weergave van een applicatie.
  2. Het beschrijft de belangrijkste verantwoordelijkheden van een systeem.
  3. Het is een basis voor component- en implementatiediagrammen.
  4. Het omvat voorwaartse en omgekeerde engineering.

Voordelen van klassendiagrammen

  1. Het kan het objectmodel voor complexe systemen vertegenwoordigen.
  2. Het vermindert de onderhoudstijd door een overzicht te bieden van hoe een applicatie is gestructureerd voordat er wordt gecodeerd.
  3. Het biedt een algemeen schema van een toepassing voor een beter begrip.
  4. Het vertegenwoordigt een gedetailleerd diagram waarin de gewenste code wordt gemarkeerd die moet worden geprogrammeerd.
  5. Het is nuttig voor de belanghebbenden en de ontwikkelaars.

Essentiële componenten van een klassendiagram

Het klassendiagram bestaat uit drie delen:

    Bovenste gedeelte:Het bovenste gedeelte bevat de naam van de klasse. Een klasse is een representatie van vergelijkbare objecten die dezelfde relaties, attributen, bewerkingen en semantiek delen. Hieronder worden enkele van de volgende regels gegeven waarmee rekening moet worden gehouden bij het vertegenwoordigen van een klasse:
    1. Schrijf de beginletter van de klassenaam met een hoofdletter.
    2. Plaats de klassenaam in het midden van het bovenste gedeelte.
    3. Een klassenaam moet vetgedrukt worden geschreven.
    4. De naam van de abstracte klasse moet cursief worden geschreven.
    Middengedeelte:Het middelste gedeelte bevat de attributen die de kwaliteit van de klas beschrijven. De attributen hebben de volgende kenmerken:
    1. De attributen worden samen met de zichtbaarheidsfactoren ervan geschreven, namelijk public (+), private (-), protected (#) en package (~).
    2. De toegankelijkheid van een attribuutklasse wordt geïllustreerd door de zichtbaarheidsfactoren.
    3. Er moet een betekenisvolle naam aan het attribuut worden toegewezen, die het gebruik ervan binnen de klasse zal verklaren.
    Onderste gedeelte:Het onderste gedeelte bevat methoden of bewerkingen. De methoden worden weergegeven in de vorm van een lijst, waarbij elke methode op één regel wordt geschreven. Het laat zien hoe een klasse met gegevens omgaat.
UML-klassediagram

Relaties

In UML zijn er drie soorten relaties:

    Afhankelijkheid:Een afhankelijkheid is een semantische relatie tussen twee of meer klassen waarbij een verandering in de ene klasse veranderingen in een andere klasse veroorzaakt. Het vormt een zwakkere relatie.
    In het volgende voorbeeld is Student_Name afhankelijk van de Student_Id.
UML-klassediagram
    Generalisatie:Een generalisatie is een relatie tussen een bovenliggende klasse (superklasse) en een onderliggende klasse (subklasse). Hierbij wordt de onderliggende klasse overgenomen van de bovenliggende klasse.
    De lopende rekening, spaarrekening en kredietrekening zijn bijvoorbeeld de algemene vorm van bankrekening.
UML-klassediagram
    Vereniging:Het beschrijft een statische of fysieke verbinding tussen twee of meer objecten. Het geeft aan hoeveel objecten er in de relatie zijn.
    Er is bijvoorbeeld een afdeling verbonden aan het college.
UML-klassediagram

Veelheid: Het definieert een specifiek bereik van toegestane exemplaren van attributen. Als er geen bereik is opgegeven, wordt één beschouwd als een standaardveelvoud.

metselaar formule

Er worden bijvoorbeeld meerdere patiënten in één ziekenhuis opgenomen.

UML-klassediagram

Aggregatie: Een aggregatie is een subset van associaties, die een relatie vertegenwoordigt. Het is specifieker dan associatie. Het definieert een deel-geheel- of een deel-van-relatie. In dit soort relaties kan de onderliggende klasse onafhankelijk van de bovenliggende klasse bestaan.

Het bedrijf omvat een aantal werknemers, en zelfs als één werknemer ontslag neemt, bestaat het bedrijf nog steeds.

UML-klassediagram

Samenstelling: De compositie is een subset van aggregatie. Het geeft de afhankelijkheid weer tussen de ouder en het kind, wat betekent dat als het ene deel wordt verwijderd, het andere deel ook wordt weggegooid. Het vertegenwoordigt een geheel-deelrelatie.

Een contactenboek bestaat uit meerdere contacten en als u het contactenboek verwijdert, gaan alle contacten verloren.

UML-klassediagram

Abstracte klassen

In de abstracte klasse kunnen geen objecten een directe entiteit van de abstracte klasse zijn. De abstracte klasse kan niet worden gedeclareerd of geïnstantieerd. Het wordt gebruikt om de functionaliteiten van de klassen te vinden. De notatie van de abstracte klasse is vergelijkbaar met die van klasse; het enige verschil is dat de naam van de klasse cursief is geschreven. Omdat er geen enkele implementatie voor een bepaalde functie nodig is, kunt u de abstracte klasse het beste gebruiken met meerdere objecten.

Laten we aannemen dat we een abstracte klasse hebben met de naam verplaatsing met een methode erin gedeclareerd, en die methode zal worden aangeroepen als a drijfveer () . Nu kan deze abstracte klassenmethode door elk object worden geïmplementeerd, bijvoorbeeld auto, fiets, scooter, fiets, enz.

UML-klassediagram

Hoe teken je een klassendiagram?

Het klassendiagram wordt het meest gebruikt om softwareapplicaties te construeren. Het vertegenwoordigt niet alleen een statische weergave van het systeem, maar ook alle belangrijke aspecten van een applicatie. Een verzameling klassendiagrammen vertegenwoordigt als geheel een systeem.

Hieronder vindt u enkele belangrijke punten waarmee u rekening moet houden bij het tekenen van een klassendiagram:

  1. Om een ​​compleet aspect van het systeem te beschrijven, wordt voorgesteld om een ​​betekenisvolle naam aan het klassendiagram te geven.
  2. De objecten en hun relaties moeten vooraf worden erkend.
  3. De attributen en methoden (verantwoordelijkheden) van elke klasse moeten bekend zijn.
  4. Er moet een minimumaantal gewenste eigenschappen worden gespecificeerd, aangezien een groter aantal ongewenste eigenschappen tot een complex diagram zal leiden.
  5. Notities kunnen worden gebruikt wanneer de ontwikkelaar dit nodig heeft om de aspecten van een diagram te beschrijven.
  6. De diagrammen moeten zo vaak opnieuw worden getekend en bewerkt om ze correct te maken voordat de definitieve versie wordt geproduceerd.

Voorbeeld van klassediagram

Hieronder vindt u een klassendiagram dat het verkoopordersysteem beschrijft.

UML-klassediagram

Gebruik van klassendiagrammen

Het klassendiagram wordt gebruikt om een ​​statische weergave van het systeem weer te geven. Het speelt een essentiële rol bij het opstellen van de component- en implementatiediagrammen. Het helpt bij het construeren van een uitvoerbare code om voorwaartse en achterwaartse engineering voor elk systeem uit te voeren, of we kunnen zeggen dat het voornamelijk voor constructie wordt gebruikt. Het vertegenwoordigt de mapping met objectgeoriënteerde talen zoals C++, Java, enz. Klassediagrammen kunnen voor de volgende doeleinden worden gebruikt:

  1. Om de statische weergave van een systeem te beschrijven.
  2. Om de samenwerking tussen elke instantie in de statische weergave te tonen.
  3. Om de functionaliteiten van het systeem te beschrijven.
  4. De softwareapplicatie construeren met behulp van objectgeoriënteerde talen.