Áttekintés. rténete 1. Az UML törtt. Miskolci Egyetem Általános Informatikai Tanszák. Ficsor Lajos UML / 1



Hasonló dokumentumok
Áttekintés. Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: Ficsor Lajos. Unified Modeling Language UML / 1

Előzmények

UML (Unified Modelling Language)

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Dr. Mileff Péter

Szekvencia diagram. Szekvencia diagram Dr. Mileff Péter

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

01. gyakorlat - Projektalapítás

Programozási technológia

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

Osztálytervezés és implementációs ajánlások

Név: Neptun kód: Pontszám:

Szoftver technológia ProgMat -

DEBRECENI EGYETEM INFORMATIKAI KAR. Az UML gyakorlati alkalmazásának bemutatása az AutoWorld rendszer tervezésén keresztül

Szakterületi modell A fogalmak megjelenítése. 9. fejezet Applying UML and Patterns Craig Larman

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Utolsó módosítás:

Objektum orientált software fejlesztés (Bevezetés)

Osztálytervezés és implementációs ajánlások

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

OOP és UML Áttekintés

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

HASZNÁLATI ESET DIAGRAM (USE CASE DIAGRAM)

10-es Kurzus. OMT modellek és diagramok OMT metodológia. OMT (Object Modelling Technique)

Modellalkotás UML-ben

Szoftvertechnológia 2008/2009. tanév 2. félév 2. óra. Szoftvertechnológia

Rendszertervezés 4. A rendszerfejlesztés eszközei (technikák, CASE, UML) Dr. Szepesné Stiftinger, Mária

Magas szintű adatmodellek Egyed/kapcsolat modell I.

Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.

Témakörök. Struktúrált fejlesztés. Elınyök (SA) Structured Analysis (SA) Hátrányok (SA) Alapfogalmak (SA)

Integrált keretrendszer

Debreceni Egyetem Informatikai Kar. Az UML eszközeinek bemutatása egy komplex rendszer tervezésén keresztül

gyakorlatban Nagy Gusztáv

The Unified Software Development Process. Történet. Feltételek. Rational Unified Process. Krizsán Zoltán Ficsor Lajos

Előzmények. Előzmények. Előzmények

Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel. Németh Rajmund Vezető BI Szakértő március 28.

Rendszer szekvencia diagram

Programozás 1. 2.gyakorlat

Metamodellezés. Simon Balázs BME IIT, 2011.

Könyvtári kölcsönzések kezelése

Utolsó módosítás:

Tartalom. Szoftverfejlesztési. Szoftver = Termék. módszertan. la Rational XDE CASE eszköz. Az előállításához technológiára van szükség

A SZOFTVERTECHNOLÓGIA ALAPJAI

Kölcsönhatás diagramok

Bánsághi Anna 2014 Bánsághi Anna 1 of 72

ELTE, Informatikai Kar december 12.

A dokumentáció felépítése

Bevezetés a Programozásba II 5. előadás. Objektumorientált programozás és tervezés

Programozás III. - NGB_IN001_3

Komponens alapú fejlesztés

UML Feladatok. UML Feladatok

CORBA Áttekintés. Mi a CORBA? OMG and OMA. Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Üzleti architektúra menedzsment, a digitális integrált irányítási rendszer

Dinamikus modell: állapotdiagram, szekvencia diagram

7. rész: A specifikációtól az implementációig az EJB rétegben

ny Tornabajnokság g eredmény nyilvántart ntartó rendszere A megoldandó feladat Követelmény analízis 1. Ficsor Lajos Általános Informatikai Tanszék

Tartalomjegyzék. Bevezetés...2

Az egyed-kapcsolat modell (E/K)

Programfejlesztési Modellek

A J2EE fejlesztési si platform (application. model) 1.4 platform. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Java II. I A Java programozási nyelv alapelemei

S01-7 Komponens alapú szoftverfejlesztés 1

Bevezetés: az SQL-be

UML és OCL. Unified Modeling Language Object Constraint Language Korszerű módszerek a közlekedésautomatikai rendszerek fejlesztésében 1

Az UML2 és a modell-vezérelt alkalmazásfejlesztés

Bevezetés az SAP világába. 5. Kommunikációs és integrációs technológiák

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Szoftvertechnológia ellenőrző kérdések 2005

Models are not right or wrong; they are more or less useful.

Object Orgy PROJEKTTERV 1 (9) Adattípusok menedzselése Palatinus Endre

Programozási technológia

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

Szoftvertechnológia szakirány

Adatbázis rendszerek I

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

OMT esettanulmány. ny Tornabajnokság g eredmény nyilvántart. ntartó rendszere

Enterprise JavaBeans. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Az Enterprise JavaBeans

Szoftvertechnológia 2008/2009. tanév 2. félév 3. óra. Szoftvertechnológia

Fogalmi modellezés. Ontológiák Alkalmazott modellező módszertan (UML)

Enterprise JavaBeans 1.4 platform (EJB 2.0)

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

A Java EE 5 plattform

UML. Unified Modeling Language Egységesített Modellező Nyelv

Modell alapú tesztelés mobil környezetben

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Objektum orientált programozás Bevezetés

VISUAL UML A RENDSZERTERVEZÉS OKTATÁSÁBAN

III. OOP (objektumok, osztályok)

QuickSend. , és SMS küldés program. Felhasználói kézikönyv. Program dokumentáció 2008 JMGM Magyarország Informatikai Kft.

Objektumorientáció, objektumorientált szemlélet

500. AA Megoldó Alfréd AA 500.

Komponens alapú programozás Bevezetés

Tartalom DCOM. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés. Történeti áttekintés

A relációs adatmodell

Az objektumorientált megközelítés elınye: Hátránya:

ELTE SAP Excellence Center Oktatóanyag 1

Átírás:

UML / 1 Unified Modeling Language (UML) Áttekintés Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 08. 10. 16. Unified Modeling Language UML / 1 Szüks kségessége Az objektum orientált fejlesztési módszerek a rendszer különbözı nézıpontú modelljeit készítik el A modellek dokumentálására megfelelı technikára van szükség A technikának szabványosnak kell lennie, mert ez segíti a fejlesztık közötti kommunikációt (közös nyelv), lehetıvé teszi a technikát támogató eszközök ("tool"- ok) készítését Unified Modeling Language UML / 2 Az UML törtt rténete 1. Az 1990-es évek közepe - vezetı módszertanok: Booch'93 (Booch): erıs a tervezés fázisában, népszerő az engineering-intenzív alkalmazásoknál. OMT2 (Rumbaugh) : erıs az analízis fázis során, népszerő az adat-intenzív alkalmazásoknál. OOSE (Jacobson) : kiváló támogatást ad a "business engineering"-hez, és igazan csak ez támogatja a követelmény analízist. Unified Modeling Language UML / 3

UML / 2 Az UML törtt rténete 2. 1991-ben Grady Booch és Jim Rumbaugh (Rational Software Corporation) 1995 október: UML 0.8 1995-ben Ivar Jacobson is csatlakozott 1996. október: UML 0.91 1997. január 17.: UML 1.0 (OMG-nek!) 1997. szeptember: UML 1.1 (szabvány!) az utolsó teljes szabványos verzió az UML 1.5 (elfogadva 2003. március) Részben elfogadva: UML 2.0 (2006. március.) Unified Modeling Language UML / 4 Az UML törtt rténete 3. Iparszerû alkalmazás 1997. jan. 17. UML 1.0 Szabványosítás 1996 jun, okt. UML 0.9 1995 UML 0.8 További fejlesztõ partnerek Egységesítés Booch'93 OMT2 Más módszerek Booch'91 OMT-1 OOSE Sokféleség Unified Modeling Language UML / 5 Az UML definíci ciója Az OMG Unified Modeling Language Specification, vers. 1.5 dokumentum 1.1 pontjának (Overview) elsı két mondata: The Unified Modeling Language (UML) is a language for specifying, visualizing, constructing, and documenting the artifacts of software systems, as well as for business modeling and other nonsoftware systems. The UML represents a collection of the best engineering practices that have proven successful in the modeling of large and complex systems. Unified Modeling Language UML / 6

Az UML fı célkitőzései 1. Kifejezı vizuális modellezı nyelv biztosítása fejlesztés támogatása kommunikáció támogatása Lehetıség az alap koncepció bıvítésére és specializálására Alkalmazkodni tudjon a különbözı fejlesztések szükségleteihez Szokásos fejlesztés: elegendı legyen hozzá az alap eszköztár Új elképzelésekkel az alapok módosítása nélkül legyen kiegészíthetı (kiterjesztési mechanizmus) Egy adott alkalmazásterület speciális igényei szerint testre szabható legyen Unified Modeling Language UML / 7 Az UML fı célkitőzései 2. Programozási nyelvtıl és módszertantól független legyen Biztosítson formális alapot a modellezı nyelv megértéséhez Precíz definíciók szükségesek az eszköz készítık számára Érthetı (nem túl formális) definíciók szükségesek a felhasználók számára Megoldás: metamodell osztály diagrammok segítségével Unified Modeling Language UML / 8 Az UML fı célkitőzései 3. Támogatja az objektum orientált eszközök fejlesztését Számos felhasználó által ismert és használt, szabványos eszköz Az eddigi gyakorlati tapasztalatok ("best practices") integrálása A magas szintő fejlesztési koncepciók támogatása: komponensek, keretrendszerek, minták (patterns) stb. Unified Modeling Language UML / 9 UML / 3

Hivatkozások 1. A legteljesebb: www.omg.com/uml Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel Logos 2000, Debrecen, 2000 Raffai Mária: Egységesített mogoldások a fejlesztésben; UML modellezı nyelv, RUP módszertan Novodat, 2001. Unified Modeling Language UML / 10 Hivatkozások 2. Sike Sándor, Varga László: Szoftvertechnológia és UML ELTE Eötvös Kiadó, Budapest, 2002. Unified Modeling Language UML / 11 A modell leíró nyelv elemei 1. A továbbiakban szereplı elemek az 1.5 verzió szerinti állapotnak megfelelıek. use case diagramm osztály diagramm viselkedés diagrammok : állapot diagramm (state diagram) aktivitás diagramm (activity diagram) sorrend diagramm (sequence diagram) együttmőködési diagramm (collaboration diagram) Unified Modeling Language UML / 12 UML / 4

UML / 5 A modell leíró nyelv elemei 2. implementációs diagrammok: komponens diagramm (component diagram) telepítési diagramm (deployment diagram) kiterjesztési mechanizmusok kiegészítı jelölések, amelyek több diagramtípus által is használhatók Az UML tehát nem módszertan! Unified Modeling Language UML / 13 Kiterjesztési si mechanizmusok Az UML kiegészítı jelölései. Feladatai: a szabványos jelölésrendszer "testre szabása" a szabványos elemekkel nem leírható modell tulajdonságok rögzítése Fajtái: sztereotípia (stereotype): új modell elemek jelölésére megszorítás (constraint): az UML más jelöléseivel meg nem adható tulajdonságok kulcsszavas értékek (tagged values): modell elemek speciális jellemzıinek megadására megjegyzések Unified Modeling Language UML / 14 Formája: Megjegyzés szövege Megjegyzések Megjegyzés teljes szövege: megjegyzes.doc Kapcsolható egy elemhez: Egy osztály Elemhez kapcsolt megjegy zés Unified Modeling Language UML / 15

Sztereotípia Formája: «megnevezés» A minısített név elıtt vagy fölött kell megadni. Ikon is rendelhetı hozzá. Az egyes ábratípusoknál speciális sztereotípiák jelennek meg. Unified Modeling Language UML / 16 Megszorítások sok Formája: { megszorítás leírása } A leírás lehet szöveges vagy formális. A formális leírásra egy ajánlat: OCL (Object Constraint Language, IBM) Megadható: minısített elem után vagy alatt kapcsolt megjegyzésben Unified Modeling Language UML / 17 Kulcsszavas értékek Formálisan ez is megszorítás Adott névhez értéket rendel Érték önállóan is szerepelhet A fejlesztéssel kapcsolatos információkat is így rögzíthetjük Példák: { persistent } {author="", version=0.9.9, date=00.01.01} Unified Modeling Language UML / 18 UML / 6

UML / 7 Use case diagram 1. Jacobson "hozománya" Use Case (használati eset): interakció a felhasználó és az alkalmazás között a felhasználó által látható funkciót ír le konkrét felhasználói cél elérését rögzíti A rendszer határait jelölhetjük ki. Lényeges szerepe van a követelmény analízis során Unified Modeling Language UML / 19 Use case diagram 2: Aktor Jele: Vásárló (f rom Act ors) A felhasználó egy szerepe a rendszerben. Több felhasználó - egy aktor Egy felhasználó - több aktor Aktor lehet külsı rendszer is Unified Modeling Language UML / 20 Use case diagram 3: Use case Egy jól meghatározott funkció, amelynek végrehajtása a rendszer és egy külsı entitás közötti üzenetváltást kíván. Jele: Áruvásárlás A rendszer, egy alrendszer vagy egy osztály objektumai által végrehajtott funkció-együttes. Pontos leírása is szükséges (szöveges vagy egyéb diagram) Unified Modeling Language UML / 21

UML / 8 Use case diagram 4: PéldaP Fizetés a kasszánál: A vevı a kasszához megy a kiválasztott árukkal, a pénztáros leolvassa a vonalkódokat, a rendszer elkészíti a blokkot, a vevı fizet, a pénztáros elveszi az összeget. Aktorok: vevı, pénztáros A rendszer válaszai: egységár a vonalkódokra Use-case-ek: vásárlás, blokkolás, fizetés Unified Modeling Language UML / 22 Use case diagram 5: Példa P (ábra)( Áruvásárlás Vásárló (from Actors) Blokkolás Fizetés Pénztáros Unified Modeling Language UML / 23 Use case diagram 6: kapcsolatok Aktor és use case között: asszociáció (jelölhetı a számossága is) Use case-ek között: <<include>>: A1 use case magában foglalja A2- ıt (részletezés, vagy ismétlıdés kezelése) <<extend>>: A1 use case mőködését A2 kiegészíti (többlet funkciók vagy speciális esetek) Aktorok vagy use case-ek között: általánosítás (generalization) Unified Modeling Language UML / 24

UML / 9 Use case diagram 7: kapcsolatok (ábra)( Általánosítás <<include>> Pénztáros (f rom U se Cas e View) Áruvásárlás Blokkolás (f rom Use Case View) Göngyöleg kezelés <<exte nd>> Boltvezeto Hitel adás Árulista megnézése Unified Modeling Language UML / 25 Osztálydiagram Osztályok és összefüggéseik ábrázolására A rendszer statikus strukturális modellje Három szint: koncepcionális specifikációs implementációs - általában túl sok részlet, de dokumentáció kódgenerálás Rajzolható objektum diagram is, az osztályok példányainak felhasználásával Unified Modeling Language UML / 26 Osztálydiagram: osztály szimbóluma Koncepcionális Im plementációs Windowk Specifikációs Windows visibili ty : Bool ean size : Area <<abstract>> Windowi size : Area = (100,100) visibility : Boolean = invisible xptr : XWindow* display() hide() attachxwindow() create() Név Attribútumok Operációk display() hide() Unified Modeling Language UML / 27

UML / 10 Osztálydiagram: objektum szimbóluma Egy konkrét objektum Objektum neve : Osztály neve Pl.: Egy osztály tetszıleges objektuma : Osztály neve KissPista : Hallgató Megadhatók konkrét attribútum értékek is KissPista : Hallgató Név = Kiss Pista NeptunKód = ZZZZZZ Megjegyzés: az aláhúzás része a jelölésnek! Unified Modeling Language UML / 28 Osztálydiagram: attribútumok tumok Formája: láthatóság név : típus = alapérték A láthatóság jelölése: szabványos: + public # protected - private Window private attr. protected attr. public attr. Rational Rose szerint Unified Modeling Language UML / 29 Osztálydiagram: attribútumok tumok koncepcionális szint: az osztálynak van ilyen adata (pl. a vásárlónak van neve) specifikációs szint: az osztálynak van adott típusú adata, amelyen meghatározott operációk hajthatók végre (pl. a vásárló neve beállítható, lekérdezhetı) implementációs szint: az osztály adott típusú mezıje és az azokat kezelı módszerei Unified Modeling Language UML / 30

UML / 11 Osztálydiagram: operáci ciók Formája: láthatóság név(param) : típus{comment} típus a visszatérési érték típusa param a paraméterlista (vesszıvel elv.) azonosító : típus = alapérték Közöttük lehetnek az alábbi sztereotípusok: <<constructor>> <<query>> <<update>> <<getting method>> vagy <<setting method>> Unified Modeling Language UML / 31 Osztálydiagram: operáci ciók koncepcionális szint: a viselkedés lényegi elemei specifikációs szint: az osztály publikus módszerei implementációs szint: az osztály módszerei Unified Modeling Language UML / 32 Osztálydiagram: kapcsolatok Kapcsolat az egyes osztályok között Asszociáció (általános kapcsolat) Nevesített kapcsolatok: általánosítás tartalmazás (aggregáció és kompozíció) beágyazott (osztály hatáskörben definiált) osztály - elsısorban az implementációs szintő diagrammokon Unified Modeling Language UML / 33

UML / 12 Osztálydiagram: asszociáci ció Jele vonal, tulajdonságai: kapcsolat neve, szerepkör (mindkét irányban), irányítása (egy-vagy kétirányú vagy nincs), a szerepkörök számossága n..m vagy n-m vagy n,m,...,k n,m stb lehet 0 vagy * (végtelen) * magában a 0..* -ot jelenti. A szerep kötött sorrendje is elıírható. Az asszociáció minısítıje is elıírható. Az asszociációhoz a tulajdonságait leíró osztály is rendelhetı. Unified Modeling Language UML / 34 Osztálydiagram: asszociáci ció koncepcionális szint: viszony a fogalmak között specifikációs szint: felelısségek implementációs szint: az elérhetıség megvalósítása (pl. pointer, kulcs) Unified Modeling Language UML / 35 Példa: Osztálydiagram: asszociáci ció Szerep nevek Cég +alkalmazó +alkalmazott Alkalmazás 0..1 1..* Személy Számosság Kapcsolat neve Számosság Unified Modeling Language UML / 36

UML / 13 Osztálydiagram: asszociáci ció (szerep) A szerep lehet sorrendiségi, azaz jelölhetjük, hogy az objektumok kötött sorrendben vesznek részt az asszociációban Jelölése az {ordered} megszorítással Példa: multiplicitás +alkotja 3..* sokszög pont {ordered} Szerepnév Kötött sorrendben! Unified Modeling Language UML / 37 Osztálydiagram: asszociáci ció (szerep) Két osztály közötti asszociációhoz tartozhat több szerep is Ilyenkor minden szerephez egy vonal Példa: Tárgy +regisztrált felvesz +gyakvezér demonstrátor Hallgató Unified Modeling Language UML / 38 Osztálydiagram: asszociáci ció (minısítı) A minısítı konkrét értékei az asszociáció többes oldalán az objektumok egy példányát vagy egy részhalmazát jelölik ki. Jele: Osztály1 minısítı Osztály2 Unified Modeling Language UML / 39

Osztálydiagram: asszociáci ció (minısítı) Példa: Tárgy tárgykód Hallgató felvesz Ennek megfelelı objektum diagram: Software Technológia : Tárgy GEIAL2144N felves z KissPista: Hallgató Unified Modeling Language UML / 40 Osztálydiagram: asszociáci ció (tulajdonság) Olyan tulajdonságokat, amelyek inkább az asszociációhoz, mint valamelyik osztályhoz rendelhetık, összefoglalhatunk egy harmadik osztályba, amelyet a kapcsolathoz rendelünk. Jelölés: Osztály1 Osztály2 Tulajdonság Unified Modeling Language UML / 41 Osztálydiagram: asszociáci ció (tulajdonság) Példa: Cég Személy Alkalmazás Kezdete Fizetés beosztás Unified Modeling Language UML / 42 UML / 14

Osztálydiagram: asszociáci ció (többes) Több osztály között fennálló asszociáció jelölése: Osztály4 Osztály1 Osztály2 Osztály1 Osztály2 Osztály3 Osztály3 Unified Modeling Language UML / 43 Osztálydiagram: Általánosítás Speciális (közvetett) viszony két osztály között koncepcionális szint: típus - altípus viszony specifikációs szint: az alosztály interface-e rendelkezik az ısosztály interfac-ének minden elemével implementációs szint: öröklıdés (származtatás) Unified Modeling Language UML / 44 Osztálydiagram: Általánosítás Alakzat Kör Téglalap Hatszög Unified Modeling Language UML / 45 UML / 15

UML / 16 Osztálydiagram: aggregáci ció és s kompozíci ció Kétféle egész - rész viszony: aggregáció: a rész az egészhez tartozik, de önállóan is létezı entitás kompozíció: a rész önmagában nem létezhet, csak valaminek a részeként. Unified Modeling Language UML / 46 Osztálydiagram: aggregáci ció és s kompozíci ció (ábra) Autó Ház Motor 1 4..5 Aggregáció Kerék 0..1 1..* Konyha Kompozíció Szoba Unified Modeling Language UML / 47 Osztálydiagram: parametrizált osztály DinTomb Elemek:Tombelem elemszám:integer <<bind (Cím, 100)>> Paraméterek Parametrizált osztály Konkretizálás paraméterei Címlista Konkretizált osztály Unified Modeling Language UML / 48

UML / 17 Osztálydiagram: interface Az <<interface>> sztereotípiával, vagy egy körrel jelöljük Csak a metódusoknak van hely Interface-ek közötti lehetséges asszociáció: általánosítás Interface és osztály közötti lehetséges asszociáció: implementálás, realizálás. Jele a példán. Unified Modeling Language UML / 49 Szekvencia diagram 1. Objektumok közötti üzenetváltások az idıben Elemei: példaobjektumok, életvonallal, aktivitási szakasszal (vezérlési fókusszal) üzenetek (név, argumentum, feltétel, ismétlıdés) megjegyzések az ábrától balra Unified Modeling Language UML / 50 Szekvencia diagram 2: példap Forrás: UML specification Unified Modeling Language UML / 51

UML / 18 Szekvencia diagram 3: üzenet fajták Objektum1 Objektum2 Egyszerû üzenet Szinkron üzenet Aszinkron üzenet Uzenet time-outttal Unified Modeling Language UML / 52 Szekvencia diagram 4: példap Élettartam kezdete Alternatív mőködés Beágyazott vezérlés fókusz Élettartam vége Forrás: UML specification Unified Modeling Language UML / 53 Állapot diagram 1. llapot diagram 1. Egy adott objektum lehetséges állapotai átmenetek az egyes állapotok között (állapotváltozások) ehhez kapcsolható események az objektum értékeihez kapcsolható feltételek [feltétel] formában az ismétlıdés jelzése (*) kezdı és végállapot egy állapot részletezhetı (strukturált áll. diagram) állapotok között lehet általánosítás kapcsolat Unified Modeling Language UML / 54

UML / 19 Állapot diagram 2. Állapot jelölése Állapot entry/ Belépési tevékenység exit/ Kilépési tevékenység do/ Normál tevékenység on esemény/ ^Eseményhez kapcsolódó tev. Unified Modeling Language UML / 55 Állapot diagram 3. (példa) Forrás: UML specification Unified Modeling Language UML / 56 Együttm ttmőködési diagram 1. Szintén objektumok közötti üzenetváltások az idıben Elemei: példaobjektumok aktív: vastag keret vagy {active} megszorítás üzenetet küldhet másik objektumnak passzív üzenet hatására aktivizálódik multiobjektum: objektumok egy csoportja Az együttmőködı objektumok vonallal összekötve Ellenırzendı: a megfelelı osztályok között az osztálydiagramon asszociációnak kell lennie! Unified Modeling Language UML / 57

UML / 20 Együttm ttmőködési diagram 2. üzenetek objektumok közötti nyilak, sorszámozva és névvel ellátva a nyíl iránya jelzi az üzenetküldés irányát A sorszám sorrendiséget jelez Üzenetnek lehet argumentuma és eredménye Jele kis körbıl kiinduló nyíl, az adatáramlás irányát mutatja A nyílon az argumentum vagy eredmény megnevezése Az ábrán szerepelhet aktor is, ekkor tıle indul az elsı üzenet. Unified Modeling Language UML / 58 Együttm ttmőködési diagram 3. példap Ügyf Vásárló él (f rom Actors) : banki gép tranzakció összeg készpénz tranzakció tranzakció összeg rendben Készpénzfelvétel ATM-bıl összeg : ATM engedély : központi gép Unified Modeling Language UML / 59 Együttm ttmőködési diagram 4. példap Multi objektummal Zh eredmény hirdetés : oktató eredménylap : hallgató Unified Modeling Language UML / 60

UML / 21 Aktivitás s diagram Idıben lezajló változások ábrázolása a végrehajtandó tevékenységek és azok sorrendjének megadásával Alapjai: munkafolyamat (work-flow) diagram folyamatábra (flow chart) Alapelemei: tevékenységek (ívelt oldalú téglalap) átmenet (nyíl) szinkronizációs vonal (vastag vízszintes vonaldarab) döntési pont (rombusz) Unified Modeling Language UML / 61 Aktivitás s diagram - példa (nem teljes!) Tágy meghirdetése Határidõig várakozás Kiírások megnézése Tárgyra jelentkezés Tárgy lem ondás a Tárgy véglegesítése Jeletkezés elfogadása Módosítás felajánlása Tárgy megtartása Tárgy lezárása Unified Modeling Language UML / 62 Sávos aktivitás diagram A diagramm függılegesen sávokra osztható Egy sáv egy felelısségi kört (felhasználó, szervezeti egység stb.) jelöl A tevékenységek a sávokhoz rendelhetık, ezzel az adott tevékenységhez tartozó felelıs is ábrázolható Unified Modeling Language UML / 63

UML / 22 Sávos aktivitás diagram - példa Unified Modeling Language UML / 64 Komponensek: fizikai alkotóelemek. Tipikusan: forrás-állományok könyvtárak futtatható állományok dokumentumok adatfile-ok software komponensek Komponens diagram Definiált sztereotípiák: «executable» «library» «tables» «file» «document» Unified Modeling Language UML / 65 Komponens diagram - példa Tárgyra jelentkezés Tárgy kezelés s zerver Adatbázis szerver Web Browser Online szerver Unified Modeling Language UML / 66

Telepítési diagram Tartalma: A rendszer hardware elemei (csomópontok) és a közöttük levı fizikai viszonyok A hardware és software elemek összerendelése Unified Modeling Language UML / 67 Telepítési diagram - példa Tanszéki szerver Adatbázis szerver Admin. szerver Tárgy kezelés szerver TCP-IP (védett) Online szerver TCP-IP Hallgatói PC Web Browser Unified Modeling Language UML / 68 Modellez ezés támogatása Az UML támogatja teljes modellek felépítését Eszközei: Csomag (package) Alrendszer (subsystem) Modell Unified Modeling Language UML / 69 UML / 23

Csomag Tetszıleges modell elemek csomagba rendezhetık A csomagok egymásba ágyazhatók Egy csomag beágyazott csomagot és egyéb modell elemeket egyszerre is tartalmazhat. A csomagok közötti kapcsolatokat szaggatott nyilak jelzik, a kapcsolat jellegét sztereotípiával adhatjuk meg. Két elıre definiált sztereotípia: <<import>> <<access>> Unified Modeling Language UML / 70 Csomag: : példap Forrás: UML specification Unified Modeling Language UML / 71 Alrendszer Olyan csomag, amely egy viselkedési egység. Az alrendszer interface-eket biztosít a többi alrendszernek Tartalmaz(hat) Operációkat Specifikációs elemeket Realizációs elemeket Unified Modeling Language UML / 72 UML / 24

Alrendszer: jelölés és s kapcsolatok Jelölés: Kapcsolatok: Operációk leírása Interface-ek Forrás: UML specification Unified Modeling Language UML / 73 Modell A rendszer egy nézete (view) Jelölés: Forrás: UML specification Unified Modeling Language UML / 74 UML / 25