Оценка качества программных комплексов

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

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 26.10.2010
Размер файла 261,2 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Оценка качества программных комплексов

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

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

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

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

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

Сложность комплекса программ включает структурную и статистическую сложность.

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

а) по степени отличия структуры от древовидной > С = А - G, где G - число связей, образующих древовидную структуру; А - реальное число связей между модулями комплекса;

б) сложностью связей по управлению

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

в) сложностью связей по информации:

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

Для оценки статистической сложности комплекса программ используется количество составляющих его программных модулей N.

Сложность программных модулей также включает понятия структурной и статистической сложности.

Структурная сложность программных модулей, как правило, определяется на основании учета количества маршрутов, исполняемых программой, и числа условных операторов:

где - количество условий, определяющих i-й маршрут j-го модуля; Мj - количество маршрутов j-го модуля.

Статистическая сложность программных модулей обычно определяется путем подсчета количества операторов N1j и операндов N2j - Ncj = N1j + N2j. Таким образом показатель сложности можно представить вектором

Компоненты вектора сложности служат ориентирами при планировании отладочных работ и сравнении различных версий комплекса программ.

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

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

Избыточность программных модулей определяется количеством лишних операторов и тупиков в программах {И3j}; здесь j - индекс программного модуля.

Показатель избыточности представляется вектором

Показатель физической реализуемости характеризует ресурсы вычислительной техники по памяти, необходимые для функционирования комплекса программ. Он включает: объемы оперативной памяти, необходимые комплексу программ при различных режимах его работы {Vm}; корректность вызова управляющей программой совокупностей программных модулей, соответствующих различным режимам работы {Рт}, объемы внешней памяти по различным типам запоминающих устройств {Wk}.

Корректность вызова в оперативную память группы модулей, соответствующих m-му режиму работы комплекса программ, может быть определена на основе анализа спецификаций, а соответствующие компоненты физической реализуемости представлены булевыми величинами:

Таким образом, показатель физической реализуемости есть вектор:

Функциональная корректность комплекса программ есть вектор

Компоненты которого характеризуют корректность программной реализации функций комплекса программ относительно требований спецификаций. Здесь Q - количество функций, выполняемых комплексом в соответствии с системными спецификациями. Компоненты вектора могут быть представлены булевыми величинами и определяются следующим образом:

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

Показатель времени функционирования комплекса программ включает средние времена функционирования основных режимов работы комплекса {Тт} и средние времена функционирования отдельных программных модулей и их совокупностей

Согласованность по управлению включает согласованность по управлению комплекса программ и согласованность по управлению его программных модулей.

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

или

Ошибки в сопряжениях модулей - yj - обычно сводятся к следующим: отсутствует вызов необходимого модуля; вызывается модуль, не подлежащий исполнению; управление передается в точку, не предназначенную для возврата управления.

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

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

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

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

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

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

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

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

компонентами которого являются Кг - коэффициент готовности системы; ? - вероятность сохранности информации в системе; 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) описание контрольного примера, содержащее описание проверяемых функций и параметров, входной информации, результаты прогона по данным контрольного примера, управляющих операторов подготовки и запуска контрольного примера.

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


Подобные документы

  • Технология разработки и внедрения программного обеспечения автоматизированной системы управления. Классификация ошибок в программах на этапе эксплуатации системы и общие задачи процесса ее отладки. Методы обнаружениея и локализации ошибок в программах.

    контрольная работа [480,4 K], добавлен 25.10.2010

  • Влияние качества программных продуктов на экономические характеристики производства, управление ими. Стандартизированные характеристики качества сложных программных продуктов. Гипотетические примеры определения требований к характеристикам качества.

    контрольная работа [22,4 K], добавлен 13.12.2014

  • Анализ основных проблем звукового монтажа и изучение возможных методов устранения ошибок в записанном материале. Характеристика программного обеспечения, используемого при звукомонтаже. Общие способы выявления причин проблемного монтажа звуковых записей.

    курсовая работа [1,9 M], добавлен 08.01.2012

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

    презентация [301,0 K], добавлен 26.10.2016

  • Стадии разработки программного средства. Средства, методологии и методы его разработки. Оценка надежности и качества проекта. Обоснование необходимости разработки программы. Тестирование как процесс выполнения тестовой программы с намерением найти ошибки.

    презентация [57,0 K], добавлен 27.12.2013

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

    контрольная работа [26,6 K], добавлен 23.01.2011

  • Эффективность и оптимизация программ. Разработка программных продуктов. Обеспечение качества программного продукта. Назначение, область применения, требование к программному продукту. Требования к функциональным характеристикам, надежности, совместимости.

    курсовая работа [46,8 K], добавлен 05.04.2009

  • Критерии оценки эффективности и качества создания программных средств. Роль трудоемкости и длительности создания программных средств в определении эффективности их создания. Требования к качеству, суммарные затраты на разработку программного средства.

    реферат [26,7 K], добавлен 10.10.2014

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

    курсовая работа [6,2 M], добавлен 31.03.2012

  • Изучение алгоритмов тестирования клавиатуры, CMOS-памяти и спикера с учетом выявленных особенностей процессов их диагностики. Исследование процессов самотестирования компьютерной системы при включении. Звуковые коды ошибок, выдаваемые процедурой POST.

    лабораторная работа [19,1 K], добавлен 06.08.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.