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

The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

  • Upload
    haliem

  • View
    216

  • Download
    1

Embed Size (px)

Citation preview

Page 1: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

1

The Unified Software Development Process

Rational Unified Process

Krizsán ZoltánFicsor Lajos

Miskolci EgyetemÁltalános Informatikai Tanszék

Utolsó módosítás: 2007. 12. 04.

RUP/ 2

Történet

Funkcionális tesztTeljesítmény tesztSzükségletek menet.Üzleti tervezésAdat tervezésUI (GUI) tervezés

Rational Unified Process 5.01998

Rational Objectory Process 4.11996-1997

Objectory Process 1.0-3.81987-1995

Ericsson

UML The Rational

(fázisok, iteratív megközelítés)

RUP/ 3

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

Page 2: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

2

RUP/ 4

Általános séma

Definiálja ki, mikor, mit, hogyanki, mikor, mit, hogyan fog elkészíteni, hogyhogy a kész rendszer a megfelelőcélt szolgálja.

Megrendelő

szükségletei

Szoftver

rendszer

Szoftver TervezésiFolyamat

RUP/ 5

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/ 6

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

Page 3: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

3

RUP/ 7

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

RUP/ 8

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/ 9

Használati-eset vezérelt / 1HASZNÁ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

Page 4: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

4

RUP/ 10

Használati-eset vezérelt / 2Használatieset modell

Analízis modell

Tervezési modell

Telepítési modell

Implementációs modell

Teszt modell

Megvalósítja

Ellenőrzi

Realizálja

Specifikálja

Eloszt

RUP/ 11

Architectúra-központú / 1Az 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/ 12

Architektúra-központú / 2Az architektúra:

Elősegíti a statikus, dinamikus elemek modellezésétA rendszert interfészeken keresztül kapcsolódó komponensek rendszereként modellezi. Az architektúra a megbízó üzleti elvárásaiból ered

Page 5: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

5

RUP/ 13

Architektúra-központú / 3Szintjei:

Üzleti – követelmény architektúraLogikai - 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/ 14

Architektúra-központú / 4

Az architektúra "4+1" nézete

RUP/ 15

Architectúra-központú / 5Réteg (layer): jól elhatárolható rész, elemei

azonos jellemzőkkel, interfész típusokkalRétegei:

Felhasználói-specifikus alkalmazásiÁltalános alkalmazásiKözépréteg (middleware)Rendszer - szoftver

Page 6: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

6

RUP/ 16

A A modellekmodellek felfelééppíítiktik, , megjelenmegjeleníítiktik, , dokumentdokumentááljljáákk azaz architektarchitektúúrráátt

idő

Architektúra

Inception Elaboration Construction Transition

Architectúra-központú / 6

RUP/ 17

Inkrementális

Analízis

Specifikáció

Tervezés

Implem.

Tesztelés

Használat

Specifikáció

Tervezés

Implem.

Tesztelés

Specifikáció

Tervezés

Implem.

Tesztelés

RUP/ 18

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.

Page 7: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

7

RUP/ 19

Iteráció / 1

Elsőként csak a felhasználó-kritikus komponensekKésőbb a gyakorlati hasznosság szerint fokozatosan bővül

RUP/ 20

Iteráció / 2

Használati-eset diagram

Architektúra

–– LLéétrehozni trehozni éés ellens ellenőőrizni az architektrizni az architektúúrráátt–– DefiniDefiniáálni a teszt feltlni a teszt feltéételeket teleket éés a folyamatot s a folyamatot –– IterakciIterakcióótt megterveznimegtervezni–– FelhasznFelhasznáállóói dokumenti dokumentáácicióót elkt elkéészszííteniteni–– TelepTelepííteni a rendszertteni a rendszert–– begybegyűűjteni a felhasznjteni a felhasznáállóói reakcii reakcióókatkat

SzinkronizSzinkronizáálni a modelleketlni a modelleket

RUP/ 21

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

Page 8: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

8

RUP/ 22

Iteráció / 4Elő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 buknakKisebb a sikertelenség kockázata, teszteléskor kiderülnek a problémák

RUP/ 23

Iterációk és munkafolyamatok / 1

RUP/ 24

Erőbedobás, ütemterv

Page 9: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

9

RUP/ 25

idő

Konkrét követelmények Architektúra Alaprendszer

Produktum(kész "termék")

Inception Elaboration Construction Transition

"Mérföldkövek"

Minden fázisban 1 vagy több iteráció!

RUP/ 26

Ciklusok, fázisok, iterációkTermék életciklus

Fejlesztési életciklus

1. generáció 2. generáció n. generáció

kiindulás átmenetkidolgozás építkezés

1. iteráció 2.iteráció n. iteráció

analízis tesztelés

termék

generációk

ciklus

fázis

iteráció

munkafolyamat

RUP/ 27

Statikus struktúra (elsődleges modell elemek)

Ki?

Hogyan?

Mit?

Mikor?

szerepkör (role)

tevékenység (activity)

termék (artifact)

munkafolyamat (workflow)

Page 10: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

10

RUP/ 28

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égekFelelő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/ 29

Szerepkör (role) (folyt.)Szerepkör: designer, design reviewer, architect, use case author stb.Szerepkör : Személy = n : mEgy 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/ 30

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.

Page 11: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

11

RUP/ 31

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ásaEgy 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/ 32

Tevékenység (activity) (folyt.)Példák:

Execute performance test (Performance Tester)Plan an iteration (Project Manager)Review the design (Design Reviewer)

RUP/ 33

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, dokumentumEgy termék más termékekből állhat össze. (Például egy tervezési modell számos osztály tervét tartalmazza.)

Page 12: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

12

RUP/ 34

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

RUP/ 35

Példa a személy, termék, tevékenység fogalmakra

Describe a Use Case

Use case package

Use case

responsible for

Analyst

Termék

A piece of information that is produced, modified, or used by a process

Személy

A role played by an individual or a team

Tevékenység

A unit of work

RUP/ 36

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.

Page 13: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

13

RUP/ 37

Kezdeti fázis, felmérés (Inception)Tárgya

A projekt hatáskörének meghatározásaMinden külső tényező meghatározásaAzonosítása minden H.E.-nek, a kritikusak kidolgozása (max 20 %)Alap rizikó becsléseNagyvonalú projekt terv elkészítése: iterációkra, fázisokra bontás

RUP/ 38

Kezdeti fázis, felmérés (Inception) (folyt.)

Alapvető termékekEgy "vision" dokumentumUse 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/ 39

Kidolgozási fázis (Elaboration)Tárgya

A problématér (problem domain) analízise.A projekt terv részletes kidolgozásaA 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)

Page 14: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

14

RUP/ 40

Kidolgozási fázis (Elaboration) (foyt.)Alapvető termékekUse case modell (min. 80%-os készültségben)Kiegészítő (nem funkcionális, illetve use case-hez nem köthető) követelményekSzoftver architektúra leírásVégrehajtható architekturális prototípusTovábbfejlesztett kockázati lista Részletes projekt tervRészletes projekt terv

RUP/ 41

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

RUP/ 42

Átalakulási (átadási) fázis (Transition)Béta tesztDokumentációk frisssítése, ha szükségesVégleges telepítés, konfigurálásFelhasználók oktatásaGratulációk fogadása

Page 15: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

15

RUP/ 43

Üzleti modellezésFeladata

a szervezet céljainak és struktúrájának feltárásafeltárni a szervezet aktuális problémáitmeggyőződni arról, hogy a felhasználók és a fejlesztők ugyanazt látjáka rendszer követelményeinek levezetése a szervezet igényiből

RUP/ 44

Követelményfeltárás / 1Ötletek begyűjtése (rövid név - rövid leírás)

StátuszBecsült implementálási költségPrioritásRizikószintEredménye: tulajdonság lista

A rendszer tartalmának megértéseAzonosítani, elnevezni az objektumokatEredménye: Business vagy domain modell

RUP/ 45

Követelményfeltárás / 2Funkcioná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. modellNem funkcionális szükségletek begyűjtése.

Környezeti, implementálási kényszer (pl.: max1000 sor), teljesítmény, biztonsági követelményEredménye: doksi, esetleg H.E.

Page 16: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

16

RUP/ 46

Használati-eset modelUse CaseDiagrams

CollaborationDiagrams

ComponentDiagrams

DeploymentDiagrams

ObjectDiagrams

StatechartDiagrams

SequenceDiagrams

ClassDiagrams

ActivityDiagrams

Use CaseModel

DesignModel

Depl.Model

Impl.Model

AnalysisModel

TestModel

RUP/ 47

AnalízisSzükségletek mélyebb megértése, javítása, részletezéseA rendszer belsejének meghatározásaKülső rendszer nézet -> belső - | | -Eredménye: analízis modell, kontroll osztályok

RUP/ 48

TervezésMegé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 lehetElkészíteni egy absztrakt rendszer implementációtTermék: design model, design class, interface, Architecture description

Page 17: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

17

RUP/ 49

Analízis, tervezési modelUse CaseDiagrams

CollaborationDiagrams

ComponentDiagrams

DeploymentDiagrams

ObjectDiagrams

StatechartDiagrams

SequenceDiagrams

ClassDiagrams

ActivityDiagrams

Use CaseModel

DesignModel

Depl.Model

Impl.Model

AnalysisModel

TestModel

Incl. subsystems and packages

RUP/ 50

ImplementálásA rendszert teljesen kidolgozniSzétosztani a rendszert több futtathatókomponensreElkészíteni a forrásfájlokat, szkripteket.Komponens teszt, előállítani a futtathatóbináris állomány(oka)tEredmény: komponens (forrás, bináris, könyvtár, tábla, doksi, csomag, ...), interfész

RUP/ 51

Telepítési és megvalósítási modelUse CaseDiagrams

CollaborationDiagrams

ComponentDiagrams

DeploymentDiagrams

ObjectDiagrams

StatechartDiagrams

SequenceDiagrams

ClassDiagrams

ActivityDiagrams

Use CaseModel

DesignModel

Depl.Model

Impl.Model

AnalysisModel

TestModel

Incl. active classes and components

Page 18: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

18

RUP/ 52

TesztVá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 tesztelniSzisztematikusan mérni a teszt eredményeket, és azok teljesítményétEredmény: teszt modell

RUP/ 53

Teszt modelUse CaseDiagrams

CollaborationDiagrams

ComponentDiagrams

DeploymentDiagrams

ObjectDiagrams

StatechartDiagrams

SequenceDiagrams

ClassDiagrams

ActivityDiagrams

Use CaseModel

DesignModel

Depl.Model

Impl.Model

AnalysisModel

TestModel

Test model refers to all other models and uses corresponding diagrams

RUP/ 54

RUP eszközök:TOOL MENTORRational Requisite ProRational PerformanceStudioRational SoDA (dokumentáció)Rational RoseRational Purify (run-time hiba kereső)Rational TeamTestRational ClearCase

Page 19: The UnifiedSoftware DevelopmentProcess - IITusers.iit.uni-miskolc.hu/ficsor/swtechseg/RUPhand.pdf · The Rational UML (fázisok, iteratívmegközelítés) RUP/ 3 Feltételek +Egyre

19

RUP/ 55

Referenciák:http://www.rational.com/products/rup/whitepapers.jspJacobson, Booch, Rumbaugh: The UnifiedSoftware Development ProcessAddison-Wesley, 1999Raffai Márta: Egységesített megoldások a fejlesztésben (UML modellező nyelv, RUP módszertan)Novadat, 2001.

Köszönöm a figyelmet!