UML-klassediagramvejledning: Abstract-klasse med eksempler
Hvad er klasse i UML-diagram?
A Klasse i UML diagram er en plan, der bruges til at skabe et objekt eller et sรฆt af objekter. Klassen definerer, hvad et objekt kan gรธre. Det er en skabelon til at skabe forskellige objekter og implementere deres adfรฆrd i systemet. En klasse i UML er reprรฆsenteret af et rektangel, der inkluderer rรฆkker med klassenavne, attributter og operationer.
Hvad er klassediagram?
A Klassediagram i Software engineering er en statisk struktur, der giver et overblik over et softwaresystem ved at vise klasser, attributter, operationer og deres forhold mellem hinanden. Dette diagram inkluderer klassens navn, attributter og betjening i separate udpegede rum. Klassediagram hjรฆlper med at konstruere koden til udvikling af softwareapplikationer.
Klassediagram definerer typen af โโobjekter i systemet og de forskellige typer relationer, der findes imellem dem. Det giver et overblik over en applikation pรฅ hรธjt niveau. 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.
Fordele ved klassediagram
- Klassediagram Illustrerer datamodeller for selv meget komplekse informationssystemer
- Det giver et overblik over, hvordan applikationen er opbygget, fรธr man studerer selve koden. Dette kan nemt reducere vedligeholdelsestiden
- Det hjรฆlper til en bedre forstรฅelse af generelle skemaer for en applikation.
- Giver mulighed for at tegne detaljerede diagrammer, som 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:
- Klassens navn
- Attributter
- Produktion
Klassens navn
Navnet pรฅ klassen er kun nรธdvendigt i den grafiske reprรฆsentation af klassen. Det vises i det รธverste rum. En klasse er planen for et objekt, som kan dele de samme relationer, attributter, operationer og semantik. Klassen er gengivet som et rektangel, inklusive dens navn, attributter og operationer i sperat rum.
Fรธlgende regler skal overholdes, mens du reprรฆsenterer en klasse:
- Et klassenavn skal altid starte med et stort bogstav.
- Et klassenavn skal altid vรฆre i midten af โโdet fรธrste rum.
- Et klassenavn skal altid skrives ind pin format.
- UML-abstract-klassenavnet skal skrives i kursiv.
Attributter
En attribut kaldes egenskab for en klasse, som beskriver det objekt, 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 nemt beregnes ud fra hans/hendes fรธdselsdato.
Attributter egenskaber
- Attributterne er generelt skrevet sammen med synlighedsfaktoren.
- Offentlig, privat, beskyttet og pakke er de fire synligheder, der er angivet med henholdsvis +, -, # eller ~ tegn.
- Synlighed beskriver tilgรฆngeligheden af โโen attribut i en klasse.
- Attributter skal have et meningsfuldt navn, der beskriver brugen af โโdet i en klasse.
Relationer
Der er hovedsageligt tre slags relationer i UML:
- Afhรฆngigheder
- Generaliseringer
- Foreninger
Afhรฆngighed
En afhรฆngighed betyder forholdet mellem to eller flere klasser, hvor en รฆndring i den ene kan fremtvinge รฆndringer i den anden. Det vil dog altid skabe et svagere forhold. Afhรฆngighed indikerer, at en klasse afhรฆnger af en anden.
I de fรธlgende UML-klassediagrameksempler har Student en afhรฆngighed af College
Generalisering:
En generalisering hjรฆlper med at forbinde en underklasse med dens superklasse. En underklasse er nedarvet fra sin superklasse. Generaliseringsforhold kan ikke bruges til at modellere grรฆnsefladeimplementering. Klassediagram tillader nedarvning fra flere superklasser.
I dette eksempel er klassen Elev generaliseret fra Personklasse.
Forening:
Denne form for relation reprรฆsenterer statiske sammenhรฆnge mellem klasse A og B. For eksempel; en medarbejder arbejder for en organisation.
Her er nogle regler for foreningen:
- Association er for det meste verbum eller en verbumsรฆtning eller navneord eller navneord.
- Den skal navngives for at angive den rolle, som klassen spiller ved slutningen af โโforeningsstien.
- Obligatorisk for refleksive associationer
I dette eksempel er forholdet mellem studerende og college vist, hvilket er studier.
mangfoldighed
En multiplicitet er en faktor forbundet med en egenskab. Det specificerer, hvor mange forekomster af attributter, der oprettes, nรฅr en klasse initialiseres. Hvis en multiplicitet ikke er angivet, betragtes en som standard som en standard multiplicitet.
Lad os sige, at der er 100 studerende pรฅ et kollegium. Kollegiet kan have flere studerende.
Sammenlรฆgning
Aggregation er en sรฆrlig type association, der modellerer et hel-del-forhold mellem aggregat og dets dele.
For eksempel bestรฅr klassekollegiet af en eller flere studerende. Sammenlagt er de indeholdte klasser aldrig helt afhรฆngige af containerens livscyklus. Her forbliver hรธjskoleklassen, selvom eleven ikke er ledig.
Sammensรฆtning:
Sammensรฆtningen er en sรฆrlig type aggregering, som betegner stรฆrkt ejerskab mellem to klasser, nรฅr en klasse er en del af en anden klasse.
For eksempel, hvis college er sammensat af klasser studerende. Kollegiet kunne indeholde mange studerende, mens hver elev kun tilhรธrer รฉn skole. Sรฅ hvis college ikke fungerer, fjernes alle eleverne ogsรฅ.
Aggregation vs. sammensรฆtning
| Sammenlรฆgning | Sammensรฆtning |
|---|---|
| Aggregation indikerer et forhold, hvor barnet kan eksistere adskilt fra deres forรฆldreklasse. Eksempel: bil (forรฆlder) og bil (barn). Sรฅ hvis du sletter bilen, eksisterer barnebilen stadig. | Sammensรฆtningsvisningsforhold, 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. |
Abstract-klasser
Det er en klasse med en operationsprototype, men ikke implementeringen. Det er ogsรฅ muligt at have en abstract-klasse uden deklarerede operationer indeni. En abstracDet er nyttigt til at identificere funktionaliteterne pรฅ tvรฆrs af klasserne. Lad os se pรฅ et eksempel pรฅ en abstract-klasse. Antag, at vi har en mavemuskeltract-klasse kaldes som en bevรฆgelse med en metode eller operation deklareret indeni. Metoden deklareret indeni abstract-klassen kaldes en bevรฆge sig ().
Denne mavemuskeltract-klassemetoden 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 abstract-klassemetode med et objekt, fordi der ikke er angivet nogen implementering for den givne funktion. Vi kan bruge den pรฅ enhver mรฅde til flere objekter.
I UML, maventract-klassen har samme notation som klassens. Den eneste forskel mellem en klasse og en abstract-klassen er, at klassenavnet udelukkende er skrevet i kursiv skrifttype.
En mavemuskeltract-klassen kan ikke initialiseres eller instantieres.

I ovenstรฅende abstract-klasse notation, der er kun รฉn mavemuskeltract-metode, som kan bruges af flere objekter i klasser.
Eksempel pรฅ UML klassediagram
Oprettelse af et klassediagram er en ligetil proces. Det involverer ikke mange tekniske detaljer. Her er et eksempel:
Hรฆveautomater er meget enkelt, da kunder skal trykke pรฅ nogle knapper for at modtage kontanter. Der er dog flere sikkerhedslag, som ethvert ATM-system skal bestรฅ. Dette hjรฆlper med at forhindre svindel og give penge eller behov for detaljer til bankkunder.
Nedenfor er et eksempel pรฅ et UML klassediagram:
Tjek ogsรฅ:- UML-diagrammer: Historie, typer, karakteristika, versioner, vรฆrktรธjer
Klassediagram i softwareudviklings livscyklus
Klassediagrammer kan bruges i forskellige softwareudviklingsfaser. Det hjรฆlper med at modellere klassediagrammer i tre forskellige perspektiver.
1. Konceptuelt perspektiv: Konceptuelle diagrammer beskriver ting i den virkelige verden. Du bรธr tegne et diagram, der reprรฆsenterer begreberne i det undersรธgte domรฆne. Disse begreber relaterer sig til klasse, og den er altid sproguafhรฆngig.
2. Specifikationsperspektiv: Specifikationsperspektiv beskriver softwareabstractioner eller komponenter med specifikationer og grรฆnseflader. Det giver dog ingen forpligtelse til specifik implementering.
3. Implementeringsperspektiv: Denne type klassediagrammer bruges til implementeringer i et bestemt sprog eller applikation. Implementeringsperspektiv, brug til softwareimplementering.
Bedste praksis for design af klassediagrammet
Klassediagrammer er de vigtigste UML-diagrammer, der bruges til udvikling af softwareapplikationer. Der er mange egenskaber, som bรธr overvejes, nรฅr man tegner et klassediagram. De reprรฆsenterer forskellige aspekter af en softwareapplikation.
Her er nogle punkter, som du bรธr 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 minimumsantallet af ejendomme angives. Derfor kan uรธnskede egenskaber nemt gรธre diagrammet kompliceret.
- Brugernoter bรธr inkluderes, nรฅr du har brug for at definere nogle aspekter af diagrammet. I slutningen af โโtegningen skal det vรฆre forstรฅeligt for softwareudviklingsteamet.
- Til sidst, fรธr du opretter den endelige version, skal diagrammet tegnes pรฅ almindeligt papir. Desuden bรธr den omarbejdes, indtil den er klar til endelig aflevering.
Konklusion
- UML er standardsproget til at specificere, designe og visualisere artefakter af softwaresystemer
- En klasse er en blueprint for et objekt
- Et klassediagram beskriver typen af โโobjekter i systemet og de forskellige slags relationer, der eksisterer imellem dem
- Det tillader analyse og design af den statiske visning af en softwareapplikation
- Klassediagrammer er de vigtigste UML-diagrammer, der bruges til udvikling af softwareapplikationer
- Vรฆsentlige elementer i UML klassediagram er 1) Klasse 2) Attributter 3) Relationer
- Klassediagram giver et overblik over, hvordan applikationen er opbygget, fรธr du studerer den faktiske kode. Det reducerer bestemt vedligeholdelsestiden
- Klassediagrammet er nyttigt til at kortlรฆgge objektorienterede programmeringssprog som f.eks Java, C++, Rubin, PythonOsv
Tjek ogsรฅ:- UML Diagram Tutorial for begyndere: Lรฆr UML Online GRATIS









