Software minőség menedzsment Ficsor Lajos Általános Informatikai Tanszék Miskolci Egyetem
Software minőség menedzsment
Tartalom A software minőség menedzsment tevékenységei A software minőség megközelítési módjai Termék és és fejlesztési folyamat minősége Az ISO 9000 szabvány család A CMM modell Software metrikák
Software minőség menedzsment
SWQ / 2
A software minőség menedzsment Tevékenységei: Minőségbiztosítás Szervezeten belüli eljárások és szabványok kidolgozása a minőség javítására
Minőség tervezés Egy adott projekt során alkalmazandó eljárások és szabványok kiválasztása, és ezek módosítása szükség esetén
Software minőség menedzsment
SWQ / 3
A software minőség menedzsment (folyt.) Minőségellenőrzés Az eljárások és szabványok betartásának figyelése
Hasznos, ha a minőség menedzsment és a projekt menedzsment elválik egy szervezeten belül. (Függetlenség biztosítása.)
Software minőség menedzsment
SWQ / 4
A software minőség megközelítései Termék alapú szemléletmód Objektív és mérhető paramétereken alapul
Felhasználó alapú szemléletmód: Specifikus (üzleti) feladatokban való használhatóság. Szubjektivitás!
Fejlesztés alapú szemléletmód: A fejlesztési folyamatból indul ki. Hogyan lettek implementálva az eredeti követelmények? (analízis, specifikáció, tervezés..)
Software minőség menedzsment
SWQ / 5
A software minőség megközelítései (folyt.) Érték alapú szemléletmód A minőséget a költségek függvényében vizsgálja. (elfogadható teljesítmény – megfizethető ár)
Transzcendens szemléletmód Pontosan nem meghatározható dolgokból (benyomás, előérzet) eredő minőségi megítélés.
Software minőség menedzsment
SWQ / 6
Termék és folyamat minőség Bármilyen termék minőségét befolyásolja az előállítási folyamat minősége Erősebben érvényesül ez a software termék esetén A fejlesztési folyamat és software minőségének összefüggése bonyolult és kevéssé ismert. A fejlesztés résztvevőinek a gyakorlata és szakértelme jelentősen befolyásolja a minőséget. Olyan külső tényezők, mint a fejlesztendő alkalmazás újszerűsége vagy az erőltetett fejlesztési ütemterv befolyásolhatják (ronthatják) a minőséget. Software minőség menedzsment
SWQ / 7
Kétdimenziós szoftverminőségszoftverminőség-modell Felmérés, javítás
Továbbfejlesztés
Software termék Fejlesztési folyamat
Termék felmérés, javítás Szoftvertermék ISO 9126 minőségbiztosítása
Termék továbbfejlesztés Szolgáltatás menedzsment, revízió menedzsment
Folyamat felmérés, javítás Fejlesztési folyamat ISO 9000-3 minőségbiztosítása
Folyamat továbbfejlesztés CMM képesség-érettség modell Software minőség menedzsment
SWQ / 8
Termék felmérés, javítás Az ide vonatkozó szabvány: ISO 9126 E szabvány szerinti minőségi jellemzők: Funkcionalitás Megbízhatóság Használhatóság Hatékonyság Karbantarthatóság Hordozhatóság
A fenti minőségi jellemzőkhöz további aljellemzők tartoznak. Software minőség menedzsment
SWQ / 9
Termék felmérés, javítás (folyt.) A jellemzők / aljellemzők mérőszámokból határozhatók meg. A mérőszámok definíciója és meghatározása nem egyszerű feladat Az értékelés 3 szintje: Main-level szint Koncepcionális szint Eszköz és technikai szint
Software minőség menedzsment
SWQ / 10
Termék továbbfejlesztés Célja a termékmenedzsmentből kiindulva fejleszteni az IT szolgáltatást. IT szolgáltatás: szolgáltatások, megegyezések, tevékenységek amelyek támogatják az információ feldolgozását
Továbbfejlesztés: Szolgáltatás menedzsment Revízió (audit) menedzsment
Software minőség menedzsment
SWQ / 11
Folyamat felmérés, javítás Célja a fejlesztési folyamat értékelése, hitelesítése és minőségének rögzítése. Az ISO 9000-es szabványcsalád foglalkozik ezzel a területtel. ISO 9000-3 szabvány: a software fejlesztés specialitásait veszi figyelembe Később részletesebben
Software minőség menedzsment
SWQ / 12
Folyamat továbbfejlesztés Az 1990-es években az USA védelmi minisztériuma létrehozta a Software Engineering Institute-ot (SEI) amely kidolgozott egy, a szoftver fejlesztési folyamatokat minősítő és a továbbfejlesztésére szempontokat adó modellt. CMM: Érettségi szintet mutató modell (Capatibility Maturity Modell) (1991) Evolúciós modell Érettségi szinteket határoz meg Az érettségi szintek alapján segít megjósolni a termék minőségét és a folyamat teljesítményét Software minőség menedzsment
SWQ / 13
Az ISO 9000 szabvány család A teljes minőségbiztosítási rendszert átöleli DE: Egy termék gyártásának ISO minősítése nem a termék kiválóságát jelenti, hanem „csak” azt, hogy a gyártás minőségbiztosítási rendszere az ISO 9000 szerint lett kidolgozva!!! Az ISO nem garantálja a termék piaci sikerességét!
Software minőség menedzsment
SWQ / 14
Az ISO 9000 szerkezete 9000-1: A kiválasztás és alkalmazás irányelvei 9000-2: Általános irányelvek az ISO 9001, 9002, 9003 alkalmazásához 9000-3: Irányelvek az ISO 9001 alkalmazásához a szoftverfejlesztés, szállítás, karbantartás területén.
Software minőség menedzsment
SWQ / 15
Az ISO 9000 szerkezete (folyt.) 9001: A tervezés, fejlesztés, gyártás, telepítés és a vevőszolgálat minőségbiztosítási modellje 9002: Gyártás, telepítés, vevőszolgálat minőség biztosítási modellje. (Specifikusabb mint a 9001) 9003: Végellenőrzés és a vizsgálat minőség biztosítási modellje. 9004: Általános irányelvek
Software minőség menedzsment
SWQ / 16
Az ISO 90009000-3 Útmutatást nyújt a szoftver minőségbiztosításához A szoftver fejlesztése és karbantartása egyedi
Kiegészíti az ISO 9001 szabványt irányelveivel megkönnyíti annak használatát
A szállító képességeit hitelesen mutatja be Egy szerződéshez kapcsolódva, minden folyamatra
Irányelvei a szoftvertermékre alkalmazhatók De a fejlesztési folyamatot írják le
Software minőség menedzsment
SWQ / 17
Az evolúciós modell Olyan szoftverfolyamat-modell, amely nem egyetlen fejlesztési sémát jelöl ki, hanem lehetőséget ad a megfelelő fejlesztési irányvonal kiválasztására. a projekt komplexitásának, és a kulcstevékenységek
függvényében.
Software minőség menedzsment
SWQ / 18
Az evolúciós modell (folyt.) Az evolúciós modell alapját a következők képezik Többcélú tervezés Funkcionális követelmények, használhatóság, karbantarthatóság.
Korai és gyakori iteráció Megfelelő, de minimális erőforrású lépés keresése.
Minden lépésben teljes elemzés, tervezés, építés, tesztelés Felhasználó-orientáltság Visszacsatolások, igényváltozások, költségbecslések figyelése. Software minőség menedzsment
SWQ / 19
Az evolúciós modell (folyt.) Rendszer-megközelítés Programozás, dokumentáció, betanítás, stb. egységes kezelése.
Nyílt rendszerfelépítés Adaptálhatóság és változástűrő képességek folyamatos elemzése.
Eredményorientáltság A folyamat fontossága mindig az eredmény fontossága alatt marad.
Software minőség menedzsment
SWQ / 20
A képességképesség-érettség modell (CMM) Az evolúciós modell megvalósítása (SEI) Továbbfejlesztési stratégiai kézikönyv Eljárások gyűjteménye a kulcsterületekre Az érettség alapjai: Definiáltság Menedzsment Mérés Ellenőrzöttség Hatékonyság Software minőség menedzsment
SWQ / 21
A képességképesség-érettség modell (CMM) (folyt.) Alapfogalmak Folyamat képesség Folyamat érettség Folyamat teljesítmény Érettségi szint
Software minőség menedzsment
SWQ / 22
CMM - érettségi szintek Folyamatosan javított folyamat Szabványos, konzisztens folyamat Felügyelt folyamat
Előrelátható folyamat
Optimalizált
Menedzselt
Meghatározott
Ismételhető
Kezdetleges
Software minőség menedzsment
SWQ / 23
1. Kezdetleges érettségi szint Nincs stabil szoftverfejlesztési és karbantartási környezet A projekt nem követi a tervezett eljárásokat A szoftverfejlesztést “ad-hoc” megoldások jellemzik Az esetleges siker egyedi embereken múlik Kulcsterületek: nincsenek A folyamat képesség egy-egy embernek köszönhető. Software minőség menedzsment
SWQ / 24
2. Ismételhető érettségi szint Léteznek alapvető projektmenedzsment feladatok Egy-egy sikeres fejlesztés később megismételhető A "követendő utat" az előző projektek és az aktuális igények jelölik ki Kulcsterületek Konfigurációmenedzsment Minőségbiztosítás Alszerződés menedzsment Követelmény menedzsment Projekttervezés Projektkövetés
A folyamat képesség a szigorú, de alapszintű menedzselésnek köszönhető. Software minőség menedzsment
SWQ / 25
3. Meghatározott érettségi szint A menedzsment és a technikai tevékenység szabványosított A standardizálás alapjai a régebbi sikeres eljárások A folyamatok jól-definiáltak, a menedzsment képes átlátni
Software minőség menedzsment
SWQ / 26
Meghatározott érettségi szint (folyt.) Kulcsterületek Oktatási programok Szervezeti folyamat meghatározás Folyamatközpontúság Integrált szoftvermenedzsment Szoftvertermék menedzsment Csoportok közötti koordináció Kölcsönös ellenőrzések
A folyamat képesség a szabványosításnak és konzisztenciának köszönhető. Software minőség menedzsment
SWQ / 27
4. Menedzselt érettségi szint A fejlesztés- és termékminőség szabályozottan, részletesen és folyamatosan mért, illetve gyűjtött A vizsgálat alapját minőségi és mennyiségi célok képezik A fejlesztés és a termék szórása elfogadható határok közé van szorítva Kulcsterületek Szoftverminőség menedzsment Folyamat menedzsment
A folyamat képesség a mérhetőségnek és az előreláthatóságnak köszönhető. Software minőség menedzsment
SWQ / 28
5. Optimalizált érettségi szint A folytonos folyamat továbbfejlesztésre fókuszál Hibaelemzések, ok meghatározások, visszacsatolások Gyengeségeket és erősségeket beazonosító eszközök A hatékony eljárások azonosítottak és adaptálhatók Kulcsterületek Hibamegelőzés Technológiaváltozás menedzsment Folyamatváltozás menedzsment
A folyamat képesség a folytonos továbbfejlesztésnek köszönhető. Software minőség menedzsment
SWQ / 29
Képesség és teljesítmény Egy folyamat érettsége segít megjósolni, hogy a projekt mennyire lesz képes kielégíteni az elvárt követelményeket. A magasabb érettségi szintek három szempontból is közelebb viszik a projektben teljesített célokat a kitűzött célokhoz: A kitűzött és az aktuális eredmény közötti eltérés csökken A „cél-közeli eredményeket” adó alternatívák száma csökken A fejlesztés eredményei megnövelhetik magát az érettséget Software minőség menedzsment
SWQ / 30
Képesség és teljesítmény (folyt.) 5 . sz i n t – o p ti m a l i z á l t E lé rt c é l
4 . sz i n t – m e n e d z se l t E lé rt c é l
Íg é r t cél
Íg é r t cél
V á lla lt h a t á ri d ő
R á fo r d ít á s
3 . sz i n t – m e g h a tá r o z o tt E lé rt c é l
V á lla lt h a tá ri d ő
R á fo r d ít á s
2 . sz i n t – i sm é te l h e tő E lé rt c é l
Íg é r t cél
Íg é r t cél
V á lla lt h a t á ri d ő
R á fo r d ít á s
V á lla lt h a t á ri d ő
R á fo r d ít á s
1 . sz i n t – k e z d e tl e g e s E lé rt c é l Íg é r t cél
V á lla lt h a t á ri d ő
R á fo r d ít á s
Software minőség menedzsment
SWQ / 31
A software minőség mérése Nehezen mérhető. Okai: a minőséget meghatározó tulajdonságok mérése általában nem objektív a minőséget meghatározó funkciók, tulajdonságok jelentős része nem mérhető a minősítés szubjektív a minősítés időben és környezettől függően változó sokan megfelelő háttér ismeret hiányában minősítenek Software minőség menedzsment
SWQ / 32
Software metrikák A szoftver metrika egy mérőszám és mérési eljárás, amely egy szoftverrendszerhez, folyamathoz, vagy kapcsolódó dokumentációhoz tartozik. A metrikák két osztályba sorolhatók: ellenőrző (control metrics) prediktor (predictor metrics)
Software minőség menedzsment
SWQ / 33
Prediktor és ellenőrző metrikák
Software minőség menedzsment
SWQ / 34
Prediktor metrikák Ideális esetben a prediktor metrika megengedi, hogy a szoftver néhány külső tulajdonságának értékét előre megjósoljuk Külső jellemzők: olyan dolgok, amelyek csak a szoftver üzembe helyezése után fedezhetők fel. közvetlenül nem mérhetők Belső jellemzők: a közvetlenül szoftverből határozhatjuk meg Software minőség menedzsment
SWQ / 35
Külső és belső jellemzők Lehetséges kapcsolatok:
Software minőség menedzsment
SWQ / 36
Külső és belső jellemzők (folyt.) Ahhoz, hogy a belső tulajdonságok mérése hasznos prediktora legyen a belső szoftver karakterisztikának, három feltételnek kell teljesülnie: A belső jellemzőket pontosan kell mérni A mért és a külső tulajdonsági jellemzők között kapcsolatnak kell lenni. A kapcsolat érthető, valós, valamint egy formulával, vagy modellel leírható legyen.
Software minőség menedzsment
SWQ / 37
Irodalom Mohácsi János: Szoftver minőség és menedzsment (BME Irányítástechnikai és Informatikai Tanszék) Magyar Szabványügyi Hivatal: MSZ ISO 9000-3 1994. MSZH Értékesítési Osztály Mark C. Paulk: The Capability Maturity Model Software Engineering Institute, 1996 Dr.Szentes János: A szoftverminőség és mérése SZÁMALK, Budapest, 1885 Bokor Péter inf. Hallg.: Minőségi szoftverfejlesztés (Komplex feladat, 2001.) Galváczki Gábor inf. Hallg.: Szoftverek minőségbiztosítása (Oktatási segédlet, 2002) Software minőség menedzsment
SWQ / 38
Software minőség menedzsment
SWQ / 39