Soft ftware 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ég-modell modell Software termék Fejlesztési folyamat Felmérés, javítás Továbbfejlesztés 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 9000-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ég-érettsé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ég-érettsé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 Felügyelt folyamat Szabványos, konzisztens folyamat Ismételhető Előrelátható folyamat Meghatározott Folyamatosan javított folyamat Menedzselt Optimalizált 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. szin t o p tim a lizá lt E lért cél Íg é rt cél 4. sz in t m e n e d zse lt E lért cél Íg é rt cél Vállalt határidő 3. szint m eghatározott E lért cél Íg é rt cél Ráfordítás Vállalt határidő 2. sz in t ism é te lh e tő E lért cél Íg é rt cél R á fo rd ítá s V á lla lt Ráfordítás határidő 1. szin t ke zd e tle g e s Elért cél Íg é rt cél V á lla lt határidő R á fo rd ítá s V á lla lt határidő R á fo rd í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