A "szoftverválság" egykor a számítástechnikában használt kifejezés a számítógépek számítási teljesítményének gyors növekedésének következményeinek és a segítségükkel megoldható problémák összetettségének leírására. Lényegében arra utal, hogy nehéz működő, érthető szoftvert írni ellenőrzött algoritmusok segítségével .
A "szoftverválság" kifejezést Friedrich L. Bauer használta az 1968 -as NATO Szoftvermérnöki Konferencián Garmisch - Partenkirchenben ( Németország ) [1] . A kifejezést Edsger W. Dijkstra használta 1972 -ben a Turing-díjas előadásában [2] :
A szoftverválság fő oka a számítási teljesítmény meredek növekedése! Egyszerűen fogalmazva: nincs számítástechnika - nincs probléma a szoftver fejlesztésével; amikor megjelent néhány gyenge számítógép, megjelentek az első szoftverfejlesztési problémák, ma már óriási számítógépeink vannak, és a programozás is ugyanolyan gigantikus probléma lett.
Eredeti szöveg (angol)[ showelrejt] A szoftverválság fő oka, hogy a gépek több nagyságrenddel erősebbek lettek! Egészen őszintén szólva: amíg nem voltak gépek, a programozás egyáltalán nem okozott gondot; Amikor néhány gyenge számítógépünk volt, a programozás enyhe probléma lett, most pedig óriási számítógépeink vannak, a programozás ugyanilyen gigantikus problémává vált. — Edsger W. Dijkstra . "Humble Programmer" (EWD340)A szoftverválság okai a hardver általános összetettségéhez és a szoftverfejlesztés összetettségéhez kapcsolódnak. A válság többféleképpen is megnyilvánul:
Sok szoftverrel kapcsolatos problémát a hardverek egyre bonyolultabbá válása okozott. Edsger W. Dijkstra esszéjében megjegyezte, hogy az új számítógépek egy időben "olyan súlyos hiányosságok megtestesülései voltak, hogy [szerinte] az információs technológia fejlődése legalább tíz évvel elmaradt" [2] . Azt is érezte, hogy a hardver szoftverre gyakorolt hatását túl gyakran figyelmen kívül hagyják.
Az elmúlt néhány évtizedben különféle eljárásokat és módszereket fejlesztettek ki a szoftverválság megszelídítésére. Ám széles körben elterjedt az a vélemény, hogy nincs "ezüstgolyó" – vagyis nincs univerzális módszer a túlköltekezés és a projektkudarcok megelőzésére. Általánosságban elmondható, hogy a szoftverfejlesztési projektek – nagyok, összetettek, rosszul dokumentált és ismeretlenek – továbbra is jelentős előre nem látható problémáknak lehetnek kitéve.