UML-klassendiagram: Abstract-les met voorbeelden

⚡ Slimme samenvatting

Een UML-klassendiagram biedt een statische, blauwdrukachtige weergave van een softwaresysteem, waarin de klassen, attributen, bewerkingen en de relaties daartussen worden weergegeven. Deze bron legt de essentiële elementen, relatietypen en abstracte concepten uit.tract-klassen, en een uitgewerkt ATM-voorbeeld.

  • 🧩 Kernelementen: Elke klasse toont drie compartimenten – naam, attributen en bewerkingen – binnen een rechthoek.
  • 🔤 Zichtbaarheid: Openbare, privé-, beveiligde en pakkettoegang worden aangegeven met de symbolen +, -, # en ~.
  • 🔗 Relaties: Afhankelijkheid, generalisatie en associatie – plus aggregatie en compositie – verbinden klassen met elkaar.
  • 🧱 Abstract Klassen: Een buiktracDe klasse t declareert bewerkingen zonder implementatie en wordt weergegeven met de naam ervan cursief.
  • 🏦 Uitgewerkt voorbeeld: Een gelaagd ATM-model laat zien hoe klassen en relaties in één diagram worden gecombineerd.

Wat is klasse in UML-diagram?

A Klasse in UML diagram is een blauwdruk die wordt gebruikt om een ​​object of een set objecten te maken. De klasse definieert wat een object kan doen. Het is een sjabloon om verschillende objecten te maken en hun gedrag in het systeem te implementeren. Een klasse in UML wordt weergegeven door een rechthoek die rijen met klassenamen, kenmerken en bewerkingen bevat.

Wat is klassendiagram?

A Klasse diagram in Software engineering is een statische structuur die een overzicht geeft van een softwaresysteem door klassen, kenmerken, bewerkingen en hun relaties tussen elkaar weer te geven. Dit diagram bevat de klassenaam, kenmerken en bewerking in afzonderlijke aangewezen compartimenten. Klassendiagram helpt bij het construeren van de code voor de ontwikkeling van softwaretoepassingen.

Class Diagram definieert de soorten objecten in het systeem en de verschillende soorten relaties die daartussen bestaan. Het geeft een overzicht op hoog niveau van een applicatie. Deze modelleringsmethode kan met vrijwel alle objectgeoriënteerde methoden worden uitgevoerd. Een klasse kan verwijzen naar een andere klasse. Een klasse kan zijn objecten hebben of erven van andere klassen.

Voordelen van klassendiagram

  • Klassendiagram illustreert datamodellen voor zelfs zeer complexe informatiesystemen
  • Het geeft een overzicht van hoe de applicatie is gestructureerd voordat de daadwerkelijke code wordt bestudeerd. Hierdoor kan de onderhoudstijd eenvoudig worden verkort
  • Het helpt voor een beter begrip van de algemene schema's van een applicatie.
  • Maakt het mogelijk om gedetailleerde grafieken te tekenen die de code markeren die geprogrammeerd moet worden
  • Handig voor ontwikkelaars en andere belanghebbenden.

Essentiële elementen van een UML-klassediagram

Essentiële elementen van het UML-klassediagram zijn:

  1. Naam van de klasse
  2. Attributen

Naam van de klasse

Klassenaam in UML

De naam van de klasse is alleen nodig in de grafische weergave van de klasse. Deze verschijnt in het bovenste compartiment. Een klasse is de blauwdruk van een object dat dezelfde relaties, kenmerken, bewerkingen en semantiek kan delen. De klasse wordt weergegeven als een rechthoek, inclusief de naam, kenmerken en bewerkingen in afzonderlijke compartimenten.

Bij het vertegenwoordigen van een klasse moet rekening worden gehouden met de volgende regels:

  1. Een klassenaam moet altijd met een hoofdletter beginnen.
  2. Een klassenaam moet altijd in het midden van het eerste compartiment staan.
  3. Er moet altijd een klassenaam worden geschreven pin formaat.
  4. UML-abstracDe klassenaam moet cursief worden geschreven.

Attributen

Een attribuut wordt een eigenschap van een klasse genoemd en beschrijft het object dat wordt gemodelleerd. In het klassendiagram wordt deze component net onder het naamcompartiment geplaatst.

Attributen in UML

Een afgeleid attribuut wordt berekend op basis van andere attributen. Zo kan bijvoorbeeld eenvoudig de leeftijd van de leerling worden berekend op basis van zijn/haar geboortedatum.

Attributen in UML

Attributen kenmerken

  • De attributen worden over het algemeen samen met de zichtbaarheidsfactor geschreven.
  • Openbaar, privé, beschermd en pakket zijn de vier zichtbaarheidswaarden die respectievelijk worden aangegeven met +, -, # of ~ tekens.
  • Zichtbaarheid beschrijft de toegankelijkheid van een attribuut van een klasse.
  • Attributen moeten een betekenisvolle naam hebben die het gebruik ervan in een klasse beschrijft.

Relaties

Er zijn hoofdzakelijk drie soorten relaties in UML:

  1. afhankelijkheden
  2. Generalisaties
  3. verenigingen

Afhankelijkheid

Een afhankelijkheid betekent de relatie tussen twee of meer klassen waarin een verandering in de ene, veranderingen in de andere kan forceren. Het zal echter altijd een zwakkere relatie creëren. Afhankelijkheid geeft aan dat de ene klasse afhankelijk is van de andere.

In de volgende UML-klassediagramvoorbeelden is Student afhankelijk van College

Relaties in UML

Generalisatie:

Relaties in UML

Een generalisatie helpt om een ​​subklasse met zijn superklasse te verbinden. Een subklasse wordt geërfd van zijn superklasse. De generalisatierelatie kan niet worden gebruikt om de interface-implementatie te modelleren. Klassediagram maakt overerving van meerdere superklassen mogelijk.

In dit voorbeeld is de klasse Student gegeneraliseerd vanuit Person Class.

Vereniging:

Dit soort relaties vertegenwoordigt statische relaties tussen klassen A en B. Bijvoorbeeld; een medewerker werkt voor een organisatie.

Hier zijn enkele regels voor associatie:

  • Associatie is meestal een werkwoord of een werkwoorduitdrukking of een zelfstandig naamwoord of een zelfstandig naamwoord.
  • De naam moet zo worden gekozen dat deze de rol aangeeft die de klasse speelt die aan het einde van het associatiepad is gekoppeld.
  • Verplicht voor reflexieve associaties

In dit voorbeeld wordt de relatie tussen student en universiteit getoond, namelijk studies.

Relaties in UML

Veelheid

Relaties in UML

Een multipliciteit is een factor die aan een attribuut is gekoppeld. Het specificeert hoeveel exemplaren van attributen er worden gemaakt wanneer een klasse wordt geïnitialiseerd. Als er geen veelheid is opgegeven, wordt er standaard één beschouwd als een standaardveelheid.

Laten we zeggen dat er 100 studenten op één universiteit zijn. Het college kan meerdere studenten hebben.

Aggregatie

Aggregatie is een speciaal type associatie dat een geheel-deelrelatie tussen het aggregaat en zijn delen modelleert.

Relaties in UML

De klascollege bestaat bijvoorbeeld uit een of meer studenten. Bij aggregatie zijn de ingesloten klassen nooit volledig afhankelijk van de levenscyclus van de container. Hier blijft de collegeklas bestaan, zelfs als de student niet beschikbaar is.

Samenstelling:

Relaties in UML

De compositie is een speciaal type aggregatie dat duidt op een sterk eigenaarschap tussen twee klassen wanneer de ene klasse deel uitmaakt van een andere klasse.

Als de universiteit bijvoorbeeld bestaat uit studentenklassen. Het college zou veel studenten kunnen bevatten, terwijl elke student slechts tot één college behoort. Dus als de universiteit niet functioneert, worden alle studenten ook verwijderd.

Aggregatie versus samenstelling

Aggregatie Samenstelling:
Aggregatie geeft een relatie aan waarbij het kind afzonderlijk van zijn bovenliggende klasse kan bestaan. Voorbeeld: Auto (Ouder) en Auto (Kind). Dus als u de auto verwijdert, bestaat de onderliggende auto nog steeds. Samenstelling weergaverelatie waarbij het kind nooit onafhankelijk van de ouder zal bestaan. Voorbeeld: Huis (ouder) en Kamer (kind). Kamers zullen nooit uit elkaar gaan in een huis.

Abstract Klassen

Het is een klasse met een bewerkingsprototype, maar niet de implementatie. Het is ook mogelijk om een ​​abs te hebben.tracEen t-klasse zonder gedeclareerde bewerkingen. Een abstracHet is handig om de functionaliteiten binnen de klassen te identificeren. Laten we een voorbeeld bekijken van een abstract-klasse. Stel dat we een abs hebben.tracEen t-klasse wordt een beweging genoemd met een methode of bewerking die erin is gedeclareerd. De methode die binnen de abs is gedeclareerd.tract klasse wordt een genoemd beweging ().

Deze buikspierentracDe `t`-klassemethode kan door elk object, zoals een auto, een dier, een robot, enz., worden gebruikt om de huidige positie te wijzigen. Het is efficiënt om deze `abs`-methode te gebruiken.tracDe `t` klassemethode kan met een object worden gebruikt omdat er geen implementatie voor de betreffende functie beschikbaar is. We kunnen deze methode op elke gewenste manier voor meerdere objecten gebruiken.

In UML, de abstracDe notatie van een klasse is hetzelfde als die van een gewone klasse. Het enige verschil tussen een klasse en een abstracte klasse is dat de notatie van een abstracte klasse gelijk is aan die van een gewone klasse.tracEen kenmerk van de klasse is dat de klassenaam strikt in een cursief lettertype wordt geschreven.

Een buiktracDe klasse t kan niet worden geïnitialiseerd of geïnstantieerd.

Abstract Klassenotatie
Abstract Klassenotatie

In bovenstaande abstract klassenotatieEr is maar één buikspier.tract-methode die door meerdere objecten van klassen kan worden gebruikt.

Voorbeeld van een UML-klassediagram

Het maken van een klassendiagram is een eenvoudig proces. Er zijn niet veel technische details bij betrokken. Hier is een voorbeeld:

ATM-systemen zijn heel eenvoudig, aangezien klanten op een aantal knoppen moeten drukken om geld te ontvangen. Er zijn echter meerdere beveiligingslagen die elk ATM-systeem moet passeren. Dit helpt fraude te voorkomen en bankklanten contant geld of benodigde gegevens te verstrekken.

Hieronder vindt u een voorbeeld van een UML-klassediagram:

Voorbeeld van een UML-klassediagram

Voorbeeld van een UML-klassediagram

Controleer ook: - UML-diagrammen: geschiedenis, typen, kenmerken, versies, hulpmiddelen

Klassendiagram in de levenscyclus van softwareontwikkeling

Klassendiagrammen kunnen in verschillende softwareontwikkelingsfasen worden gebruikt. Het helpt bij het modelleren van klassendiagrammen in drie verschillende perspectieven.

1. Conceptueel perspectief: Conceptuele diagrammen beschrijven dingen in de echte wereld. U moet een diagram tekenen dat de concepten in het bestudeerde domein weergeeft. Deze concepten zijn gerelateerd aan klasse en zijn altijd taalonafhankelijk.

2. Specificatieperspectief: Het specificatieperspectief beschrijft de abstractie van software.tracties of componenten met specificaties en interfaces. Het geeft echter geen enkele garantie voor een specifieke implementatie.

3. Implementatieperspectief: Dit type klassendiagrammen wordt gebruikt voor implementaties in een specifieke taal of applicatie. Implementatieperspectief, gebruik voor software-implementatie.

Best practices voor het ontwerpen van het klassendiagram

Klassendiagrammen zijn de belangrijkste UML-diagrammen die worden gebruikt voor softwaretoepassingsontwikkeling. Er zijn veel eigenschappen die in overweging moeten worden genomen bij het tekenen van een klassendiagram. Ze vertegenwoordigen verschillende aspecten van een softwaretoepassing.

Hier zijn enkele punten waar u rekening mee moet houden bij het tekenen van een klassendiagram:

  • De naam die aan het klassendiagram wordt gegeven, moet betekenisvol zijn. Bovendien moet het het werkelijke aspect van het systeem beschrijven.
  • De relatie tussen elk element moet vooraf worden geïdentificeerd.
  • De verantwoordelijkheid voor elke klasse moet worden geïdentificeerd.
  • Voor elke klasse moet een minimum aantal eigenschappen worden gespecificeerd. Daarom kunnen ongewenste eigenschappen het diagram gemakkelijk ingewikkeld maken.
  • Gebruikersnotities moeten worden opgenomen wanneer u een aspect van het diagram moet definiëren. Aan het einde van de tekening moet het begrijpelijk zijn voor het softwareontwikkelingsteam.
  • Ten slotte moet het diagram, voordat de definitieve versie wordt gemaakt, op gewoon papier worden getekend. Bovendien moet het worden herwerkt totdat het klaar is voor definitieve indiening.

Controleer ook: - UML-diagramtutorial voor beginners: leer GRATIS UML online

Veelgestelde vragen

Een klassendiagram toont de blauwdruk – klassen, attributen, bewerkingen en relaties – die van toepassing zijn op elke instantie. Een objectdiagram toont een momentopname van specifieke instanties met hun werkelijke waarden op een bepaald moment. Klassendiagrammen modelleren de structuur; objectdiagrammen tonen voorbeelden.

Je kunt UML-klassendiagrammen tekenen met speciale modelleertools die klassevormen, relatieconnectoren en multipliciteitslabels bieden. Veel van deze tools ondersteunen codegeneratie vanuit diagrammen en reverse engineering vanuit de broncode.ping Het ontwerp en de codebasis zijn op elkaar afgestemd.

Een buiktracEen klasse t kan zowel geïmplementeerde als abs declareren.tracEen interface declareert alleen bewerkingen zonder implementatie. Een klasse erft van een andere klasse.tract-klasse, maar kan veel interfaces realiseren.

Ja. Reverse-Technische en AI-tools scannen de broncode om klassen, attributen, methoden en relaties te detecteren en genereren vervolgens automatisch een conceptueel klassendiagram. RevBekijk het resultaat, want AI kan dynamische gegevenstypen of complexe overerving verkeerd interpreteren.

Ja. AI-assistenten kunnen een klassendiagram lezen en elke klasse, de bijbehorende attributen en bewerkingen uitleggen, evenals hoe associaties, generalisaties en composities ze met elkaar verbinden. Dit helpt beginners om onbekende diagrammen snel te interpreteren tijdens het studeren of het beoordelen van code.

Vat dit bericht samen met: