The Unified Software Development Process



Hasonló dokumentumok
The Unified Software Development Process. Történet. Feltételek. Rational Unified Process. Krizsán Zoltán Ficsor Lajos

Project Management

Előzmények

SW process Feladatok. SW process Feladatok

Dr. Kulcsár Gyula. Virtuális vállalat félév. Projektütemezés. Virtuális vállalat félév 5. gyakorlat Dr.

ITIL alapú szolgáltatás menedzsement megvalósítása a KELER Zrt-ben

Software Engineering

EPER E-KATA integráció

Alapszintű tesztelői tanfolyam Boda Béla CTO, Neuron Software

UML (Unified Modelling Language)

Marketing I. X. előadás. Beszerzési magatartás és ipari marketing. Dr. Bíró-Szigeti Szilvia egyetemi adjunktus BME-MVT

Szoftver-technológia II. A RUP szoftverfolyamat. Irodalom

Vállalkozásfinanszírozás

Szervezeti formák bemutatása

Minőségbiztosítás a Méliusz Könyvtárban május 9. Dr. Csontosné Skara Ilona skara.ilona@meliusz.hu

Fejlesztı neve: LÉNÁRT ANETT. Tanóra / modul címe: CÉGES REKLÁMBANNER KÉSZÍTÉSE PROJEKTMÓDSZERREL

Az MSZ EN ISO 19011:2012 szabvány változásai. Támpontok az auditorok értékeléséhez Előadó: Turi Tibor, az MSZT/MCS 901 szakértője

Egy SLA kialakításának gyakorlata fókuszban a nehézségek megoldása. Előadó: Oroszi Norbert. KÜRT Rt. Információ Menedzsment KÜRT Rt.

Többfelhasználós adatbázis környezetek, tranzakciók, internetes megoldások

Gazdálkodási modul. Gazdaságtudományi ismeretek II.

Programozás alapjai Bevezetés

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

Felkészülés a mesterpedagógus, kutatópedagógus fokozat elérésére

Füzesabony Város Polgármesteri Hivatalának szervezetfejlesztése (ÁROP-1.A.2/A )

Modellalkotás UML-ben

Korszerű geodéziai adatfeldolgozás Kulcsár Attila

Az informatika oktatás téveszméi

DIGITÁLIS GAZDASÁGFEJLESZTÉS

Fábián Zoltán Hálózatok elmélet

Models are not right or wrong; they are more or less useful.

Az MPM hálótechnika (I. előadás)

Meta vezérelt bank adattárház bevezetése és működtetése

A TŰZVÉDELMI TERVEZÉS FOLYAMATA. Dr. Takács Lajos Gábor okl. építészmérnök BME Építészmérnöki Kar Épületszerkezettani Tanszék

Programozás. A programkészítés lépései. Program = egy feladat megoldására szolgáló, a számítógép számára értelmezhető utasítássorozat.

Digitális technika (VIMIAA01) Laboratórium 1

TANTÁRGYI ÚTMUTATÓ. Pénzügyi-számviteli informatika 2. tanulmányokhoz

Gazdaságfejlesztési és Innovációs Operatív Program pályázatainak ismertetése

MIT VÁR EL A PSZICHOLÓGUS A JÓ KRESZTŐL? ARANYOS JUDIT közlekedés szakpszichológus

Programozás I gyakorlat

A Bankközi Klíring Rendszer

ingatlan-gazdaságtani előadások projekt menedzsment módszerek

Képzés leírása. Képzés megnevezése: DFMEA - PFMEA Jelentkezés

Vodafone ReadyPay. Használati útmutató

TÁMOP-6.1.4/12/

Vektoros elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán

A robbanékony és a gyorserő fejlesztésének elmélete és módszerei

Összefoglaló jelentés a évi belső ellenőrzési terv végrehajtásáról

evosoft Hungary Kft.

TANTÁRGYI ÚTMUTATÓ. Logisztika. tanulmányokhoz

Kedves 9. évfolyamos tanulónk!

VÁLTOZIK AZ ISO 9001-ES SZABVÁNY. KINEK JÓ EZ?

Ismeretanyag Záróvizsgára való felkészüléshez

Osztály szint tagok. Krizsán Zoltán 1 [2012. március 12.] Objektumorientált programozás C# alapokon tananyag

Hatékony iteratív fejlesztési módszertan a gyakorlatban a RUP fejlesztési módszertanra építve

Dr. Rainer Wiedemann Varga Zoltán

Beszámoló: a kompetenciamérés eredményének javítását célzó intézkedési tervben foglaltak megvalósításáról. Őcsény, november 20.

Számítógép hálózatok gyakorlat

Adatok ábrázolása, adattípusok. Összefoglalás

Munkavédelmi technikus Munkavédelmi technikus

A TÁMOP KIEMELT PROJEKT KERETÉBEN KIALAKÍTOTT INFORMATIKAI RENDSZER

Tájékoztató a szerződés módosításáról_munkaruházati termékek szállítása (5. rész)

Tartalomjegyzék. Tartalom 1/16

Informatika szigorlati témakörök gazdasági informatika egyetemi képzés hallgatói részére

TANTÁRGYI ÚTMUTATÓ. Prezentáció és íráskészségfejlesztés. tanulmányokhoz

Tartalom. Újrafelhasználás alapú tervezés. Újrafelhasználás alapú tervezés Komponens alapú fejlesztés. Példák. Szoftvertechnológia előadás

Az Európai Szabadalmi Egyezmény végrehajtási szabályainak április 1-étől hatályba lépő lényeges változásai

AZ ÖNÉRTÉKELÉS SZEREPE ÉS FOLYAMATA AZ INTÉZMÉNYFEJLESZTÉSBEN M&S Consulting Kft.

Tanúsítvány és hozzá tartozó kulcsok feltöltése Oberthur kártyára és Oberthur SIM termékre

Dr. Schuster György február 21. Real-time operációs rendszerek RTOS

Virtuális magánhálózat, erőforrás kapacitásbérlés és üzemeltetési szolgáltatása DAKK Zrt-nél.

A szoftverfolyamat és s a tesztelés

MOBIL CROWDSENSING ÉS BIG DATA TÁVKÖZLÉSI ÉS MÉDIAINFORMATIKAI TANSZÉK BUDAPESTI MŰSZAKI ÉS GAZDASÁGTUDOMÁNYI EGYETEM

Külső eszközök Felhasználói útmutató

Számítógépes vírusok

Ahol az ERP véget ér hasznos kiegészítők

KÖZLEKEDÉSI ALAPISMERETEK (KÖZLEKEDÉS - ÜZEMVITEL, KÖZLEKEDÉS-TECHNIKA) KÖZLEKEDÉSI ALAPISMERETEK ÉRETTSÉGI VIZSGA II.

programozástechnika Kezdetek Fı célja 1. Kommunikáció Kezdetek - Adaptivitás

Nemzetközi terjeszkedés PPC eszközökkel. Deli Norbert Szakmai vezető

Kapcsolt vállalkozások évzáráshoz kapcsolódó egyéb feladatai. Transzferár dokumentálás Szokásos piaci ár levezetés

Kiphard-féle szenzomotoros és pszichoszociális fejlődési táblázat

A KÖZOP projekt rövid bemutatása

Felsőoktatási és Ipari Együttműködés új lehetőségei

Kerékpárlabda kvalifikációs szabályzat

Tartalom. Szoftverfejlesztési. Szoftver = Termék. módszertan. la Rational XDE CASE eszköz. Az előállításához technológiára van szükség

Pénzmosás és fellépés a terrorizmus ellen (változó szabályok) Dr. Király Júlia MNB Budapest, november 12.

Egy heti edzés leírása (5. sz. melléklet)

Dinamikus geometriai programok

LOGIKAI TERVEZÉS. Előadó: Dr. Oniga István egyetemi docens I félév

01. gyakorlat - Projektalapítás

VÁLTOZÁSOK ÉS EREDMÉNYESSÉG: A DÉLUTÁNIG TARTÓ ISKOLA BEVEZETÉSÉNEK INTÉZMÉNYI TAPASZTALATAI

Fókuszban a formahibák. Konzultációs nap Minőségfejlesztési Iroda szeptember 18. Fekete Krisztina

Szusza Ferenc labdarúgó sportlétesítmény fejlesztése

1. A BELSŐ ELLENŐRZÉS ÁLTAL VÉGZETT TEVÉKENYSÉG BEMUTATÁSA

Tartalom Kontextus modellek Viselkedési modellek Adat-modellek Objektum-modellek CASE munkapadok (workbench)

Nyílt hozzáférésű informatikai rendszerek BME VIMM 5294

2. HÉT: CRM RENDSZEREK A GYAKORLATBAN FUNKCIONALITÁSOK

A Hozzárendelési feladat megoldása Magyar-módszerrel

Közszolgálati egyéni teljesítményértékelés

TANÚSÍTVÁNY. tanúsítja, hogy a. Mezőgazdasági és Vidékfejlesztési Hivatal (MVH). által üzemeltetett

KOMPLEX TERVEZÉS TERVEZÉSI SZAKIRÁNY TARTÓSZERKEZETI FELADATRÉSZ 1. félév

Átírás:

The Unified Software Development Process Rational Unified Process Krizsán Zoltán Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2007. 12. 04.

Történet Rational Unified Process 5.0 1998 Funkcionális teszt Teljesítmény teszt Szükségletek menet. Üzleti tervezés Rational Objectory Process 4.1 1996-1997 (fázisok, iteratív megközelítés) Adat tervezés UI (GUI) tervezés The Rational Objectory Process 1.0-3.8 1987-1995 UML Ericsson RUP/ 2

Feltételek + Egyre nagyobb, komplex rendszerek + Újrahasználhatóság, áttelepíthetőség + Gyorsaság + Team modell + Modern algoritmusok -/ +Növekvő hardver erőforrások RUP/ 3

Általános séma Definiálja ki, mikor, mit, hogyan fog elkészíteni, hogy a kész rendszer a megfelelő célt szolgálja. Megrendelő szükségletei Szoftver Tervezési Folyamat Szoftver rendszer RUP/ 4

RUP definició Keretrendszer, amely : Egységesített fejlesztési módszertan Adott elvek és módszerek alapján Meghatározott tevékenységsorozattal Előírja a fejlesztési folyamat lépéseit RUP/ 5

Üzleti modell Probléma: a menedzserek nem értik a programozói leírást. A RUP megoldotta a problémát: business Use- Case Jelölésrendszere megegyezik a Use Case-ével, de a cég üzleti folyamatait írja le, üzleti ciklusokra bontva. RUP/ 6

Unified Process tulajdonságai / 1 Keret rendszer Komponens alapú. Modellszemléletű Jól definiált interfészeken keresztül kapcsolódik. Az UML jelölésrendszerét használja. RUP/ 7

Unified Process tulajdonságai / 2 Használati-eset vezérelt (Use - Case Driven) Architektúra központú (Architecture Centric) Iteratív és inkrementáló (Iterative and Incremental) RUP/ 8

Használati-eset vezérelt / 1 HASZNÁLATI ESET (USE CASE) A rendszer funkcionalitását fejezi ki: Megmutatja az adott feladat végrehajtásának az eredményét Megfogalmazza a felhasználónak a rendszerrel szemben támasztott elvárásait RUP/ 9

Használati-eset vezérelt / 2 Specifikálja Használati eset modell Analízis modell Realizálja Tervezési modell Eloszt Telepítési modell Megvalósítja Implementációs modell Ellenőrzi Teszt modell RUP/ 10

Architectúra-központú / 1 Az architektúra egy rendszer elemeinek és működési folyamatainak egyfajta strukturális nézete, amelyben kifejezésre jut, hogy az egyes részek hogyan működnek együtt, és hogyan kommunikálnak egymással. Raffai Márta : Egységesített megoldások a fejlesztésben RUP/ 11

Architektúra-központú / 2 Az architektúra: Elősegíti a statikus, dinamikus elemek modellezését A rendszert interfészeken keresztül kapcsolódó komponensek rendszereként modellezi. Az architektúra a megbízó üzleti elvárásaiból ered RUP/ 12

Architektúra-központú / 3 Szintjei: Üzleti követelmény architektúra Logikai - koncepcionális (építőelemek, funkciók, szolgáltatások, együttműködés) Fizikai: technikai, technológiai megoldások (hardver, szoftver, komponens, kódok, fájlok) RUP/ 13

Architektúra-központú / 4 Az architektúra "4+1" nézete RUP/ 14

Architectúra-központú / 5 Réteg (layer): jól elhatárolható rész, elemei azonos jellemzőkkel, interfész típusokkal Rétegei: Felhasználói-specifikus alkalmazási Általános alkalmazási Középréteg (middleware) Rendszer - szoftver RUP/ 15

Architectúra-központú / 6 A modellek felépítik tik, megjelenítik tik, dokumentálj lják az architektúrát Inception Elaboration Construction Transition idő Architektúra RUP/ 16

Inkrementális Analízis Specifikáció Tervezés Specifikáció Tesztelés Implem. Tesztelés Tervezés Implem. Specifikáció Tervezés Implem. Tesztelés Használat RUP/ 17

Előnyei: Ha rossz útra tévedtünk, akkor csak az utolsó lépés eredménytelen. Kisebb a rizikó, a problémák hamarabb a felszínre kerülnek. Gyorsabb fejlesztés (tisztább, rövid részek). Minden lépés után "átadható" a rendszer. Könnyebben változtatható. Jobban újrahasználható. Jobb minőség. RUP/ 18

Iteráció / 1 Elsőként csak a felhasználó-kritikus komponensek Később a gyakorlati hasznosság szerint fokozatosan bővül RUP/ 19

Iteráció / 2 Létrehozni és s ellenőrizni az architektúrát Definiálni a teszt feltételeket teleket és s a folyamatot Iterakciót megtervezni Felhasználói i dokumentáci ciót t elkész szíteni Telepíteni a rendszert begyűjteni a felhasználói i reakciókat kat Szinkronizálni a modelleket Használati-eset diagram Architektúra RUP/ 20

Iteráció / 3 H. E. -al a rendszer funkcióit, az arch-val a sikeres terméket szimbolizáljuk Az arch. egy durva becslést ad a nem specifikus H. E. kimeneteire H. E. alapján készül az alrendszer- és komponens-arch. A H. E. specifikációk egyre világosabbá teszik az arch. RUP/ 21

Előnyei: Iteráció / 4 Felhasználó nyugodt, igényei folyamatosan beépülnek Fejlesztő nyugodt, munkavégzés hatékonysága nő kisebb a ráfordítási kockázat, hiba esetén csak egy iteráció költségei buknak Kisebb a sikertelenség kockázata, teszteléskor kiderülnek a problémák RUP/ 22

Iterációk és munkafolyamatok / 1 RUP/ 23

Erőbedobás, ütemterv RUP/ 24

"Mérföldkövek" Minden fázisban 1 vagy több iteráció! Inception Elaboration Construction Transition idő Konkrét követelmények Architektúra Alap rendszer Produktum (kész "termék") RUP/ 25

termék generációk Ciklusok, fázisok, iterációk Termék életciklus 1. generáció 2. generáció n. generáció ciklus Fejlesztési életciklus fázis kiindulás kidolgozás építkezés átmenet iteráció 1. iteráció 2.iteráció n. iteráció munkafolyamat analízis tesztelés RUP/ 26

Statikus struktúra (elsődleges modell elemek) Ki? szerepkör (role) Hogyan? tevékenység (activity) Mit? termék (artifact) Mikor? munkafolyamat (workflow) RUP/ 27

Szerepkör (role) A szerepkör a munkában résztvevő személy vagy személyek egy csoportjának viselkedését és felelősségi körét definiálja. Viselkedés: a szerepkörhöz rendelt tevékenységek Felelősségi kör: azok a termékek, amiket létrehoz, módosít. Személy (resource): konkrét élő személyek pl.: Lajos, Dénes, Gyuri, Miki,... RUP/ 28

Szerepkör (role) (folyt.) Szerepkör: designer, design reviewer, architect, use case author stb. Szerepkör : Személy = n : m Egy személy akár egy munkanapon belül is betölthet több szerepkört. A szerepkörök és a személyek közötti leképezés megtervezése a projekt menedzser feladata. RUP/ 29

Tevékenység (activity) A munka egy egysége, amelyet egy a személynek egy adott szerepkörben kell elvégeznie. A projekt szempontjából szükséges eredménye van Általában egy termék létrehozása, vagy frissítése (modell, osztály, terv) Minden tevékenység egy adott szerepkörhöz rendelt. RUP/ 30

Tevékenység (activity) (folyt.) Általában néhány órát, max. néhány napot vesz igénybe. Általában egy személy végzi, és kevés személyre van hatása Egy adott tevékenység a projekt során többször ismétlődhet, ugyan ahhoz a szerepkörhöz, de nem feltétlenül ugyan ahhoz a személyhez rendelve. RUP/ 31

Tevékenység (activity) (folyt.) Példák: Execute performance test (Performance Tester) Plan an iteration (Project Manager) Review the design (Design Reviewer) RUP/ 32

Termék (artifact) Egy része az információnak, amelyet használ, módosít vagy eredményez a fejlesztési folyamat. Egy szerepkör egy tevékenységének bemenete és/vagy eredménye. Példák: modell, forrás kód, bináris kód, dokumentum Egy termék más termékekből állhat össze. (Például egy tervezési modell számos osztály tervét tartalmazza.) RUP/ 33

Munkafolyamat (workflow) Tevékenységek sorozata, melynek eredménye van, vagy kapcsolat a személyek között. RUP/ 34

A role played by an individual or a team Példa a személy, termék, tevékenység fogalmakra Tevékenység A unit of work Személy Analyst responsible for Describe a Use Case Termék Use case Use case package A piece of information that is produced, modified, or used by a process RUP/ 35

Figyelem! A magyar szóhasználat kialakulatlansága miatt a "munkafolyamat" kifejezést két értelemben is szokás használni: workflow (javaslatom: munkafolyamat) discipline (javaslatom: résztevékenység) Vegyes nyelven (de ezáltal pontosabban) fogalmazva: Egy discipline végrehajtási módját egy hozzá rendelt core workflow definiálja. RUP/ 36

Kezdeti fázis, felmérés (Inception) Tárgya A projekt hatáskörének meghatározása Minden külső tényező meghatározása Azonosítása minden H.E.-nek, a kritikusak kidolgozása (max 20 %) Alap rizikó becslése Nagyvonalú projekt terv elkészítése: iterációkra, fázisokra bontás RUP/ 37

Kezdeti fázis, felmérés (Inception) (folyt.) Alapvető termékek Egy "vision" dokumentum Use case modell, amely felsorolja mindazokat az aktorokat és use case-eket, amelyek ebben a fázisban azonosíthatók. Kezdeti szójegyzék (Glossary). Kezdeti kockázat lista. Projekt terv (fázisok, iterációk). Gyakran egy kezdeti prototípus. RUP/ 38

Tárgya Kidolgozási fázis (Elaboration) A problématér (problem domain) analízise. A projekt terv részletes kidolgozása A legfontosabb nem funkcionális követelmények definiálása H. E. m. legalább 80 %-os kidolgozása (minden H. E., és aktor definiált) RUP/ 39

Kidolgozási fázis (Elaboration) (foyt.) Alapvető termékek Use case modell (min. 80%-os készültségben) Kiegészítő (nem funkcionális, illetve use casehez nem köthető) követelmények Szoftver architektúra leírás Végrehajtható architekturális prototípus Továbbfejlesztett kockázati lista Részletes projekt terv Részletes projekt terv RUP/ 40

Kivitelezési fázis (Construction) Végleges felhasználói kézikönyv Kész szoftver termék Teljes leírása a terméknek Általában ezen fázis végén jön létre a béta verzió RUP/ 41

Átalakulási (átadási) fázis (Transition) Béta teszt Dokumentációk frisssítése, ha szükséges Végleges telepítés, konfigurálás Felhasználók oktatása Gratulációk fogadása RUP/ 42

Feladata Üzleti modellezés a szervezet céljainak és struktúrájának feltárása feltárni a szervezet aktuális problémáit meggyőződni arról, hogy a felhasználók és a fejlesztők ugyanazt látják a rendszer követelményeinek levezetése a szervezet igényiből RUP/ 43

Követelményfeltárás / 1 Ötletek begyűjtése (rövid név - rövid leírás) Státusz Becsült implementálási költség Prioritás Rizikószint Eredménye: tulajdonság lista A rendszer tartalmának megértése Azonosítani, elnevezni az objektumokat Eredménye: Business vagy domain modell RUP/ 44

Követelményfeltárás / 2 Funkcionális szükségletek begyűjtése. Használati-eset modellek elkészítése. (A H.E. a rendszer használatának egy lehetséges módja) Eredménye: H. E. modell Nem funkcionális szükségletek begyűjtése. Környezeti, implementálási kényszer (pl.: max 1000 sor), teljesítmény, biztonsági követelmény Eredménye: doksi, esetleg H.E. RUP/ 45

Használati-eset model Use Case Model Analysis Model Design Model Depl. Model Impl. Model Test Model Use Case Class Component Deployment Sequence Collaboration Statechart Activity Object RUP/ 46

Analízis Szükségletek mélyebb megértése, javítása, részletezése A rendszer belsejének meghatározása Külső rendszer nézet -> belső - - Eredménye: analízis modell, kontroll osztályok RUP/ 47

Tervezés Megérteni teljes mélységében: UI topológiát, DB technológiát, Szétbontani a feladatot több menedzselhető részre. (Team modell.) Definiálni a fő interfészeket a részrendszerek között. Vizuálisan ábrázolni amit lehet Elkészíteni egy absztrakt rendszer implementációt Termék: design model, design class, interface, Architecture description RUP/ 48

Analízis, tervezési model Use Case Model Analysis Model Design Model Depl. Model Impl. Model Test Model Use Case Class Component Deployment Sequence Collaboration Statechart Activity Object Incl. subsystems and packages RUP/ 49

Implementálás A rendszert teljesen kidolgozni Szétosztani a rendszert több futtatható komponensre Elkészíteni a forrásfájlokat, szkripteket. Komponens teszt, előállítani a futtatható bináris állomány(oka)t Eredmény: komponens (forrás, bináris, könyvtár, tábla, doksi, csomag,...), interfész RUP/ 50

Telepítési és megvalósítási model Use Case Model Analysis Model Design Model Depl. Model Impl. Model Test Model Use Case Class Component Deployment Sequence Collaboration Statechart Activity Object Incl. active classes and components RUP/ 51

Teszt Vázolni a tesztet, minden iterációban integrációs, legutolsóban rendszer tesz. Megtervezni, implementálni a tesztet. Elkészíteni a teszt osztályt, meghatározni mit fog tesztelni Szisztematikusan mérni a teszt eredményeket, és azok teljesítményét Eredmény: teszt modell RUP/ 52

Teszt model Use Case Model Analysis Model Use Case Class Component Object Design Model Depl. Model Impl. Model Test Model Test model refers to all other models and uses corresponding diagrams Deployment Sequence Collaboration Statechart Activity RUP/ 53

RUP eszközök: TOOL MENTOR Rational Requisite Pro Rational PerformanceStudio Rational SoDA (dokumentáció) Rational Rose Rational Purify (run-time hiba kereső) Rational TeamTest Rational ClearCase RUP/ 54

Referenciák: http://www.rational.com/products/rup/whitepa pers.jsp Jacobson, Booch, Rumbaugh: The Unified Software Development Process Addison-Wesley, 1999 Raffai Márta: Egységesített megoldások a fejlesztésben (UML modellező nyelv, RUP módszertan) Novadat, 2001. RUP/ 55

Köszönöm a figyelmet!