You are on page 1of 48

RUP ttekints Cs.

Vg (2001)

Rational Unified Process


ttekints
Vg Csaba
(www.logos2000.hu)

( 2001 )

RUP ttekints Cs. Vg (2001)

A fejleszts folyamata
A Unified Process a rendszerfejleszts folyamatt alapvet en kt dimenzival rja le. Az egyik dimenzi a fejleszts id belisgt, dinamikjt kveti. A msik dimenzi statikus szempontja az eljrs elemeit hatrozza meg, az elksztend dokumentumokat, diagramokat s forrskdokat, melyek kzvetve az elkszts lpseit, munkafolyamatait is megadjk. Az id belisg alapjn a Unified Process a rendszerfejlesztst ngy nagyobb egysgre, ngy fzisra bontja.
El kszts zleti modell Kvetelmnyek Elemzs Tervezs Implementci Teszt
1. iter. 2. iter.

Kidolgozs

Megvalsts

tads

n-1 iter.

n iter.

1. bra: Fzisok s munkafolyamatok


Az El kszts (inception) fzisban a rendszer eredeti tlett olyan rszletes elkpzelss dolgozzuk t, mely alapjn a fejleszts tervezhet lesz, a kltsgei pedig megbecslhet k. Ebben a fzisban megfogalmazzuk, hogy a felhasznlk milyen mdon fogjk hasznlni a rendszert s hogy annak milyen alapvet bels szerkezetet, architektrt alaktunk ki. A Kidolgozs (elaboration) fzisban a hasznlati mdokat, a hasznlati eseteket rszleteiben is kidolgozzuk, valamint ssze kell lltanunk egy stabil alaparchitektrt (architecture baseline). A Unified Process kszt inek a kpe alapjn a teljes rendszer egy testnek tekinthet , csontvznak, b rnek s izmoknak. Az alaparchitektra ebb l a b rrel bortott csontvz, mely mindssze a minimlis sszekt izomzatot tartalmazza, annyit, amennyi a legalapvet bb mozdulatokhoz elegend . Az alaparchitektra segtsgvel a teljes fejleszts folyamata temezhet s a kltsgei is tisztzhatk. A Megvalsts (construction) sorn a teljes rendszert kifejlesztjk, beptjk az sszes izomzatot.

RUP ttekints Cs. Vg (2001)

Az tads (transition) a rendszer btavltozatnak kiprblst jelenti, mely sorn nhny gyakorlott felhasznl teszteli a rendszert s jelentst kszt annak helyessgr l vagy a hibirl s hinyossgairl. A rendszer javtsa a rendszer mdostst, majd ezt kvet en jabb tesztelst jelent. Minden fzis vge a fejleszts egy-egy jl meghatrozott mrfldkvt (milestone) jelenti, azaz olyan pontot, ahol egy clt kell elrnnk, illetve ahol kritikus dntseket kell meghozni. Minden fzis vgn megvizsgljuk az eredmnyeket s dntnk a folytatsrl.

er forrsigny 65% 5% El kszts 10% 20% 10% id Kidolgozs 30% Megvalsts 50% tads 10%

2. bra: Fzisok id - s er forrsignye tipikus fejleszts esetn A fejleszts nagyobb egysgeit jelent fzisok tovbbi kisebb egysgekre, itercikra (iteration) bonthatk. Minden iterci egy teljes, illetve rszben nll fejlesztsi ciklust jelent, mivel az iterci vgn egy m kd s vgrehajthat alkalmazsnak kell el llnia. Minden iterci vgn gy a vgs , teljes rendszer egyre b vl rszt kapjuk eredmnyl, melyeket a rendszer egyms utni kibocstsainak (release), vagy bels vltozatainak neveznk. A bels vltozatok lehet v teszik, hogy azt a fejleszt k kiprblhassk s annak tapasztalatai alapjn esetleg mdosthassk a fejleszts temezst.

El kszts
1. iter. 2. iter.

Kidolgozs

Megvalsts

tads
n-1 iter. n iter.

Mrfldkvek
3. bra: Mrfldkvek

A Unified Process felbontsban a fejleszts menetnek msik dimenzija az eljrs elemeit hatrozza meg, hogy a fejleszts sorn milyen dokumentumokat, diagramokat, forrskdokat sszefoglal nven produktumokat (artifact) ksztsnk el. Az elksztend produktumok termszetesen a megfelel tevkenysgekkel llthatk ssze, mely tevkenysgeket pedig adott szakismerettel rendelkez szemlyek (dolgozk), adott sorrendben hajthatnak vgre. A tevkenysgek, azok id beli sorrendje s az azt vgrehajt dolgozk egyttesen egy munkafolyamattal (workflow) rhatk le.

RUP ttekints Cs. Vg (2001)

zleti elemzs
zleti modell

Kvetelmnyek
Hasznlati eset modell

Elemzs
Elemzsi modell

Tervezs
Tervezsi Teleptsi modell modell

Implementci
Implementcis modell

Teszt
Teszt modell

4. bra: Modellek

Kezdetben a fejlesztshez egy megfelel kiindulpontot keresnk. Az els tevkenysgcsoportunk gy az zleti modellezs (business model), mely sorn megkeressk a ksztend rendszer zleti vagy ms nven szakterleti krnyezett, mely alapvet en az zleti fogalmakat s folyamatokat jelentik, illetve az azokra hatst gyakorl zleti munkatrsakat. A kvetkez tevkenysg a kvetelmnyek meghatrozsa (requirements capture). Ezen munkafolyamat sorn sszegy jtjk s felsoroljuk a rendszer m kdsvel szemben tmasztott kezdeti elkpzelseket, lerjuk azt, hogy a rendszernek milyen krnyezetben kell m kdnie, valamint felsoroljuk a funkcionlis (m kdssel kapcsolatos) s nem-funkcionlis (pl. vlaszid k, b vthet sg, alkalmazott technolgik, stb.) kvetelmnyeket. A kvetelmnyek meghatrozsa sorn alapvet en a felhasznlk szempontjbl rjuk le a rendszert, gy annak egy kls kpt rgztjk. A kvetkez munkafolyamat, az elemzs (analysis) folyamn a kvetelmnyeket a fejleszt k szempontjnak megfelel en rendezzk t, gy azok egyttessen a rendszer egy bels kpt hatrozzk meg, mely a tovbbi fejleszts kiindulpontja lesz. Az elemzs sorn rendszerezzk s rszletezzk az sszegy jttt hasznlati eseteket, valamint azok alapjn meghatrozzuk a rendszer alapstruktrjt. Az elemzs clja a szerkezeti vz kialaktsa, mely vzat a kvetkez munkafolyamat, a tervezs (design) formlja teljes alakk s tlti fel konkrt tartalommal, mely az sszes funkcionlis s nem-funkcionlis kvetelmnynek is eleget tesz. A tervezsnek az implementcival kapcsolatos sszes krdst meg kell vlaszolnia, gy

RUP ttekints Cs. Vg (2001)

rszletesen le kell rni az sszes felhasznlt technolgit, a rendszert fggetlen fejleszt i csoportok ltal kezelhet rszekre kell bontani, meg kell hatrozni az alrendszereket s kzttk a kapcsoldsi mdokat, protokollokat. A tervezsnek a rendszert olyan rszletezettsgi szinten kell vzolnia, melyb l az kzvetlenl, egyetlen krds s problma felvetse nlkl implementlhat. A Unified Process szhasznlata szerint el kell lltania az implementci tervrajzt (blueprint). Az implementci (implementation) sorn a rendszert az UML terminolgija szerinti komponensekknt lltjuk el , melyek forrskdokat, binris s futtathat llomnyokat, szvegeket (pl. sg), kpeket, stb. jelentenek. Az llomnyok el lltsa egyben azok fggetlenl vgrehajthat, nll tesztjeit is jelentik. Az implementci feladata mg az architektra, illetve a rendszer, mint egsszel kapcsolatos krdsek megvlaszolsa, gy az iterci esetn szksges rendszerintegrci tervezse, az osztottsg (distribution) tervezse. Az utols munkafolyamat, a teszt (test) sorn 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 vgrehajtsval prhuzamosan azok eredmnyeit szisztematikusan feldolgozzuk, majd hibk vagy hinyossgok esetn jabb tervezsi vagy implementcis tevkenysgeket hajtunk vgre. A felsorolt munkafolyamatok a Unified Process n. mrnki elemei, melyek mindegyike sszefoglal nven egy-egy modellt llt el . A mrnki elemek mellett lteznek mg a fejlesztssel kevsb szoros kapcsolatban lv kiegszt elemek (pl. a fejleszts irnytsa) is. A fejleszts folyamatnak id beni s munkafolyamatok alapjn trtn felbontsa egy intenzitsi grbe segtsgvel kapcsolhat ssze. El kszts zleti modell Kvetelmnyek Elemzs Tervezs Implementci Teszt
1. iter. 2. iter.

Kidolgozs

Megvalsts

tads

n-1 iter.

n iter.

5. bra: Fzisok s munkafolyamatok

RUP ttekints Cs. Vg (2001)

Az el kszts fzisban a legnagyobb hangsly a kvetelmnyek rgztsre helyez dik, a tbbi tevkenysg pedig jval kisebb mrtkben kap szerepet, tesztels pedig gyakorlatilag nincs is. A ks bbi itercikban, illetve fzisokban ez a hangsly fokozatosan thelyez dik a technikaibb jelleg tevkenysgekre. Az tads fzisban mr els sorban tesztels zajlik, gy elemzs, tervezs s implementci a tesztekre vonatkozan s azok eredmnyeit l fgg en vlik szksgess, mg a kvetelmnyek sszegy jtse mr nem kap szerepet. A Unified Process az egyes munkafolyamatok (workflow) brzolsra specilis diagramokat alkalmaz. A diagram alapelemei a tevkenysgek, melyek mindegyike egy vagy tbb produktumot (dokumentumot, kdot, stb.) hoz ltre, vagy azokon mdost. A diagramot a tevkenysgeket vgrehajt szemlyek, n. munkatrsak alapjn vonalakkal elvlasztott svokra (swimlanes) bontjuk. Minden tevkenysg az azrt felel s munkatrs mez jben helyezkedik el, a tevkenysgek ajnlott id beli egymsutnisgt, sorrendisgt pedig nyilakkal jelljk.

Munkatrs

Tevkenysg

Sorrendisg

Sv

6. bra: Munkafolyamat-diagram jellsei

Fontos megjegyeznnk, hogy a munkafolyamat-diagram a tevkenysgeknek mindssze egy logikai sorrendisgt hatrozza meg, melyt l a krlmnyeknek megfelel en eltrhetnk. Nem szksges teht kvetnnk a diagramot, hanem mdosthatunk a sorrendisgen, ha az ugyancsak az eredetivel ekvivalens vgeredmnyhez vezet. A munkatrs (worker) ltalban nem egy konkrt szemlyt jell, hanem egy adott szaktudst, illetve olyan pozcit, amelyet egy vagy tbb konkrt szemly is betlthet. A fejleszts folyamn egyetlen szemly klnbz pozcikban, klnbz munkatrsknt is megjelenhet, illetve egyetlen munkatrs szerept ltalban tbb konkrt szemly tlti be.

A Unified Process jellemz i


A Unified Process ms, objektumorientlt rendszerfejlesztsi eljrsokhoz a hrom legjellemz bb tulajdonsga alapjn hasonlthat. A Unified Process az Objectory rkseknt egy n. hasznlati eset vezrelt (usecase-driven) eljrs, amely azt jelenti, hogy a fejleszts teljes folyamata sorn a hasznlati eseteket eszkzrendszert, illetve az azzal kialaktott modellt alkalmazzuk a fejleszts temezsre. A hasznlati esetek nmagukban mg nem adnak a teljes fejlesztsi folyamathoz elegend informcit. A szksges tbbletet a Unified Process a rendszer architektrjaknt nevezi meg, mely a rendszernek a fejlesztsben rszt vev sszes munkatrs ltal kzsen kialaktott vzt, leglnyegesebb elemeinek gy jtemnyt jelenti.

RUP ttekints Cs. Vg (2001)

A Unified Process architektra kzpont (architecture-centric) eljrs, mivel a munkafolyamatokban nagy hangslyt kap a megfelel architektra kialaktsa. A Unified Process a fejleszts teljes folyamatt kisebb rszekre bontja, melyek nllan is egy teljes fejlesztsi folyamatot jelentenek. Az egyes rszeket iterciknak nevezzk, mivel a fejlesztst ismtl d , iteratv ciklusokban hajtjuk vgre. Egy iterci nem a rendszer egy, a korbbitl fggetlen rszt lltja el , hanem a rendszert jabb funkcionalitssal b vti, vagy a korbbi funkcionalitst teszi vltozatosabb, gazdagtja. Az iterci b vtst s mdostst inkrementumnak nevezzk. A Unified Process gy egy iteratv s inkrementlis (iterative and incremental) fejlesztsi mdszer.

Hasznlati eset vezrelt eljrs


A Unified Process clja a fejleszt knek egy olyan lpssorozat megadsa, mellyel hatkonyan kifejleszthetik s telepthetik azt a rendszert, mely a felhasznlk ignyeinek megfelel . A hatkonysg mrhet a kltsgek, a min sg s a fejlesztsi id egysgeivel. A felhasznlk ignyeinek teljestse s annak ellen rzse azonban tbb problmba is tkzik. Rszben magnak a felhasznlk ignyeinek, a kvetelmnyeknek a feldertse is nehz, az implementci helyessge, a teljests ellen rzse pedig a tesztels feladataknt jelenik meg. A hasznlati esetek eszkzkszlete a gyakorlat ltal bizonytottan az egyik legegyszer bb s legalkalmasabb eszkz a rendszerrel tmasztott alapvet ignyek sszegy jtsre. Mindezek mellett az gy kialakult modell a teljes fejlesztsi folyamat temezsre is kivlan alkalmazhat. Az elemzs folyamatban a hasznlati eset modellt vizsgljuk, abbl kivlasztjuk az aktulis iterciban kidolgozand elemeket, majd abbl egy olyan elvi (elemzsi) modellt ptnk fel, amely logikailag alkalmas a hasznlati esetek kvetelmnyeinek a megvalstsra. Ehhez elksztjk a hasznlati esetek elemzsi szint megvalstsait, melyek elvi szinten, osztlyok kztti zenetkldsekknt lejtsszk a feladathoz szksges interakcikat. A hasznlati esetek, ill. a hasznlati eset megvalstsok kett se lehet v teszi azt, hogy az elemzsi modell minden egyes eleme esetn pontosan nyomon kvethet , hogy milyen cllal kerlt be a rendszerbe. A megvalstsok alapjn a hasznlati esetek feladatait az osztlyokra vonatkoz kvetelmnyekk bontjuk szt. A tervezs munkafolyamata sorn ugyancsak a hasznlati eseteket vesszk sorra. Ekkor azok elemzsi szint megvalstsait tervezsi szint megvalstsokk rjuk t, melyeket mr a kivlasztott konkrt platform s programozsi nyelv eszkzrendszervel s jellseivel adunk meg. A tervezs sorn gy az elemzsi elvi modellt konkrt gyakorlati tartalommal tltjk fel. Az implementci a tervezs lersnak megfelel forrskdok s egyb alkotelemek, n. komponensek elksztst jelenti. A hasznlati esetek ekkor segtenek kialaktani a komponensek implementcijnak s integrcijnak a sorrendjt. Vgl, a teszt munkafolyamat sorn a tesztel k ellen rzik, hogy a hasznlati esetek ltal meghatrozott funkcionalits valban megfelel en s hinyok nlkl implementlsra kerlt. A teszt modell a hasznlati esetek alapjn kialaktott n. teszt-eseteket tartalmaz, melyek adott bemeneti adatok s vgrehajtsi felttelek gy jtemnyt, valamint az azokra adott elfogadhat vlaszokat hatrozzk meg.

RUP ttekints Cs. Vg (2001)

Architektra kzpont fejleszts


A hasznlati esetek rendkvl alkalmasak a kvetelmnyek sszegy jtsre s brzolsra, valamint a fejleszts temezsre, azonban nmagukban tlsgosan cseppfolysak, nem rajzoljk meg elg pontosan a ksztend rendszer krvonalait. A rendszer lnyegi, m kdtet alapszerkezett, a krvonalakat a Unified Process a rendszer architektrjaknt nevezi. A rendszer architektrja annak leglnyegesebb elemeit tartalmazza, melyek egyttesen a rendszer alapszerkezett adjk meg. Az alapszerkezet a rendszer megrtse s kifejlesztse sorn alapvet fontossg. A Unified Process szerz i egy hzpts pldja alapjn magyarzzk el az architektrt. A hzpts el tt klnbz tervrajzokat ksztnk, pldul az ptmnyt megad rajzot, valamint tbb ms, pldul a vzvezetk-, f ts- s elektromos-rendszert brzol rajzokat. Az egyes rszek konkrt megvalstsa szempontjbl a rajzok csak vzlatok, azonban meghatrozzk a szksges alapvet felptst. A klnbz munkatrsak ltal ignyelt klnbz rajzok a teljes rendszer ms s ms nzeteit (view) hatrozzk meg, mely nzetek egyttesen adjk meg az architektrt. Az architekturlis lersra tbb szempontbl is szksgnk van. A napjainkban fejlesztett szoftver-rendszerek ltalban nagymret ek, bonyolult krnyezetben helyezkednek el s rendkvl sszetett a bels felptsk s m kdsk. Az architektra a bonyolult teljes rendszer egy ttekint kpt fogalmazza meg, gy segti a rendszer megrtst. Az architektra a fejleszts felbontsra s temezsre is alkalmazhat. A rendszert ltalban alrendszerekre bontjuk, melyek egymshoz adott interfszeken keresztl kapcsoldnak. A felbontst kvet en meghatrozzuk az alrendszerek kifejlesztsnek sorrendjt s a fejlesztsrt felel s csoportokat. Mivel az architektra segti a teljes rendszer ttekintst, ezrt arra is kivlan alkalmazhat, hogy az elemek ltalnostsval tbb helyen is alkalmazhat komponenseket hatrozzunk meg, melyeket ezutn az n. jrafelhasznlssal az ismtelt fejleszts kltsgnek a tredkrt bepthetnk. Ugyancsak az ttekinthet sg miatt a j architekturlis lers a rendszer ks bbi mdostsait is megknnyti, mivel knnyebben meghatrozhat, hogy mit s milyen mdon kell mdostanunk s az milyen er forrsokat ignyel. A megfelel en kialaktott architektra esetn pedig egy j funkcionalits bevezetse a rendszer kisebb mrtk vltoztatsval is vgrehajthat. Az architektra kialaktst a rendszerfejleszts krnyezete is nagymrtkben befolysolja, pldul a kvetkez tnyez k: alkalmazott rendszerszoftverek, pldul opercis rendszerek s adatbziskezel k, alkalmazott middleware, pl. az osztottsg keretrendszere vagy a felhasznli felletek keretrendszere, milyen, mr ltez kls rendszerekhez kell illeszkedni, milyen kls vagy bels szabvnyokat alkalmazunk, ltalnos szerep nem-funkcionlis kvetelmnyek,

RUP ttekints Cs. Vg (2001)

9
kliens-szerver architektra

osztottsg architekturlis kvetelmnyei, pl. alkalmazsa.

A Unified Process kln definilja az alaparchitekra (architecture baseline) fogalmt, mely a teljes rendszer egy nllan is m kd , er sen egyszer stett vltozata. A ks bbi itercik ezen alaparchitektra alapjn, illetve az kr ptkeznek

Iteratv s inkrementlis eljrs


A feladatok sszetettsge miatt minden szoftver-fejlesztsi eljrs sorn clszer egyrtelm en megfogalmazni a fejleszts mrfldkveit (milestones), hogy vilgosan lthat legyen a mrfldkvek kztti fzis (phase) sorn elrend cl. A fzisok nagyobb egysgeit ugyancsak clszer tovbbi kisebb lpsekre bontani, mely lpsek a Unified Process esetn az inkrementumokat megvalst itercis lpsek lesznek. Iteratv s inkrementlis fejleszts esetn a teljes fejlesztsi folyamat nem vzessszer en, egyetlen nagy egysgben trtnik. Ehelyett minden bels kis fejlesztsi ciklus esetn el szr szerveznk egy keveset, elemznk, terveznk, implementlunk egy keveset, majd integrlunk s tesztelnk egy keveset a Unified Process szerz inek mr szlogenn vlt receptje szerint. Az itercis ciklusokban a rendszer egyre b vl rszeit fejlesztjk ki. A b vtmnyeknek, azaz az inkrementumoknak a rendszerhez val kapcsolsa gy nem a teljes fejleszts vgn, egyetlen nagy lpsben trtnik, hanem azt a fejleszts sorn folyamatosan kell vgrehajtani. Az iteratv s inkrementlis rendszerfejlesztsi eljrs legfontosabb el nyeit a kvetkez kben foglalhatjuk ssze: a fejleszts kritikus s lnyeges kockzatai hamarabb azonosthatk, a megfelel architektra knnyebben kialakthat, segti a vltoz kvetelmnyeknek megfelel en, knnyebben mdosthat keretrendszer kialaktst a munkatrsak hatkonyabban vehetnek rszt a fejlesztsben.

Fzisok
A fejlesztst az id alapjn a fzisok nagyobb egysgeire bontjuk. Minden fzis a fejleszts egy-egy jl meghatrozott mrfldkvt jelenti, azaz olyan pontot, ahol egy clt elrtnk, illetve ahol kritikus dntseket kell meghozni. Minden fzis vgn megvizsgljuk az elrt eredmnyeket s dntnk a fejleszts folytatsrl. Minden fzis kzbls itercikra bonthat, mely egy-egy teljes fejlesztst jelent, amelyek mind vgrehajthat alkalmazst, a vgs , teljes rendszer egyre b vl rszeit eredmnyezik.

RUP ttekints Cs. Vg (2001)

10

El kszts
Az el kszts (inception) els sorban zleti szempontbl rja le a fejlesztst s meghatrozza az alkalmazs hatrait. Az zleti szempont rviden a kvetkez ket jelenti: sikertnyez k meghatrozsa kockzati tnyez k felmrse er forrs-becsls projekterv: a mrfldkvek dtumainak meghatrozsa A fzis vgn meghatrozzuk az egyes itercis ciklusok cljt s dntnk a folytatsrl

Kidolgozs
A kidolgozs (elaboration) sorn a problmt els sorban szakterleti szempontbl elemezzk. Ehhez a kvetkez feladatokat kell vgrehajtanunk: megbzhat architektrt alaktunk ki meghatrozzuk a projekt-tervet megszntetjk a legkritikusabb kockzati tnyez ket Az architektrra vonatkoz helyes dntseket csak a teljes rendszer megismerse utn hozhatunk, ezrt szksges, hogy a hasznlati esetek dnt rszt specifikljuk, valamint, hogy meghatrozzuk a nem-funkcionlis kvetelmnyeket. Ezutn a megoldsi mdokat ellen rizzk egy olyan rendszer implementlsval, amely bemutatja a kivlasztott architektra m kdst s vgrehajtja a jellemz hasznlati eseteket. A fzis vgn kivlasztottuk az architektrt s megszntetettk a f bb kockzati tnyez ket. A mrfldk nl itt is elemezzk az elrt eredmnyeket s dntnk a folytatsrl

Megvalsts
A megvalsts (construction) sorn a teljes rendszert iteratv s inkrementlis mdon kifejlesztjk. Ehhez: specifikljuk az elmaradt hasznlati eseteket a tervezsre helyezzk a hangslyt kiegsztjk az implementcit teszteljk az elksztett alkalmazst A fzis vgn mr m kd kpes szoftvert lltunk el , melyr l dntennk kell, hogy az kibocsthat-e a felhasznlknak.

tads
Az tads (transition) lezr fzisa sorn az alkalmazst tadjuk a felhasznlknak.

RUP ttekints Cs. Vg (2001)

11

Ez a fzis tipikusan az alkalmazs bta-tesztjvel kezd dik. A rendszer hangolsa miatt szksg lehet kiegszt fejlesztsekre. A megjelen hibkat ki kell kszblni. A mg hinyz rszeket ki kell fejleszteni. A fzis vgn dnteni kell, hogy elrtk-e a fejleszts sorn kit ztt clokat, illetve, hogy indtanunk kell-e jabb fejlesztsi ciklust. Ugyancsak clszer , hogy a projekt tapasztalatait elemezve vizsgljuk meg azt, hogy miknt mdosthatunk a fejlesztsi mdszernkn.

sszefoglals
A Unified Process a rendszerfejleszts folyamatt kt dimenzival rja le. Az egyik dimenzi a fejleszts id belisgt, dinamikjt kveti, mely mentn ngy fzist klnbztet meg. Az El kszts fzisban a rendszer eredeti tlett olyan rszletes elkpzelss dolgozzuk t, mely alapjn a fejleszts tervezhet lesz, a kltsgei pedig megbecslhet k. A Kidolgozs fzisban a hasznlati mdokat, a hasznlati eseteket rszleteiben is kidolgozzuk, valamint ssze kell lltanunk egy stabil alaparchitektrt. A Megvalsts sorn a teljes rendszert kifejlesztjk, az tads pedig els sorban a rendszer btavltozatnak a kiprblst jelenti. A statikus dimenzi az eljrs elemeit hatrozza meg, az elksztend dokumentumokat (diagramokat, forrskdokat). A Unified Process hasznlati eset vezrelt, architektra kzpont, valamint iteratv s inkrementlis fejlesztsi mdszer.

Krdsek

Mi a Unified Process megkzeltsben a fejleszts felbontsnak kt dimenzija. Az El kszts fzisban mi a fejleszts clja? Melyek a Kidolgozs feladatai? Mi a teend a Megvalsts fzisban? Az tads fzisban mely tevkenysgekre helyez dik a hangsly? Milyen mdon kapcsoldik ssze a fejleszts kt dimenzija? Mit jelent az, hogy a Unified Process hasznlati eset vezrelt? Mit jelent az, hogy a Unified Process architektra kzpont fejlesztsi mdszer? Mit neveznk itercinak? Mi az inkrementum?

RUP ttekints Cs. Vg (2001)

12

zleti modellezs
A rendszer tnyleges fejlesztse el tt ssze kell gy jtennk a rendszerrel kapcsolatos kvetelmnyeket. A kvetelmnyek pontos megrtshez azonban az is szksges, hogy ismerjk a ksztend rendszerrel kapcsolatos fogalmakat, azok viszonyait valamint az zleti entitsokkal (objektumokkal) kapcsolatos m veleteket, azaz a rendszer krnyezett, melyet zleti krnyezetnek vagy zleti modellnek is neveznk. Az zleti modellezs (business modeling) lpse sorn a fejleszts s egyben a kifejlesztend rendszer krnyezett hatrozzuk meg s rjuk le valamely formalizlt mdon. Az zleti modellezs a ks bbi munkafolyamatok egy el kszt lpseknt, annak kiindulpontjaknt szolgl.

zleti modell
Az zleti modellezs eredmnye az zleti modell, mely alapvet en a szervezet (vagy szervezetek) dolgozit, az azok ltal kezelt zleti entitsokat s a kezels mdjait, azaz az zleti hasznlati eseteket tartalmazza. Az zleti modell egyrszr l tartalmaz egy ttekint szerep dokumentumot, melyben sszefoglaljuk az zletmenet legfontosabb definciit s cljait. Az zleti modell legalapvet bb eleme a kzs sztr vagy ms nven szjegyzk (glossary). A fejleszts ks bbi fzisaiban kszl dokumentumokban az egyrtelm sg s a konzisztens fogalmazs miatt csak a sztrban tallhat elnevezseket szabad hasznlni. A szjegyzk rendkvl egyszer felpts , fogalmanknt mindssze annak megnevezst s rvid lerst tartalmazza. A Unified Process az zleti modellt alapvet en kt megkzeltsben trgyalja. Az zleti hasznlati eset modellben a hasznlati esetekknt modellezett zleti funkcikon van a hangsly, mellyel a szervezeti m kds alapvet szerepl it s azok felel ssgeit brzoljuk. Az zleti objektum modellben a f szerepl k az zleti munkatrsak s az zleti entitsok, valamint a kzttk lv kapcsolatok; a munkatrsakat s entitsokat csomagokknt brzolt szervezeti egysgekbe, illetve szervezetekbe csoportostjuk. Az zleti modellhez, azon bell is az zleti objektum modellhez hasonl szerep a szakterleti modell (domain model), amely a krnyezet lnyeges fogalmait szakterleti objektumokknt jelenti meg, s ez alapjn brzolja a kzttk lv kapcsolatokat, viszonyokat. Amg az zleti modell els sorban az zleti folyamatokra, tevkenysgekre helyezi a hangslyt, addig a szakterleti modell clja az zlet szerepl ir l, objektumairl s fogalmairl egy szerkezeti-jelleg brzols sszelltsa. A szakterleti objektumok a ks bbi elemzs s tervezs sorn ltalban a ksztend rendszerben tpusokknt, azaz osztlyokknt is megjelennek.

Munkatrsak
Az zleti modellezs munkafolyamatait vgrehajt munkatrsakkal szemben fontos kvetelmny, hogy tisztban legyenek az zlet szakterletnek fogalmaival. Tovbbi kvetelmny a j kommunikcis kpessg.

RUP ttekints Cs. Vg (2001)

13

Az zleti folyamat elemz (business-process analyst) vezeti s koordinlja a modellezend szervezetre vonatkoz zleti hasznlati eset modell sszelltst, gy annak megllaptst, hogy milyen zleti aktorok s zleti hasznlati esetek lteznek s azok egymshoz milyen mdon kapcsoldnak. Az zleti folyamat tervez (business designer) feladata az adott szervezeti egysg lersnak a rszletezse, mely egy vagy tbb zleti hasznlati eset ltal alkotott munkafolyamat meghatrozst jelenti. Megadja azokat az zleti munkatrsakat s zleti entitsokat, amelyek az zleti folyamatok (hasznlati esetek) megvalstshoz szksgesek. A tervez sszegy jti ezen munkatrsak s entitsok felel ssgeit, m veleteit, attribtumait s a kzttk lv viszonyokat.

Munkafolyamat
Szjegyzk sszelltsa
A szjegyzk sszelltsa sorn megkeressk s definiljuk a szakterlettel kapcsolatos alapvet fogalmakat s kifejezseket. Fontos, hogy az sszes ezt kvet dokumentumban konzisztens mdon ezeket az elnevezseket s azokat is csak a megadott definci rtelmben hasznljuk. Termszetesen a fejleszts sorn a szjegyzk b vlhet s mdosulhat az jabb, illetve a tisztzd kvetelmnyeknek megfelel en. A kvetkez kben pldnkknt szolgl biztonsg technikai szakzlet informcis rendszere esetn a szjegyzknkbe tartozhatnak a kvetkez fogalmak: Szlltlevl: Az zletb l a telept k ltal elvitt rukrl ksztett pozitv tteleket tartalmaz szmla, amelyet tulajdonkppen a fizetsi haladk igazolsra hasznlnak. Visszavtelezett szlltlevl: Amikor a telept kifizeti a mr elvitt termkek rt, akkor a bolt, az ltala killtott szlltlevelet visszaveszi. Szlltlevl visszavtelezskor killtott szlltlevl: A szlltlevl visszavtelezsnek igazolsra killtanak a szlltlevl tteleir l egy msik szlltlevelet, de ezt mr negatv sszeggel. Beszerzsi r: A szlltk ltal megllaptott r, amennyirt t lk a szakzlet beszerzi az rukat. Vgfelhasznli r: A szakzlet ltal meghatrozott r. A szjegyzkben a fogalmakat clszer egyes szm f nevekknt megadni. Az elnevezsek defincijban az azokkal kapcsolatba kerl sszes szemlynek egyet kell rteni, gy a felhasznlknak s a fejleszt knek is.

zleti aktorok s hasznlati esetek keresse


Az zleti aktorok s hasznlati esetek keressnek (find business actors and use cases) lpsben az zleti folyamatoknak a vzt lltjuk ssze, gy azt is meghatrozzuk, hogy az zlet mely rszeit fogjuk modellezni, s mely rszeket helyezzk

RUP ttekints Cs. Vg (2001)

14

az rdekl dsnk hatrain tl. A vzlathoz sszegy jtjk azokat, akik kapcsolatban lesznek az zlettel, majd a folyamatok alapjn diagramokon brzoljuk az zletmenetet. El szr zleti aktorokat keresnk, mely jelenthet brmely szemlyt, csoportot, szervezetet, cget vagy akr gpet, mely kapcsolatban lehet az zlettel. Nhny plda: vsrl, vev , fogyaszt, megrendel , partner, tulajdonos, befektet , kls informcis rendszer Amennyiben a modellezend zlet egy nagyobb vllalatnak a rsze, akkor ugyancsak aktorknt jelenhet meg a vllalat tbbi egysge, illetve az ahhoz tartoz szemlyek ltal elltott szerepek. A pldnk alapjn ilyen aktorok a kvetkez k: Vgfelhasznl: a szakzlet rucikkeinek vsrli, s a teleptend rendszerek megrendel i. Telept k: azok a vllalkozk, amelyek a bolt rukszletnek felhasznlsval biztonsgtechnikai rendszereket ptenek ki. Szlltk: azok a cgek, vllalkozsok, gyrtk, import rk, amelyekt l a szakzlet az rucikkeket megrendeli, s beszerzi. Vllalkozsvezet : vele szemben elszmols kteles az zletvezet , s az hossz tv irnyelvei figyelembe vtelvel vgzi az zlet vezetst. Az aktorok alapjn ezutn zleti hasznlati eseteket keresnk, mgpedig gy, hogy megvizsgljuk, hogy az egyes aktoroknak az zletb l milyen hasznuk szrmazik. Clszer az zlet legfontosabb szerepl jvel, a vev vel kezdeni, s megvizsglni, hogy milyen alapvet szolgltatsokat kap az zletmenett l. Ehhez felhasznlhatjuk a vev nek az zlet szempontjbl vett letciklust, azaz hogy milyen esetekben tallkozik el szr az zletmenettel, majd ezutn milyen helyzetekben jelenhet meg. Ennl a lpsnl nagyon nagy segtsget nyjthat az zletmenet szakrt je azzal, hogy lerja az zletmenet aktivitsait, majd ezeket zleti hasznlati esetekbe csoportostja. Pldnk alapjn a vgfelhasznl hasznlati esetei lehetnek a kvetkez k: Beszerzs ignylse Szmlzs: szmukra a bolt az rtkestett termkekr l szmlt llt ki A telept kkel kapcsolatos nhny hasznlati eset a kvetkez : Beszerzs ignylse Bizomnyi rtkests: rucikkeket vihetnek ki az zletb l, azonnali kszpnz fizets nlkl, a bolt ltal killtott szlltlevl ksretben Szmlzs: szmukra a bolt az rtkestett termkekr l szmlt llt ki, a visszavtelezett szlltlevllel egyid ben. Az rajnlatttel hasznlati esett rviden a kvetkez kppen rhatjuk le: rajnlati adatok rgztse, a szllt adatainak rgztse s mdostsa, valamint a termkek adatainak szksg szerinti rgztse trtnik meg ennek az eljrsnak a vgrehajtsakor. Az eljrst az j rajnlat rkezse, illetve a szlltrl rkez egyb informci indtja. Az zleti aktorok, majd a hasznlati esetek keresse utn meghatrozzuk a hasznlati esetek prioritsait, ami els sorban annak az eldntst jelenti, hogy az lnyeges szerepet kaphat-e az informcis rendszernk szempontjbl, gy azokat rszletesen ki kell majd fejteni.

RUP ttekints Cs. Vg (2001)

15

Az sszegy lt informcik alapjn vzoljuk az zleti hasznlati esetek munkafolyamatt. Ehhez az egyes hasznlati esetekhez egy-egy tipikus lpssorozatot runk, mely lpsei mind az aktor, illetve az zletmenet egy-egy akcijra utalnak. Az zleti aktorok s hasznlati esetek interakcis mdjnak megadsakor kommunikcis asszociciknt jelljk az elemek kztti kapcsolatot. Ha az aktor kezdemnyezi a kommunikcit, akkor azt a navigcis irny megadsval hangslyozzuk. Nagy mennyisg zleti hasznlati eseteket s aktorokat csomagokba csoportosthatunk, gy a dokumentcink rthet bb s ttekinthet bb lesz. Ezutn az zleti hasznlati eseteket hasznlati eset diagramokknt brzoljuk, mely az zleti aktorokat, hasznlati eseteket s a kzttk lv viszonyokat szemllteti. Vgl elksztjk az zleti hasznlati eset modell ttekint sszefoglalst, melyben az zletmenet legalapvet bb cljait, illetve tipikus tevkenysgsorozatokat gy jtnk ssze, valamint megemltjk, hogy mely elemek nem fognak szerepelni a modellnkben.

Fogalomsztr zleti aktorok s sszelltsa hasznlati esetek keresse zleti-folyamat elemz

Hasznlati eset modell strukturlsa

zleti-folyamat tervez

zleti hasznlati eset rszletezse

zleti munkatrs rszletezse

zleti munkatrsak s entitsok keresse zleti entits rszletezse

7. bra: zleti modellezs

zleti hasznlati eset rszletezse


A kiindulsi modellnkben a prioritsok meghatrozsakor mr kijelltk, hogy mely hasznlati eseteknek szksges az alaposabb vizsglata, gy az zleti hasznlati esetek rszletezsekor (detail a business use case) ezeket vesszk sorra. Kiindulsi pontknt tovbbi informcikat gy jtnk a kivlasztott hasznlati esetr l, mely alapja a hasznlati eset munkafolyamatnak lpsenknti vzlata lesz, melyet tovbb kell finomtanunk. A Unified Process ajnlsa szerint meg kell neveznnk a hasznlati esethez tartoz legalbb tz tevkenysget, illetve legalbb tz, az zleti aktorral lefolytatott interakcit, mely utbbi jelentheti az aktor krst, vagy az zletmenet reakcijaknt megjelen esemnyt. Az sszegy jttt tevkenysgeket s interakcikat az id belisg mentn elhelyezve megkapjuk a munkafolyamat alapjt.

RUP ttekints Cs. Vg (2001)

16

Az zleti hasznlati eset rszletezse sorn az alapknt szolgl munkafolyamatnak tbb vltozatt ksztjk el. El szr lerjuk a munkafolyamat egy vagy tbb normlis lefolyst, majd ezutn alternatv vltozatokat ksztnk. Szveges megadskor fontos, hogy a szjegyzk fogalmait hasznljuk, egyben hivatkozhatunk is az ott szerepl lersokra s fogalom-rtelmezsekre. Ha mr a rendelkezsnkre ll az zleti hasznlati eset munkafolyamata, azt ltalban tbb rszfolyamatra tudjuk bontani, azaz strukturljuk az zleti hasznlati eset munkafolyamatt. Az zleti hasznlati eset folyamata tbb lehetsges tvonalat is kvethet, adott aktor tevkenysgt l vagy adott rtkekt l fgg en, illetve lehetnek benne opcionlis, illetve prhuzamosan vgrehajthat rszek, melyek azonos id ben is megtrtnhetnek. Clszer rszfolyamatknt kiemelni a tevkenysgsorozat nagy, sszefgg rszeit, gy ttekinthet bb lesz a lers. Az zleti aktorok s ms hasznlati esetekkel val viszonyt hasznlati eset diagramon brzolhatjuk, mely a kivlasztott hasznlati esetre vonatkoz loklis diagram lesz. A hasznlati esetnl meg kell adnunk a specilis kvetelmnyeket, pldul a tevkenysgek id korltait s a hatkonysg lnyeges cljait, klnsen azokat, amelyeket az informcis rendszer szempontjbl kell majd figyelembe vennnk. Ha a hasznlati esetet valamely ms hasznlati esetek kiterjeszthetik, akkor fel kell sorolnunk s meg kell neveznnk annak a kiterjesztsi pontjait, azaz azokat a helyeket, ahol a kiterjesztsek bekapcsoldhatnak a folyamatba.

zleti hasznlati eset modell strukturlsa


A folyamatosan b vl hasznlati eset modellnket ezen a ponton clszer tdolgozni, hogy a tovbbi b vtsekkel egytt a rszletezettebb vltozatnak is megtarthassuk az ttekinthet sgt. Az zleti hasznlati eset modell strukturlsa (structure the business use-case model) jelenti bizonyos elemek kiemelst az alap hasznlati esetekb l, illetve j, ltalnos aktorok felvtelt. Amennyiben valamely hasznlati esetek munkafolyamatban tallunk olyan nagyobb rszeket, melyek kiemelhet k, akkor az gy levlasztott rszt az include kapcsolattal kthetjk az alap hasznlati esethez. Ha a folyamat egy nagyobb rsze opcionlis, azaz csak bizonyos krlmnyek kztt hajtdik vgre, akkor azt kiemelve az alapesethez az extend kapcsolattal kthetjk. Ha bizonyos hasznlati eseteknek a struktrja, clja s m kdse hasonl, akkor azok alapjn egy ltalnos hasznlati esetet vehetnk fel, melyet az ltalnosts jellsvel kapcsolunk a specilis vltozatokhoz. Gyakran el fordul, hogy adott zleti aktorok bizonyos hasznlati esetekhez mind formai, mind logikai szempontbl azonos mdon kapcsoldnak, azaz ugyanabban a szerepben jelennek meg. Ezt a helyzetet az aktor ltalnostsval szemlltethetjk.

zleti munkatrsak s entitsok keresse


Az zleti hasznlati esetek egyenknt trtn , rszletez vizsglatnak folytatsaknt ezutn azokat egy msik szempontbl kezdjk el vizsglni. Ebben a lpsben zleti munkatrsakat s entitsokat keresnk (find business workers and entities), gy azonostjuk az zletmenettel kapcsolatos sszes szerepet s dolgot, gy le tudjuk rni, hogy ezek milyen mdon vesznek rszt az zleti hasznlati esetek megvalstsban. El szr azonostjuk s lerjuk a szervezeti egysgeket, kivlasztva azokat, melyek lnyegesek lesznek a modellnk szempontjbl. Amennyiben azok lnyeges bemenetet

RUP ttekints Cs. Vg (2001)

17

adnak, vagy lnyeges kimenetet kapnak valamely hasznlati esett l, akkor azok a rendszer krnyezetnek aktoraknt jelenik meg. A szervezeti egysgben minden egyes szerepet zleti munkatrsknt kell azonostanunk, melyeket mind egy-egy rvid lerssal is el kell ltnunk. Az zleti entitsok azonostst az zleti munkatrsak segtsgvel vgezhetjk el, sorra vve, hogy a munkatrs milyen dolgokat kezel. Amennyiben az zleti entitsoknak tudniuk kell egymsrl, akkor azt asszocicis kapcsolattal brzoljuk. Ha kzttk a viszony rsz-egsz jelleg , akkor azt aggregcis kapcsolatknt jelljk. Az ltalnos entits s annak egy vagy tbb specilis vltozata esetn az ltalnosts-pontosts viszonyt kell alkalmaznunk. A viszonyokat gy vgl egy osztlydiagramon brzoljuk. Minden egyes zleti hasznlati eset sorravtelnl meg kell hatroznunk annak a realizcijt, megvalsulst. Ehhez azonostjuk a folyamatban rszt vev zleti munkatrsakat s entitsokat, majd a csoportmunkt egy egyttm kdsi diagramon brzoljuk. El szr clszer a norml lefolyst brzolni, majd az alternatv s az opcionlis vltozatokat. Az elemek b vlsvel az ttekinthet sg rdekben clszer strukturlni az zleti objektum modellt. Ehhez meghatrozzuk minden egyes zleti entits letciklust. Minden entitst egyszer elksztenek, ill. vgl trlnek az zletmenet folyamn. Ellen rizzk, hogy az entitst elri, illetve hasznlja-e valamely munkatrs. ltalban az entitsnak ltezik egy tulajdonosa, aki azrt felel s ez a viszony asszociciknt modellezhet .

zleti munkatrs lersnak rszletezse


Ebben a lpsben az sszegy jttt zleti munkatrsakrl rszletezettebb informcikat adunk meg. A rszletezs legfontosabb eleme a munkatrs felel ssg-terleteinek a megadsa. A felel ssg-terleteket ezutn egy vagy tbb m velett bontjuk szt, melyeket a munkatrs vgre tud hajtani. A m veletek alapjn ezutn sszegy jtjk a munkatrs szksges attribtumait.

zleti entits lersnak rszletezse


A kvetkez kben az sszegy jttt zleti entitsokat sorra vve, tovbb rszletezzk azok lerst. A rszletezst itt is a felel ssg-terletek lersval kezdjk. Ehhez pontosan ismernnk kell az entits letciklust annak elksztst l a megsz ntetsig tart vltozs lpseit, mely folyamatot llapotdiagramknt brzolhatunk. Az entitsra vonatkoz zleti hasznlati esetek megvalstsait vizsglva ssze tudjuk gy jteni az entits m veleteit, mellyel az aktorok arra hatst tudnak gyakorolni, illetve arrl informcit tudnak krni. A m veletek alapjn ezutn sszegy jtjk az azok vgrehajtshoz szksges attribtumokat.

sszefoglals
A fejleszts els nagyobb munkafolyamata az zleti modellezs. A rendszer tnyleges fejlesztse el tt ismernnk kell a ksztend rendszerrel kapcsolatos fogalmakat, azok viszonyait, valamint a m veleteket, azaz a rendszer krnyezett, melyet zleti krnyezetnek vagy zleti modellnek is neveznk. A fejleszts sorn kzponti szerep lesz az itt sszelltott szjegyzk. Az zleti modell egyrszt zleti hasznlati eset modellt

RUP ttekints Cs. Vg (2001)

18

jelent, melyben az zleti funkcikon van a hangsly. A szakterleti modellben a krnyezet lnyeges fogalmait s a kzttk lv kapcsolatok brzoljuk.

Krdsek

Mirt lnyeges szerep az zleti modellezs? Mirt fontos a fejleszts sorn a kzs szjegyzk hasznlata. Az zleti hasznlati eset modellben mire helyez dik a hangsly? A szakterleti modell mit brzol? Melyek az zleti modellezs munkatrsaival szemben tmasztott klnleges kvetelmnyek? Milyen felpts a szjegyzk? Milyen lpsekben lltjuk ssze a vzlatos zleti hasznlati eset modellt? Hogyan rszletezhetjk az zleti hasznlati eseteket? Hogyan lltjuk ssze az zleti szakterleti modell vzlatt? Hogyan pontosthatjuk az zleti szakterleti modellt?

RUP ttekints Cs. Vg (2001)

19

Kvetelmnyek
A rendszerfejleszts sorn az egyik legnehezebb s egyben a legnehezebb krlmnyek kztt vgrehajtott m velet a kvetelmnyek tisztzsa, melyen annak a meghatrozst rtjk, hogy pontosan mit is kell kifejlesztennk. A kvetelmnyek sszegy jtst ltalban az is nehezti, hogy a rendszert a fejleszt k nem nmaguknak, hanem kls szemlyeknek, felhasznlknak ksztik. Elvileg a felhasznlk tudjk, hogy milyen rendszert szeretnnek, azonban t lk nem kvetelhet meg, hogy az informatika fogalmainak megfelel en fogalmazzk meg az ignyeiket, s t ltalban az sem, hogy azokat pontos, formalizlt mdon s rendszerezve adjk meg. Tovbb bonyoltja a helyzetet, hogy a legtbb rendszerrel tbb felhasznl is kapcsolatban van, akiknek a rendszer ms s ms vetletknt, nem pedig teljessgben jelenik meg. A problmra a rendszerfejlesztsek sorn az a megolds szletett, hogy a felhasznlk s a programozk kz elemz ket iktatunk be, akik a felhasznlkkal trtn interjk alapjn segtenek a kvetelmnyek sszegy jtsben s megksrlik abbl el lltani az elksztend rendszer teljes, pontos s konzisztens kpt. A tapasztalatok azt mutatjk, hogy a felhasznlk mg az sszelltott dokumentumok alapjn sem kpesek a ksztend rendszert megrteni s ellen rizni, hanem csak akkor, amikor az mr majdnem a befejezs el tt ll. A problmra rszben megoldst nyjt az iteratv fejleszts, mivel gy a felhasznlk hamarabb jutnak kiprblhat programrszekhez. A kvetelmnyek tisztzsnak az a clja, hogy meghatrozzuk a ksztend rendszer hatrait. ssze kell foglalnunk azokat az ignyeket, amelyeket teljestenie kell a rendszernek s az egyrtelm sg miatt clszer megfogalmaznunk olyan pontokat is, amelyek nem lesznek feladatai a rendszernek. A kvetelmnyeket amennyire az csak lehetsges egyeztetnnk kell a felhasznlkkal, hiszen a tnyleges hasznlatot megclz, vals ignyeknek megfelel rendszert kell kifejlesztennk. Az ignyek felmrse sorn olyan dokumentumokat kell teht el lltanunk, amely a felhasznlk szmra is rthet s rtelmezhet , gy a felhasznlk fogalmait s nyelvezett kell alkalmaznunk, illetve tartzkodnunk kell az informatikai zsargonok s technikk emltst l.

Kiindulpontok
Nehzsge miatt, a kvetelmnyek tisztzsa esetn clszer meghatrozni az zleti modellezsen tl is nhny tovbbi kiindulpontot, melyek a tnyleges munkafolyamat bevezet lpseknt fognak szolglni. A ks bbiekben ezek a bevezet lpsek szksg szerint sszeolvaszthatk a munkafolyamat tevkenysgeivel. A bevezet lpsek is egyegy adott dokumentummal annak ltrehozsval vagy mdostsval kapcsolatos tevkenysgek.

El zetes kvetelmnyek felsorolsa


Fejlesztse sorn a rendszerrel kapcsolatosan rendkvl sok elkpzels szletik, melyek rszben az adott iterciban megvalstsra kerlnek, rszben valamely ks bbi vltozatban tervezzk a beptst, esetleg elvetjk annak kifejlesztst. Az el zetes kvetelmnyek felsorolsa (list candidate requirements) folyamn ezeket az

RUP ttekints Cs. Vg (2001)

20

elkpzelseket, lehetsges kvetelmnyeket gy jtjk ssze. A lista jabb elkpzelsek felvtelvel b vlhet, majd cskkenhet a mrete, ahogy a kivlasztott elemeket kvetelmnyeknek tekintjk s ms produktumokk, pl. hasznlati esetekk dolgozzuk t. Minden elkpzelsnek, lehetsges kvetelmnynek adjunk egy rvid elnevezst s ahhoz egy nhny bekezdsnyi rvid magyarzatot. Mindezt clszer kiegszteni nhny, a megvalstssal, illetve annak tervezsvel kapcsolatos informcival, pl. sttusz (ajnlott, ellen rztt, stb.), vrhat kltsg (er forrs-tpus s a kifejleszts ideje), prioritsa (pl. kritikus, lnyeges, lnyegtelen), megvalsts kockzati tnyez je (pl. kockzatos, ismeretlen technolgia alkalmazsa miatt)

Funkcionlis kvetelmnyek rgztse


A kvetelmnyek sszegy jtse sorn a megvalstsra kivlasztott elkpzelseket hasznlati esetekknt fogalmazzuk meg. Minden hasznlati eset a rendszer egy adott hasznlati mdjt, funkcijt reprezentlja. A hasznlati esetek segtsgvel a kvetelmnyeket egzaktabb, egyben ttekinthet bb mdon rgzthetjk.

Nem-funkcionlis kvetelmnyek rgztse


A nem-funkcionlis kvetelmnyek a rendszer jellemz it hatrozzk meg, mely lehet pldul a megvalstsi krnyezettel (platformmal) kapcsolatos kvetelmny, vagy vonatkozhat a rendszer kiterjeszthet sgre, megbzhatsgra, hatkonysgra, stb. A hatkonysggal kapcsolatos kvetelmnyek ltalban valamely funkcira vonatkoznak, mely lehet pldul a vlaszid re vonatkoz korltozs. Ha a nem-funkcionlis kvetelmny csak egyetlen hasznlati esetre vonatkozik, akkor az magnl a hasznlati esetnl is megadhat.

Munkatrsak
A kvetelmnyek sszegy jtse tbb munkatrsat, azaz tbbfajta, specilis szaktuds szemlyt ignyel. Ennek a munkafolyamatnak a specialitsa, hogy a tevkenysgeket a felhasznlkkal val szoros egyttm kdsben, folytonos kzvetlen vagy kzvetett egyeztetssel kell vgrehajtani. A rendszer-elemz (system analyst) felel ssge a hasznlati esetekknt modellezett kvetelmnyek sszelltsa s kezelse, melyek egyttesen jelentik a funkcionlis s nem-funkcionlis kvetelmnyeket. A rendszer-elemz feladata a rendszer hatrainak megrajzolsa az aktorok s hasznlati esetek eszkzkszletvel. A kialakul hasznlati eset modellnek teljesnek s konzisztensnek kell lenni. A fogalmak tisztzsa s egyrtelm sge a rvid fogalom-rtelmezseket tartalmaz szjegyzk (glossary) sszelltsval biztosthat. A rendszer-elemz feladata a hasznlati eset modellnek, mint egsznek a kezelse. Az egyes hasznlati esetek rszletezse mr ms munkatrs feladata.

RUP ttekints Cs. Vg (2001)

21

A hasznlati eset elemz (use case specifier) feladata az egyes hasznlati esetek rszletezse, melyet a felhasznlkkal trtn folytonos egyeztetsek sorn kell megvalstania. A felhasznli-fellet tervez (user interface designer) alaktja ki a felhasznli felletek kls megjelensi formjt, mely gyakran a felletek el zetes vltozatainak, prototpusainak kifejlesztst is jelenti. Az architektra tervez (architect) a hasznlati eset modell architektrlis nzett lltja ssze, amely a lnyeges hasznlati eseteket tartalmazza, gy a fejleszts temezsnek is a kiindulpontja lesz.

Munkafolyamat
Aktorok s hasznlati esetek keresse
Az aktorok s hasznlati esetek keressnek clja a kvetkez : a rendszer krvonalainak a megrajzolsa, hogy egyrtelm stsk azt, hogy mi s hogy mi nem fog a rendszerhez tartozni, meghatrozni, hogy ki s mi ll kapcsolatban a rendszerrel (aktorok) s milyen funkcionalitst vrunk el a rendszert l (hasznlati esetek), a gyakran hasznlt fogalmak alapjn szjegyzk ksztse, mely alapvet szerep lesz a hasznlati esetek rszletezse sorn.

Vmtarifaszm zletvezet rajnlatok kezelse Elad Termkadatok mdostsa gyfladatok mdostsa

aktualizlsa

8. bra: Hasznlati eset diagram

Az els lps, az aktorok keresse sorn el szr sszegy jtjk azokat a szerepkrket, amelyeken keresztl szemlyek, illetve kls rendszerek a kifejlesztend rendszerrel kapcsolatban llnak. A lehetsges aktorokat clszer ellen rizni, hogy tallunk-e legalbb egy konkrt felhasznlt (ill. rendszert), aki ebben a szerepkrben fog megjelenni. Az aktorokat egy rvid nvvel s egy sszefoglal lerssal kell elltni, melyben ki kell emelni

RUP ttekints Cs. Vg (2001)

22

azt, hogy az aktor milyen szolgltatsokat ignyel a rendszert l, ill. melyek a felel ssgei a rendszer hasznlata sorn. Az aktorok segtsgvel meghatrozzuk a hasznlati eseteket. Ehhez sorra vesznk minden aktort s felsoroljuk, hogy azok milyen funkcikon, azaz hasznlati eseteken keresztl kapcsoldnak a rendszerhez s azokat mind elltjuk egy-egy rvid elnevezssel. Az aktorok pldul informlhatjk a rendszert bizonyos kls vltozsokrl, illetve a rendszer informlhatja az aktort valamely lnyeges esemnyr l. A rendszer indtsa, lelltsa s kezelse ugyancsak funkcikknt jelenik meg. A lehetsges hasznlati esetek ellen rzsre szolgl a hasznos eredmny mdszere, mely szerint minden hasznlati esetnek olyan eszkznek kell lenni, mellyel az aktor valamely cljt rheti el. A jelltek kzl a tnyleges hasznlati esetek kivlogatsa utn rviden lerunk minden hasznlati esetet. A rvid lers ltalban nhny mondatot jelent, de tartalmazhatja a funkci f bb lpseinek a lerst is. A hasznlati eset modell egszben trtn lersval fejezzk be a tevkenysget, amikor diagramon brzoljuk, illetve szvegesen sszefoglaljuk az aktorok s hasznlati esetek viszonyait.

Rendszerelemz

Aktorok s hasznlati esetek keresse

Hasznlati eset modell strukturlsa

Architektra tervez

Hasznlati esetek prioritsainak meghatrozsa

Hasznlati eset elemz

Hasznlati eset rszletezse

Felhasznlifellet tervez

Felhasznli-felletek prototpusainak ksztse


9. bra: Kvetelmnyek

Hasznlati esetek prioritsainak meghatrozsa


A hasznlati eset modell sszelltsa utn a kvetkez tevkenysg a hasznlati esetek prioritsainak meghatrozsa, azaz annak megllaptsa, hogy mely eseteket kell a korai

RUP ttekints Cs. Vg (2001)

23

itercikban kifejleszteni s melyek megvalstsa halaszthat a ks bbi itercikra. A prioritsok (els dlegessgek) meghatrozsa a hasznlati eset modellnek egy architekturlis nzeteknt jelenik meg, mivel kiemeljk a lnyegesnek tartott, illetve megjelljk a kiegszt knt tekintett hasznlati eseteket. rdemes megjegyezni, hogy a prioritsok meghatrozsban jelent s szerepet kapnak nem-technikai szempontok is, pldul gyakoriak az zletpolitikai dntsek.

Hasznlati eset rszletezse


Az architekturlisan lnyeges hasznlati esetek kivlasztsa utn a kvetkez feladat ezen esetek rszletes lersa. A lersnak tartalmaznia kell a funkci elindulsnak s befejez dsnek krlmnyeit, valamint a felhasznlval trtn interakciknak az n. esemnyfolyamt (flow of events).
rajnlat ttel

Szllt adatainak feldolgozsa [j szllt] j szllt felvtele Szllt adatainak mdostsa

rajnlat feldolgozsa

j rajnlat felvtele

Termkadatok mdostsa

Termkcsoport adatainak feldolgozsa

10. bra: Aktivits-diagram

Az esemnyfolyamnak lpsr l lpsre haladva le kell rnia a felhasznlval trtn kommunikcis lpseket. Az esemnyfolyamnak ltalban ltezik egy norml (happy day) lefolysa, melyet clszer els lpsknt felvzolni. A norml lpssorozat mellett azonban sorra meg kell vizsglni, hogy milyen esetekben, illetve felttelek mellett trtnhet a hasznlati esetnek ms lefolysa. Az alternatv utak, illetve hibs esetek tbb okbl is bekvetkezhetnek, pl. a felhasznl a normltl eltr lpssorozatot vlaszt, valamely ms aktor kihat az esemnysorozatra, az aktor helyetelen bemeneti rtkeket ad meg, valamely rendszer-er forrs hibsan m kdik, mely a teljes rendszer hibs m kdshez vezethet. Az alternatv s hibs utak mellett clszer feljegyezni olyan esemnysorozatokat is, melyek helyes m kds esetn nem kvetkezhetnek be.

RUP ttekints Cs. Vg (2001)

24

A hasznlati esetek rszletezst clszer valamely flig formlis, esetleg formlis eszkzzel megadni. A hasznlati eset kezdetre s befejez dsre megadhatunk pldul (ltalban) szveges el - s utfeltteleket. A norml s alternatv esemnyfolyam brzolsra kivl eszkz az UML llapot- vagy aktivits-, esetleg valamely interakcidiagramja.

Felhasznli-felletek prototpusainak ksztse


A hasznlati esetek esemnyfolyamjainak lersa utn clszer elkszteni a felhasznli felletek prototpusait, azaz az aktorok s a rendszer kztti kommunikci eszkzeit. A fellet-prototpusok klnsen alkalmasak a felhasznlkkal trtn egyeztetsekre (hogyan lehet megadni egy bizonyos rtket), mivel megjelentik a rendszernek azt a kls kpt, mellyel a felhasznl a ks bbiekben is kapcsolatba kerl. Els lpsknt clszer a fellet-prototpusoknak csak a logikai szerkezett vzolni, mellyel ellen rizhetjk, hogy az alkalmas-e a hasznlati eset ltal megkvetelt kommunikcira s tartalmazza-e az sszes szksges adatot s vezrl elemet. A vzlatok alapjn ezutn elkszthet k a felhasznli felletek prototpusai. Ennl a lpsnl kzvetlen programozs helyett clszer felhasznli-fellet tervez eszkzt hasznlni ha az elrhet .

Hasznlati eset modell strukturlsa


A hasznlati eset modell strukturlsa a modell elemei (aktorok, ill. hasznlati esetek) kztti viszonyok meghatrozst, illetve a modell trendezst jelenti. Az trendezs clja els sorban a redundancia cskkentse, optimlis esetben pedig a kikszblse. A modell trendezse trtnhet a kzs funkcionalits kiemelsvel. A hasznlati esetek rszletezsekor megfigyelhetjk, hogy bizonyos esemny-sorozatok tbb hasznlati esetben is megismtl dnek. Ekkor az ismtl d m veletek kiemelhet k egy nll hasznlati esetbe, melyet az eredeti esetekhez include sztereotpival jellve kapcsolunk. A kiemels trtnhet gy is, hogy megfigyeljk, hogy bizonyos hasznlati esetek valamely absztrakt m veletnek a konkrt vltozatai. Ezt a viszonyt ltalnostsknt jellhetjk, azaz a kt hasznlati esetet hromszgben vgz d vonallal kapcsoljuk ssze. A hasznlati esetek kztt megadhatunk mg extend (kiterjeszt) sztereotpij kapcsolatot a kiegszt s opcionlis funkci jellse esetn. Az extend mdon kapcsold hasznlati eset m veletei az alap hasznlati eset esemnysorozatnak adott (n. kiterjesztsi) pontjn, adott felttelek mellett hajtdnak vgre.

sszefoglals
A kvetelmnyek rgztse sorn azt hatrozzuk meg, hogy pontosan mit is kell kifejlesztennk, mely a rendszer hatrainak meghzst is jelenti. Kiindulpontknt hasznlhatjuk az el zetes kvetelmnyek felsorolst, valamint a funkcionlis s nemfunkcionlis kvetelmnyeket. A kvetelmnyeket hasznlati eset modellben adjuk meg, majd a lnyeges hasznlati esetek kivlasztsval azokat esemnyfolyamokknt rszletezzk. Ezutn elksztjk a felhasznli felletek prototpusait, majd strukturlssal ttekinthet bb teszzk a modellnk.

RUP ttekints Cs. Vg (2001)

25

Krdsek

Mi a kvetelmnyek rgztsnek a clja? Mi okozza ennek a lpsnek a nehzsgeit? Milyen kiindulpontokat hasznlhatunk a kvetelmnyek sszegy jtse sorn. A munkafolyamat milyen specilis ignyknt jelenik meg a munkatrsak fel? Milyen lpsekben ksztjk el a hasznlati eset modell vzlatt? Hogyan rszletezhetnk egy hasznlati esetet? Mi alapjn kereshetnk a normlistl eltr esemnysorozatokat? Milyen elveket kvessnk a felhasznli felletek prototpusainak elksztsnl? Hogyan strukturlhat a hasznlati eset modell?

RUP ttekints Cs. Vg (2001)

26

Elemzs
Az sszegy jttt s rgztett kvetelmnyekb l indul ki a fejleszts kvetkez munkafolyamata, az elemzs (analysis). A kvetelmnyek rgztsekor a felhasznl szempontjbl rjuk le a rendszert, annak egy kls nzett megrajzolva. Ezzel szemben az elemzs folyamn mr a fejleszt k nyelvezett hasznljuk s a rendszer alapvet bels felptst hatrozzuk meg. A kvetelmny-rgzts hasznlati eset modelljnek a felhasznlkkal trtn egyeztets a clja. Az elemzs m veletvel a rendszer bels , kezdeti formjt alaktjuk ki. Az elemzs munkafolyamata sorn kialakul modell cljt a kvetkez pontokban foglalhatjuk ssze: a kvetelmnyeknek egy pontosabb lerst adja, a fejleszt k szmra, az nyelvezetkn kszl, gy nagyobb formalitst s egzaktsgot biztost, a kvetelmnyekb l kvetkez alapstruktrt rajzolja meg, kiindulpontja az ezt kvet munkafolyamatnak, a tervezsnek.

Elemzsi modell
Az elemzs eredmnye az elemzsi modell, ami egy fogalmi (koncepcionlis) objektum modellen alapszik, amelyben a kvetelmnyeknl megjelen fogalmak osztlyokknt szerepelnek. Az elemzsi modell segtsgvel a kvetelmnyeket pontosabban s adott formalizmus jellseivel fogalmazzuk meg. Az elemzsi modell azonban a rendszernek csak az absztrakt kpe, gy nem tartalmazza a nem-funkcionlis kvetelmnyek megoldst, sem a tervezs sorn kivlasztand programozsi nyelvvel, platformmal, opercis rendszerrel, felhasznlt keretrendszerekkel, stb. kapcsolatos dntseket. A Unified Process sszellti az elemzsi s a tervezsi modell rszletessgnek a viszonyt nagy tlagban 1:5 arnyra becslik. Az elemzsi modellt osztlydiagramokkal megadott objektum-modell kr szervezzk. Az osztlydiagramok f szerepl i az osztlyok, melyeket a Unified Process az elemzs sorn hrom f csoportba sorol, melyek kln sztereotpikkal s ahhoz rendelt kln ikonokkal jell. A boundary sztereotpival megadott hatr-osztlyok (boundary class) szerepe az aktorok s a rendszer kztti kommunikci biztostsa, gy ezek az osztlyok a rendszer peremt jellik. A hatr osztlyok ltalban felhasznli felletekknt (ablakok, panelek, nyomtatsi kpek) vagy ms kapcsoldsi elemknt (szenzorok, stb.), esetleg kls rendszer interfszeknt jelennek meg. A hatr-osztlyok lersnl az adatcserre clszer sszpontostani, az interakcik fizikai megjelenst csak ks bbi munkafolyamatok sorn kell meghatroznunk. Az entity sztereotpival megadott entits-osztlyok (entity class) ltalban a valsgban is megjelen fogalmakat reprezentlnak, melyeket a rendszer trol (perzisztencia). Az entits-osztlyok egyttesen a rendszer alap-adatszerkezett adjk meg, a rendszer bels informcis kzegt. A control sztereotpij vezrl osztlyok (control class) egy adott hasznlati esethez kapcsold vezrlst, tevkenysgsorozatokat, tranzakcikat valstanak meg,

RUP ttekints Cs. Vg (2001)

27

olyan zleti folyamatokat s m veleteket, melyek nem kapcsolhatk ms entitsosztlyhoz. Az elemzsi modell osztlydiagramjain a hrom tpusnak megfelel osztlyok, azok attribtumai s a hozzjuk kzvetlenl kapcsolhat m veletek, valamint az osztlyok kztti kapcsolatok s egyb (pl. ltalnosts-pontosts) viszonyok szerepelnek. A modell hierarchikus tagolsra szolglnak az elemzsi csomagok (analysis package). Egy csomagon bell elhelyezked osztlyoknak s bels csomagoknak egymshoz szorosan kell kapcsoldni, a kls elemekhez trtn kapcsoldst pedig a minimumra kell cskkenteni. A Unified Process megklnbzteti az n. szolgltat csomagokat (service package), melyek funkcii nem kt dnek kzvetlenl egy konkrt hasznlati esethez, hanem a fejlesztend rendszernl ltalnosabb megoldsi mdokat gy jtenek egybe (pl. fax-kld rendszer). Az elemzsi modellben szerepelnie kell az egyes hasznlati esetek elemzsi szint megvalstsainak (use case realization), mely a hasznlati esetben megjelen osztlyok kztti egyes interakci-sorozatokat brzoljk, ltalban valamely interakcidiagram eszkzeivel.

Elemzsi szint architektra lers


Az elemzs egy sszefoglal dokumentuma az elemzsi szint architektra lers, melyben a leglnyegesebb modell-elemeket foglaljuk ssze, sorrendben a kvetkez ket: fels -szint (s az architektra szempontjbl lnyeges) elemzsi csomagokat s a kzttk lv fgg sgeket, alapvet fontossg elemzsi osztlyokat, azok leglnyegesebb attribtumait, m veleteit s egymshoz val viszonyait, lnyeges s kritikus hasznlati esetek megvalstsait, melyeket a hasznlati eset modell architekturlis nzetbe mr kiemeltnk.

Munkatrsak
Az elemzs sorn az architektra tervez (architect) feladata az elemzsi modell egszre a korrekt, konzisztens s rtelmezhet forma biztostsa. Az architektra tervez a felel s mindazon modellelemek kidolgozsrt s kezelsrt, amelyek helyet kapnak az architektra lersban. A hasznlati eset mrnk (use-case engineer) feladata az elemzs sorn egy vagy tbb hasznlati eset elemzsi szint megvalstsnak a kidolgozsa, gy, hogy teljestse az esettel kapcsolatos kvetelmnyeket. A komponens mrnk (component engineer) feladata egy vagy tbb osztly s csomag kidolgozsa s kezelse, osztlyok esetn belertve az attribtumokat, m veleteket s a ms osztllyal val viszonyokat.

RUP ttekints Cs. Vg (2001)

28

Munkafolyamat
Architekturlis elemzs
Az architekturlis elemzs sorn meghatrozzuk a fels szint elemzsi csomagokat (analysis package), gy a modellt kisebb, knnyebben kezelhet rszekre bontjuk fel. Ez trtnhet az elemzs els lpseknt is, de gyakori, hogy munka kzben, nagyszm modellelem ttekinthet bb ttele miatt hajtjuk vgre ezt a m veletet. A csomagokra trtn felbontst segti a kvetelmnyek funkci-csoportjainak a meghatrozsa, de rdemes megjegyezni, hogy egy hasznlati eset ltalban tbb csomag egyttes m kdsvel valsthat meg. A rendszer konkrt m kdshez kzvetve kapcsold, adott jelleg , ltalnos szolgltatst nyjt csomagokat brzoljuk szolgltatcsomagokknt. Az elemzsi csomagok m veleteik megvalstshoz felhasznlhatjk ms csomagok m veleteit, mely viszonyt a csomagok kztti fgg sgknt jelljk. Az architekturlis elemzs sorn azonostjuk a nyilvnval entits osztlyokat. Ekkor kivlasztjuk az sszegy jttt kvetelmnyekb l (szakterleti modellb l vagy az zleti modellb l) a legfontosabb szerepet jtsz (kb. 10-20) osztlyt. A hasznlati eset megvalstsa esetn mg tovbbi osztlyok is megjelenhetnek, ezrt clszer csak a kzponti szerep osztlyokat kiemelni, gy ezek kztt nem szerepelhet pldul olyan, amely egyetlen hasznlati esetben sem kap szerepet. Az architektra tervez feladata a tbb modell-elemre vonatkoz, kzs specilis kvetelmnyek meghatrozsa, melyek a ks bbi tervezs s implementci sorn alapvet szerepet kapnak. Ilyen kvetelmnyek pldul a trols (perzisztencia), osztottsg s konkurencia kezelse, biztonsg, hibat rs, tranzakci-kezels, stb. krdsei. A figyelembe veend specilis kvetelmnyekre a Unified Process elemzsi mintkat ajnl, pldul trols esetn a kvetkez szempontokat kell szmszer steni: troland objektumok mrete, szma, trolsi id , mdostsi gyakorisg s megbzhatsg.

Architektra tervez

Architekturlis elemzs

Hasznlati eset mrnk

Hasznlati eset elemzse

Komponens mrnk

Osztly elemzse
11. bra: Elemzs

Csomag elemzse

RUP ttekints Cs. Vg (2001)

29

Hasznlati eset elemzs


A hasznlati eset elemzs (use-case analysis), vagy ms szval a hasznlati eset rszletezs (use-case refinement) kezdetn azonostjuk az elemzsi osztlyokat, melyeket hatr-, entits- vagy vezrl -osztlyokknt adunk meg. Az elemzsi osztlyok keressre a Unified Process a kvetkez javaslatokat adja: Az entits-osztlyokat a hasznlati esetek lersa alapjn azonosthatjuk. Vizsgljuk meg, hogy a hasznlati eset megvalstsa milyen adatokat rint s kezel. Az entits-osztlyok keresst jelent sen megknnyti a szakterleti modell. Minden felhasznlnak hatrozzunk meg egy alapvet hatr-osztlyt, amely kzponti szerep a rendszer s a kivlasztott felhasznl kztti kommunikci sorn. Ez a hatr-osztly lehet pldul a felhasznl szmra megjelen kiindulsi kperny . Minden entits osztly esetn hatrozzunk meg egy olyan hatr-osztlyt, amely lehet v teszi az entits-osztlyra vonatkoz informcicsert. Minden kls rendszer esetn hatrozzunk meg olyan hatr-osztlyt, amely a kommunikcis felletet reprezentlja. Hasznlati esetenknt vizsgljuk meg, hogy szksges-e olyan vezrl -osztly, amely koordinlja a hasznlati eset m kdst. Jegyezzk meg, hogy egyszer bb esetekben a vezrls termszetesebben megadhat a hatrosztlyokban. Az elemzsi osztlyok megkeresse utn a kvetkez feladat az elemzsi objektum interakcik lersa, mely a hasznlati eset esemny-sorozatnak pontos s formalizlt rszletezse. Az interakcit egyttm kdsi diagrammal (collaboration diagram) brzoljuk, mely elksztsre a Unified Process a kvetkez lpseket ajnlja: A hasznlati eset indtst egy konkrt aktortl egy hatr-objektumig vezet zenet vltja ki. Az azonostott elemzsi osztlyoknak legalbb egy objektum felel meg, klnben az osztly felesleges. A hasznlati eset m kdst zenetekkel rjuk le, az zenetek azonban ltalban nem konkrt m veletet jellnek, hanem csak a vgrehajts logikai felbontst. Az zenetek az objektumok kztti kapcsolatokon terjednek, ezek a kapcsolatok azonban nem felttlenl utalnak asszocicikra. Az elemzs sorn nem a pontos vgrehajtsi sorrend megadsra sszpontostunk, hanem a hangsly az objektumok kztti viszonyon s azokkal szemben tmasztott kvetelmnyeken van. A hasznlati eset modellben brzolt, hasznlati esetek kztti (include, extend vagy ltalnosts) viszonynak az egyttm kdsi diagramon is meg kell jelenni. Utols lpsknt sszegy jtjk a hasznlati esettel kapcsolatos specilis kvetelmnyeket, gy a nem-funkcionlis kvetelmnyeket, amelyeket figyelembe kell venni a tervezs s implementci sorn.

RUP ttekints Cs. Vg (2001)

30

Osztly elemzse
A hasznlati eset elemzs tevkenysge sorn mr azonostottuk az elemzsi osztlyokat. A kvetkez tevkenysg, az osztly elemzsnek vgrehajtsakor minden egyes osztlyra rszletesen is kifejtjk azok feladatkrt s egymshoz val viszonyait. El szr azonostjuk az osztly felel ssgeit, melyet gy kaphatunk meg, hogy sorra vesszk az sszes szerepet, amelyben az a klnbz hasznlati esetekben megjelenik. Ezutn azonostjuk az osztly attribtumait, amelyek az osztly egy-egy jellemz jt reprezentljk. Az attribtumok a felel ssgek alapjn knnyen kikereshet k s megadsukkor clszer betartani a kvetkez szablyokat: az attribtum neve legyen f nv, az elemzs sorn koncepcionlis tpusokat hasznljunk, ne pedig az implementcis krnyezet tpusait (pl. mennyisg, ne pedig: int), konzisztens tpusokat alkalmazzunk, ha az attribtumok nllsggal rendelkeznek, akkor azokat egy jabb osztlyba kell kiemelnnk, ha az attribtumok miatt egy osztly tlsgosan bonyolultt vlik, akkor azt lehet, hogy clszer tbb osztlyra sztbontani, entits-osztlyok attribtumai ltalban a szakterlet alapjn knnyen azonosthatk, hatr-osztlyok attribtumai ltalban az aktor ltal kezelt informcikat jellik, a vezrl -osztlyok attribtumai a m velet vgrehajtst ksrik vgig. Pldnk alapjn kvetkezzen most nhny osztly elemzsi szint attribtuma: gyfl: nv, cm, telefonszm, fax szm Telept : gyfl AZ, bankszmla szm, adszm, gyintz , ads jelz Vgfelhasznl: Rendelsi igny: rendels felvtelnek dtuma, el leg sszege Rendelsi igny ttel: termk mennyisgi egysge, megrendelend termk mennyisge, ttel megrendelsnek dtuma, kirtests dtuma Az attribtumok utn azonostsuk az osztlyok kztti asszocicis s aggregcis viszonyokat. Az objektumok interakcija az objektumok kztti kapcsolatok mentn zajlik le, mely kapcsolatok gyakran az objektumoknak megfelel osztlyok kztti asszocicik konkrt pldnyai. A komponens mrnk a kapcsolatokat vizsglva megllaptja, hogy melyeknek kell az osztlyok kztti asszocicikknt is megjelenni, illetve az lettartamok sszefggsei alapjn melyek ignyelnek aggregcis kapcsolatot. Az asszocicik s aggregcik meghatrozsakor meg kell adni azok szmossgt (multiplicitst), elnevezsket, a szerepkrk neveit, illetve szksg esetn az asszocicis osztlyokat, a szerepkrk rendezettsgt, illetve a min st ket (qualifier). Clszer aggregcit alkalmaznunk, ha a fogalmak kztt (amelyeket az osztlyok reprezentlnak) fizikailag is tartalmazsi viszony van (pl. az el adteremben az el ad s a hallgatk), a fogalmak kztt kompozcis viszony van (a szobk a laks alkotelemei), a fogalom az elemek logikai gy jt fogalma (az osztly s a tanuli).

RUP ttekints Cs. Vg (2001)

31

Ezutn az sszegy jttt attribtumok s asszocicik segtsgvel meghatrozzuk az ltalnostsokat, az elemzs sorn azonban csak a fogalmi szint ltalnosts-pontosts viszonyokat jegyezzk fel, melyek az elemzsi modell megrtst knnytik.
gyfl * Rendelsi igny * Rendelsi igny ttel

Telept

Vgfelhasznl

12. bra: Osztlydiagram

A tevkenysg befejezseknt minden egyes osztlyra sszegy jtjk s megadjuk a specilis kvetelmnyeket.

Csomag elemzse
Az elemzs befejezseknt egyenknt sorra vesszk s elemezzk a csomagokat, a kvetkez szempontokra sszpontostva: biztostjuk, hogy az elemzsi csomag a tbbi csomaghoz a lehet legkisebb mrtkben kapcsoldik, biztostjuk, hogy a csomag alkalmas bizonyos szakterleti osztlyok, vagy hasznlati esetek egy csoportjnak a reprezentlsra, megadjuk a csomagok kztti fgg sgeket, gy megbecslhetjk a ks bbi vltoztatsok hatsait. A clok gy rhet k el, ha ellen rizzk, hogy a csomagok csak a szorosan sszekapcsold, funkcionlisan sszefgg osztlyokat tartalmazzk, s a lehet legkisebbre korltozzuk a csomagok kztti kapcsoldsokat.

sszefoglals
A kvetelmnyek rgztsvel ellenttben, amikor felhasznli szemmel rjuk le a rendszert, az elemzs mr a fejleszt k szempontjt kpviseli, s a rendszer bels felptst hatrozza meg. Az elemzs a rendszer bels , kezdeti formjt alaktja ki, egy formlisabb s egzaktabb nyelvezetet hasznlva. Az elemzs eredmnye az elemzsi modell, mely alapvet en egy osztlydiagramokknt megadott fogalmi objektum-modellen alapszik. Az osztlyokat sztereotpikkal hrom csoportba soroljuk: a hatr-osztlyokkal a rendszerrel trtn kommunikcit biztostjuk, az entits-osztlyok ltalban a valsgban is megjelen fogalmakat reprezentlnak, a vezrl osztlyok pedig egy sszetett tevkenysgsorozatot ksrnek vgig. Az elemzs msik produktuma az sszefoglal szerep elemzsi szint architektra lers, melyben a leglnyegesebb modell-elemeket foglaljuk ssze. Az elemzsi modellt alapvet en a hasznlati esetek elemzsi szint megvalstsai alapjn lltjuk ssze. Az osztllyal kapcsolatos informcikat az osztlyt rint interakcik vizsglata alapjn vlogatjuk ssze.

RUP ttekints Cs. Vg (2001)

32

Krdsek

Milyen szempontbl kszl el a kvetelmnyek rgztse s milyen szempontbl az elemzs? Milyen clt szolgl az elemzsi modell? Mi az elemzsi modell kzponti eleme? Milyen arnyra becslik a RUP sszellti az elemzs s tervezs kltsgviszonyt? Az elemzsi szint architektra lersban milyen elemek szerepelnek? Mely hrom csoportba soroljuk az elemzsi osztlyokat? Mit neveznk szolgltat csomagoknak? Hogyan kereshetjk meg az entits-osztlyokat? Milyen lpsekkel rhatjuk le az objektum-interakcikat? Milyen szablyokat alkalmazunk az attribtumok megadsakor?

RUP ttekints Cs. Vg (2001)

33

Tervezs
A tervezs sorn az elemzs ltal meghatrozott keretek tltjk fel tartalommal s formljuk a rendszert teljes alakk, amely teljesti a korbban meghatrozott sszes funkcionlis s nem-funkcionlis kvetelmnyeket. A Unified Process a tervezs cljt a kvetkez f bb pontokban foglalja ssze: A tervezsnek a ksztend rendszerr l teljes mlysgben rszletes kpet kell adnia, a kivlasztott programozsi nyelvekre, opercis rendszerre, technolgikra vonatkozan is. ssze kell lltania az implementcihoz szksges dokumentumokat. Az implementci temezshez a rendszert kezelhet rszekre kell bontania. Meg kell hatroznia a klnbz rszek kztti interfszeket. Adott jellsi rendszert felhasznlva a tervezsi dntseket egzaktul meg kell adnia. Meg kell rajzolni a rendszer implementcijnak a vzt. Az elemzssel sszehasonltva, a tervezs nem a fogalmi modell kialaktsra trekszik, hanem a rendszernek az annl konkrtabb fizikai modelljt hatrozza meg, amely az implementci alaprajza (blueprint) lesz. Az elemzs modellje mg tbb tervezsi mdon is konkretizlhat, a tervezs azonban mr konkrt platformokra s technolgikra pt. Az alaprajznak mr formlisnak s pontosnak kell lenni, hogy az alapjn az implementl programozk tovbbi bizonytalansg nlkl felpthessk a teljes rendszert. A Unified Process tlagban a tervezs kltsgeit az elemzsi kltsg tszrsre becsli.

Tervezsi modell
A tervezs munkafolyamatnak a legfontosabb eredmnye a tervezsi modell (design modell), ami egy olyan objektum modell, amely a hasznlati esetek fizikai megvalstsi mdjt rja le, figyelembe vve az sszes funkcionlis s nem-funkcionlis kvetelmnyt, valamint a megvalstsi krnyezetet. A tervezsi modell tervezsi rendszerekb l s alrendszerekb l ll, melyek tervezsi osztlyokat, a hasznlati esetek tervezsi szint megvalstsait s interfszeket tartalmaznak. A tervezsi modell az implementcis modell absztrakcija, alaprajza, ami azt jelenti, hogy a megfelel lekpezsekkel (mapping) megkaphatjuk az implementcis dokumentumokat, illetve, hogy a tervezsi modell a megvalstott rendszer ttekint terveknt szolgl. A tervezsi modellben alapvet szerep ek a tervezsi osztlyok (design class), amely az implementcis osztlyok kzvetlen absztrakcija. A tervezsi osztlyok jellemz i a kvetkez k: A tervezsi osztly lersakor a kivlasztott programozsi nyelv fogalmait s tpusait hasznljuk.

RUP ttekints Cs. Vg (2001)

34

ltalban megadjuk a jellegzetessgek lthatsgt (visibility), pl. C++ nyelv esetn ezek a private, protected s public kulcsszavakkal jellik. Az osztlyok kztti viszonyok kzvetlen implementcis technikkra utalnak. Pldul az ltalnosts ltalban rklsknt fog megjelenni. Az alaprtelmezst l val eltrsek s a nyelvfgg eszkzk sztereotpikkal adhatk meg. Az osztly m veletei az osztly metdusaiknt jelennek meg az implementci sorn. Tervezsi osztly esetn sztereotpival adhatjuk meg a kivlasztott implementcis elemet, pl. database, form. A tervezsi osztly gyakran megvalst valamely interfszt, gy az osztly objektumai az adott interfsznek megfelel mdon kezelhet v vlnak. A tervezsi osztly lehet aktv, azaz konkurensen m kdhet, ms m veletekkel prhuzamosan. A prhuzamos m kds szksgessgt azonban clszer a ks bbiekben, az implementci sorn meghatrozni.

Az osztly-diagram kiegsztseknt a hasznlati esetek tervezsi szint megvalstsakor az esemnysorozatokat interakci-diagramokkal, els sorban pedig szekvencia-diagramokkal brzoljuk. A diagramoknak a konkrt interakcik absztrakcijt kell reprezentlni, gy az zeneteknek konkrt metdushvsoknak kell megfelelni. A tervezsi modell elemeit tervezsi rendszerek s alrendszerek segtsgvel bontjuk szt kezelhet rszekre. A tervezsi rendszer tervezsi osztlyokat, hasznlati esetek tervezsi szint megvalstst, interfszeket s ms tervezsi alrendszereket tartalmaz. Az interfszek olyan eszkzk, amelyeken keresztl (m veletekknt) elrhet a rendszer funkcionalitsa. A tervezsi rendszer tervezsi modell elemek nagyobb egysgeit jelenti, a megvalsts nagyobb mret egysgeit jelli, alkalmas valamely felhasznlt nll rendszer reprezentlsra, A tervezsi rendszerek kzl clszer elklnteni s megjellni a szolgltat rendszereket, amelyek adott, a rendszerhez logikailag kevsb kapcsold, rszben fggetlenthet funkcicsoportot valstanak meg. A tervezsi modell egy lnyeges, sszefoglal eleme a tervezsi modell architekturlis nzete, amely a modell leglnyegesebb elemeit tartalmazza. Ezek az elemek ltalban a kvetkez k: a tervezsi modell alrendszerekre trtn bontsa, azok interfszei s fgg sgei, a kulcsfontossg tervezsi osztlyok, amelyek ltalban az architekturlisan lnyeges elemzsi osztlyok tervezsi szint pontostsai, az aktv osztlyok s ms, kzponti szerep osztlyok, a lnyeges s kritikus funkcionalitst megvalst hasznlati eset tervezsi szint megvalstsai.

RUP ttekints Cs. Vg (2001)

35

Teleptsi modell
A tervezs msik eredmnye a teleptsi modell (deployment model), amely a rendszer rszeinek az n. csompontokon (pl. szmtgpeken) val fizikai elhelyezkedst brzolja. A teleptsi modellben: minden csompont valamely szmtgpet, vagy hasonl jelleg hardware elemet jell, a csompontok kztti kapcsolatok a kzttk lv kommunikci eszkzre utalnak, pl. Internet, intranet, soros vonal. tbb diagramon ms konfigurcik is lerhatk, pl. teszt- vagy szimulcis konfigurcik, a csompont funkcionalitst a csomponton elhelyezett komponensekknt jelljk. Fontossgnl s ttekint jelleg szerepnl fogva a teleptsi modellt clszer teljes egszben befoglalni az architektra lersba.

Munkatrsak
A tervezs alaptevkenysgeiben az elemzssel azonos munkatrsak vesznek rszt, azonban most a feladataik s felel ssgeik a fejleszts technikaibb terleteire vonatkoznak. Mivel a feladatok nmileg ms jelleg , f leg a kivlasztott alkalmazsi krnyezetre vonatkoz szaktudst is ignyelhetnek, ezrt lehetsges, hogy a fejleszts sorn ezeket a tevkenysgeket tnylegesen ms konkrt szemlyek is vgzik. A tervezsben is az egyik legfontosabb munkatrs az architektra tervez (architect), aki a tervezsi s teleptsi modell egszrt, annak integritsrt, konzisztens s ttekinthet voltrt a felel s. Az architektra tervez feladata mg a tervezsi s teleptsi modell architekturlis nzetnek a kidolgozsa s kezelse. Ezek a nzetek az architektra lers elemeiknt jelennek meg. A hasznlati eset mrnk (use-case engineer) egy vagy tbb hasznlati eset tervezsi szint megvalstsrt a felel s, biztostva, hogy a kidolgozs teljesti a funkcionlis s nem-funkcionlis kvetelmnyeket s megfelel en egzaktul lerja a m kdst, el ksztve az implementcit. A komponens mrnk (component engineer) definilja s karbantartja egy vagy tbb tervezsi osztly attribtumait, m veleteit, kapcsolatait ms osztlyokkal, s az azzal kapcsolatos implementcis kvetelmnyeket. A komponens mrnk a felel s mg egy vagy tbb alrendszer tartalmrt, valamint hogy azok interfszei s ms rendszerrel val kapcsolatai megfelel k s a minimumra korltozottak. A mrnk felel ssge kiterjed arra is, hogy az alrendszerek megfelel en valstjk-e meg a szksges interfszeket.

RUP ttekints Cs. Vg (2001)

36

Munkafolyamat
Architekturlis tervezs
Az architekturlis tervezst a csompontok s hlzati konfigurcik meghatrozsval kezdjk, mivel a hlzati konfigurci ltalban kzvetlenl kihat a software architektrra, gy pldul szksgess teheti aktv (prhuzamosan m kd ) osztlyok felvtelt. A hlzati konfigurcit ltalban a hrom-rteg modell (three-tier) alapjn szervezzk meg, ahol az els rteg a felhasznli felleteket tartalmaz kliensprogramot jelenti, a kzps rteg az zleti logikt megvalst szerver-program, a nagymennyisg adatok trolsa pedig a harmadik rteg adatbziskezel jvel trtnik. A hlzati konfigurci meghatrozsakor a kvetkez szempontokra sszpontostunk: milyen csompontokat ignyel a rendszer s azokon milyen m kdsi sebessg s memriamret szksges, a csompontok kztt milyen kapcsolat, azaz milyen kommunikcis lehet sg van, hogyan jellemezhet a kommunikcis-igny, ahhoz milyen svszlessg, elrhet sg s biztonsg szksges, a biztonsg rdekben szksges-e a feldolgozsok redundnss ttele, mentsek, hibat r mdok, stb. alkalmazsval? A klnbz hlzati konfigurcikat, belertve a teszt- s a szimulcis konfigurcikat kln teleptsi diagramokon kell brzolni.

Architektra tervez

Architekturlis tervezs

Hasznlati eset mrnk

Hasznlati eset tervezs

Komponens mrnk

Osztly tervezse
13. bra: Tervezs

Alrendszer tervezse

RUP ttekints Cs. Vg (2001)

37

A kvetkez lps az alrendszerek s interfszeik azonostsa. Az alrendszerekkel a tervezsi modellt kezelhet egysgekre bontjuk fel. A felbonts trtnhet a tervezs kezdetn, vagy munka kzben, a rendszer b vlsvel. A rendszert ltalban tbb csomagot is magba foglal rtegekre (layer) bontjuk, ahol is egy rteg csomagjai csak egymsra vagy az alsbb rtegekre hivatkoznak. A diagramokon clszer brzolnunk az alrendszerek kztti fgg sgeket (dependency), mivel gy knnyebb a ks bbi vltoztatsok tervezse. Vgl a fgg sgek alapjn meghatrozzuk, hogy az alrendszerek kztti kapcsolat milyen interfszeken keresztl valsul meg Az architekturlisan lnyeges tervezsi osztlyok azonostsnak tevkenysgt gyakran a tervezsi munka kezdetn hajtjuk vgre. A kiindulpontunk az architekturlisan lnyeges elemzsi osztlyok, melyek ltalban tervezsi osztlyokknt is megjelennek. Ezen kvl fel kell venni mg a rendszer m kdshez szksges aktv osztlyokat is. Aktv osztlyra szksg lehet pldul a kvetkez okok miatt: a rendszer komponensei tbb csomponton is elhelyezkedhetnek, a csompontok kztti kommunikci pedig csompontonknt legalbb egy aktv osztlyt ignyel, a hatkonysg s tbb aktor prhuzamos kiszolglsa miatt gyakran szksgesek aktv vezrl osztlyok, a rendszer kezelsvel kapcsolatos feladatok is ignyelhetik aktv osztlyok felvtelt. Az architekturlis tervezs kiegsztseknt ltalnos tervezsi mintkat alkalmazunk a specilis, pl. nem-funkcionlis kvetelmnyek teljestsre. Az elemzs sorn mr meghatroztuk a kvetelmnyek jellegt s szmszer stettk az azokkal kapcsolatos rtkeket. A tervezs sorn az elrhet eszkzk, technolgik s mdszerek kzl kivlasztjuk azt, amely megfelel a kvetelmnyeknek. Gyakori kvetelmnyek pldul a kvetkez k: trols (perzisztencia), osztottsg s konkurencia kezelse, biztonsg, hibat rs, tranzakci-kezels, stb. krdsei.

Hasznlati eset tervezse


A hasznlati eset tervez a tervezs sorn egyenknt megvizsgl egy vagy tbb hasznlati esetet s lerja azok tervezsi szint megvalstst. El szr azonostjuk a rsztvev tervezsi osztlyokat. A hasznlati eset elemzsi szint megvalstsa alapjn megvizsgljuk az abban szerepl elemzsi osztlyokat, majd megkeressk az azoknak megfelel tervezsi osztlyokat. A hasznlati esettel kapcsolatos specilis kvetelmnyek megvalstsa is ignyelheti jabb tervezsi osztlyok felvtelt. Ha a megvalsts tovbbi osztlyokat is ignyel, akkor azokat az architektra tervez vagy a komponens mrnk egyttm kdsvel kell felvenni. A hasznlati eset megvalstshoz lerjuk az objektum-interakcikat. A kiindulpontjaink a tervezsi osztlyok, valamint a hasznlati eset elemzsi szint megvalstsa. Az interakci brzolsra a Unified Process a szekvencia-diagramokat ajnlja, mely konkrt aktorokat, tervezsi objektumokat s a kzttk lezajl zenetvltsokat tartalmazza. Az interakcit egzaktul kell lernunk, gy az zeneteknek

RUP ttekints Cs. Vg (2001)

38

konkrt metdushvsoknak kell megfelelni. Az interakci alternatv m kdsei a szekvencia-diagram feltteles zenetkldseiknt brzolhat, vagy sszetettebb esetekben kln szekvencia-diagramok segtsgvel. Esetenknt a hasznlati eset megvalstst nem osztlyok kztti interakcikkal clszer lernunk, hanem a rsztvev alrendszerekkel s hasznlt interfszeikkel. Ehhez azonostanunk kell a rsztvev alrendszereket s interfszeket. A hasznlati eset megvalstsakor ssze kell gy jtennk, s fel kell jegyeznnk az esettel kapcsolatos specilis implementcis kvetelmnyeket, pldul a nem-funkcionlis kvetelmnyeket. A tervezs munkafolyamata sorn ezeket a kvetelmnyeket csak feljegyezzk, figyelembe vtelk s megvalstsuk az implementci feladata.

Osztly tervezse
Az osztly tervezsekor kiemelnk s krvonalazunk egy-egy tervezsi osztlyt, megadva annak az alapvet kereteit. Hatr-osztlyok (boundary class) tervezse az alkalmazott felhasznli fellet, illetve ms illesztsi fellet technolgijra pl. A technolgia kivlasztsa gy az osztlyt alapszerkezett is meghatrozza.

Trolt (perzisztens) informcikat reprezentl entits-osztlyok (entity class) alapszerkezett a trolsi mdszer hatrozza meg, gy ignyelheti pldul a relcis adatbzis tbljbl trtn betltst, illetve mentst. A vezrl osztlyok (control class) alapszerkezett a vezrls jellege hatrozza meg, gy ltalban figyelembe kell venni az osztottsggal, hatkonysggal, esetleg a szinkronizcival kapcsolatos problmkat. A vezrl osztlyok gyakran adott tranzakcit ksrnek vgig, gy kialaktsuk a hasznlt tranzakcis technolgit kveti.

Az osztly m veleteinek azonostsakor a metdusok szignatrjt (nevt, paramtereit) s lerst a hasznlt programozsi nyelv terminolgijval s az ott rvnyes szintaktikai szablyoknak megfelel en rjuk le. A m veletek keressnl tbb kiindulpontot is hasznlhatunk: Az elemzsi osztlynl felsorolt felel ssgek gyakran a tervezsi osztly m veleteiknt valsulnak meg. Az elemzsi osztlynl meghatrozott specilis kvetelmnyeknek (pl. adatbzisban trols) a tervezsi osztlyban is meg kell jelenni, ltalban az osztly ltalnos kerett meghatroz technolgiaknt. Az elemzsi osztlynl meghatrozott interfszek m veleteivel a tervezsi osztlynak rendelkeznie kell. Az osztlynak rendelkeznie kell a hasznlati eset megvalstshoz szksges m veletekkel. Az attribtumok azonostsakor ugyancsak a hasznlt programozsi nyelv szintaktikjt alkalmazzuk. Az attribtumok az osztly jellegzetessgei, melyek a legtbb esetben a m veletek vgrehajtshoz szksgesek. rdemes kvetni a kvetkez javaslatokat:

RUP ttekints Cs. Vg (2001)

39

Az elemzs sorn azonostott attribtumok a tervezs sorn egy vagy tbb attribtumknt jelennek meg. Az attribtum tpusnak megadsakor a programozsi nyelv eszkzeit kell alkalmaznunk. Ha nagyszm attribtumunk vagy viszonylagos fggetlensggel rendelkez attribtumcsoportunk van, akkor azokat clszer kiemelni egy kln osztlyba.

Az attribtumok mellett azonostanunk kell az asszocicis s aggregcis viszonyokat. Az objektum-interakcik gyakran megkvetelik a megfelel osztlyok kztti asszocicikat. A komponens mrnk feladata a kapcsolatok vizsglatval a szksges asszocicik, illetve az aggregcis viszonyok bejellse. Az elemzs sorn azonostott asszocicik s aggregcik a tervezs sorn egy vagy tbb asszocicis, illetve aggregcis viszonyknt jelennek meg. A tervezskor pontostanunk kell az asszocicik szmossgt, szerepkreinek neveit, asszocicis osztlyait s min st it. A pontostskor mr a kivlasztott programozsi nyelv jellseit s szintaktikai szablyait kell alkalmaznunk. A tervezs sorn meg kell adnunk az asszocici navigcis irnyait. Az interakci-diagramokon minden zenetklds esetn szksges, hogy a megfelel kapcsolat naviglhat legyen a kld t l a fogad objektum irnyba. Az attribtumok, m veletek s asszocicik segtsgvel mr knnyen azonosthatjuk az osztlyok kztti ltalnosts-pontosts viszonyokat, illetve meghatrozhatjuk a mr felvett osztlyok alapjn azok ltalnos vltozatait, amelyekbe a kzs, ismtl d jellegzetessgeket kiemelhetjk. A jellsnek a programozsi nyelven elrhet konkrt technikra kell utalni, mely objektumorientlt nyelv esetn ltalban az rkls (inheritance). rkls hinyban az ltalnosts ms mdon, pl. delegcival is megvalsthat. Az osztly m veleteinek felsorolsa mellett a m velet megvalstsi mdjt is meg kell hatroznunk. Kzismert technika esetn a megvalstst megadhatjuk egy rvid utalssal (pl. binris keress), egybknt pszeudokdot vagy termszetesnyelv lerst alkalmazunk. Bizonyos tervezsi objektumok m kdst llapot-vezrelt mdon adhatunk meg, ami azt jelenti, hogy adott zenetekre az objektum az llapottl fgg en ms s ms fajta vlaszokat adhat. Az ilyen m kds lersra az egyik legjobb eszkz az llapot-diagram. A tervezs sorn meg kell adnunk, hogy az egyes llapotokat milyen attribtum-rtk kombincinak feleltetjk meg. Az osztlyok tervezse kzben ssze kell gy jtennk az osztllyal kapcsolatos specilis (pl. nem-funkcionlis) kvetelmnyeket, melyeket figyelembe kell venni az osztly implementcijakor.

Alrendszer tervezse
Az alrendszer tervezsekor ellen riznnk kell az alrendszer fgg sgeit, hogy az alrendszer a lehet legkevsb fggjn a tbbi rszrendszert l.

RUP ttekints Cs. Vg (2001)

40

A tervezs tovbbi feladata az alrendszer interfszeinek ellen rzse. Az interfszek ltal definilt m veleteknek teljestenie kell az sszes olyan, az alrendszerre vonatkoz kvetelmnyt, melyet a klnbz hasznlati eset megvalstsok sorn jtszott szerepe megkvetel. A tervezs sorn az alrendszerek tartalmt is ellen rizni kell, hogy az interfszekben meghatrozott m veletek megvalstsa a kvetelmnyeknek megfelel en hajtdik-e vgre.

sszefoglals
A tervezsnek a ksztend rendszerr l teljes mlysgben rszletes kpet kell adnia, a kivlasztott programozsi nyelvekre s technolgikra vonatkozan is, gy meg kell adnia az implementcihoz szksges dokumentumokat, annak temezshez a rendszert kezelhet rszekre kell bontania s meg kell hatroznia a klnbz rszek kztti interfszeket. A tervezsnek meg kell rajzolni a rendszer implementcijnak a vzt, gy egy teljesen konkrt fizikai modellt kell meghatroznia, amely az implementci alaprajza (blueprint) lesz. A tervezs kzponti produktuma egy fizikai szint osztlydiagramknt megadott tervezsi modell, amely a hasznlati esetek fizikai szint megvalstsait rja le. A tervezsi modellt tervezsi rendszerek s alrendszerek segtsgvel bontjuk fel kezelhet rszekre. A tervezs msik eredmnye a teleptsi modell, amely a rendszer rszeinek az n. csompontokon (szmtgpeken vagy ms eszkzkn) val fizikai elhelyezkedst brzolja. A tervezs els lpse az architekturlis tervezs, mellyel az implementcis alapszerkezeteket hatrozzuk meg. Ezen keretek tartalmt a hasznlati esetek tervezsi szint megvalstsval tltjk fel, majd az osztlyokra fkuszlva sszegy jtjk az azokkal kapcsolatos implementcis kvetelmnyeket.

Krdsek

Hogyan foglalhatjuk ssze a tervezs cljt? Mi a tervezsi modell s milyen elemekb l pl fel? Mi jellemz a tervezsi osztlyok megadsra? Mi a tervezsi rendszer/alrendszer? Mit tartalmaz a tervezsi modell arhitekturlis nzete. Mit tartalmaz a teleptsi modell? Milyen lpsekben zajlik az arhitekturlis tervezs? Hogyan vgezhet el egy hasznlati eset tervezsi szint megvalstsa? Hogyan azonostjuk egy osztly m veleteit? Milyen mdon kell ellen riznnk a tervezsi alrendszereket?

RUP ttekints Cs. Vg (2001)

41

Implementci
Az implementci munkafolyamatban az elemzs, majd a tervezs sorn sszelltott dokumentumokbl kiindulva a rendszert n. komponensekknt implementljuk, mely komponensek a Unified Process terminolgija szerint forrskdokat, szkripteket, binris llomnyokat, futtathat programokat, dokumentumokat, kpeket, stb. jelentenek. Az implementci cljait a kvetkez pontokban foglalhatjuk ssze: Az itercik vgn megkvetelt rendszer-integrcik tervezse. Az osztottsg tervezse a rendszer futtathat programjainak csompontokhoz trtn rendelsvel. A tervezsi osztlyok s alrendszerek implementlsa, mely nagyobb rszben a forrskdok el lltst jelenti. A komponensek nll tesztje s integrcijuk egy vagy tbb futtathat programm. Ezt a lpst a ks bbi teszt sorn a rensdzer-integrci s az egyttes teszt kveti.

Implementcis modell
Az implementci munkafolyamatban el lltott implementcis modell a m kd , azaz az implementcis rendszert, illetve annak implementcis rszrendszereit jelenti, melyek komponenseket s interfszeket tartalmaznak. A komponens (component) adott modellelemek fizikai egysge. A komponens tpust sztereotpiaknt adhatjuk meg, pl.: executable: vgrehajthat program

file: forrskdot vagy adatot tartalmaz llomny library: statikus vagy dinamikus programknyvtr table: adatbzistbla document: alapvet en szveget tartalmaz dokumentum

Az implementci sorn gyakran alkalmazunk n. csonkokat (stub), melyek valamely ms komponens reduklt funkcionalits vltozatai. A csonkok segtsgvel egyszer sthetjk s ttekinthet bb tehetjk az j komponensek bevezetst. Csonkokat gyakran hasznlunk teszt- illetve szimulcis clra. Az implementcis modellnek is ltezik architekturlis nzete, mely az architektra lers rsze lesz. Az architekturlis nzetben a kvetkez k tallhatk meg: Az implementcis modell alrendszerekre trtn felbontsa, a kzttk lv fgg sgek s az ltaluk megvalstott interfszek. Mivel az implementcis modellnek kzvetlenl meg kell felelni a tervezsi modell elemeivel, ezrt az implementci sorn nem szksges az alrendszerekre vonatkoz informcikat jra megadni. Kulcsfontossg komponensek, melyek kzponti szerep ek a rendszer m kdse szempontjbl.

RUP ttekints Cs. Vg (2001)

42

Munkatrsak
Az implementci sorn az architektra tervez (architect) a felel s az implementcis modell egszrt, annak helyes, konzisztens s ttekinthet formjrt. A modell helyes, ha teljesti a korbbi munkafolyamatokban megfogalmazott kvetelmnyeket, belertve a funkcionlis s a nem-funkcionlis kvetelmnyeket is, valamint az elemzs s tervezs sorn kidolgozott alapszerkezetet kveti. Az implementci lnyeges lpse bizonyos (pl. futtathat) komponenseknek a teleptsi modellben meghatrozott csompontokhoz trtn rendelse, mely ugyancsak az architektra tervez feladata. A komponens mrnk (component engineer) dolgozza ki s kezeli egy vagy tbb komponens forrskdjt, biztostva, hogy az a megkvetelt funkcionalitst valstja meg. A komponens mrnk feladata lehet egy vagy tbb implementcis alrendszer kezelse, integritsnak biztostsa is. A rendszer integrtor (system integrator) feladata a komponensekknt implementlt rendszer egsznek sszelltsa. Ez jelenti a rszek sszeptsi sorrendjnek a meghatrozst, valamint a rszek integrlst, amint azok implementlsa befejez dtt.

Munkafolyamat
Architekturlis implementci
Az architekturlis implementci sorn meghatrozzuk s kiemeljk az implementcis modell architektra szempontjbl lnyeges elemeit. Ez a munkafolyamat alapvet en kt lpsre bonthat. Az architektra szempontjbl lnyeges komponenseket azonostjuk, amelyek pldul a futtathat programok. Ezeket a komponenseket clszer a lehet legkisebb szmban kivlasztani, mindssze azokat, amelyek a m kd alkalmazs kzponti szerep rszei lesznek. Msodik lpsben a komponenseket csompontokhoz rendeljk, a korbbi munkafolyamatokban meghatrozott hlzati konfigurcinak megfelel en.

Rendszer integrci
A rendszer integrci sorn ssze kell lltani egy integrcis tervet (integration plan), mely meghatrozza az iterci sorn kifejlesztend rszeket, valamint minden egyes rszre az azzal kapcsolatos kvetelmnyeket. A rendszerintegrci msik feladata a rszeknek a teljes tesztet megel z integrlsa. A fejleszts folyamn ez a tevkenysg ezrt kt lpsre bonthat. A soron kvetkez rsz tervezse annak a meghatrozst jelenti, hogy a kvetkez rszbe mely komponensek, illetve abba mely modellelemek kerljenek bele. Az

RUP ttekints Cs. Vg (2001)

43

inkrementlis fejleszts miatt a rsz ltalban nem egy jonnan s fggetlenl kifejleszthet egysget jelent, hanem a rendszer egy jabb s b vebb bels vltozatt. A rendszer integrci befejez lpse a rsz integrlsa, mely a ks bbi egyttes teszt kiindulpontja lesz.

Alrendszer implementlsa
Az alrendszer implementlsa sorn biztostani kell, hogy az alrendszer alkalmas az integrcis tervben meghatrozott clok megvalstsra, mely a hasznlati esetekknt megfogalmazott kvetelmnyeket mr a tervezs munkafolyamatban meghatrozott keretek kztt teljesti. Az implementlskor clszer jra ellen rizni az alrendszer tartalmt, hogy a benne szerepl komponensek alkalmasak-e az alrendszer feladatnak elltsra.

Architektra tervez

Architekturlis implementci

Rendszer integrtor

Rendszer integrci

Osztly implementlsa Komponens mrnk Alrendszer implementlsa


14. bra: Implementci

nll teszt

Osztly implementlsa
Az osztly implementlsa egy kivlasztott tervezsi osztly komponensknt trtn megvalstst jelenti. El szr krvonalazzuk a komponenst, melyben megadjuk a tervezsi osztly forrskdjt. A kezelhet sg miatt gyakran egyetlen tervezsi osztlyt egyetlen komponensknt adunk meg, br tbb nyelv is lehet v teszi, hogy egy llomnyban tbb osztlyt is definiljunk.

RUP ttekints Cs. Vg (2001)

44

A kvetkez tevkenysg a kd generlsa a tervezsi osztlybl, melyet azrt neveznk generlsnak, mivel a tervezs sorn specifiklt osztly gyakorlatilag kzvetlenl a programozsi nyelv szintaktikjnak megfelel formv alakthat. Elvileg hasonl lekpezs, illetve generlsi mdszer az asszocicik s aggregcik esetn is megadhat, ez azonban a programozsi nyelv eszkzei mellett a kivlasztott technikktl is nagymrtkben fgg. Az osztly vznak elksztse utn implementljuk a m veleteket. Az implementci a megfelel metdusok elksztst jelenti, mely esetn ki kell vlasztani a megfelel algoritmust s adatszerkezetet, majd a programozsi nyelven kdolni kell a m veleteket. Az osztly implementlsa sorn a komponensnek teljestenie kell a megfelel interfszeket, amelyeket a tervezsi osztlyban definiltunk.

nll teszt vgrehajtsa


A tevkenysg sorn az implementlt komponenst nllan, egysgben teszteljk, hogy szolgltatja-e a szksges funkcionalitst. A tesztelsnl ltalban kt mdszert alkalmazunk. A specifikcis (fekete-doboz) teszt esetn a komponens m kdst a kvlr l megfigyelhet viselkedse alapjn teszteljk, figyelmen kvl hagyva azt, hogy a m kds milyen mdon lett implementlva. Ehhez a bemenet, kimenet s a komponens llapotnak kombinciira ekvivalencia-osztlyokat kell meghatroznunk, melyek tetsz leges eleme esetn a komponensnek hasonl mdon kell viselkedni. A strukturlis (fehr-doboz) teszt esetn a komponenst bels leg, az implementci alapjn ellen rizzk, mely a teljes forrskd ellen rzst jelenti.

sszefoglals
Az implementci sorn a rendszert komponensekknt implementljuk. Ezen kvl meg kell terveznnk az itercik vgn megkvetelt rendszer-integrcikat, az osztottsgot s el kell lltanunk a tervezsi osztlyok s alrendszerek implementcijt. Az implementci jelenti mg a komponensek nll tesztjt s integrcijukat egy vagy tbb futtathat programm. Az implementcis modell alapelemei a komponensek, valamint annak is ltezik egy sszefoglal jelleg architekturlis nzete.

Krdsek

Foglalja ssze az implementci cljait! Mondjon pldkat a komponenseknl megadhat sztereotpikra! Mit tartalmaz az implementcis modell architekturlis nzete? Hogyan trtnik egy osztly implementlsa? Tesztelsnl alapvet en mely kt mdszert alkalmazzuk?

RUP ttekints Cs. Vg (2001)

45

Teszt
A teszt munkafolyamat clja minden egyes implementlt rsz tesztelse, melyen a rendszer kzbls , bels vltozatait s a vgleges, kibocstott rendszert is rtjk. A tesztels alapvet cljai a kvetkez k: Minden egyes iterci ltal ignyelt teszt sszelltsa, belertve az integrcis s a rendszer teszteket. A tesztek tervezse s implementlsa, mely sorn teszt-esetekben adjuk meg, hogy mit kell tesztelni, teszt-eljrsokban adjuk meg a tesztelsi mdokat s ha lehetsges, teszt-komponenseket ksztnk a tesztek automatikus vgrehajtsra. A teszteket vgre kell hajtani s azok eredmnyeit szisztematikusan ki kell rtkelni. A felfedezett hibk s hinyossgok ms munkafolyamatok tevkenysgeinek ismtelt vgrehajtst ignyelhetik.

Teszt-modell
A teszt-modell foglalja ssze az implementcis modell sorn kidolgozott futtathat komponensek tesztelsi mdjt, belertve az integrcis s rendszer teszteket. A teszt-modell a kvetkez elemekb l pl fel: A teszt-eset (test case) a tesztels egy mdjt hatrozza meg, azt hogy mit kell tesztelni, s azt milyen bemenet, eredmnyek s felttelek mellett.

A teszt-eljrs (test procedure) megadja egy vagy tbb test-eset, vagy azok bizonyos rszeinek vgrehajtsi mdjt, a hogyant. A teszt-eljrs lehet a tesztel nek megadott utasts-sorozat, vagy automatikus teszt esetn a teszteszkzzel vgrehajtand interakci-sorozat, mely alapjn teszt-komponens kszthet . A teszt-komponens (test component) alkalmas egy vagy tbb teszteljrs vagy annak rszeinek automatizlt vgrehajtsra. A teszt-komponenst valamely szkript-nyelven adjuk meg, leprogramozzuk valamely programozsi nyelven, vagy felvesszk egy alkalmas teszt-automatizlsi eszkzzel.

Munkatrsak
A teszt mrnk (test planner) feladata a teszt-modell integritsnak ellen rzse, biztostva, hogy az valban alkalmas a rendszer hibinak s hinyossgainak a kisz rsre. A teszt mrnk sszelltja a teszteket, azok cljainak meghatrozsval s vgrehajtsuk temezsvel. A teszt mrnk kivlasztja s lerja a teszt-eseteket s a szksges teszteljrsokat, vgl kirtkeli azok eredmnyt. A komponens mrnk (component engineer) feladata az automatikus tesztkomponensek implementlsa.

RUP ttekints Cs. Vg (2001)

46

Az integrci tesztel (integration tester) hajtja vgre az integrlt rszek egyttes tesztjt, azt vizsglva, hogy az jonnan implementlt elemek a rendszer egszben a megfelel mdon m kdnek. A rendszer tesztel (system tester) a rendszer egsznek, kvlr l megfigyelhet m kdsnek az ellen rzst vgzi, gy els sorban az aktor s a rendszer kztti interakcikat vizsglja. A tesztek a hasznlati esetek ellen rzsre alkalmas teszteseteket kvetik. Feladatkrnl fogva a rendszer tesztel nek nem szksges ismerni a rendszer bels felptst.

Teszt mrnk

Tesztels el ksztse

Teszt tervezse

Teszt rtkelse

Integrcis tesztel

Integrcis teszt

Rendszer tesztel

Rendszer teszt

Komponens mrnk

Teszt implementlsa
15. bra: Teszt

Munkafolyamat
Tesztels el ksztse
A tesztels el ksztse a kvetkez lpsekre bonthat: Meghatrozzuk a tesztelsi stratgit, pl. legalbb a tesztek 80%-nak automatikusnak kell lenni, a tbbi lehet kzzel vgrehajtott; minden hasznlati eset norml lefolyst s hrom alternatv lefolyst tesztelni kell; a teszt eredmnyesnek tekinthet a teszt-esetek 90%-nak sikeressge esetn.

RUP ttekints Cs. Vg (2001)

47

Megbecsljk a tesztels er forrs-ignyt, emberi s rendszer-er forrsonknt is rszletezve. temezzk a teszt-tevkenysgeket.

Teszt tervezse
Az el ksztst kvet en meg kell hatrozni s meg kell tervezni a teszteket, a tesztek jellegnek megfelel mdon s lpsekben. Az integrcis teszt-esetek tervezsnek a clja a rendszerbe integrlt j komponensek egyms kztti interakciinak az ellen rzse. A legtbb integrcis teszt a hasznlati esetek tervezsi szint megvalstsaibl kvetkezik, mivel azok az aktorok s objektumok kztti interakcikat rjk le. A rendszer teszt-esetek tervezsvel a rendszer egyttes m kdst ellen rizzk klnbz felttelek mellett, mely felttelek jelenthetnek klnbz hardware krnyezeteket (processzor-sebessg, kzponti memria s merevlemez kapacits), illetve software krnyezeteket (ms adatbziskezel , ms Web-bngsz , stb.). A tesztek specilis vltozatai a regresszis tesztek, melyek eredetileg a rendszer korbbi vltozatainak tesztjei voltak, az aktulis iterciban pedig a szerepk az, hogy ellen rizzk, hogy a korbban mr kifejlesztett s ellen rztt funkcionalits nem srl a mdostssal s az jabb elemek beemelsvel. A teszt-esetek sorravtelvel azokra teszt-eljrsokat kell megadni. A teszt-eljrsok kidolgozsakor clszer a mr korbban kidolgozott eljrsokat felhasznlni.

Teszt implementlsa
A teszt implementlsa az automatizltan vgrehajthat teszt-komponensek implementcijt jelenti. A teszt-komponenseket vagy egy teszt-automatizlsi eszkzzel ksztjk el, vagy arra kln programot kell sszelltanunk. A teszt-komponensek ltalban nagymennyisg bemeneti adattal dolgoznak s nagymennyisg eredmnyadatot lltanak el .

Integrcis teszt vgrehajtsa


Az integrcis tesztek sorn az jonnan kifejlesztett rszeket s a rendszer egsznek egyttes m kdst vizsgljuk.

Rendszer teszt vgrehajtsa


A rendszer teszt a rendszer egszt, kvlr l megfigyelhet m kdst ellen rzi, gy els sorban az aktor s a rendszer kztti interakcik vizsglata a clja.

RUP ttekints Cs. Vg (2001)

48

Teszt rtkelse
A teszt rtkelsnl alapvet en kt szempontot kell figyelembe vennnk. A teszt teljessge a kd ellen rztt rsznek szzalkosan megfogalmazhat arnyt jelenti. A rendszer megbzhatsga a sikeres tesztek arnyval fogalmazhat meg.

sszefoglals
A teszt clja az implementlt rszek tesztelse, melyen a rendszer kzbls , bels vltozatait s a vgleges, kibocstott rendszert is rtjk. Mindez jelenti az egyes itercik ltal ignyelt tesztek sszelltst, a tesztek tervezst s implementlst, valamint a tesztek kirtkelst. A teszt el ksztsnl meghatrozzuk a tesztelsi stratgit, megbecsljk annak er forrsignyt s temezzk a teszteket. A teszteket megtervezzk s implementljuk, majd vgrehajtjuk az integrcis s a rendszer teszteket, vgl kirtkeljk az eredmnyeket.

Krdsek

Melyek a tesztels alapvet cljai? Milyen elemeket tartalmaz a teszt-modell? Mit jelent a tesztelsi stratgia meghatrozsa? Mit jelent a regresszis teszt? Mit jelent a rendszer megbzhatsga?

You might also like