Управление качеством программных средств

УДК 004.05

УПРАВЛЕНИЕ КАЧЕСТВОМ ПРОГРАММНЫХ СРЕДСТВ

В. В. Бураков,

канд. техн. наук, доцент

Санкт-Петербургский государственный университет аэрокосмического приборостроения

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

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

Ключевые слова — качество программ, управление

Введение

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

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

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

Объектом управления системы является модель ПС, модель качества формирует внешнюю среду. В общем виде компоненты системы управления качеством и их взаимодействие показаны на рис. 1.

Согласно принципам описываемой технологии, исходный код является основой ПС, и имен-

мониторинг показателей качества и улучшение этих по-

качеством программ.

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

Исходный код поступает на вход подсистемы моделирования ПС, в которой происходит генерация модели ПС. В этой модели для представления кода ПС используется теория графов в силу наглядности и простоты описательных механизмов и потенциально неограниченных возможностей по адаптации моделей к задачам описания (изменение уровня детализации) и к описываемым сущностям ПС (моделирование сущностей и связей с помощью введения типов вершин и ребер) [2]. Базовые понятия теории графов расширяются для моделирования ПС с помощью введения меток для идентификации вершин и ребер и ролей для задания прецедентов использования сущностей ПС. Для адекватного соотнесения вершин и ребер графа с моделируемыми сущностями ПС вводится специальный тип метаграфов — типовые графы. Стадию моделирования предваряет стадия адаптации. Для адаптации графовой модели к задачам описания и предметной области необходимо типизировать вершины и ребра, построить множества типовых графов.

Подсистема моделирования качества предназначена для создания модели качества и модели измерений ПС. Для моделирования качества используется теория категорий, в качестве объектов разработанной категории качества используются характеристики, подхарактеристики качества ПС и принципы проектирования ПС [2]. В качестве морфизмов — строгие и нестрогие иерархические морфизмы для определения связей между разноуровневыми элементами модели и одноуровневые морфизмы для моделирования

[ Программное^ ' средство

Подсистема моделирования ПС

Подсистема реализации преобразований

/

/ Преобразован-1 Л на я модель ПС I \ / \ /

\ /

Модель ПС

Подсистема моделирование качества

А К Ч И

ф Ф

ч а о Ф

И

К

—

Подсистема идентификации состояний ПС

Классы качественного / \состояния ПС/

Классификация качественного состояния ПС ,

Рис. 1. Общая структура системы управления качеством ПС

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

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

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

Задачей подсистемы формирования преобразований является определение оптимального набора преобразований на основе состояния ПС с использованием методов классификации и теории принятия решений.

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

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

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

Алгоритм функционирования системы управления качеством программных средств

Рассмотрим этапы алгоритма управления качеством ПС (рис. 2) более подробно.

1

Определение общих требований к качеству ПС:

I построение модели качества, модели измерений

Определение требований к качеству с учетом языка разработки: детализация модели измерений

Разработка (мета-) модели ПС - объединение типов вершин и ребер, достаточных для формализации метрик

£. Создание'модели V* конкретного ПС

/о Формирование классов качественного Л состояния ПС (определение экспертами граничных значений метрик для разных классов, создание базы данных ПС и классификация их экспертами или системой на основе репозитория ПС) у

Определение типов элементарных преобразований ПС

Ї

Определение комплексных преобразований ПС

Выбор комплексного преобразования переводящего сущности ПС из дефектне

дефектного

в эталонный класс состоянии

Г10 Реализация выбранной Л

(^последовательности преобразований^

11 Проверка сохранения функциональных свойств

Рис. 2. Алгоритм управления качеством ПС

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

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

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

Шаг 4. Формируется перечень элементарных преобразований, базис которых представляет собой удаление и добавление вершины или ребра каждого типа. Дополнительно могут определяться такие операции, как переименование, изменение типа и другие преобразования ПС.

Шаг 5. Информация о модели метрик, ПС и элементарных преобразованиях поступает на вход подсистемы обучения с учителем. Экспертами сообщаются системе диапазоны значений метрик для всех типов программных сущностей. Выбираются шкалы оценки состояний (например, «эталонное», «дефектное»). На вход системы также могут быть поданы ПС, состояние качества которых заранее известно, таким образом формируется репозиторий ПС. Система анализирует значения метрик программных сущностей этих ПС.

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

Шаг 6. На основе метамодели на шаге 4 формируются элементарные преобразования, которые здесь комбинируются в комплексные. Каждое комплексное преобразование соответствует приведению сущности ПС из одного класса состояния в другое.

Шаг 7. На основании определенных типов вершин и ребер строится модель ПС, качество которой подлежит оценке.

Шаг 8. Осуществляется применение решающих правил, выработанных на шаге 5.

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

Шаг 10. На данном шаге происходит реализация выбранного на шаге 9 комплексного преобразования или их композиции.

Шаг 11. Осуществляется путем запуска пакета тестов, состав которого позволяет сделать вывод о том, что осуществленные преобразования не повлияли на функциональные свойства ПС.

Шаг 12. Повтор шагов 7-11 до тех пор, пока качественное состояние ПС не будет соответствовать эталонному.

Шаг N. Верификация решающих правил.

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

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

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

2) повысилась оперативность работ по управлению качеством программных средств за счет автоматизации процессов поиска дефектов и выполнения преобразований программ;

Литература

1. ISO/IEC, ISO/IEC 25000: Software Engineering — Software Product Quality Requirements and Evaluation (SQuaRE) — Guide to SQuaRE. Geneva: International Organization for Standardization, 2005. http:// www.iso.org/iso/iso_catalogue/catalogue_tc/cata-logue_detail.htm?csnumber=35683

2. Бураков В. В. Концептуальное моделирование качества программных средств // Авиакосмическое приборостроение. 2008. № 7. С. 54-60.

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

Выводы

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

3. Бураков В. В. Методика оценки качества программных средств // Изв. вузов. Приборостроение. 2008. Т. 51. № 1. С. 35-41.

4. Бураков В. В. Формальный базис преобразований программных средств // Изв. вузов России. Радиоэлектроника. 2008. Вып. 2. С. 22-30.