Alkalmazásfejesztés-UML-RUP

Alkalmazásfejesztés-UML-RUP

UML A szabvnyos OO modellez nyelv Vg Csaba / www.logos2000.hu Modellezs Vg Csaba / www.logos2000.hu Modellezs Programozs eltti elzetes terv Rendszerszervezs elemzs tervezs implementci

Feladat Elemzs Tervezs Programozs Gpi szint egzaktsg Vg Csaba / www.logos2000.hu Modellezs klnbz rszletezettsgi szint vzlatos tervek elnyk ttekinthetbbek ellenrizhet

megrendelkkel egyeztetsre fejleszts menete jobban nyomon kvethet (erforrsigny, bekerls kltsge). knnyebben mdosthatk Vg Csaba / www.logos2000.hu Knnyebb mdosts Cg Alkalmazs 1 Cg * Szemly

Alkalmazs * Vg Csaba / www.logos2000.hu * Megfelel jellsrendszer esetn egyetlen jel megvltoztatsval lehetv tehetjk, hogy egy Szemlyt ne csak egy, hanem tbb Cg is alkalmazhasson. Szemly Vizulis jellsek Projektvezet Vezet

* 1 Projekt 1 * Rszfeladat Kidolgoz Alvllalkoz * 1 trkp, 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 : boolean Vg Csaba / www.logos2000.hu N lenykori nv : String Rszekre bonts s :Szerkesztlap fggleges :Csszka :Vszon :Alakzat :Alakzat httr :Minta vzszintes :Csszka Vg Csaba / www.logos2000.hu

Absztrakci Absztrakci kiemels lehetsge (konzisztencia!) megoszts (sharing), jrafelhasznls (reuse) Adatbzisablak Sajt adatbzisablak Vg Csaba / www.logos2000.hu Strukturlt szemllet 1.1. rszfeladat 1. rszfeladat 1.2. rszfeladat

2. rszfeladat Feladat 3. rszfeladat id Vg Csaba / www.logos2000.hu Szemlletek Gpkzeli szemllet adatelemek Strukturlt

szemllet adatszerkezet Objektumorientlt szemllet objektumstruktra elemi utastsok szerkezet utastsszerkezet Az OO megkzelts a feladatot egyetlen egysges mdon bontja fel. Vg Csaba / www.logos2000.hu Modell transzformcija

G o n d o l a t i m o d e l l M o d

e l l e z P r o g r a m o z s i

n y e l v n y e l v Vg Csaba / www.logos2000.hu G p i n

y e l v Megkzeltsi szintek A szemllet szintje Elemzs Tervezs Programozs nzet 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 rklds, mvelet-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-bl 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-ellenrzs), amelyek megknnytenk a biztonsgos programok fejlesztst. viszonylag kevs a szabvnyos kiegsztse (sszetett adatok, felhasznli felletek kezelse). Egy C++ projekt sikere nagy tapasztalatot s komoly elkszleteket ignyel. Vg Csaba / www.logos2000.hu Java

egyszerstett C++ ltalnossg (pl. metdusok virtulisak, objektumrl megllapthatjuk, hogy egy adott osztly pldnya-e, stb.) eltrbe 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 franca Vg Csaba / www.logos2000.hu Java - hinyossgok kvetkezetlensgek 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

erforrsignye. Vg Csaba / www.logos2000.hu Mdszertanok Szoftver-krzis OO mdszertanok tervezs (OO design) elemzs (OO analysis) a kifejlesztend alkalmazst mr nyelvtl 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: felelssgeken 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) egyszeren s rtheten definiltak legnpszerbb jellsek alapjn konzisztens jellsrendszert lltottak ssze mdszerk egyszeren, szinte gpiesen vgrehajthat lpsekbl 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 eset a 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 npszerek, nll jellsek s mdszerek (10-50) nehz volt vlasztani azonos koncepcikat hasznltak Jelentsebb 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.3 Vg Csaba / www.logos2000.hu UML forrsok Booch, 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 legnpszerbb objektumorientlt mdszertannak (a hrom jellsrendszer kvetkez genercijnak is tekinthet) az OMG ltal elfogadott, szabvnyos jellsrendszer. alapveten 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 fejleszti 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 lehetv, 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 lehetv teszi a prhuzamos fejlesztst, az jrafelhasznlhatsgot s egyszersti a ksbbi karbantartst. Vg Csaba / www.logos2000.hu iteratv s inkrementlis eljrs nem "vzessszer" ignyeket tbb rszre bontjuk s elszr csak a leglnyegesebb elemeket valstjuk meg egyre tbb ismeret gylik ssze az alkalmazssal szemben tmasztott tnyleges kvetelmnyekrl

minden iterci mkd s tesztelhet szoftver inkrementlis: elemek integrcija folyamatos (se a Booch mdszer) Vg Csaba / www.logos2000.hu a fejleszts folyamata ellenrztt a felhasznlk ltal ignyelt alkalmazst fejlesztjk a fejleszts kockzatai s erforrsignye is becslhet a fejleszts folyamata is tervezhet minsgbiztosts - 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 Csatols

Server Internetes s modemes kapcsolat is lehetsges! Client Vg Csaba / www.logos2000.hu Csak megjelent funkcija van. Tams! Gondold t a kliens kommunikcijt a szerverrel! Kls dokumentum s URL

requirements lsd: Jelentkezs.doc Vg Csaba / www.logos2000.hu A dokumentci itt tallhat. Szvegen belli megjegyzs Jelentkezs -- jelentkezk szma -- jelentkezk rtestse

-- jelentkezs lemondhat Vg Csaba / www.logos2000.hu Elnevezsek Rvidtett elnevezsek Fogalomsztr v. szjegyzk (glossary) elnevezsek rvid lersa Vg Csaba / www.logos2000.hu Seminar

tanfolyamszervezs A Seminar alkalmazs megknnyti a tanfolyamok szervezst. Segtsgvel Web-en meghirdetheti tanfolyamait, melyekre az rdekldk egy rlap kitltsvel elzetesen jelentkezhetnek. A tanfolyamok meghirdetst az oktatsi igazgat (v. helyettese) irnytja, az adminisztratv teendket pedig a tanfolyam-szervezk ltjk el. A meghirdetett tanfolyamot a megtartsa eltt 3-5 munkanappal a szervez vglegestheti vagy elegend jelentkez hinyban, esetleg egyb klnleges ok miatt lemondhatja; mindkt esetben a

jelentkezket e-mail-ben rtesteni kell. A jelentkezsek szintn lemondhatk. A megtartott/lemondott tanfolyamok adatait egy archvum gyjti. Vg Csaba / www.logos2000.hu 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 jellemzkkel 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

Sztereotpia francia-idzjelek ( s ) kztt az elem neve eltt, vagy fltt adhatjuk meg (pldul control). control Minden Kapcsolat Kapcsolat sztereotpihoz kis kp ("ikon") boundary is rendelhet. Bejelentkez Bejelentkez ablak ablak

Vg Csaba / www.logos2000.hu Tanfolyam entity Tanfolyam megadhat szvegesen a nv eltt vagy fltt, grafikusan az elem elnevezse mellett mindkt mdon Tanfolyam entity Tanfolyam vzlatos

Tanfolyam entity Tanfolyam Tanfolyam brzols: a sztereotpia ikonja s alatta az elem elnevezse Vg Csaba / www.logos2000.hu Szemlletets * * Knyvtr *

Olvas 0..1 * 1 * * Knyv Vg 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 Vg Csaba / www.logos2000.hu vezet * {vezet.fizets > beosztott.fizets } Megszorts s kulcsszavas rtk elemek 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 jellemzi, 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 Szervez Vg Csaba / www.logos2000.hu

Archvum 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 szervezi munkt ltja el s figyelemmel ksri a jelentkezseket. Vg Csaba / www.logos2000.hu

Aktor actor sztereotpij osztly, ikonja: "plcikaember az aktor elnevezse egy tglalapba is rhat V e z e t S

z e r v e z J e l e n t k e z Vg Csaba / www.logos2000.hu

A r c h v u m Aktor egy szerep, tbb konkrt szerepl is eljtszhat, pldul vezeti 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 (kvlrl 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 lehetsgeknt rtelmezzk. Vg Csaba / www.logos2000.hu tanfolyam meghirdetse Vezet Vg Csaba / www.logos2000.hu tanfolyam trlse Alkalmazs hasznlati esetei

tanfolyamok megtekintse Seminar tanfolyamra jelentkezs Jelentkez tanfolyam vglegestse Szervez tanfolyamra kevs a jelentkez Vezet

tanfolyam meghirdetse tanfolyam trlse Vg 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 eset Aktor 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 kzremkdje, gy

beavatkozhat annak menetbe. Vg Csaba / www.logos2000.hu tanfolyamok megtekintse tanfolyamra jelentkezs Jelentkez tanfolyam vglegestse Szervez tanfolyam lemondsa Vezet

tanfolyam meghirdetse tanfolyam trlse Vg 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 jelentkez Vg 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 Vezet Vg Csaba / www.logos2000.hu Vltozatok (extends) tanfolyamok megtekintse tanfolyamra jelentkezs Szervez extend Web jelentkez

Vg Csaba / www.logos2000.hu jelentkezs elfogadsa extend mdosts felajnlsa A vltozatok az alapeset mkdshez bizonyos tbbletet adnak. alapeseten bell opcionlisak (csak bizonyos felttelek esetn hajtdnak vgre). tanfolyamok megtekintse Jelentkez

extend tanfolyamra jelentkezs extend mdosts felajnlsa Vg Csaba / www.logos2000.hu extend Szervez jelentkezs elfogadsa Kiterjesztsi pont

Kiterjeszts:az alap hasznlati eset a mkdsnek bizonyos pontjain "jelenti" a fennll helyzetet, melyet figyelve a vltozatok kzbeszrhatjk a helyzetnek megfelel tevkenysgket. pl. a tanfolyamok megtekintse egyszer csak jelentkezsbe "fajul el" tanfolyamok megtekintse extension points jelentkezs Vg Csaba / www.logos2000.hu extend (jelentkezs) tanfolyamra

jelentkezs Rszfunkci (include) lnyeges rszfunkci (pl. a megszokottnl tbb erforrst ignyel a megvalstsa) vagy tbb hasznlati esetben ismtld kzs rszlet include Jelentkez rtests include include Vg Csaba / www.logos2000.hu

tanfolyam vglegestse tanfolyam lemondsa Szervez tanfolyam meghirdetse tanfolyam trlse Vezet Hasznlati esetek ltalnostsa hasznlati

eset pontostsa olyan funkcit jell, amely az ltalnos helyre behelyettesthet. Pontosts: az ltalnos megvalstsi lehetsgeit, illetve ltalnosknt brzoljuk tbb hasznlati eset hasonl jellegt. include rtests Jelentkez Vg Csaba / www.logos2000.hu tanfolyam megszaktsa tanfolyam lemondsa tanfolyam trlse

Vltozat, rszfunkci, ltalnosts? include: rszfunkci, amely az alap hasznlati eset mkdshez nlklzhetetlen, annak szerves rsze. (a rszfunkci mkdst kiemeljk az alapesetbl) extend: a norml mkds bizonyos pontjain adott felttelek mellett bekvetkez, de attl rszben fggetlen kiegszts (a mkdst beszrjuk az alapesetbe) ltalnos hasznlati eset pontostsa egy megvalsulsi lehetsget 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 kialaktsa tanfolyam meghirdetse Jelentkez tanfolyam trlse Vg Csaba / www.logos2000.hu Vezet tanfolyam archivlsa Archvum

Vezet tanfolyam archivlsa Szervez Archvum tanfolyam meghirdetse tanfolyam megszaktsa tanfolyam lemondsa tanfolyam

trlse tanfolyam vglegestse rtests Jelentkez tanfolyamok megtekintse extend tanfolyamra jelentkezs extend mdosts

felajnlsa Vg Csaba / www.logos2000.hu extend jelentkezs elfogadsa Felhasznl cljai s az interakcik hasznlati eset: egy egyszerbb vagy sszetettebb prbeszd (interakci) A felhasznl a cljait ezeken a funkcikon keresztl tudja megvalstani. Elsdlegesek a felhasznl cljai. A hasznlati eseteket gy kell

sszevlogatnunk, hogy azok lehetv 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 clszernek

(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 Szervez Archvum tanfolyam meghirdetse tanfolyam megszaktsa tanfolyam lemondsa tanfolyam trlse tanfolyam

vglegestse rtests Jelentkez tanfolyamok megtekintse extend tanfolyamra jelentkezs extend extend mdosts felajnlsa Vg Csaba / www.logos2000.hu

jelentkezs elfogadsa Csomag (package) Funkcicsoportok a rendszer rszekre, modulokra vagy ms nven csomagokra bonthat. A csomag (package) a rendszer ptelemeinek magasabb szint egysgekbe csoportostsnak az eszkze. Vg Csaba / www.logos2000.hu

system seminar tanfolyamok kezelse rdeklds archivls utility sztereotpia s megszorts 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 rdeklds tanfolyamok megtekintse

Jelentkez extend tanfolyamra jelentkezs extend mdosts felajnlsa Vg Csaba / www.logos2000.hu extend jelentkezs elfogadsa system A

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 nzpontbl vett vzlatos kpe framework (keretrendszer): az alkalmazs mkdtetshez szksges ltalnos elemek 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 ltalban szemlltetsknt ksztnk el. Vg Csaba / www.logos2000.hu Fggsgek tanfolyamok kezelse rdeklds

archivls utility Vg Csaba / www.logos2000.hu fggsg (dependency) az egyik defincijnak megvltozsa a msik (a fgg) elem megvltozst is eredmnyezheti. Gyakorlatban: {global} Vg Csaba / www.logos2000.hu fordtsi fggsg

Nvterlet (namespace) a csomag hatrn bell az elemek kzvetlenl hivatkozhatnak egymsra egyedisg elrsi tvonal :: access import Vg Csaba / www.logos2000.hu Csomag pontostsa utility

rtests e-mail rtests fax rtests {abstract} fejleszts temezse (sorrend, prhuzamossg) tesztels Vg Csaba / www.logos2000.hu Hasznlati eset rszletezse Esemnyfolyam A Szervez lemond jelentkezst:

A Szervez bejelentkezik Megjelenik a meghirdetett tanfolyamok listja Kivlasztva egy tanfolyamot megjelenik a jelentkezk listja Lemondja a jelentkezst Vg Csaba / www.logos2000.hu Norml s kivteles A Jelentkez elzetesen jelentkezik a tanfolyamra: Megtekinti a meghirdetett tanfolyamokat Megtekintheti egy-egy tanfolyam rszletes tematikjt Jelentkezik egy tanfolyamra Megadja az adatait Az rdekld flbeszakthatja jelentkezst Jelentkezik A mr jelentkezettek ltszmtl fggen 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 felletek

Tanfolyamaink UML-1 (5 nap) nov. 27, 28, 31, dec. 1,2 Unified Modeling Language szabvnyos objektumorientlt modellez nyelv Jelentkezs tematika (Elfelttel: rendszerfejlesztsi alapismeretek) jan. 4,5,6 C++ programozsi nyelv C++-1

(3 nap) Jelentkezs tematika (Elfelttel: A C nyelv ismerete) Java-1 jan. 8,9 OO programozs Java nyelven a nyelv alapelemei (2 nap) Jelentkezs

tematika (Elfelttel: Programozsi alapismeretek) jan. 10 Vg Csaba / www.logos2000.hu W3T (1/2 nap) Jelentkezs Tanfolyamaink Mgse jelentkezs

Jelentkezs tanfolyamaink tematika Tematika jelentkezs [elfogadva] [mdosts] Elfogadva Elfogadom Mgse Vg Csaba / www.logos2000.hu

Mdosts Osztlydiagramok Vg Csaba / www.logos2000.hu Osztly hasznlati eset diagramok: kvetelmnyek tisztzsa felhasznl tbbi dokumentum osztlydiagramok: alkalmazs bels szerkezete fejleszt

tbbi dokumentum Vg Csaba / www.logos2000.hu Objektum s osztly Valsg rszlete: entits vagy egyed (entity) "krlrajzolhatsg: elvlaszthat a krnyezettl objektumorientlt szhasznlat: entits: objektum (object), vagy pldny (instance) azonos

jellegzetessg pldnyok tpusa: osztly (class) azonos jellegzetessg, ms szval egy tpusba tartoz objektumokat csoportostja, azaz egy absztrakt objektumot hatroz meg. Vg Csaba / www.logos2000.hu osztlyozs (classification) ltalnos keret, melyet az objektumok tltenek fel konkrt tartalommal. '90-es

vek: objektum: objektum pldny, objektum osztly Vg Csaba / www.logos2000.hu Knyvtr Klcsnz Knyv Pldny megvalsts: jellemziket ler s trol adatcsomagok pl. adatstruktra v. rekord

Vg Csaba / www.logos2000.hu nvrsz boundary Fkperny {author=Joe} Vg Csaba / www.logos2000.hu objektumok egyedisge Megklnbztethetsg objektumazonost identifier) egysges egyrtelm

Vg Csaba / www.logos2000.hu (OID: object honnan jnnek az osztlyok? Rational Unified Process: alkalmazs szakterletvel kapcsolatos fogalmak sszegyjtse OMT: szvegbl keressk ki s hzzuk al a fneveket klvilggal

trtn adatcsere protokollja (felhasznli felletek) alapjn Vg Csaba / www.logos2000.hu Tanfolyamaink UML-1 (5 nap) nov. 27, 28, 31, dec. 1,2 Unified Modeling Language szabvnyos objektumorientlt modellez nyelv (Elfelttel: rendszerfejlesztsi alapismeretek) Vg Csaba / www.logos2000.hu Jelentkezs tematika Tanfolyamaink

UML-1 (5 nap) nov. 27, 28, 31, dec. 1,2 Unified Modeling Language szabvnyos objektumorientlt modellez nyelv (Elfelttel: rendszerfejlesztsi alapismeretek) Vg Csaba / www.logos2000.hu Jelentkezs tematika 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, attribtum tpusa: a lehetsges rtkek opcionlis kezdeti rtk: ksztskor belltand rtk Vg Csaba / www.logos2000.hu Sztereotpia

s megszorts UML: kisbetvel kezdd egyes szm fnv vagy Tanfolyam tpus fnvi szerkezet minta, rlap OID Vg Csaba / www.logos2000.hu rvidts: String nv: Text tematika: HtmlText r: Int tartama: Real minimlis ltszm: Int

maximlis ltszm: Int Mveletek idbeli vltozs (OO: viselkeds (behavior)) sszetett vltozs: mveletekre (operation) trdelve mvelet: olyan eljrs, amelyet az objektum vgre tud hajtani vagy olyan krds, amelyre az tud vlaszolni mvelet azonostsa: nevvel s a paramtereinek tpusval mvelet jele, specifikcija vagy szignatrja "tlterhels" (overloading) metdus:

utastssorozat, a mvelet realizlsa (tpus/pldny) Vg Csaba / www.logos2000.hu Alakzat hely: Location mret: Size kirajzols() mozgats(jHely: Location) nagyts(faktor: Real) forgats() Vg Csaba / www.logos2000.hu Mvelet nv(paramterek):tpus a mvelet 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 mvelethez kapcsolt megjegyzsen egy adott programozsi nyelv: kapcsoszrjelek sztereotpia, megszorts OO: az adatok manipulcii nem a programban sztszrva helyezkednek el, hanem azokat kigyjthetjk, gy rvidebb, ttekinthetbb s knnyebben mdosthat alkalmazst kapunk. Vg Csaba / www.logos2000.hu Lekrdezs s mdost

lekrdezs (query) : egy krds nincs kvlrl szlelhet vltozs transzformci vagy mdost (modifier): mdostja az objektum megfigyelhet llapott. Megfigyelhet llapot (observable state): az objektum kls kpe (megvalstsi technika) UML:

{isQuery} Vg Csaba / www.logos2000.hu Szrmaztatott attribtum/osztly ms elemekbl szmthat (szrmaztathat) / Szrmaztatott attribtum: rtke ms modellelemekbl szmthat szrmaztatott osztly Megads: megszortsknt az elem mgtt, az alakzat mellett, vagy egy ahhoz csatolt kln megjegyzslapon.

Vg Csaba / www.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 mvelet gyorsttrak (cache) Vg Csaba / www.logos2000.hu Lthatsg bezrsnak

(encapsulation) az objektumot egy "fekete dobozba" zrjuk, elrejthetjk a megvalsts rszleteit, gy a rendszernk ttekinthetbb s knnyebben mdosthat lesz. UML: hrom szint + (public) publikus # (protected) vdett - (private) sajt Megszortsknt Vg Csaba / www.logos2000.hu Lekrdez s bellt mveletek lekrdez

metdus (getting method) visszatrsi rtkknt egyszeren egy attribtum rtkt utalja vissza, bellt metdus (setting method) a paramternek rtkt az attribtumba tlti t. az attribtumot elrejthetjk s a hasznlatt csak adott mveleteken keresztl engedlyezzk, kontrolllhatjuk az attribtum elrst, pldul ksleltetjk a kiszmtst, vagy belltsa esetn tovbbi tevkenysgeket is vgrehajthatunk Vg Csaba / www.logos2000.hu Azonosthatsg: get / is

set Vg Csaba / www.logos2000.hu prefix Jellegzetessgek (feature), Attribtuma felelssg s mvelete (responsibility) osztly magasabb rend clja attribtum: adatszolgltats vagy adattrols mvelet az osztly cljnak megvalstshoz szksges

utastssorozat. Vg Csaba / www.logos2000.hu Rszletezettsg szintjei Shape Shape +location: Location +Shape(l:Location) +contains(l:Location) +draw() ... Vg Csaba / www.logos2000.hu Shape {abstract, author=Joe} +location: Location

#size: Size #parent: Canvas +Shape(l:Location) +contains(l:Location) +draw() +scale(r: Real) Kzs sztereotpia s megszorts Location +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 (mveletek) (hasznlati esetek: extension points) Osztlyok: responsibilities (felelssgek) exceptions (kivtelek) kivtelknt hasznlt osztlyok: exception signals (jelzsek): olyan zenetek, amelyeket az osztly a norml mkdse kzben is tud fogadni.

Vg Csaba / www.logos2000.hu Knyvklcsnzs operations +isHosszabbthat() :Bool +hosszabbts() responsibilities Eljegyzett knyv klcsnzse nem hosszabbthat meg Klcsnzs legfeljebb ngyszer hosszabbthat A lejratot naponta ellenrizni kell Ksedelem esetn fizetni kell exceptions Tl sok knyvet klcsnz Tl sokszor akar hosszabbtani Vg Csaba / www.logos2000.hu

Vltozatlansg {changeable} ("vltoztathat") megszorts {frozen} ("befagyasztott") (C++ const, bizonyos esetekben final) "csak olvashat" (read only) tulajdonsg Vg Csaba / www.logos2000.hu

Jellegzetessgek elrse osztly attribtumra vagy mveletre hivatkozsa :: pl. Mailer::send(). objektum . pl. attribtumrtke vagy mvelete t.idpont, vagy t.vglegests() Vg Csaba / www.logos2000.hu

Felelssgek A hagyomnyos strukturlt megkzeltssel ellenttben az OO legnagyobb kihvsa, hogy az alkalmazs egyttes mkdst szt tudjuk osztani az objektumok kztt. Megfelel tervezs esetn a mkds teljes "terhe" kiegyenslyozottan oszlik meg az egyttmkd objektumok kztt. Attribtum: adatszolgltatsi ("lekrdezsi") felelssg rtktrolsi felelssg: objektumra egy adott tulajdonsg teljesl adott szempont szerinti tulajdonsg-rtk 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 Text: hosszabb (tbbsoros) szveg. Date: dtum enum {frfi=1; n} Vg Csaba / www.logos2000.hu Entitsok s rtkek objektumok

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 type elemi s az sszetett rtkek tpusa: type

enumeration enumeration HtNapja htf = 1 kedd szerda cstrtk pntek szombat vasrnap Vg Csaba / www.logos2000.hu type Byte {values range from 128 to 127} CRC-krtyk

(Class-Responsibility-Collaboration) Smalltalk programozs (Cunningham/Beck '80-as vek vgn) Jelentkezs kapcsolattarts adatai jelentkezk szma r rtests a tanfolyamrl jelentkezs lemondsa Vg Csaba / www.logos2000.hu Tanfolyam Tanfolyam Kommunikcis tvonalak

felelssgek 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 lehetsge (matematikailag: elem n-es)

Strukturlis kapcsolat: az elrst maga az objektum szolgltatja temporlis kapcsolat ezzel szemben csak az objektum mkdsnek bizonyos pontjain "l". Asszocici (association) az osztlyok objektumai kztti lehetsges strukturlis kapcsolat (tpus/pldny) Matematikailag: osztlyok elem n-ese pl. Alkalmazs(Cg, Szemly) Vg Csaba / www.logos2000.hu binris asszocici Alkalmazs

Szemly Cg Asszocici Alkalmazs CompSoft Kapcsolat Vg Csaba / www.logos2000.hu Nagy Istvn magasabbrend asszocici ra Trgy

Tanterem Tanr {implicit} Vg Csaba / www.logos2000.hu Szerepek, szmossg a..b 1..10 1,7 vagy 0,5,10..20 * 1..* 0..* tpus 1 Tanfolyam

* Tanfolyam 1 Vg Csaba / www.logos2000.hu * Jelentkezs Szmossg 1 (pontosan egy), * (tetszleges, 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 "specifiklatlannak", meghatrozatlannak tekinti.

Vg Csaba / www.logos2000.hu Attribtumszmossga Tanfolyam idpont[1..*]: Date opcionlis attribtum Vg Csaba / www.logos2000.hu osztly szmossga 1 control Tanfolyamok kezelse

tetszleges (*) 1: pl.csomagokat reprezentl osztlyok esetn. 0: osztlynak csak gyjt szerepe van, utility Vg Csaba / www.logos2000.hu Mdosts lehetsge, sorrend Asszocicinl/szerepnl {changeable} {frozen} {addOnly} {ordered} Fowler

s Scott: {sorted} Vg Csaba / www.logos2000.hu Elnevezsek Cg alkalmaz * Alkalmazott * beosztott lthatsg Vg Csaba / www.logos2000.hu vezet

reflexv Elnevezs s a navigci Project vezet 1 Irnyt * Project Felbontva 1 Vg Csaba / www.logos2000.hu

Alvllalkoz Kidolgoz Rszfeladat * * 1 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 /Felels *

Kidolgoz Felbontva Project * 1 * Vg Csaba / www.logos2000.hu Rszfeladat * Alvllalkoz 1

Rszhalmaz asszocicik Kidolgoz Rszfeladat * * Vg Csaba / www.logos2000.hu {subset} 1 Alvllalkoz Jelentkezik * asszocicik Az

asszocicik a modellezs klnbz szintjein klnbz mdon rtelmezhetk. Koncepcionlis szint: fogalmak kztti koncepcionlis viszonyok Tervezs: elrs felelssge Megvalsts: elrs megvalstsa Megvalsts Vg Csaba / www.logos2000.hu (OID) Minstett asszocici Knyvtr ISBN: Code Vg Csaba / www.logos2000.hu

* 0..1 Knyv Kzpont id: Date 1 hely: Code minst / OID Vg Csaba / www.logos2000.hu 0..1 Forgalmi adatok

"Vagy" asszocici Cg Vsrls {or} Magnszemly Vg Csaba / www.logos2000.hu Asszocicis osztly Knyvtr * *

0..1 Tag 0..10 Klcsnzs visszahozs: Date hosszabbts() ellenrzs Vg Csaba / www.logos2000.hu Pldny Asszocicis osztly megvalstsa Tag

1 0..10 Vg Csaba / www.logos2000.hu Klcsnzs 0..1 1 Pldny 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 Felbontva 1 Vg Csaba / www.logos2000.hu * Rszfeladat jellemzk "egsz-rsz"

viszony, a rsz logikailag az "egszen" bell helyezkedik el, illetve sok mveletben az egsz a rszeivel egytt vesz rszt. antiszimmetrikus viszony. Pl. szoba rsze lehet egy hznak tranzitv, a hz szobjnak ajtaja egyben a hz ajtaja mveletek tovbbtsa, deleglsa (delegation). az "egsz" bizonyos attribtumait s kapcsolatait felajnlja, propaglja (propagation) a rszeknek. Vg Csaba / www.logos2000.hu cascading delete A 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 a rsz az egsszel "egytt l s hal", azaz a rsz lettartama az egszhez ktdik. Vg Csaba / www.logos2000.hu Kompozci 1 Vszon 1 1 1

* Alakzat Vg Csaba / www.logos2000.hu httr 1 Minta fggleges 1 1 vzszintes Csszka begyazott jells Szerkesztlap httr :Minta 1

1 :Vszon :Alakzat* Vg Csaba / www.logos2000.hu 1 fggleges :Csszka 1 vzszintes :Csszka Vszon httr: Minta fggleges: Csszka vzszintes: Csszka alakzat: Alakzat[*] Vg Csaba / www.logos2000.hu Attribtum s asszocici

Szmla kelt: Date ? minst-jellegek nmaguk neve Vg Csaba / www.logos2000.hu Szmla * kelt 1 Date Fggsgek

Egy osztly anlkl is felhasznlhat egy msik osztlyt, hogy azt egy asszocicin keresztl elrn. UML: egy modellelemtl fgg egy msik modellelem, ha a defincijnak megvltozsa a msik (a fgg) elem megvltozst is eredmnyezheti. fordtsi fggsg Pldul: zenetet kld a msiknak, egy mezjre hivatkozik, a msik osztly egy j objektumt kszti el, paramterknt felhasznlja egy zenetben

Vg Csaba / www.logos2000.hu Jelentkezs utility.rtests Vg Csaba / www.logos2000.hu use (hasznlat) derive (szrmaztats) friend ("bart" kapcsolat) call ("hvs") instantiate ("pldnyosts") instanceOf ("pldny") powertype (hatvnytpus: a "tpus-tpusa") refine ("finomts")

trace ("nyomkvets") Vg Csaba / 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

Hang kazetta Vg Csaba / www.logos2000.hu Vide kazetta CD lemez Mdia Knyv Hang kazetta {incomplete} {complete}

Vg Csaba / www.logos2000.hu Video kazetta CD lemez ltalnosts-pontosts viszony koncepcionlis szinten az ltalnos jelleg s annak specilis vltozata kztti kapcsolat Technikai szempont: az sosztly jellegzetessgeivel (attribtumaival, mveleteivel, asszociciival s fggsgeivel) annak minden alosztlya is rendelkezik. A megvalsts oldalrl az ltalnosts a

jellegzetessgek tvtelnek informatikai megoldst jelenti, amelyet ltalban rklssel (inheritance), vagy esetenknt delegcival oldanak meg. Vg Csaba / www.logos2000.hu sosztly: jelleget helyettesthetsg (substitutability) alosztly sszhangban van (conform) az sosztlyval: az sosztly minden

jellegzetessgvel is rendelkezik. kiemels, az absztrakci lehetsge jrafelhasznls (reuse) Vg Csaba / www.logos2000.hu Tbbszrs osztlyozs egyestett osztly (join class) Szrazfldi jrm Vzi jrm Ktlt jrm

tbbszrs osztlyozs (multiple classification) egyetlen osztlyozs (single classification), Vg Csaba / www.logos2000.hu {overlapping} Szrazfldi jrm sebessg Aut Ktlt jrm disjoint Vg Csaba / www.logos2000.hu Jrm

szllthat utasok Vzi jrm sebessg megklnbztet (discriminator) Frfi nem Szemly N {incomplete} beoszts Orvos Vg Csaba / www.logos2000.hu

beoszts Asszisztens beoszts Nvr Dinamikus vltozat Statikus 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 Szemly N beoszts Orvos Vg Csaba / www.logos2000.hu dynamic {incomplete} beoszts

Asszisztens beoszts Nvr tbbszrs vltozat tpus, 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 Vg Csaba / www.logos2000.hu

modellezs Kiterjeszts s korltozs Kiterjeszts Mdia cm Korltozs (explicit md) Szemly nem Knyv szerz* ISBN Vg Csaba / www.logos2000.hu

Frfi N Korltozs (implicit md) Ellipszis r R { r = R } Kr Mveletek tdefinilsa Az alosztly kiegszt jellegzetessgei miatt a mveletet is kiterjeszthetjk, a mkdshez bizonyos tbbletet adhatunk. Az ltalnosabb sosztlyban a mveletnek

csak egy alaprtelmezett vltozatt adjuk meg, melyet az alosztlyban konkretizlhatunk. Korltozs esetn meg akarjuk tiltani a mvelet bizonyos vltozatait. A pontostott alosztlyban az objektumrl tbb informci ll rendelkezsre, gy az alosztly bizonyos mveleteket hatkonyabban hajthat vgre. Vg Csaba / www.logos2000.hu A mveletek felldefinilst (overriding) az objektumorientlt nyelv megfelel mechanizmusa, a kts (binding) teszi lehetv, amely minden objektum esetn megadja az adott mvelethez tartoz megfelel mkdst, a metdust. Az alosztly felldefinilhatja az s bizonyos

mveleteit, ugyanakkor az alosztly objektuma az sosztly objektumaknt is szerepelhet polimorfizmus, tbbalaksg (polymorphism): ltalnosknt tekintett objektum megjelenhet tbb vltozatban, alakban is. Vg Csaba / 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 mvelet Vg Csaba / www.logos2000.hu Absztrakt osztlyok absztrakt osztly: ltalnos keret konkrt osztly (concrete class) Alakzat {incomplete} Tglalap Ellipszis

{abstract} Vg Csaba / www.logos2000.hu Csomag Ikon Absztrakt mvelet Alakzat bounds: Bounds paint() {incomplete} Tglalap paint() Ellipszis

paint() Csomag paint() Rajz paint() Vg Csaba / www.logos2000.hu Ikon Kp paint() interface attribtumokkal nem rendelkezhet

(legfeljebb konstansokkal), mindssze bizonyos mveletek ltezst jelenti ki az alosztlyokkal szemben tmasztott kvetelmnyekknt, azok elrsnek lehetsgeknt jelenik meg. interface Movable getLocation():Location setLocation(location :Location) Vg Csaba / www.logos2000.hu interface Paintable paint() Comparable

realizci interface Movable getLocation():Location setLocation(location :Location) Alakzat Vg Csaba / www.logos2000.hu Paintable interfsz hasznlata Alakzat Paintable Movable

interface Movable Vg Csaba / www.logos2000.hu controller Move interfsz szerepnl Raktr Raktri szm: Code :Trol 1 tartalmazott :Raktri tte * Knyv pldny Vg Csaba / www.logos2000.hu

type olyan szerepet, amelyet az osztly felvehet, illetve amelyrl ksbb lemondhat ellentte implementationClass Egy osztly legfeljebb egy implementcis osztly, de tetszleges sok szerep-jelleg osztly szrmaztatsa lehet. A type osztlybl a szrmaztatst realizcival jelljk, amely ebben az esetben azt jelenti, hogy az alosztly csak a mveleteket veszi t, de az attribtumokat s az asszocicikat nem, gy azokat meg kell ismtelni az alosztlyban is.

Vg Csaba / www.logos2000.hu type Biztostott implementationClass Szemly type Adz Alkalmazott Vg Csaba / www.logos2000.hu Generikus osztly Stack /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) Palette Vg Csaba / www.logos2000.hu

Klnleges mveletek rtkek msolsa s ellenrzse Konstrukci s destrukci osztlynak tetszleges szm, klnbz paramter konstruktora lehet, de legfeljebb egy destruktora. alaprtelmezett konstruktor msol konstruktor Konverzi rtkjelleg konverzi osztlyba s osztlybl trtn konverzi. tpuskonverzi Vg Csaba / www.logos2000.hu

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 egyszeren a ltez pldnyok szmnak trolsra.

Vg Csaba / www.logos2000.hu Osztlymvelet az osztlyra vonatkoz mvelet, kizrlag az osztlyattribtumokat, illetve a tbbi osztlymveletet ri el, csak kzvetve hivatkozhat a tbbi, un. pldnyattribtumra s pldnymveletre. hasonlak a hagyomnyos (globlis) eljrsokhoz s fggvnyekhez, de az osztly a lthatsg korltozsval a klvilg ell el is rejtheti ezeket a mveleteket. Az osztly j objektumt ltrehoz konstrukcis mvelet, ms nven a pldny-kpzs (instantiation) valjban egy osztlymvelet, de ezt

kln nem jelljk. Vg Csaba / www.logos2000.hu Szmla utols sorszm j szmla() hibalehetsg Vg Csaba / www.logos2000.hu Racionlis szmll :Int nevez :Int nulla :Racionlis lnko(a:Int, b:Int) :Int

utility utility Math pi: Real e: Real sin(x: Real) :Real cos(x: Real) :Real Vg Csaba / www.logos2000.hu Metaosztly s sztereotpia metaclass, instanceOf stereotype

stereotype instance stereotype utility Vg 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 mveleteit egy magasabb absztrakcis szinten jellemezhetjk hrom specilis megszorts, az invarinsok, az el- s az utfelttelek segtsgvel. A technikt (design by contract) legrszletesebben Bertrand Meyer publiklta. Vg Csaba / www.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) mveletek esetn adhatjuk meg a mvelet krnyezetre vonatkoz szably esetenknt a mvelet annyira egyszer talaktst vagy lekrdezst jelent, hogy az utfelttel magt a mveletet is egzaktul meghatrozza. Vg Csaba / www.logos2000.hu Pontosts: az invarinsokat s az utfeltteleket legfeljebb tovbb korltozhatjuk ("ersthetjk"), mg az elfeltteleket legfeljebb gyengthetjk. UML: kln invariant, precondition vagy

postcondition sztereotpij megjegyzslapon adjuk meg hibakeress (debug) keretrendszer ksztse: clszer az elfeltteleket mindig ellenrizni. Vg Csaba / www.logos2000.hu Mveletek vgrehajtsi mdja {sequential} ("szekvencilis"): egyszer szekvencilis vgrehajts; a hasznlknak kell biztostaniuk, hogy egy objektumnak azonos idben (konkurensen) nem hvjuk meg tbb mvelett. {guarded} ("rztt", "felgyelt"): a mvelet feldolgozst valamely mechanizmus szablyozza,

mely pldul egy vrakozsi sorba lltja a krseket. {concurrent} ("konkurens"): prhuzamosan is vgrehajthat, szinkronizlst (monitort) ignyl mvelet. az OO krnyezet biztostja, hogy a mvelet a vgrehajts idejre zrolja (lock) az objektumot, Vg Csaba / www.logos2000.hu signal mvelet: az osztly elfogadja az adott szignlt (tvtele {guarded} mechanizmussal is trtnhet) Mveletek: atomi, azaz flbeszakthatatlan mveletek az akcik (action)

tevkenysgek (activity) vgrehajtsa hosszabb idt, egy meghatrozott idtartamot vesz ignybe. Vg Csaba / www.logos2000.hu Objektumok Cg Szemly instanceOf :Cg CompSoft :Cg Vg Csaba / www.logos2000.hu

Kovcs Jnos Point x: Int y: Int instanceOf p x=3 y=4 Vg Csaba / www.logos2000.hu :Point x :Int =3 y :Int =4 :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] Vg Csaba / www.logos2000.hu :Tanfolyam [archivlt] become:

objektum idbeli vltozsa copy: msolat :Tanfolyam [meghirdetett] become :Tanfolyam [vglegestett] Vg Csaba / www.logos2000.hu become :Tanfolyam [archivlt] Objektumok s kapcsolatok UML1 :Tanfolyam tpus

:Tanfolyam [meghirdetett] CompSoft :Jelentkezs :Jelentkezs Vg Csaba / www.logos2000.hu Kovcs Jnos :Jelentkezs association ("asszocici") self ("nmaga") global ("globlis") local ("loklis" vltoz) parameter ("paramter")

Vg Csaba / www.logos2000.hu lettartam szablyozsa: {new} ("j"): az objektum a mvelet sorn jn ltre. {destroyed} ("trlt"): a mvelet sorn megsznik az objektum. {transient} ("tranziens"): az objektum csak a mvelet (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 :Szerkesztlap fggleges :Csszka :Vszon :Alakzat :Alakzat httr :Minta vzszintes :Csszka Vg Csaba / www.logos2000.hu Aktv objektum

:Server [working] {active} Vg Csaba / www.logos2000.hu Schedule :Alvllalko :Job z Osztlydiagramok hasznlata alapvet szerepek, tbbi diagram

elemek a csompontokban az osztlyok attribtumaik mveleteik az elemek kztti viszonyokat lekkel brzoljuk asszocicik, ltalnosts/pontosts viszonyok, fggsgek megszortsok (szvegesen megfogalmazott viszonyok).

Vg Csaba / www.logos2000.hu 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 mkdtet infrastruktrt. A szakterleti modellt kiegsztjk a megvalstshoz szksges technolgiai appartussal. Megvalsts: az implementci bizonyos rszleteit szemlltethetjk. Ekkor az osztlydiagramokat a forrskd sszefoglal, ttekint trkpeiknt hasznljuk. Vg Csaba / www.logos2000.hu

Interakci-diagramok Vg Csaba / www.logos2000.hu Interakci-diagramok interakci-diagramok: objektumok adott krlmnyek kztt, pldul egy sszetett feladat megvalstsakor hogyan mkdnek egytt. Egy interakci-diagram ltalban egy hasznlati eset rszleteit hatrozza meg. plda-objektumok (example object). zenetek (message) Vg Csaba / www.logos2000.hu

Szekvencia-diagramok idbelisg :Tanfolyam :Szervez vglegest() Vg Csaba / www.logos2000.hu :Jelentkezs *vglegest() Egyttmkdsi diagramok 1: vglegests() :Tanfolyam :Szervez

Vg Csaba / www.logos2000.hu 2: *vglegests() :Jelentkezs Pldaobjektum Jelentkez kivlasztsa 2: setKidolgoz(v) :Projektvezet r {parameter} :Rszfeladat {r.Jelentkez} Jelentkez

1: v:=vlaszt(nv: String) 3: rtests(r) Vg Csaba / www.logos2000.hu v {local} :Alvllalkoz * :Alvllalkoz zenetklds Egy zenetkldst a kvetkez alapelemekkel adhatunk meg:

vezrl informcik. visszatrsi rtk vagy rtkek v1,v2:= formban, amely elnevezsekkel a ksbbiekben 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 vezrls a 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 itercira ltalban a * (a tbb szmossg jele) utal. Az UML nem hatrozza meg az iterci formjt, gy az lehet pldul *[x>y], vagy *[i:=1..n]. Az itercit szekvencilisnak tekintjk, a csillagot kvet kt prhuzamos vonallal (*||) azonban prhuzamos (konkurens) itercik is megadhatk. Vg Csaba / www.logos2000.hu nylhegy "hagyomnyos" nylhegy: a vezrls egyszer, nem fggvnyhvs-jelleg terjedst jelli.

teljes-nylhegy: fl-nylhegy: visszatrs szinkron zenetvltst jell. aszinkron zenetklds (return): szaggatott vonal Vg Csaba / www.logos2000.hu Szekvencia-diagram letvonal :Projektvezet r:Rszfeladat

v:=vlaszt(nv) setKidolgoz(v) rtests Vg Csaba / www.logos2000.hu Jelentkez: Alvllalkoz* v:Alvllalkoz vezrlsfkusz Aktv, mkd llapot: az objektum rendelkezik a vezrlssel, gy pldul zenetet kldhet egy

msik objektumnak. Vrakoz llapot: az objektum valamely mveletnek vgrehajtsa kzben egy elkldtt zenetnek a feldolgozsra vr. Ezrt ebben a pillanatban nem rendelkezik a vezrlssel, de a mvelet sorn felvett loklis vltozi mg lteznek. passzv, felfggesztett llapot: "l", lteznek az attribtumai s kpes fogadni a mkd objektumok zeneteit, de ppen nem hajt vgre mveletet, gy loklis vltozi sincsenek. Vg Csaba / www.logos2000.hu Konkurens folyamatok :Ignyl a telefonos b kapcsolat

{b-b<20sec} c {e-a<35sec} d e :Kliens :temez idpontfoglals kapcsolds krem vrjon idpontkrs rendben

idpont lefoglalva Vg Csaba / www.logos2000.hu rszem jelentkez: Alvllalkoz [nyertes] gratullunk else sajnlkoz zenet Vg Csaba / www.logos2000.hu ndelegci s lettartam :Tanfolyam :Jelentkezs vglegests

zenet sszelltsa rtests Vg Csaba / www.logos2000.hu :rtests Egyttmkdsi diagram szmozs 1:vglegests :Tanfolyam Szervez 1.1:*vglegests *

:Jelentkezs 1.1.2: rtests(m) :rtests local {transient} 1.1.1: m:=zenet sszelltsa self Vg Csaba / www.logos2000.hu Konkurens mkds :Ignyl 1:idpontfoglals 2/a: sikeres

kapcsolds a,c/3: rendben Vg Csaba / www.logos2000.hu :Kliens 2: kapcsolds 2/b: idpontkrs b/c: rendben :temez Tervezsi minta Kszlet mennyisg: Int minimlis mennyisg: Int rendelend mennyisg: Int

trolhat mennyisg: Int feltlts(a) { mennyisg+=a } vtelezs(a) { mennyisg-=a } Mszer handler minimlis rtk: Int subject kevs rtk: Int Observer sok rtk: Int maximlis rtk: Int rtk: Int rtk=mennyisg minimlis rtk=0 kevs rtk=subject.minimlis mennyisg sok rtk=rendelend mennyisg maximlis rtk=trolhat mennyisg

Vg Csaba / www.logos2000.hu Idben lezajl vltozs Vg Csaba / www.logos2000.hu Aktivits-diagramok j elem munkafolyamat-diagram (work-flow diagram), folyamatbrk (flow-chart). Dinamika lersa aktv oldalrl, a vgrehajtand tevkenysgek sorrendisgnek meghatrozsval. prhuzamos, konkurens vgrehajtst is meghatrozhatunk. tbb szerepl ltal vgrehajtott munkafolyamatjelleg tevkenysgek, illetve prhuzamos

folyamatok brzolsa Vg Csaba / www.logos2000.hu aktivits Tanfolyam meghirdetse rtests Vg Csaba / www.logos2000.hu Tanfolyamra jelentkezs Tanfolyam meghirdetse Sorrendisg Hatridig vrakozs

Tanfolyam lemondsa Tanfolyam trlse Tanfolyamok megtekintse Tanfolyamra jelentkezs Tanfolyam vglegestse [van mg hely] Jelentkezs elfogadsa

Tanfolyam megtartsa Tanfolyam archivlsa Vg Csaba / www.logos2000.hu else Mdosts felajnlsa sorrend tmenet (szekvencilis (sequential) sorrendet) szinkronizcis

vonal (logikai fggetlensg) szinkronizcis vonal: szinkronizcit Ha a szlakat szinkronizcis-vonal nlkl egyestjk, akkor gy tekintjk, hogy az els befejezd szl megszaktja a tbbi szlat s a vezrls a megfelel irnyba halad tovbb. Vg Csaba / www.logos2000.hu vezrls *

(iterci), pldul "minden egyes elemre" feldolgozsok. Szinkronizcis vonal utn megadott iter-ci aktivitsai az egyes elemekre prhuzamosan hajtdnak vgre. A szinkronizcis vonalhoz rhat rszem, azaz felttel Vg Csaba / www.logos2000.hu dnts rvnyes jelentkezk sszeszmolsa

[limiten belli sszltszm] else Mdosts felajnlsa Vg Csaba / www.logos2000.hu Jelentkezs elfogadsa Knyvklcsnzs Kivlasztott knyvek tvtele tadsa az olvasknak

Tag a klcsnz? [tag] else Felvehet tagknt? * minden knyvre Knyv klcsnzhet? [igen] Knyv klcsnzse

else [igen] * j tagknt felvtele Trtnt klcsnzs? Klcsnzhet? else else [igen] Vg Csaba / www.logos2000.hu

Knyvek tadsa az olvasnak [igen] Akci- s aktivits-llapot Akci-llapotban akcikat helyezhetnk el. akci pl. egy attribtum belltsa egy kifejezsbl szmtott rtkre, vagy egy mvelet vgn a visszatrsi rtk visszautalsa. akcinak tekintjk az objektum ltrehozst s trlst, valamint a jelzs (signal) kldst. tevkenysg (activity): vgrehajtsuk idt vesz

ignybe, ezrt flbe is szakthatk. Az aktivits-llapotban (activity state) egy vagy tbb aktivits szerepelhet. Az aktivits egy sszetett tevkenysget jell, amelyet egy msik aktivits-diagramon rszletesen brzolhatunk. Vg Csaba / www.logos2000.hu pszeudo-llapotok start-llapot (start state), ms nven kezdllapot (initial state) hatrozza meg az sszetett tevkenysg kezdett. Egy diagramon tbb kezdllapot is lehet, melyet tbb prhuzamos szl indtsaknt rtelmeznk. Krn (krvonalon) belli fekete krrel (bull

eye) jelljk a stop-llapotot (stop state), ms nven a zrllapotot (final state), mely az sszetett tevkenysg befejezdst jelli. Vg Csaba / www.logos2000.hu sszetett tevkenysg vge Az aktivits-diagramon megfogalmazott sszetett tevkenysg alapveten kt esetben rhet vget. Ha minden mkd szl elr egy olyan aktivits-llapotot, amelybl nem vezet ki tovbbi l: befejezdik Ha valamelyik szl elr egy zrszimblumot, amely a tevkenysg vgt hatrozza meg,

akkor az sszetett tevkenysg is befejezdik: a tbbi szl mkdse flbeszakad. Vg Csaba / www.logos2000.hu Projektvezet Alvllalkoz Rszfeladat felvtele Rszfeladat meghirdetse Rszfeladat vizsglata [rdekel]

Jelentkezsek tvtele rszfeladatra Jelentkezs a rszfeladatra Jelentkezk rtkelse rszfeladatra Nyertes rtestse Elutastottak rtestse Vg Csaba / www.logos2000.hu Kidolgozs

megkezdse Projektvezet Alvllalkoz Rszfeladat felvtele Rszfeladat meghirdetse Rszfeladat [meghirdetve] Rszfeladat vizsglata

[rdekel] Jelentkezsek tvtele rszfeladatra Jelentkezs Jelentkezs a rszfeladatra Jelentkezk rtkelse rszfeladatra Nyertes rtestse rtests az elfogadsrl Elutastottak

rtestse Vg Csaba / www.logos2000.hu Sajnlkoz levl Kidolgozs megkezdse Rszfeladat sszelltsa meghirdets Vrakozs a hatridig jelentkezs/defer jelentkezs

Jelentkezsek ellenrzse jelentkezs/sszegyjts Kidolgoz kivlasztsa Vg Csaba / www.logos2000.hu Alvllalkoz llapotdiagram David Harel llapot-diagram: passzv szempontbl

rja le a vltozst, mivel a vltozst az esemnyek hatsra trtn reakcik, llapotvltsok segtsgvel fogalmazza meg. Vg Csaba / www.logos2000.hu llapot Az objektum bels llapotnak nevezzk attribtumainak az sszessgben, egyttesen tekintett rtkeit. Az objektum kls llapota az objektum ltal a vizsglt idpontban elrt, ahhoz kzvetlenl vagy kzvetve kapcsold sszes objektum egyttes bels llapota. Az objektum kiterjesztett llapota az adott idpont bels s a kapcsolatai ltal meghatrozott kls llapota. llapoton

a kvetkezkben kiterjesztett llapotot rtnk. Vg Csaba / www.logos2000.hu Absztrakt/konkrt llapot Goly Asztalon gurul Esik Irnyt vlt Felpattan Vg Csaba / www.logos2000.hu Emelkedik

tmenet Goly Asztalon gurul trggyal tkzik asztal szle Irnyt vlt Esik lert Felpattan Vg Csaba / www.logos2000.hu fels holtpont Emelkedik

Telefon Vr leteszi a kagylt felveszi a kagylt Szaggatott bgs leteszi a kagylt Vonalat kr nincs vonal rvnytelen szmot hvott leteszi a kagylt van vonal

kagylt tkzik Trcszs foglalt kapcsol kagylt tkzik Beszlgets Vg Csaba / www.logos2000.hu leteszi a kagylt llapot s tmenet mrfldkvek id

asztal szle tmenet llapot Vg Csaba / www.logos2000.hu Esik lert tmenet Esemny (event) UML: olyan lnyegi trtns, amelynek adott helye s idpontja van. "lnyegi" (significant): egy esemny bizonyos objektumok megvltozst eredmnyezheti.

absztrakt esemnyek Ngyfle esemny (ebbl kett zenet) hvs-esemny (call event): szinkron interakci Jelzs vagy szignl (signal) kldsvel (send) aszinkron interakcit hatrozhatunk meg Vg Csaba / www.logos2000.hu zenetek rklsi hierarchija Tanfolyamrl dnts Megszakts Vglegests

indok: Text Lemonds Vg Csaba / www.logos2000.hu Trls id s a vltozs esemny id-esemny (time event): egy idhatr tllpse (timeout): kikthetjk, hogy az objektum egy llapotban csak egy elre megadott idtartamot tlthet s annak elteltvel automatikusan egy tmenet kvetkezik be. after 10 ms, after(1 seconds) after 24 hours a jelentkezs utn.

vltozs-esemny (change event): a paramterknt megadott helyzet llapoton belli bekvetkezst jelenti. when amount>maxAmount when(n+i>100) when(11:45 p.m.) Vg Csaba / www.logos2000.hu Esemny s tmenet tmenetet kivlt esemny, melynek paramterei ("attribtumai") is lehetnek. automatikus tmenet rszem:

szgletes zrjelek kztt tmenet felttele. tmenet esetn vgrehajtand akcik / utn /teljesLtszm+=jelentkezs.ltszm. zenetklds: send Tl sok jelentkez Vg Csaba / www.logos2000.hu Pszeudo llapot Ksztsekor az objektum automatikusan a kezd-llapotba (initial state, start state) lp; ebbe nem vezethet l. A zrllapot (final state, stop state) elrse az objektum lebontst eredmnyezi, ezrt ebbl nem vezet ki tovbbi l.

objektum lettartama (life cycle) egy-letciklus diagram (one-shot diagram) vgtelen ciklus diagram (continuous loop) Vg Csaba / www.logos2000.hu llapot llapot neve (anonymus llapot). do/ utn tevkenysgek entry/ bemeneti akci (entry action) Lgkondicionl exit/ kimeneti akci (exit action) tl meleg van tl hideg van

bels akci Ft entry/ fts be exit/ fts ki Belltott hmrsklet elegend Ht entry/ hts be exit/ hts ki elegend kikapcsols kikapcsols Vg Csaba / www.logos2000.hu

kikapcsols Bels akci Berakods entry/ mennyisg nullzsa exit/ tvteli elismervny ksztse anyagtvtel/ mennyisg nvelse Vg Csaba / www.logos2000.hu zenetklds Fest zem Belps: Vonalkdolvas

belps Termk Elkszt raktrban belps Fests Kilps: Vonalkdolvas kilps Szrts kilps Kszanyag raktrban

Vg Csaba / www.logos2000.hu zenetklds zenetklds (ms nven esemnygenerls) szvegesen: mvelet hvsval azonos formj: fogadObjektum.zenetNv(paramterek). Grafikusan: szaggatott vonal nyl jelli, melyet a kldtt zenettel cmkznk meg. Szignl kldse: send kulcssz zenetklds:

tmenet jelzse, gy atomi mvelet, egy akci. Az zenetkldst az llapotok hatrain adhatjuk meg: az tmeneteknl, illetve be- s kimeneti akciknt. Vg Csaba / www.logos2000.hu Tevkenysg s akci tevkenysg (activity) vgrehajtsa idt vesz ignybe, ezrt ez flbeszakthat (llapothoz). akci (action): atomi, azaz flbeszakthatatlan mvelet, melynek eltekintnk a vgrehajtsi idejtl. (tmenethez) Ha az llapot mindssze egy mvelet vgrehajtsra korltozdik, akkor azt

rvidtve egy tevkenysg-, illetve akcillapotknt adhatjuk meg. Vg Csaba / www.logos2000.hu Strukturlt llapotdiagram Telefon Vrakozs felveszi a kagylt tkzik leteszi a kagylt tkzik Mkds Norml hasznlat Vonalkrs Van vonal kagylt

tkzikTrcszs Nincs vonal Rossz szm Kapcsol kagylt tkzik Beszlgets Vg Csaba / www.logos2000.hu Szaggatott bgs Foglalt Konkurencia Robotpilta Magassg a

trshatron bell plya alatt van plya fltt van Alacsonyabbra Magasabbra do/ magassgi kormnyt meghzni s a motor teljestmnyt nvelni do/ magassgi kormnyt elre s a motor teljestmnyt cskkenteni magassg j magassg j Irny a trshatron bell plytl balra

Jobbra fordul do/ oldalkormnyt jobbra s a szrnyat jobbra dnteni irny j Vg Csaba / www.logos2000.hu plytl jobbra Balra fordul do/ oldalkormnyt balra s a szrnyat balra dnteni irny j Projekt rszfeladata Felvett megbzs

visszavonsa Kssben hatridtllps meghirdets Meghirdetett jelentkez kivlasztsa Kidolgozs alatt ksz ksz Teljestve kifizets Fizetve archivls

Vg Csaba / www.logos2000.hu Reprezentci Vg Csaba / www.logos2000.hu rkls A a B aa b A B

a a(A) C aa b c Vg Csaba / www.logos2000.hu b Asszociciknt trtn megvalsts A a f()

A B B b g() Vg Csaba / www.logos2000.hu b f() g() a f() Pontosts s kompozci

A ? X Vg Csaba / www.logos2000.hu X A Komponens-diagramok Vg Csaba / www.logos2000.hu Seminar archive

utility.dll Vg Csaba / www.logos2000.hu Komponensek forrs-llomnyok, kd-llomnyok (object-file), programknyvtrak, futtathat llomnyok, dokumentumok, adatfjlok, komponens-tpus konkrt komponens Vg Csaba / www.logos2000.hu

executable (futtathat) jelli a futtathat programot tartalmaz llomnyt. library (knyvtr): programknyvtr, mely lehet statikus (pl. lib) vagy dinamikus (pldul dll) knyvtr is. table (tbla): adatbzistbla. file (fjl): forrskdot vagy adatot tartalmaz fjl. document (dokumentum) jelli a dokumentumot tartalmaz llomnyt. Vg Csaba / www.logos2000.hu Seminar Tanfolyamok kezelse

Seminar - server Jelentkezsek kezelse Web - browser cgi Jelentkezs Seminar - online Tanfolyamlersok kezelse Vg Csaba / www.logos2000.hu Alkalmazsi-diagramok VezetiPC SzervezPC Seminar

Seminar Intranet Intranet :Host machine Jelentkez Seminar - server TCP/IP :Web server Web - browser cgi

Jelentkezs Seminar - online Vg Csaba / www.logos2000.hu Csompont Csomponttpus - konkrt csompont processor (processzor, feldolgoz egysg): szmtsi kapacitssal rendelkez egysg device (kszlk): pl. nyomtat, modem, fax kapcsolatok (connection): kommunikcis

vonalak a kapcsolat tpusval (pl.: TCP/IP) cmkzhetk. Vg Csaba / www.logos2000.hu Csompont A csompontokon helyezkednek el a komponensek. osztly-jellegek, azoknak attribtumok (pl. processzor tpus, szksges memria, stb.) s mveleteket (pldul kszenlt, kikapcsols) definilhatunk. A csompontok csomagokba is csoportosthatk, valamint kzttk fggsgeket, rklst s asszocicit (pldul kompozcit) is megadhatunk.

Vg Csaba / www.logos2000.hu Rational Unified Process Vg Csaba / www.logos2000.hu Kt dimenzi Elkszts Kidolgozs 1. iter. Megvalsts

tads Kvetelmnyek Elemzs Tervezs Implementci Teszt 2. iter. Vg Csaba / www.logos2000.hu

n-1 iter. n iter. Idbelisg - Elkszts Elkszts (inception) fzisa: a rendszer eredeti tlett olyan rszletes elkpzelss dolgozzuk t, mely alapjn a fejleszts tervezhet lesz, a kltsgei pedig megbecslhetk. a felhasznlk milyen mdon fogjk

hasznlni a rendszert milyen alapvet bels szerkezetet, architektrt alaktunk ki. Vg Csaba / www.logos2000.hu Idbelisg - Kidolgozs Kidolgozs (elaboration) fzisa a hasznlati mdokat, a "hasznlati eseteket" rszleteiben is kidolgozzuk ssze kell lltanunk egy stabil alaparchitektrt (architecture baseline). Alaparchitektra: brrel bortott csontvz, mely mindssze a minimlis sszekt

izomzatot tartalmazza Az alaparchitektra segtsgvel a teljes fejleszts folyamata temezhet s a kltsgei is tisztzhatk. Vg Csaba / www.logos2000.hu Idbelisg - Megvalsts Megvalsts (construction) sorn a teljes rendszert kifejlesztjk, beptjk az sszes "izomzatot". Vg Csaba / www.logos2000.hu Idbelisg - tads tads

(transition): a rendszer btavltozatnak kiprblsa nhny gyakorlott felhasznl teszteli a rendszert s jelentst kszt annak helyessgrl vagy a hibirl s hinyossgairl. A rendszer javtsa a rendszer mdostst, majd ezt kveten jabb tesztelst jelent. Vg Csaba / www.logos2000.hu Mrfldkvek fzis vge egy clt kell elrnnk kritikus dntseket kell meghozni.

fzis vgn megvizsgljuk az eredmnyeket s dntnk a folytatsrl. erforrsigny 65% 5% 10% 20% id Elkszts Kidolgozs 10% 30% Vg Csaba / www.logos2000.hu

Megvalsts 50% tads 10% Iterci Minden iterci egy teljes, illetve rszben nll fejlesztsi ciklust jelent, mivel az iterci vgn egy mkd s vgrehajthat alkalmazsnak kell elllnia. Elkszts Kidolgozs Megvalsts tads

kibocsts (release) 1. 2. n-1 n iter. iter.

Mrfldkvek Vg Csaba / www.logos2000.hu iter. iter. Eljrs elemei - produktum (artifact) msik dimenzi az eljrs elemeit hatrozza meg, a fejleszts sorn milyen dokumentumokat, diagramokat, forrskdokat - sszefoglal nven produktumokat (artifact) - ksztsnk el.

megfelel tevkenysgekkel llthatk ssze munkatrsak munkafolyamat (workflow) Vg Csaba / www.logos2000.hu kvetelmnyek meghatrozsa kvetelmnyek meghatrozsa (requirements capture): rendszer mkdsvel szemben tmasztott kezdeti elkpzelseket a rendszernek milyen krnyezetben kell mkdnie (zleti fogalmak s folyamatok) felsoroljuk a funkcionlis (mkdssel kapcsolatos) s nem-funkcionlis (pl. vlaszidk, bvthetsg, alkalmazott technolgik, stb.) kvetelmnyeket.

felhasznlk szempontjbl rjuk le a rendszert, annak egy kls kpt rgztjk Vg Csaba / www.logos2000.hu elemzs elemzs (analysis): a kvetelmnyeket a fejlesztk szempontjnak megfelelen rendezzk t a rendszer egy bels kpt hatrozzk meg rendszerezzk s rszletezzk az sszegyjttt hasznlati eseteket azok alapjn meghatrozzuk a rendszer alapstruktrjt.

Vg Csaba / www.logos2000.hu tervezs tervezs (design): az elemzs sorn kialaktott szerkezeti vz formlsa teljes alakk A tervezsnek az implementcival kapcsolatos sszes krdst meg kell vlaszolnia, gy rszletesen le kell rni az sszes felhasznlt technolgit, a rendszert fggetlen fejleszti csoportok ltal kezelhet rszekre kell bontani, meg kell hatrozni az alrendszereket s kzttk a kapcsoldsi mdokat, protokollokat. implementci tervrajza (blueprint). Vg Csaba / www.logos2000.hu

implementci implementci (implementation): a rendszert az UML terminolgija szerinti komponensekknt lltjuk el, melyek forrskdokat, binris s futtathat llomnyokat, szvegeket (pl. sg), kpeket, stb. jelentenek. llomnyok ellltsa egyben azok fggetlenl vgrehajthat, nll tesztjeit is jelentik. az architektra, illetve a rendszer, mint egsszel kapcsolatos krdsek megvlaszolsa, gy az iterci esetn szksges rendszerintegrci tervezse, az osztottsg (distribution) tervezse. Vg Csaba / www.logos2000.hu

teszt teszt (test): sszelltjuk az itercikon belli integrcis tesztek s az itercik vgn vgrehajtand rendszertesztek temtervt. Megtervezzk s implementljuk a teszteket, azaz teszt-esetekknt megadjuk, hogy mit kell tesztelnnk, teszt-eljrsokknt megadjuk azok vgrehajtsi mdjt, s programokat ksztnk, ha lehetsges a tesztek automatizlsa. A tesztek eredmnyeit szisztematikusan feldolgozzuk, majd hibk vagy hinyossgok esetn jabb tervezsi vagy implementcis tevkenysgeket hajtunk vgre. Vg Csaba / www.logos2000.hu

Mrnki elemek Kvetelmnyek Hasznlati eset modell Elemzs Elemzsi modell Tervezs Tervezsi Teleptsi modell modell Implementci Implementcis modell

Teszt Vg Csaba / www.logos2000.hu Teszt modell Intenzits Elkszts Kidolgozs 1. iter. Megvalsts

tads Kvetelmnyek Elemzs Tervezs Implementci Teszt 2. iter. Vg Csaba / www.logos2000.hu

n-1 iter. n iter. Munkafolyamat brzolsa Munkatrs Tevkenysg munkatrs Vg Csaba / www.logos2000.hu

Sorrendisg Sv A Unified Process jellemzi hasznlati eset vezrelt (use-case-driven) eljrs fejleszts temezse architektra kzpont (architecture-centric) eljrs egy

iteratv s inkrementlis (iterative and incremental) fejlesztsi mdszer itercik inkrementum Vg Csaba / www.logos2000.hu Vg Csaba / www.logos2000.hu

Recently Viewed Presentations