UML Class Diagram-zelfstudie: abstracte klasse met voorbeelden

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. De naam van de UML-abstracte klasse 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.

Abstracte klassen

Het is een klasse met een operatieprototype, maar niet de implementatie. Het is ook mogelijk om een ​​abstracte klasse te hebben zonder daarin gedeclareerde bewerkingen. Een abstract is handig om de functionaliteiten in de klassen te identificeren. Laten we een voorbeeld van een abstracte klasse bekijken. Stel dat we een abstracte klasse hebben die een beweging wordt genoemd met een methode of een bewerking die erin is gedeclareerd. De methode die in de abstracte klasse is gedeclareerd, wordt een beweging ().

Deze abstracte klassenmethode kan door elk object, zoals een auto, een dier, robot, enz., worden gebruikt om de huidige positie te wijzigen. Het is efficiënt om deze abstracte klassenmethode met een object te gebruiken, omdat er geen implementatie is voorzien voor de gegeven functie. We kunnen het op elke manier gebruiken voor meerdere objecten.

In UML heeft de abstracte klasse dezelfde notatie als die van de klasse. Het enige verschil tussen een klasse en een abstracte klasse is dat de klassenaam strikt cursief wordt geschreven.

Een abstracte klasse kan niet worden geïnitialiseerd of geïnstantieerd.

Abstracte klassenotatie
Abstracte klassenotatie

In bovenstaande abstracte klassenotatie, is er de enige enkele abstracte 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: Specificatieperspectief beschrijft softwareabstracties of componenten met specificaties en interfaces. Het houdt echter geen enkele verplichting in 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.

Conclusie

  • UML is de standaardtaal voor het specificeren, ontwerpen en visualiseren van de artefacten van softwaresystemen
  • Een klasse is een blauwdruk voor een object
  • Een klassendiagram beschrijft de typen objecten in het systeem en de verschillende soorten relaties die daartussen bestaan
  • Het maakt analyse en ontwerp van de statische weergave van een softwareapplicatie mogelijk
  • Klassendiagrammen zijn de belangrijkste UML-diagrammen die worden gebruikt voor de ontwikkeling van softwareapplicaties
  • Essentiële elementen van het UML-klassediagram zijn 1) Klasse 2) Attributen 3) Relaties
  • Class Diagram biedt een overzicht van hoe de applicatie is gestructureerd voordat de daadwerkelijke code wordt bestudeerd. Het vermindert zeker de onderhoudstijd
  • Het klassendiagram is handig om objectgeoriënteerde programmeertalen zoals Java, C++, Robijn, Python, Etc.

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