Главная » Просмотр файлов » И. Соммервилл - Инженерия программного обеспечения

И. Соммервилл - Инженерия программного обеспечения (1133538), страница 86

Файл №1133538 И. Соммервилл - Инженерия программного обеспечения (И. Соммервилл - Инженерия программного обеспечения) 86 страницаИ. Соммервилл - Инженерия программного обеспечения (1133538) страница 862019-05-12СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 86)

Водитель из Сиэтла б>дет считать, что система не лвляется безотказной, в то врсмл как водитель нз Лас.Вегаса вообще никогда не столкнется с этой проблемой. В определении работоспособности и безотказности системы не рассматривается тяжесть и последствия отказов системы. Людлм особенно небезразличны отказы, которые имеют серьезные последствия; от этого зависит восприятие безотказности системы.

На. пример, работа автомобильного двигателя. который дает сбои сразу после запуска, а затем посяе перезапуска работает исправно, раздражает. Но это не затрагивает нормального режима эксплуатации автомобиля. Считается, что система ведет себя надежно. сели ее работа соответствует заданному алгоритму. Однако возможны ситуации, когда работа системы не совсем соответствует ожнданнлм пользователей. К сожалению, снстемныс требования часто бывают или неполны или некорректны. Разработчики в таких случаях должны сами решать, как будет весги себя система, но, не всегда являясь специалистами в конкретной области применения системы, они не мо~уг учесть все факторы и запрограммировать такое поведение системы, которое необходимо пользователю. Как показывает опыт, наиболее важными составляющими функциональной надежности лвллются безотказность и работоспособность.

Если же система ненадежна, то трудно гарантировать ее безопасность или защищенность. Ненадежность системы влечет за со. бой большие материальные потери, такис системы приобретают репутацию некачествен. ных и в дальнейшем теряют доверие потребителей. Безотказность системы определлстся отсутствием сбоев. Отказы системы могут происходить нз-за плохого или неправильного се обслуживания, могут быть следствием ошибок в алгоритме, а могут быть вызваны неисправностями систем связи. Однако во многих случаях причиной ошибочного поведения системы являются дефекты в самой системе. При рассмотрении безотказности полезно понимать различие в терминах сбой, о~кийко и отказ, которые определены в табл. 16.1. 16.

Надежность систем 336 Сбои не обязательно приводят к отказам системы, поскольку они могут быть кратковременными и система может прийти к нормальному функционированию раньше, чем произойдет отказ. Системные ошибки также не обязательно приводят к отказам системы, так как системы имеют защиту, гарантирующую, что ошибочный режим будет обнаружен и исправлен. Терминология, приведенная в табл. 16.1, помогает понять три дополняющих друг друга подхода, используемых для повышения безотказности систем.

1. Предоимрщиеиие ахово. Подход к разработке ПО, минимизирующий возможность появления ошибок и/или обнаруживающий ошибки прежде, чем онн приведут к сбоям системы. Пример такого подхода — исключение подверженных ошибкам апре деленных конструкций языков программирования (например, указателей) и посто. янный анализ программ для обнаружения различных аномалий программного кода (см. главу 19).

2. Обнаружение ошибок и ил уплраиение. Использование разнообразных методов провер. ки системы в различных режимах позволяет обнаружить ошибки и устранить их до ввода системы в эксплуатацию. Регулярное тестирование системы и ее отладка— пример данного подхода. 3. Уееомчквостиь к сбоям. Испольэонаиие специальных методов, гарантирующих, что ошибки в системе не приведут к сбоям и что сбои не приведут к отказам системы. Пример такого подхода — применение средств самовосстановления системы с использованием дублирования модулей. Разработка систем, устойчивых к сбоям, описана в главе 18, где также кратко обсуждаются некоторые методы предотвращения сбоев.

Методы разработки ПО, предотвращаю. щие сбои, приведены в главе 24. Вопросы обнаружения системных ошибок обсуждаются в главах 19 и 20. Входиыв двииые, ориводвщие к ошибочным выходным данным выхшшые двииые Рис.16.5. Гфоерпммнпя емсомпа как отобрплееяие входных дпнных яа миожепиво виходных данных 336 'Часть 1У. Критические системы Программный сбой приводит к отказу системы, когда "сбойный" программный код выполняется над определенными входными данными, приводящими к сбою системы. При этом программа может корректно работать на других входных данных.

На рис. 16.5, заимствованным из работы [22 Ц, программная система представлена как отображение множе. ства входных данных (входов) на множество выходных данных (выходов). Программа обрабатывает входные данные, получая выходные данные. Некоторые нз входных данных (см. рис. 16.5) приводят к отказам системы, в результате программа генерирует ошибочные выходные данные, Безотказность программного обеспечения характеризуется вероятностью, с которой при выполнении программы среди множества входных данных встретятся такие, что приведут к ошибочным результатам вычислений. Существует сложная взаимосвязь между наблюдаемой безотказностью системы и количеством скрытых программных дефектов.

В работе (239( подчеркивается, что не все программные ошибки в равной степени вызывают отказ системы. Обычно в множестве входных данных 1,. приводящих к ошибочным выходным данным, имеется ряд данных, вероятность выбора которых больше, чем у других данных. Если эти входные данные не требуют для своей обработки той части ПО, которая содержит ошибки, то системных сбоев не будет. Таким образом. безотказность системы зависит преимущественно от количества входных данных, приводящих к ошибочным результатам во время нормальной эксплуатации системы.

Сбои системы, которые проявляются только в исключительных си. туациях, мало влияют на ее надежность. Надежность системы связана с вероятностью ошибки, проявляющейся во время эксплуатации системы. Устранение программных ошибок в редко используемых системных модулях мало повлияет на повышение безотказности системы. В работе [239) показано, что устранение 60% программных ошибок только на 3% повысит безотказность системы. Это подтверждается и исследованиями ошибок в программных прод)потах 1ВМ. В работе (4) показано, что многие ошибки в программных продуктах реально вызывают сбои системы после сотен или тысяч месяцев эксплуатации.

Следовательно, программа может содержать ошибки и все же вызывать доверие пользователей. Сбои программы никогда не будут возникать, если не выбирать входных данных, ведущих к сбоям. Кроме того, опытные пользователи часто работают, зная об ошибках программного обеспечения, вызывающих сбои системы, и умело избегают их. Устранение ошибок в таких случаях подаст практически никакого повышения надежности. Рис, 16.6. Исповыовпнив мкозгеопвп входных донных Розкмчк повыовп~~влмк 16.

Надежность систем 337 Каждый пользователь системы пошвоему избегает "встречи" с системными ошибками. Ошибки, с которыми встречается один пользователь, могут никогда не встретиться другому. На рис. 1б.б показано множество входных данных, используемых разными пользователями.

Входные данные, выбранные пользователем 2 пересекаются с входными данными, приводящими к сбою системы. Поэтому пользователь 2 будет сталкиваться со сбоями системы. Пользователи 1 и 3 никогда не используют входных данных, приводящих к сбою системы, -для них программное обеспечение всегда будет безотказно. 16.3. Безопасность Безопасность системы — это свойство, отражающее способность системы функционировать, не угрожая людям или окружающей среде. Там, где безопасность является необхо. димым атрибутом системы, говорят о системе, критической по обеспечению безопасно.

сти. Примерами могут служить контролирующие и управляющие системы в авиации, системы управления процессами на химических и фармацевтических заводах и системы управления автомобилями. Управление систем, критических по обеспечению безопасности. гораздо проще орзънизовать с помощью аппаратных средств, чем ПО. Однако сейчас строятся системы такой сложности, что управление не может осущесгвлзпъся только аппаратными средсгвами. Из-за необходимости управлять большим числом сенсоров и исполнительных механизмов со сложными законами управления требуетсл управляющее программное обеспечение. В каче.

стае примера можно привести сисгемы управление военными самолетами. Они требуют по. стоянного программного управления самолетом, гарантирующего безопасносп полета. Программное обеспечение рассматриваемых в этом разделе систем подразделяется на лва класса. 1. ПеРвичпае пРазРамииае ааеапечеиие, кРитичеигае па кРивмрию йзагиииаети. Это ПО включается в систему в виде отдельного блок управления. Неправильная работа такого ПО может быть причиной отказа оборудования, вследствие которого может возникнуть угроза жизни человека или нанесения вреда окружающей среде. Я особо обращаю внимание на этот класс программного обеспечения. 2.

Вторичпае празукзмияае абеепечение, кризпичеекае па критеузию безапаошезпи. Это ПО косвенным образом может привести к непредвиденным последствиям. Примерами могут служить автоматизированные системы в технике, неправильная работа которых может привести к ошибкам в работе объекта и поставить под угрозу жизнь людей. Другой пример такого ПΠ— медицинская база данных, содержащая описание лекарств, предназначенных пациентам. Ошибки в этой системе мозут привести к неправильнойдоэнровке препаратов. Безотказность и безопасность системы в взаимосвязанные, но,очевидно, рэзличные составляющие функциональной надежности. Конечно, система.

критическал по обеспе. чению безопасности, должна соответствовать своему назначению и функционировать без отказов. Для обеспечения непрерывного функционирования даже в случае ошибок она должна иметь защиту от сбоев. Однако отказоустойчивость не гарантирует безопасности системы. Программное обеспечение может только один раз сработать неправильно, и вто приведет к несчастным случаям. Нельзя быть иа сто процентов уверенным, что системное программное обеспечение безопасно и отказоустойчиво. Безотказность ПО не гарантирует его безопасность по ряду причин. 338 тйасть |У. Критические системы 1.

Характеристики

Тип файла
DJVU-файл
Размер
8,79 Mb
Тип материала
Высшее учебное заведение

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6418
Авторов
на СтудИзбе
307
Средний доход
с одного платного файла
Обучение Подробнее