Разработка программного обеспечения
- 1 year ago
- 0
- 0
«Кри́зис програ́ммного обеспе́чения» — термин, некогда использовавшийся в информатике для описания последствий быстрого роста вычислительной мощности компьютеров и сложности проблем, которые могут быть решены с их помощью. В сущности, это относится к сложности написания работоспособного, понятного программного обеспечения с использованием верифицированных алгоритмов .
Термин «кризис программного обеспечения» был введён Фридрихом Л. Бауэром на Конференции НАТО «Инженерия программного обеспечения» в 1968 в Гармиш-Партенкирхене ( Германия ) . Термин использовался Эдсгером В. Дейкстрой в 1972 в его лекции при получении премии Тьюринга :
Основная причина кризиса программного обеспечения — резкий рост мощностей вычислительных машин! Проще говоря: нет вычислительной техники — нет проблем с разработкой программного обеспечения для неё; когда же появилось несколько слабых компьютеров, появились первые проблемы, связанные с разработкой программного обеспечения, сейчас у нас есть гигантские компьютеры, и программирование стало столь же гигантской проблемой.
Оригинальный текст (англ.)The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem.
Причины кризиса программного обеспечения связаны с общей сложностью аппаратного обеспечения и существующим процессом разработки программного обеспечения. Кризис проявляет себя по-разному, в том числе:
Многие проблемы, связанные с программным обеспечением, были вызваны усложнением аппаратного обеспечения. В своём эссе Эдсгер В. Дейкстра отметил, что новые компьютеры в своё время были «воплощеннием таких серьёзных недостатков, что, [он считает], информационно-технологический прогресс отстал, по крайней мере, на десять лет» . Он также считал, что влияние аппаратного обеспечения на программное обеспечение слишком часто упускалось из виду.
Различные процессы и методологии были разработаны в течение последних нескольких десятилетий, чтобы «укротить» кризис программного обеспечения. Однако, широко распространено мнение, что «серебряной пули нет» — то есть не существует универсального метода предотвращения перерасходов и провалов проектов. В целом, проекты по разработке программного обеспечения — достаточно большие, сложные, плохо документированные и затрагивающие непривычные аспекты — по-прежнему могут подвергаться крупным непредвиденным проблемам.