Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
129
Добавлен:
09.05.2015
Размер:
122.88 Кб
Скачать

Тема 11. Надежность программных комплексов 1

11.1. Понятие сложности программ. 1

11.2. Программные ошибки 2

11.3. Математические модели характеристик ошибок в программах 4

11.4. Надежность функционирования комплексов программ 9

Тема 11. Надежность программных комплексов

11.1. Понятие сложности программ.

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

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

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

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

Соседние файлы в папке разработка и стандартизация