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 II. Szoftver újrafelhasználás. (Software reuse) Irodalom

Szoftver újrafelhasználás

Bevezetés a programozásba

Szoftver követelmények meghatározása

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

Szoftver-technológia I.

4. A szoftvergyártás folyamata

A szoftverfejlesztés eszközei

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

A szoftverfejlesztés eszközei

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

Szoftver követelmények meghatározása

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

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

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

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

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

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

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

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

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

Szoftvermenedzsment 4. fejezet A szoftverfolyamat

Nagy bonyolultságú rendszerek fejlesztőeszközei

Szoftverminőségbiztosítás

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

Szoftverminőségbiztosítás

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

Formális módszerek GM_IN003_1 Bevezetés

Információtartalom vázlata

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

MIÉRT KELL TESZTELNI?

Projectvezetők képességei

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

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

Szoftverminőségbiztosítás

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

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

Szoftverminőségbiztosítás

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

01. gyakorlat - Projektalapítás

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

S01-7 Komponens alapú szoftverfejlesztés 1

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

Programfejlesztési Modellek

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

A szoftverellenőrzés szerepe

Alkalmazások architektúrája

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

Szoftverfejlesztő képzés tematika oktatott modulok

1. Bevezetés a szoftvertechnológiába

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

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

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

Szoftver tervezés és design

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

Ami a vízesésen túl van

Software Engineering

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

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

A tesztelés szükségessége

Komponens alapú fejlesztés

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

IRÁNYTŰ A SZABÁLYTENGERBEN

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

Modell alapú tesztelés mobil környezetben

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

Kogníció, koncepciók, modellek

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

30 MB INFORMATIKAI PROJEKTELLENŐR

Szoftverminőségbiztosítás

Univerzális munkafolyamat szimulátor

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

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

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

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

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

Kód átvizsgálás. Irodalom. (Code review) code review,smart Bear Inc., ! Jason Cohen: Best kept secrets of peer

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

Statikus technikák: A szoftver átvizsgálása. Statikus technikák: A szoftver átvizsgálása

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

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

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

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

A CMMI alapú szoftverfejlesztési folyamat

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

A TANTÁRGY ADATLAPJA

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

Szoftverminőségbiztosítás

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

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

Web-programozó Web-programozó

Közösség, projektek, IDE

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

Szoftvertechnológia 2008/2009. tanév 2. félév 1. óra. Szoftvertechnológia

1. 1. Mi a szoftver? Sorolja fel azokat a termékeket, amelyek a szoftverhez tartoznak.

A BIZTONSÁGINTEGRITÁS ÉS A BIZTONSÁGORIENTÁLT ALKALMAZÁSI FELTÉTELEK TELJESÍTÉSE A VASÚTI BIZTOSÍTÓBERENDEZÉSEK TERVEZÉSE ÉS LÉTREHOZÁSA SORÁN

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

Á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-folyamat Szoftver rendszer fejlesztésére irányuló tevékenység struktúrált meghatározott lépések Absztrakt reprezentáció 3 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 Folyamat Módszer 1 Módszer 2 Eszköz 1 Eszköz 2 Eszköz 3 4

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 5 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) 6

Átfogó tevékenységek a szoftver-folyamatban Projekt kö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 7 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 8

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 9 Követelmények meghatározása Vízesés modell Rendszer- és szoftvertervezés Implementáció és egységtesztelés Integráció és rendszertesztelés M!ködtetés és karbantartás 10

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ó 11 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 12

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ó 13 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 14

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 15 Komponens alapú szoftverfejlesztés (folyt.) 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 16

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 17 Inkrementális fejlesztés Követelmények priotá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 18

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 19 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! 20

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 21 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ázat kezelés 22

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ó 23 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 24

Szoftverfejlesztés költségei Vízesés modell 0 25 50 75 100 Specifikálás Tervezés Fejlesztés Integrálás / tesztelés Iteratív fejlesztés Specifikálás Iteratív fejlesztés Rendszer tesztelés Komponen alapú fejlesztés Specifikálás Fejlesztés Integrálás / tesztelés Költségek hosszú távon 100 400 Fejlesztés Karban tartás Sommerville 25 A szoftver-folyamat tevékenységei Szoftver specifikáció Szoftver tervezés Implementáció Szoftver validálás Szoftver karbantartás 26

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 27 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ó 28

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 29 Tervezési tevékenységek Architektúrális tervezés Interfész tervezés Komponens tervezés Adatstruktúra tervezés Algoritmus tervezés 30

A tervezési folyamat Követelmény specifikáció Architektúrális tervezés Absztrakt specifikáció Interfész tervezés Komponens tervezés Adatstruktúra tervezés Algoritmus tervezés Rendszer architektúra Szoftver specifikáció Interfész specifikáció Komponens specifikáció Adatstruktúra specifikáció Algoritmus specifikáció 31 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 32

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 33 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 34

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 35 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 36

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 37 CASE eszközök CASE eszközök csoportosítása funkcionalitás szerint szoftver-folyamat támogatása szerint integráltság 38

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 39 Ö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 CASE technológia szoftver-folyamat támogatása 40