О надежности программного обеспечения

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

Итак, спрошу опять - что же такое «надежность»? Это умение программы самовосстанавливаться и восстанавливать утерянные данные после исключительных ситуаций.

Всё просто. Как бы долго программа не работала без падений - это не стоит и копейки, если в случае падения уничтожается всё, что было создано за несколько часов или, хуже - дней.

Вспомните злополучный пакет MS Office. Тот же MS Word или Outlook. Сложно найти более сложную и глючную программу, но кого это волнует? Word падает у меня на машине несколько раз за день, но каждый раз он автоматически рестартует и восстанавливает то, что у меня было в документе перед падением! Теперь даже Ctrl+S жать постоянно не надо! Это и есть истинная надежность, даже если Word не может проработать и пары часов без падения. И то же самое касается всех программ в пакете MS Office - Microsoft вложился в повышение надежности Office и вложился именно в «правильную надежность», а не в «число часов наработки на отказ». К тому же у них многие проблемы создаются сторонними плагинами или даже сторонними приложениями типа антивирусов, так что они и наработку на отказ-то контролировать до конца не могут.

Ссылка: http://bishop-it.ru/2009/10/reliability/

Ключевые слова: программное обеспечение