Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus 5-ös Kurzus (UML) Visszatekintés: történelmi szempontok Az UML létrejötte UML-1 (Unified Modeling Language) és UML-2 Magyarul : EMN-1 (Egységesített Modellező Nyelv) 1
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT UML (Unified Modeling Language) EMN (Egységesített Modellező Nyelv) UML áttekintés Történelem Princípiumok Alapfogalmak Architektúra A diagramok kölcsönhatása 2
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Visszatekintés történelmi szempontok ADA, SIMULA, SMALLTALK- programozási nyelvek OOD (Object Oriented Design) Grady Booch 1991-1993 OOSA ( Object Oriented System Analysis) Shaer& Mellor1999 OMT (Object Modeling Technique) James Rumbaugh 1991 OOA ( Object Oriented Analysis) Coad & Ed Yourdon 1991 HOOD ( Hierarchical Object Oriented Design) ESA (European space Agency) OOSE (Object Oriented Software Engineering) Ivar Jacobson 1992 3
RUMBAUGH, JACOBSON és BOOCH célkitűzései (Raffai Mária UML2 pp. 19): 1) Komplex, küldetéskritikus, szoftverintenzív rendszerek fejlesztéséhez hatékony megoldások fejlesztése 2) Egyértelmű lépéseket határoznak meg az objektumorientált elvű rendszermodellezési folyamat végrehajtásához a koncepciókialakítástól a végrehajtható szoftvertermék felügyeletéig 3) Olyan modellező nyelv kifejlesztése, amely az emberi kommunikációhoz és a gépi megvalósításhoz egyaránt alkalmas 4
Modellvezérelt fejlesztés (Model Driven Architecture) A legkiválóbb fejlesztők és programozók tapasztalatait és megoldásait integrálja egységes egésszé. Az alkalmazás-fejlesztés során ismerni kell a támogatandó rendszert, a folyamatokat, a leképzési eljárásokat és a támogató technológiákat. Az alapvető cél ennek a tudásnak a formalizálása. (Allan Kennedy) Az MDA-szabvány kimondja, hogy az üzleti feladatok modellezését el kell választani a megvalósítás részleteitől, vagyis a fejlesztést a szakterület modellnézeteinek kialakításával kell kezdeni, figyelmen kívül hagyva ebben a folyamatrészben az implementáció és működtetés technológiai környezetét, erre, meg a megvalósítási platformra alapozva kell megtervezni és megvalósítani az alkalmazást 5
MDA (Model Driven Architecture) modellnézetek 1) A szakterületi rendszert kifejező, az informatikai környezetet figyelmen kívül hagyó, a valós rendszer elemeit és funkcionalitását leíró doménmodell (CIM) 2) A megvalósítás eszközeitől és módjától független, a támogatandó szakterületi rendszernek a fejlesztési célja szerinti lényeges elemeit tűkröző platformfüggetlen modell (PIM) 3) A megoldási technológiát figyelembevevő, a technikai részleteket leíró, az implementációt megvalósító platformspecifikus modell (PSM) 6
Definíciók A szoftver mérnökség területén, az egységesített modellező nyelv (UML) egy standardizált specifikációs nyelv az objektum modellezésre. Az UML egy általános célú nyelv, amely egy grafikus jelölésrendszert használ, hogy egy rendszernek az absztrakt modellét fel lehessen építeni, amelyre úgy hivatkozunk, hogy UML model. Az UML-t az Objekt Management Group (OMG) hivatalosan meghatározza az UML metamodellen keresztül, amelyik egy Meta-Object Facility (MOF) metamodel. 7
8
Mire használható még Üzleti folyamatok modellezésére Rendszer-mérnöki modellezésre Szervezeti struktúra ábrázolására A System Modeling Language (SyML)- rendszer egy domén specifikus modellezési nyelv a rendszermérnökiségre, amely UML 2.0 profilként van meghatározva Az UML katalizátor a modellek által vezérelt technológiákra Az UML modell transzformálható más reprezentációkra (Java) Az UML kiterjeszthető 9
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus UML áttekintés Az UML egy nyelv a szoftver termékek vizualizálására, specifikálására, építésére és dokumentálására Az UML egyaránt hasznos szoftver fejlesztőknek és felhasználóknak, alkalmazható szoftver karbantartásra is 10
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Hol alkalmazható az UML? Üzemi IR, bank és pénzügyi szolgáltatásokban, távközlésben, szállításban, orvosi és tudományos területen, osztott webes alkalmazásokra támaszkodó szolgáltatásokban. A modellezés fontos összetevőkre hat: A szoftver minőségére, a valóság egyszerűsítésére, a problémák jobb megértésére. 11
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Az egységesített megoldások szükségessége: a fejlesztő-felhasználó kommunikációjának problémája, a dokumentáció készítésének, a régebbi dokumentációk megértésének kérdése az egy nyelven beszélés, a különböző projektekben otthonosan mozgás igénye a Rational Software Incorporation és az OMG szerepe az egységesítési folyamatban (ROP, RUP, UML verziók és szabványosítás) 12
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Periódus Események Történelem 1975-1989 Objektumorientált programozási nyelvek 1989-1994 Több mint 50 objektumorientált analízis- és tervezési módszer 1994-1995 Booch és Raumbaugh egyesítés 1996 Jacobson, egyesítés 1996 UML 0.9 1997 UML 1.1 1998 UML 1.2 1998 UML 1.3 2005 UML 2.0 13
14
Modellezés Lényeges megkülönböztetést tenni az UML model és a rendszer egy diagram-halmaza között Egy diagram a rendszer modelljének parciális ábrázolása Az UML diagramok három különböző nézetét adják meg a rendszernek: Funkcionális követelmény-nézet Statikus követelmény-nézet Dinamikus viselkedés nézet 15
Az UML 2.0 diagramjai 16
Strukturális diagramok 1. Osztálydiagram 2. Komponensdiagram 3. Összetett struktúra diagram 4. Telepítési diagram 5. Objektumdiagram 6. Csomagdiagram 17
Viselkedési-és kölcsönhatás diagramok Viselkedési diagramok: 1. Aktivitási diagram 2. Állapotgép diagram 3. Use Case (használati eset) diagram Kölcsönhatási diagramok: 1. Kommunikációs diagram 2. Szekvencia-diagram 3. Interaction overview diagram (UML 2) 4. UML Timing diagram (UML 2) 18
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Princípiumok 1) A modellválasztás befolyásolja a pobléma megoldását 2) Minden modell kifelyezhető különböző pontossági fokon 3) A modellek a valósághoz kötődnek 4) Nem elégséges egy modellt készíteni 19
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Architektúra Tervezési szempont Folyamat szempont Use Case szempontja Implementációs szempont Telepítési szempont 20
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus UML Diagramok egymásrahatása Use Case Diagram Együttműködési Diagram Aktivitási- Diagram Állapotdiagram Szekvencia- Diagram Osztály- Diagram Komponens Diagram Környezeti Diagram 21
Használatos fogalmak Strukturáknál: aktor, attribútum, osztály, komponens, interfész, objektum, csomag Viselkedésnél: aktivitás, esemény, üzenet, metódus, operáció, állapot, use case Kapcsolatoknál: aggregáció, asszociáció, kompozíció, függőség, általánosítás (öröklődés) Más: sztereotípia sokszerűség kardinalitás az adatbázisoknál szerep 22
Struktúra fogalmai grafikusan 23
Viselkedési fogalmak 24
Kapcsolatok ábrázolása 25
26
A csomagdiagram 27
A számla egyszerűsített modellje- osztálydiagram 28
Osztályspecifikáció és láthatóság +public Minden objektum által hozzáférhető elem #protected Csak az öröklődés határain belül láthatóak -private Csak az objektum saját, belső rendszerében használhatók ~csomag Csak az adott csomagon belül láthatóak 29
Attribútumok String Karakteres (rövid) Char, Byte egy karakterből álló Text szöveges (hosszú) karakterlánc Enum felsorolás- (lista-) jellegű Real valós szám Double dupla pontosságú valós érték Integer egész érték Long hosszú integer Date dátum jellegű Boolean logikai érték Currency árfolyam típusú 30
Attribútumok jellege {changeable} az attribútum értéke korlátozás nélkül létrehozható, törölhető, változtatható {addonly} jelleget az 1-nél nagyobb multiplicitású attribútumokhoz lehet hozzárendelni. Több értékkel rendelkezhetnek, de ha egy értéket létrehoztak, akkor azt nem lehet törölni vagy módosítani {frozen} jellegű attribútum az objektum létrehozása után nem törölhető és nem változtatható 31
Műveletek (metódusok) Módosító és lekérdező műveletek (set, get) Jellemzők: Művelet neve A művelet paraméterei és azok jellege: in: bemeneti paraméter out: kimenet a hívó objektum számára inout: beérkezett paraméter, amelyet megváltoztatva az objektum visszaküld, vagy továbbít más objektumnak A paraméter típusa = alapértelmezett érték 32
Műveletspecifikáció finomítása invariant olyan szabály, vagy feltétel meghatározása, amelyeknek mindíg teljesülnie kell precondition olyan feltétel, amelynek a művelet végrehajtása előtt teljesülnie kell postcondition a művelet végrahajtása utáni feltételeket szabályozza és meghatározza a visszatérési értékre (return value) vonatkozó szabályokat 33
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Ellenőrző kérdések 1) Hol alkalmazható az UML? 2) Milyen fontos összetevőkre hat a modellezés? 3) Melyek az UML princípiumok? 4) Miért szükséges az UML? 5) Alapfogalmak a UML-ben? 6) Grafikai elemek az UML Diagramokban? 7) Melyek a Strukturálási Diagramok? 8) Melyek a Környezeti Diagramok? 9) UML Diagramok egymásrahatása? 34