Смекни!
smekni.com

Оценка качества программных комплексов (стр. 2 из 2)

Показатель, характеризующий эффективность системы защиты, есть вектор

компонентами которого являются: Рн.д – вероятность несанкционированного доступа к модулям и информационным элементам комплекса программ; Сн.д – потери от "взлома" системы защиты.

Показатель, характеризующий эффективность средств восстановления, есть вектор

компонентами которого являются Кг – коэффициент готовности системы; σ – вероятность сохранности информации в системе; Tр.з – среднее время решения задачи; Pр.з – вероятность успешного решения задачи. Перечисленные компоненты используются для оценки эффективности оперативного (Кг, σ) и восстановительного (Тр.з, Рр.з) резервирования программных модулей и информационных массивов.

Показатель эффективности комплекса программ, полученного в процессе системной отладки, есть вектор


Компонентами которого являются: Спр – затраты на проектирование комплекса программ; Сп.о – затраты на программную отладку; Сс.о – затраты на системную отладку. В рамках разработанной методологии затраты на проведение системной отладки определятся выражением

где Сj – затраты на проведение j-го этапа системной отладки; Сн.он.о) - потери от необнаруженных ошибок; Рн.о - вероятность появления необнаруженной ошибки после проведения системной отладки.

Рис. 1

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

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

Оценка значений показателей качества проводится на основании анализа текста комплекса программ и его различных графовых моделей и на основании результатов тестирования.

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

В процессе исследования возможных вариантов повышения значений показателей качества комплекса программ может быть обнаружено, что ни один из них не позволяет обеспечить соответствие показателя требованиям спецификаций. В таком случае следует провести корректировку требований спецификаций с учетом реальных возможностей решения исследуемой задачи.

На основании сравнения значений компонентов и показателей качества с требованиями спецификаций может быть оценена общая отлаженность комплекса программ:

где ni – количество компонентов i-го показателя качества; I – количество рассматриваемых показателей качества;

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

После выполнения действий по локализации и устранению несоответствий значений показателей качества требованиям спецификаций осуществляется переход к новой итерации системной отладки по исследуемой группе показателей качества.

Таким образом, процесс выявления ошибок в комплексе программ (в том числе и сложных алгоритмических) с использованием системы показателей качества может быть в достаточной степени формализован, а его основные операции - автоматизированы.

В соответствии с выше изложенным – процесс отладки сложных комплексов программ должен включать такую последовательность действий.

1. Программная отладка: использование возможностей трансляторов и компиляторов для автоматического выявления синтаксических и других программных ошибок.

2. Составление плана отладки (выбор стратегии).

3. Автономная отладка программных модулей в соответствии с выбранной стратегией отладочных работ.

3.1. Проверка физической реализуемости исследуемой совокупности программных модулей:

а) оценка объемов оперативной и внешней памяти, необходимой для размещения комплекса программ (физической реализуемости);

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

в) проверка реентерабельности (самовосстанавливаемости) программных модулей путем проверки получения устойчивых результатов при многократном к ним обращении; г) локализация и исправление ошибок, связанных с использованием ресурсов вычислительной системы по памяти.

3.2. Проверка времени функционирования:

а) оценка времени функционирования методами тестирования;

б) исследование возможностей сокращения времени функционирования при превышении допустимых значений (распараллеливание процесса вычислений, организация параллельного выполнения операций ввода – вывода и вычислительных операций и т.п.);

в) локализация и устранение обнаруженных ошибок.

3.3. Проверка правильности реализации основных функций, сопряжений программных модулей, информационных связей:

а) определение маршрутов обработки информации, характеризующих основные функции, сопряжения, информационные связи;

б) генерация тестовых данных для полученного набора маршрутов;

в) проверка правильности выполнения маршрутов по результатам тестирования и оценка компонентов функциональной корректности, согласованности по управлению и информации;

г) локализация и устранение обнаруженных ошибок.

4. Связная (комплексная) отладка автономно отлаженных совокупностей программных модулей и всего комплекса программ.

4.1. Проверка физической реализуемости.

4.2. Проверка времени функционирования.

4.3. Проверка правильности реализации основных функций, сопряжений, информационных связей.

5. Проверка требований по обеспечению защиты от несанкционированного доступа (тесты, основанные на попытках "взлома" защиты), по обеспечению сохранности программных модулей и информационных массивов (тестирование средств восстановления), по обеспечению надежностных характеристик (статистическое тестирование); проверка поведения комплекса программ при неблагоприятных внешних условиях (тестирование на больших объемах исходных данных, -при пиковых нагрузках и т.п.) и недостоверных исходных данных.

6. Оценка эффективности комплекса программ по затратам на его проектирование и отладку. Оформление программной документации.

В программную документацию включаются:

1) спецификация, определяющая состав комплекса программ и документации;

2) общее описание комплекса программ, содержащее сведения о назначении программы, области применения, используемых методах, ограничениях на применение;

3) руководство программиста, содержащее описание используемых средств программирования (включая сведения об используемой версии ОС) и требования к конфигурации технических средств, описание интерфейсов, имен программных модулей, логической и физической структуры базы данных, описание используемых пакетов прикладных программ и средств диагностики и т.п.;

4) руководство оператора, содержащее описание внешних носителей, правила организации программ на внешних носителях, состав сообщений оператору, описание входного потока заданий и т.п.;

5) текст комплекса программ, содержащий тексты программных модулей с комментариями, данные контрольного примера, управляющие операторы подготовки и запуска контрольного примера, значения основных показателей качества комплекса программ;

6) описание контрольного примера, содержащее описание проверяемых функций и параметров, входной информации, результаты прогона по данным контрольного примера, управляющих операторов подготовки и запуска контрольного примера.

После завершения отладки комплекс программ и его программная документация передаются в эксплуатацию.