Кризис программного обеспечения

«Кри́зис програ́ммного обеспе́чения» — термин, некогда использовавшийся в информатике для описания последствий быстрого роста вычислительной мощности компьютеров и сложности проблем, которые могут быть решены с их помощью. В сущности, это относится к сложности написания работоспособного, понятного программного обеспечения с использованием верифицированных алгоритмов.

Термин «кризис программного обеспечения» был введён Фридрихом Л. Бауэром на Конференции НАТО «Инженерия программного обеспечения» в 1968 в Гармиш-Партенкирхене (Германия)[1]. Термин использовался Эдсгером В. Дейкстрой в 1972 в его лекции при получении премии Тьюринга[2]:

Основная причина кризиса программного обеспечения — резкий рост мощностей вычислительных машин! Проще говоря: нет вычислительной техники — нет проблем с разработкой программного обеспечения для неё; когда же появилось несколько слабых компьютеров, появились первые проблемы, связанные с разработкой программного обеспечения, сейчас у нас есть гигантские компьютеры, и программирование стало столь же гигантской проблемой.

Фридрих Л. Бауэр, автор термина «кризис программного обеспечения»

Причины кризиса программного обеспечения были связаны с общей сложностью аппаратного обеспечения и сложностью разработки программного обеспечения. Кризис проявляет себя самым различным образом:

  • Стоимость проектов превышает бюджет.
  • В проектах превышаются сроки выполнения.
  • Программное обеспечение было слишком неэффективным.
  • Программное обеспечение имело слишком низкое качество.
  • Программное обеспечение зачастую не отвечало необходимым требованиям.
  • Проекты были неуправляемыми, и возникали трудности с поддержкой кода.
  • Программное обеспечение было непригодным для распространения.
Эдсгер В. Дейкстра

Многие проблемы, связанные с программным обеспечением, были вызваны усложнением аппаратного обеспечения. В своём эссе Эдсгер В. Дейкстра отметил, что новые компьютеры в своё время были «воплощеннием таких серьёзных недостатков, что, [он считает], информационно-технологический прогресс отстал, по крайней мере, на десять лет»[2]. Он также считал, что влияние аппаратного обеспечения на программное обеспечение слишком часто упускалось из виду.

Различные процессы и методологии были разработаны в течение последних нескольких десятилетий, чтобы «укротить» кризис программного обеспечения. Однако, широко распространено мнение, что «серебряной пули нет» — то есть не существует универсального метода предотвращения перерасходов и провалов проектов. В целом, проекты по разработке программного обеспечения — достаточно большие, сложные, плохо документированные и затрагивающие непривычные аспекты — по-прежнему могут подвергаться крупным непредвиденным проблемам.

См. также

Примечания

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.