Смекни!
smekni.com

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

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


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

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

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

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

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

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

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

а) по степени отличия структуры от древовидной → С = А - 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-му информационному элементу.

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

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

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