UML klasių metamodelis

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
   Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius.
Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais.
   Šį puslapį ar jo dalį reikia sutvarkyti pagal Vikipedijos standartus.
Jei galite, sutvarkykite.

UML klasių diagramos metamodelis – UML klasių diagramos, kurių klasės aprašo UML klasių diagramų savybes. Tai yra, metamodelyje naudojama UML notacija modeliuoti UML klasių diagramos konceptus ir ryšius. UML klasių diagramos metamodelis apibūdina pagrindinius diagramos elementus, pavyzdžiui, kas yra UML klasė (Muller, 1997).

Klasių diagrama apibrėžia statinę sistemos struktūrą. Supaprastintas UML klasių diagramos metamodelis pateiktas 1 pav. Pagrindiniai diagramos elementai yra klasės ir asociacijos tarp jų. Klasė apibūdina objektų aibę, o asociacija apibūdina ryšių (angl. link) aibę. Objektai yra klasės egzemplioriai (Zhao, Siau, 2003).

1 pav. Supaprastintas UML klasių diagramos metamodelis

Klasės elemento struktūra[redaguoti | redaguoti vikitekstą]

Klasė yra vaizduojama stačiakampiu, padalintu į tris dalis. Pirmoje skiltyje yra rašomas klasės vardas, antrojoje atributai – savybės, apibūdinančios klasę ir trečiojoje dalyje pateikiamos operacijos – veiksmai, kurios galima taikyti klasės objektui.

2 pav. Klasės elemento struktūra
3 pav. Klasės pavyzdys

Ryšių tarp klasių metamodelis[redaguoti | redaguoti vikitekstą]

Pagrindiniai ryšiai tarp klasių yra:

  • asociacija,
  • generalizacija,
  • priklausomybė.

Statinių ryšių tarp klasių metamodelis pateiktas 4 pav.

4 pav. Ryšių tarp klasių metamodelis

Asociacija

Asociacija specifikuoja dvipusį ryšį tarp klasių. Asociacijos pabaiga (angl. end) yra vadinama vaidmeniu (angl. role). Vaidmuo gali turėti vardą. 5 pav. pateiktas asociacijos vaidmenų pavyzdys: žmogus įmonėje užima darbuotojo vaidmenį, o įmonė vaidina darbdavio vaidmenį.

5 pav. Asociacijos vaidmenų pavyzdys

Asociacija turi mažiausiai 2 vaidmenis, kurie apibūdina, kokį vaidmenį užima klasė (žr. 5 pav.).

Kiekvienas asociacijos vaidmuo turi daugybiškumo reikšmę (angl. multiplicity), kuri parodo kiek vienos klasės objektų, gali būti susieta su kitos klasės objektais. 6 pav. pateiktas daugybiškumo naudojimo pavyzdys: žmogus gali turėti nulį ar daugiau sąskaitų (0..*), o sąskaita turi priklausyti bent vienam žmogui.

6 pav. Daugybiškumo naudojimo pavyzdys

Keičiamumo (angl. changeability) reikšmė parodo, ar asociacijos vaidmenys nekinta. Egzemplioriai gali būti rūšiuojami (angl. ordering), kai daugybiškumas daugiau nei 1.


Generalizacija

Generalizacija - ryšys, kuriame viena klasė yra kitos klasės konkretizacija.

Generalizuojamo elemento savybės (žr. 4 pav.):

  • Abstraktus – reikšmė Tiesa, kad elementas negali būti realizuotas tiesiogiai.
  • Tėvas (angl. root) – reikšmė Tiesa, kad elementas negali turėti po tipių.
  • Vaikas (angl. leaf) - reikšmė Tiesa, kad elementas negali turėti virštipių.


7 pav. Generalizacijos pavyzdys

Priklausomybė

Priklausomybė – vienkryptis ryšys, nurodantis, kad vienas elementas naudoja kitą elementą (žr. 4. pav.)


Bibliografija[redaguoti | redaguoti vikitekstą]

  • Zhao L., Siau K. (2003). Meta-Model Based Information Mediation // Idea Group Inc., p. 8 – 9.
  • Muller P.A. (1997). Instant UML // Wrox Press, p. 73–94