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



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

UML (Unified Modelling Language)

01. gyakorlat - Projektalapítás

Előzmények

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

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

V. Félév Információs rendszerek tervezése Komplex információs rendszerek tervezése dr. Illyés László - adjunktus

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Objektum orientált software fejlesztés (Bevezetés)

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

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

Adattárház kialakítása a Szövetkezet Integrációban, UML eszközökkel. Németh Rajmund Vezető BI Szakértő március 28.

Folyamatmodellezés és eszközei. Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék

The Unified Software Development Process

Hogyan lehet megakadályozni az üzleti modellezés és az IT implementáció szétválását? Oracle BPM Suite

Modellinformációk szabványos cseréje. Papp Ágnes, Debreceni Egyetem EFK

Név: Neptun kód: Pontszám:

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

Komponens alapú programozás Bevezetés

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

Információs rendszerek Információsrendszer-fejlesztés

Object Orgy PROJEKTTERV 1 (9) Adattípusok menedzselése Palatinus Endre

A dokumentáció felépítése

(Teszt)automatizálás. Bevezető

A követelm. vetelmény. analízis fázis. Az analízis fázis célja. fázis feladata

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

Szoftverspecifikáció fázis: Követelmény specifikáció. 2. fázis: Követelmények feltárása és elemzése

TESZTELÉS A SZOFTVER ÉLETCIKLUSÁN ÁT SZOFTVERFEJLESZTÉSI MODELLEK

Modellalkotás UML-ben

A szoftver-folyamat. Szoftver életciklus modellek. Szoftver-technológia I. Irodalom

Software engineering (Software techológia) Bevezetés, alapfogalmak. Történelem 1. Történelem as évek Megoldandó problémák: Fejlesztő: Eszköz:

Komponens alapú fejlesztés

Projectvezetők képességei

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

Utolsó módosítás:

Szoftver újrafelhasználás

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT 6. kurzus

Software Engineering

Autóipari beágyazott rendszerek. Komponens és rendszer integráció

Teszt terv Új funkció implementációja meglévı alkalmazásba

Fejlesztési projektek menedzselése IBM Rational CLM termékekkel. Ker-Soft Kft. Kaszás Orsolya - üzleti tanácsadó

Szoftver-technológia II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Bevezetés a programozásba

Szoftvertechnológia ellenőrző kérdések 2005

TOGAF elemei a gyakorlatban

7. rész: A specifikációtól az implementációig az EJB rétegben

Informatikai projekteredmények elfogadottságának tényezői

10-es Kurzus. OMT modellek és diagramok OMT metodológia. OMT (Object Modelling Technique)

S01-7 Komponens alapú szoftverfejlesztés 1

Rendszer szekvencia diagram

MIÉRT KELL TESZTELNI?

Verifikáció és validáció Általános bevezető

Tartalom. Konfiguráció menedzsment bevezetési tapasztalatok. Bevezetés. Tipikus konfigurációs adatbázis kialakítási projekt. Adatbázis szerkezet

Projektterv. Projekt Neve: Ingatlan Bérbeadási Nyilvántartás Csoport: nmi

A szoftverfejlesztés eszközei

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

4. A szoftvergyártás folyamata

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

ELTE, Informatikai Kar december 12.

Életciklus modellek a rendszer és szoftverrendszer-fejlesztésben. SDLC System Development Life Cycle Software Development Life Cycle

Informatikai technológiák szakirány Rendszertervezés ágazat

OpenCL alapú eszközök verifikációja és validációja a gyakorlatban

Információtartalom vázlata

A szoftverfejlesztés eszközei

Szoftverarchitektúrák 3. előadás (második fele) Fornai Viktor

Orvostechnikai eszköz tesztelése DSS Unit test. Taliga Miklós BME-IIT

Metamodellezés. Simon Balázs BME IIT, 2011.

Szabálykezelés a gyakorlatban

Szakterületi modell A fogalmak megjelenítése. 9. fejezet Applying UML and Patterns Craig Larman

Nagy bonyolultságú rendszerek fejlesztőeszközei

Software Engineering Babeş-Bolyai Tudományegyetem Kolozsvár

Modell alapú tesztelés mobil környezetben

Software Engineering Szoftver fejlesztés

Tamagocsi Projektterv

és az instanceof operátor

Univerzális munkafolyamat szimulátor

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

problémák elvárások megoldások EAI MDA MOF CWM köztes Sw eszközök hatékonyság konklúzió 09:09 problémák elvárások megoldások EAI MDA MOF CWM

Miskolci Egyetem Alkalmazott Informatikai Intézeti Tanszék A minőségbiztosítás informatikája. Készítette: Urbán Norbert

A fejlesztés módszertana

Szemléletmód váltás a banki BI projekteken

Járműinformatika A járműinformatikai fejlesztés

Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem

Szoftvertechnológia szakirány

Programozási technológia

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

Transzformációk integrált alkalmazása a modellvezérelt szoftverfejlesztésben. Ráth István

PRO JEKT = előre visz

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

Kinek szól a könyv? Hogyan épül fel a könyv? Megjelenés előtti szoftver A hálózati kézikönyv tartalma A könyv támogatása Kérdések és megjegyzések

Verziókövető rendszerek használata a szoftverfejlesztésben

A szoftverfolyamat és s a tesztelés

Utolsó módosítás:

Üzleti architektúra menedzsment, a digitális integrált irányítási rendszer

Objektumorientált paradigma és a programfejlesztés

S01-8 Komponens alapú szoftverfejlesztés 2

Tesztelés az XP-ben Tesztelés az XP-ben. A tesztelés kulcsjellemzői:

Azonnali fizetési rendszer megvalósítása

S S A D M ELEMZÉSI ÉS TERVEZÉSI MÓDSZERTAN. Structured Systems Analysis and Design Method

Á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 The Rational Rational Unified Process 5.0 1998 Rational Objectory Process 4.1 1996-1997 (fázisok, iteratív megközelítés) Objectory Process 1.0-3.8 1987-1995 Funkcionális teszt Teljesítmény teszt Szükségletek menet. Üzleti tervezés Adat tervezés UI (GUI) tervezés 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ú. lszemlé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 Tervezési modell Realizálja 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ó Implem. Tervezés Specifikáció Tesztelés Tesztelés Implem. 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

Iteráció / 4 Előnyei: 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 Ciklusok, fázisok, iterációk termék Termék életciklus generációk 1. generáció 2. generáció n. generáció ciklus Fejlesztési életciklus fázis iteráció kiindulás kidolgozás építkezés átmenet 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 Kidolgozási fázis (Elaboration) Tárgya 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

Üzleti modellezés Feladata 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 Use Case Class Object Analysis Design Depl. Impl. Test Component Deployment Sequence Collaboration Statechart Activity 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 Use Case Class Object Analysis Design Component Deployment Incl. subsystems and packages Depl. Impl. Test Sequence Collaboration Statechart Activity 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 Analysis Use Case Class Component Object Design Depl. Impl. Test Deployment Sequence Collaboration Statechart Activity 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 Use Case Class Object Analysis Component Design Depl. Impl. Test 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!