UML klassediagram tutorial med eksempler

Indholdsfortegnelse:

Anonim

Hvad er klasse?

En klasse er en plan, der bruges til at oprette objekt. Klassen definerer, hvad objekt kan gøre.

Hvad er klassediagram?

UML CLASS DIAGRAM giver et overblik over et softwaresystem ved at vise klasser, attributter, operationer og deres forhold. Dette diagram inkluderer klassens navn, attributter og drift i separate udpegede rum.

Klassediagram definerer typer objekter i systemet og de forskellige typer relationer, der findes mellem dem. Det giver et højt overblik over en applikation. Denne modelleringsmetode kan køre med næsten alle objektorienterede metoder. En klasse kan henvise til en anden klasse. En klasse kan have sine objekter eller kan arve fra andre klasser.

Klassediagram hjælper med at konstruere koden til software applikationsudvikling.

I denne vejledning lærer du:

  • Hvad er klasse?
  • Hvad er klassediagram?
  • Fordele ved klassediagram
  • Væsentlige elementer i et UML-klassediagram
    • Klassens navn
    • Egenskaber:
    • Relationer
  • Aggregering vs. sammensætning
  • Abstrakte klasser
  • Eksempel på UML-klassediagram:
  • Klassediagram i softwareudviklings livscyklus:
  • Bedste fremgangsmåder ved udformning af klassediagrammet

Fordele ved klassediagram

  • Klassediagram Illustrerer datamodeller til selv meget komplekse informationssystemer
  • Det giver et overblik over, hvordan applikationen er struktureret, inden du studerer den aktuelle kode. Dette kan let reducere vedligeholdelsestiden
  • Det hjælper med til bedre forståelse af generelle skemaer for en applikation.
  • Tillader tegning af detaljerede diagrammer, der fremhæver kode, der skal programmeres
  • Nyttigt for udviklere og andre interessenter.

Væsentlige elementer i et UML-klassediagram

Væsentlige elementer i UML klassediagram er:

  1. Klassens navn
  2. Egenskaber
  3. Operationer

Klassens navn

Navnet på klassen er kun nødvendigt i klassens grafiske repræsentation. Det vises i det øverste rum. En klasse er planen for et objekt, der kan dele de samme relationer, attributter, operationer og semantik. Klassen gengives som et rektangel, inklusive dets navn, attributter og operationer i sfæriske rum.

Følgende regler skal tages hånd om, mens de repræsenterer en klasse:

  1. Et holdnavn skal altid starte med et stort bogstav.
  2. Et klassenavn skal altid være i midten af ​​det første rum.
  3. Et holdnavn skal altid skrives i fed skrift .
  4. Et abstrakt klassenavn skal skrives i kursiv format.

Egenskaber:

En attribut er navngivet egenskab for en klasse, der beskriver objektet, der modelleres. I klassediagrammet er denne komponent placeret lige under navnerummet.

En afledt attribut beregnes ud fra andre attributter. For eksempel kan en elevs alder let beregnes fra hans / hendes fødselsdato.

Egenskaber egenskaber

  • Attributterne er generelt skrevet sammen med synlighedsfaktoren.
  • Offentlig, privat, beskyttet og pakke er de fire synligheder, der betegnes med henholdsvis +, -, # eller ~ tegn.
  • Synlighed beskriver tilgængeligheden af ​​en attribut for en klasse.
  • Attributter skal have et meningsfuldt navn, der beskriver brugen af ​​det i en klasse.

Relationer

Der er primært tre slags forhold i UML:

  1. Afhængigheder
  2. Generaliseringer
  3. Foreninger

Afhængighed

En afhængighed betyder forholdet mellem to eller flere klasser, hvor en ændring i den ene kan tvinge ændringer i den anden. Det vil dog altid skabe et svagere forhold. Afhængighed angiver, at en klasse er afhængig af en anden.

I det følgende eksempel har studerende en afhængighed af college

Generalisering:

En generalisering hjælper med at forbinde en underklasse til dens superklasse. En underklasse arves fra sin superklasse. Generaliseringsforhold kan ikke bruges til at modellere implementering af interface. Klassediagram tillader nedarvning fra flere superklasser.

I dette eksempel generaliseres klassen Student fra Person Class.

Forening:

Denne form for forhold repræsenterer statiske forhold mellem klasse A og B. For eksempel; en medarbejder arbejder for en organisation.

Her er nogle regler for tilknytning:

  • Forening er for det meste verb eller en verbussætning eller navneord eller navneordssætning.
  • Det skal navngives for at angive den rolle, som holdet deltager i slutningen af ​​associeringsstien.
  • Obligatorisk for refleksive foreninger

I dette eksempel vises forholdet mellem studerende og college, hvilket er studier.

Mangfoldighed

En flerhed er en faktor, der er knyttet til en attribut. Det specificerer, hvor mange forekomster af attributter, der oprettes, når en klasse initialiseres. Hvis en mangfoldighed ikke er angivet, betragtes en som standard som en standardmultiplikitet.

Lad os sige, at der er 100 studerende på et college. Kollegiet kan have flere studerende.

Aggregering

Aggregation er en speciel type tilknytning, der modellerer et helhedsforhold mellem aggregat og dets dele.

For eksempel består klassehøjskolen af ​​en eller flere studerende. Samlet set er de indeholdte klasser aldrig helt afhængige af containerens livscyklus. Her forbliver college-klassen, selvom den studerende ikke er tilgængelig.

Sammensætning:

Kompositionen er en speciel type sammenlægning, der angiver stærkt ejerskab mellem to klasser, når en klasse er en del af en anden klasse.

For eksempel, hvis college består af klasser studerende. Kollegiet kunne indeholde mange studerende, mens hver studerende kun tilhører et kollegium. Så hvis college ikke fungerer, fjernes også alle studerende.

Aggregering vs. sammensætning

Aggregering

Sammensætning

Aggregation angiver et forhold, hvor barnet kan eksistere adskilt fra deres overordnede klasse. Eksempel: Bil (forælder) og bil (barn). Så hvis du sletter bilen, eksisterer den underordnede bil stadig.

Komposition viser forhold, hvor barnet aldrig vil eksistere uafhængigt af forælderen. Eksempel: Hus (forælder) og Værelse (barn). Værelser vil aldrig adskilles i et hus.

Abstrakte klasser

Det er en klasse med en operation prototype, men ikke implementeringen. Det er også muligt at have en abstrakt klasse uden operationer erklæret inde i den. Et abstrakt er nyttigt til at identificere funktionaliteten på tværs af klasserne. Lad os overveje et eksempel på en abstrakt klasse. Antag at vi har en abstrakt klasse kaldet som en bevægelse med en metode eller en operation erklæret inde i den. Metoden erklæret inde i den abstrakte klasse kaldes et træk () .

Denne abstrakte klassemetode kan bruges af ethvert objekt såsom en bil, et dyr, en robot osv. Til at ændre den aktuelle position. Det er effektivt at bruge denne abstrakte klassemetode med et objekt, fordi der ikke gives nogen implementering for den givne funktion. Vi kan bruge det på nogen måde til flere objekter.

I UML har den abstrakte klasse den samme notation som klassen. Den eneste forskel mellem en klasse og en abstrakt klasse er, at klassens navn er strengt skrevet med en kursiv skrifttype.

En abstrakt klasse kan ikke initialiseres eller instantieres.

Abstrakt klassemeddelelse

I ovenstående abstrakte klassebeskrivelse er der kun en enkelt abstrakt metode, der kan bruges af flere objekter af klasser.

Eksempel på UML klassediagram

Oprettelse af et klassediagram er en ligetil proces. Det involverer ikke mange tekniske forhold. Her er et eksempel:

Hæveautomater er meget simpelt, da kunderne skal trykke på nogle knapper for at modtage kontanter. Der er dog flere sikkerhedslag, som ethvert pengeautomatsystem skal passere. Dette hjælper med at forhindre svindel og give kontanter eller behov for detaljer til bankkunder.

Nedenfor er et UML-klassediagrameksempel:

Klassediagram i softwareudviklings livscyklus

Klassediagrammer kan bruges i forskellige softwareudviklingsfaser. Det hjælper med modellering af klassediagrammer i tre forskellige perspektiver.

1. Konceptuelt perspektiv: Konceptuelle diagrammer beskriver ting i den virkelige verden. Du skal tegne et diagram, der repræsenterer begreberne i det domæne, der undersøges. Disse begreber er relateret til klasse, og det er altid sproguafhængigt.

2. Specifikationsperspektiv: Specifikationsperspektiv beskriver softwareabstraktioner eller komponenter med specifikationer og grænseflader. Det giver dog ikke nogen forpligtelse til specifik implementering.

3. Implementeringsperspektiv: Denne type klassediagrammer bruges til implementeringer på et bestemt sprog eller en bestemt applikation. Implementeringsperspektiv, brug til softwareimplementering.

Bedste fremgangsmåder ved udformning af klassediagrammet

Klassediagrammer er de vigtigste UML-diagrammer, der anvendes til udvikling af softwareapplikationer. Der er mange egenskaber, der skal overvejes, når man tegner et klassediagram. De repræsenterer forskellige aspekter af en softwareapplikation.

Her er nogle punkter, som du skal huske på, når du tegner et klassediagram:

  • Navnet på klassediagrammet skal være meningsfuldt. Desuden skal det beskrive det virkelige aspekt af systemet.
  • Forholdet mellem hvert element skal identificeres på forhånd.
  • Ansvaret for hver klasse skal identificeres.
  • For hver klasse skal minimum antal egenskaber specificeres. Derfor kan uønskede egenskaber let gøre diagrammet kompliceret.
  • Brugernoter skal medtages, når du skal definere et eller andet aspekt af diagrammet. I slutningen af ​​tegningen skal det være forståeligt for softwareudviklingsteamet.
  • Endelig skal diagrammet tegnes på almindeligt papir, inden du opretter den endelige version. Desuden skal det omarbejdes, indtil det er klar til endelig indsendelse.

Konklusion

  • UML er standardsproget til at specificere, designe og visualisere artefakterne i softwaresystemer
  • En klasse er en plan for et objekt
  • Et klassediagram beskriver typerne af objekter i systemet og de forskellige slags forhold, der findes mellem dem
  • Det giver mulighed for analyse og design af det statiske billede af en softwareapplikation
  • Klassediagrammer er de vigtigste UML-diagrammer, der bruges til softwareudvikling
  • Væsentlige elementer i UML klassediagram er 1) Klasse 2) Attributter 3) Forhold
  • Klassediagram giver et overblik over, hvordan applikationen er struktureret, inden man studerer den aktuelle kode. Det reducerer bestemt vedligeholdelsestiden
  • Klassediagrammet er nyttigt til at kortlægge objektorienterede programmeringssprog som Java, C ++, Ruby, Python osv.