Upload
veg-csaba
View
218
Download
0
Tags:
Embed Size (px)
Citation preview
UMLA szabvnyos OO modellez nyelvVg Csaba / www.logos2000.hu
Modellezs
Vg Csaba / www.logos2000.hu
ModellezsProgramozs el tti el zetes terv Rendszerszervezs
elemzs tervezs implementci
Feladat Elemzs Tervezs Programozs Gpi szint egzaktsg
Vg Csaba / www.logos2000.hu
Modellezs
klnbz rszletezettsgi szint vzlatos tervek el nyk ttekinthet bbek ellen rizhet megrendel kkel egyeztetsre fejleszts menete jobban nyomon kvethet (er forrsigny, bekerls kltsge). knnyebben mdosthatkVg Csaba / www.logos2000.hu
Knnyebb mdosts
Cg
Alkalmazs 1 *
Szemly
Megfelel jellsrendszer esetn egyetlen jel megvltoztatsval lehet v tehetjk, hogy egy Szemlyt ne csak egy, hanem tbb Cg is alkalmazhasson.
Cg
Alkalmazs * *
Szemly
Vg Csaba / www.logos2000.hu
Vizulis jellsekProjektvezet Vezet* 1 Projekt 1 * Rszfeladat Kidolgoz Alvllalkoz * 1trkp, tervrajz (blueprint) csompontok: elemek; lek: viszonyok
Vg Csaba / www.logos2000.hu
Bonyolultsg kezelse
dealing with complexity eszkzk absztrakci rszekre bonts
Vg Csaba / www.logos2000.hu
Absztrakci (hasonlsg)vagy absztrakt elem
Szemly szletsi id : Date
Frfi sorkteles : booleanVg Csaba / www.logos2000.hu
N lenykori nv : String
Rszekre bonts
s:Szerkeszt lap fgg leges :Csszka :Vszon :Alakzat :Alakzat httr :Minta vzszintes :CsszkaVg Csaba / www.logos2000.hu
Absztrakci
Absztrakci kiemels lehet sge (konzisztencia!) megoszts (sharing), jrafelhasznls (reuse)
Adatbzisablak
Sajt adatbzisablakVg Csaba / www.logos2000.hu
Strukturlt szemllet1.1. rszfeladat 1. rszfeladat 2. rszfeladat Feladat 3. rszfeladat id 1.2. rszfeladat
Vg Csaba / www.logos2000.hu
SzemlletekGpkzeli szemlletadatelemek adatszerkezet
Strukturlt szemllet
Objektumorientlt szemlletobjektumstruktra
elemi utastsok szerkezet
utastsszerkezet Az OO megkzelts a feladatot egyetlen egysges mdon bontja fel.
Vg Csaba / www.logos2000.hu
Modell transzformcija
Gondolati modell
Modellez nyelv
Programozsi nyelv
Gpi nyelv
Vg Csaba / www.logos2000.hu
Megkzeltsi szintekA szemllet szintje Elemzs Tervezs Programozsnzet absztrakt megoldsi md lekpezs (mapping)
Vg Csaba / www.logos2000.hu
Koncepcionlis szint Technikai szint Implementcis szint
Trtnet
Vg Csaba / www.logos2000.hu
OO programozsi nyelvek
67
SIMULA (Dahl, Nygaard)
osztlyok, egyszeres rkl ds, m velet-tdefinils (overloading), a statikus s dinamikus kts (!), beptett garbage collection, korutinok, szimulcit segt kiegszt osztlyok
70-es vek: Smalltalk (A. Kay s A. Goldberg ) az els tisztn OO nyelv XEROX Palo Alto kutatkzpontja "objektumorientlt: Alan Kay SIMULA '67 koncepciin LISP alapfelpts nyelv zenetvlts jellse grafikus felhasznli felletek (GUI) megjelense
Vg Csaba / www.logos2000.hu
OO nyelvek: C kiterjeszts
'80-as vek elejn Objective-C Smalltalk nyelvre plt
C++ (korbban: C with classes) szimulcis feladatok hatkony kezelsre; tbb nyelvi elemet is a SIMULA '67-b l vettek t objektumorientlt koncepcik gpkzeli szinten s hatkonysggal -> OO technikk ipari mret felhasznlsa
Vg Csaba / www.logos2000.hu
C++ bonyolult nyelv: teljes eszkzrendszert csak magasan kvalifiklt programozk ismerik. hatkony s ezrt nagyon magas kltsg megoldst knyszerti ki: a problmt nem lehet nagyvonalan, absztraktabb szinten megkzelteni nem rendelkezik beptett automatizmusokkal (pl. gc) s vdelmi eszkzkkel (pl.: indexhatr-ellen rzs), amelyek megknnytenk a biztonsgos programok fejlesztst. viszonylag kevs a szabvnyos kiegsztse (sszetett adatok, felhasznli felletek kezelse).
Egy C++ projekt sikere nagy tapasztalatot s komoly el kszleteket ignyel.Vg Csaba / www.logos2000.hu
Javaegyszer stett C++ ltalnossg (pl. metdusok virtulisak, objektumrl megllapthatjuk, hogy egy adott osztly pldnya-e, stb.) el trbe helyezse a hatkonysg rovsra
bels automatizmusok (pl.: trfelszabadts) s a biztonsgossg (pl.: indexhatr-ell., res mutatn keresztl trtn hivatkozs). csak nehezen tehetjk meg, hogy ne nagyvonalan kzeltsk meg a feladatot.Vg Csaba / www.logos2000.hu
Java igen nagy mret osztlyknyvtrral rendelkezik a nyelv s a krnyezet is elmletileg platformfggetlen: a szlogen szerint az egyszer megrt s lefordtott kd brhol futtathat, ahol elrhet a Java virtulis gp. igen produktv krnyezet, amely lnyegesen felgyorsthatja az alkalmazsok fejlesztst. sok informatikai cg tmogatja: objektumorientlt lingua francaVg Csaba / www.logos2000.hu
Java - hinyossgokkvetkezetlensgek a nyelvben nem megoldottak a sebessg s hatkonysg problmk csak rszben megoldott az objektumok kls trolsnak krdse (a perzisztencia, illetve a relcis adatbzisban trtn trols) az alkalmazsoknak igen nagy az er forrsignye.
Vg Csaba / www.logos2000.hu
MdszertanokSzoftver-krzis OO mdszertanok
tervezs (OO design) elemzs (OO analysis) a kifejlesztend alkalmazst mr nyelvt l s platformtl fggetlen mdon kzelti meg.
'86: Grady Booch (Ada tanfolyam) Abbot '83 diagramok (Intel iAPX 432)
91: Booch mdszer (nem csak Ada-ra)Vg Csaba / www.logos2000.hu
'89: CRC-krtyk mdszere (Cunningham s Beck) '90: Rebecca Wirfs-Brock: felel ssgeken alapul tervezs (RDD: responsibility-driven design)
Vg Csaba / www.logos2000.hu
OO elemzs
Hagyomnyos elemzsi mdszerek alapjn '89: Shlaer-Mellor: adatmodellezs objektum-alap kiegsztse 90,91: Coad-Yourdon: elemzsi mdszer
Vg Csaba / www.logos2000.hu
OMT
91: James Rumbaugh s ngy trsa (Blaha, Premerlani, Eddy s Lorensen) General Electric kutatkzpontja Objektum-modellezsi technika (Object Modeling Technique - OMT) jellsrendszer s mdszer
egyik legkedveltebb mdszerr vlt.Vg Csaba / www.logos2000.hu
OMT siker a knyv kzrthet nyelven rdott elsajttshoz nem szksgesek mly informatikai ismeretek minden fogalmat (informlisan) egyszer en s rthet en definiltak legnpszer bb jellsek alapjn konzisztens jellsrendszert lltottak ssze mdszerk egyszer en, szinte gpiesen vgrehajthat lpsekb l ll (alapja az Abbot-fle szvegelemzs)Vg Csaba / www.logos2000.hu
OMT
a gyakorlati alkalmazs a jellsek s a technika tbb gyenge pontjt s hinyossgait is a felsznre hozta. ttekinthet s biztonsgos alap hasznlhat az OO technikkkal val ismerkeds els lpseknt is
Az UML majdnem teljes mrtkben tvette az OMT jellseit.Vg Csaba / www.logos2000.hu
Hasznlati esetek
korai OO mdszerek hinyossga: kevs tmpontot adtak a kvetelmnyek tisztzsra. pl. OMT: adottnak ttelezi fel szveges formban
Jacobson s trsai: Objectory, ill. OOSE (Object-Oriented Software Engineering) jdonsga a hasznlati esetek (use case) technikja.Vg Csaba / www.logos2000.hu
Hasznlati eseta rendszer s a felhasznl kztti tipikus interakci-sorozat sszefoglalhatjuk a rendszerrel kapcsolatos kvetelmnyeket, a rendszer vzlatos kls "kpt", a rendszer hatrait.
nagyon npszer technika (nem OO) OMT-II: alkalmazsfejleszts els lpse
Vg Csaba / www.logos2000.hu
Egysgests s szabvnyosts
90-es vek: OO technikk nagyon npszer ek, nll jellsek s mdszerek (10-50) nehz volt vlasztani azonos koncepcikat hasznltak
Jelent sebb mdszer msodik genercija (pl. Booch '93, OMT-II), melyek tbb koncepcit, jellst s technikt is tvettek versenytrsaiktl. OMG (Object Management Group) ksrlet Booch: informlis megbeszlsek ("ktetlen reggeli kvzs") "mdszerek hborja" (method war)Vg Csaba / www.logos2000.hu
Egyeztets
'94 sz: OOPSLA: Booch s Rumbaugh (Method war is over - we won) Rumbaugh csatlakozik Booch cghez (Rational)
'95 OOPSLA: Egysgestett mdszer (Unified Method) 0.8 Booch '93 + OMT-II + hasznlati esetek Jacobson (Objectory) is csatlakozik
UM: sok kritika; nem tartalmazott tnyleges mdszertani elemeket '96: UML (Egysgestett modellez nyelv) 0.9 Rational Objectory Process Vg Csaba / www.logos2000.hu
Szabvnyosts
UML Partners: UML szabvnyostsa (nmagban is "de facto" szabvnny vlt volna).
97 jan: UML 1.0 (nhny kifogs) 97 szept. UML 1.1 97 nov. OMG szabvny UML dokumentci: Rational web-lapjn 97: Fowler - Scott: UML Distilled. Applying the Standard Object Modeling Language 99 UML 1.3Vg Csaba / www.logos2000.hu
UML forrsokBooch, Rumbaugh, Jacobson: The Unified Modeling Language User Guide Rumbaugh, Jacobson, Booch: The Unified Modeling Language Reference Manual Jacobson, Booch, Rumbaugh: The Unified Software Development Process
Vg Csaba / www.logos2000.hu
Mi az UML? Unified Modeling Language OO szemlletre pl elemzs s tervezs eszkze. kzvetlen rkse a korbbi hrom legnpszer bb objektumorientlt mdszertannak (a hrom jellsrendszer kvetkez genercijnak is tekinthet ) az OMG ltal elfogadott, szabvnyos jellsrendszer. alapvet en grafikus nyelv (diagramok) modellez nyelv nem vizulis programozsi nyelv a modellek brzolsra alkalmas jellsrendszer
Vg Csaba / www.logos2000.hu
szabvnyossg
Informcicsere: OO mdszerek ipari mretekben trtn alkalmazsnak kulcsa fejleszt i csoporton belli kommunikci vllalatok kztti informcicsere a megrendel s a fejleszt cg kztti informcicsere
nem szksges kln bels szabvnyt kialaktani, nagyobb ismeretanyag, knyvek, cikkek oktatjk, ezrt lervidthet az jonnan felvett informatikusok munkba llsa.
Vg Csaba / www.logos2000.hu
Nyelv s mdszer
modellez nyelv: modellek brzolsa a nyelv ismerete egy ksz modell rtelmezst teszi lehet v, de nem ad ajnlst arra vonatkozan, hogy azt milyen lpsekkel lltsuk el . A mdszer (process) felajnl egy lpssorozatot, amely segtsgvel megrajzolhat az alkalmazs modellje.Vg Csaba / www.logos2000.hu
Rational Unified Process
Objectory Jacobson (Objectory) csatlakozsa kett vlasztottk a modellez nyelvet (UML) s a mdszertant (Rational Objectory Process). 98: Rational Unified Process (RUP)Vg Csaba / www.logos2000.hu
hasznlati eset vezrelt robosztus architektrra sszpontost tervezs lehet v teszi a prhuzamos fejlesztst, az jrafelhasznlhatsgot s egyszer sti a ks bbi karbantartst.
Vg Csaba / www.logos2000.hu
iteratv s inkrementlis eljrs nem "vzessszer " ignyeket tbb rszre bontjuk s el szr csak a leglnyegesebb elemeket valstjuk meg egyre tbb ismeret gy lik ssze az alkalmazssal szemben tmasztott tnyleges kvetelmnyekr l minden iterci m kd s tesztelhet szoftver inkrementlis: elemek integrcija folyamatos ( se a Booch mdszer)Vg Csaba / www.logos2000.hu
a fejleszts folyamata ellen rztt a felhasznlk ltal ignyelt alkalmazst fejlesztjk a fejleszts kockzatai s er forrsignye is becslhet a fejleszts folyamata is tervezhet min sgbiztosts - a fejleszts menetbe integrlhat.
Vg Csaba / www.logos2000.hu
Alapelemek
Vg Csaba / www.logos2000.hu
Megjegyzsek
"megjegyzslap" alakzat ("notesz-lap"), melyen szveg s kp is szerepelhet.
Seminar szakterleti modell. ttekint diagram. Ksztette: P.A., 1999-01-08
Vg Csaba / www.logos2000.hu
CsatolsServer Internetes s modemes kapcsolat is lehetsges! Csak megjelent funkcija van. Tams! Gondold t a kliens kommunikcijt a szerverrel!
Client
Vg Csaba / www.logos2000.hu
Kls dokumentum s URL
requirements lsd: Jelentkezs.doc
A dokumentci itt tallhat.
Vg Csaba / www.logos2000.hu
Szvegen belli megjegyzs
Jelentkezs -- jelentkez k szma -- jelentkez k rtestse -- jelentkezs lemondhat
Vg Csaba / www.logos2000.hu
Elnevezsek
Rvidtett elnevezsek Fogalomsztr v. szjegyzk (glossary) elnevezsek rvid lersa
Vg Csaba / www.logos2000.hu
Seminar tanfolyamszervezsA Seminar alkalmazs megknnyti a tanfolyamok szervezst. Segtsgvel Web-en meghirdetheti tanfolyamait, melyekre az rdekl d k egy rlap kitltsvel el zetesen jelentkezhetnek. A tanfolyamok meghirdetst az oktatsi igazgat (v. helyettese) irnytja, az adminisztratv teend ket pedig a tanfolyamszervez k ltjk el. A meghirdetett tanfolyamot a megtartsa el tt 3-5 munkanappal a szervez vglegestheti vagy elegend jelentkez hinyban, esetleg egyb klnleges ok miatt lemondhatja; mindkt esetben a jelentkez ket e-mail-ben rtesteni kell. A jelentkezsek szintn lemondhatk. A megtartott/lemondott tanfolyamok adatait egy archvum gy Csaba / www.logos2000.hu Vg jti.
Kiterjesztsi mechanizmusok
szabvnyos jellsek: a modellek brzolsnak egy ltalnos kerete kiterjesztsi mechanizmusok: az ltalnos jellsrendszert a fejleszts ltal megkvetelt irnyba specializlhatjuk a szabvny keretein bell az alkalmazs szakterletnek, az alkalmazott technolginak a fejlesztsi mdszernek megfelel jellsek
kiterjesztsi mechanizmusokkal az UML a fejleszts s a feladat krnyezethez igazthat.Vg Csaba / www.logos2000.hu
UML kiterjesztsi mechanizmusai
Sztereotpia: j modellelemek jellse. Megszortsok: tulajdonsgok, melyek az UML ms jellseivel nem adhatk meg. Kulcsszavas rtkek: a modellelemek lerst specilis jellemz kkel egszthetjk ki.Vg Csaba / www.logos2000.hu
Sztereotpia
Rebecca Wirfs-Brock - elnevezs (stereotype) osztlyok magas szint tipizlsa, az osztly ltalnos cljnak s jellegnek megadsa, melyek a kdban csak kzvetve ("jellegknt") jelennek meg, pl. vezrl (controller) vagy megjelent (view)
Jacobson (Objectory/OOSE): sztereotpikkal minden osztlyt hrom csoportba soroljunk modell (szakterleti osztly) interfsz (pldul megjelent ) vezrl
Vg Csaba / www.logos2000.hu
Rational Unified Process: modell helyett entits (entity) interfsz helyett hatrosztly (boundary)
UML: a sztereotpikat brmely modellelem esetn megadhat ltalnos kiterjesztsi mechanizmusknt alkalmazza, mellyel j modellelemeket kpezhetnk.Vg Csaba / www.logos2000.hu
Sztereotpiafrancia-idz jelek ( s ) kztt az elem neve el tt, vagy fltt adhatjuk meg (pldul control). control Minden Kapcsolat Kapcsolat sztereotpihoz kis kp ("ikon") boundary is rendelhet . Bejelentkez ablak Bejelentkez
ablak entity Tanfolyam
Vg Csaba / www.logos2000.hu
Tanfolyam
megadhat szvegesen a nv el tt vagy fltt, grafikusan az elem elnevezse mellett mindkt mdon
Tanfolyam entity Tanfolyam
Tanfolyam entity Tanfolyam Tanfolyam
vzlatos brzols: a sztereotpia ikonja s alatta az elem elnevezseVg Csaba / www.logos2000.hu
Szemlletets* Knyvtr * * *
Olvas 0..1 1 * *
KnyvVg Csaba / www.logos2000.hu
Pldny
Megszortsok
minden jells: a modellel kapcsolatos informci definilt jellsek mellett a szveges megszortsok (constraint) ltalnos eszkzknt hasznlhatk: a modell tovbb pontosthat egyetlen elemre vonatkoz tulajdonsg tbb elem kztti kapcsolatot is.Vg Csaba / www.logos2000.hu
elem elnevezse alatt vagy mgtt, kapcsos-zrjelek kztt adhatunk meg. lehet szveges (pldul magyar vagy angol, stb.) formlis (pl. prog. kifejezs vagy kplet, OCL)
Szemly nv szletsi dtum kor {kor = mai dtum szletsi dtum}Vg Csaba / www.logos2000.hu
kln csatolt megjegyzslapon is megadhat
Alkalmazott fizets beosztott * vezet
vezet * {vezet .fizets > beosztott.fizets }
Vg Csaba / www.logos2000.hu
Megszorts s kulcsszavas rtkelemek jellege, hasznlati mdja megadhat pl. {frozen}: kulcsszavas rtk (tagged value): adott nvhez rtk rendelhet (pl. fejlesztssel kapcsolatos informcik)
Jelentkezs {persistent version=0.8.13, author=Anna}nllan is szerepelhet, ha a jelentse egyrtelm , pldul egy felsorolsos tpuson belli elem (pl.: {transient} vagy {persistent}).
Vg Csaba / www.logos2000.hu
Kiterjesztsi mechanizmusok hasznlata
Sztereotpia: jabb modellelemet, metatpust definilhatunk Kulcsszavas rtk, illetve specilis megszorts: a modellelemeket ler jabb tulajdonsgot, azaz metadatatot adhatunk meg Egyszer megszorts: egy vagy tbb modellelemre vonatkoz sszefggs, szably Metatpus s metaadat: a modellelem olyan jellemz i, melyek az alkalmazsban csak kzvetve, "jellegknt" jelennek meg.Vg Csaba / www.logos2000.hu
Hasznlati eset (use case)
Elnevezs: Jacobson Az OO mdszerek rvid id alatt tvettk a technikt A Rational Unified Process a fejleszts teljes folyamatnak temezst a hasznlati esetek segtsgvel vgzi el. Hasznlati eset diagram: UML egy diagramtpusa.Vg Csaba / www.logos2000.hu
Aktor (actor)a rendszer hatrain kvl es , "kls , a rendszerhez kapcsold elem aktorok: a kapcsolds lehetsges mdjai
jele a "plcikaember"
Vg Csaba / www.logos2000.hu
Aktor
Jelentkez
Vezet Archvum
Szervez
Vg Csaba / www.logos2000.hu
Fogalomsztr
Vezet . A tanfolyamokkal kapcsolatos irnyt, menedzseri tevkenysgeket ltja el, gy meghirdethet vagy klnleges ok miatt (pl. oktat betegsge) lemondhat egy tanfolyamot. Szervez . A tanfolyamokkal kapcsolatos napi szervez i munkt ltja el s figyelemmel ksri a jelentkezseket.
Vg Csaba / www.logos2000.hu
Aktoractor sztereotpij osztly, ikonja: "plcikaember az aktor elnevezse egy tglalapba is rhat
Vezet Szervez JelentkezVg Csaba / www.logos2000.hu
Archvum
Aktor
egy szerep, tbb konkrt szerepl is eljtszhat, pldul vezet i jogkrrel az oktatsi vezet s helyettese is rendelkezhet. egy konkrt szerepl tbb szerepben is megjelenhet, pl. a Vezet s a Szervez ugyanaz a szemly is lehet.
jelenthet felhasznlkat, de lehet kls rendszer is.Vg Csaba / www.logos2000.hu
Hasznlati eset (use case)
A rendszer kls kapcsoldsi pontjai (kvlr l lthat funkcii), pl. egy sszetett prbeszd (interakci) a felhasznl s az alkalmazs kztt. Jells: ellipszis alakzat, az elnevezst kzpre igaztjuk Az aktorok s a funkcik kztt hzott vonallal jelljk, hogy az egyes aktorok milyen hasznlati esetekkel kapcsoldnak a rendszerhez. A kapcsolatot az alkalmazssal lefolytatott kommunikci lehet sgeknt rtelmezzk.Vg Csaba / www.logos2000.hu
tanfolyam meghirdetse Vezet tanfolyam trlse
Vg Csaba / www.logos2000.hu
Alkalmazs hasznlati eseteitanfolyamok megtekintse tanfolyamra jelentkezs
Seminar
tanfolyam vglegestse tanfolyamra kevs a jelentkez
Szervez
Jelentkez
Vezet tanfolyam meghirdetse tanfolyam trlseVg Csaba / www.logos2000.hu
tanfolyam archivlsa
Archvum
Aktor s hasznlati eset
UML: kapcsolat tpust jellhetjk a vonalak vgre helyezett nylhegyekkel. nyl az informcitovbbts irnyt brzolja irnytatlan vonal: "oda-vissza" informcicsere
Vg Csaba / www.logos2000.hu
Aktor s hasznlati esetAktor indtja be a folyamatot A hasznlati eset indt be az aktorban valamely folyamatot.
A hasznlati eset egyoldalan knyszertheti az aktort valamely tevkenysgre, ekkor az aktor a folyamat vgrehajtja, ms nven trgya, "szenved alanya".
Nem az aktor indtja el a funkcit, de a folyamat aktv kzrem kd je, gy beavatkozhat annak menetbe.Vg Csaba / www.logos2000.hu
tanfolyamok megtekintse tanfolyamra jelentkezs
tanfolyam vglegestse tanfolyam lemondsa
Szervez
Jelentkez
Vezet tanfolyam meghirdetse tanfolyam trlseVg Csaba / www.logos2000.hu
tanfolyam archivlsa
Archvum
Aktorok ltalnostsa/pontostsa aktor alvltozatai: A klnbz vltozatok az alkalmazsunkhoz eltr mdon kapcsoldhatnak.tanfolyamok megtekintse Jelentkez Web jelentkez Telefonos jelentkezVg Csaba / www.logos2000.hu
tanfolyamra jelentkezs
Kt aktor kztt ltalnosts viszony llhat fenn, ha az egyik (az ltalnosabb) sszes hasznlati esethez a msik is ugyanolyan mdon kapcsoldik. (vizsgljuk meg, hogy a valsgban is ltezik-e a viszony, teht az ltalnosabb szerepkrbe a specilisabb aktor brmely konkrt felhasznlja is behelyettesthet .)
Szervez VezetVg Csaba / www.logos2000.hu
Vltozatok (extends)
tanfolyamok megtekintse tanfolyamra jelentkezs extend Web jelentkez extend mdosts felajnlsa jelentkezs elfogadsa
Szervez
Vg Csaba / www.logos2000.hu
A vltozatok az alapeset m kdshez bizonyos tbbletet adnak. alapeseten bell opcionlisak (csak bizonyos felttelek esetn hajtdnak vgre).tanfolyamok megtekintse extend tanfolyamra jelentkezs extend mdosts felajnlsaVg Csaba / www.logos2000.hu
Jelentkez
extend
Szervez
jelentkezs elfogadsa
Kiterjesztsi pont
Kiterjeszts:az alap hasznlati eset a m kdsnek bizonyos pontjain "jelenti" a fennll helyzetet, melyet figyelve a vltozatok kzbeszrhatjk a helyzetnek megfelel tevkenysgket. pl. a tanfolyamok megtekintse egyszer csak jelentkezsbe "fajul el"extend (jelentkezs) tanfolyamra jelentkezs
tanfolyamok megtekintse extension points jelentkezsVg Csaba / www.logos2000.hu
Rszfunkci (include)
lnyeges rszfunkci (pl. a megszokottnl tbb er forrst ignyel a megvalstsa) vagy tbb hasznlati esetben ismtl d kzs rszletinclude tanfolyam vglegestse tanfolyam lemondsa
Jelentkez
rtests
include
Szervez
include
tanfolyam meghirdetse tanfolyam trlse Vezet
Vg Csaba / www.logos2000.hu
Hasznlati esetek ltalnostsa
hasznlati eset pontostsa olyan funkcit jell, amely az ltalnos helyre behelyettesthet . Pontosts: az ltalnos megvalstsi lehet sgeit, illetve ltalnosknt brzoljuk tbb hasznlati eset hasonl jellegt.include rtests tanfolyam megszaktsa tanfolyam lemondsa tanfolyam trlse
JelentkezVg Csaba / www.logos2000.hu
Vltozat, rszfunkci, ltalnosts?include: rszfunkci, amely az alap hasznlati eset m kdshez nlklzhetetlen, annak szerves rsze. (a rszfunkci m kdst kiemeljk az alapesetb l) extend: a norml m kds bizonyos pontjain adott felttelek mellett bekvetkez , de attl rszben fggetlen kiegszts (a m kdst beszrjuk az alapesetbe) ltalnos hasznlati eset pontostsa egy megvalsulsi lehet sget r le, gy brmely pontostott vltozat felhasznlhat ott, ahol szksgesknt csak az ltalnos vltozatot jelljk meg.
Vg Csaba / www.logos2000.hu
Vltozat, rszfunkci, ltalnosts?
include: szksges rsztevkenysg ("felttel nlkl") extend: lehetsges kiegszts (lehetsges tirny)
Vg Csaba / www.logos2000.hu
Diagramok kialaktsatanfolyam meghirdetse
Jelentkez
tanfolyam trlse
Vezet
tanfolyam archivlsa Archvum
Vg Csaba / www.logos2000.hu
Vezet
tanfolyam archivlsa Archvum tanfolyam megszaktsa
Szervez
tanfolyam meghirdetse
tanfolyam lemondsa
tanfolyam trlse
tanfolyam vglegestse
rtests tanfolyamok megtekintse extend tanfolyamra jelentkezs extend extend mdosts felajnlsaVg Csaba / www.logos2000.hu
Jelentkez
jelentkezs elfogadsa
Felhasznl cljai s az interakcikhasznlati eset: egy egyszer bb vagy sszetettebb prbeszd (interakci) A felhasznl a cljait ezeken a funkcikon keresztl tudja megvalstani. Els dlegesek a felhasznl cljai.
A hasznlati eseteket gy kell sszevlogatnunk, hogy azok lehet v tegyk ezeket a clokat.
Vg Csaba / www.logos2000.hu
Hasznlati eset diagramok
alapvet fontossgak a kvetelmnyek elemzsben. rendszer hatrait
Rszletessge: Eredeti knyvben Jacobson egy 10 emberves munka esetn mindssze 20 hasznlati eset rgztst ajnlja Fowler s Scott hasonl helyzetben 100-nl tbb hasznlati eset megadst tartja clszer nek (egy hasznlati eset ~ egy eh munka)
Vg Csaba / www.logos2000.hu
Hasznlati eset diagramok
Rszletesebb hasznlati esetekkel a fejleszts jobban behatrolhat s kisebb kockzattal temezhet . Tl sok hasznlati esetet felvve azonban knnyen ttekinthetetlenn vlhat a diagramunk.
Vg Csaba / www.logos2000.hu
Vezet
tanfolyam archivlsa Archvum tanfolyam megszaktsa
Szervez
tanfolyam meghirdetse
tanfolyam lemondsa
tanfolyam trlse
tanfolyam vglegestse
rtests tanfolyamok megtekintse extend tanfolyamra jelentkezs extend extend mdosts felajnlsa jelentkezs elfogadsa
Jelentkez
Vg Csaba / www.logos2000.hu
Csomag (package)Funkcicsoportok a rendszer rszekre, modulokra vagy ms nven csomagokra bonthat.
A csomag (package) a rendszer pt elemeinek magasabb szint egysgekbe csoportostsnak az eszkze.
Vg Csaba / www.logos2000.hu
system
seminartanfolyamok kezelse rdekl ds archivls
utility
Vg Csaba / www.logos2000.hu
Rszletesebb brzols
csomag lnyegi tartalma szvegesen: felsorolva a fontosabb alkotelemeket (hasznlati esetek csoportostsa esetn ez nem szoksos), grafikusan: diagram, pl. fontosabb hasznlati esetek vagy bels csomagok
Vg Csaba / www.logos2000.hu
rdekl ds extend tanfolyamok megtekintse Jelentkez tanfolyamra jelentkezs extend extend mdosts felajnlsa jelentkezs elfogadsa
Vg Csaba / www.logos2000.hu
systemA legfels csomag kivtelvel a modell minden eleme pontosan egy csomaghoz tartozik a tartalmazsi hierarchia egy ft alkothat.
Az UML gy tekinti, hogy ltezik egy legfels , system sztereotpij csomag, amelyet ltalban nem neveznk el.Vg Csaba / www.logos2000.hu
sztereotpik
system (rendszer): a hierarchia tetejn ll legfels csomag, azaz a teljes alkalmazs subsystem (rszrendszer): az alkalmazson belli, rszben fggetlen csomag model (modell): az alkalmazs egsznek egy adott nz pontbl vett Vg Csaba /www.logos2000.hu
stub (csonk): ms csomag funkciit utnz helyettest csomag. pldul egy ppen fejleszts alatt ll msik sszetett csomag ideiglenes helyettestse vagy bizonyos hlzaton elrhet funkcik loklis (helyi) interfszeknt. facade (szemlltet nzet): ms csomagok kivlasztott rszeinek adott szempontbl vett nzete, melyet Vg Csaba / ltalban szemlltetsknt ksztnk el.
www.logos2000.hu
Fgg sgektanfolyamok kezelse rdekl ds
archivls
utility
Vg Csaba / www.logos2000.hu
fgg sg (dependency)
az egyik defincijnak megvltozsa a msik (a fgg ) elem megvltozst is eredmnyezheti. Gyakorlatban: fordtsi fgg sg {global}Vg Csaba / www.logos2000.hu
Nvterlet (namespace)a csomag hatrn bell az elemek kzvetlenl hivatkozhatnak egymsra egyedisg
elrsi tvonal :: access importVg Csaba / www.logos2000.hu
Csomag pontostsautility
rtests
e-mail rtests
fax rtests
{abstract}
Vg Csaba / www.logos2000.hu
Hasznlati eset rszletezse
Esemnyfolyam
A Szervez lemond jelentkezst: y A Szervez bejelentkezik y Megjelenik a meghirdetett tanfolyamok listja y Kivlasztva egy tanfolyamot megjelenik a jelentkez k listja y Lemondja a jelentkezst
Vg Csaba / www.logos2000.hu
Norml s kivtelesA Jelentkez el zetesen jelentkezik a tanfolyamra: y Megtekinti a meghirdetett tanfolyamokat Megtekintheti egy-egy tanfolyam rszletes tematikjt Jelentkezik egy tanfolyamra y Megadja az adatait Az rdekl d flbeszakthatja jelentkezst y Jelentkezik y A mr jelentkezettek ltszmtl fgg en a rendszer - elfogadja a jelentkezst - mdostst ajnl fel
Vg Csaba / www.logos2000.hu
include s extend
szvegen belli nll mondat rsztevkenysg: include (rsztevkenysg) kiterjesztsi pont: (kiterjesztsi pont)Vg Csaba / www.logos2000.hu
Felhasznli felletekTanfolyamainky UML-1 (5 nap) nov. 27, 28, 31, dec. 1,2 Unified Modeling Language szabvnyos objektumorientlt modellez nyelv Jelentkezstematika
(El felttel: rendszerfejlesztsi alapismeretek)
y
jan. 4,5,6 C++ programozsi nyelv(El felttel: A C nyelv ismerete)
C++-1
(3 nap)
Jelentkezstematika
y
Java-1 jan. 8,9 OO programozs Java nyelven a nyelv alapelemei(El felttel: Programozsi alapismeretek)
(2 nap)
Jelentkezstematika
Vg Csaba / www.logos2000.hu
Tanfolyamaink Mgse jelentkezs Jelentkezs [elfogadva] [mdosts] Elfogadva Elfogadom MgseVg Csaba / www.logos2000.hu
tanfolyamaink tematika Tematika
jelentkezs
Mdosts
Osztlydiagramok
Vg Csaba / www.logos2000.hu
Osztly
hasznlati eset diagramok: kvetelmnyek tisztzsa felhasznl tbbi dokumentum
osztlydiagramok: alkalmazs bels szerkezete fejleszt tbbi dokumentumVg Csaba / www.logos2000.hu
Objektum s osztly
Valsg rszlete: entits vagy egyed (entity) "krlrajzolhatsg: elvlaszthat a krnyezett l
objektumorientlt szhasznlat: entits: objektum (object), vagy pldny (instance)
azonos jellegzetessg pldnyok tpusa: osztly (class) azonos jellegzetessg , ms szval egy Vg Csaba / www.logos2000.hu tpusba tartoz objektumokat csoportostja,
osztlyozs (classification)
ltalnos keret, melyet az objektumok tltenek fel konkrt tartalommal. '90-es vek: objektum: objektum pldny, objektum Vg Csaba / osztlywww.logos2000.hu
Knyvtr Klcsnz Knyv Pldny
megvalsts: jellemz iket ler s trol Vg Csaba / adatcsomagokwww.logos2000.hu
nvrsz
boundary F kperny {author=Joe}
Vg Csaba / www.logos2000.hu
objektumok egyedisge
Megklnbztethet sg objektumazonost (OID: object identifier) egysges egyrtelm
Vg Csaba / www.logos2000.hu
honnan jnnek az osztlyok?
Rational Unified Process: alkalmazs szakterletvel kapcsolatos fogalmak sszegy jtse OMT: szvegb l keressk ki s hzzuk al a f neveket klvilggal trtn adatcsere protokollja (felhasznli felletek) alapjnVg Csaba / www.logos2000.hu
Tanfolyamainky UML-1 (5 nap) nov. 27, 28, 31, dec. 1,2 Unified Modeling Language szabvnyos objektumorientlt modellez nyelv(El felttel: rendszerfejlesztsi alapismeretek)
Jelentkezstematika
Vg Csaba / www.logos2000.hu
Tanfolyamainky UML-1 (5 nap) nov. 27, 28, 31, dec. 1,2 Unified Modeling Language szabvnyos objektumorientlt modellez nyelv(El felttel: rendszerfejlesztsi alapismeretek)
Jelentkezstematika
Vg Csaba / www.logos2000.hu
Tanfolyam tpus Tanfolyam Jelentkezs
Vg Csaba / www.logos2000.hu
Attribtumok
entits adott szempontbl vett tulajdonsga nvrsz alatt (vonallal elvlasztva) nv: tpus = kezdeti rtk attribtum-nv: elnevezi a szempontot, attribtum-rtke: milyen az adott szempontbl, Vg Csaba / www.logos2000.hu
Sztereotpia s megszorts UML: kisbet vel kezd d egyes szm Tanfolyam tpus f nv vagy f nvi szerkezet
rvidts: String nv: Text tematika: HtmlText r: Int tartama: Real minimlis ltszm: Int maximlis ltszm: Int
minta, rlap
Vg Csaba / www.logos2000.hu
M veletekid beli vltozs (OO: viselkeds (behavior)) sszetett vltozs: m veletekre (operation) trdelve m velet: olyan eljrs, amelyet az objektum vgre tud hajtani vagy olyan krds, amelyre az tud vlaszolni
m velet azonostsa: nevvel s a paramtereinek tpusval Vg Csaba /www.logos2000.hu
Alakzat hely: Location mret: Size kirajzols() mozgats(jHely: Location) nagyts(faktor: Real) forgats()
Vg Csaba / www.logos2000.hu
M veletnv(paramterek):tpus a m velet neve "tlterhelhet " visszatrsi rtk tpusa.
Paramterek:jelleg nv: tpus = alaprtelmezettrtk jelleg: in, out, inout paramter neve, a paramter ltal felvehet rtkek az alaprtelmezett rtk opcionlis.
Vg Csaba / www.logos2000.hu
vgrehajts rszlete: a m velethez kapcsolt megjegyzsen egy adott programozsi nyelv: kapcsoszrjelek
sztereotpia, megszorts OO: az adatok manipulcii nem a programban sztszrva helyezkednek el, hanem azokat kigy jthetjk, gy Vg Csaba / rvidebb, ttekinthet bb s knnyebbenwww.logos2000.hu
Lekrdezs s mdost
lekrdezs (query) : egy krds nincs kvlr l szlelhet vltozs
transzformci vagy mdost (modifier): mdostja az objektum megfigyelhet llapott.
Megfigyelhet llapot (observable state): az objektum kls kpeVg Csaba / www.logos2000.hu
(megvalstsi technika)
Szrmaztatott attribtum/osztlyms elemekb l szmthat (szrmaztathat) / Szrmaztatott attribtum: rtke ms modellelemekb l szmthat szrmaztatott osztly
Megads: megszortsknt az elem Vg Csaba / mgtt, az alakzat mellett, vagy egywww.logos2000.hu
ru mennyisg egysg egysgr /nett r {nett r = mennyisg*egysgr } adkulcs /ad {ad = nett r*adkulcs/100 } /bruttr {bruttr nettr = ad}
Vg Csaba / www.logos2000.hu
Fowler s Scott ajnlsa: elemzs kezdetn: elemek kztti viszony, pl. {brutt r-nett r = ad} specilis, fggvnyjelleg megszorts szrmaztatott attribtum / lekrdez m veletVg Csaba / www.logos2000.hu
Lthatsg
bezrsnak (encapsulation) az objektumot egy "fekete dobozba" zrjuk, elrejthetjk a megvalsts rszleteit, gy a rendszernk ttekinthet bb s knnyebben mdosthat lesz. UML: hrom szint + (public) publikus # (protected) vdett Vg Csaba / www.logos2000.hu - (private) sajt
Lekrdez s bellt m veleteklekrdez metdus (getting method) visszatrsi rtkknt egyszer en egy attribtum rtkt utalja vissza, bellt metdus (setting method) a paramternek rtkt az attribtumba tlti t.
az attribtumot elrejthetjk s a hasznlatt csak adott m veleteken keresztl engedlyezzk,Vg Csaba / www.logos2000.hu
Azonosthatsg: prefix get / is set
Vg Csaba / www.logos2000.hu
Jellegzetessgek (feature),
Attribtuma s m velete felel ssg (responsibility) osztly magasabb rend clja attribtum: adatszolgltats vagy adattrols m velet az osztly cljnak megvalstshoz szksges utastssorozat.Vg Csaba / www.logos2000.hu
Rszletezettsg szintjeiShape Shape +location: Location +Shape(l:Location) +contains(l:Location) +draw() Shape {abstract, author=Joe} +location: Location #size: Size #parent: Canvas +Shape(l:Location) +contains(l:Location) +draw() +scale(r: Real)
Vg Csaba / www.logos2000.hu
Kzs sztereotpia s megszortsLocation +x :Int +y :Int constructor +Location(l:Location) +Location(x_:Int, y_:Int) query +equals(l:Location) +isInside(r:Rectangle) update +shift(l:Location)Vg Csaba / www.logos2000.hu
Rszek (compartment)attributes (attribtumok) / operations (m veletek) (hasznlati esetek: extension points)
Osztlyok: responsibilities (felel ssgek) exceptions (kivtelek) kivtelknt hasznlt osztlyok: exception signals (jelzsek): olyan zenetek, amelyeket az osztly a norml m kdse Vg Csaba / www.logos2000.hu kzben is tud fogadni.
Vg Csaba / www.logos2000.hu
Knyvklcsnzs operations +isHosszabbthat() :Bool +hosszabbts() responsibilities El jegyzett knyv klcsnzse nem hosszabbthat meg Klcsnzs legfeljebb ngyszer hosszabbthat A lejratot naponta ellen rizni kell Ksedelem esetn fizetni kell exceptions Tl sok knyvet klcsnz Tl sokszor akar hosszabbtani
Vltozatlansg
{changeable} ("vltoztathat") megszorts {frozen} ("befagyasztott") (C++ const, bizonyos esetekben final) "csak olvashat" (read only) tulajdonsgVg Csaba / www.logos2000.hu
Jellegzetessgek elrse
osztly attribtumra vagy m veletre hivatkozsa :: pl. Mailer::send(). objektum attribtumrtke vagy m velete . pl. t.id pont, vagy t.vglegests()Vg Csaba / www.logos2000.hu
Felel ssgek
A hagyomnyos strukturlt megkzeltssel ellenttben az OO legnagyobb kihvsa, hogy az alkalmazs egyttes m kdst szt tudjuk osztani az objektumok kztt. Megfelel tervezs esetn a m kds teljes "terhe" kiegyenslyozottan oszlik meg az egyttm kd objektumok kztt. Attribtum:Vg Csaba / www.logos2000.hu
Attribtum tpusa Num: szmrtk Nat: termszetes szm (0 vagy pozitv egsz) Int: egsz szm Real: vals szm Bool: logikai rtk Char: egyetlen karakter Code: kd-jelleg szveg, pldul egy szmsor String: rvid (egysoros) szveg VgText: Csaba / www.logos2000.hu hosszabb (tbbsoros) szveg.
Entitsok s rtkekobjektumok alapvet tulajdonsga az egyedisgk. rtkek: entitsra vonatkoz, de attl mr elszaktott adat rtk szabadon msolhat
osztlyok az sszetett rtktpusok brzolsra is alkalmasak entits-objektum / rtk-objektum
Vg Csaba / www.logos2000.hu
typeelemi s az sszetett rtkek tpusa: type enumeration enumeration HtNapja
htf = 1 kedd szerda cstrtk pntek szombat vasrnapVg Csaba / www.logos2000.hu
type Byte {values range from 128 to 127}
CRC-krtyk CRC(Class-Responsibility-Collaboration) Smalltalk programozs (Cunningham/Beck '80-as vek vgn) Jelentkezs
kapcsolattarts adatai jelentkez k szma r rtests a tanfolyamrl jelentkezs lemondsaVg Csaba / www.logos2000.hu
Tanfolyam Tanfolyam
Kommunikcis tvonalakfelel ssgek megosztsa: elrs kapcsolat (link)
strukturlis kapcsolat nem attribtum megvalsts (OID)
Vg Csaba / www.logos2000.hu
Asszocici s kapcsolat
Kapcsolat (link): konkrt objektumok kztt az elrs lehet sge (matematikailag: elem n-es) Strukturlis kapcsolat: az elrst maga az objektum szolgltatja temporlis kapcsolat ezzel szemben csak az objektum m kdsnek bizonyos pontjain "l".
Asszocici (association) az osztlyok objektumai kztti lehetsges strukturlis kapcsolat Vg Csaba /www.logos2000.hu
binris asszociciAlkalmazs Cg Szemly
AsszociciAlkalmazs CompSoft Nagy Istvn
Kapcsolat
Vg Csaba / www.logos2000.hu
magasabbrend asszocicira Trgy Tanterem
Tanr
Vg Csaba / www.logos2000.hu
Szerepek, szmossg
a..b 1..10 1,7 vagy 0,5,10..20
*
1..* 0..* Tanfolyam tpus 1
* Tanfolyam1
* Jelentkezs
Vg Csaba / www.logos2000.hu
Szmossg
1 (pontosan egy), * (tetsz leges, azaz nulla vagy tbb), 0..1 (opcionlis, azaz nulla vagy egy) n (pontosan egy adott szmrtk) 0..n (legfeljebb egy adott szmrtk)
A nem megadott szmossgot az UML Vg Csaba / "specifiklatlannak",www.logos2000.hu
AttribtumszmossgaTanfolyam id pont[1..*]: Date
opcionlis attribtum
Vg Csaba / www.logos2000.hu
osztly szmossga
1 control Tanfolyamok kezelse
tetsz leges (*) 1: pl.csomagokat reprezentl osztlyok esetn. Vg Csaba / 0: osztlynak csak gy jt szerepe van,
www.logos2000.hu
Mdosts lehet sge, sorrend
Asszocicinl/szerepnl {changeable} {frozen} {addOnly}
{ordered} Fowler s Scott: {sorted}
Vg Csaba / www.logos2000.hu
Elnevezsek
Cg
alkalmaz
* Alkalmazott *beosztott
vezet reflexv
lthatsgVg Csaba / www.logos2000.hu
Elnevezs s a navigciProject vezet 1
Irnyt*Project 1 Felbontva Kidolgoz 1 Alvllalkoz
Rszfeladat * *
Vg Csaba / www.logos2000.hu
Kollekci s felsorols
Kollekci: azonos osztlyhoz tartoz objektumok egy csoportja kapcsolat tbb szmossg szerepnl elhelyezked objektumok trol osztly (container class)
set {ordered}
Felsorols (enumeration) vagy itertor (iterator) Vg Csaba /www.logos2000.hu
Szrmaztatott asszocicik
Project vezet 1
1
Irnyt*Project 1
/Felel s Kidolgoz*Alvllalkoz 1
Felbontva
Rszfeladat * *
Vg Csaba / www.logos2000.hu
Rszhalmaz asszocicik
Kidolgoz Rszfeladat * {subset} 1 Alvllalkoz Jelentkezik *
*
Vg Csaba / www.logos2000.hu
asszocicik
Az asszocicik a modellezs klnbz szintjein klnbz mdon rtelmezhet k. Koncepcionlis szint: fogalmak kztti koncepcionlis viszonyok Tervezs: elrs felel ssge Megvalsts: elrs megvalstsa
Megvalsts (OID)Vg Csaba / www.logos2000.hu
Min stett asszocici
Knyvtr ISBN: Code
*
0..1
Knyv
Vg Csaba / www.logos2000.hu
Kzpont id : Date 1 hely: Code
0..1
Forgalmi adatok
min st / OIDVg Csaba / www.logos2000.hu
"Vagy" asszocici
Cg Vsrls
{or}Magnszemly
Vg Csaba / www.logos2000.hu
Asszocicis osztlyKnyvtr
*
*
Tag
0..1
0..10
Pldny
Klcsnzs visszahozs: Date hosszabbts()
Vg Csaba / www.logos2000.hu
Asszocicis osztly megvalstsaTag 1 0..10 Klcsnzs 0..1 1 Pldny
Vg Csaba / www.logos2000.hu
Aggregci s kompozci
Specilis asszocici: egsz-rsz viszony Coad: pl. szervezet s hivatalnokai kztti viszony
dominancia ternris s magasabbrend asszocicinl nem adhat meg. Vg Csaba /
www.logos2000.hu
Project 1
Felbontva
* Rszfeladat
Vg Csaba / www.logos2000.hu
jellemz k"egsz-rsz" viszony, a rsz logikailag az "egszen" bell helyezkedik el, illetve sok m veletben az egsz a rszeivel egytt vesz rszt. antiszimmetrikus viszony. Pl. szoba rsze lehet egy hznak tranzitv, a hz szobjnak ajtaja egyben a hz ajtaja m veletek tovbbtsa, deleglsa (delegation).
Vg Csaba / www.logos2000.hu
cascading deleteA legtbb aggregcira a trls tovbbtsa is jellemz UML: aggregci - az egsz-rsz viszony jelzse, mindenfle kiegszt szemantika nlkl.
Kompozci: "egsz" lnyegi alkotelemei a rsz csak egyetlen "egsz" objektumhoz tartozhat Vg Csaba / www.logos2000.hu a rsz az egsszel "egytt l s hal", azaz a
Kompozcihttr 1 Minta 1 1 vzszintes Csszka fgg leges
1 Vszon 1 1 1 Alakzat
*
Vg Csaba / www.logos2000.hu
begyazott jells
Szerkeszt lap 1 httr :Minta 1 :Vszon :Alakzat*Vg Csaba / www.logos2000.hu
1 fgg leges :Csszka 1 vzszintes :Csszka
Vszon httr: Minta fgg leges: Csszka vzszintes: Csszka alakzat: Alakzat[*]Vg Csaba / www.logos2000.hu
Attribtum s asszociciSzmla kelt: Date
?
Szmla *
kelt 1 Date
min st -jelleg ek nmaguk neveVg Csaba / www.logos2000.hu
Fgg sgekEgy osztly anlkl is felhasznlhat egy msik osztlyt, hogy azt egy asszocicin keresztl elrn. UML: egy modellelemt l fgg egy msik modellelem, ha a defincijnak megvltozsa a msik (a fgg ) elem megvltozst is eredmnyezheti.
fordtsi fgg sg
Pldul:Vg Csaba / www.logos2000.hu
zenetet kld a msiknak,
Jelentkezs utility.rtests
Vg Csaba / www.logos2000.hu
use (hasznlat) derive (szrmaztats) friend ("bart" kapcsolat) call ("hvs") instantiate ("pldnyosts") instanceOf ("pldny") powertype (hatvnytpus: a "tpustpusa") refine ("finomts") Vg Csaba / trace ("nyomkvets")
www.logos2000.hu
ltalnosts s pontosts
Az ltalnosts (generalization) vagy ms nven rkls (inheritance) egy viszony az s- vagy szuperosztly (ancestor, superclass) s annak egy vagy tbb pontostott vltozata, a Mdia leszrmazottak (descendent) vagy alosztlyok (subclasses) kztt.
Knyv
Vg Csaba / www.logos2000.hu
Hang kazetta
Vide kazetta
CD lemez
Mdia
Knyv
Hang kazetta
Video kazetta
CD lemez
{incomplete}Vg Csaba / www.logos2000.hu
ltalnosts-pontosts viszony koncepcionlis szinten az ltalnos jelleg s annak specilis vltozata kztti kapcsolat Technikai szempont: az sosztly jellegzetessgeivel (attribtumaival, m veletei-vel, asszociciival s fgg sgeivel) annak minden alosztlya is rendelkezik. A megvalsts oldalrl az ltalnosts a jellegzetessgek tvtelnek informatikai megoldst jelenti, amelyet ltalban Vg Csaba / www.logos2000.hu rklssel (inheritance), vagy esetenknt
sosztly: jelleget helyettesthet sg (substitutability) alosztly sszhangban van (conform) az sosztlyval: az sosztly minden jellegzetessgvel is rendelkezik. kiemels, az absztrakci lehet sgeVg Csaba / www.logos2000.hu
Tbbszrs osztlyozs
egyestett osztly (join class)Szrazfldi jrm Vzi jrm
Ktlt jrm
tbbszrs osztlyozs (multiple Vg Csaba / classification)www.logos2000.hu
{overlapping} Szrazfldi jrm sebessg
Jrm szllthat utasok
Vzi jrm sebessg
Aut
Ktlt jrm
Vg Csaba / www.logos2000.hu
megklnbztet (discriminator)Frfi nem N beoszts Orvos beoszts Asszisztens Szemly {incomplete} beoszts N vr
Vg Csaba / www.logos2000.hu
Dinamikus vltozatStatikus osztlyozs (static classification): objektumnak a teljes lettartama alatt nem vltozik meg a tpusa. Dinamikus osztlyozs (dynamic classification): az objektum altpusa megvltozhat. Fowler s Scott: dynamic
Vg Csaba / www.logos2000.hu
Frfi nem N beoszts Orvos beoszts Asszisztens Szemly dynamic {incomplete} beoszts N vr
Vg Csaba / www.logos2000.hu
tbbszrs vltozattpus, mely rtkeihez tbb konkrt objektum is tartozik. pl.:Tanfolyam tpus s Tanfolyam nem modellezhet hagyomnyos pontostsknt: az alosztlyok az sosztlynak nem csak a jellegzetessgein, hanem annak rtkein is osztoznak.
Asszociciknt modellezsVg Csaba / www.logos2000.hu
Kiterjeszts s korltozsKiterjesztsMdia cm
Korltozs (explicit md)Szemly
Korltozs (implicit md)Ellipszis r R{ r = R }
nemKnyv szerz * ISBN Frfi N
Kr
Vg Csaba / www.logos2000.hu
M veletek tdefinilsa Az alosztly kiegszt jellegzetessgei miatt a m veletet is kiterjeszthetjk, a m kdshez bizonyos tbbletet adhatunk. Az ltalnosabb sosztlyban a m veletnek csak egy alaprtelmezett vltozatt adjuk meg, melyet az alosztlyban konkretizlhatunk. Korltozs esetn meg akarjuk tiltani a m velet bizonyos vltozatait. A pontostott alosztlyban az objektumrl tbb informci ll rendelkezsre, gy az Vg Csaba / www.logos2000.hu alosztly bizonyos m veleteket
A m veletek felldefinilst (overriding) az objektumorientlt nyelv megfelel mechanizmusa, a kts (binding) teszi lehet v, amely minden objektum esetn megadja az adott m velethez tartoz megfelel m kdst, a metdust. Az alosztly felldefinilhatja az s bizonyos m veleteit, ugyanakkor az alosztly objektuma az sosztly objektumaknt is szerepelhet Vg Csaba / polimorfizmus, tbbalaksg
www.logos2000.hu
Osztlyhierarchia
osztly nem lehet nmagnak az sosztlya egyszeres osztlyozs: "fa esetenknt a fa "gykere" csak egyetlen osztly lehet.
Tbbszrs osztlyozs: dag
{root} {leaf}
osztly Vg Csaba / www.logos2000.hu m velet
Absztrakt osztlyokabsztrakt osztly: ltalnos keret konkrt osztly (concrete class) Alakzat
{incomplete}
Tglalap
Ellipszis
Csomag
Ikon
Vg Csaba / www.logos2000.hu
Absztrakt m veletAlakzat bounds: Bounds paint() {incomplete}
Tglalap paint()
Ellipszis paint()
Csomag paint()
Ikon
Rajz paint()Vg Csaba / www.logos2000.hu
Kp paint()
interfaceattribtumokkal nem rendelkezhet (legfeljebb konstansokkal), mindssze bizonyos m veletek ltezst jelenti ki az alosztlyokkal szemben tmasztott kvetelmnyekknt, azok elrsnek lehet sgeknt jelenik meg.
interface Movable getLocation():Location setLocation(location :Location)Vg Csaba / www.logos2000.hu
interface Paintable paint()
Comparable
realizciinterface Movable getLocation():Location setLocation(location :Location)
PaintableAlakzat
Vg Csaba / www.logos2000.hu
interfsz hasznlataAlakzat Paintable Movable controller Move
interface MovableVg Csaba / www.logos2000.hu
interfsz szerepnlRaktr Raktri szm: Code :Trol 1 tartalmazott :Raktri ttel * Knyv pldnyVg Csaba / www.logos2000.hu
type
olyan szerepet, amelyet az osztly felvehet, illetve amelyr l ks bb lemondhat ellentte implementationClass
Egy osztly legfeljebb egy implementcis osztly, de tetsz leges sok szerep-jelleg osztly szrmaztatsa lehet. A type osztlybl a szrmaztatst realizcival jelljk, amely ebben az Vg Csaba / esetben azt jelenti, hogy az alosztly
www.logos2000.hu
type Biztostott type Adz
implementationClass Szemly
Alkalmazott
Vg Csaba / www.logos2000.hu
Generikus osztlyStack /empty(): Bool Push(x: X) pop(): X every(): Every X AddOnlyArray data[0..size]: X numberOfElements: Int add(x: X) elementAt(i :Int): X every(): Every size :Int, X
Stack bind (16, Color) PaletteVg Csaba / www.logos2000.hu
Klnleges m veletekrtkek msolsa s ellen rzse Konstrukci s destrukci osztlynak tetsz leges szm, klnbz paramter konstruktora lehet, de legfeljebb egy destruktora.
alaprtelmezett konstruktor msol konstruktor
Konverzi rtkjelleg konverzi osztlyba s osztlybl trtn konverzi.Vg Csaba / www.logos2000.hu
tpuskonverzi
Osztlyattribtumok
Osztlyattribtum (class attribute) osztly minden objektumra rvnyes rtket trolhatunk. hasonlak a hagyomnyos programozsi nyelvek globlis vltozihoz, de az osztly el is rejtheti ezeket az attribtumokat vdettknt (protected) vagy sajtknt (private) megjellve.
Egy osztlyattribtum alkalmas pldul az osztly objektumainak szmontartsra vagy egyszer en a Vg Csaba /www.logos2000.hu
Osztlym velet
az osztlyra vonatkoz m velet, kizrlag az osztlyattribtumokat, illetve a tbbi osztlym veletet ri el, csak kzvetve hivatkozhat a tbbi, un. pldnyattribtumra s pldnym veletre. hasonlak a hagyomnyos (globlis) eljrsokhoz s fggvnyekhez, de az osztly a lthatsg korltozsval a klvilg el l el is rejtheti ezeket a m veleteket.
Vg Csaba / www.logos2000.hu
Szmla utols sorszm j szmla()
hibalehet sg
Racionlis szmll :Int nevez :Int nulla :Racionlis lnko(a:Int, b:Int) :Int
Vg Csaba / www.logos2000.hu
utility
utility Math pi: Real e: Real sin(x: Real) :Real cos(x: Real) :Real
Vg Csaba / www.logos2000.hu
Metaosztly s sztereotpiametaclass, instanceOf stereotype
stereotype instance
stereotype utilityVg Csaba / www.logos2000.hu
stereotype application
Invarinsok, el - s utfelttelek
megszort szably: kapcsoszrjelek kztt adhatjuk meg, mely lehet kplet, egy programozsi nyelv kifejezse vagy egyszer szveg. Az osztlyokat, illetve azok attribtumait s m veleteit egy magasabb absztrakcis szinten jellemezhetjk hrom specilis megszorts, az invarinsok, az el - s az utfelttelek Vg Csaba / segtsgvel. A technikt (design bywww.logos2000.hu
invarinsok strukturlis elemek (osztlyok, attribtumok, asszocicik, stb.) esetn adhatk meg a szablynak minden konkrt esetben (pldul egy osztly minden objektuma esetn) teljeslni kell, ha az elem elrhet
el - s utfeltteleket (pre- and postcondition) m veletek esetn adhatjuk meg a m velet krnyezetre vonatkoz szably Vg Csaba / www.logos2000.hu m velet annyira egyszer esetenknt a
Pontosts: az invarinsokat s az utfeltteleket legfeljebb tovbb korltozhatjuk ("er sthetjk"), mg az el feltteleket legfeljebb gyengthetjk. UML: kln invariant, precondition vagy postcondition sztereotpij megjegyzslapon adjuk meg
hibakeress (debug) keretrendszer ksztse: clszer az Vg Csaba /
www.logos2000.hu
M veletek vgrehajtsi mdja{sequential} ("szekvencilis"): egyszer szekvencilis vgrehajts; a hasznlknak kell biztostaniuk, hogy egy objektumnak azonos id ben (konkurensen) nem hvjuk meg tbb m velett. {guarded} (" rztt", "felgyelt"): a m velet feldolgozst valamely mechanizmus szablyozza, mely pldul egy vrakozsi sorba lltja a krseket. Vg Csaba / {concurrent} ("konkurens"):
www.logos2000.hu
signal m velet: az osztly elfogadja az adott szignlt (tvtele {guarded} mechanizmussal is trtnhet) M veletek: atomi, azaz flbeszakthatatlan m veletek az akcik (action) tevkenysgek (activity) vgrehajtsa hosszabb id t, egy meghatrozott id tartamot vesz ignybe.Vg Csaba / www.logos2000.hu
Objektumok
Cg :Cg
Szemly instanceOf CompSoft :Cg Kovcs Jnos
Vg Csaba / www.logos2000.hu
Point x: Int y: Int
instanceOf p x=3 y=4
:Point x :Int =3 y :Int =4
Vg Csaba / www.logos2000.hu
:Poligon location = (0,0) size = (4,4) vertices = ((0,0),(0,4),(4,4),(4,0),(0,0))
Vg Csaba / www.logos2000.hu
:Tanfolyam [meghirdetett] :Tanfolyam [vglegestett] :Tanfolyam [archivlt]
Vg Csaba / www.logos2000.hu
become: objektum id beli vltozsa copy: msolat
:Tanfolyam [meghirdetett] become :Tanfolyam [vglegestett] become :Tanfolyam [archivlt]
Vg Csaba / www.logos2000.hu
Objektumok s kapcsolatokUML1 :Tanfolyam tpus
:Tanfolyam [meghirdetett] CompSoft :Jelentkezs :Jelentkezs Kovcs Jnos :Jelentkezs
Vg Csaba / www.logos2000.hu
association ("asszocici") self ("nmaga") global ("globlis") local ("loklis" vltoz) parameter ("paramter")
Vg Csaba / www.logos2000.hu
lettartam szablyozsa: {new} ("j"): az objektum a m velet sorn jn ltre. {destroyed} ("trlt"): a m velet sorn megsz nik az objektum. {transient} ("tranziens"): az objektum csak a m velet (az brzolt helyzet) alatt ltezik, gy ez a {new destroyed} rvidtse.
Vg Csaba / www.logos2000.hu
multiobjektum:Tanfolyam [meghirdetett] :Alvllalkoz :Jelentkezs
Vg Csaba / www.logos2000.hu
Kompozit objektum:Szerkeszt lap fgg leges :Csszka :Vszon :Alakzat :Alakzat httr :Minta
vzszintes :CsszkaVg Csaba / www.logos2000.hu
Aktv objektum
:Server [working]
Schedule
:Alvllalko :Job z
{active}
Vg Csaba / www.logos2000.hu
Osztlydiagramok hasznlataalapvet szerep ek, tbbi diagram elemek
a csompontokban az osztlyok attribtumaik m veleteik
az elemek kztti viszonyokat lekkel brzoljukasszocicik, ltalnosts/pontosts viszonyok, fgg sgek megszortsok (szvegesen megfogalmazott Vg Csaba / www.logos2000.hu viszonyok).
Az osztlydiagram a fejleszts klnbz fzisaiban msknt hasznlhat: elemzs: a szakterlet fogalmait s a kzttk lv viszonyokat brzolhatjuk. tervezs: meghatrozzuk a szakterleti modell megvalstsnak mdjt s az azt m kdtet infrastruktrt. A szakterleti modellt kiegsztjk a megvalstshoz szksges technolgiai appartussal. Megvalsts: az implementci bizonyos rszleteit szemlltethetjk. Ekkor az Vg Csaba / www.logos2000.hu osztlydiagramokat a forrskd
Interakci-diagramok
Vg Csaba / www.logos2000.hu
InterakciInterakci-diagramok
interakci-diagramok: objektumok adott krlmnyek kztt, pldul egy sszetett feladat megvalstsakor hogyan m kdnek egytt.
Egy interakci-diagram ltalban egy hasznlati eset rszleteit hatrozza meg. plda-objektumok (example object). Vg Csaba /
www.logos2000.hu
SzekvenciaSzekvencia-diagramok
id belisg
:Tanfolyam :Szervez vglegest()
:Jelentkezs *vglegest()
Vg Csaba / www.logos2000.hu
Egyttm kdsi diagramok1: vglegests() :Tanfolyam :Szervez 2: *vglegests() :Jelentkezs
Vg Csaba / www.logos2000.hu
Pldaobjektum2: setKidolgoz(v) :Projektvezet r {parameter} :Rszfeladat {r.Jelentkez } 1: v:=vlaszt(nv: String)
Jelentkez kivlasztsaJelentkez :Alvllalkoz
3: rtests(r)Vg Csaba / www.logos2000.hu
v {local}
* :Alvllalkoz
zenetklds
Egy zenetkldst a kvetkez alapelemekkel adhatunk meg: vezrl informcik. visszatrsi rtk vagy rtkek v1,v2:= formban, amely elnevezsekkel a ks bbiekben az zenet eredmnyeire hivatkozhatunk. az zenet elnevezse (ezt minden zenet esetn clszer megadni), az zenet argumentumai (ms nven paramterei) zrjelek kztt.
Vg Csaba / www.logos2000.hu
vezrlsa felttel (condition): az zenet kldsnek felttele. Jele az zenet neve el, szgletes-zrjelek kz rt logikai kife-jezs, pl.: [x>y]. Alternatv legazs esetn vagy a felttel ellenttt fogalmazzuk meg, vagy az else kulcsszt alkalmazzuk. itercis jelz (iteration marker): az zenetet fogad objektumnak az zenet tbbszr is elkldsre kerl. Az Vg Csaba / itercira ltalban a * (a tbb
www.logos2000.hu
nylhegy
"hagyomnyos" nylhegy: a vezrls egyszer , nem fggvnyhvs-jelleg terjedst jelli. teljes-nylhegy: szinkron zenetvltst jell. fl-nylhegy: aszinkron zenetkldsVg Csaba / www.logos2000.hu
SzekvenciaSzekvencia-diagram:Projektvezet
letvonal
r:Rszfeladat
Jelentkez : Alvllalkoz*
v:Alvllalkoz
v:=vlaszt(nv)
setKidolgoz(v) rtests
Vg Csaba / www.logos2000.hu
vezrlsfkuszAktv, m kd llapot: az objektum rendelkezik a vezrlssel, gy pldul zenetet kldhet egy msik objektumnak. Vrakoz llapot: az objektum valamely m veletnek vgrehajtsa kzben egy elkldtt zenetnek a feldolgozsra vr. Ezrt ebben a pillanatban nem rendelkezik a vezrlssel, de a m velet sorn felvett loklis vltozi mg Vg Csaba / lteznek.
www.logos2000.hu
Konkurens folyamatok:Ignyl id pontfoglals kapcsolds krem vrjon id pontkrs rendben id pont lefoglalva :Kliens :temez
a telefonos b kapcsolat {b-b