Zelfstudie voor UML-klassendiagrammen met voorbeelden

Inhoudsopgave:

Anonim

Wat is klasse?

Een klasse is een blauwdruk die wordt gebruikt om een ​​object te maken. De Klasse definieert wat object kan doen.

Wat is een klassendiagram?

UML CLASS DIAGRAM geeft een overzicht van een softwaresysteem door klassen, attributen, bewerkingen en hun relaties weer te geven. Dit diagram bevat de klassenaam, attributen en werking in afzonderlijke aangewezen compartimenten.

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

Class Diagram helpt bij het construeren van de code voor de ontwikkeling van softwareapplicaties.

In deze tutorial leer je:

  • Wat is klasse?
  • Wat is een klassendiagram?
  • Voordelen van klassendiagram
  • Essentiële elementen van een UML-klassendiagram
    • Naam van de klasse
    • Attributen:
    • Verhoudingen
  • Aggregatie versus samenstelling
  • Abstracte lessen
  • Voorbeeld van een UML-klassendiagram:
  • Klassendiagram in de levenscyclus van softwareontwikkeling:
  • Best practices voor het ontwerpen van het klassendiagram

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 verminderen
  • Het helpt voor een beter begrip van algemene schema's van een applicatie.
  • Maakt het mogelijk om gedetailleerde grafieken te tekenen waarin de te programmeren code wordt gemarkeerd
  • 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. Operaties

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, bewerkingen en semantiek kan delen. De klasse wordt weergegeven als een rechthoek, inclusief de naam, attributen en bewerkingen in afzonderlijke compartimenten.

De volgende regels moeten in acht worden genomen bij het vertegenwoordigen van een klas:

  1. De naam van een klas moet altijd beginnen met een hoofdletter.
  2. Een klassenaam moet altijd in het midden van het eerste compartiment staan.
  3. Een klassenaam moet altijd vetgedrukt worden geschreven .
  4. Een abstracte klassenaam 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 op basis van andere attributen. Zo kan bijvoorbeeld de leeftijd van de leerling gemakkelijk worden berekend vanaf zijn / haar geboortedatum.

Attributen kenmerken

  • De attributen worden over het algemeen samen met de zichtbaarheidsfactor geschreven.
  • Openbaar, privé, beschermd en pakket zijn de vier zichtbaarheid, 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 klas 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 het volgende voorbeeld 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 overerving van meerdere superklassen mogelijk.

In dit voorbeeld wordt de klasse Student gegeneraliseerd vanuit Persoonsklasse.

Vereniging:

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

Hier zijn enkele regels voor associatie:

  • Associatie is meestal een werkwoord of een werkwoordsuitdrukking of een zelfstandig naamwoord of een zelfstandige naamwoord.
  • Het moet een naam krijgen om de rol aan te geven die wordt gespeeld door de klasse die aan het einde van het koppelingspad is toegevoegd.
  • Verplicht voor reflexieve verenigingen

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

Veelheid

Een veelheid is een factor die is gekoppeld aan een attribuut. Het specificeert hoeveel instanties 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 zitten. Het college kan meerdere studenten hebben.

Aggregatie

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

Het klascollege 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 ook als de student niet beschikbaar is.

Samenstelling:

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

Als de universiteit bijvoorbeeld is samengesteld uit klassenstudenten. Het college kan veel studenten bevatten, terwijl elke student maar tot één college behoort. Dus als het college niet functioneert, worden alle studenten ook verwijderd.

Aggregatie versus samenstelling

Aggregatie

Samenstelling

Aggregatie geeft een relatie aan waarin het kind afzonderlijk van zijn bovenliggende klasse kan bestaan. Voorbeeld: auto (ouder) en auto (kind). Dus als u de auto verwijdert, bestaat de kinderauto nog steeds.

Samenstellingsvertoningsrelatie waarbij het kind nooit onafhankelijk van de ouder zal bestaan. Voorbeeld: huis (ouder) en kamer (kind). Kamers zullen nooit in een huis scheiden.

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 over de klassen heen te identificeren. Laten we eens kijken naar een voorbeeld van een abstracte klasse. Stel dat we een abstracte klasse hebben die wordt genoemd als een beweging met een methode of een bewerking erin gedeclareerd. De methode die binnen de abstracte klasse wordt gedeclareerd, wordt een move () genoemd .

Deze abstracte klassemethode kan door elk object worden gebruikt, zoals een auto, een dier, een robot, enz. Om de huidige positie te wijzigen. Het is efficiënt om deze abstracte klassemethode te gebruiken met een object 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

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

Voorbeeld van een UML-klassendiagram

Het maken van een klassendiagram is een eenvoudig proces. Het brengt niet veel technische details met zich mee. Hier is een voorbeeld:

Het geldautomaatsysteem 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 doorstaan. Dit helpt om fraude te voorkomen en het verstrekken van contant geld of gegevens nodig aan bankklanten.

Hieronder wordt een voorbeeld van een UML-klassendiagram gegeven:

Klassendiagram in de levenscyclus van softwareontwikkeling

Klassendiagrammen 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. U moet een diagram tekenen dat de concepten in het bestudeerde domein weergeeft. Deze concepten hebben betrekking op klasse en zijn altijd taalonafhankelijk.

2. Specificatieperspectief: Specificatieperspectief beschrijft software-abstracties of componenten met specificaties en interfaces. Het geeft echter geen enkele toezegging tot 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 de ontwikkeling van softwareapplicaties. 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 die in gedachten moeten worden gehouden 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 van tevoren worden geïdentificeerd.
  • De verantwoordelijkheid voor elke klas moet worden geïdentificeerd.
  • Voor elke klasse moet het minimum aantal eigenschappen worden opgegeven. 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 op gewoon papier worden getekend voordat u de definitieve versie maakt. Bovendien moet het worden herwerkt totdat het klaar is voor definitieve indiening.

Gevolgtrekking

  • UML is de standaardtaal voor het specificeren, ontwerpen en visualiseren van 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 softwareapplicatie mogelijk
  • Klassendiagrammen zijn de belangrijkste UML-diagrammen die worden gebruikt voor de ontwikkeling van softwareapplicaties
  • Essentiële elementen van het UML-klassendiagram zijn 1) Klasse 2) Attributen 3) Relaties
  • Class Diagram geeft 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, etc. in kaart te brengen.