Similar presentations:
Лекция 2. Модели качества функционирования программного обеспечения
1. Обеспечение качества функционирования программного обеспечения Модели качества функционирования программного обеспечения
Зверева В. П., Назаров А. В.Специальности среднего профессионального
образования
Издание: 5-е изд., стер.
Артикул издания: 105119467
Вид издания: Печатные учебные издания
ISBN издания: 978-5-0054-3548-4
Год выпуска: 2025
2.
Обеспечение качества функционирования программного обеспеченияМодели качества функционирования программного обеспечения
Пользователи ПО испытывают потребности в создании моделей качества ПО для
оценки качества как качественно, так и количественно. Модели качества, которые
имеются в настоящее время, в большинстве случаев являются иерархическими моделями на основе критериев качества и связанных c ними показателей (метрик). Все
модели качества могут быть подразделены на три категории в соответствии с методами, на основе которых они были созданы. К первому виду можно отнести теоретические модели, основанные на гипотезе отношений между переменными качества. Ко второму виду относятся модели управления данными, основанные на статистическом анализе. И наконец, комбинированная модель, в которой интуиция исследователя используется для определения нужного вида модели, а анализ данных применяется для определения констант модели качества.
3.
Модель МакКола. Первая модель качества былапредложена в 1977 г. Дж. МакКолом. Эта модель была в основном предназначена для определения полной характеристики качества ПО через его различные характеристики. Модель качества МакКола,
показанная на рис. 1, имеет три главных направления для определения и идентификации качества ПО:
1) использование (корректность, надежность, эффективность, целостность, практичность);
2) модификация (тестируемость, гибкость, сопровождаемость) — факторы качества, важные для разработки новой версии ПО;
3) переносимость (мобильность, возможность многократного использования, функциональная совместимость) — факторы качества, важные для переносимости программного продукта на другие аппаратные и программные платформы.
Рисунок 1
4.
Модель Боэма. Второй из основополагающих моделей качества является модель,предложенная в 1978 г. Б. Боэмом (рис. 2).
Она имеет недостатки современных моделей, которые автоматически и качественно
оценивают качество ПО. В сущности, модель Боэма пытается качественно определить качество ПО заданным набором показателей и метрик. Модель качества Боэма
представляет характеристики ПО в более
крупном масштабе, чем модель МакКола.
Модель Боэма похожа на модель качества
МакКола тем, что она также является иерархической моделью качества, структурированной вокруг высокоуровневых, промежуточных и примитивных характеристик, каждая из которых вносит свой вклад в уровень
качества ПО.
Рисунок 2
5.
В этой модели:•практичность описывает то, как легко, надежно и эффективно может быть использован пакет программ;
•сопровождаемость характеризует, насколько легко изменить и повторно протестировать пакет программ;
•мобильность описывает, как пакет программ может использоваться даже при изменении программных и аппаратных средств.
Рисунок 2
6.
Модель качества ISO 9126. Качество ПО определяется в стандарте ISO 9126-1 каквсякая совокупность его характеристик, относящихся к возможности удовлетворять
высказанные или подразумеваемые потребности всех заинтересованных лиц. Модель
качества ISO 9126-1 различает понятия: внутреннего качества, связанного с характеристиками ПО самого по себе, без учета его поведения; внешнего качества, характеризующего ПО с точки зрения его поведения; качества ПО при использовании в различных контекстах — того качества, которое ощущается пользователями при конкретных сценариях работы ПО. Для всех этих аспектов качества введены метрики, позволяющие оценить их. Кроме того, для создания надежного ПО существенно качество технологических процессов его разработки. Структура взаимоотношений между этими аспектами качества по схеме, принятой стандартами ISO/IEC 9126-1 … SO/IEC 9126-4,
показана на рис.3.
Рис. 3.Основные аспекты качества ПО
7.
На рис. 4 показаны факторы и атрибуты внешнего и внутреннего качества ПО всоответствии с ISO/IEC 9126. На рис. 5 показана модель оценивания согласно
ISO/IEC 9126.
Рис. 5. Модель оценивания согласно ISO/IEC 9126
Рис. 4.Факторы и атрибуты внешнего и внутреннего
качества ПО
8.
Уязвимости программного обеспеченияУязвимостями считаются слабые стороны ПО, которые позволяют злоумышленнику нарушить его целостность, доступность и (или) конфиденциальность. При обнаружении уязвимостей своего ПО пользователю необходимо сообщить о них непосредственно его производителю (так называемое ответственное обнаружение).
Обращение позволит защитить других пользователей благодаря тому, что обновления для системы безопасности таких продуктов будут выпущены раньше, чем об уязвимостях узнают злоумышленники.
9.
Эксплойты. Чаще всего заражение ПО реализуют вирусы, проникая на ПЭВМпользователя из сети, используя уязвимости самих браузеров. Этот специфический вид вируса получил название эксплойт. Специалисты определяют его как
компьютерную программу, фрагмент программного кода или последовательность команд, использующие уязвимости в ПО и применяемый для проведения атаки на вычислительную систему.
В качестве источников эксплойтов злоумышленники все активнее используют
файлы стандартных форматов. Хотя сегодня большинство современных программ для работы с электронной почтой и обмена мгновенными сообщениями
блокируют передачу потенциально опасных файлов, ориентируясь на их расширения, тем не менее они позволяют передавать файлы широко применяемых
форматов, например, Microsoft Office и Adobe PDF, учитывая, что они не блокируются почтовыми системами.
10.
Загрузка drive-by. Другим способом проникновения вирусов в ПО пользователя,получившим название drive-by, является загрузка вредоносного ПО с веб-сайтов
без ведома пользователя. Атака drive-by осуществляется в два этапа. На первом
этапе пользователь попадает на легальный сайт, содержащий вредоносный код,
который на втором этапе перенаправляет запрос на сторонний сервер, на котором
хранится эксплойт.
Рис. 6.Распределение угроз посредством страниц загрузки drive-by
11.
Большинство страниц загрузки типа drive-by размещено на легальных зараженных вебузлах. Зараженные серверы, действующие в качестве вредоносных, могут иметь огромный радиус действия: один вредоносный сервер может быть ответственным за сотни тысяч зараженных веб-страниц.Наиболее действенным способом борьбы с вирусами-эксплойтами является своевременное обновление ПО. Фирма Microsoft, например, рекомендует использовать для
этой цели Центр обновления Microsoft. Последний обеспечивает обновление компонентов Windows, драйверов устройств, а также обеспечивает обновление других программ
Microsoft, например Microsoft Office.
В России в 2020 г. было заражено около 38%
ПЭВМ (рис. 7), поэтому российским ИТ-специалистам и пользователям, несмотря на
достигнутые успехи в борьбе с нежелательным ПО, рано забывать об угрозах как
от российских серверов, так и от серверов,
расположенных в других странах.
Рис. 7 Распределение вредоносного ПО
в России (I квартал 2020 г.)
12.
Обеспечение надежности функционирования программного обеспеченияОбъектами уязвимости (таблица), влияющими на надежность ПО, являются:
•динамический вычислительный процесс обработки данных, автоматизированной подготовки решений и выработки управляющих воздействий;
•информация, накопленная в базах данных, отражающая объекты внешней среды, и процессы ее обработки;
•объектный код программ, исполняемых вычислительными средствами в процессе функционирования программного средства;
•информация, выдаваемая потребителям и на исполнительные механизмы, являющаяся результатом обработки исходных данных и информации, накопленной
в базе данных.
На эти объекты воздействуют различные дестабилизирующие факторы, которые
можно подразделить на внутренние, присущие самим объектам уязвимости,
и внешние, обусловленные средой, в которой эти объекты функционируют.
13.
Внутренними источниками угроз надежности функционирования сложныхПО можно считать следующие дефекты программ:
•системные ошибки проектирования при постановке целей и задач создания
программного средства, при формулировке требований к функциям и характеристикам решения задач, определении условий и параметров внешней среды, в которой предстоит применять программное средство;
•алгоритмические ошибки разработки при непосредственной спецификации
функций ПО, при определении структуры и взаимодействия компонентов комплексов программ, а также при использовании информации баз данных;
•ошибки программирования в текстах программ и описаниях данных, а также
в исходной и результирующей документации на компоненты и ПО в целом;
•недостаточная эффективность используемых методов и средств оперативной защиты программ и данных от сбоев и отказов, обеспечения надежности
функционирования ПО в условиях случайных негативных воздействий.
14.
Внешними дестабилизирующими факторами, отражающимися на надежности функционирования перечисленных объектов уязвимости в программномсредстве, являются:
•ошибки оперативного и обслуживающего персонала в процессе эксплуатации
программного средства;
•искажения в каналах телекоммуникации информации, поступающей от внешних источников и передаваемой потребителям, а также недопустимые для конкретной информационной системы характеристики потоков внешней информации;
•сбои и отказы в аппаратуре вычислительных средств;
•изменения состава и конфигурации комплекса взаимодействующей аппаратуры информационной системы за пределы, проверенные при испытаниях или сертификации и отраженные в эксплуатационной документации.
15.
При проектировании программ по критерию надежности среди прочих необходимо придерживаться следующих правил:•использовать лицензионное ПО известных компаний;
•создавать программные модули с широкой
диагностикой
некорректного
к ним обращения;
•проводить систематические тестирования ПО на всех этапах его ЖЦ;
•оперативно устранять последствия дефектов программ.
Таблица 1. Объекты уязвимости
и последствия нарушения надежности
16.
Методы повышения надежностиРешение задач обеспечения устойчивости ПО к ошибкам позволит минимизировать ущерб, вызванный их появлением. Первоочередными задачами, от решения которых зависит обеспечение устойчивости ПО, являются:
• обработка и диагностика сбоев аппаратуры и изоляция ошибок;
• динамическое изменение конфигурации;
• сокращенное обслуживание в случае отказа отдельных функций системы;
• копирование и восстановление данных.
Кроме того, ПО необходимо дополнять средствами обеспечения его устойчивости к ошибкам, реализуя принципы их предупреждения, обнаружения и исправления. К методам, которые позволяют
решить эти задачи, относятся:
• предотвращение ошибок за счет структурного программирования;
• сокрытие и (или) дозированный доступ к данным со стороны ПО;
• отладка и качественная диагностика выполнения ПО;
• обработка исключительных ситуаций (перехват ошибок, например, деление на ноль) и локализация ошибок и сбоев;
• восстановление программы после сбоя.
17.
Оперативными методами повышения надежности ПО являются временная,информационная и программная избыточность.
Временная избыточность состоит в обеспечении запаса производительности вычислительной системы
в целях выделения части этого запаса для контроля исполнения программ, их диагностики и реализации восстановления вычислительного процесса. В зависимости
от требований к надежности ПО величина временно́й
избыточности может лежать в интервале от единиц процентов производительности компьютера до 3…4-кратного дублирования производительности отдельной машины в многопроцессорных вычислительных системах.
Информационная избыточность состоит в определении тех обрабатываемых программами данных,
которые в наибольшей степени влияют на нормальное функционирование программного средства
и требуют значительного времени для восстановления. Далее реализуется их защита путем 2…3-кратного дублирования с периодичным обновлением.
Программная избыточность используется для контроля и обеспечения достоверности наиболее важных
решений по обработке информации. Она заключается в сопоставлении результатов обработки одинаковых
исходных данных программами, различающимися используемыми алгоритмами, и в исключении искажений при несовпадении результатов. Программная избыточность необходима также для реализации программ автоматического контроля и восстановления данных с использованием информационной избыточности и для функционирования всех средств обеспечения надежности, использующих временну́ю избыточность.
18.
На основании методов обнаружения ошибок были разработаны следующие средстваповышения надежности ПО.
Средства, использующие временную избыточность: авторизация доступа пользователей к системе; анализ доступных пользователю ресурсов; выделение ресурсов
согласно ролям и уровням подготовки пользователей; разграничение прав доступа
пользователей к отдельным задачам, функциям управления, записям и полям баз
данных.
Средства обеспечения надежности, использующие информационную избыточность: ссылочная целостность баз данных, которая обеспечивается за счет системы
внутренних уникальных ключей для всех информационных записей системы; открытая система кодирования, позволяющая пользователю в любой момент изменять коды любых объектов классификации, которая обеспечивает стыковку системы классификации АИС делопроизводства с ПО других разработчиков; механизмы проверки значений контрольных сумм записей системы, обеспечивающие выявление всех
несанкционированных модификаций (ошибок, сбоев) информации.
19.
К способам обеспечения и повышения надежности ПО относятся:• усовершенствование технологии программирования (например, формальное
описание этапов программирования с помощью языка UML);
• выбор алгоритмов, не чувствительных к различного рода нарушениям вычисли-
тельного процесса (использование алгоритмической избыточности);
• резервирование программ — N-версионное программирование;
• верификация и валидация программ с последующей коррекцией.
software