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



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

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

Szoftver-technológia I.

Szoftver újrafelhasználás

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

A szoftverfejlesztés eszközei

Bevezetés a programozásba

Szoftver architektúra, Architektúrális tervezés

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

Szoftver követelmények meghatározása

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

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

Angolul: Extreme Programming, röviden: XP Agilis módszertan. Más módszertanok bevált technikáinak extrém módú (nagyon jó) használata

A szoftverfejlesztés eszközei

4. A szoftvergyártás folyamata

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

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

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

Intelligens eszközök fejlesztése az ipari automatizálásban Evosoft Hungary kft., Evosoft Hungary Kft.

Szoftvertermékek csoportjai. A szoftver. Bemutatkozás és követelmények

Szoftverminőségbiztosítás

MIÉRT KELL TESZTELNI?

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

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

A szoftverfolyamat és s a tesztelés

Szoftver követelmények meghatározása

Szoftverminőségbiztosítás

Szoftvertechnológia 12. előadás. Szoftverfejlesztési módszerek és modellek. Giachetta Roberto. Eötvös Loránd Tudományegyetem Informatikai Kar

A fejlesztési szabványok szerepe a szoftverellenőrzésben

01. gyakorlat - Projektalapítás

A folyamat közös fázisai. A szoftverfolyamat modelljei. A vízesésmodell fázis: követelmények elemzése és meghozása

Szoftverminőségbiztosítás

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

Ami a vízesésen túl van

Formális módszerek GM_IN003_1 Bevezetés

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

Félévi követelmények Bemutatkozás és követelmények

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

Szoftverminőségbiztosítás

Nagy bonyolultságú rendszerek fejlesztőeszközei

Szoftver tervezés és design

Szoftver-technológia II. Architektúrák dokumentálása UML-lel. Irodalom. Szoftver-technológia II.

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

Szoftvermenedzsment 4. fejezet A szoftverfolyamat

2. A szoftver mint termék llításának folyamata, a szoftver életciklus modelljei

Félévi követelmények. Gyakorlatvezetők

Szoftverfejlesztő képzés tematika oktatott modulok

Információtartalom vázlata

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

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

A szoftverellenőrzés szerepe

Projectvezetők képességei

Programfejlesztési Modellek

Bevezetés Mi a szoftver? Általános termékek: Mi a szoftvertervezés?

Minőségmenedzsment és Informatika Test-Driven Development

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

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

S01-7 Komponens alapú szoftverfejlesztés 1

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

Alkalmazások architektúrája

1. Bevezetés a szoftvertechnológiába

IRÁNYÍTÓ RENDSZER IRÁNYÍTANDÓ FOLYAMAT. Biztonsági funkciók Biztonsági integritás. Normál működés. Hibák elleni védettség Saját (belső) biztonság

Bevezetés a programozásba előadás: Alapvető programtervezési elvek

IRÁNYTŰ A SZABÁLYTENGERBEN

A fejlesztéshez használható eszközök

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

(Teszt)automatizálás. Bevezető

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

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

Követelmény meghatározás. Információrendszer fejlesztés módszertana, Dr. Molnár Bálint egyetemi docens 1

Szoftverminőségbiztosítás

Komplex záróvizsga témakörök Gazdaságinformatikus szak Logisztikai informatikus szakirány 2014

Tartalom A projektmenedzser teendői Projekttervezés Projekt ütemezés Kockázatkezelés

30 MB INFORMATIKAI PROJEKTELLENŐR

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

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

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

TESZTMENEDZSMENT TESZTELŐ SZERVEZET TESZTTERVEZÉS ÉS BECSLÉS

extreme Programming programozástechnika

Komponens alapú fejlesztés

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

Szoftverminőségbiztosítás

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

IT Szolgáltatás Menedzsment az oktatási szektorban - 90 nap alatt költséghatékonyan

TOGAF elemei a gyakorlatban

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

A Gazdasági - Műszaki Főigazgatóság feladatai az intézményirányítás fejlesztésében

IT ügyfélszolgálat és incidenskezelés fejlesztése az MNB-nél

Tartalommenedzser képzés tematika oktatott modulok

DW/BI rendszerek kialakítása bevezetői szemszögből. Gollnhofer Gábor - Meta Consulting Kft.

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

SW-project management

A tesztelés szükségessége

Software Engineering

Elosztott rendszer architektúrák

Kogníció, koncepciók, modellek

Informatikai projektellenőr szerepe/feladatai Informatika / Az informatika térhódítása Függőség az információtól / informatikától Információs

Internetes alkalmazásfejlesztő képzés tematika oktatott modulok

Modell alapú tesztelés mobil környezetben

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

Átírás:

A szoftver-folyamat Szoftver életciklus modellek Irodalom Ian Sommerville: Software Engineering, 7th e. chapter 4. Roger S. Pressman: Software Engineering, 5th e. chapter 2. 2

A szoftver-technológia aspektusai Történelmi aspektus fejlesztési módszerek, technológiák fejl!dése Gazdasági aspektus fejlesztési költségek ~ m"ködési nyereség Életciklus aspektus a szoftver-folyamat Management aspektus team fejlesztések 3 A szoftver-folyamat Szoftver rendszer fejlesztésére irányuló tevékenység struktúrált meghatározott lépések Absztrakt reprezentáció 4

A szoftver-folyamat technológiai nézetben A szoftver-folyamat rétegz!dése folyamat réteg keret, kontextus management módszerek, módszertan réteg tevékenységek irányítása eszköz réteg automatikus, félautomatikus támogatás CASE Módszer 1 Eszköz 1 Folyamat Eszköz 2 Módszer 2 Eszköz 3 5 A szoftver-folyamat szerepl!i Megrendel! szervezet Szoftvert fejleszt! szervezet Managerek Szoftver mérnökök (informatikusok) Eszközök a kapcsolódó háttérrel 6

Generikus szoftverfolyamat A folyamat fázisai definíciós fázis (mit?) fejlesztési fázis (hogyan?) támogatási fázis (változások) 7 Átfogó tevékenységek a szoftver-folyamatban Projektkövetés, ellen!rzés Szoftver-min!ségbiztosítási megoldások Konfiguráció management Dokumentációs tevékenység Kockázat kezelés 8

Szoftver-folyamat modellek Munkafolyamat modellek (workflow) tevékenységek sorrendje, függéseik Adatfolyam modellek (dataflow) tevékenységek mint adat transzformációk Szerep modellek (role) szerepekhez tartozó tevékenységek 9 A szoftver-folyamat tevékenységei Szoftver specifikáció Szoftver tervezés Implementáció Szoftver validálás Szoftver karbantartás 10

Szoftver specifikáció Szolgáltatások meghatározása M"ködési és fejlesztési környezet Követelmény meghatározási folyamat Megvalósíthatósági elemzés Követelmények meghatározása, elemzése Követelmények specifikálása Követelmények validálása 11 Követelmény meghatározás Megvalósíthatósági elemzés Követelmény elemzés Követelmény specifikálás Megvalósíthatósági jelentés Követelmény validálás Rendszer modellek Követelmények Követelmény dokumentáció 12

Szoftver tervezés és implementáció Szoftver tervezés A specifikációt megvalósító szoftver struktúra megtervezése Implementáció A szoftver struktúra futtatható szoftverré alakítása Összefügg!, átfed! tevékenységek 13 Programozás, debuggolás A terv programmá (kóddá) alakítása és a hibák eltávolítása A programozásra általában nincsenek generikus folyamatok A debuggolás a programozás során alkalmazott hiba felderítés és elhárítás 14

Szoftver validálás Verifikáció a szoftver megfelel a specifikációjának Validáció a szoftver megfelel a megrendel! igényeinek Eszközök folyamatok felügyelete a rendszer tesztelése 15 Szoftver tesztelés A szoftverben lév! hibák feltárása Komponens / egység tesztelés Rendszer tesztelés Elfogadási / átvételi teszt Szoftver Specifikáció Összehasonlítás Eredmény Tesztesetek 16

Szoftver karbantartás A szoftver megváltozatása javítás adaptív változtatás kib!vítés A szoftver projektek jelent!s hányada Követelmények meghatározása Meglév! rendszer értékelése A rendszer megváltoztatása Meglév! rendszer Új rendszer 17 Generikus szoftverfolyamat modellek Vízesés modell / lineáris szekvenciális modell elválasztott specifikációs és fejlesztési fázis Evolúciós fejlesztés specifikáció, fejlesztés és validáció váltogatja egymást Komponens alapú fejlesztés fejlesztés létez! komponensekb!l 18

Vízesés modell Követelmények meghatározása Rendszer- és szoftvertervezés Implementáció és egységtesztelés Integráció és rendszertesztelés M!ködtetés és karbantartás 19 Vízesés modell 20

A vízesés modell jellemz!i Nehéz a változások figyelembevétel Csak a el!z! fázis befejezése után kezdhet! a következ! Jól meghatározott követelmények és kevés változás esetén alkalmazható 21 Evolúciós fejlesztés Explorációs fejlesztés Jól megértett követelmények, kezdeti specifikáció Megrendel! által felvetett funkciók hozzáadása Eldobható prototípusok Cél a követelmények megértése, tisztázása 22

Evolúciós fejlesztés (folyt.) Specifikálás Kiindulási verzió Körvonalazott követelmények Fejlesztés Átmeneti verziók Validálás Konkurrens tevékenységek Végs! verzió 23 Az evolúciós fejlesztés jellemz!i Nem jó a folyamat láthatósága Rosszul struktúrált rendszer Speciális eszközök szükségesek Kis és közepes méret" interaktív rendszerek fejlesztése Nagy rendszerek részrendszereinek fejlesztése Rövid életciklusú szoftverek fejlesztése 24

Komponens alapú szoftverfejlesztés Újrafelhasználható komponensekb!l integrált rendszerek el!állítása buy, don t build rapid prototyping Komponens szabványok szerepe 25 Komponens alapú szoftverfejlesztés Követelmények specifikálása Komponensek elemzése Követelmény módosítás Rendszertervezés Komponens alkalmassági értékelése Komponens adaptálása Fejlesztés, komponens integrálás Validálás white box gray box black box 26

Iteratív folyamatok Követelmények változása Korábbi fázisok újra átdolgozása Iteratív fejlesztési modellek Iteráció alkalmazható a generikus modellekre Inkrementális fejlesztés Spirál modell 27 Iteratív folyamatok 28

Inkrementális fejlesztés Követelmények prioritás alapú felosztása Fejlesztés felbontása inkrementumokra követelmények befagyasztása kívánt funkcionalitású inkrementum létrehozása els! inkrementum - core product 29 Inkrementális fejlesztés (folyt.) Követelmények meghatározása Követelmények inkrementumokhoz rendelése Inkrementum fejlesztése Inkrementum validálása Inkrementum integrálása Rendszer validálása Végs! rendszer nem teljes rendszer 30

Inkrementális fejlesztés (folyt.) Kovetelmény meghatározás Tervezés Implementálás Tesztelés 1. inkrementum Kovetelmény meghatározás Tervezés Implementálás Tesztelés 2. inkrementum Kovetelmény meghatározás Tervezés Implementálás Tesztelés 3. inkrementum id! 31 Az inkrementális fejlesztés jellemz!i Korai megjelenés Inkrementumok prototípusként m"ködhetnek Kockázat csökkentése Legfontosabb komponensek több tesztelést kapnak 32

Spirál fejlesztési modell Nincsenek rögzített fázisok, tevékenység szekvenciák a spirál egy köre felel meg egy fázisnak Explicit kockázatkezelés 33 Célok, alternatívák meghatározása Spirál fejlesztési modell (folyt.) Kockázat elemzés Kockázat elemzés Kockázat elemzés Proto 1 Proto 2 Alternatívák értékelése, kockázat elemzése Proto 3 Proto 4 Következ! fázis tervezése Követelmény elemzési terv Fejlesztési terv Integrálási, tesztelési terv Koncepció kialakítása Követelmények validálása Validálás Követelmények Terv V&V Integr. teszt Bench mark Termék terv Egység teszt Kódolás Részletes terv Fejlesztés, verifikáció 34

A spirál modell jellemz!i Boehm 88 Tevékenység régiók fejleszt! - megrendel! kommunikációja tervezés kockázat elemzés prototípusok létrehozása konstrukció megrendel!i értékelés 35 Agilis fejlesztés gyors reagálás a változásokra kevesebb hangsúly az elemzésen és tervezésen, rövid dokumentáció m"köd! szoftver fontossága szoros együttm"ködés a megrendel!vel refactoring csapaton belüli interakció szabad szoftverek használata Extreme programming (XP) pair programming, test driven development 36

Agilis fejlesztés Változtatás történet Kezdeti architektúra elképzelés Független tesztelés Napi munka Napi eligazítás Legnagyobb prioritású elemek Iteráció Projekt kezdés Kezdeti követelmények Iteráció elemei Taszkok M!köd" rendszer Termel" rendszer Visszacsatolás Munkaelemek Javítási igények Kezdés/0. iteráció Kidolgozás Átmenet Termelés 37 Kétdimenziós modellek Fejlesztési tevékenységek nem köthet!k id!beli fázisokhoz átfedések iterációk átfogó tevékenységek pl. RUP 38

Módszerek, módszertanok Struktúrált megközelítés min!ségi követelmények költséghatékonyság A módszerek elemei: rendszer modell leírások (jelölés) szabályok ajánlások, heurisztikák, minták el!írt folyamatok 39 CASE technológia CASE eszközök szoftver folyamat támogatása tevékenységek automatizálása rendszermodellezés (grafikus eszközök) adatszótárak, fejlesztési adattárak kódgenerálás grafikus felhasználói felület konstruálás debuggerek, profilerek, tesztkörnyezetek dokumentálás 40

CASE eszközök CASE eszközök csoportosítása funkcionalitás szerint szoftver-folyamat támogatása szerint integráltság 41 Fejleszt! eszközök Egyszer" eszközök editor, lekérdezés tervez!, stb. Workbenchek szoftver-folyamat egy fázisának támogatása Környezetek integrált eszközök 42

Kockázatkezelés Kockázatok azonosítása Kockázatok hatásának csökkentésére vonatkozó tervek készítése Kockázatok valamilyen valószín"séggel fellép! negatív hatású események 43 Kockázatok a szoftverfejlesztésben Projekt kockázatok ütemezés, er!források Termék kockázatok min!ség, teljesítmény Üzleti kockázatok üzleti haszon 44

Projekt kockázatok Személyzeti problémák Management változása Hardver szállítási problémák Követelmények változása Méret alulbecslése Technológiai változások Piaci versenyhelyzet 45 Szoftver kockázatok egy rendszerben Kockázati elemek A szoftver aránya a rendszerben Függ!ség a szoftvert!l A szoftver komplexitása 46

50.0 37.5 Szoftver hibák és kockázatuk Hiba keletkezése 25.0 12.5 50.0 37.5 25.0 12.5 0 Követelmények Tervezés Kódolás Modul tesztek Rendszer teszt Használat Hiba detektálása 0 20 15 10 5 Követelmények Tervezés Kódolás Modul tesztek Rendszer teszt Használat Költség/hiba 0 Követelmények Tervezés Kódolás Modul tesztek Rendszer teszt Használat 47 Kockázatelemzés Kockázatok valószín"ségének és hatásának (súlyosságának) meghatározása Valószín"ségek nagyon alacsony, alacsony, mérsékelt, magas,nagyon magas Hatások katasztrófális, súlyos, tolerálható, jelentéktelen 48

Kockázatkezelési stratégiák Elkerülési stratégiák megjelenési valószín"ség csökkentése Hatás minimalizálási stratégiák kockázat hatásának csökkentése Elhárítási tervek a kockázat fellépésekor annak helyes kezelése 49 Kockázat indikátorok Technológia Személyzet Management Eszközök Követelmények Kés!i szállítás, támogatás hiánya Rossz munkamorál, betöltetlen pozíciók Magasszint" döntések hiánya Nem használt eszközök Követelmények gyakori változása 50

Összefoglalás Szoftver-folyamat: tevékenységek szoftver rendszer létrehozására, karbantartására A szoftver-folyamat elemei: specifikálás, tervezés, implementálás, validálás, karbantartás Szoftver-folyamat modellek: vízesés modell, evolúciós fejlesztés, komponens alapú fejlesztés, spirál modell, agilis fejlesztés CASE technológia szoftver-folyamat támogatása Kockázat kezelés negatív hatások elkerülése 51