Надёжность программного обеспечения. Критерии оценки надежности программ. Лекция 4.

Презентация:



Advertisements
Похожие презентации
Лекция 5. Модели надежности программного обеспечения Учебные вопросы: 1. Классификация моделей надежности 2. Аналитические модели надежности 3. Эмпирические.
Advertisements

1 6. Конструирование с учетом надежности Основные понятия и определения Надёжность – это способность объекта сохранять во времени в установленных.
1 Основы надежности ЛА Надежность сложных систем.
Лекция 1. ВВЕДЕНИЕ В ОБЕСПЕЧЕНИЕ КАЧЕСТВА ПРОГРАММНЫХ СРЕДСТВ Учебные вопросы 1. Основные понятия и определения 2. Представления о качестве программных.
Контроль качества по SWEBOK Данилов Евгений
Жизненный цикл программного обеспечения Лекция 4.
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ АВТОНОМНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ.
Взаимосвязь между конкурентоспособностью и качеством.
Основные понятия и показатели надежности Лекция 2.
Ранжирование функциональных требований. Критерии ранжирования функциональных требований широта сферы применения; степень детализации; функциональный.
Прогнозирование сложности проектирования заказных программных продуктов Презентация на тему: Проверил: Б.М.МихайловВыполнил: Д.Ю.Ермилов 2017.
КОЛИЧЕСТВЕННЫЕ ПОКАЗАТЕЛИ БЕЗОТКАЗНОСТИ И МАТЕМАТИЧЕСКИЕ МОДЕЛИ НАДЁЖНОСТИ.
Надежность информации Надежность систем. Надежность является одной из важных характеристик качества объекта - совокупности свойств, определяющих пригодность.
Жизненный цикл программного обеспечения Подготовил студент 1 курса Лось Павел.
Сообщество аналитиков России Управление качеством требований Уровни зрелости процесса управления требованиями.
1 Основы надежности ЛА Показатели надежности. 2 Во процессе эксплуатации для анализа надежности изделий АТ используют показатели надежности.
1 Критерии и классы защищенности средств вычислительной техники и автоматизированных систем Подготовила: студентка гр.И-411 Сартакова Е.Л.
Теория статистики Корреляционно-регрессионный анализ: статистическое моделирование зависимостей Часть 1. 1.
Основы построения телекоммуникационных систем и сетей Лекция 16 «Методы оценки надежности» профессор Соколов Н.А.
Тема 3. Статические и динамические характеристики измерительных каналов Содержание 1 Принципы выбора и нормирования метрологических характеристик средств.
Транксрипт:

Надёжность программного обеспечения. Критерии оценки надежности программ. Лекция 4

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 2 Надежность программного обеспечения - это свойство программного обеспечения ( ПО ) сохранять рабо т о - способность (т.е. выполнять заданные функции с параметрами, установ - ленными технической документацией ) в течение определенного периода времени в заданных условиях эксплуатации.

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 3 Основные проблемы исследования надежности ПО 1. Разработка методов оценки и прогнозирования надёжности ПО на основе совокупности количественных показателей и характеристик, идентичных показателям аппаратурной надёжности. 2. Определение факторов, влияющих на достижение заданного уровня надёжности ПО. 3. Разработка методов, обеспечивающих достижение заданного уровня надёжности ПО. 4. Совершенствование методов повышения надёжности ПО в процессе проектирования и эксплуатации.

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 4 Факторы, зависящие от надежности ПО - конкурентоспособность ПО; - надежность и безопасность функциони- рования информационно – управляющих, технических, финансовых и других систем

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 5 Стандарты оценки качества и надежности ПО определяют характеристики программ (метрики), кото-рые используются для качественной и количественной оценки надежности: международный стандарт ISO/IEC 9126 стандарты IEEE 982, IEEE 1061 и др. ISO 8402:1994 Quality management and quality assurance – Vocabulary IEEE Standard for Software Quality Metrics Methodology Метрики качества программного обеспечения:

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 6 Стандарты оценки качества и надежности ПО Определение ISO: Качество - это полнота свойств и характеристик продукта, процесса или услуги, которые обеспечивают способность удовлетворять заявленным или подразумевае- мым потребностям. Определение IEEE: Качество ПО - это степень, в которой оно обладает требуемой комбинацией свойств.

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 7 Примеры метрик качества - Адаптируемость (adaptability) -Сложность интерфейсов и интеграции (complexity of interfaces and integration) -Тестовое покрытие (test coverage) -Надежность (reliability) -Профили ошибок (fault profiles) -Степень удовлетворения потребностей заказчика (customer satisfaction)

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 8 Примеры метрик качества «Adaptability» - мера гибкости системы, оценивает способность системы адаптироваться к изменениям требований либо перепроектированием системы, либо интеграцией приложений. «Complexity of interfaces and integration» - метрика, измеряющая степень сложности интерфейса или дополнительного программирования требуемого для интеграции компоненты в систему, которые требуются для тестирования, отладки и сопровождения, компенсирующего потерю качества. Метрики «test coverage» указывают степень полноты различных типов тестирования.

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 9 Примеры метрик качества «Reliability»- метрика, оценивающая вероятность работы системы без отказов. Данная метрика может быть получена в рамках традиционного подхода. «Fault profiles» - метрика, измеряющая кумулятивное число обнаруженных ошибок. «Customer satisfaction» - метрика, оценивающая степень соответствия программного обеспечения ожиданиям и требованиям заказчика. Данная метрика может быть оценена перед поставкой на этапе опытной эксплуатации на основе прогнозирующих параметров.

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 10 Причины ошибок в ПО Причина Частота появления,% Неполное или ошибочное техническое задание (ТЗ) 28 Отклонение от ТЗ12 Пренебрежение правилами программирования 10 Ошибочная выборка данных10 Ошибочная логика или последователь- ность операций 12

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 11 Причины ошибок в ПО Причина Частота появления,% Ошибочные арифметические операции9 Нехватка времени для решения4 Неправильная обработка прерываний4 Неправильные данные3 Неточная запись8

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 12 Причины ошибок в ТЗ Причина Частота появления,% Основы разработки неполные или неточные 52 Ошибки в числовых значениях12 Недостаточные требования к точности4 Ошибки оформления17 Неправильное описание аппаратуры2 Двусмысленность требований13

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 13 Признаки появления ошибок в ПО 1) Авария операционной системы 2) Аварийный отказ прикладного программного обеспечения 3) Программные ошибки пользователя 4) Снижение производительности 5) Зацикливание 6) Нарушение защиты данных 7) Потеря или искажение данных 8) Потеря функциональных возможностей (50% отказов)

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 14 Интенсивность ошибок в период проектирования ПО Производители ПО подсчитывают интенсив- ность ошибок исходя из отношения числа проектных или кодировочных ошибок к общему числу команд: от 2.5 до 10 на 1000 команд Для новой системы, содержащей команд, ожидается от 125 до 5000 ошибок

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 15 Классификация ошибок в ПО с точки зрения взаимодействия «производитель - пользователь» 1.Ошибки с точки зрения пользователя 2.Ошибки, представленные пользователем производителю ПО 3.Ошибки, признанные производителем ПО 4.Идентифицированные ошибки 5.Исправленные ошибки

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 16 Ошибки, зафиксированные пользователем месяцы

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 17 Отказы, вызванные ошибками ПО до и после выпуска новых версий недели

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 18 Показатели безотказности Веб-серверов Арасhе и IIS Отказ – обнаружение уязвимости в информаци- онной безопасности, которая может привести к нарушению работоспособности компонента или системы в целом. Интенсивность отказов – величина, равная среднему количеству уязвимостей, найденных в некоторый период времени Статистика за 2000 –2006 годы, данные из открытых источников информации об уязвимостях

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 19 Показатели безотказности Веб-серверов Арасhе и IIS Интенсивности отказов за период в 1 месяц Арасhе 1.3Арасhе 2.0Арасhе 2.2 IIS 5.Х IIS Средние наработки до отказа (в месяцах) Арасhе 1.3Арасhе 2.0Арасhе 2.2 IIS 5.Х IIS

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 20 Открытые источники информации об уязвимостях ПО 1.National Vulnerability Database, 2.Vulnerability and Virus Information, 3.Арасhе Security Updates, 4. Microsoft Security Bulletin,

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 21 Показатели надежности ПО 1)Статистическая интенсивность ошибок ПО * (t) где n(t) - число идентичных программ, не отка- завших к моменту времени t; n(t) - число отказавших идентичных программ на интервале (t, t + t).

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 22 Статистическая интенсивность ошибок ПО В процессе проверки корректности ПО фиксируются времена обнаружения ошибок. Результаты проверки обрабатываются при следующих предположениях: 1) ошибки ПО независимы, каждый раз после обнаружения они устраняются и в дальнейшем не проявляются; 2) интенсивность ошибок уменьшается по мере их обнаружения и устранения

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 23 Статистическая интенсивность ошибок ПО Выявление и устранение ошибок производится до тех пор, пока значение интенсивности будет меньше заданного значе- ния, которое назначается с учётом требований к надёжности ПО 0 t * (t)

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция ) Безотказность ПО Характеристики: 1) Вероятность безотказной работы 2) Интенсивность отказов в момент времени t 3) Коэффициент готовности 3) Среднее время безотказной работы де H - общее количество часов успешного прогона программы, определяемое по формуле,

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 25 Безотказность ПО где Т i - время непрерывного прогона в часах безошибочной работы ПО; n - общее количество прогонов ПО; r - количество прогонов ПО без ошибок; l = n –r - количество прогонов с ошибками; t j - время прогона в часах до проявления ошибки ПО.

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 26 Безотказность ПО Полагая количество ошибок постоянным, можно вычислить интенсивность отказов ПО, приведённую к одному часу работы, и среднее время между соседними отказами ПО.

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция ) Устойчивость ПО определяет способность системы выполнять заданные функции в условиях действия помех (ошибок, сбоев, отказов), возникающих во внепрограммных источниках (техническое обеспечение, исходные данные). При оценке устойчивости ПО должны быть заданы параметры окружающей среды, по отношению к которой оценивается устойчивость программ. Показатели устойчивости - это показатели безотказ- ности, но с использованием условных вероятностей возникновения помех.

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция ) Корректируемость ПО характеризует приспособленность ПО к поиску и устранению ошибок и внесению в него изменений в ходе эксплуатации. Показатели корректируемости: время корректировки, вероятность корректировки программы за заданное время, коэффициент готовности, параметр потока корректировок.

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция ) Защищённость и долговечность ПО Дополнительными характеристиками надёжности ПО являются: показатель защищённости от посторонних вмешательств в работу ПО – вероятность внесения искажений при постороннем вмешательстве, показатель долговечности - свойство ПО избегать морального старения при длительном использовании - время отказа ПО вследствие морального старения.

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 30 Выбор критериев оценки надежности ПО 1. Новое ПО (новая версия ПО) в первое время требует менее жестких критериев качества 2. Эффективность работ по исправлению ошибок ПО, проводимых производителем, зависит от воспроизводимости ошибки, что в свою очередь зависит от информации, поступающей от потребителя. 3. Необходимо учитывать требования к ПО по быстродействию, производительности, другим условиям применения и использования.

СевНТУ, кафедра КиВТ, курс "НКДиЭЭВМ", 2007, лекция 4 31 Способы обеспечения и повышения надежности ПО 1.Усовершенствование технологии программирования 2. Выбор алгоритмов, не чувствительных к нарушениям вычислительного процесса (использование алгоритмической избыточности) 3. Резервирование программ – дуальное и N – версионное программирование (использование структурной избыточности) 4. Контроль и тестирование программ с последующей коррекцией