4.1. A szoftverek minőségével szemben támasztott követelmények
A szoftverfejlesztés iparággá válásával párhuzamosan a nemzetközi szabványügyi szervezetek szoftvertermékekre vonatkozóan is részletesen kidolgozták a minőségi követelményeket (ilyenek például ISO 9001 szabvány, illetve annak folyamatosan frissített verziói). Az alábbiakban a hazai és nemzetközi szakirodalomban általánosan elfogadott, alapvető szempontokat foglaljuk össze.
- Megbízhatóság
A szoftvernek, a szoftverrendszerhez tartozó programoknak tartósan hibátlanul kell működniük. Nem nehéz megítélni a követelmény erejét, ha a mai személyi számítógépeken futó programok leállásának gyakoriságára gondolunk. A követelmény teljesülésének mércéje lehet például a szoftver egymást követő két leállása között eltelt időtartam.
- Helyesség
A szoftver a követelményekben meghatározott feladatokat tökéletesen ellátja, a kijelölt feldolgozásokat, műveleteket hibátlanul elvégzi, pontos adatokat szolgáltat. Hozzá kell tenni, hogy a program helyes működésének bizonyítása nem egyszerű feladat. Még a legszigorúbb, módszeresen megtervezett tesztelés mellett is előfordulhat, hogy az üzembe helyezés után évek múlva derül fény egy addig soha nem észlelt hibára.
- Felhasználóbarátság
A szoftver legyen ergonómiai szempontból átgondolt, könnyen kezelhető. Objektív mércével nehezen leírható, de alapvetően fontos, egyre inkább központi kérdésként kezelendő kritérium. Alapvető elvárás, hogy a szoftver legyen informatikai jártasság nélkül megtanulható, kezelhető. A felhasználói felület grafikái segítsék a tájékozódást, a dokumentációk maximálisan támogassák a szoftverrel végzett munkát.
- Hibatűrés
A szoftvert fel kell készíteni a környezetében felmerülő lehetséges hibákra. A szoftver nem elszigetelten, önmagában működő rendszer, folyamatosan kapcsolatban áll a külvilággal, más környező rendszerekkel. A fejlesztőknek át kell gondolniuk azokat a váratlan, külső kapcsolatok következményeként bekövetkező eseményeket, amelyek befolyásolhatják a szoftver működését. (Például: nyomtatás közben nem áll le, hanem figyelmeztet a hiba lehetséges okára.)
- Hatékonyság
A szoftvert úgy kell elkészíteni, hogy az maximálisan használja ki az adott környezet szoftver és hardver erőforrásait. A tervezés során át kell gondolni a szoftver teljesítményét, működési sebességét befolyásoló maximális terhelések paramétereit, és a szélsőséges helyzetek (például a feldolgozandó adatmennyiség megnövekedése) kezelésére alkalmas takarékos megoldásokra kell törekedni.
- Bővíthetőség,
rugalmasság
A szoftvernek alkalmasnak kell lennie arra, hogy az informatikai háttér fejlődését követni tudja. (Például: ne kelljen a szoftvert teljesen átírni, ha egy új operációs rendszer verzió jelenik meg.)
- Újrafelhasználhatóság
A gazdaságossági szempontok megkövetelik, hogy a szoftvert vagy annak részeit többször, más-más fejlesztésekben újra felhasználhassuk, a moduláris felépítésű szoftver moduljait új rendszerek fejlesztése során beépíthessük.
- Hordozhatóság
A fejlesztőknek arra kell törekedniük, hogy a szoftver legyen futtatható többféle szoftver és hardverkörnyezetben. Ez a kritérium természetesen nem teljesíthető végletekig, de el kell érni, hogy a szoftver a lehető legnagyobb mértékben független legyen az hardvereszközöktől és az operációs rendszertől. Ezt a célt szolgálta többek között az ISO/OSI szabványok kidolgozása, amely előírja a nyitott rendszerekre vonatkozó egységes kommunikációs és adatátviteli követelményeket.
- Együttműködési
képesség
A szoftvernek nyitottnak kell lennie más rendszerek felé, alapvető elvárás, hogy igény esetén együtt tudjon működni más alkalmazásokkal. Biztosítson lehetőséget például arra, hogy a feldolgozás eredményeként kapott kimeneteket más szoftver által feldolgozható formában exportálja. Ez a kritérium abban az esetben is nagyon fontos, ha a meglévő rendszert új szolgáltatásokkal bővíteni szeretnénk.