Tartalom 6. Unified Process & Rational Unified Process lmi a szoftverfejlesztési módszertan? lunified Process lrational Unified Process (RUP) la Rational XDE CASE eszköz lpélda BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 1 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 2 Szoftver = Termék lvan szolgáltatási funkciója lvan előállítási költsége lvan előállítási határideje lvan minősége Szoftverfejlesztési si módszertanm Felhasználói igények Szoftverfejlesztési módszertan Az előállításához technológiára van szükség Szoftverrendszer BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 3 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 4 1
Szoftverfejlesztési si módszertanm lfelhasználói igényeket transzformál szoftverrendszerré la jó módszertan Általános (többféle feladat esetén alkalmazható) Fejlődőképes (alkalmazkodik a változásokhoz) Szoftverfejlesztési si módszertanm l Meghatározza, hogy kinek, mit, mikor kell csinálnia ahhoz, hogy elérhesse a megadott célt l A módszertan alapjai: Technológiák Eszközök Emberek Szervezetszintű munkamenet BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 5 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 6 Szoftverfejlesztési si módszertanm l Technológiák A korra jellemző technológiák meghatározzák az eljárás hatékonyságát l Programozási nyelvek l Fejlesztői környezetek l Operációs rendszerek l Hálózati lehetőségek l l Eszközök A fejlesztéshez használt eszközök befolyásolják a hatékonyságot Az eljárás és az eszközök párhuzamosan fejlődnek Szoftverfejlesztési si módszertanm l Emberek A fejlesztési folyamatban résztvevők képzettsége befolyásolja a hatékonyságot l Aktuális tudás l Rövid távon megszerezhető tudás A fejlesztés bizonyos lépéseinek számítógépes támogatásával csökkenthetjük a képzettség-igényt l Szervezetszintű munkamenet A szoftverfejlesztők nem egyedül dolgoznak A módszertannak illeszkednie kell a napi valósághoz, a tényleges munkamenethez BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 7 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 8 2
Szoftverfejlesztési si módszertanm Az emberi tevékenységek során kialakult az a gyakorlat, hogy a probléma megoldását először egy a probléma számára alkalmas rendszerben konstruáljuk meg, azaz létrehozzuk a megoldás absztrakt modelljét, és csak azután kerül sor a megoldás realizálására. Például lerajzoljuk a megépítendő házat, és csak azután fogunk hozzá annak felépítéséhez. Sike Sándor, Varga László: Szoftvertechnológia és UML Szoftverfejlesztési si módszertanm Felhasználói igények Modellalkotás Fejlesztés Szoftverrendszer BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 9 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 10 Unified Process l Egyesített: a három legelterjedtebb eljárás egyesítésével jött létre Jacobson Booch Rumbaugh l Egységesített: egységes jelölésmód az egész világon A tervezés során az UML diagramjait használja. Rational Unified Process (RUP) la Unified Process-re épül la Rational (később IBM) cég fejlesztési módszertana la módszertan elvek, módszerek és fejlesztést támogató eszközök egysége BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 11 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 12 3
Történelmi áttekintés Ericsson fejlesztési gyakorlata Objectory Process (1987 1995) Rational Objectory Process (1996 1997) Rational Unified Process (1998 ) Rational fejlesztési gyakorlata UML Egyéb források BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 13 Történelemi áttekintés l 1991 Object Modeling Technique (J. Rumbaugh General Electric) l 1991 Booch Method (G. Booch Rational Software) l 1992 Object-Oriented Systems Engineering (I. Jacobson Ericsson) l 1994 J. Rumbaugh Rational Software l 1995 I. Jacobson Rational Software l 1997 UML l 1998 - RUP BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 14 UML és s RUP lg. Booch, J. Rumbaugh, I. Jacobson: The Unified Modeling Language User Guide lj. Rumbaugh, G. Booch, I. Jacobson: The Unified Modeling Language Reference Manual li. Jacobson, J. Rumbaugh, G. Booch: The Unified Software Development Process l l l l l A RUP jellemzői Komponensalapú a szoftvert komponensekből építi fel a komponensek a megfelelő interfészeken keresztül kommunikálnak egymással a rendszer funkcionalitása különféle komponensek hozzáadásával könnyen alakítható Modellszemléletű a rendszert különféle modelleken keresztül közelíti meg Használati eset vezérelt a fejlesztés középpontjan a megrendelővel egyeztetett use case-ek állnak a használati esetek pontos felmérése, majd megvalósítása elengedhetetlen a projekt sikeréhez Architektúra-centrikus Kiemelt hangsúlyt kap a rendszer architektúrája, az egységbezárás és a laza csatolás általi felépítés. Iteratív és inkrementális BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 15 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 16 4
A RUP felépítése A RUP felépítése l Fázisok Előkészítés (Inception) Kidolgozás (Elaboration) Építés (Construction) Átadás (Transition) l Munkamenetek Követelmények meghatározása (Requirements) Analízis (Analysis) Tervezés (Design) Fejlesztés (Implementation) Tesztelés (Test) BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 17 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 18 Előkész szítés s / Inception l Követelmény-feltáráson van a hangsúly Áttekintés (Use-Case modell) Szójegyzék l Költségek, erőforrások, határidők meghatározása Ütemterv Erőforrás-felhasználási terv l Kockázatok elemzése Kockázatlista l Döntés születik a megvalósíthatóságról Prototípus (kezelőfelület) Kidolgozás s / Elaboration l Az analízisen van a hangsúly Kritikus funkcionalitás Szerkezeti elemek l A rendszer struktúrájának meghatározása Analízis modell Design modell Telepítési modell Implemetációs modell, l Az építés fázis menetének megtervezése Iterációs terv l A tesztelés megtervezése Teszt modell BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 19 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 20 5
Építés s / Construction l Az összes funkcionalitás kifejlesztése Működő prototípus l A program tesztelése Alfa teszt Béta teszt l Felhasználói leírás készítése Felhasználói kézikönyv l Az átadás megtervezése Iterációs terv Átadás s / Transition la program beillesztése a felhasználási környezetébe lfelhasználói elégedettség mérése lköltségek ellenőrzése la projekt lezárása la követés megkezdése BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 21 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 22 A fázisok f idő- és s erőforr forrásigénye Előkészítés Kidolgozás Megvalósítás Átadás A RUP felépítése (teljes üzleti folyamat) Erőfeszítés ~5% 20% 65% 10% Idő 10% 30% 50% 10% BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 23 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 24 6
luse-case modell lanalízis modell ldesign modell A RUP modelljei ltelepítési modell limplementációs modell lteszt modell l(adat modell) Use-Case modell la felhasználó igényeinek leírása lhasználati eset diagramok Felhasználók (aktorok) Szolgáltatások (használati esetek) Használati esetek leírása (forgatókönyv) laz egyes diagramok csoportosítása (csomagok) BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 25 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 26 Analízis modell la Use-Case modell részletezése losztály diagramok Osztályok és kapcsolataik realizálják a szolgáltatásokat lkollaborációs diagramok A kommunikációs folyamatok realizálják az egyes forgatókönyveket Design modell l A Use-Case modell megvalósítása l Az Analízis modell alapján készül l Osztály diagramok Az Analízis modell osztályaiból kiinduló részletesebb felbontás Adattagokkal és műveletekkel bővítve l Szekvencia diagramok A kollaborációs diagramok alapján készül A Design modell osztálydiagramjaira épül l Állapotdiagram Állapotok Állapot-átmenetek BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 27 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 28 7
Telepítési modell la Use-Case modell elosztása la Design modell alapján készül ldeployment diagram Csomópontok Hálózati kapcsolatok laz alrendszerek (csomagok) megkönnyítik a modell felosztását Implementáci ciós s modell la Use-Case modell implementációja la Design modell alapján készül lkomponens diagramok A Design modell osztályainak megvalósítása az egyes komponensekben BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 29 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 30 Teszt modell la Use-Case modell tesztje la Use-Case modell alapján készül luse-case jellegű modell Teszt esetek Teszt folyamatok laz egyes szolgáltatásokhoz kell teszteseteket készíteni Rational XDE l 1981 Rational Machines cég alapítása l 1985 Rational Environment (IDE for Ada) l Rational Machines Rational l 1990 Rational Environment for C++ l 1992 Rose 1.0 l 1994 Rational + Verdix Rational Software l 1999 Rational XDE l 2003 A Rational Software-t felvásárolja az IBM BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 31 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 32 8
Rational XDE Demo emlékeztet keztető VI. lplatform-független ltöbb programozási nyelvet támogat ltámogatja a RUP folyamatát luml alapú grafikus tervezés lcase eszköz (Computer Aided Software Engineering) BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 33 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 34 Demo emlékeztet keztető VII. RUP Extended help la Rational XDE súgójának része lönálló alkalmazás la RUP bemutatása részletes magyarázatokkal lmintapélda BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 35 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 36 9
Példa ltervezzük meg egy ATM vezérlőszoftverét! BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 37 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 38 Use-Case modell Analízis modell (osztály diagram) Pénzfelvétel Adagoló Kivét Átutalás Ügyfél Pénzbefizetés Ügyfél Pénztár UI Átutalás Számla Pénz érzékelő Befizetés BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 39 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 40 10
Analízis modell (kommunikáci ciós s diagram) Design modell (osztálydiagram) Kártyaolvasó Pénzszámláló 5. pénzkiadás :Adagoló 4. visszaigazolás 3. Ellenőrzés és levonás Kijelző Billentyűzet Ügyfélkezelő Adagoló szenzor Ügyfél 1. azonosítás 2. pénzkérés :Kivét :Számla Ügyfél Adagoló Tranzakciókezelő Tárolt osztály :Pénztár UI Pénzfelvétel Számlakezelő Számla A pénzfelvétel use-case kommunikációs diagramja BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 41 A pénzfelvétel use-case osztálydiagramja BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 42 Design model (szekvenciadiagram) Design modell (állapotdiagram)( Ügyfél Kártya :Kártyaolvasó :Kijelző :Billentyűzet Kérés megjelenítése Kérés megjelenítése Kártya ID PIN Összeg? Összeg PIN? PIN Összeg :Ügyfélkezelő :Pénzszámláló Van-e elég bankjegy? hitelesítés Van-e fedezet? :Tranzakciókezelő Ügyfélre vár Kártya ID Pénzkiadás PIN-re vár Nem hitelesített Összeg PIN Összegre vár Hitelesítésre vár Hitelesített Az ügyfélkezelő osztály állapotdiagramja BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 43 BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 44 11
Telepítési modell Implementáci ciós s modell ATM ATM A program egyetlen csomóponton működik BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 45 A rendszer egyetlen komponensből áll BMF-NIK-SZTI Tick: Szoftver Tervezés és Technológia 46 12