Software Engineering Szoftver fejlesztés



Hasonló dokumentumok
Software Engineering

01. gyakorlat - Projektalapítás

UML (Unified Modelling Language)

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

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

Rendszer-modellezés, modellezési technikák

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

Bánsághi Anna 2014 Bánsághi Anna 1 of 31

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

Szoftver-technológia II. Modulok és OOP. Irodalom

Előzmények

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

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

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

S01-7 Komponens alapú szoftverfejlesztés 1

Rendszer-modellezés, modellezési technikák

Objektum orientált programozás Bevezetés

Objektumorientált paradigma és a programfejlesztés

Absztrakció. Objektum orientált programozás Bevezetés. Általános Informatikai Tanszék Utolsó módosítás:

Projectvezetők képességei

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

Programfejlesztési Modellek

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

Objektumorientált paradigma és programfejlesztés Bevezető

Kölcsönhatás diagramok

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

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

OOP. Alapelvek Elek Tibor

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

Rendszer szekvencia diagram

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások

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

Komponens alapú fejlesztés

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.

Szoftver újrafelhasználás

Témakörök. Structured Analysis (SA) Előnyök (SA) (SA/SD) Jackson Structured Programming (JSP) Szoftvertechnológia

Fogalmi modellezés. Ontológiák Alkalmazott modellező módszertan (UML)

Szoftverminőségbiztosítás

2.1.A SZOFTVERFEJLESZTÉS STRUKTÚRÁJA

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

Objektumorientáció, objektumorientált szemlélet

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

Java programozási nyelv

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

Magas szintű adatmodellek Egyed/kapcsolat modell I.

ELTE, Informatikai Kar december 12.

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

S01-8 Komponens alapú szoftverfejlesztés 2

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

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

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

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

A szoftverfejlesztés eszközei

Parametrikus tervezés

Információtartalom vázlata

Funkciópont elemzés: elmélet és gyakorlat

DW 9. előadás DW tervezése, DW-projekt

Kogníció, koncepciók, modellek

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

MIÉRT KELL TESZTELNI?

Modellező eszközök, kódgenerálás

ANALYSIS PATTERNS MARTIN FOWLER ANALYSIS PATTERNS. Általános ismertető és Accountability Patterns

Szoftver-mérés. Szoftver metrikák. Szoftver mérés

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

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

ny Tornabajnokság g eredmény nyilvántart ntartó rendszere A megoldandó feladat Követelmény analízis 1. Ficsor Lajos Általános Informatikai Tanszék

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

Szolgáltatás Orientált Architektúra a MAVIR-nál

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

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

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

(Teszt)automatizálás. Bevezető

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

Programozás 1. 2.gyakorlat

Számítógéppel segített folyamatmodellezés p. 1/20

Objektumelvű programozás

SOA modell: Ez az interfész definiálja az elérhető adatokat, és megadja, hogy hogyan lehet azokhoz hozzáférni.

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

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

Autóipari beágyazott rendszerek Dr. Balogh, András

HASZNÁLATI ESET DIAGRAM (USE CASE DIAGRAM)

Planning and Design of Information Systems. André Blokdijk, Paul Blokdijk ACADEMIC PRESS, 1987.

Bevezetés. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Szendrei Rudolf. Bevezetés. Szoftvertechnológia

Komplex záróvizsga témakörök Gazdaságinformatikus szak Pénzintézeti informatikus szakirány 2018

Méréselmélet MI BSc 1

Programozás. Bevezetés. Fodor Attila. Pannon Egyetem Műszaki Informatikai Kar Villamosmérnöki és Információs Rendszerek Tanszék

Nagy bonyolultságú rendszerek fejlesztőeszközei

Vállalati információs rendszerek I, MIN5B6IN, 5 kredit, K. 4. A meghirdetés ideje (mintatanterv szerint vagy keresztfélében):

Vezetői információs rendszerek

TERMÉKTERVEZÉS PANDUR BÉLA TERMÉKTERVEZÉS

Programozási technológia

Adatszerkezetek 1. előadás

Szoftver követelmények meghatározása

Dr. Mileff Péter

Szoftverprototípus készítése. Szoftverprototípus készítése. Szoftverprototípus készítése

Bevezetés a programozásba

Miskolci Egyetem Általános Informatikai Tanszék

Átírás:

Software Engineering Szoftver fejlesztés Követelmény (kezelés, elemzés, specifikáció) Elemzés Tervezés (Architektúra) Engineering (Fejlesztés) System Engineering Business process engineering üzleti folyamatok tervezése, szervezése modellezzük az üzleti környezetet Product enginnering termékek tervezése modellezzük a terméket, annak használatát Software Engineering szoftver alkalmazásokat, eszközöket ad a fenti feladatok megoldására Modellezés általános eszköz leendő rendszer specifikációja és terve

Software Engineering Szoftver fejlesztés Technikai tartalom, lépések Szoftver Engineering lépések (Üzleti modellezés) Követelmény (kezelés, elemzés) Elemzés, tervezés Implementáció Tesztelés Telepítés Fejlesztési termékek: fejlesztési lépések eredményei

Fejlesztés lépései Vízesés modell szerint Fejlesztés lépései Iteratív fejlesztési modell szerint

Termékek előállítása a fejlesztés során Iteratív fejlesztés: Az iterációk során egyre több termék áll elő, és a termékek érettsége egyre nő. Szoftver Engineering Szoftver fejlesztés Követelmények

Követelmények Követelmények Követelmények összegyűjtése Követelmények elemzése konzisztencia, prioritások Követelmény specifikáció konzisztens és érthető követelmény definíció (pl. bemenet, kimenet stb.) rendszer modell Követelmények validálása teljesség, ellentmondás-mentesség Követelmények Módszerek Követelmények összegyűjtése pl. használati esetek; nem funkcionális Követelmények elemzése information domain adat feldolgozás vezérlés funkció leírás funkcionális modell viselkedés leírás viselkedési modell partíciónálás (részekre bontás) prototípus készítés

Szoftver Engineering Szoftver fejlesztés Elemzés Elemzés Cél: elemzési modell készítése Fejlesztett rendszer részletes és teljes leírása első technikai reprezentáció (modell) Alternatívák: Strukturált analízis Objektum orientált analízis

Strukturált elemzés Elemzési modell célja: felhasználói követelmények rögzítése, a szoftver terv (ill. tervezés) alapjainak megteremtése, követelmények definiálása, melyek alapján verifikálható lesz az elkészített szoftver. Strukturált analízis módszerei Adat könyvtár (dictonary) Rendszer által kezelt adatok leírása Entitás relációs diagram (entity relations.) Adat objektumok és az adatelemek egymáshoz való viszonyának leírása Adat folyam diagram (dataflow) Adat transzformáció és adat mozgatás, valamint az adat manipuláló funkciók leírása Állapot átmeneti diagram (state trans.) Vezérlés leírása

Szoftver Engineering Szoftver fejlesztés Tervezés Tervezés Cél: tervezési modell készítése Tervezési modell direkt módon megvalósítható rendszer elemek leírása Tervezés fázisai (Belady) divergálás alternatívák konvergálás választás kreatív folyamat!! döntések! Alternatívák: Strukturált tervezés Objektum orientált tervezés

Strukturált tervezés fázisai Adat tervezés adat könyvtár, ER adat struktúrák Architektúra tervezés strukturális felépítése a rendszernek minták, specifikáció, részek Interfész tervezés belső és külső kommunikáció Komponens tervezés architektúra terv elemei implementálható program elemek, procedúrák, függvények stb. Strukturált tervezés és a minőség Tervezés minősége alapvetően befolyásolja a végtermék minőségét felhasználói követelmények rendszer összes követelmény lefedése érthetőség teljesség: adat, funkció, viselkedés minőségi kritériumrendszerek

Strukturált tervezés menete tipikusan iteratív folyamat absztrakt reprezentáció konkrét reprezentáció tervezési modell teljes reprezentációja a szoftvernek különböző nézetek (aspektusok) Általános tervezési elvek

Általános tervezési elvek Ne legyen csőlátású a tervező alternatívák felállítása Az analízis modell és a tervezési modell összekapcsolása melyik tervezési döntés (modell) melyik analízis modell elem alapján jött létre Ne találjuk fel a kereket megint! tervezési mintákat próbáljunk használni Általános tervezési elvek A megoldás szerkezete lehetőleg tükrözze a megoldott probléma szerkezetét Egységes terv ~egy embertől származna Változás tűrő új rész integrálható Robusztus hiba, túlterhelés stb. esetén lassan csökken a rendszer funkcionalitása

Általános tervezési elvek a terv absztrakciós szintje magasabb, mint a kódé, és részletes eléggé, hogy ne kelljen lényeges döntést hozni kódoláskor minőségi követelményeket figyelembe kell venni és mérni a tervezés folyamatában ellenőrizni kell a tervet a szemantikus hibák kijavítása érdekében ellentmondások, redundancia nem csak szintaktikusan kell ellenőrizni Tervezési módszerek

Tervezési módszerekről általában Módszerek: segítség a döntéseknél, de Kérdések tervezéskor: Mi alapján lehet a szoftvert részekre osztani? Hogyan legyenek a funkciók, ill. a adatszerkezetek részletei elválasztva a szoftver koncepcionális modelljétől? Van-e általánosan használható mérőszám a tervezés minőségének mérésére? Tervezési módszerek - Absztrakció I. Absztrakció absztrakt: megoldás (modell) a probléma tér fogalmaival kevésbé absztrakt: keverednek a probléma tér fogalmai az implementációs tér fogalmaival közvetlenül megvalósítható megoldás leírás tervezés során az absztrakció csökken

Tervezési módszerek Absztrakció II. Absztrakció típusai működés leírás (procedural) absztrakció függvény név függvény utasítások adat absztrakció adat szerkezet név adat szerkezet definíció vezérlés absztrakció szemafor Tervezési módszerek Pontosítás, részletezés (refinement) top-down tervezési modell elsősorban működés leírás kidolgozására lépésenkénti finomítása, részletezése a leírásnak

Tervezési módszerek Modulokba szerverés komponensek névvel és elhatárolható funkcionalitással, önálló megvalósítással kezelhető legyen a rendszer józan ésszel Modulok méretének meghatározása Probléma: p1, p2 Komplexitás: C(p1), C(p2) Befektetés: B(p1), B(p2) C(p1)>C(p2) B(p1)>B(p2) C(p1+p2)>C(p1)+C(p2) B(p1+p2)>B(p1)+B(p2) minél kisebb problémákra vágom, annál könnyebben oldom meg de integrálni is kell optimum!!

Modulok mérete fejlesztés költsége befektetés (költség) együttes modul fejlesztés integráció modulok száma Szoftver architektúra

Szoftver architektúra rendszer általános felépítés, struktúrája komponensek (nem meghatározott a méretük) hierarchiája komponensek együttműködésének módja koncepcionális leírás Szoftver architektúra leírása strukturális modell framework modell absztraktabb, általános működés hasonló rendszerekben, tervezési minták dinamikus modellek viselkedés (a rendszer hogyan változik külső hatásokra) folyamat modellek üzleti, technológia funkcionális modellek hierarchia leírása: Arhitectural Description Language

Strukturális modell Struktúra Vezérlési hierarchia Adat elemek hierarchiája Struktúra: vezérlési hierarchia modulok aktiválási sorrendje, alternatívái fa szerkezetű ábrázolás Jackson diagram meghatározható a vezérlés bonyolultsága definiálható a modulok láthatósága, kapcsolata

Architektúra meghatározása vezérlés alapján Horizontális bontás bontás egy-egy külső funkció alapján könnyű tesztelni, kevés mellékhatás változtatáskor, bővíthető Vertikális vezérlő és munkavégző modulok változás általában a munkavégző modulokban karbantarthatóbb (kevesebb mellékhatás) Adat elemek hierarchiája (struktúra) alap adat típusok adatszerkezetek: vektorok több dimenziós tömbök láncolt listák hierarchikus adatszerkezetek

Általános elvek hierarchia tervezéséhez Információ rejtés modularitás gyakorlati haszna modulok önálló egységek önállóan lehessen őket tervezni megvalósítani belső működés, szerkezet rejtett a külvilág elöl adatszerkezetek vezérlés

Modulok tervezése Funkcionális függetlenség kohézió (összetartozás) csatolás Kohézió együttműködés mértéke egy vagy több feladat (funkció) megvalósításában esetleges, logikai, állandó, procedurális Csatolás interfész bonyolultsága alapján hívási paramétereken keresztül vezérlő adatszerkezeteken keresztül globális adatszerkezeteken keresztül környezeti elemeken (eszközökön) keresztül Szoftver architektúra tervezés

Szoftver architektúra tervezés rendszer általános működésére, felépítésére vonatkozó legfontosabb (korai) döntések követelmények megvalósítása alternatívák számbavétele megvalósítás rizikójának csökkentése érthető méretű leírás: kommunikáció Tipikus architektúrák, stílusok Adat központú architektúra Adat tároló központ + kliensek Adat folyam (data flow) pipe, batch Call and return architektúra program alprogram remote procedure call (kliens-szerver) Objektum orientált architektúra Rétegszerkezet

Strukturált architektúra tervezés Adat modellezés Entitás-relációs diagram adat objektum entitás belső reprezentáció attribútumok entitás rendszer által kezelt tulajdonságai kapcsolatok modalitás kötelező, opcionális számosság

Entitás-relációs diagram kiterjesztése Entitások hierarchikus viszonya ~ fa struktúra entitások minősítése (~ attribútumok, kategorizálás, dimenzió) kapcsolati modell részek definiálása Funkció és információ áramlás modellezése Információ folyam leírás Adat folyam (data flow) diagram Lépés viselkedés leírás felé vezérlés intenzív működés idő kritikus műveletek kiterjesztett adat folyam diagram Viselkedés leírás állapot átmenet diagram

Strukturált tervezés fázisai (volt) Architektúra kialakítása: Adat tervezés adat könyvtár, ER adat struktúrák Architektúra tervezés strukturális felépítése a rendszernek minták, specifikáció, részek Részletes tervezés: Interfész tervezés belső és külső kommunikáció Komponens tervezés architektúra terv elemei implementálható program elemek, procedúrák, függvények stb. Komponens tervezés módszerei procedural design döntések a részletekig használható modellek folyamat vezérlési gráf (control flow graph) vezérlési szerkezet dobozos jelölés (box notation) vezérlési szerkezetek döntési táblák szabályok rögzítése feltételek (pl. bemenetek) hatások (műveletek)

Objektum orientált tervezés Objektum orientált tervezés Vezérlési hierarchia (struktúra) és adat hierarchia (struktúra) együtt Működő rendszer: együttműködő objektumok halmaza Objektum: adatok és műveletek (metódusok) egysége adat ~ tulajdonság műveletek (metódusok) üzenettel aktivizálható működés objektum felelősségei

Objektum orientált tervezés Rendszer tervezése, modellezés, gondolkodás objektum orientált módon Rendszer fejlesztés támogatása: objektum orientált modellező, tervező, fejlesztő rendszerek (CASE) Vezérlési hierarchia és adat hierarchia együttes meghatározása adatszerkezet Az OO megközelítés a feladatot egyetlen egységes módon bontja fel. objektumstruktúra vezérlési szerkezet

Objektum orientált megközelítés egyik előnye Strukturált szemlélet OO megközelítés A funkcionális dekompozíció a folyamatnak csak az időbeli felosztását képes kifejezni. A módszerekkel az összetett folyamat térbeli, azaz objektumokhoz rendelt felosztása is kifejezhető. Objektum orientált modellezés Use case (használati eset) diagram nem kizárólag OO Aktivitás diagram Szekvencia diagram Együttműködési (Collaboration) diagram Osztály diagram Állapot-átmenet diagram

Use case (használati eset) diagram <<include>> Jelentkező Jelentkezés tanfolyamra Tanfolyamok listájának megtekintése <<extend>> <<extend>> Regisztrált személy jelentkezése Új jelentkező Aktivitás diagram: tevékenységek Aktivitás, tevékenység (activity) Valamilyen tevékenység, amit meg kell csinálni Bejelentkezés Tanfolyam választása Szekvencia: a tevékenységet egy másik tevékenység követ

Aktivitás diagram: párhuzamos tevékenységek Jóváhagyás Rögzítés Számlázási rendszer értesítése Igazolás nyomtatása Aktivitás diagram: Döntés Egyetlen feltétel definiálása az átmenethez Tanfolyam választása [ van szabad hely ] [ nincs szabad hely ] Jóváhagyás Üzenet Döntés: több egymásba ágyazott feltétel kifejezése Készletek feltérképezése [ nincs darált kávé ] [ van darált kávé ] [ nincs cola ] Üveg elovétele [ van cola ]

Aktivitás diagram példa Készletek feltérképezése [ van darált kávé ] [ nincs darált kávé ] [ nincs cola ] [ van cola ] Darált kávé rakása a filterbe Víz öntése a tartályba Csésze elovétele Üveg elovétele Filter berakása a gépbe Gép bekapcsolása Fozés Kávé kitöltése Ital elfogyasztása Idő Szekvencia diagram Hívó Telefonvonal kagyló felemelése tárcsahang 1 tárcsázása tárcsahang vége 9 tárcsázása 8 tárcsázása csöngetési hang csöngetés kagyló felemelése csöngetési hang vége csöngetés vége Hívott

Szekvencia diagram : Jelentkezõ "Regisztráció" : Jelentkezes Vezerles Beír "név", "jelszó" Megnyomja "OK" Megjelenít ügyfél-keresés : DlgLogin : Ugyfel : Frm Jelentkezes Keres ügyfelet Megjelenít TanfolyamLista : Tanfolyam UML : TanfolyamUML19990301 : Tanfolyami Regisztracio Tanfolyam-lista megjelenítése Kiválaszt "UML" IdõpontLista Idõpont lista megjelenítése Kiválaszt "1999.03.01" Van szabad hely? Jóváhagy Létrehoz Együttműködési diagram Hívó Hívott 2: tárcsahang 4: tárcsahang vége 7: csöngetési hang 10: csöngetési hang vége 9: kagyló felemelése 1: kagyló felemelése 3: 1 tárcsázása 5: 9 tárcsázása 6: 8 tárcsázása 8: csöngetés 11: csöngetés vége Telefonvonal

Együttműködési diagram : Jelentkezõ 9: Kiválaszt "UML" 12: Kiválaszt "1999.03.01" 14: Jóváhagy 3: Beír "név", "jelszó" 4: Megnyomja "OK" 1: "Regisztráció" : Dlg Login 2: megjelenít( ) : Jelentkezes Vezerles 5: ugyfelkereses("név", "jelszó") 10: idopontlista( ) : Ugyfel : Frm Jelentkezes UML : 6: megjelenít( ) 7: tanfolyamlista( ) Tanfolyam 8: kiirtanfolyamlista( ) 11: kiiridopontlista( ) 15: letrehoz( ) 13: vanszabadhely( ) : Tanfolyam UML19990301 : TanfolyamiIdopont Regisztracio : Regisztracio Osztály diagram osztályok kapcsolatok öröklés

Osztály diagram: osztályok <<entity>> Tanfolyam - megnevezes : string - idotartam : integer - tematika : string + tanfolyamlista() + idopontlista() <<entity>> TanfolyamiIdopont - kezdet : date - veg : date - hely : string + vanszabadhely() <<entity>> Ugyfel - nev : string - lakcim : cim - felhasznaloinev : string - jelszo : kodoltstring + ugyfelkereses() Osztály diagram: kapcsolatok Asszociáció neve Cég munkaadó Alkalmazás munkavállaló Személy Szerepkör Szerepkör

Példa kapcsolatokra Cég Alkalmazás * * munkaadó munkavállaló Személy Csúcspont {ordered} 0..n 1 Poligon Osztálynak önmagával való asszociációja (self-association) házasság 0..1 +feleség 0..1 +férj Szerepkör Személy +beosztott * +főnök 0..1 hierarchia <<Interface>> Fonök 0..1 0..n Személy <<Interface>> Beosztott Megvalósít

Asszociációs osztály Cég * * +munkaadó +munkavállaló Személy Asszociációs osztály Alkalmazás fizetés : double Asszociáció attribútumai * 1 Részleg Asszociáció vagy attribútum? Minősítő (qualifier) Számla teljesítés dátuma fizetési határidõ 1 * Számlatétel sorszám : int megnevezés ár Számla teljesítés dátuma fizetési határidõ sorszám : int 1 1 Számlatétel megnevezés ár

Minősítő (qualifier) Termék 1 * Ár eladásiár érvényességkezdete érvényességvége Termék érvényességkezdete: Date 1 1 Ár eladásiár érvényességvége Szekvencia diagram (sequence diagram) Az adott folyamat egy konkrét végrehajtását írja le az objektumok közötti kommunikáción keresztül

Állapot-átmenet diagram Aktív Idő lejárt Idõ lejárt do: Szaggatott hang tárcsáz( n )[ nem teljes a szám [ 15 mp lejárt ] [ 15 mp lejárt ] tárcsáz( n ) felveszi a hallgatót / tárcsahang Tárcsahang Tárcsázás do: búgó hang tárcsáz( n )[ érvénytelen a szám ] Várakozó tárcsáz( n )[ érvényes a szám ] / kapcsol hívó leteszi a kagylót / bontja a vonalat Érvénytelen do: sípoló hang Foglalt do: foglalt hang Kapcsolás [ foglalt a vonal ] [ szabad a vonal ] Beszélgetés Csöngetés hívott felveszi do: csöngetõ hang / beszélgetés engedélyezése --------------------------------------------

REZERVÁTUM A RUP szerkezete idő tartalom

Rational Unified Process A Rational Unified Process a szoftverfejlesztés életciklusát négy egymást követő fázisra bontja: Előkészítés (Inception) Kidolgozás (Elaboration) Megvalósítás (Construction) Átadás (Transition) Minden fázis végén jól-definiált mérföldkövek vannak: kritikus döntéseket kell hozni Értékelni az eddigi eredményeket Dönteni a folytatásról Dinamikus aspektus - fázisok és iterációk Az aktuális feladat dönti el, hogy hány iterációra van szükség a feladat elvégzéséhez. Az iterációk tervezése kritikus feladat a projekt tervezése során.

RUP - szemlélet Iteratív fejlesztés Pontos projekt vezetői követést igényel Hibát követünk el ha nem vesszük komolyan Felhasználó folyamatos bevonása Elefántcsont torony kiiktatása Előzetes tervezés Tervezés Követelmény elemzés Menedzsment Analízis és tervezés Implementáció Kibocsátás Értékelés Teszt RUP - kockázat csökkentése Kezdet Vízesés Emberi erõforrás Kidolgozás Kockázat Építés Kockázat Átadás Előzetes iteráció Tervezési iteráció Tervezés iteráció Fejl. iteráció Fejl. iteráció Fejl. iteráció Átadási iteráció Átadási iteráció Beüzemelés Idő