48018 (Оценка качества программных комплексов)
Описание файла
Документ из архива "Оценка качества программных комплексов", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "48018"
Текст из документа "48018"
Оценка качества программных комплексов
Качество комплекса программ на каждом этапе системной отладки целесообразно оценивать группами показателей, характеризующих его с точки зрения наличия ошибок, а также трудоемкости их обнаружения и устранения.
Рассмотрим некоторые из возможных показателей качества по группам, используемые при системной отладке. К первой группе относятся показатели сложности и избыточности; ко второй – показатель физической реализуемости комплекса программ; к третьей – показатели времени функционирования, функциональной корректности, согласованности по управлению и согласованности по информации; к четвертой – показатели, характеризующие надежность комплекса программ, эффективность средств восстановления, эффективность системы защиты; к пятой – показатель эффективности комплекса программ, характеризующий затраты на проектирование и отладку комплекса программ.
Следует отметить, что хотя основное значение системной отладки состоит в проверке правильности работы всего комплекса программ, начинать ее надо с проверки работы каждого модуля. Поэтому выделяют следующие уровни проверок: единичный модуль, подсистему, внутренний интерфейс, внешний интерфейс, комплекс программ. Уровень подсистем целесообразно выделять при проверке сложных систем программного обеспечения. Обычно в отдельные подсистемы группируются модули по функциональному признаку.
Показатели качества оцениваются как для всего комплекса программ, так и для его частей (отдельных программных модулей и их совокупностей, подлежащих совместной системной отладке в соответствии с планом отладочных работ) и являются векторными величинами.
Среди количественных оценок приведенных показателей качества наиболее широко используемым является показатель сложности.
Сложность комплекса программ включает структурную и статистическую сложность.
Для анализа структурной сложности важнейшее значение имеет степень взаимосвязи модулей. При этом структурная сложность может быть оценена:
а) по степени отличия структуры от древовидной → С = А - 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).
Оценка значений показателей качества проводится на основании анализа текста комплекса программ и его различных графовых моделей и на основании результатов тестирования.
Спецификации на комплекс программ служат основным эталоном для определения достаточности проведенных отладочных работ и должны содержать необходимую информацию о требуемых значениях показателей качества, которые необходимо обеспечить в процессе системной отладки. В спецификациях на комплекс программ должны быть сформулированы следующие требования: допустимые значения компонентов векторов сложности и избыточности, характеристики выполняемых функций в терминах их входов и выходов, максимально допустимый объем оперативной памяти, который может быть отведен исследуемому комплексу в процессе его функционирования, максимально допустимые объемы внешней памяти для размещения информационных элементов комплекса, максимально допустимые времена функционирования комплекса программ и его структурных элементов, основные последовательности реализации программных модулей, характеристики связей по информации, характеристики надежности, системы защиты и средств восстановления, эффективность комплекса программ. Несоответствие какого-либо компонента показателей качества требованиям спецификаций является либо следствием недостатков проектирования или программирования, либо следствием наличия ошибок.
В процессе исследования возможных вариантов повышения значений показателей качества комплекса программ может быть обнаружено, что ни один из них не позволяет обеспечить соответствие показателя требованиям спецификаций. В таком случае следует провести корректировку требований спецификаций с учетом реальных возможностей решения исследуемой задачи.