Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Лекция 10. Определение необходмого уровня надёжности и построение функционального среза

Лекция 10. Определение необходмого уровня надёжности и построение функционального среза (Лекции)

Описание файла

Файл "Лекция 10. Определение необходмого уровня надёжности и построение функционального среза" внутри архива находится в папке "Лекции". PDF-файл из архива "Лекции", который расположен в категории "лекции и семинары". Всё это находится в предмете "надёжность программного обеспечения" из седьмого семестра, которые можно найти в файловом архиве МГУ им. Ломоносова. Не смотря на прямую связь этого архива с МГУ им. Ломоносова, его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

НАДЁЖНОСТЬ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯЛекция 10:Определение необходимого уровнянадёжности и построение функциональногосрезаВМиК МГУ им. М.В. Ломоносова,Кафедра АСВК, Лаборатория Вычислительных КомплексовАссистент Волканов Д.Ю.О чём этот курс• Концепции и связи• Аналитические модели и средстваподдержки• Методы для увеличения надёжности ПО:––––––ВерификацияСтатический анализРасчёт надёжностиТестированиеАнализ статистики ошибокБезопасность2План лекции3Определение необходимого уровнянадёжности программКлассы тяжести отказовИнтенсивность отказовСтратегии уменьшения числа отказовОперация, функция, прогон и его типыФункциональный срезРазрабока функционального среза3ЭпиграфДа, все голосуют за качество, но еслионо стоит лишнюю копейку, выначинаете быстро познаватьнастоящее отношение к качеству состороны тех, кто платит.Том Демаркои Тимоти Листер4SRE: процесс• 5 шагов в SREпроцессе:– Определитьнеобходимый уровеньнадежности– Разработатьфункциональный срез– Подготовить длятестирования– Выполнить тестирование– Проанализировать данныеоб ошибках ииспользовать их дляпринятия решенийDefine NecessaryReliabilityDevelopOperational ProfilePrepare for TestExecute TestApply Failure Datato Guide Decisions5Как определитьтребуемый уровеньнадёжности программы?66Надёжность и Риск•Требуемый уровень надёжностизависит от риска.

Больший рисктребует большего уровня надёжностиЛитература:• Software Testing Fundamentals: Methods and Metrics• Marnie L. HutchesonISBN:047143020X John Wiley & Sons77Как найти нужный уровеньнадёжности:1)2)3)4)5)8Разбить возможные отказы по классамтяжестиУстановить целевую интенсивность отказовдля каждой тестируемой системыВыбрать единый масштаб для всехтестируемых системНайти текущий показатель интенсивностиотказовВыбрать стратегию для достиженияпоставленного уровня интенсивности81. Классы тяжести отказовОтказы различаются между собой поуровню их воздействия на тестируемуюсистемуКаждый класс тяжести отказов объединяетотказы с одинаковым влиянием напользователя [по заданным критериям]Примеры критериев классификации:9Стоимость ущерба, угроза жизни человекаТяжесть отказа ≠ сложность отказаТяжесть отказа может зависеть от времени9его наступленияКритерии классификации тяжестиотказов10СтоимостьКакой ущерб способен нанести отказ втерминах стоимости устранения,восстановления, простоя системы, …Классы тяжести по стоимости ущербаобычно различаются на один порядокНа практике достаточноиспользовать 4 группы Класс тяжести Стоимость ($)1> 100,000классов210,000 –100,00031,000 – 10,0004< 1,00010Критерии классификации тяжестиотказовФункционирование системыВключает такие факторы как потерюданных, время простоя системы,возможность её восстановления, …Класс тяжести11Ущерб функционированию1Перерыв в работе сервиса2Ошибки в работе сервиса3Неудобства, требующие срочного исправления4Неудобства в работе, исправление которых может подождать11Критерии классификации тяжестиотказовОкружающая средаМожет привести к нанесению вредаэкологии, исчезновению видов растений иживотных, …Широко применяется в атомной ихимической промышленностиКласс тяжести12Ущерб экологии1Значительный и невосстановимый2Значительный и частично восстановимый3Незначительный, но невосстановимый4Незначительный и восстановимый12Критерии классификации тяжестиотказовЖизнь людейОтказ может привести к нанесению вредаокружающей среде, потере человеческихжизнейПрименяется в аэрокосмической,медицинской, военной и других отрасляхКласс тяжести13Определение1Возможны людские потери2Значительные повреждения здоровья людей3Незначительные повреждения здоровья людей4Восстановимые нарушения здоровья13Как определить уровеньтяжести отказа?14На основе опыта: попросить пользователей,заказчиков и разработчиков и сравнить саналогичными продуктамиПеречислить всевозможные факторыущерба, вызванные отказом системыСузить список до наиболее важныхфакторовНекоторые факторы могут бытьтрудноизмеримыми [репутация компании]14Противоречивые оценки15Пользователи и разработчики могутиметь разные представления отяжести отказовМнения отдельных групп должны бытьсогласованы до установки показателяцелевой интенсивности отказовРазрешить противоречия в тяжестиотказов часто помогает исследованиеаналогичных продуктов15Документирование уровнейтяжести отказовСпособиспользованияКритерииклассификацииСписок возможных отказовКласс 1Класс 2Класс 3Класс 4СтоимостьФункционированиесистемыЧеловеческиежизниОкружающая средаДругое (указатьотдельно)Классы тяжести отказов определяются независимо по каждому критерию16162.

Целевая интенсивность отказов17Отражает ожидаемое число «багов»,оставшихся в продукте послезавершения его разработкиАльтернативный способ измерениянадёжности17Целевая интенсивностьотказовИнтенсивность отказов обычноопределяется как число случившихсяотказов системы за заданное время(или аналогичными метриками):183 сигнала тревоги за 100 часов работы.5 отказов за время печати 1000документов.Интенсивность отказов системы –сумма интенсивностей отказов всех18компонентов системыКак установить целевуюинтенсивность отказов?19Оценка основывается на опыте исубъективно зависит от проектаЗависит от компромисса между качествомпродукта (временем и стоимостьюразработки) и его функциональностьюПравило большого пальца: Устанавливайцелевую интенсивность отказов исходя израсчётной итоговой стоимости проекта19Как установить целевуюинтенсивность отказов?Типичные целевые интенсивностиотказов для разных проектов:Стоимость отказаЦелевая интенсивностьотказов ()Время междуотказами> 1,000,000,000 $1 в 1,000,000,000 часов114,000 лет> 1,000,000 $1 в 1,000,000 часов114 лет> 1,000 $1 в 1,000 часов6 недель> 100 $1 в 100 часов100 часов> 10 $1 в 10 часов10 часов>1$1 в час1 час2020Целевая интенсивностьотказов и надёжностьЗависимость между целевойинтенсивностью и надёжностью1  R  ln Rλ=илиtλдля R  0.95t - интенсивность отказовR - надёжностьt - единица измерения (время, …)21При R = 0.992 за 8 часов,  = 0.00121Надёжность &Интенсивность отказовНадёжность для 1 часаработы22Интенсивность отказов0.368001 отказ в час0.90000105 отказов в 1000 часов0.959001 отказ в день0.9900010 отказов в 1000 часов0.994001 отказ в неделю0.998601 отказ в месяц0.999001 отказ в 1000 часов0.999891 отказ в год22Целевая интенсивностьотказов и доступность•Зависимость между целевойинтенсивностью отказов идоступностью:t m  - интенсивность отказов- время простоя на ошибкуЕсли система должна быть доступна 99%времени работы и время простоя 6 минут,тогда целевая интенсивность отказов равна2323 1 отказ в 10 часовЦелевая интенсивность отказов исреднее время безотказной работыЕщё одно определение доступности:24MTTRMTTFинтенсивность отказовсреднее время восстановления после отказасреднее время безотказной работы24Целевая интенсивность отказов ивероятность первого отказа25Вероятность первого отказа z(t) –вероятность сбоя в заданном временноминтервале при условии отсутствия сбоев доего наступленияВероятность первого отказа 0.05 означает,что первый отказ с вероятностью 5%произойдёт в заданном интервале и нераньше его наступленияДля экспоненциального распределенияz(t) = 25Целевая интенсивностьотказов и прибыль26Расчёт основывается на опытеаналогичных систем с помощьюсравнения их основных качественныххарактеристик и отношению к нимпользователяСравниваются тенденции измененияприоритетов развития компромиссамежду прибылью и интенсивностьюотказов26Пример27Совет: выбирайте диапазон на границевысоких прибылейИнтенсивность отказовПрибыль10000,65001,52505,810017,25021,42519,81016,327Надёжность vs.

Доступность28Зачем задавать надёжность, еслидоступность более интуитивна ипроще для понимания?Доступность субъективна для каждогопользователя и обычно существуютспособы изменения доступностисистемы без изменения её внутреннейнадёжностиПример: дублирование серверов DNSповышает доступность системы, но не28повышает надежность серверного ПОРазрабатываемое ПОСоздаваемыйпродукт –лишь частьсистемыИнтерфейсдля сторонних системПриобретённые РазработанныекомпонентыкомпонентыОС, системное ПОАппаратное обеспечение29293. Выбор общего масштабаДля разных целевых интенсивностейотказов различных частей проекта могутиспользоваться разные масштабы:Целевая интенсивность отказов системы30 отказов на 1 миллион операцийСреднее время между отказами ОС•Среднее время между отказами оборудования•303,000 отказов на 10 миллионов операций1 на 30 часов работыНужно выбрать общий масштаб30Как найти целевую интенсивностьотказов разрабатываемого ПО?1.2.3.4.5.31Установить общесистемнуюцелевую интенсивность отказовПеревести системы измерения интенсивностейотказов компонентов в единую системуизмеренияВычесть из целевой интенсивности системырасчётную интенсивность отказовприобретённых компонентовВычесть расчётную интенсивность отказовокружения (ОС и интерфейсных систем), вкотором будет работать разработанное ПООстаток – целевая интенсивность дляразрабатываемого ПО31Вычисление целевой интенсивности отказовдля разрабатываемого ПО (1)•Пример 1:••32Общесистемная целевая интенсивность отказов100 отказов на 1 миллион операцийИнтенсивность отказов «железа»0.1 отказа в часЧисло отказов ОС на 100,000 операций0.4 отказа в часЦелевая интенсивность ПО95 отказов на 1 миллион операций32Вычисление целевой интенсивности отказовдля разрабатываемого ПО (2)•Пример 2: БД на Win 2K:Общая целевая интенсивность отказов•Среднее время между отказами для Win 2K•3,000 часов на 10 миллионов операцийСреднее интенсивность отказов «железа»•30 отказов на 1 миллион операций1 отказ в 30 часовИнтенсивность отказов других подсистем•9 отказов на 1 миллион операцийКакова целевая интенсивность отказовдля разрабатываемого ПО?•3333Вычисление целевой интенсивности отказовдля разрабатываемого ПО (3)34344.

Свежие статьи
Популярно сейчас