Bánsághi Anna anna.bansaghi@mamikon.net. Bánsághi Anna 1 of 75



Hasonló dokumentumok
Bánsághi Anna 2014 Bánsághi Anna 1 of 31

Mi a folyamat? Folyamatokkal kapcsolatos teendőink. Folyamatok azonosítása Folyamatok szabályozása Folyamatok folyamatos fejlesztése

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

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

Szoftver újrafelhasználás

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

Szoftver technológia. Projektmenedzsment eszközök. Cserép Máté ELTE Informatikai Kar 2019.

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

30 MB INFORMATIKAI PROJEKTELLENŐR

Projectvezetők képességei

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

Bevezetés a programozásba

Programfejlesztési Modellek

Szoftverminőségbiztosítás

Szoftverminőségbiztosí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

ESZKÖZTÁMOGATÁS A TESZTELÉSBEN

Szoftverminőségbiztosítás

Szoftverminőségbiztosítás

A CMMI alapú szoftverfejlesztési folyamat

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

SW-project management

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

ALKALMAZÁS KERETRENDSZER

evosoft Hungary Kft.

Nagy bonyolultságú rendszerek fejlesztőeszközei

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

Programrendszerek tanúsítása szoftverminőség mérése

UML (Unified Modelling Language)

Szoftverminőségbiztosítás

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

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

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

Bánsághi Anna 1 of 49

01. gyakorlat - Projektalapítás

Programozási Technológia előadás bevezetés. Előadó: Lengyel Zsolt

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

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

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

S01-7 Komponens alapú szoftverfejlesztés 1

Bánsághi Anna Bánsághi Anna 1 of 54

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

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

MIÉRT KELL TESZTELNI?

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

Miskolci Egyetem Általános Informatikai Tanszék

A tesztelés feladata. Verifikáció

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

Alkalmazások fejlesztése A D O K U M E N T Á C I Ó F E L É P Í T É S E

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

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

TOGAF elemei a gyakorlatban

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

AZ INTEGRÁLT NYOMONKÖVETŐ RENDSZER BEMUTATÁSA (TÁMOP B) Kern Zoltán Közoktatási szakértő

Bevezetés a Programozásba II 5. előadás. Objektumorientált programozás és tervezés

Szabványok A szabványok fajtái Mérési szabványok Termékszabványok:

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

TERMÉK FEJLESZTÉS PANDUR BÉLA

IBM felhő menedzsment

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

Integrációs mellékhatások és gyógymódok a felhőben. Géczy Viktor Üzletfejlesztési igazgató

Agilis projektmenedzsment

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

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

Unit Teszt. Tóth Zsolt. Miskolci Egyetem. Tóth Zsolt (Miskolci Egyetem) Unit Teszt / 22

(Teszt)automatizálás. Bevezető

Dr. Topár József (BME)

Web-programozó Web-programozó

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

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

ITIL alapú IT környezet kialakítás és IT szolgáltatás menedzsment megvalósítás az FHB-ban

A dokumentáció felépítése

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

A TESZTELÉS ALAPJAI MIÉRT SZÜKSÉGES A TESZTELÉS? MI A TESZTELÉS? ÁLTALÁNOS TESZTELÉSI ALAPELVEK

Előadók: Angyal Gergely (Raiffeisen), tesztelési csoportvezető Kováts Márton (KFKI), szenior rendszermérnök

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

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

IRÁNYTŰ A SZABÁLYTENGERBEN

Szoftvertechnológia 1. előadás. A szoftverfejlesztési folyamat Giachetta Roberto groberto@inf.elte.hu

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

Közösség, projektek, IDE

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

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

Szoftverfejlesztő képzés tematika oktatott modulok

4. A szoftvergyártás folyamata

Térinformatikai és távérzékelési alkalmazások fejlesztése. A szoftverfejlesztés technikai támogatása

Soft. Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem. Software minőség menedzsment. ftware minőség menedzsment

Ami a vízesésen túl van

Soft. Tartalom. A software minőség menedzsment

A cloud szolgáltatási modell a közigazgatásban

A TANTÁRGY ADATLAPJA

Fogalomtár Etikus hackelés tárgyban Azonosító: S2_Fogalomtar_v1 Silent Signal Kft. Web:

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

VIII. BERENDEZÉSORIENTÁLT DIGITÁLIS INTEGRÁLT ÁRAMKÖRÖK (ASIC)

Szoftver-technológia I.

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

Követelmény alapú minőségbiztosítás az államigazgatásban

Szoftverminőségbiztosítás

Programtervezés. Dr. Iványi Péter

Átírás:

SZOFTVERTECHNOLÓGIA Bánsághi Anna anna.bansaghi@mamikon.net 1. ELŐADÁS - SZOFTVERTECHNOLÓGIA Bánsághi Anna 1 of 75

I. TEMATIKA SZOFTVERTECHNOLÓGIA ALTERÜLETEI II. KÖVETELMÉNY MENEDZSMENT III. RENDSZERMODELLEK IV. RENDSZERARCHITEKTÚRÁK V. RENDSZERTERVEZÉS VI. VALIDÁCIÓ, VERIFIKÁCIÓ VII. MINŐSÉGBIZTOSÍTÁS VIII. TESZTELÉS Bánsághi Anna 2 of 75

I. SZOFTVERTECHNOLÓGIA AL TERÜLETEI 1. Követelmény menedzsment 2. Tervezés 3. Programozás 4. Tesztelés 5. Evolúció 6. Szoftverfejlesztési folyamatok 7. Konfiguráció menedzsment 8. Minőségbiztosítás 9. Eszközök, eljárások 10. Technológia menedzsment Bánsághi Anna 3 of 75

TECHNOLÓGIA egy szoftvernek, mint terméknek gyártási technológiára van szüksége, amely garantálja a program funkcióit, minőségét, költségét és határidejét a szoftvertechnológia feladata szoftverek rendszerezett, felügyelt, minősített fejlesztése, működtetése és evolúciója Wikipedia egy szoftvertermék hosszú élettartamú, egy személy számára áttekinthetetlen, és előállítása csapatmunkában történik a szoftvertechnológia a szoftverterméket összessége előállító folyamatok Bánsághi Anna 4 of 75

SZOFTVERTECHNOLÓGIA ALTERÜLETEI 1. követelmény menedzsment tervezés Szoftverfejlesztési feladatok elemzés, specifikálás, validálás architektúra, komponensek, interfészek, felületek programozás kódolás, verifikálás, egység- és integrációs tesztelés, hibakeresés tesztelés evolúció a szoftver minőségét feltérképező módszeres eljárás fenntartással kapcsolatos költséghatékony támogatás Bánsághi Anna 5 of 75

SZOFTVERTECHNOLÓGIA ALTERÜLETEI 2. Szoftverfejlesztéshez kapcsolódó folyamatok szoftverfejlesztési folyamat a szoftver életciklus folyamat definiálása, implementálása, becslése, mérése, menedzselése, változtatása, fejlesztése konfiguráció menedzsment a rendszer életciklus változáskövetése, verziókezelése minőségbiztosítás nemzetközi szabványoknak való megfelelés eszközök, eljárások a technológiát általában, és azon belül is a szoftver életciklus folyamatokat különösen támogató szoftverek Bánsághi Anna 6 of 75

SZOFTVERTECHNOLÓGIA ALTERÜLETEI 3. Technológia fejlesztése technológia menedzsment a fejlesztés rendszerezett, felügyelt és mérhető menete érdekében a fenti alterületek tervezése, koordinálása, mérése, monitorozása, kontrollja, riportolása Bánsághi Anna 7 of 75

1. KÖVETELMÉNY MENEDZSMENT bemenet az ügyfél rendszerrel szemben támasztott igényei, melyek segítenek neki megoldani bizonyos problémákat feladat a rendszer nyújtotta szolgáltatások és a működési megszorítások kitalálása, elemzése, dokumentálása, ellenőrzése folyamat a megvalósíthatósági tanulmány elkészítése után következik a követelmények feltárása és elemzése, illetve specifikálása és validálása eszközök IBM Rational DOORS, Accompa, Jama, TestTrack, TraceCloud, animble Bánsághi Anna 8 of 75

KÖVETELMÉNY SZINTEK felhasználói követelmények a rendszer végfelhasználói, ügyfélmenedzserek számára készített természetes nyelvi, diagramokkal támogatott leírások rendszerkövetelmények rendszertervezők, szoftverfejlesztők, tesztelők számára készített részletes, pontos, formális specifikációk, rendszermodellek KÖVETELMÉNY FAJTÁK funkcionális a rendszer által nyújtott szolgáltatások, funkciók nemfunkcionális a szolgáltatásokra és a funkciókra tett megszorítások (teljesítménybeli, időbeli, szabvány) szakterületi a rendszer alkalmazásának szakterületéből adódnak (jogszabályok, szakterületi terminológia) Bánsághi Anna 9 of 75

2. TERVEZÉS bemenet követelményspecifikációk, rendszermodellek, korábbi tervezési tapasztalatok, hasonló esetekben sikeresen alkalmazott rendszerszerkezetek feladat a rendszerkomponensek beazonosítása, az általuk nyújtott szolgáltatások elhelyezése, és a közöttük zajló kommunikációt biztosító keretrendszer meghatározása folyamat különböző absztrakciós szinteken történő tervezés: architekturális (alkalmazásarchitektúra kiválasztása) üzleti folyamatok modellezése komponensek közötti interfészek és adatszerkezetek tervezése komponensek belső tervezése felhasználói felület tervezése eszközök modellező nyelvek: UML, BPMN, EXPRESS, Jackson Bánsághi Anna 10 of 75

TERVEZÉSI ALAPELVEK elvonatkoztatás a rendszertervek különféle absztrakciós szinteken, különféle nézőpontok mentén készülnek konkretizálás fokozatos finomítási lépésekben állnak elő az egyre részletesebb tervek modularitás a rendszer komponensekre, a komponensek modulokra bontása (felülről lefelé történő tervezés) szoftver architektúra a rendszer átfogó szerkezete, mely maga után vonja a termék költségét, minőségét, teljesítményét végrehajtási hierarchia a rendszerkomponensek szervezése egy vezérlési hierarchiát von maga után szerkezeti felosztás adatszerkezetek információ elrejtés magas kohézió történhet a funkciók szerint, és felülről lefelé az adatok logikai szerkezete modulok között alacsony kötés, modulokon belül Bánsághi Anna 11 of 75

feladat 3. PROGRAMOZÁS működő, tesztelt, dokumentált kód előállítása folyamat a rendszertervek alapján futtatható rendszer előállítása, szorosan összefonódva a tervezéssel és a teszteléssel eszközök alkalmazási keretrendszerek, szoftverfejlesztési keretrendszerek Bánsághi Anna 12 of 75

PROGRAMOZÁSI ALAPELVEK bonyolultság csökkentése olvasható, érthető kód írása, kódolási konvenciók betartása változtatások gyors követése gyorsan módosítható a jól felépített kód könnyen és verifikálható programozás a kód már úgy legyen megírva, hogy bizonyos ellenőrzéseket a programozó végezzen el (egységtesztek automatikus futtatása) szabványokon alapuló programozás külső és belső szabványoknak való megfelelés (fejlesztőeszközök, interfészek, forráskód, dokumentáció tekintetében) Bánsághi Anna 13 of 75

SZOFTVERFEJLESZTÉSI TECHNIKÁK gyors szoftverfejlesztés a rendszert nem egy teljes egészként fejlesztik, hanem lépésenként, egy-egy újabb funkcionalitást hozzáadva evolválódik. A követelményspecifikáció, a tervezés, az implementáció és a tesztelés egymást átfedő tevékenységek agilis, extrém, prototipikus fejlesztés fejlesztés újrafelhasználással a rendszer meglévő vagy megvásárolható komponensek integrált egysége. A tervezés, a fejlesztés és a tesztelés ráfordításai így jelentősen csökkenthetők komponensalapú tervezés, tervezés minták alapján, konfigurálható keretrendszerek, szolgáltatásorientált rendszerek kritikus rendszerek fejlesztése a rendszert hibakerülő vagy hibatűrő programozási elvek alapján fejlesztik automatikus helyességbizonyítás, redundáns rendszerek Bánsághi Anna 14 of 75

4. TESZTELÉS bemenet a szoftvertermékhez köthető összes dokumentum, specifikáció, modell, terv, kód tesztelhető és tesztelendő feladat a hiányosságok, az ellentmondások, a kétértelműségek, a hibák felfedése, beazonosítása, lokalizálása folyamat a rendszer megfelel a specifikációjának, a rendszer megfelel az ügyfél elvárásainak eszközök nyomkövető eszközök, automatikus teszteszközök, teljesítmény monitorozó eszközök Bánsághi Anna 15 of 75

TESZTELÉSI MÓDSZEREK CSOPORTOSÍTÁSA statikus az adott részeredmény szemmel történő felülvizsgálata, logikai vagy formai problémák keresése specifikációk, modellek, tervek átvizsgálása a szoftver statikus elemezése dinamikus az adott részeredmény működés közbeni vizsgálata, működési rendellenességek keresése fehér doboz a rendszer belsejét teszteli, forráskódon alapuló struktúrális tesztek, egységtesztek fekete doboz a rendszert kód szinten ismeretlennek tételezi fel, specifikáción alapuló funkcionális tesztek, átvételi tesztek szürke doboz a rendszer kód szinten ismeretlen, de a rendszer által kezelt adatok módosíthatók, integrációs tesztek Bánsághi Anna 16 of 75

TESZTELÉSI SZINTEK egységteszt a programegységeket külön-külön teszteljük a funkcionális és a nem-funkcionális követelményeknek megfelelően integrációs teszt a programegységek felületének és az integrált komponensek közötti kommunikáció vizsgálata komponens interfész teszt a komponensek közötti kommunikáció, üzenetküldés és -fogadás, adatáramlás követése rendszerteszt az egész rendszer viselkedésének nem-funkcionális tesztje (minőségügyi attribútumok alapján) elfogadási teszt a rendszer tesztelése a kihelyezett környezetben, a végfelhasználók által Bánsághi Anna 17 of 75

5. EVOLÚCIÓ / KARBANTARTÁS bemenet új üzleti, felhasználói igények megjelenése, technológiai változások, üzemeltetés során felfedett hibák feladat szoftverhibák javítása szoftver más működési környezethez való adaptálása rendszer funkcionalitásának bővítése vagy módosítása folyamat egyre kevésbé különíthető el az előző alterületektől, valójában egy mini fejlesztési ciklus zajlik le (követelmény menedzsment, tervezés, programozás, tesztelés) eszközök hibabejelentő és változáskezelő eszközök, követő rendszerek Bánsághi Anna 18 of 75

6. SZOFTVERFEJLESZTÉSI FOLYAMAT nevezik még szoftver életciklusnak, szoftverfejlesztési életciklusnak, szoftverfolyamatnak feladat az eddig megismert szoftverfejlesztési feladatok egymástól független tevékenységekre bontása, és ezen tevékenységek folyamatba szervezése cél a fejlesztési folyamat menedzselése, kontrollja, optimalizálása, szabványoknak való megfeleltetése folyamatmodellek eszközök szekvenciális, iteratív, agilis projektmenedzsment eszközök Bánsághi Anna 19 of 75

SZOFTVERFEJLESZTÉSI FOLYAMAT TEVÉKENYSÉGEI Bánsághi Anna 20 of 75

SZEKVENCIÁLIS FOLYAMATMODELLEK vízesés javított vízesés V modell REPETITÍV FOLYAMATMODELLEK spirális inkrementális iteratív AGILIS FOLYAMATMODELLEK prototipikus gyors agilis lean Bánsághi Anna 21 of 75

VÍZESÉS FOLYAMATMODELL Bánsághi Anna 22 of 75

VÍZESÉS FOLYAMATMODELL elve az egyes fázisok lépcsőzetesen kapcsolódnak egymáshoz, és egy következő fázis akkor indulhat el, ha az előző fázisban létrehozott dokumentumok elfogadásra kerültek előnye hátránya fény előre jól ismert követelmények esetén használható az előző fázisok hibáira csak a későbbi fázisokban derül probléma a folyamat korai fázisaiban kell olyan döntéseket meghozni, melyekre ott még nincs kellő rálátás Bánsághi Anna 23 of 75

JAVÍTOTT VÍZESÉS FOLYAMATMODELL Bánsághi Anna 24 of 75

JAVÍTOTT VÍZESÉS FOLYAMATMODELL elve az egyes fázisok lépcsőzetesen kapcsolódnak egymáshoz, viszont átfedhetik egymást, illetve a későbbi fázisok visszacsatolnak a korábbiakhoz előnye előre jól ismert követelmények esetén használható hátránya a megrendelői vagy a felhasználói igényekhez való alkalmazkodás problémái probléma a változtatások vagy a bővítések kezelése továbbra is nehézkes a folyamat előrehaladtával Bánsághi Anna 25 of 75

V-MODELL Bánsághi Anna 26 of 75

V-MODELL elve a V első ága a projektdefiníciós feladatokat, a másik ága az integrációs és tesztelési feladatokat, végül a középső ág a tesztelési terveket fogja össze. Felülről lefelé csökken az absztrakció mértéke előnye a tervezéssel együtt történik a tesztek tervezése, melyek azonnali visszacsatolást adnak az adott szinten hátránya üzleti szempontú, nem reflektál a fejlesztői igényekre, értelmetlen teszttervek készülnek, melyeket a változások miatt már senki sem hajt végre probléma a változtatások vagy a bővítések kezelése továbbra is nehézkes, túldokumentálás Bánsághi Anna 27 of 75

SPIRÁLIS FOLYAMATMODELL Bánsághi Anna 28 of 75

SPIRÁLIS FOLYAMATMODELL elve kockázat vezérelt tervezési modell, ahol egy-egy spirál a vízesés modellbeli tevékenységek szekvenciája előnye explicite számol a kockázati tényezőkkel, meghatározza a lehetséges alternatívákat, szimulációval elemzi a kockázatokat hátránya az előzetes elemzés és tervezés költség- és időigényes, rengeteg dokumentáció készül probléma alacsony kockázatú és költségű, gyorsan lefutó projektek esetén felesleges Bánsághi Anna 29 of 75

INKREMENTÁLIS FOLYAMATMODELL Bánsághi Anna 30 of 75

INKREMENTÁLIS FOLYAMATMODELL elve a rendszert több, kisebb komponensre bontják, majd ezeket egyesével, egy-egy mini szekvenciális folyamatban fejlesztik előnye mivel a fejlesztés lépései ismétlődnek, ezért lehetőség van magának a fejlesztési folyamatnak a javítására hátránya az újabb komponensek hozzáadásával fény derülhet alapvető, architektúrális hibákra probléma nincs rálátás a teljes rendszerre Bánsághi Anna 31 of 75

ITERATÍV FOLYAMATMODELL Bánsághi Anna 32 of 75

ITERATÍV FOLYAMATMODELL elve a rendszerarchitektúrát kezdetben teljesen át kell látni, ám a fejlesztés egy alapverzióval indul, melyet az egyes iterációkban módosítanak, javítanak, bővítenek előnye a fejlesztés során fokozatosan egyre jobb és a változó felhasználói igényeknek megfelelő termék áll elő hátránya a fejlesztés elnyúlhat a megrendelői visszacsatolások lassúsága vagy az újabb és újabb igények miatt probléma a megrendelővel és a felhasználókkal való kommunikáció kaotikussága Bánsághi Anna 33 of 75

PROTOTIPIKUS FOLYAMATMODELL Bánsághi Anna 34 of 75

PROTOTIPIKUS FOLYAMATMODELL elve hasonló az iteratív modellhez azzal, hogy a megrendelők prototípusokat kapnak, azokat értékelik ki, majd a megfelelő irányban történik a valódi fejlesztés előnye teljesen bizonytalan megrendelő esetén csökkenthetők a kockázatok hátránya készülnek az eldobható prototípusok a fejlesztő költségére probléma a megrendelővel és a felhasználókkal való kommunikáció kaotikussága Bánsághi Anna 35 of 75

GYORS ALKALMAZÁSFEJLESZTÉSI MODELL Bánsághi Anna 36 of 75

GYORS ALKALMAZÁSFEJLESZTÉSI MODELL elve a hosszadalmas tervezés helyett az üzleti folyamatok, adatszerkezetek magasszintű fejlesztésével indul, majd prototipikus és iteratív módon merül el a részletekben előnye a kockázatok elemzése és a fejleszésbe bevont felhasználók miatt jobb minőségű termék áll elő hátránya magasan képzett szakértők szükségesek, mind az üzlet, mind az IT oldaláról probléma kis és közepes projektek esetében használható, mert folyamatos kommunikációt igényel a fejlesztők és a megrendelők között Bánsághi Anna 37 of 75

AGILIS FOLYAMATMODELL elve kis léptékű iteratív modell, ahol a követelmények és a szoftvertermék kis csapatok közötti együttműködés eredményeként evolválódik előnye az elkészült részfeladat gyors kiértékelése, és a módosítások azonnali adaptálása hátránya fegyelmezett projektmenedzsmentre, jól képzett szakemberekre van szükség probléma a túlzott rugalmasság oda vezethet, hogy elvész az eredeti elképzelés Bánsághi Anna 38 of 75

SCRUM FOLYAMAT product backlog az összes, le nem fejlesztett funkció, ún. user story prioritásos listája sprint a fejlesztés egymást követő, 1-4 hetes sprintekben zajlik sprint tervezése a csapat közösen kiválogatja a product backlog-ból a megvalósítandó user story-kat implementáció a fejlesztés 1-4 hete, minden nap egy standup-pal a haladás és a problémák megbeszélésére demó az ügyfél előtt bemutatásra kerül az eredmény, backlog frissítés áttekintés fél - egy órás visszacsatolás arról, hogy mi ment jól, és mi ment rosszul, hol kell változtatni Bánsághi Anna 39 of 75

LEAN FOLYAMATMODELL elve a lehető legkevesebbet, a lehető leggyorsabban és a lehető legjobb minőségben előállítani előnye nem téveszti szem elől a rendszer egészét, megszűnteti a pazarló tevékenységeket, az egyén és a csapat fejlődése párhuzamos a rendszer fejlődésével hátránya fegyelmezett projektmenedzsmentre, jól képzett szakemberekre van szükség probléma a bizonytalan követelmények vagy a változtatások alapjaiban rendítik meg a lean projektet Bánsághi Anna 40 of 75

ÚJREFELHASZNÁLÁS ORIENTÁLT FOLYAMATMODELL Bánsághi Anna 41 of 75

ÚJREFELHASZNÁLÁS ORIENTÁLT FOLYAMATMODELL elve alkalmazások, programkönytárak, webszolgáltatások beépítése a rendszerbe, sokszor az integrációt végző köztesréteg is biztosított előnye a programozási, tesztelési, karbantartási költségek nagy része megspórolható hátránya a követelményeket a lehetőségekhez kell igazítani, probléma a felhasznált komponensek evolúciója valamely harmadik fél felelőssége Bánsághi Anna 42 of 75

7. KONFIGURÁCIÓ MENEDZSMENT feladat a rendszerhez kapcsolódó hardver konfigurációk és szoftververziók követése az adott állapothoz tartozó összes információ kezelése, például egy adott állapot bármikor visszaállítható legyen a felhasználókhoz való kihelyezések kezelése, a karbantartások felügyelete a fejlesztési folyamat betartatása, a csapatmunka elősegítése eszközök konfiguráció menedzsment eszközök, verziókezelő rendszerek Bánsághi Anna 43 of 75

8. MINŐSÉGBIZTOSÍTÁS feladat mind a szoftvertermék, mind a szoftverfejlesztési folyamat minőségének emelése a minőségi szoftvertermék megfelel a követelményeknek, és elégedetté teszi a felhasználókat minden résztvevő felelőssége a szervezetben kialakított minőségügyi kultúra eszközök nemzetközi, ipari és belső szabványok Bánsághi Anna 44 of 75

SZOFTVERMINŐSÉG MEGKÖZELÍTÉSEK termék alapú a minőség precíz és mérhető változó, a minőségbeli különbségek a szoftverek egyes összetevőinek vagy jellemzőinek különbségéből adódnak folyamat alapú a szoftverterméket előállító folyamat jó minősége szavatolja a szoftver jó minőségét érték alapú a minőséget a költség függvényében határozza meg, tehát egy jó minőségű termék alacsony áron alkalmas a kitűzött feladat elvégzésére Bánsághi Anna 45 of 75

TERMÉK ALAPÚ SZOFTVERMINŐSÉG ISO/IEC 25010:2011 MINŐSÉGÜGYI SZABVÁNY ALAPJÁN funkcionális alkalmazhatóság hatékonyság kompatibilitás használhatóság hordozhatóság karbantarthatóság biztonság megbízhatóság Bánsághi Anna 46 of 75

FUNKCIONÁLIS ALKALMAZHATÓSÁG funkcionális teljesség követelményeknek, specifikációnak való megfelelés funkcionális helyesség az elvárt hibahatáron belül teljesíti feladatát funkcionális megfelelőség a különleges esetekkel, helyzetekkel való megbírkózás képessége Bánsághi Anna 47 of 75

HATÉKONYSÁG időszükséglet válaszidő, futási idő, áteresztő képesség erőforrás-kihasználás felhasznált típusok és erőforrások mennyisége kapacitás a szoftver használatának felső korlátai Bánsághi Anna 48 of 75

KOMPATIBILITÁS együttműködő képesség a környezetben futó más programokkal rendszerbe integrálhatóság képessége integrált komponensként Bánsághi Anna 49 of 75

HASZNÁLHATÓSÁG érthetőség a szoftver céljának beazonosíthatósága a felhasználók által megtanulhatóság a szoftver kockázattűrő és hatékony elsajátíthatósága működtethetőség a könnyű kezelést elősegítő paraméterek, személyre szabhatóság felhasználói hibavédelem felhasználói felületi esztétika hozzáférhetőség felhasználók széles köre képes a használatra Bánsághi Anna 50 of 75

HORDOZHATÓSÁG adaptálhatóság különféle hardver és szoftver környezetbe helyezhető telepíthetőség hatékony és sikeres telepítése és eltávolítás kiválthatóság ugyanazon környezetben, ugyanazon célú egyéb szoftverek Bánsághi Anna 51 of 75

KARBANTARTHATÓSÁG modularitás önálló, zárt, lecserélhető komponensek mértéke újrahasznosíthatóság adott egység többszöri felhasználása elemezhetőség hibakeresés és beazonosítás hatékonysága, gyorsasága módosíthatóság a szoftver hiba nélküli, gyors változtathatósági képessége tesztelhetőség tesztelési kritériumoknak megfelelő ellenőrzés Bánsághi Anna 52 of 75

BIZTONSÁG bizalmasság felhasználói adatok jogosultsági rendszere feddhetetlenség jogosulatlan hozzáférések tiltása letagadhatatlanság az adathozzáférések bizonyító erejűek elszámoltathatóság adathozzáférések naplózása hitelesség az erőforrások igazolni tudják magukat Bánsághi Anna 53 of 75

MEGBÍZHATÓSÁG érettség normális működés alatt elvárt funkcionalitás elérhetőség a szoftver rendelkezésre állása, amikor szükséges hibatűrő képesség hardver vagy szoftver hibák ellenére is működőképes szoftver helyreállíthatóság váratlan hiba utáni adat- és rendszer helyreállás Bánsághi Anna 54 of 75

HASZNÁLATBELI MINŐSÉG hatékonyság termelékenység elégedettség kockázatmentesség alkalmazási környezetfedettség Bánsághi Anna 55 of 75

FOLYAMAT ALAPÚ SZOFTVERMINŐSÉG képességi modellek a szoftverfejlesztéshez köthető folyamatok mennyire meghatározottak, vezéreltek, mértek, ellenőrzöttek, hatékonyak és javulásra képesek egy folyamat annál magasabb képességi szinten van, minél több elem van a helyén a felsoroltak közül érettségi modellek a szervezet egészében mely folyamatok és milyen képességi szinten vannak jelen, és azokat mennyire alkalmazzák egy adott érettségi szinten lévő szervezetben bizonyos folyamatoknak jelen kell lenniük Bánsághi Anna 56 of 75

FOLYAMATJAVÍTÁSI MODELLEK lépcsős / érettségi a teljes szervezetet vizsgálják, foglalkoznak a vezetési és műszaki folyamatokkal, az alkalmazott technológiával, magával a szervezettel Capability Maturity Model (CMM) folytonos / képességi az egyes folyamatokra koncentrálnak, folyamatokra állapítanak meg képességi szinteket bizonyos jellemzők alapján (ISO/IEC 15504, SPICE) integrált / kombinált ötvözik a kéféle modellt a bizonyítottan hasznos elemeket kiválogatva Capability Maturity Model Integration (CMMI), ISO/IEC 20000, IT Infrastructure Library (ITIL), Six Sigma Bánsághi Anna 57 of 75

1. 2. SZERVEZETEK ÉRETTSÉGI SZINTJEI A CMM MINŐSÉGÜGYI SZAB VÁNY ALAPJÁN kaotikus nincsenek folyamatok, a projektek, ha elkészülnek, az egyének zsenialitása miatt készülnek el menedzselt az egyes emberek munkájukat ismételni tudják, megfelelő a projektmenedzsment 3. meghatározott a folyamatok cég szinten szabályozottak, a projektekre jellemző egyedi folyamatok egy szabványos folyamatportfólióból válogathatók össze 4. 5. mennyiségileg menedzselt elemzésnek vetik alá a folyamatokat mérik, statisztikai optimalizáló a mérési eredményeket javításra vissza tudják csatolni, a technológiai változásokat tervezik és követik Bánsághi Anna 58 of 75

FOLYAMATOK KÉPESSÉGI SZINTJEI A SPICE MINŐSÉGÜGYI SZAB VÁNY ALAPJÁN 0. 1. 2. 3. 4. 5. nem végrehajtott jellemzői végrehajtott a folyamatot nem hajtják végre, így nincsenek létezik a folyamat, de nincsenek azonosítható jellemzői menedzselt a folyamatot tervezik, vezérlik, van teljesítmény-, konfiguráció- és minőségmenedzsment meghatározott a folyamatok szervezeti szinten érvényes szabványos leírással rendelkeznek, gyűjtik a visszajelzéseket jósolható megtörténik a folyamatok céljainak és a kapcsolódó mérőszámoknak az összekapcsolása, létezik infrastruktúra a folyamatok elemzésére, a szükséges beavatkozásokra optimalizáló a folyamatok változása tervezett és kézbentartott, cél a folyamatok javítása Bánsághi Anna 59 of 75

INTEGRÁLT MODELL A CMMI MINŐSÉGÜGYI SZABVÁNY ALAPJÁN ahhoz, hogy egy szervezet valamely érettségi szintet elérjen, az szükséges, hogy a szintet meghatározó folyamatok jelen legyenek ezek a folyamatok elérjenek egy bizonyos képességi szintet Bánsághi Anna 60 of 75

2. SZINT: MENEDZSELT SZERVEZET követelmény menedzsment 2 projekttervezés 2 projektkövetés és -vezérlés 2 folyamat- és termékeminőség-biztosítás 2 mérés és elemzés 2 beszállítói megállapodás menedzsment 2 konfiguráció menedzsment 2 Bánsághi Anna 61 of 75

3. SZINT: MEGHATÁROZOTT SZERVEZET követelmény menedzsment 3 projekttervezés 3 projektkövetés és -vezérlés 3 folyamat- és termékeminőség-biztosítás 3 mérés és elemzés 3 beszállítói megállapodás menedzsment 3 konfiguráció menedzsment 3 szervezeti szintű folyamatszemlélet 3 szervezeti szintű folyamatok meghatározása 3 szervezeti szintű képzés 3 integrált projektmenedzsment 3 döntéselemzés és döntéshozatal 3 kockázatmenedzsment 3 Bánsághi Anna 62 of 75

4. SZINT: MENNYISÉGILEG MENEDZSELT SZERVEZET szervezeti szintű folyamatteljesítmény 3 mennyiségi projektmenedzsment 3 Bánsághi Anna 63 of 75

5. SZINT: OPTIMALIZÁLT SZERVEZET szervezeti szintű innováció és közzététel 3 oksági elemzés és megoldás 3 Bánsághi Anna 64 of 75

9. ESZKÖZÖK, ELJÁRÁSOK üzleti és elemző eszközök a projekt körülményeinek elemzése, pl. környezeti, szerkezeti, kockázati elemzések tervező, fejlesztő, tesztelő eszközök a szoftver különböző absztrakciós szinteken való tervezése, fejlesztése, tesztelése verifikációs és validációs eszközök a szoftver megfelelőségének, teljesítményének, működésének ellenőrzése, követése konfiguráció menedzsment eszközök támogatása, verziókezelés diagnosztikai eszközök csapatmunka a szoftver minőségének javítására projektmenedzsment eszközök projekttervezés, ütemezés, feladatkiosztás, követés, felülvizsgálat Bánsághi Anna 65 of 75

TERVEZŐ ESZKÖZÖK a program szerkezetének és működésének tervezése az osztályok és objektumok szempontjából történik statikus tervezés a szerkezeti tervezésnél az osztályok tagjait, az osztályok / objektumok közötti kapcsolatokat adjuk meg dinamikus tervezés a programfutási tervezésnél az objektumok időbeli viselkedését, az állapotváltozásokat modellezzük az OOP tervezés eszköze a Unified Modeling Language (UML), amelyben 13 diagramtípus segítségével tervezhető meg a program szerkezete és működése Bánsághi Anna 66 of 75

UML szabványos módon lehet rendszerek terveit elkészíteni alkalmas üzleti folyamatok, programfunkciók és adatbázis-sémák leírására a modellek automatikusan kódba fejthetők, tehát tetszőleges objektumorientált nyelvre átültethetők a nyelv kiterjeszthető, és lehetőséget ad a testreszabásra a nyelv leginkább a diagramok keretében mutatkozik meg Bánsághi Anna 67 of 75

UML MODELLEK funkcionális modell a szoftver funkcionális követelményeit adja meg és a felhasználóval való interaktivitást (használati esetek diagramja, kihelyezési diagram) szerkezeti modell a program felépítését adja meg, milyen osztályok, objektumok, relációk alkotják a programot (osztálydiagram, objektumdiagram) dinamikus modell a program működésének lefolyását, az objektumok együttműködésének módját ábrázolja (állapotdiagram, szekvenciadiagram) Bánsághi Anna 68 of 75

UML DIAGRAMOK Bánsághi Anna 69 of 75

INTEGRÁLT FEJLESZTŐI KÖRNYEZET a programozást megkönnyítő eszköz szintaxisorientált szövegszerkesztő szintaktikus és szemantikus kódkiemelés automatikus kódkiegészítés, javítás fordítóprogram, interpreter hibakeresés, nyomkövetés, töréspontok, figyelőablakok teljesítményfigyelés (memória, verem, szálkezelés) grafikus fejlesztői felület dokumentáció generálás kódból és megjegyzésekből beépített teszteszközök, a tesztelés támogatása csapatmunka támogatása, verziókezelés Bánsághi Anna 70 of 75

TESZT ESZKÖZÖK menedzsment teszt, követelmény, incidens, konfiguráció menedzsment eszközök statikus tesztelés teszt specifikáció felülvizsgálati, elemző, modellező eszközök teszt tervező, tesztadat generáló eszközök teszt futtatás futtató, egységtesztelő, összehasonlító, lefedettség mérő, biztonsági eszközök teljesítmény és monitorozás dinamikus elemző, monitorozó eszközök, teljesítmény, load, stressz tesztek adatbázis adatvalidáló, lekérdezés elemző eszközök Bánsághi Anna 71 of 75

MÉRET ALAPÚ METRIKÁK DIAGNOSZTIKAI ESZKÖZÖK kódsorok, megjegyzéssorok, mezők, metódusok, függvények, (absztrakt) osztályok, interfészek száma újrafelhasználások aránya, kódklónok aránya funkciópontok száma (változók, objektumok típusonkénti száma) SZERKEZET ALAPÚ METRIKÁK vezérlési folyam bonyolultsága (McCabe ciklomatikus bonyolultság) adatfolyam, információáramlás bonyolultsága adatszerkezetek bonyolultsága Bánsághi Anna 72 of 75

PROJEKTMENEDZSMENT ESZKÖZÖK a fejlesztés ütemtervének, kockázatainak meghatározása adott a fejlesztés egyszerű és folyamatos dokumentálásának lehetősége és generálása tevékenységek rögzítésére, időbeli nyomkövetése feladatkezelő alrendszer is egyben, mellyel hibák rögzíthetők és megoldhatók az integrált verziókezelés és forráskód böngészés webes vagy grafikus felület, amely biztosítja a könnyű használatot, és a bárhonnan való elérést Bánsághi Anna 73 of 75

FELADATKEZELŐ ESZKÖZÖK a projekt ütemtervének elkészítése, és annak folyamatos szem előtt tartása mérföldkövek definiálása, melyek során adott feladatokat kell elvégezni a fejlesztők külön - külön láthatják saját feladataikat, menedzselhetik azok előrehaladását a fejlesztési lépésekhez szükséges erőforrások beosztása programrészek közötti függőségek definiálása az egyes fejlesztési lépések időbeli lefolyásának kezelése, a tervezettől való eltérések erőforrásokra gyakorolt hatásainak előrevetítése Bánsághi Anna 74 of 75

webes eszközök cloud eszközök NÉPSZERŰ ESZKÖZÖK Trac, Redmine, Basecamp, Agilefant, Kanban SourceForge, GitHub, Google Code, CodePlex Bánsághi Anna 75 of 75