
- •Оглавление
- •Цикл жизни программного обеспечения
- •Начальные этапы разработки по
- •Общие требования к методологии и проектированию по
- •Качество и надежность программного обеспечения
- •Показатели качества
- •Сложность комплексов программ
- •Надежность комплексов программ
- •Критерии надежности
- •Сбой, отказ, восстановление
- •Алгоритмы сортировки
- •Введение
- •Внутренняя сортировка
- •Сравнение эффективности алгоритмов сортировки
- •Простая сортировка вставками
- •Быстрая сортировка Хоара. Сортировка методом пузырька
- •Сортировка методом «турнира с выбыванием»
- •Реализация сортировки вставками. Алгоритм Шелла.
- •Сортировка слиянием. Поразрядная сортировка
- •Поиск данных
- •Введение в поиск данных
- •Последовательный поиск
- •Поиск в упорядоченной таблице
- •Бинарный поиск
- •Поиск по дереву
- •Вставка в дерево бинарного поиска
- •Удаление из дерева бинарного поиска
- •Хеширование
- •Разрешение коллизий при хешировании методом открытой адресации
- •Выбор хеш-функции
- •Объектно-ориентированное программирование
- •Введение в объектно-ориентированное программирование
- •Инкапсуляция
- •Полиморфизм
- •Конструкторы и деструкторы
- •Наследование
- •Объединения, встраиваемые функции
- •Указатели и адреса
- •Программирование параллельных вычислений
- •Введение
- •Сети. Родитель сети
- •Синхронизация процессов
- •Литература
Сложность комплексов программ
Понятие сложности интуитивно ассоциируется с ресурсами, необходимыми для решения задачи. Задача считается простой, если невелики все ресурсы, используемые для ее решения. Если хотя бы один из ресурсов, необходимых для решения, очень велик или оказывается на пределе, доступном для использования, то такую задачу вряд ли назовут простой. Программа простая по количеству модулей и длине может оказаться сложной по объему вычислений или по числу обрабатываемых переменных, и наоборот. Сложность программ для систем реального времени преимущественно определяется допустимым временем отклика, а для информационно-поисковых систем - количеством типов обрабатываемых переменных.
Таблица 2.2. Значения показателей сложности ПО
Показатели сложности |
Уровень сложности ПО | |||
|
простой |
средней сложности |
сложный |
сверхсложный, уникальный |
|
10Е+3 |
10Е+4 |
10Е+5 |
10Е+6-10Е+7 |
|
1-3 |
10Е+1 -10Е+2 |
10Е+3 |
10Е+4 - 10Е+5 |
|
10 |
10Е+2 -10Е+3 |
10Е+4-10Е+5 |
10Е+6 - 10Е+8 |
|
10Е-2 -10Е-1 |
1 |
10 |
10Е+2 -10Е+3 |
|
10Е+6 -10Е+4 |
10Е+3 - 10Е+2 |
10-0.1 |
0.01 - 0.0001 |
|
0.1 |
1 - 10 |
100 |
10Е+3 - 10Е+4 |
|
0.1 - 0.5 |
1 - 2 |
2-5 |
3 - 10 |
|
1 - 2 |
3 - 10 |
10-10Е+2 |
10Е+2 - 10Е+3 |
Надежность комплексов программ
Надежность свойство объекта выполнять заданные функции, сохраняя во времени значения установленных эксплуатационных показателей в заданных пределах, соответствующих заданным режимам и условиям использования, технического обслуживания, ремонта, хранения и транспортировки. В соответствии с этим определением надежность является внутренним свойством системы, заложенным при ее изготовлении и проявляющимся при эксплуатации. Это свойство проявляется только во времени, и без более или менее длительного наблюдения и учета значений времени нельзя сделать заключения о надежности систем.
Для количественной оценки надежности применяется ряд показателей, выбор и приоритет которых зависят от конкретного типа и области применения объекта или системы. В основе этих характеристик лежат понятия о возможных состояниях системы: работоспособном и неработоспособном. Работоспособным называется такое состояние программного обеспечения, при котором ПО способно выполнять заданные функции с параметрами, установленными требованиями технической документации. В процессе функционирования ПО возможен переход из работоспособного состояния в неработоспособное и обратно. С этими переходами связаны события отказа и восстановления.
По полноте мероприятий, которые необходимо проводить для восстановления, различаются отказы: устойчивые, самоустраняющиеся и перемежающиеся. Для устранения устойчивого отказа требуется проведение специальных мероприятий по восстановлению работоспособности. Самоустраняющийся отказ или сбой характеризуется достаточно быстрым восстановлением работоспособности без внешнего вмешательства. Перемежающийся отказ представляет собой многократно повторяющиеся сбои, для полного устранения которых требуется внешнее вмешательство. По возможности восстановления работоспособности в процессе эксплуатации объекты делятся на восстанавливаемые и невосстанавливаемые. Невосстанавливаемые объекты не допускают ремонта или замены отказавших компонент и не обладают самовосстанавливаемостью во время выполнения своих функций. Такие объекты могут эксплуатироваться либо до первого отказа, либо до полного выполнения своих функций.
Основная цель контроля работоспособности состоит в своевременном выявлении фактов отказов или сбоев, в накоплении и обобщении данных, характеризующих работоспособность системы. Для контроля необходимы соответствующие ресурсы и затраты, которые в свою очередь могут влиять на работоспособность системы. Характеристики контроля - глубина и полнота проверок, степень автоматизации контрольных операций, длительность и порядок их выполнения и другие параметры - непосредственно влияют на оценку степени работоспособности системы.
Кроме контроля работоспособности применяется диагностический контроль, основное назначение которого состоит в локализации отказа, установлении его характера и причин. Диагностический контроль может способствовать установлению степени работоспособности системы, однако его основная цель заключается в обеспечении скорейшего восстановления. Для этого создаются методы и средства, позволяющие достаточно быстро обнаруживать причину отказа и локализовать ее с достаточной степенью детальности для быстрого устранения.