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

1.

Надёжность программного
обеспечения
Презентация по дисциплине
«Обеспечение качества
функционирования компьютерных
систем»

2.

План презентации
• 1. Понятие надёжности ПО
• 2. Почему программы ломаются
• 3. Как предотвратить сбои
• 4. Измерение надёжности (MTBF, ошибки в
час)
• 5. Метод FMEA и его применение
• 6. Заключение

3.

Надёжность ПО (1)
• Надёжность ПО – это способность
программы стабильно выполнять заданные
функции в течение определённого
времени.

4.

Надёжность ПО (2)
• Ключевые характеристики надёжности:
• - Безотказность
• - Восстанавливаемость
• - Устойчивость к ошибкам
• - Долговечность

5.

Надёжность ПО (3)
• Факторы, влияющие на надёжность:
• - Качество проектирования
• - Качество кода
• - Качество тестирования
• - Опыт команды

6.

Надёжность ПО (4)
• Примеры надёжных систем: банковское ПО,
системы управления полётами.
• Менее надёжные: игровые клиенты,
экспериментальные проекты.

7.

Почему программы ломаются (1)
• Ошибки проектирования и недостатки
архитектуры.

8.

Почему программы ломаются (2)
• Человеческий фактор: баги в коде,
неправильные данные.

9.

Почему программы ломаются (3)
• Недостаточное тестирование или
игнорирование редких сценариев.

10.

Почему программы ломаются (4)
• Обновления, несовместимости библиотек и
аппаратных платформ.

11.

Предотвращение сбоев (1)
• Проведение код-ревью и парного
программирования.

12.

Предотвращение сбоев (2)
• Разработка по принципам CI/CD
(непрерывная интеграция и доставка).

13.

Предотвращение сбоев (3)
• Использование модульного,
интеграционного и нагрузочного
тестирования.

14.

Предотвращение сбоев (4)
• Мониторинг и логирование в реальном
времени.

15.

Предотвращение сбоев (5)
• Использование резервных копий и
отказоустойчивых архитектур.

16.

Измерение надёжности (1)
• MTBF (Mean Time Between Failures) –
среднее время между отказами.
• MTTF – среднее время до отказа.
• MTTR – среднее время восстановления.

17.

Измерение надёжности (2)
• Ошибки в час – метрика, показывающая
количество отказов за единицу времени.

18.

Измерение надёжности (3)
• Чем выше MTBF и ниже число ошибок в час
– тем надёжнее система.

19.

Измерение надёжности (4)
• Пример: Серверная система имеет MTBF =
10 000 часов и < 0.01 ошибки в час.

20.

Метод FMEA (1)
• FMEA (Failure Mode and Effects Analysis) –
метод анализа видов и последствий
отказов.

21.

Метод FMEA (2)
• Этапы анализа:
• 1. Определить возможные отказы.
• 2. Оценить их последствия.
• 3. Назначить приоритеты устранения.

22.

Метод FMEA (3)
• В ПО FMEA помогает выявить слабые места
ещё на этапе проектирования.

23.

Метод FMEA (4)
• Пример: при анализе системы оплаты
выделены риски – сбой транзакции,
задержка, ошибка безопасности.

24.

Заключение
• Надёжность ПО – важнейший показатель
качества.
• Систематический подход (код-ревью,
тестирование, мониторинг) позволяет
снизить количество ошибок.
• Метрики (MTBF, ошибки в час) дают
возможность измерять надёжность.
• FMEA помогает выявлять и устранять
потенциальные отказы на ранних этапах.

25.

Вопросы?
• Спасибо за внимание!
English     Русский Правила