Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Az UML kiterjesztési lehetőségei. Kiterjesztések: megszorítások, név- érték párok, sztereotípusok, profilok A szabványhoz képest eltéréseket fogalmaznak.

Hasonló előadás


Az előadások a következő témára: "Az UML kiterjesztési lehetőségei. Kiterjesztések: megszorítások, név- érték párok, sztereotípusok, profilok A szabványhoz képest eltéréseket fogalmaznak."— Előadás másolata:

1 Az UML kiterjesztési lehetőségei

2 Kiterjesztések: megszorítások, név- érték párok, sztereotípusok, profilok A szabványhoz képest eltéréseket fogalmaznak meg  óvatosan a kódgenerálással Metamodell kiterjesztés/módosítás Profilokban tároljuk a kiterjesztéseket: egyes szakterületeken különálló metamodell kiterjesztések elérhetők. Pl. SPEM: Software Process Engineering Metamodel

3 Object Constraint Language (OCL) Tisztán kifejezésközpontú nyelv: nincsenek mellékhatások Modellezési nyelv: nincsenek megvalósítási kérdések Nem programozási nyelv: nem végrehajtható, nincsen vezérlés Predikatív nyelv: minden kifejezés kiértékelhető, logikai eredménnyel Erősen típusos nyelv: minden jól formált OCL kifejezésnek típusa van, a típusegyeztetés kötelező Objektumorientált nyelv: ezért használható az UML rendszerekben Megszorító nyelv: valamilyen példányhalmazhoz kapcsoljuk, megszorítja a halmazt olyan egyedekre, amelyekre a kifejezés igazra értékelődik ki.

4 Az OCL használati környezetei Osztályok, típusok és kapcsolatok invariánsai Sztereotípusok típusinvariánsai Műveletek elő- és utófeltételei Tevékenység- és állapotdiagramok őrfeltételei Navigációt leíró nyelv Műveletek megszorításai A grafikus nyelv is megfogalmazható OCL megszorításként.

5 nor(x:Boolean):Boolean=or(x).not(); - Műveletleíró megszorítás addInterest(sum:Real,int:Real):Real pre: sum>=0 and int>0 post: addInterest>sum - Művelet elő és utófeltétele

6 Az OCL felépítése Egy OCL feltétel egy Boolean típusú kifejezés Egy OCL kifejezésből navigációval egy másik kifejezés képezhető. Az új kifejezés típusát a navigáció határozza meg. –Navigálhatunk az alapkifejezés típusmeghatározásában megadott tulajdonsággal. Az eredmény típusa a tulajdonság típusa lesz. ( Employee.salary ) –Navigálhatunk az alapkifejezés típusához rendelt kapcsolattal. Az eredmény típusa a navigációban használt kapcsolatvég típusa lesz ( Person.child ) –Navigálhatunk műveletkifejezéssel. Az eredmény típusa a művelet eredményének típusa lesz. Egyes műveletek operátorok, vagyis nem kötelező a zárójeles kifejezés használata. ( Person.doMarry ) –Gyűjtemény-művelet navigációhoz a „->” operátort használjuk ( hétVezér->size=7 )

7 Az OCL típusai Alaptípusok: Boolean, Integer, Real, String Típusmegfelelés: egy típus megfelel az őstípusainak tranzitíven is OclAny : minden típus őstípusa OclType : amelynek a típusok a példányai Collection Set, Bag, Sequence Set(T), Bag(T), Sequence(T)

8 Literális konstansok OCL-ben Set(alma, körte, barack) Bag(alma, alma, körte) Sequence(0, 1, 1, 2, 3, 5, 8)

9 Gyűjteménytípusok (collections) Öröklődés – alosztály - altípus

10 Collection

11 Felsorolástípusok Osztályok >, > sztereotípussal Értékeik: attribútumnevek OCL nyelvtan: sex{male,female} Hivatkozás felsorolásértékre: sex=#female

12 Metaműveletek OclAny::oclType: OclType OclAny::oclIsTypeOf(t:OclType):Boolean OclAny::oclIsKindOf(t:OclType):Boolean OclType::name:String OclType::attributes:Set(String) OclType::associationEnds:Set(String) OclType::allInstances:Set(OclAny) OclType::operations:Set(String) OclType::supertypes:Set(OclType) OclType::allSupertypes:Set(OclType)

13

14 Az UML metamodellje Az UML fogalmaiból épített UML modell –Osztályai az UML fogalmai –Kapcsolatai az UML fogalmai közötti kapcsolatok

15 Metamodell: Class metaosztály Az „osztály” fogalom leírása. Háttérben tárolt-e/létrejöhet-e példánya Minden osztály a Class metaosztály egy példánya (Halmazok halmaza) Jelölés: > sztereotípus Többszörösség (multiplicity): [1..3] példányok számára korlát Egypéldányú (singleton)

16 Osztályjellemzők (Feature) Láthatóság (visibility): „+” nyilvános (public), „#” (protected) védett, „-” rejtett (private) Az osztály szintű attribútumot aláhúzással jelöli az UML (A Rose-ban $ jel jelöli) Többszörösség (multiplicity): [1..3], vektormegadás Rendezettség {ordering} Tulajdonságok (attribute): Eljárások (method):

17 Osztályfüggvények Paraméterek: rendezettek, sorszámmal indexelhetők Mellékhatása van-e? ‘isQuery’ Kimenő/bemenő/átmenő/(visszatérő) {ordered} Alapérték (attribute): Típus (method):

18 Metamodell kiterjesztése sztereotípussal Egy UML fogalom/metaosztály terjeszthető ki

19 Hogyan olvassuk ki? Egy sztereotípus definíció megfelel egy új metaosztálynak, ami a „baseClass” tulajdonságával megadott UML fogalom kiterjesztése Egy név-érték párt egy sztereotipizált osztályhoz adunk. Megfelel egy metatulajdonság- értékpárnak, amely a sztereotípus alaposztályához tartozik


Letölteni ppt "Az UML kiterjesztési lehetőségei. Kiterjesztések: megszorítások, név- érték párok, sztereotípusok, profilok A szabványhoz képest eltéréseket fogalmaznak."

Hasonló előadás


Google Hirdetések