Szoftvertechnológia
1. előadás
SZOFTVERTECHNOLÓGIA © Bánsághi Anna
[email protected]
1. ELŐADÁS - SZOFTVERTECHNOLÓGIA
© Bánsághi Anna
1 of 75
Szoftvertechnológia
1. előadás
TEMATIKA I. 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
Szoftvertechnológia
1. előadás
I. SZOFTVERTECHNOLÓGIA AL‐ TERÜLETEI 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
© Bánsághi Anna
Követelmény menedzsment Tervezés Programozás Tesztelés Evolúció Szoftverfejlesztési folyamatok Konfiguráció menedzsment Minőségbiztosítás Eszközök, eljárások Technológia menedzsment
3 of 75
Szoftvertechnológia
1. előadás
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 előállító folyamatok összessége
© Bánsághi Anna
4 of 75
Szoftvertechnológia
1. előadás
SZOFTVERTECHNOLÓGIA ALTERÜLETEI 1. Szoftverfejlesztési feladatok követelmény menedzsment elemzés, specifikálás, validálás tervezé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 a szoftver minőségét feltérképező módszeres eljárás evolúció fenntartással kapcsolatos költséghatékony támogatás
© Bánsághi Anna
5 of 75
Szoftvertechnológia
1. előadás
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
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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 történhet a funkciók szerint, és felülről lefelé adatszerkezetek az adatok logikai szerkezete információ elrejtés modulok között alacsony kötés, modulokon belül magas kohézió © Bánsághi Anna
11 of 75
Szoftvertechnológia
1. előadás
3. PROGRAMOZÁS feladat 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
Szoftvertechnológia
1. előadás
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 a jól felépített kód könnyen és gyorsan módosítható 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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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 szekvenciális, iteratív, agilis eszközök projektmenedzsment eszközök
© Bánsághi Anna
19 of 75
Szoftvertechnológia
1. előadás
SZOFTVERFEJLESZTÉSI FOLYAMAT TEVÉKENYSÉGEI
© Bánsághi Anna
20 of 75
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
VÍZESÉS FOLYAMATMODELL
© Bánsághi Anna
22 of 75
Szoftvertechnológia
1. előadás
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 előre jól ismert követelmények esetén használható hátránya az előző fázisok hibáira csak a későbbi fázisokban derül fény 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
Szoftvertechnológia
1. előadás
JAVÍTOTT VÍZESÉS FOLYAMATMODELL
© Bánsághi Anna
24 of 75
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
V-MODELL
© Bánsághi Anna
26 of 75
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
SPIRÁLIS FOLYAMATMODELL
© Bánsághi Anna
28 of 75
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
INKREMENTÁLIS FOLYAMATMODELL
© Bánsághi Anna
30 of 75
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
ITERATÍV FOLYAMATMODELL
© Bánsághi Anna
32 of 75
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
PROTOTIPIKUS FOLYAMATMODELL
© Bánsághi Anna
34 of 75
Szoftvertechnológia
1. előadás
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 az eldobható prototípusok a fejlesztő költségére készülnek probléma a megrendelővel és a felhasználókkal való kommunikáció kaotikussága
© Bánsághi Anna
35 of 75
Szoftvertechnológia
1. előadás
GYORS ALKALMAZÁSFEJLESZTÉSI MODELL
© Bánsághi Anna
36 of 75
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
ÚJREFELHASZNÁLÁS ORIENTÁLT FOLYAMATMODELL
© Bánsághi Anna
41 of 75
Szoftvertechnológia
1. előadás
Ú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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
SZERVEZETEK ÉRETTSÉGI SZINTJEI A CMM MINŐSÉGÜGYI SZAB‐ VÁNY ALAPJÁN 1. kaotikus nincsenek folyamatok, a projektek, ha elkészülnek, az egyének zsenialitása miatt készülnek el 2. 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. mennyiségileg menedzselt a folyamatokat mérik, statisztikai elemzésnek vetik alá 5. 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
Szoftvertechnológia
1. előadás
FOLYAMATOK KÉPESSÉGI SZINTJEI A SPICE MINŐSÉGÜGYI SZAB‐ VÁNY ALAPJÁN 0. nem végrehajtott a folyamatot nem hajtják végre, így nincsenek jellemzői 1. végrehajtott létezik a folyamat, de nincsenek azonosítható jellemzői 2. menedzselt a folyamatot tervezik, vezérlik, van teljesítmény-, konfiguráció- és minőségmenedzsment 3. meghatározott a folyamatok szervezeti szinten érvényes szabványos leírással rendelkeznek, gyűjtik a visszajelzéseket 4. 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 5. 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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
2. SZINT: MENEDZSELT SZERVEZET követelmény menedzsment projekttervezés projektkövetés és -vezérlés folyamat- és termékeminőség-biztosítás mérés és elemzés beszállítói megállapodás menedzsment konfiguráció menedzsment
© Bánsághi Anna
2 2 2 2 2 2 2
61 of 75
Szoftvertechnológia
1. előadás
3. SZINT: MEGHATÁROZOTT SZERVEZET
© Bánsághi Anna
követelmény menedzsment projekttervezés projektkövetés és -vezérlés folyamat- és termékeminőség-biztosítás mérés és elemzés beszállítói megállapodás menedzsment konfiguráció menedzsment
3 3 3 3 3 3 3
szervezeti szintű folyamatszemlélet szervezeti szintű folyamatok meghatározása szervezeti szintű képzés integrált projektmenedzsment döntéselemzés és döntéshozatal kockázatmenedzsment
3 3 3 3 3 3
62 of 75
Szoftvertechnológia
1. előadás
4. SZINT: MENNYISÉGILEG MENEDZSELT SZERVEZET szervezeti szintű folyamatteljesítmény 3 mennyiségi projektmenedzsment 3
© Bánsághi Anna
63 of 75
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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 csapatmunka támogatása, verziókezelés diagnosztikai eszközök 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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
UML DIAGRAMOK
© Bánsághi Anna
69 of 75
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
TESZT ESZKÖZÖK menedzsment teszt, követelmény, incidens, konfiguráció menedzsment eszközök statikus tesztelés felülvizsgálati, elemző, modellező eszközök teszt specifikáció 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
Szoftvertechnológia
1. előadás
DIAGNOSZTIKAI ESZKÖZÖK MÉRET ALAPÚ METRIKÁ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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
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
Szoftvertechnológia
1. előadás
NÉPSZERŰ ESZKÖZÖK webes eszközök Trac, Redmine, Basecamp, Agilefant, Kanban cloud eszközök SourceForge, GitHub, Google Code, CodePlex
© Bánsághi Anna
75 of 75