A szoftver minősége A szoftverfejlesztési folyamat azt igényli, hogy a fejlesztők és felhasználók ugyanazokat a minőségi jellemzőket használják a szoftver elfogadása/elfogadtatása érdekében. A fejlesztés során követni/mérni kell a végtermék (szoftver) minőségének alakulását. Mindazokat a tervezett és szisztematikus tevékenységeket, amelyek szükségesek annak meggyőző biztosításához, hogy a szoftver teljesíteni fogja a minőséggel kapcsolatos igényeket, a minőségbiztosítás (minőség- ellenőrzés) fogja össze.
A minőségbiztosítás alaptevékenységei: •fejlesztési terv auditálása •tervezés felülvizsgálata •dokumentációk ellenőrzése •közvetlen minőség auditálás •termékellenőrzés •rendszerellenőrzés •üzemeltetési tevékenységek
A szoftverminőség nem más, mint a felhasználói igényeknek való megfelelés mértéke. A minőség természetesen több, különböző formában mérhető, kvantitatív(mennyiségi) és kvalitatív(minőségi) jellemzővel leírható fogalom. Sok más termékkel ellentétben a szoftvertermék általában inkább csak a felhasználó egyedi megítélése szerinti minőségi paraméterekkel jellemezhető, hiszen minden felhasználó más-más igényt támaszt a szoftverrel szemben, és másképpen ítéli meg ugyanannak a szoftvernek a képességét is
A McCall minőségmodell •A modell a szoftverminőség méréséhez három különböző megközelítést alkalmaz: •Használhatóság •Változtathatóság •Hordozhatóság
Megbízhatóság •A megbízhatóság a hibamentes működés valószínűsége, amelyet meghatározott céllal minősítünk a működés egy adott környezetére és időtartamára vonatkozóan. •A megbízhatóság mérőszáma az az érték, amely megmutatja, hogy a vizsgált termék az adott feltételek és körülmények között milyen valószínűséggel működik hibátlanul. •A megbízhatóság mérésére az alábbi mérőszámokat szokták alkalmazni: •A meghibásodásig eltelt időtartam átlaga kifejezi, hogy átlagosan mennyi ideig képes a rendszer hibátlanul működni (MTTF – Mean Time To Failure). •A meghibásodások között eltelt átlagos időtartam, vagyis az átlagos, hibátlan működési idő mértékszáma (MTBF – Mean Time Between Failures). •A meghibásodások gyakorisága a hiba-előfordulás arányaként fejezhető ki (RF – Rate Of Faliure Occurence). •A hibák kijavításáig eltelt átlagos időtartam (átlagos javítási idő, MTTR – Mean Time To Repair). •A rendelkezésre-állási tényező annak a valószínűségét tükrözi, hogy a program az adott időpontban éppen működőképes (AVAIL – Availability). A termék használhatósága
Fenti mértékek közötti összefüggések : •A hibák között eltelt átlagos időtartam a meghibásodásig és a javításig eltelt átlagidők összege → MTFB = MTTF + MTTR •A rendelkezésre-állási tényező a meghibásodások között eltelt és a javításhoz szükséges idők aránya → AVAIL = MTBF / ( MTBF + MTTR ) •A rendszer megbízhatóságát (Reliability) a hibák között eltelt idő átlagos hossza határozza meg → REL = MTBF / ( 1 + MTBF ), míg a karbantarthatóság (Maintenance) mértéke a → MAIN = 1 / ( 1 + MTTR ) képlettel számítható.
Hatékonyság •Az erőforrások optimális kihasználására törekvő, magas teljesítményű szoftver jellemzői:
Integritási fok •Az integritási fok mérőszáma a szoftverekhez, adatokhoz jogosulatlanul hozzáférők elleni védelem szintjét, megbízhatósági fokát jelzi. Ez két mutatóval fejezhető ki: •Egy adott időtartamon belüli illetéktelen beavatkozás valószínűségét az illetéktelen hozzáférés veszélye mérőszám fejezi ki → P(V). •A T időtartam alatt visszautasított jogosulatlan hozzáférési kérések valószínűségét a titkosságérték mutatja → P ( T )
Helyesség •Adathelyesség, ellenőrzési és korrekciós lehetőségek •Programok működési helyessége, megszakadás-mentes futás garantálása
Kezelhetőség •A szoftvertermékek esetében fontos, hogy a felhasználók az egyes szoftverek kezelését könnyen elsajátítsák. A felhasználóbarát felületek készítése a fejlesztők komoly törekvése, olyan elvárás, amelyet az újonnan készített rendszereknél nem lehet figyelmen kívül hagyni.
A szoftvertermék változtathatósága •Karbantarthatóság A programhibák behatárolásának és kijavításának lehetősége, a munka elvégezhetősége és annak hatékonysága. AZ MTTR (átlagos javítási idő) a szoftvertermék karbantarthatósági követelményének indirekt mérőszáma. •Rugalmasság, módosíthatóság A működő szoftverek módosíthatósága a rendszernek a változtathatóságát, az új körülményekhez való igazítási lehetőségét jelenti. Ennek megvalósítását nagymértékben segíti a modularitás elvének alkalmazása. •Tesztelhetőség A tesztelhetőségi kritérium a rendszer funkcionális működésének helyességét és a felhasználói elvárásoknak való megfelelés szintjét ellenőrző megoldásokat veszi számba, ennek egyszerűségét és hatékonyságát minősíti.
A szoftvertermék hordozhatósága •Együttműködési képesség Az együttműködési képesség a szoftvernek olyan tulajdonsága, amely képessé teszi arra, hogy más rendszerek programjaihoz illesztve, azoknak adatokat szolgáltatva, vagy azok eredményeit felhasználva is működni tud. Ilyenkor nagyon fontos, hogy a rendszer egyes szoftverelemeinek kimeneti és bemeneti paraméterei megfeleljenek egymásnak. •Hordozhatóság Ha a szoftver az alkalmazott technológiától függetlenül különböző hardver-szoftver környezetekben is működőképes (esetleg minimális ráfordítással), akkor kimondható, hogy a szoftver hordozható.
A hordozható alkalmazások: •Függetlenek, vagyis az adatokat, a paramétereket és a programmodulokat önállóan tudják kezelni. •Nyitottak, ami azt jelenti, hogy –Továbblépési lehetőségeket tartalmaznak a korszerű fejlesztési megoldások alkalmazására –Egyszerűen továbbfejleszthetők a különböző verziók irányába –A rendszerek felhasználói felülete és a programok, valamint a különböző alkalmazások között biztosított az átjárhatóság •Újrafelhasználhatóság Az újrafelhasználhatóság olyan elvárás, mely szerint egy szoftverelem (komponens) más-más feltételek és körülmények között működő másik rendszerbe beépíthető, eltérő funkciók végrehajtására is felhasználható, így többszörösen is alkalmazható.