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

X краткие сообщения

УДК 004.05

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

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

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

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

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

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

Введение

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

Модели и стандарты качества ПС

Наиболее современный стандарт — ISO/ IEC 25000 — характеризует модель качества как определенный набор характеристик (т. е. категорий атрибутов, которые имеют отношение к качеству ПС) и отношений между ними, которые обеспечивают основу для спецификации требований к качеству и оценки качества [1]. Наиболее распространенными в настоящий момент являются модели типа «факторы—критерии метрики» (модели МакКола [2], Боэма [3], FURPS [4], Гилба [5], IEEE 1061 [6], ГОСТ 28195-89 [7], ISO/IEC 9126, ISO/IEC 25000 [1]), модели типа «цель—вопрос— метрика» (GQM), модели типа «процесс/продукт» (модели Дроми [8] и SQUID [9]).

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

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

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

3. Уровень детализации обратно влияет на уровень применимости. Существующие модели являются или абстрактными, при этом широко применимыми, или детальными и узко применимыми. При этом высокий уровень абстракции нивелирует широкое применение, а узкая применимость нивелирует высокую степень детализации.

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

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

Формальная модель качества

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

Категория качества Q используется для представления понятия качества ПС и состоит из объектов ОЬ(Я) и морфизмов Mor(Q).

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

п (і с разбиением ОЬ^) = у Qi, где Я; = \йт} 1 —

і=0 т=

множество объектов і-го уровня иерархии; ki — число элементов множества Qi.

Класс морфизмов категории качества описывается тремя множествами Мог^) = Могв1(0) и и Мо^№ и Мог,.^): множеством строгих иерархических морфизмов Могві(0), множеством нестрогих иерархических морфизмов Mordi(Q) и множеством одноуровневых морфизмов Могв]((0).

Строгие иерархические морфизмы категории качества:

1) для любых двух объектов qla, q1b Є Q^, іє{1, п} определяется множество морфизмов

Могзі (а > Яь) из ^ в Чъ :

Могз1

(«а , [ЪЪ) :

где 1 і — тождественный морфизм объекта д1а;

Ча

2) для любых двух объектов Є Яі+і,

д1ь Є Яі при іє{1, ..., п - 1}, ає{1, ..., k}, Ьє{1,

^;+1} множество морфизмов определяется пустым

М°гз1 (ц1а+1> Чъ)=0; .

3) для любого объекта еф; могут суще-

ствовать объекты

' -1 т4)

вида

Мог51 \Я1а1, Уь) состоит из одного морфизма для каждогоьобъекта qlal^^ Для всех остальных объектов д^1 € при а ф аь множество морфизмов

задается пустым:

могзі (а1* яь )--

Нестрогие иерархические морфизмы категории качества:

1) для любых двух объектов д1а, д£ ie{1, ..., п} определяется множество морфизмов м°^1 (а»Чъ) из Ч1о в Яь :

МоГй

2) для любых двух объектов ц]а €фу, €<3;

при и ]<е {0, ..., п - 1}, i < ], ае{1, ..., йД, Ье{1, ..., й;+1}

морфизмов определяется пустым

’’' = 0;

3) для любого объекта q|| еЯ у могут существовать объекты вида е при]> i + 1 такие, что

состоит из одного морфизма для

множество м°^і (<!1а+1’ Чь

Мог,

<и

каждого объекта qa . Для всех остальных объек-

Рис. 1. Схема категории качества

Внутреннее и внешнее качество

41

-0,1

Удобство ]

сопровожденияJ

Принципы проектирования

41 . а,2

Ь1,3

Удобство внесения изменений

г 2,3 Ь3,3

г 2,3 Ь;

3,4

£1,2

^1,4

Анализируе-мость

44

;2,3

’4,3

4з

Отсутствие

классов-

данных

;2,3

’4,4

Отсутствие

классов-

монстров

44

Рис. 2. Пример модели качества

тов д1а1 € при а^ ф аь множество морфизмов за-

дается пустым:

[0, а ^ аь

Одноуровневые морфизмы категории качества:

1) для любых двух объектов qla, q}b е Q^, ie{1, ..., п} определяется множество морфизмов Могз1 (я'а»Яь) из Я'а в ЯЬ :

Мог„

(яа > Яь

&ь}.

К; }•а

2) для любых двух объектов qla е Qi, ql € Qj, i, уе{1, ..., п} множество одноуровневых морфизмов является пустым: Мог31 (с^, ^ = 0.

Структура категории качества показана на рис. 1.

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

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

В качестве примера рассмотрим фрагмент модели качества, представляющей стандарт КО/ 1ЕС 25000, в котором выделим иерархию показателей, порождаемую характеристикой «удобство сопровождения». Согласно стандарту КО/1ЕС 25000, эта характеристика зависит от подхарактеристик «удобство проверки», «стабильность», «удобство внесения изменений», «анализируемость» и «соответствие стандартам сопровождения». Декомпозируем подхарактеристики качества на ряд принципов проектирования применительно к объектноориентированному стилю. Это принципы: «высокое сцепление», отражающий необходимость усиления использования в методах класса членов этого же класса; «низкая связность», состоящий в уменьшении межклассовых зависимостей; «отсутствие классов-данных», т. е. классов, использующихся только в качестве структур данных для методов других классов, и «отсутствие классов-монстров», проявляющегося в существовании большого и сложного класса, который мало зависит от остальных классов и предоставляет им мало функциональности. Результирующая модель качества показана на рис. 2.

Реализация требований формального моделирования качества

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

1) для двух объектов qla, £е1,...,ге — 1 и <^с, I е 1,..., п — 1 — проверка на пустоту множества

одноуровневых морфизмов Мог31 ш1а, q^c) = 0 при i = I; К ’

2) для всех листовых объектов — проверка пустоты Могв1 = 0.

Второй тип проверки реализуется путем проверки для двух объектов qla, i е 1,..., п — 1 и qlc, I е 1,..., п — 1 выполнения следующих условий:

1) отсутствия одноуровневых морфизмов между этими объектами: Мог31 = 0 при i = I;

2) отсутствия строгих иерархических морфизмов между этими объектами: Могз1 , дс н

при i ф I;

3) отсутствия нестрогих иерархических морфизмов между этими объектами: МогЛ1 (с[1а, д1с 0

при i ф I;

4) отсутствия пересечений продолжений конусов, куда входят подмножества морфизмов, имеющих в качестве вершин эти объекты:

Литература

и

j=1,..., n; kEl

qa

n

и

h=1,..., n; gEl

qk

qg

n

=0.

Заключение

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

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/catalogue