unified modeling language (uml) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf ·...

74
Ficsor Lajos Unified Modeling Language UML / 1 Unified Unified Modeling Modeling Language Language (UML) (UML) Á Á ttekint ttekint é é s s Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 08. 10. 16.

Upload: others

Post on 01-Apr-2021

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 1

UnifiedUnified ModelingModeling LanguageLanguage (UML)(UML)ÁÁttekintttekintééss

Ficsor Lajos

Miskolci Egyetem

Általános Informatikai TanszékUtolsó módosítás: 08. 10. 16.

Page 2: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 2

SzSzüükskséégessgesséégegeAz 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

Page 3: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 3

Az UML tAz UML töörtrtéénete 1.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.

Page 4: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 4

Az UML tAz UML töörtrtéénete 2.nete 2.1991-ben Grady Booch és Jim Rumbaugh(Rational Software Corporation)1995 október: UML 0.81995-ben Ivar Jacobson is csatlakozott1996. október: UML 0.911997. 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.)

Page 5: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 5

Az UML tAz UML töörtrtéénete 3.nete 3.

Más módszerek Booch'91 OMT-1 OOSE

Booch'93 OMT2

UML 0.8

UML 0.9További fejlesztõ

partnerek

UML 1.0

1995

1996 jun, okt.

1997. jan. 17.

Sokféleség

Egységesítés

Szabványosítás

Iparszerû alkalmazás

Page 6: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 6

Az UML definAz UML definíícicióójajaAz OMG Unified Modeling LanguageSpecification, 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 non-software systems. The UML represents a collection of the best engineering practices that have proven successful in the modeling of large and complex systems.

Page 7: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 7

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

Page 8: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 8

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

Page 9: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 9

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 ("bestpractices") integrálása

A magas szintő fejlesztési koncepciók támogatása: komponensek, keretrendszerek, minták (patterns) stb.

Page 10: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 10

HivatkozHivatkozáások 1.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.

Page 11: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 11

HivatkozHivatkozáások 2.sok 2.Sike Sándor, Varga László: Szoftvertechnológia

és UML

ELTE Eötvös Kiadó, Budapest, 2002.

Page 12: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 12

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)

Page 13: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 13

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!

Page 14: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 14

KiterjesztKiterjesztéési mechanizmusoksi mechanizmusokAz 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

Page 15: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 15

MegjegyzMegjegyzééseksek

Megjegyzés szövege

Megjegyzés teljes szövege:megjegyzes.doc

Egy osztály

Elemhez kapcsolt megjegy zés

Formája:

Kapcsolható egy elemhez:

Page 16: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 16

SztereotSztereotíípiapiaFormá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.

Page 17: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 17

MegszorMegszorííttáásoksokFormá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 (ObjectConstraint Language, IBM)

Megadható:

minısített elem után vagy alatt

kapcsolt megjegyzésben

Page 18: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 18

Kulcsszavas Kulcsszavas éértrtéékekkekFormá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="Ficsor", version=0.9.9, date=00.01.01}

Page 19: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 19

UseUse casecase diagram 1.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

Page 20: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 20

UseUse casecase diagram 2: diagram 2: AktorAktor

Jele:

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

Vásárló(f rom Act ors)

Page 21: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 21

UseUse casecase diagram 3: diagram 3: UseUse casecaseEgy 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:

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)

Áruvásárlás

Page 22: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 22

UseUse casecase diagram 4: Pdiagram 4: PééldaldaFizeté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

Page 23: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 23

UseUse casecase diagram 5: Pdiagram 5: Péélda (lda (áábra)bra)

Vásárló(f rom Actors)

Blokkolás

Áruvásárlás

Pénztáros

Fizetés

Page 24: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 24

UseUse casecase diagram 6: kapcsolatokdiagram 6: kapcsolatokAktor é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 A2kiegészíti (többlet funkciók vagy speciális esetek)

Aktorok vagy use case-ek között: általánosítás(generalization)

Page 25: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 25

UseUse casecase diagram 7: kapcsolatok (diagram 7: kapcsolatok (áábra)bra)

Pénztáros(f rom U se Cas e View)

Boltvezeto

Hitel adás

Göngyöleg kezelés

Áruvásárlás(f rom Use Case View)

<<include>>

Árulista megnézése

<<exte nd>>

Általánosítás

Blokkolás

Page 26: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 26

OsztOsztáálydiagramlydiagramOsztályok és összefüggéseik ábrázolásáraA rendszer statikus strukturális modelljeHárom szint:

koncepcionálisspecifikációsimplementá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

Page 27: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 27

OsztOsztáálydiagram: osztlydiagram: osztáály szimbly szimbóólumaluma

Windowk

Windowsvisibili ty : Bool eansize : A rea

display()hide()

Windowi

size : Area = (100,100)visibil ity : Boolean = invisiblexptr : XWindow*

display()hide()attachXwindow()create()

<<abstract>>

Koncepcionális

Specifikációs

Im plementációs

Név

Attribútumok

Operációk

Page 28: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 28

OsztOsztáálydiagram: objektum szimblydiagram: objektum szimbóólumalumaEgy konkrét objektum

Objektum neve : Osztály neve KissPista : HallgatóPl.:

Egy osztály tetszıleges objektuma

: Osztály neve

Megadhatók konkrét attribútum értékek is

Megjegyzés: az aláhúzás része a jelölésnek!

KissPista : Hallgató

Név = Kiss PistaNeptunKód = ZZZZZZ

Page 29: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 29

OsztOsztáálydiagram: attriblydiagram: attribúútumoktumokFormá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

Windowprivate attr.protected attr.public attr.

Rational Rose szerint

Page 30: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 30

OsztOsztáálydiagram: attriblydiagram: attribúútumoktumokkoncepcioná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

Page 31: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 31

OsztOsztáálydiagram: operlydiagram: operáácicióókk

Formája:láthatóság név(param) : típus{comment}

típus a visszatérési érték típusaparam 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>>

Page 32: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 32

OsztOsztáálydiagram: operlydiagram: operáácicióókkkoncepcioná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

Page 33: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 33

OsztOsztáálydiagram: lydiagram: kapcsolatokkapcsolatokKapcsolat 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

Page 34: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 34

OsztOsztáálydiagram: asszocilydiagram: asszociáácicióó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ı.

Page 35: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 35

OsztOsztáálydiagram: asszocilydiagram: asszociáácicióó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)

Page 36: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 36

OsztOsztáálydiagram: asszocilydiagram: asszociáácicióóPélda:

Cég Személy1..*0..1

+alkalmazott1..*

+alkalmazóAlkalmazás0..1

Szerep nevek

Kapcsolat neve

Számosság Számosság

Page 37: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 37

OsztOsztáálydiagram: asszocilydiagram: asszociáácicióó (szerep)(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:

sokszög pont3..*

{ordered}

+alkotjaSzerepnévmultiplicitás

Kötött sorrendben!

Page 38: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 38

OsztOsztáálydiagram: asszocilydiagram: asszociáácicióó (szerep)(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 Hallgató

+regisztrált

+gyakvezér

felvesz

demonstrátor

Page 39: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 39

OsztOsztáálydiagram: asszocilydiagram: asszociáácicióó (min(minııssííttıı))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

Page 40: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 40

OsztOsztáálydiagram: asszocilydiagram: asszociáácicióó (min(minııssííttıı))Példa:

Tárgy tárgykód Hallgatófelvesz

Ennek megfelelı objektum diagram:

SoftwareTechnológia : TárgyGEIAL2144N KissPista: Hallgató

felvesz

Page 41: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 41

OsztOsztáálydiagram: asszocilydiagram: asszociáácicióó (tulajdons(tulajdonsáág)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

Page 42: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 42

OsztOsztáálydiagram: asszocilydiagram: asszociáácicióó (tulajdons(tulajdonsáág)g)Példa:

Cég Személy

Alkalmazás

KezdeteFizetés

beosztás

Page 43: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 43

OsztOsztáálydiagram: asszocilydiagram: asszociáácicióó (t(tööbbes)bbes)Több osztály között fennálló asszociáció jelölése:

Osztály1

Osztály3

Osztály2 Osztály1

Osztály3

Osztály2

Osztály4

Page 44: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 44

OsztOsztáálydiagram: lydiagram: ÁÁltalltaláánosnosííttáássSpeciá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)

Page 45: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 45

OsztOsztáálydiagram: lydiagram: ÁÁltalltaláánosnosííttááss

Alakzat

Kör Téglalap Hatszög

Page 46: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 46

OsztOsztáálydiagram: lydiagram: aggregaggregáácicióó éés kompozs kompozíícicióó

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.

Page 47: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 47

OsztOsztáálydiagram: lydiagram: aggregaggregáácicióó éés kompozs kompozíícicióó((áábra)bra)

Motor Kerék

Autó

1 4..51 4..5

Konyha Szoba

Ház

0..1 1..*0..1 1..*

Aggregáció Kompozíció

Page 48: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 48

OsztOsztáálydiagram: lydiagram: parametrizparametrizááltlt osztosztáályly

Címlista

Elemek:Tombelemelemszám:Integer

DinTomb

<<bind (Cím, 100)>>

Parametrizált osztály

Paraméterek

Konkretizált osztály

Konkretizálás paraméterei

Page 49: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 49

OsztOsztáálydiagram: lydiagram: interfaceinterfaceAz <<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.

Page 50: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 50

Szekvencia diagram 1.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

Page 51: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 51

Szekvencia diagram 2: pSzekvencia diagram 2: pééldalda

Forrás: UML specification

Page 52: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 52

Szekvencia diagram Szekvencia diagram 33: : üüzenetzenet fajtfajtáákk

Objektum1 Objektum2

Egyszerû üzenet

Szinkron üzenet

Aszinkron üzenet

Uzenet time-outttal

Page 53: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 53

Szekvencia diagram 4: pSzekvencia diagram 4: pééldalda

Alternatívmőködés

Élettartam vége

Beágyazott vezérlés fókusz

Élettartam kezdete

Forrás: UML specification

Page 54: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 54

ÁÁ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állapotegy állapot részletezhetı (strukturált áll. diagram)állapotok között lehet általánosítás kapcsolat

Page 55: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 55

ÁÁllapot diagram 2.llapot diagram 2.

Állapot

entry/ Belépési tevékenységexit/ Kilépési tevékenység

do/ Normál tevékenységon esemény/ ^Eseményhez kapcsolódó tev.

Állapot jelölése

Page 56: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 56

ÁÁllapot diagram 3. (pllapot diagram 3. (péélda)lda)

Forrás: UML specification

Page 57: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 57

EgyEgyüüttmttmőőkkööddéési diagram 1.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!

Page 58: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 58

EgyEgyüüttmttmőőkkööddéési diagram 2.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.

Page 59: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 59

EgyEgyüüttmttmőőkkööddéési diagram 3. psi diagram 3. pééldalda

Vásárló(f rom Actors)

Ügyfél

: ATM

: központi gép: banki gép

tranzakció

összeg

készpénz

tranzakció

összeg

engedély

tranzakció

összeg

rendben

Készpénzfelvétel ATM-bıl

Page 60: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 60

EgyEgyüüttmttmőőkkööddéési diagram 4. psi diagram 4. pééldalda

: hallgató: oktató

Zh eredmény hirdetés

eredménylap

Multi objektummal

Page 61: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 61

AktivitAktivitáás diagrams diagramIdı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)

Page 62: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 62

AktivitAktivitáás diagram s diagram -- ppééldalda ((nemnem teljesteljes!)!)Tágy

meghirdetése

Határidõig várakozás

Tárgy lem ondás a

Tárgy véglegesítése

Kiírások megnézése

Tárgyra jelentkezés

Jeletkezés elfogadása

Módosítás felajánlása

Tárgy megtartása

Tárgy lezárása

Page 63: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 63

SSáávvoos s aktivitaktivitááss diagramdiagramA 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ó

Page 64: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 64

SSáávvoos s aktivitaktivitááss

diagram diagram --ppééldalda

Page 65: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 65

Komponens diagramKomponens diagramKomponensek: fizikai alkotóelemek. Tipikusan:– forrás-állományok

– könyvtárak

– futtatható állományok

– dokumentumok

– adatfile-ok

– software komponensek

Definiált sztereotípiák:– «executable»

– «library»

– «tables»

– «file»

– «document»

Page 66: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 66

Komponens diagram Komponens diagram -- ppééldalda

Tárgyra jelentkezés

Tárgy kezelés s zerver

Adatbázis szerver

Online szerver

Web Browser

Page 67: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 67

TelepTelepííttéési diagramsi diagramTartalma:

A rendszer hardware elemei (csomópontok) és a közöttük levı fizikai viszonyok

A hardware és software elemek összerendelése

Page 68: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 68

TelepTelepííttéési diagram si diagram -- ppééldaldaTanszéki szerver

Admin. szerver

Hallgatói PC

TCP-IP

TCP-IP (védett)

Tárgy kezelés szerver

Adatbázis szerver

Online szerver

Web Browser

Page 69: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 69

ModellModellezezééss ttáámogatmogatáásasaAz UML támogatja teljes modellek felépítését

Eszközei:

Csomag (package)

Alrendszer (subsystem)

Modell

Page 70: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 70

CsomagCsomagTetszı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>>

Page 71: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 71

CsomagCsomag: p: péélldada

Forrás: UML specification

Page 72: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 72

AlrendszerAlrendszerOlyan 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

Page 73: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 73

Alrendszer: jelAlrendszer: jelöölléés s éés kapcsolatoks kapcsolatok

Jelölés:

Operációk leírása

Interface-ek

Kapcsolatok:

Forrás: UML specification

Page 74: Unified Modeling Language (UML) Áttekintésusers.iit.uni-miskolc.hu/ficsor/swtechseg/uml.pdf · Vég Csaba: Alkalmazásfejlesztés a Unified Modeling Language szabványos jelöléseivel

FicsorLajos

Unified Modeling Language UML / 74

ModellModellA rendszer egy nézete (view)

Jelölés:

Forrás: UML specification