Minőségbiztosítás
9. előadás
SZOFTVERTECHNOLÓGIA © Bánsághi Anna
[email protected]
9. ELŐADÁS - MINŐSÉGBIZTOSÍTÁS
1 of 49
Minőségbiztosítás
9. 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
2 of 49
Minőségbiztosítás
9. előadás
VII. MINŐSÉGBIZTOSÍTÁS A minőségbiztosítás és a szabványok Minőségtervezés Minőségellenőrzés Szoftver mérése és metrikák Folyamatok mérése és minősítése
3 of 49
Minőségbiztosítás
9. előadás
A SZOFTVER MINŐSÉGÉNEK KEZELÉSE a minőségbiztosítás célja, hogy garantálja a szoftvertermék megkívánt minőségét a megfelelő minőség eléréséhez „minőségi kultúrát” kell kialakítani, amelyért mindenki felelősséggel tartozik A MINŐSÉGBIZTOSÍTÁSHOZ TARTOZIK a minőségre vonatkozó szabványok és a betartásukhoz szükséges folyamatoknak meghatározása annak dokumentálása, hogy a termék a szabványoknak megfelelően készült
4 of 49
Minőségbiztosítás
9. előadás
A SZOFTVER MINŐSÉGE a minőség általában azt jelenti, hogy a termék megfelel a specifikációjának mégis mindenki mást ért minőség alatt felhasználó a szoftver azt végezze, amit elvár tőle, és úgy működjön, ahogy kívánja (beleértve a gazdaságosságot, megbízhatóságot és a ki nem mondott elvárásokat is) fejlesztő a szoftver feleljen meg a specifikációnak (beleértve a karbantarthatóságot, újrafelhasználhatóságot, hordozhatóságot) ISO annak mértéke, amennyire a szoftver tulajdonságai (a minőségügyi attribútumok) megfelelnek a követelményeknek
5 of 49
Minőségbiztosítás
9. előadás
A SZOFTVER MINŐSÉGE de a szoftverkövetelmények gyakran nem teljesek és nem következetesek a szoftver specifikációját nehéz teljessé tenni tehát a specifikációnak való megfelelés nem garantálja, hogy a felhasználó elégedett lesz a termékkel
6 of 49
Minőségbiztosítás
9. előadás
MINŐSÉGI KOMPROMISSZUMOK mivel a követelményspecifikáció nem teljes, a minőség biztosítására más tényezőket is fel kell használni olyan eljárásokat szükséges bevezetni, hogy hiányos követelmények esetén is biztosítható legyen a minőség nagy rendszerek esetén méréssel, ellenőrzéssel, dokumentálással és külön szervezettel járó feladatok ezek kisebb rendszerek fejlesztésekor egy általános minőségi kultúra megalapozását, de az előző esetnél kevesebb dokumentációt igényel
7 of 49
Minőségbiztosítás
9. előadás
A MINŐSÉGKEZELÉS TEVÉKENYSÉGEI minőségbiztosítás szabványok és szervezeti eljárások alkalmazása minőségtervezés egy konkrét projekthez alkalmas eljárások és szabványok kiválasztása és adaptálása minőségellenőrzés annak biztosítása és ellenőrzése, hogy a fejlesztő csapat alkalmazza-e a minőségügyi szabványokat és eljárásokat a minőségkezelés lehetőleg legyen független a projektvezetéstől
8 of 49
Minőségbiztosítás
9. előadás
A MINŐSÉGKEZELÉS ÉS A SZOFTVERFOLYAMAT
9 of 49
Minőségbiztosítás
9. előadás
AZ ISO 9000 SZABVÁNYCSALÁD a minőségkezelés nemzetközi szabványrendszere (ISO – International Standard Organisation) sokféle szervezetre alkalmazható, a termeléstől a szolgáltatásokig az ISO 9001 alkalmazható a tervezéssel, fejlesztéssel, karbantartással foglalkozó szervezetekre a megújított ISO 9000:2008 szabvány már foglalkozik a felhasználói elégedettség mérésével és a szervezet minőségmenedzsmentjével is az ISO 9001 egy általános minőségkezelési folyamat, amelyet adaptálni kell a konkrét szervezetre
10 of 49
Minőségbiztosítás
9. előadás
AZ ISO 9001 ALKALMAZÁSI TERÜLETEI 1. A VEZETÉS FELELŐSSÉGI KÖREI különleges termékek ellenőrzése kezelés, tárolás, csomagolás, szállítás beszerzett és előállított termékek folyamatellenőrzés a szerződések felülvizsgálata a dokumentálás ellenőrzése belső minőségügyi felülvizsgálatok szervizelés, karbantartás
11 of 49
Minőségbiztosítás
9. előadás
AZ ISO 9001 ALKALMAZÁSI TERÜLETEI 2. MINŐSÉGÜGYI RENDSZER a tervezés ellenőrzése beszerzés, értékesítés termék azonosítás és nyomon követés ellenőrzés és tesztelés korrekciós műveletek minőségügyi jelentések képzés statisztikai módszerek
12 of 49
Minőségbiztosítás
9. előadás
AZ ISO 9000 TANÚSÍTVÁNY a vonatkozó minőségügyi szabványokat és eljárásokat a szervezet minőségügyi kézikönyvében kell lefektetni egy független, külső bizottság tanúsítja, hogy a szervezet minőségügyi kézikönyve és gyakorlata megfelel az ISO 9000 szabványnak a tanúsítást évente felülvizsgálják és megújítják vagy megvonják a szervezettől a megrendelők (pl. közbeszerzésben) mind gyakrabban írják elő feltételként az ISO 9000 tanúsítványt
13 of 49
Minőségbiztosítás
9. előadás
AZ ISO 9000 ÉS A MINŐSÉGKEZELÉS
14 of 49
Minőségbiztosítás
9. előadás
AZ ISO 9000 SZABVÁNY RÉSZEI ISO 9000:2008 alapfogalmak és szótár ISO 9001:2008 átfogó rendszerszabvány ISO 9004:2008 a teljesítmény-fejlesztés ajánlásai központban a felhasználó folyamat alapú szemlélet, folytonos folyamat fejlesztés a vezetés rendszerszemléletű megközelítése, a résztvevők bevonása a döntéshozatal módszerei a beszállítók kezelése
15 of 49
Minőségbiztosítás
9. előadás
CSATLAKOZÓ (HIVATKOZOTT) SZABVÁNYOK SZOFTVERFEJLESZTŐ SZERVEZETEK SZÁMÁRA ISO/IEC 15504 Folyamatjavítás – SPICE (Software Process Improvement and Capability) ISO/IEC 12207 Információs technológia – a szoftver életciklus folyamatai ISO/IEC 15288 Rendszertechnológia – a rendszer életciklus folyamatai ISO/IEC 15939 Információs technológia – Szoftvertechnológia – Szoftver mérés
16 of 49
Minőségbiztosítás
9. előadás
A MINŐSÉGBIZTOSÍTÁS ÉS A SZABVÁNYOK a szabványok adják a keretet a hatékony minőségkezeléshez lehetnek: nemzetközi-, nemzeti-, szervezeti- és projektszabványok a termékszabványok olyan tulajdonságokat írnak elő, amelyek a termék minden elemére nézve kötelezőek dokumentációs szabványok (pl. dokumentumok szerkezete) kódolási szabványok (programozási stílus, programnyelv használat) a folyamatszabványok a szoftverfejlesztés alatt követendő folyamatokat határozzák meg a specifikáció folyamata, módszerei, dokumentumai a tervezés folyamata, módszerei, dokumentumai a tesztelés folyamata, módszerei, dokumentumai
17 of 49
Minőségbiztosítás
9. előadás
A SZABVÁNYOK FONTOSSÁGA a szabványok a legjobb gyakorlat és a korábbi projektek hibáinak összegyűjtött adatai alapján készülnek nemzeti és nemzetközi szervezetek (IEEE, ANSI, BSI, NATO) dolgozzák ki különböző projektekre kiterjednek a szoftvertervezés terminológiáira, programozási nyelvekre, jelölésrendszerre, programozási módszerekre, ellenőrzésre, validálásra folytonosságot biztosítanak egy változó szervezetben, az új résztvevők a helyi szabványok megismerésével hamarabb be tudnak kapcsolódni a munkába
18 of 49
Minőségbiztosítás
9. előadás
TERMÉKSZABVÁNYOK űrlapok a tervek átvizsgálásához dokumentációs szabványok (szerkezet, névkonvenciók) a termékek vizsgálata, jelölése programozói stílusok előírásai a projektterv formátuma változtatási kérelmek űrlapjai FOLYAMATSZABVÁNYOK a tervek átvizsgálásának irányítása dokumentumok ellenőrzése verzió kibocsátás folyamata programátvizsgálások folyamata projektterv jóváhagyási folyamata változáskezelés folyamata
19 of 49
Minőségbiztosítás
9. előadás
A SZABVÁNYOK BETARTÁSÁNAK NEHÉZSÉGEI a szoftvertervezők gyakran túl bürokratikusnak tartják a szabványokat (túl sok adminisztrációval jár mindig találnak okot, hogy a szabvány miért nem felel meg a konkrét projektnek MEGOLDÁS a szoftvertervezőket be kell vonni a szabványok kidolgozásába a szabványok karbantartása, a technológiai változások követése a szabványok alkalmazását szoftver eszközökkel kell támogatni, így sok manuális munka megtakarítható csak olyan szabványt szabad kötelezővé tenni, amely megfelel az adott szervezet és rendszer körülményeinek
20 of 49
Minőségbiztosítás
9. előadás
DOKUMENTÁCIÓS SZABVÁNYOK a dokumentációk a szoftver megfogható megnyilvánulásai, általuk válik követhetővé a szoftverfolyamat, ezért a dokumentációs szabványok különösen fontosak TÍPUSOK a dokumentálás folyamatának szabványai hogyan kell a dokumentumokat elkészíteni, validálni, karbantartani dokumentumszabványok előírások a dokumentumok tartalmára, szerkezetére, megjelenésére a dokumentumcsere szabványai a dokumentumok tárolása, különböző dokumentációs rendszerek közti cseréje
21 of 49
Minőségbiztosítás
9. előadás
A DOKUMENTÁLÁS FOLYAMATA
22 of 49
Minőségbiztosítás
9. előadás
DOKUMENTUMSZABVÁNYOK szabványok a dokumentumok azonosítására a dokumentumok egyedi azonosításának módja szabványok a dokumentumok szerkezetére a dokumentumok struktúrája, oldalszámozás, fejezet hierarchia szabványok a dokumentumok kinézetére stílusok, fontok, kiemelések, logók, színek szabványok a dokumentumok aktualizálására a változások jelölése, kezelése
23 of 49
Minőségbiztosítás
9. előadás
A DOKUMENTUMCSERE SZABVÁNYAI a dokumentumokat különböző eszközökkel állítják elő az elektronikus dokumentumok cseréjét azért kell szabványosítani, hogy a dokumentum eredeti formájában előállítható legyen egy másik rendszerrel ide tartozik az egységes stíluslapok és egységes makrókészletek alkalmazása az XML széles körben alkalmazható szabvány lehet a dokumentumok cseréjére is az archiválási szabványoknál figyelembe kell venni a szövegszerkesztők élettartamát
24 of 49
Minőségbiztosítás
9. előadás
A TERMÉK ÉS A FEJLESZTÉSI FOLYAMATOK MINŐSÉGE a termék minősége alapvetően függ az előállítása során alkalmazott folyamatok minőségétől (pl. ipari gyártás) ez a szoftverfejlesztésnél is így van, de sok minőségügyi jellemző nehezen mérhető vagy számszerűsíthető ugyanakkor a szoftvert egyedileg tervezik, a szoftverfejlesztés nem mechanikus folyamat a szoftverfejlesztés folyamata és a termék minősége között erős összefüggés van, de ez nagyon összetett és alig megfogható
25 of 49
Minőségbiztosítás
9. előadás
A FOLYAMAT ALAPÚ MINŐSÉG az ipari gyártásban egyértelmű az összefüggés a termék minősége és az előállítási folyamat minősége között a szoftver esetén ez bonyolultabb, mert a szoftverfejlesztésben az egyéni képzettség és a gyakorlat különösen fontos külső tényezők, mint az alkalmazás újszerűsége vagy a piacra vitel siettetése befolyásolják a minőséget figyelembe kell venni, hogy alkalmazható-e az adott projektre egy szabványos folyamat
26 of 49
Minőségbiztosítás
9. előadás
FOLYAMAT ALAPÚ MINŐSÉG
27 of 49
Minőségbiztosítás
9. előadás
MINŐSÉGTERVEZÉS a minőségügyi tervet a folyamat korai szakaszában kell elkészíteni a minőségügyi terv meghatározza a termék minőségügyi jellemzőit, kijelöli a mérés módját és az alkalmazandó folyamatokat meg kell határozni, hogy milyen szervezeti szabványokat legyenek alkalmazva ha szükséges, új szabványokat dolgoznak ki
28 of 49
Minőségbiztosítás
9. előadás
A MINŐSÉGÜGYI TERV SZERKEZETE a termék bemutatása terméktervek a folyamatok leírása minőségügyi célok kockázatok és kockázatkezelés a minőségügyi tervnek rövidnek, tömörnek kell lennie (különben nem olvassák el!)
29 of 49
Minőségbiztosítás
9. előadás
MINŐSÉGELLENŐRZÉS a szoftverfejlesztési folyamat ellenőrzése, hogy betartották-e az előírt folyamatokat és szabványokat A MINŐSÉGELLENŐRZÉS MEGKÖZELÍTÉSEI minőségügyi felülvizsgálatok a minőségellenőrök átnézik a szoftvert és a dokumentációt, hogy megfelelnek-e a szabványoknak automatizált szoftverértékelés egy program dolgozza fel a szoftvert és a dokumentációt
30 of 49
Minőségbiztosítás
9. előadás
MINŐSÉGÜGYI FELÜLVIZSGÁLATOK elterjedt módszer a folyamatok és a termékek minőségének ellenőrzésére egy minőségellenőrzési csoport átnézi a folyamatot, a dokumentációkat és a szoftvert, hogy felfedje a lehetséges hibákat A FELÜLVIZSGÁLAT TÍPUSAI a terv vagy a program vizsgálata, mint a V&V esetén (a termék minőségét vizsgálja) az előrehaladás vizsgálata (a folyamat és a termék minőségét vizsgálja) a minőség vizsgálata (a folyamat és a termék minőségét vizsgálja)
31 of 49
Minőségbiztosítás
9. előadás
A MINŐSÉGÜGYI FELÜLVIZSGÁLAT szakértők egy csoportja figyelmesen átvizsgálja a szoftver komponenseit, a teljes szoftvert és a dokumentációkat átnézik a specifikációkat, a terveket, a kódot, a tesztterveket az eredményes felülvizsgálat a szoftver vagy a dokumentáció elfogadását jelenti. Az észrevételek kijavítása után újabb felülvizsgálatra kerülhet sor a vezetés a felülvizsgálatok eredményei alapján követheti a projekt előrehaladását
32 of 49
Minőségbiztosítás
9. előadás
A FELÜLVIZSGÁLAT EREDMÉNYEI a felülvizsgálat megállapításait osztályozni kell: nincs tennivaló, a szoftver és a dokumentáció rendben van javításra visszaadva, a tervezőnek vagy a programozónak ki kell javítania a felfedett hibákat teljes újragondolás (újratervezés) szükséges. A felfedett hiányosságok a tervek más részeit is érintik a követelmény- és specifikációs hibákról a megrendelőt is értesíteni kell
33 of 49
Minőségbiztosítás
9. előadás
A SZOFTVER MÉRÉSE ÉS METRIKÁK a szoftvermérés számszerűsíthető értékeket állít elő a szoftvertermék vagy a fejlesztési folyamat jellemzőiből célja a technikák és folyamatok objektív összehasonlítása, a minőség mérése néhány nagyvállalat (HP, AT&T) már bevezetett ilyen méréseket a minőségkezelésben a szoftver mérésére szabványok még nem léteznek
34 of 49
Minőségbiztosítás
9. előadás
SZOFTVER METRIKÁK szoftver metrika minden olyan mérés, amely szoftverhez, szoftverfolyamathoz vagy a dokumentációhoz kötődik a kódsorok száma, az olvashatóság jellemzője (Fog index), vagy egy komponens kifejlesztéséhez szükséges embernapok száma célja kvantitatív értékek rendelése a szoftverhez vagy a folyamatokhoz az összegyűjtött mérési eredmények a projektek becsléséhez vagy a folyamatok irányításához, javításához használhatók
35 of 49
Minőségbiztosítás
9. előadás
A SZOFTVER BELSŐ ÉS KÜLSŐ JELLEMZŐI
36 of 49
Minőségbiztosítás
9. előadás
A MÉRÉSI FOLYAMAT a szoftver mérése a minőségkezelési folyamat része lehet az egyes projektek során összegyűjtött adatok a szervezet értékei közé tartoznak, azokat központilag kell kezelni és értékelni amikor egy szervezetnél egy mérési adatbázis összegyűlt, lehetővé válik a projektek összehasonlítása
37 of 49
Minőségbiztosítás
9. előadás
AZ ADATOK GYŰJTÉSE sok termék és folyamat van, amely alkalmas programokkal automatikusan mérhető az adatokat azonnal, azok keletkezésekor érdemes begyűjteni, nem utólagosan, mert torzulhatnak AUTOMATIKUS ADATGYŰJTÉS TÍPUSAI statikus termék analízis dinamikus termék analízis adatgyűjtés a folyamatról (pl. a projekt elszámoló adatbázisból)
38 of 49
Minőségbiztosítás
9. előadás
MEGLEPETÉS KÖVETKEZMÉNY A MÉRÉSEK ALAPJÁN a hibák számának csökkenése növeli a help desk hívások számát a programot már megbízhatóbbnak ítélik a korábbi verzióknál, ezért szélesebb piacon kezdik értékesíteni. A segítséget kérő felhasználók százaléka csökken, de az összes hívások száma megnőhet a megbízhatóbbnak gondolt szoftvert másként használják, mint az olyat, amelyben hibákat sejtenek a felhasználók. Ez megnövelheti a hívások számát
39 of 49
Minőségbiztosítás
9. előadás
A CMM MODELL a nagy megrendelők elvárják a szoftverfejlesztő szervezettől, hogy bizonyítsa alkalmasságát a nagy projektek minőségi végrehajtására a Carnegie Mellon University és a US Defense Department által alapított Software Engineering Institute (SEI) kidolgozott egy modellt a szoftver technológiai felkészültség mérésére és minősítésére CMM Capability Maturity Model a szervezet folyamatainak alkalmasságát méri, osztályozza és értékeli CMMI Capability Maturity Model Integration a CMM és a SPICE ötvözete
40 of 49
Minőségbiztosítás
9. előadás
A FOLYAMATOK FEJLETTSÉGI MODELLJE
41 of 49
Minőségbiztosítás
9. előadás
A CMM MODELL SZINTJEI kezdeti nincsenek hatékony vezetési eljárások vagy hiányzik a szervezet azok következetes alkalmazására ismételhető azonos típusú projektekben ismételve a vezetési, minőségbiztosítási és változáskezelési eljárásokat sikeres lehet (a siker egyéni teljesítményektől függ) meghatározott a folyamatokat már definiálták, de a vezetési folyamatok még nem tudják azokat következetesen, maradéktalanul biztosítani menedzselt már vannak definiált és bevezetett folyamatok, de azok folyamatos fejlesztése még nem biztosított optimalizált a folyamatok állandó fejlesztése definiált és biztosított
42 of 49
Minőségbiztosítás
9. előadás
CMM KULCSFOLYAMATOK 1 - 2 1. szint kezdeti mincsenek beazonosítható folyamatok 2. szint ismételhető követelménykezelés szoftver projekt tervezése szoftverprojekt követés és felügyelet alvállalkozói szerződések kezelése szoftver minőségkezelés szoftver konfigurációkezelés
43 of 49
Minőségbiztosítás
9. előadás
CMM KULCSFOLYAMATOK 3 - 4 3. szint meghatározott szervezeti folyamatok szervezeti folyamatok meghatározása képzési program integrált szoftver kezelése szoftvertermék tervezése csoportok közti kommunikáció szabályozása társ-áttekintések (peer reviews) 4. szint menedzselt mennyiségi folyamat kezelése technológiai változások kezelése folyamatváltoztatás kezelése
44 of 49
Minőségbiztosítás
9. előadás
CMM KULCSFOLYAMATOK 5 5. szint optimalizált hibamegelőzés szoftverminőség kezelése
45 of 49
Minőségbiztosítás
9. előadás
CMM FELMÉRÉS
1-es szint 2-es szint 3-as szint 4-es szint 5-ös szint
2001
2002
2003
27.1% 39.1% 23.4% 5.4% 4.8%
19.3% 43.2% 23.4% 7.3% 6.8%
13.3% 43.5% 25.6% 8.5% 9.2%
46 of 49
Minőségbiztosítás
9. előadás
A SZABVÁNYOK ÉS AZ AGILIS PROGRAMOZÁS az agilis módszerek általában alig foglalkoznak a vezetés kérdéseivel (leginkább korlátokat állítanak) az agilis módszertanok a kis/közepes projektek számára fejlődtek ki, elsősorban a gyorsan változó követelményekből fakadó problémák leküzdésére
47 of 49
Minőségbiztosítás
9. előadás
A SZABVÁNYOK ÉS AZ AGILIS PROGRAMOZÁS HASONLÓSÁGOK amíg a szabványok arra koncentrálnak, hogy mit teljesítsen a szervezet, addig az agilis módszertanok a hogyanra helyezik a hangsúlyt KÜLÖNBSÉGEK a szabványok az állandóságot (megismételhetőséget) hangsúlyozzák az agilis módszertanok a rugalmasságot helyezik előtérbe (még a hiányos dokumentáció árán is)
48 of 49
Minőségbiztosítás
9. előadás
ÖSSZEFOGLALÁS a szoftver minőségkezelés azt bizonyítja, hogy a szoftver megfelel a megkövetelt szabványoknak a minőségbiztosítás eljárásait a szervezet minőségügyi kézikönyvében kell rögzíteni a szoftver szabványok a „legjobb gyakorlatok” alapján készültek a szoftverminőség ellenőrzésére leggyakrabban a felülvizsgálatot alkalmazzák a szoftvermérés információkat gyűjt a szoftverfolyamatról és a szoftvertermékről a SEI CMM modellje osztályokba sorolja a szervezeti képességeket a megvalósított kulcsfolyamatok szerint
49 of 49