Программный кризис - Software crisis
Программный кризис это термин, использовавшийся в первые дни вычислительная наука за трудность написания полезных и эффективных компьютерных программ за необходимое время. Кризис программного обеспечения был вызван быстрым увеличением мощности компьютеров и сложностью проблем, которые теперь можно было решать. С увеличением сложности программного обеспечения возникло множество программных проблем, поскольку существующие методы были неадекватными.
Термин «программный кризис» был придуман некоторыми участниками на первом Конференция НАТО по разработке программного обеспечения в 1968 г. Гармиш, Германия.[1][2] Эдсгер Дейкстра 1972 год Премия ACM Тьюринга В лекции упоминается та же проблема:[3]
Основная причина программного кризиса в том, что машины стали на несколько порядков мощнее! Проще говоря: пока не было машин, программирование не было проблемой; когда у нас было несколько слабых компьютеров, программирование превратилось в небольшую проблему, а теперь у нас есть гигантские компьютеры, программирование превратилось в столь же гигантскую проблему.
Причины программного кризиса были связаны с общей сложностью аппаратного обеспечения и процесса разработки программного обеспечения. Кризис проявился по-разному:
- Проекты с превышением бюджета
- Проекты, выполняемые сверхурочно
- Программное обеспечение было очень неэффективным
- Программное обеспечение было низкого качества
- Программное обеспечение часто не отвечало требованиям
- Проекты были неуправляемыми, а код сложно поддерживать
- Программное обеспечение так и не было доставлено
Основная причина заключается в том, что улучшения в вычислительной мощности опережают возможности программистов эффективно использовать эти возможности. Разные процессы и методологии были разработаны за последние несколько десятилетий для улучшения управление качеством программного обеспечения Такие как процедурное программирование и объектно-ориентированного программирования. Однако программные проекты, которые являются большими, сложными, плохо определенными и включают незнакомые аспекты, по-прежнему уязвимы для крупных, непредвиденных проблем.
Смотрите также
- AI зима
- Список неудачных и превышающих бюджет заказных программных проектов
- Фред Брукс
- Системная авария
- Технологическая особенность
Рекомендации
- ^ "Конференция НАТО по разработке программного обеспечения 1968 г.". Получено 26 апреля 2017.
- ^ "Отчет о конференции, организованной НАУЧНЫМ КОМИТЕТОМ НАТО Гармиш, Германия, 7-11 октября 1968 г." (PDF). Получено 26 апреля 2017.
- ^ "Архив Э. У. Дейкстры: скромный программист (EWD 340)". Получено 26 апреля 2017.
внешняя ссылка
- Эдсгер Дейкстра: скромный программист (PDF файл, 473kB)
- Брайан Рэнделл: Конференции НАТО по программной инженерии
- Маркус Бауч: Циклы программных кризисов в: ENISA Ежеквартально в Безопасное программное обеспечение (PDF-файл; 1,86 МБ)