Средства разработки приложений


Заключение - часть 3


И в случае с Компанией Х, и в случае с Компанией Y подсказки прекрасно описывали причину симптомов, но эти подсказки первоначально не были приняты во внимание.

  • Недостаток подходящих средств мониторинга:
    • Случаи - Mars Climate Orbiter, Therac-25, Компания Х, Компания Y.
    • Описание - хорошие средства мониторинга могут помочь обслуживающему персоналу обнаружить и решить проблему до того, как она приобретет серьезные последствия. Может быть, несправедливо относить в эту категорию Mars Climate Orbiter, поскольку ученые были ограничены технологиями и законами физики в том, что они могли наблюдать. Тот факт, что они не могли наблюдать действительную траекторию космического аппарата, ограничивал их возможности в определении правильности их модели. В случае Therac-25 сообщения об ошибках не имели достаточно описательного характера, чтобы встревожить операторов потенциальными проблемами в машине. Так же наблюдался явный недостаток обратной связи, позволяющей оператору точно знать, что делает машина. Проблемы в Компаниях Х и Y могли бы быть минимизированы, если бы обслуживающий персонал смог определить падение производительности базы данных до аварии.

  • Неверная или бедная спецификация:
    • Случай - Ariane 5.
    • Описание - спецификация обработки ошибки определяла, чтобы ошибочное значение было помещено в память, используемую навигационным компьютером. Реализация программного обеспечения точно соответствовала спецификации. Навигационный компьютер использовал это значение для осуществления маневра с использованием двигателей, что вызвало катастрофу. В данном случае спецификация обработки ошибки была ошибочна и вызвала крушение.

  • Отклонение от спецификации:
    • Случай - Mars Climate Orbiter.
    • Описание - спецификация для Mars Climate Orbiter была очень ясной: единицы измерения должны быть метрическими, а не английскими.

  • Унаследованные ошибки:
    • Случаи - Therac-25, авария на AT&T 1998 года.
    • Описание - унаследованные программные модули содержали ошибки, которые не были обнаружены в их предыдущем воплощении.

  • Отклонение от должной процедуры:
    • Случаи - авария на AT&T 1998 года, компания Х.
    • Описание - процедуры были разработаны для того, чтобы помешать нам сделать ошибку, а когда процедуре не следуют, а идут коротким путем, возникают нежелательные эффекты.

  • Небезопасные средства:
    • Случай - переполнение буфера.
    • Описание - одной из главных причин ошибки переполнения буфера является «небезопасность» таких программных языков, как С и С++, в которых программа зависит от того, провел ли программист явную проверку границ массивов для предотвращения этих ошибок.

  • Человеческий фактор:
    • Случай - переполнение буфера.
    • Описание - мы все знаем, как предотвращать ошибки, и все же мы продолжаем их делать.

  • Эго и самоуверенность:
    • Случаи - Therac-25, Mars Climate Orbiter.
    • Описание - эго может встать на пути объективной оценки систем.


      Начало  Назад  Вперед



      Книжный магазин