6-os Kurzus (UML) Visszatekintés: ”történelmi szempontok” Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus 6-os 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)
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT. 6 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
RUMBAUGH, JACOBSON és BOOCH célkitűzései (Raffai Mária UML2 pp. 19): Komplex, küldetéskritikus, szoftverintenzív rendszerek fejlesztéséhez hatékony megoldások fejlesztése Egyértelmű lépéseket határoznak meg az objektum- orientált elvű rendszermodellezési folyamat végrehajtásához a koncepciókialakítástól a végrehajtható szoftvertermék felügyeletéig Olyan modellező nyelv kifejlesztése, amely az emberi kommunikációhoz és a gépi megvalósításhoz egyaránt alkalmas
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
MDA (Model Driven Architecture) modellnézetek 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) 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) A megoldási technológiát figyelembevevő, a technikai részleteket leíró, az implementációt megvalósító platformspecifikus modell (PSM)
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
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.
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 rendszer- mé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ő
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT. 6 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
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT. 6 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 szoftvet minőségére, a valóság egyszerűsítésére, a problémák jobb megértésére.
Az egységesített megoldások szükségessége: 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)
Történelem Periódus Események Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Történelem Periódus Események 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
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
Az UML 2.0 diagramjai
Strukturális diagramok Osztálydiagram Komponensdiagram Összetett struktúra diagram Telepítési diagram Objektumdiagram Csomagdiagram
Viselkedési-és kölcsönhatás diagramok Viselkedési diagramok: Aktivitási diagram Állapotgép diagram Use Case (használati eset) diagram Kölcsönhatási diagramok: Kommunikációs diagram Szekvencia-diagram Interaction overview diagram (UML 2) UML Timing diagram (UML 2)
A modellválasztás befolyásolja a pobléma megoldását Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Princípiumok A modellválasztás befolyásolja a pobléma megoldását Minden modell kifelyezhető különböző pontossági fokon A modellek a valósághoz kötődnek Nem elégséges egy modellt készíteni
Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda. IRT. 6 Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Architektúra Implementációs szempont Tervezési szempont Use Case szempontja Telepítési szempont Folyamat szempont
UML Diagramok egymásrahatása Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus UML Diagramok egymásrahatása Szekvencia- Diagram Együttműködési Diagram Használati esetek Diagramja(HED) Osztály- Diagram Aktivitási- Diagram Állapot- diagram Komponens Diagram Környezeti Diagram
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
Struktúra fogalmai grafikusan
Viselkedési fogalmak
Kapcsolatok ábrázolása
A csomagdiagram
A számla egyszerűsített modellje- osztálydiagram
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
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ú
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ó
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
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
Hol alkalmazható az UML? Milyen fontos összetevőkre hat a modellezés? Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus Ellenőrző kérdések Hol alkalmazható az UML? Milyen fontos összetevőkre hat a modellezés? Melyek az UML princípiumok? Miért szükséges az UML? Alapfogalmak a UML-ben? Grafikai elemek az UML Diagramokban? Melyek a Strukturálási Diagramok? Melyek a Környezeti Diagramok? UML Diagramok egymásrahatása?