Modellezés UML

Modellezése UML. F. Novikov, D. Ivanov.

3.2. Lényeg az osztály diagram

Az osztály diagram az elsődleges eszköze a modellezés a szerkezet UML, és az osztály, illetve az elsődleges szerkezeti egység. Ez nem meglepő, és ez teljesen természetes, hiszen az UML nagyrészt objektum-orientált nyelv. Osztály diagramok legtöbb információt telített képest más típusú kanonikus UML diagramok eszközök generál kódot elsősorban leírt osztályokat, osztály szerkezetét a legtöbb pontosan megegyezik a végső szerkezet a alkalmazás kódját.

Ebben a részben figyelembe vesszük a lényeg használt osztály diagramok és a következő részben - a kapcsolatát ezeket a szervezeteket.

3.2.1. osztályok

Osztály - az egyik „gazdag” az UML modellezési elemeket. Osztályú leírás tartalmazhat több különböző elemet, és hogy ezek nem zavaros, a nyelv által létrehozandó elemeinek osztályú szakaszok leírják (rekesz). Normál három részből áll:

  • név rész - együtt a kötelező nevet is tartalmazhat egy sztereotípia, sokfélesége és a listát a megnevezett értékek
  • Tulajdonságok részen - listáját tartalmazza leírások az attribútumok az osztály;
  • Műveleti szakasz - listáját tartalmazza osztályleírások műveletek.

Csakúgy, mint a fő lényege az UML, egy osztály mindig van neve. és ezért az a rész neve nem hagyható. Egyéb szakaszok lehet üres, vagy teljesen hiányoznak. Együtt alappanelein osztály leírása tartalmazhat tetszőleges számú további szakaszok. Szemantikailag ekvivalens további szakaszok jegyzeteket. Ha az eszköz képes tenni valamit az információt a többi részt, hadd tegye. Mindenesetre, az eszköz szükséges ahhoz, hogy ezt az információt a modellben.

osztály jelölés nagyon egyszerű - ez mindig egy téglalapot. Ha több mint egy részén, a belsejében egy téglalap van osztva vízszintes vonalak részekre megfelelő szakaszokra.

Ábra. Egy tipikus osztály jelölés

A szekció tartalmát szöveges ∇. A szöveg a alappanelein kell egy speciális szintaxist.

∇ Egyes eszközök lehetővé teszik, hogy egy részén az osztály, nem csak a szövegek, hanem a számok és az ikonok.

osztály neve szakasz általában a következő szintaxist.

Egyes eszközök lehetővé teszik, hogy különféle alternatív szintaxist lehetőségek szöveges szekciókban. Például tulajdonságai leírják szintaxis stílus ajánlott UML vagy a célnyelven programozási stílust az eszköz. Az ilyen változatok megengedettek szabvány, feltéve, hogy szintaxisok szemantikailag ekvivalens, és lehet alakítani egymást anélkül adatvesztést. Ez a könyv, amely a szabványos szintaxist.

Osztály neve előzheti meg egy sztereotípia. Az alábbi táblázat a standard osztályok sztereotípiákat.

Táblázat. Standard osztályú sztereotípiák

Kötelező osztály neve is dőlt, és ebben az esetben az absztrakt osztály. azaz Nincs közvetlen példányok.

Ha a név ki van jelölve, akkor az nem egy osztály neve, és az objektum nevét.

Osztály, és az egyes elemek közzététele lehet tetszőleges felhasználó által meghatározott határértékek és elemzi (lásd. 1.8.4).

Többszörös osztály által meghatározott közös szabályok (lásd. 3.1.3).

Tekintsük a példát egy osztály név egy szakaszt az információs rendszer a személyzeti osztály.

Ha feltételezzük, hogy a tervezett információs rendszer osztály személyzete fogja használni ugyanazon vállalkozás, egy jó megoldás az lenne, hogy meghatározza a szolgáltatási osztály Társaság a sztereotípia «segédprogram» tárolási globális attribútumok és műveletek információs rendszer a személyzeti osztály. Az ebbe az osztályba neve részben az alábbiakban mutatjuk be.

Ábra. szolgáltatás neve szakasz

3.2.2. attribútumok

Képesség - a megnevezett helyen (vagy ahogy ők mondják, a slot), amely képes tárolni egy értéket.

Osztály attribútumai felsorolt ​​tulajdonságok részben. Általában description attribútum a következő szintaxist.

Láthatóság általában jelölhetünk +. -. #.

Hangsúlyozzuk ismét, hogy ha a látási nincs megadva, nincs alapértelmezett láthatósága nem magától értetődő.

Ha az attribútum neve ki van emelve, az azt jelenti, hogy a jelen attribútum osztály, nem egy esetben a szokásos módon. Más szóval, az összes objektum - esetekben ennek az osztálynak azonos az attribútum értékét, ami közös minden esetben. Normális körülmények között (nincs aláhúzás) minden esetben az osztály tárolja a saját egyéni attribútum értékét.

Underline attribútum leírása megfelel leíró statikus. használják számos objektum-orientált programozási nyelvek.

Többszörös, ha jelen van, határozza meg az attribútum, mint egy tömb (definiált vagy nem definiált hossza).

Attribútumtípus - vagy egy primitív (beépített) típusú, vagy egy felhasználó által definiált típusú (lásd 3.2.4.).

A kezdeti érték az egyértelmű jelentése: ha létre egy példánya a tulajdonság megkapja a megadott értéket. Vegye figyelembe, hogy ha a kezdeti érték nincs megadva, akkor nincs alapértelmezett érték nem célja. Ha biztos akar lenni abban, hogy egy attribútum érték, ezt kell vigyázni osztály konstruktor.

Mint minden más eleme a modell, az attribútum adható kiegészítő tulajdonságok formájában korlátok és elemzi értékeket.

Az attribútumok van egy másik alapfunkció: variabilitás (változékonyság). Az alábbi táblázat felsorolja a lehetséges értékeit az ingatlan.

Táblázat. Az ingatlan értékének attribútum variabilitás

Paraméter típusú műveletek, valamint a visszatérés az a művelet típusának értékek lehetnek bármilyen beépített típus vagy egy adott modell az osztályban, interfész vagy adat típusát.

Minden együtt (művelet nevét, paraméterek és eredmény típusa) szokás nevezni aláírással (aláírás) tranzakciókat.

A szabvány azt javasolja, hogy fontolja aláírás művelet nevét, valamint a számát, sorrendjét és típusát paraméterek (azaz az irányt átviteli paramétereket, valamint a nevüket, valamint a típusa az eredmény nem szerepel az aláírás). De ez az a pont, szemantikai eltérések - eltérő fogalom az aláírás lehet végrehajtani egy adott eszköz. Ha az aláírások különböző, és különböző műveleteket (akkor is, ha a nevek azonosak). Az egyik osztályban nem lehet két művelet egy aláírás - a modell tekinthető ellentmondásos. Ha a működés meghatározása alosztály ugyanaz az aláírás, akkor két lehetőség van. Ha a művelet leírása alosztályai- pontosan ugyanolyan, vagy ha ez egy konzisztens kiterjesztése (például az osztály nem volt meghatározva eredmény típusa és az alosztály meghatározott), meg kell ismételni leírása ugyanazt a műveletet. Ha a művelet leírása a megfelelő aláírást a alosztály ellentétes a leírást az osztály (például világosan mutatja a különböző paramétereket a szállítási irány), akkor a modell tekinthető ellentmondásos.

Operation számos fontos tulajdonságokat listájában meghatározott tulajdonságok, mint megnevezett értékeket.

Először. Ez a párhuzamosság (konkurencia) - tulajdonságot, amely meghatározza a szemantika egyidejű (párhuzamos) működését a hívást. Olyan alkalmazásokban, ahol csak egy szál a kontroll, nem párhuzamos hívások nem lehet. Valóban, ha a művelet kerül alkalmazásra, akkor a program végrehajtása felfüggeszthető egy pont hívást, amíg amíg végrehajtása után a hívott működését. Az egyszálú alkalmazások minden ellenőrzés egy adott ponton a programban, és végrehajtásra kerül pontosan egy adott művelet. A rekurzív hívás (azaz egy hívást műveletet önmagában) nem tekinthető párhuzamos, mivel a rekurzív hívás műveletet rendszerint szuszpendáljuk, és így, mindig végrehajtásra csak az egyik esetben egy rekurzív művelet. Nem pedig ott, ahol van több vezérlési szálak. Ilyen esetben a művelet lehet hivatkozni egy előremenő és egy időben, amíg a teljesítmény még nem fejeződött be, az úgynevezett másik szál. Property Value konkurencia meghatározza, hogy mi fog történni ebben az esetben. A lehetséges opciók és azok leírását az alábbiakban közöljük.

Táblázat. Az ingatlan értéke konkurencia

Működés nem teszi lehetővé a párhuzamos hívás (nem visszatérő). Ha a párhuzamos hívás történik, az azt követő rendszer viselkedését nem definiált.

Párhuzamos hívások megengedettek, de csak egyikük végzik - a többi blokkolva vannak, és azok végrehajtása késik, amíg befejezéséig a végrehajtás a hívást. ∇

Működés lehetővé teszi tetszőleges számú egyidejű hívások és biztosítja a helyességét annak végrehajtását. Ezeket a műveleteket nevezzük beugró (reenterable).

∇ Ilyen szemantika generálhat állapotát biztosítóberendezés (vagy zsákutca), amelyben két vagy több folyamat kölcsönösen blokkolják egymást, és nem tudja folytatni végrehajtását.

Második. művelet az ingatlan. amelynek értéke azt jelzi, hogy a művelet a mellékhatás. Ha a tulajdonság értéke igaz. A művelet nem változtatja meg a rendszer állapotát - csak a művelet kiszámítja a visszaadott értékek a hívás ∇. Ellenkező esetben, vagyis a ha az érték hamis. használata megváltoztatja az állam a rendszer: beállítja az új attribútum értéke, létrehoz, vagy elpusztítja tárgyak, stb Alapértelmezésben a művelet az ingatlan. Ezért, ha meg kell határoznia, hogy ez a művelet - jellemző mellékhatások nélkül, ez elég ahhoz, hogy írjon.

∇ Az ilyen műveletek rendszerint nevezik funkciók vagy lekérdezések.

Harmadik. ha a művelet végrehajtásához nem kell felülbírálni alosztályok használni korlátozás. Default.

Tekintsük a példák a potenciál a Person osztály üzemi információs rendszerét a személyzeti osztály.

Táblázat. Példák leíró műveletek

Kapcsolódó cikkek