Оценка качества программных комплексов
Качество комплекса программ на каждом этапе системной отладки целесообразно оценивать группами показателей, характеризующих его с точки зрения наличия ошибок, а также трудоемкости их обнаружения и устранения.
Рассмотрим некоторые из возможных показателей качества по группам, используемые при системной отладке. К первой группе относятся показатели сложности и избыточности; ко второй – показатель физической реализуемости комплекса программ; к третьей – показатели времени функционирования, функциональной корректности, согласованности по управлению и согласованности по информации; к четвертой – показатели, характеризующие надежность комплекса программ, эффективность средств восстановления, эффективность системы защиты; к пятой – показатель эффективности комплекса программ, характеризующий затраты на проектирование и отладку комплекса программ.
Следует отметить, что хотя основное значение системной отладки состоит в проверке правильности работы всего комплекса программ, начинать ее надо с проверки работы каждого модуля. Поэтому выделяют следующие уровни проверок: единичный модуль, подсистему, внутренний интерфейс, внешний интерфейс, комплекс программ. Уровень подсистем целесообразно выделять при проверке сложных систем программного обеспечения. Обычно в отдельные подсистемы группируются модули по функциональному признаку.
Показатели качества оцениваются как для всего комплекса программ, так и для его частей (отдельных программных модулей и их совокупностей, подлежащих совместной системной отладке в соответствии с планом отладочных работ) и являются векторными величинами.
Среди количественных оценок приведенных показателей качества наиболее широко используемым является показатель сложности.
Сложность комплекса программ включает структурную и статистическую сложность.
Для анализа структурной сложности важнейшее значение имеет степень взаимосвязи модулей. При этом структурная сложность может быть оценена:
а) по степени отличия структуры от древовидной → С = А - G, где G – число связей, образующих древовидную структуру; А – реальное число связей между модулями комплекса;
б) сложностью связей по управлению
где – управляющие связи i-го модуля, которые вызывают его для исполнения; – связи, посредством которых i-й модуль вызывает другие модули; - сложность управляющих связей i-го модуля;
в) сложностью связей по информации:
где – количество имен переменных на входе i-го модуля, необходимых для его нормального функционирования; – количество имен переменных, подготавливаемых i-м модулем; Фi –сложность информационных связей i-го модуля.
Для оценки статистической сложности комплекса программ используется количество составляющих его программных модулей N.
Сложность программных модулей также включает понятия структурной и статистической сложности.
Структурная сложность программных модулей, как правило, определяется на основании учета количества маршрутов, исполняемых программой, и числа условных операторов:
где - количество условий, определяющих i-й маршрут j-го модуля; Мj - количество маршрутов j-го модуля.
Статистическая сложность программных модулей обычно определяется путем подсчета количества операторов N1j и операндов N2j – Ncj = N1j + N2j. ............