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

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

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

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

Szoftverfejlesztés. (MSc) Miskolci Egyetem Általános Informatikai Tanszék MISKOLCI EGYETEM GÉPÉSZMÉRNÖKI ÉS INFORMATIKAI KAR

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

Szoftverfejlesztési modellek

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

KÉSZÍTETTE: DR. MILEFF PÉTER

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

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

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

Szoftvermenedzsment 4. fejezet A szoftverfolyamat

Szoftverfejlesztés. Created by XMLmind XSL-FO Converter.

Szoftverfejlesztési folyamatok és szoftver minőségbiztosítás

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

Bevezetés a programozásba

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

Ez idézte elı az olyan fejlesztési folyamatokat, amelyek a gyors szoftverfejlesztésre és átadásra összpontosítanak.

Szoftver újrafelhasználás

A szoftverfolyamat és s a tesztelés

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

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

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

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

A prototípus gyors, iteratív fejlesztése azért nagyon fontos, mert a költségek így ellenırizhetık.

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

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

Alkalmazásportfólió. Szoftvermenedzsment. menedzsment. Racionalizálás. Konszolidáció. Nyilvántartás. Elemzés

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

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

MIÉRT KELL TESZTELNI?

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

Integráci. ciós s tesztek. ciós s tesztek (folyt.) Integration Level Testing (ILT) Ficsor Lajos. Miskolci Egyetem Általános Informatikai Tanszék

Üzletmenet folytonosság menedzsment [BCM]

A programkód átvizsgálásának hatékonyságát két ok magyarázza:

S01-7 Komponens alapú szoftverfejlesztés 1

Adatstruktúrák, algoritmusok, objektumok

Információtartalom vázlata

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

4. A szoftvergyártás folyamata

Programfejlesztési Modellek

SZAKDOLGOZAT. Czuper László. Debrecen 2008.

extreme Programming programozástechnika

ELO dokumentumkezelı bevezetése a Market Építıipari Zrt-ben

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

Különbségek másterületektől:

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

IRÁNYTŰ A SZABÁLYTENGERBEN

Szépmővészeti Múzeum térszint alatti bıvítése: A projekt idıt befolyásoló kockázatok értékelése. Készítette: Kassai Eszter Rónafalvi György

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

Ami a vízesésen túl van

Már a szoftverfejlesztés korai szakaszában megjelentek. Egy termék minőségét számos összetevő együttesen határoz meg.

Univerzális munkafolyamat szimulátor

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

Informatikai projektmenedzsment

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

IT biztonsági szintek és biztonsági kategorizálási minta

Szoftvertechnológia 2012/2013. tanév 1. félév. Szoftvertechnológia

A programkomponensek között különbözı típusú interfészek léteznek. következésképpen különbözı típusú interfészhibák fordulhatnak elı.

A tartalomelemzés szőkebb értelemben olyan szisztematikus kvalitatív eljárás, amely segítségével bármely szöveget értelmezni tudunk, és

E-Számlázás az ECOD rendszeren belül. Horváth Péter, Senior Projekt Menedzser Synergon Retail Systems Kft.

Szoftverminőségbiztosítás

Szigma Integrisk integrált kockázatmenedzsment rendszer

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

1. Bevezetés a szoftvertechnológiába

A fejlesztés módszertana

Agilis szoftverfejlesztés és Scrum

Szoftver-technológia I.

Szoftverminőségbiztosítás

4. Információrendszer fejlesztése

01. gyakorlat - Projektalapítás

Szoftverminőségbiztosítás

Web-programozó Web-programozó

DIPLOMAMUNKA. Tarcsa Bálint Dávid. Debrecen

Üzembehelyezési ismeretek. Literáti Pál

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

Kedves Olvasó, hogy a jövıbeni felhasználók befolyásolhassák

Kutatói pályára felkészítı akadémiai ismeretek modul

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

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

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

A szoftverfejlesztés eszközei

Debreceni Egyetem. Informatikai Kar SZAKDOLGOZAT. Alkalmazásfejlesztés webre. Debrecen, 2007.

Projectvezetők képességei

Szoftvermérés:hogyan lehet a szoftvertermék vagy a szoftverfolyamat valamely jellemzőjéből numerikus értéket előállítani.

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

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

Intelligens partner rendszer virtuális kórházi osztály megvalósításához

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

S01-8 Komponens alapú szoftverfejlesztés 2

INFORMÁCIÓS ÉS ÜGYFÉLSZOLGÁLATI REND

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

MINISZTERELNÖKI HIVATAL. Szóbeli vizsgatevékenység

TERMÉK FEJLESZTÉS PANDUR BÉLA

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

Nagy bonyolultságú rendszerek fejlesztőeszközei

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

Hálózati szolgáltatások biztosításának felügyeleti elemei

Könyvtári kölcsönzések kezelése

Átírás:

A szoftver Dr. Mileff Péter A szoftver szót sokan egyenlınek tekintik a számítógépes programokkal. Nincs egyértelmő definíciója. Több ennél: hozzájuk kapcsolódó dokumentációk, konfigurációs adatok. Ezek elengedhetetlenek ahhoz, hogy ezek a programok helyesen mőködje-nek. 1 2 Szoftvertermékek csoportjai Általános termék: egyedülálló rendszerek, egy fejlesztı szervezet készíti, és adja el. Dobozos szoftverek. Pl.: adatbázis-kezelık, szövegszerkesztık. Egyedi igényekre szabott (rendelésre készített) termékek Egyéni megrendelık megbízásai alapján készülnek speciáli-s megrendelıi igények alapján. Pl.: az elektromos eszközök vezérlırendszerei, a forgalomirányító és ellenırzı rendszerek A határ gyakran összemosódik. A szoftverfolyamat Tevékenységek és eredmények sora, amelyek egy szoftvertermék elıállításához vezetnek. Komplex, és nagyban függ az emberi tevékenységektıl: Ezért nem igazán automatizálható CASE (számítógéppel segített szoftvertervezés) eszközökkel. Nincs ideális, minden számára megfelelı folyamat. Cél: úgy kell kialakítani, hogy kiaknázzák a szervezeten belül az emberek képességeit és a fejlesztı rendszer jellegzetességeit. 3 4 1

A folyamat közös fázisai Szoftverspecifikáció: A szoftver funkcióit, illetve annak megszorításait definiálni kell. Szoftvertervezés és implementáció: A specifikációnak megfelelı szoftvert elı kell állítani. Szoftvervalidáció: a szoftvert validálni kell, hogy biztosítsuk, azt fejlesztettük, amit az ügyfél kíván. Szoftverevolúció: A szoftvert úgy kell kialakítani, hogy megfeleljen a megrendelı kívánsága szerint történı változtatásoknak. A szoftverfolyamat modelljei A szoftverfolyamat absztrakt reprezentációja: speciális perspektívából reprezentál egy folyamatot Részleges információk a folyamatról, mert általánosak. Ismertebb modellek: Vízesésmodell: Ez a folyamat alapvetı tevékenységeit a folyamat különálló fázisainak tekinti. Evolúciós vagy iteratív fejlesztés: összefésüli a specifikáció, a fejlesztés és a validáció tevékenységeit. Komponens alapú fejlesztés: nagy mennyiségő újrafelhasználható komponensek létezésén alapszik. A gyakorlatban keveredhetnek egymással. 5 6 A vízesésmodell A szoftverfejlesztés folyamatának elsı publikált modellje, más tervezıi modellekbıl származik. 1 fázis: követelmények elemzése és meghozása A rendszer felhasználóival való konzultáció alapján kialakul a: rendszer szolgáltatásai, megszorításai, célja. specifikáció Ezek részletes kifejtése szolgáltatja rendszer specifikációját. 7 8 2

2 fázis: rendszer - és szoftvertervezés A tervezési folyamatban szétválasztódik a hardver és szoftverkövetelmény. A rendszer átfogó architektúráját itt kell kialakítani. Milyen modell? Milyen alrendszerek, azok kapcsolata. Szoftverrendszer-absztrakciók és a köztük lévı kapcsolatok tervezése és leírása. 3 fázis: implementáció és egységteszt Ebben a szakaszban megvalósul a szoftverterv programok, illetve programegységek (komponensek) halmazaként. Az egységteszt azt ellenırzi, hogy minden egység megfelel-e a specifikációjának. 9 10 4 fázis: integráció és rendszerteszt Cél: annak megállapítása, hogy a rendszer megfelel-e a követelményeknek. A különálló programegységek, programok integrálása. Teljes rendszerként való tesztelése. A tesztelés után a szoftverrendszer átadható az ügyfélnek. 5 fázis: Működtetés és karbantartás Általában a szoftver életciklusának leghosszabb fázisa. Beletartozik: A késıbb kiderült hibák javítása. A rendszeregységek implementációjának továbbfejlesztése. Új követelmények léphetnek fel, így szükséges lehet a rendszer szolgáltatásainak továbbfejlesztése. 11 12 3

A fázisok eredménye egy dokumentum. Egy fázis csak akkor indulhat, ha az elızı befejezıdött. A folyamat nem egyszerő lineáris modell, hanem a fejlesztési tevékenységek iterációjának sorozata. Az iterációk költségesek, így gyakran befagyasztják ıket. A problémák megoldása késıbb, vagy soha. Hátránya: a szoftver nem azt csinálja, amit elvárnak tıle. Csak akkor használható jól, ha már elıre jól ismerjük a követelményeket. 13 14 Evolúciós fejlesztés Evolúciós modell Alapötlete: a fejlesztıcsapat kifejleszt egy kezdeti implementációt, majd azt a felhasználókkal véleményezteti, végül sok-sok verzión keresztül addig finomítani, amíg a megfelelı rendszert el nem érjük. A megközelítési mód sokkal jobban érvényesíti a tevékenységek közötti párhuzamosságot és a gyors visszacsatolásokat. 15 16 4

A két típusa 1. Feltáró fejlesztés: Cél: a megrendelıvel együtt tárjuk fel a követelményeket, és alakítsuk ki a végleges rendszert. A fejlesztés a rendszer már ismert részeivel kezdıdik. A végleges rendszer úgy alakul ki, hogy egyre több, az ügyfél által kért tulajdonságot társítunk a már meglévıkhöz. 2. Eldobható prototípus készítés: Cél: a lehetı legjobban megértsük az ügyfél követelményeit, amelyekre alapozva pontosan definiáljuk azokat. A prototípusnak pedig azon részekre kell koncentrálni, amelyek kevésbé érthetık. Elınye: hatékonyabb a vízesésmodellnél, ha olyan rendszert kell fejleszteni, amely közvetlenül megfelel az ügyfél kívánságainak. a rendszerspecifikáció inkrementálisan fejleszthetı. Hátránya a vezetıség szemszögébıl: A folyamat nem látható: a menedzsereknek szüksége van a részeredményekre. (Fejlıdés mérése) A rendszerek gyakran szegényesen strukturáltak: A folyamatos változtatások lerontják a rendszer struktúráját. 17 18 Komponens alapú fejlesztés Alapgondolata az újrafelhasználható komponensekbıl való építkezés. A szoftverfolyamatokban megtalálhatók a komponensek újrafelhasználása: Korábbi kód átdolgozása, felhasználása, általánosítása. 19 20 5

Komponenselemzés A követelményspecifikáció alapján komponensek keresése, hogy melyek implementálják azokat. Általában nincs egzakt illeszkedés, a felhasznált komponens a funkciók csak egy részét nyújtja. Követelménymódosítás A követelmények elemzése a megtalált komponensek információi alapján. Módosítás az elérhetı komponenseknek megfelelıen. Ahol a módosítás nem lehetséges, ott újra el kell végezni a komponenselemzést és alternatív megoldást kell keresni. 21 22 Rendszertervezés újrafelhasználással Ez a szakasz felelıs a rendszer szerkezetének tervezéséért: Számba kell venni, hogy milyen komponenseket akarnak újrafelhasználni, és úgy alakítani a szerkezetet, hogy azok mőködhessenek. Ha nincs elérhetı újrafelhasználható komponens, akkor új szoftverek is kifejleszthetık. Fejlesztés és integráció A nem megvásárolt komponenseket ki kell fejleszteni és a rendszerbe integrálni. A rendszer-integráció ebben a modellben sokkal inkább a fejlesztési folyamat része, mint különálló tevékenység. 23 24 6

Elıny: csökkenti a kifejlesztendı szoftverek számát Ezzel csökkenti a költségeket, és a kockázati tényezıket. A rendszer így gyorsabban leszállítható sok esetben. Hátrány: a követelményeknél elkerülhetetlenek a kompromisszumok. Következménye: a rendszer nem felel meg a felhasználó valódi kívánságainak. 25 26 Folyamat-iteráció A szoftverfolyamat nem egy egyszerő folyamat: a folyamattevékenységek rendszeresen ismétlıdı folyamata. a rendszert mindig átdolgozzuk az igényelt változások szerint. Két legismertebb modell a támogatására: Inkrementális fejlesztés: a szoftverspecifikáció, a tervezés, az implementálás, kis inkrementációs lépésekre van felosztva. Spirális fejlesztés: a rendszer fejlesztése egy belülrıl kifelé tartó spirálvonalat követ Az iteratív folyamat lényege: a specifikáció a szoftverrel összekapcsolva készül. Inkrementális fejlesztés Egy köztes megközelítés a vízesésmodell és az evolúciós fejlesztési modellek között. A vízesésmodell elınye: egyszerően menedzselhetı, mert külön választja az egyes fázisokat. Hátrány: robosztus rendszerek jöhetnek létre, amik esetleg alkalmatlanok a változtatásokra. Az evolúciós megközelítésnél pedig megengedettek a követelményekkel és tervezésekkel kapcsolatos döntések elhagyása. Gyengén strukturált és nehezen megérthetı rendszerekhez vezethetnek. 27 28 7

Inkrementális fejlesztés lépései 1. A megrendelı meghatározza: nagy körvonalakban a rendszer által nyújtandó szolgáltatásokat, mely szolgáltatások fontosabban, melyek kevésbé. 2. A követelmények inkremensekben való megfogalmazása és hozzárendelése: függ a szolgáltatás prioritásától, a magasabb prioritású szolgáltatásokat hamarabb kell biztosítani a megrendelı felé. Inkrementális fejlesztés lépései 3. Az inkremensek által elıállítandó szolgáltatások követelményeit részletesen definiálni kell. 4. Az inkremensek kifejlesztése. Sor kerülhet további követelmények elemzésére, de az adott lépés követelményei nem módosíthatók. 5. Az elkészült új inkremensek integrálása a már kész inkremensekkel. A rendszerfunkciók köre így egyre bıvül. Ha egy inkremens elkészült, a rendszer bizonyos funkcióit akár be is üzemeltethetik. Cél: tapasztalatszerzés a rendszerrel kapcsolatban. 29 30 A fejlesztési modell Elınyök: A megrendelınek nem kell megvárnia míg a teljes rendszer elkészül, a szoftver már menet közben használhatóvá válik. A megrendelık használhatják a korábbi inkremenseket mint prototípusokat, ami által tapasztalatokat szerezhetnek. Kisebb a kockázata annak, hogy a teljes projekt kudarcba fullad. A magasabb prioritású inkremenseket szállítjuk le hamarabb, ezért mindig a legfontosabb szolgáltatások lesznek többet tesztelve. kisebb a hiba esélye a rendszer legfontosabb részeiben 31 32 8

Hátrányok: Az inkremenseknek megfelelıen kis méretőeknek kell lenni. minden inkrementációs lépésnek szolgáltatni kell valami rendszerfunkciót. nehézkessé válhat a megrendelı követelményeit megfelelı mérető inkrementációs lépésekre bontani. 33 34 Spirális fejlesztés A spirális modell Boehm javasolta elıször már 1988-ban azóta széles körben elterjedt az irodalomban és a gyakorlatban. A szoftverfolyamatot nem tevékenységek és közöttük található esetleg visszalépések sorozataként tekinti, hanem inkább egy spirálként reprezentálja. A spirál minden egyes körben a szoftverfolyamat egy-egy fázisát reprezentálja. 35 36 9

A spirál négy szektora 1. Célok kijelölése: Az adott projektfázis által kitőzött célok meghatározása A folyamat megszorításainak azonosítása, A kapcsolódó menedzselési terv vázolása. A projekt kockázati tényezıinek felismerése, és stratégiák tervezése. 2. Kockázat becslése: Minden kockázati tényezı esetén részletes elemzésre kerül sor. Lépéseket kell tenni a kockázat csökkentése érdekében. A spirál négy szektora 3. Fejlesztés és validálás: a kiértékelés után egy fejlesztési modellt kell választani a problémának megfelelıen. Pl. evolúciós, vízesés, stb modellek. 4. Tervezés: a folyamat azon fázisa, ahol dönteni kell, hogy folytatódjon-e egy következı ciklussal, vagy sem. Folytatás esetén vázolni kell a következı fázist. 37 38 Miben más a spirális fejlesztési modell az egyéb szoftverfolyamat-modelltıl? A modell explicite számol a kockázati tényezıkkel, amelyek problémákat okozhatnak a projektben. Pl.: a határidı- és költségtúllépések. 39 40 10