Zelfstudie UML-klassediagram: abstracte klasse met voorbeelden

Wat is klasse in UML-diagram?

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

Wat is klassendiagram?

TOT Klassendiagram in Software engineering is een statische structuur die een overzicht geeft van een softwaresysteem door klassen, attributen, bewerkingen en hun onderlinge relaties weer te geven. Dit diagram bevat de klassenaam, attributen en werking in afzonderlijke aangewezen compartimenten. Class Diagram 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 van een applicatie op hoog niveau. Deze modelleringsmethode kan met bijna 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.

In deze UML Class Diagram-tutorial leert u:

Voordelen van klassendiagram

  • Class Diagram Illustreert datamodellen voor zelfs zeer complexe informatiesystemen
  • Het geeft een overzicht van hoe de applicatie is gestructureerd voordat de eigenlijke code wordt bestudeerd. Dit kan de onderhoudstijd gemakkelijk verkorten
  • Het helpt voor een beter begrip van algemene schema's van een toepassing.
  • Maakt het mogelijk om gedetailleerde grafieken te tekenen die de code markeren die moet worden geprogrammeerd
  • Handig voor ontwikkelaars en andere belanghebbenden.

Essentiële elementen van een UML-klassendiagram

Essentiële elementen van het UML-klassendiagram zijn:

  1. Naam van de klasse
  2. attributen
  3. Activiteiten

Naam van de klasse

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

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

  1. Een klassenaam moet altijd beginnen met een hoofdletter.
  2. Een klassenaam moet altijd in het midden van het eerste compartiment staan.
  3. Een klassenaam moet altijd worden geschreven in stoutmoedig formaat.
  4. De naam van de UML-abstracte klasse moet cursief worden geschreven.

attributen:

Een attribuut wordt een eigenschap genoemd van een klasse die het object beschrijft dat wordt gemodelleerd. In het klassendiagram wordt dit onderdeel net onder het naamvak geplaatst.

Een afgeleid attribuut wordt berekend uit andere attributen. Een leeftijd van de student kan bijvoorbeeld eenvoudig worden berekend uit zijn/haar geboortedatum.

Attributen kenmerken

  • De attributen worden over het algemeen samen met de zichtbaarheidsfactor geschreven.
  • Publiek, privé, beschermd en pakket zijn de vier zichtbaarheden die respectievelijk worden aangeduid 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.

Verhoudingen

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 voorbeelden van UML-klassediagrammen is Student afhankelijk van College

Generalisatie:

Een generalisatie helpt om een ​​subklasse te verbinden met zijn superklasse. Een subklasse wordt geërfd van zijn superklasse. Generalisatierelatie kan niet worden gebruikt om interface-implementatie te modelleren. Klassendiagram maakt het mogelijk om van meerdere superklassen te erven.

In dit voorbeeld wordt de klasse Student gegeneraliseerd vanuit Persoonsklasse.

Vereniging:

Dit soort relaties vertegenwoordigt statische relaties tussen klassen A en B. Bijvoorbeeld; een werknemer 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.
  • Het moet een naam hebben om de rol aan te geven die wordt gespeeld door de klasse die aan het einde van het associatiepad is toegevoegd.
  • Verplicht voor reflexieve associaties

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

Veelheid

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

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

Aggregatie

Aggregatie is een speciaal type associatie dat een relatie tussen een aggregaat en zijn onderdelen modelleert.

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

Samenstelling:

De samenstelling is een speciaal type aggregatie dat een sterk eigendom tussen twee klassen aangeeft wanneer een klasse deel uitmaakt van een andere klasse.

Bijvoorbeeld, als de universiteit bestaat uit klassen student. Het college kan veel studenten bevatten, terwijl elke student tot slechts één college behoort. Dus, als de universiteit niet functioneert, worden alle studenten ook verwijderd.

Aggregatie versus samenstelling

AggregatieSamenstelling

Aggregatie geeft een relatie aan waarbij het kind afzonderlijk van de 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 worden gescheiden in een huis.

Abstracte lessen

Het is een klasse met een operatie-prototype, maar niet de implementatie. Het is ook mogelijk om een ​​abstracte klasse te hebben zonder daarin gedeclareerde bewerkingen. Een samenvatting 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 wordt genoemd als een beweging met een methode of een bewerking erin gedeclareerd. De methode gedeclareerd binnen de abstracte klasse heet a Actie () .

Deze abstracte klassenmethode 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 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 is geschreven.

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

Abstracte klassennotatie

qual é melhor i5 ou i7

In de bovenstaande abstracte klassennotatie is er de enige enkele abstracte methode die door meerdere klassenobjecten kan worden gebruikt.

Voorbeeld van een UML-klassediagram

Het maken van een klassendiagram is een eenvoudig proces. Veel technische details komen er niet aan te pas. Hier is een voorbeeld:

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

Hieronder is een voorbeeld van een UML-klassediagram:

Voorbeeld van UML-klassediagram

Klassendiagram in de levenscyclus van softwareontwikkeling

Klassediagrammen kunnen worden gebruikt in verschillende fasen van softwareontwikkeling. Het helpt bij het modelleren van klassendiagrammen in drie verschillende perspectieven.

1. Conceptueel perspectief: Conceptuele diagrammen beschrijven dingen in de echte wereld. Je moet een diagram tekenen dat de concepten in het bestudeerde domein weergeeft. Deze concepten hebben betrekking op de klas en zijn altijd taalonafhankelijk.

2. Specificatie perspectief: Specificatieperspectief beschrijft software-abstracties of componenten met specificaties en interfaces. Het geeft echter geen enkele toezegging tot concrete uitvoering.

3. Uitvoeringsperspectief: 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 de ontwikkeling van softwaretoepassingen. Er zijn veel eigenschappen waarmee rekening moet worden gehouden bij het tekenen van een klassendiagram. Ze vertegenwoordigen verschillende aspecten van een softwaretoepassing.

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

  • De naam die aan het klassendiagram wordt gegeven, moet betekenisvol zijn. Bovendien moet het het echte 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 bepaald aspect van het diagram moet definiëren. Aan het einde van de tekening moet het begrijpelijk zijn voor het softwareontwikkelingsteam.
  • Ten slotte, voordat u de definitieve versie maakt, moet het diagram 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 soorten objecten in het systeem en de verschillende soorten relaties die er tussen bestaan
  • Het maakt analyse en ontwerp van de statische weergave van een softwaretoepassing mogelijk
  • Klassendiagrammen zijn de belangrijkste UML-diagrammen die worden gebruikt voor de ontwikkeling van softwaretoepassingen
  • Essentiële elementen van het UML-klassendiagram zijn 1) Klasse 2) Attributen 3) Relaties
  • Class Diagram biedt een overzicht van hoe de applicatie is gestructureerd voordat de eigenlijke code wordt bestudeerd. Het vermindert zeker de onderhoudstijd
  • Het klassendiagram is handig om objectgeoriënteerde programmeertalen zoals Java, C++, Ruby, Python, enz. in kaart te brengen.
  • Volg deze samengestelde lijst om een ​​professioneel diagram te maken - Klik hier.