Szoftverkrízis

A szoftverkrízist különböző források más-más nézőpontból határozzák meg. A közösnek tekinthető lényeg, az a felismerés, hogy a kialakult szoftverfejlesztés (inkább karbantartás) válsága, amely szerint az addig alkalmazott módszer már nem képes az igényeknek megfelelő, szoftver előállítására és/vagy karbantartására.

A „szoftverkrízis” szót F.L. Bauer alkotta meg az első NATO-Szoftverfejlesztés Konferencián 1968-ban a Garmischban, Németországban.[1] A kifejezést már Edsger Wybe Dijkstra is használta 1972-ben a ACM Turing Award előadáson.[2]

A felhasználók igényei egyre bonyolultabb, de gyorsabb előállíthatóságú programok. A felhasználóbarát felület, a kényelmes és biztonságos hozzáférés, ezek mind a program szerkezetet bonyolítják. Egy adott technika a fejlődés során elérkezik az igények kiszolgálásakor arra a szintre, amikor már nehezen kezelhető segítségével a program bonyolultsága. így az elkészülő programok egyre megbízhatatlanabbak. (Határidőcsúszás, hibás részek, stb.) egyre lassúbbak lesznek és egyre lassabban készülnek el. Az ember képessége a bonyolultság áttekintésére korlátozott, mindig új és új módszereket kell kitalálni az egyre összetettebb feladatok biztonságos és hatékony megoldásához.

Tünetei

  • a programok megbízhatatlanok (pl. nem tudja a specifikációt)
  • a programok képtelenek az alkalmazkodásra (operációs rendszer változásra érzékeny, konfiguráció változásakor körülményes az átparaméterezés)
  • nehézkesek (nem állíthatók össze részprogramokból, a bővítés aránytalanul nagy munkával jár)
  • udvariatlanok (helytelen beavatkozás nem javítható, a program lefagy, csak azt írja ki, hogy gond van, de hogy mi azt nem)

A krízis okai

  • az előállított szoftverek méretének növekedése maga után vonta a komplexitás növekedését is
  • minőségi követelmények változása
  • a fejlesztési módszerek nem tartottak lépést a változással
  • felhasználói környezetek változása

Megoldás

  • a szoftverkészítés technologizálása
  • új elvek, módszerek kidolgozása
  • szoftver szabványok bevezetése
  • új programozási paradigmák alkalmazása

Források

  1. Report about the NATO Software Engineering Conference dealing with the software crisis
  2. Edsger Dijkstra, The Humble Programmer (EWD340), Communications of the ACM
  • Informatika Informatikai portál • összefoglaló, színes tartalomajánló lap