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

Hasonló előadás


Az előadások a következő témára: "Az UML kiterjesztési lehetőségei"— 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 <<enumeration>> , <<enum>> 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: <<metaclass>> 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"

Hasonló előadás


Google Hirdetések