Например, Бобцов

ФОРМАЛЬНЫЙ БАЗИС ДЛЯ ОЦЕНКИ КАЧЕСТВА ПРОГРАММНЫХ СРЕДСТВ

Формальный базис для оценки качества программных средств

31
УДК 004.05

В. В. БУРАКОВ
ФОРМАЛЬНЫЙ БАЗИС ДЛЯ ОЦЕНКИ КАЧЕСТВА ПРОГРАММНЫХ СРЕДСТВ
Предлагается описание формальных компонентов оценки качества программных средств. Представлены модели программных средств, качества и метрик программных средств. В качестве формальной основы моделей используются теория категорий и теория графов. В рамках описываемого подхода с помощью модели качества осуществляется концептуальное моделирование понятия качества программных средств и обеспечивается количественная оценка качества с помощью модели метрик.
Ключевые слова: оценка качества программных средств, модель качества программных средств, модель метрик программных средств.
Область управления качеством программных средств (ПС) развивается уже на протяжении четырех десятилетий, однако говорить о повсеместном повышении качества ПС не приходится. Существующие подходы к управлению качеством ПС характеризуются отсутствием согласованности в определениях метрик; отсутствием обобщенного, адаптируемого подхода к оценке качества ПС посредством метрик; отсутствием согласованных, гибких и адаптируемых моделей качества, задающих недвусмысленное толкование характеристик качества и однозначную интерпретацию измерений; низкой информативностью моделей качества, сложностью инженерной интерпретации результатов оценки качества [1], отсутствием связи модели качества с принципами проектирования ПС. В ряде стандартов и публикаций большое внимание уделяется процессам обеспечения качества ПС, однако в основном умалчивается, что означает высокое качество, какими характеристиками оно описывается, как его следует измерять и сравнивать с требованиями, формализованными в техническом задании [2].
Предлагаемый в настоящей статье подход к оценке качества ПС базируется на следующих компонентах: модели качества ПС, содержащей механизмы для формального определения характеристик качества и их отношений и предоставляющей средства для учета принципов проектирования; модели метрик ПС, формирующей механизмы для формального определения метрик качества и их отношений; модели ПС, предоставляющей базис для описания конструкций и характеристик ПС и квантификации принципов проектирования; методике оценки качества, определяющей этапы процесса оценки качества ПС.
Особенность предлагаемых моделей заключается в описании элементов (например, показателей качества или метрик) в независимом от предметной области, типа ПС и парадигмы разработки виде. Предлагаемые модели являются гибкими и содержат механизмы для адаптации к конкретным средам разработки.
Модель качества ПС. К настоящему моменту разработаны, стандартизованы и используются несколько моделей качества. Для всех этих моделей характерна иерархическая, древовидная (или сетевая) структура, состоящая из высокоуровневых показателей, которые детализируются показателями более низких уровней до тех пор, пока декомпозиция не приводит к атомарным и измеримым атрибутам (метрикам). Основными недостатками существующих моделей качества являются высокая степень специализации, отсутствие терминологической согласованности, отсутствие методов формализации процесса построения, обратно пропорциональная зависимость между степенями детализации и применимости, низкая степень

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2009. Т. 52, № 1

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

формализации, низкий уровень прозрачности причинно-следственных связей, отсутствие поддержки принципов проектирования.
Для устранения указанных недостатков предлагается модель качества, формализация которой основывается на теории категорий. Обоснованием выбора именно этого формального аппарата служат такие факторы, как возможность использования теории категорий в качестве универсального концептуального языкового описательного средства, применимость в качестве мощного средства абстракции и обобщения, естественность использования при разработке от концепции к реализации, возможность получения с помощью этой теории универсальных конструкций и результатов.
Рассмотрим основные понятия предлагаемой модели. Категория качества. Категория качества Q используется для представления понятия
качества ПС и состоит из объектов Ob(Q) и морфизмов Mor(Q) .
Объекты категории качества. Класс объектов категории качества представляет характеристики и подхарактеристики качества, а также принципы проектирования ПС и явля-
∪ется конечным множеством с разбиением Ob(Q) = n Qi , где Qi = {qmi }mki =1 — множество объi=0
ектов, соответствующих характеристикам качества и принципам проектирования i -го уровня иерархии; ki — число элементов множества Qi .
На верхнем уровне иерархии находится само понятие „качества“ — объект q10 , поэтому
k0 = 1, на следующих уровнях иерархии количество объектов удовлетворяет формуле
ki+1 ≥ 2ki , i ∈{1, ..., n −1} . При этом Qi ∩ Qj = ∅ , i ≠ j , т.е. каждая характеристика качества
находится на одном определенном уровне иерархии. Морфизмы категории качества. Класс морфизмов категории качества описывается
тремя множествами: Mor(Q) = Morsi (Q) ∪ Mordi (Q) ∪ Morsl (Q) — множеством строгих ие-
рархических морфизмов Morsi (Q) , множеством нестрогих иерархических морфизмов
Mordi (Q) и множеством одноуровневых морфизмов Morsl (Q) . Определим каждое из этих множеств.
Строгие иерархические морфизмы: — для любых двух элементов qai , qbi ∈ Qi , i ∈{1, ..., n} , a ∈{1,..., ki}, b ∈{1,..., ki+1}, опре-
деляется множество морфизмов Morsi (qai , qbi ) из qai в qbi :

Morsi

(qai

,

qbi

)

=

⎪⎧∅, ⎨⎪⎩{1qai

a },

≠ b; a=

b,

где 1qai — тождественный морфизм объекта qai ; — для любых двух элементов qai+1 ∈ Qi+1, qbi ∈ Qi при i ∈{0, ..., n −1} множество мор-
физмов определяется пустым: Morsi (qai+1, qbi ) = ∅ ; — для любого элемента qbi ∈ Q i существуют элементы вида qai−b1 ∈ Qi−1 , такие что
Morsi (qai−b1, qbi ) состоит из одного морфизма для каждого элемента qai−b1; для всех остальных элементов qai−j1 ∈ Qi−1 при a j ≠ ab множество морфизмов задается пустым:

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2009. Т. 52, № 1

Формальный базис для оценки качества программных средств

33

Morsi

(qai−1, qbi

)

=

⎨⎪⎧{ξia−,1b,i }, ⎪⎩∅, a ≠

a= ab .

ab ;

Символ ξ (здесь и далее) служит для обозначения функций, входящих в множество морфизмов.
Таким образом, кроме тождественного, не существует других видов строгих иерархических морфизмов на одном уровне иерархии категории качества. Остальные строгие морфизмы определяют связи i -го уровня иерархии с i + 1-м, т.е. как связи характеристик с подхарактеристиками и подхарактеристик с принципами проектирования. Возможна ситуация, когда несколько элементов верхнего уровня связаны с одним элементом нижнего множеством морфизмов (по одному на каждый элемент верхнего уровня).
Для любого qbi ∈ Qi и для любого подмножества Qj при j < i существует единственный
элемент qajb ∈ Aj , такой что множество Morsi (qajb , abi ) состоит из одного морфизма. Для всех
остальных элементов qaj ∈ Q j , a ≠ ab , множество Morsi (qaj , qbi ) является пустым. Произведе-
ния морфизмов отвечают отношению характеристика — подхарактеристика — принцип проектирования низших уровней иерархии.
Нестрогие иерархические морфизмы. Для любого элемента qbj ∈ Q j существует един-
ственный элемент qai b ∈ Qi , такой что Mordi (qai b , qbj ) состоит из одного морфизма при
i, j ∈{1, ..., n} и i < j . Для всех остальных элементов qai k ∈ Qi при ak ≠ ab множество морфизмов задается пустым:

Mordi

(qai

, qbj

)

=

⎩⎧⎪⎪⎨{∅ξ,ia,,jb

}, a



a= ab .

ab ;

Нестрогие иерархические морфизмы служат для описания отношений несоседних уровней иерархии.
Одноуровневые морфизмы. Для любых двух элементов qai , qbi ∈ Qi , i ∈{1, ..., n} , опреде-
ляется множество морфизмов Morsl (qai , qbi ) из qai в qbi :

Morsl

(qai

,

qbi

)

=

⎪⎧{ξai,,bj }, ⎨⎪⎩{1qai },

a ≠ b; ,
a = b,

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

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2009. Т. 52, № 1

34 В. В. Бураков
Модель качества q10

ξ

0,1 1,1

ξ

0,1 1,2

ξ10,,1p

q11
...

q1n−1 ξn1–,11,n
q1n

ξ1n,–21,n

q

n 2

ξ n–1,n–1 2,1

ξ

n–1,n 2,3

q

n 3

q

1 2

...

q

n–1 2

ξn2–,41,n

q

n 4

...

q

1 p

ξn2–,51,n

...ξ21,,t–n1

...
q n −1
r

ξ n–1,n r, t–1

q

n 5

qn
t−1

ξ

n–1,n r, t

qn
t

Рис. 1
Модель метрик ПС. В модели метрик вводятся два типа метрик — базовые и производные. Базовой является метрика, для оптимального вычисления которой не используются другие метрики. Производная метрика строится на основе вычисления значений операций над другими базовыми и производными метриками.
Совместно с графовыми моделями, представляющими множество моделей ПС, обладающих одинаковой функциональностью, но отличающихся структурой, базовые метрики наравне с производными образуют метрические пространства (МП).
Базовые метрические пространства. Базовыми являются счетные дискретные метриче-
ские пространства M b . Образующие эти пространства множества представляют собой графовые модели ПС. Метриками оценивается количество элементов графа определенного типа.
Производные метрические пространства. Производными являются метрические про-
странства M d , элементы которых представляют собой графовые модели ПС, а метрики определяют количественные свойства графовых моделей, полученные на основе вычислений n -местных функций; аргументами этих функций являются как базовые, так и производные метрики.
На пространствах M b , M d вводится множество операторов для формального описания процесса комплексирования производных метрик из других производных и базовых.
Операторы комплексирования. Операторы комплексирования Ac: M b →M d ,
Ac: M d →M d отражают зависимости одних производных метрик от других производных или ба-
зовых. В зависимости от способов комплексирования операторы Ac могут иметь различную природу, быть линейными, нелинейными, ограниченными, непрерывными, деминепрерывными и т.п.
Метрические пространства совместно с операторами комплексирования образуют категорию метрик.
Категория метрик. Категория MS , объектами которой являются метрические про-
странства M b и M d , а морфизмами — операторы комплексирования Ac , называется категорией метрик. Структурная схема модели метрик представлена на рис. 2.
В модели метрик, в отличие от модели качества, морфизмы Ac имеют противоположное направление, образуя коконусы, являющиеся копроизведениями. Таким образом, выявляется назначение модели метрик — определять метрические пространства для оценки концептуальных понятий качества и определять функциональные зависимости для порождения значений производных метрик, соответствующих верхним уровням иерархии за счет комплексирования метрик, соответствующих нижним.

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2009. Т. 52, № 1

Формальный базис для оценки качества программных средств
Модель метрик
M d0 1

35

A

c1,0 1,1

A

c1,0 2,1

A

c1,0 p,1

M d1 1
...

...M

d1 2

Md 1 p

... ...

M dn −1 1

A

cn,n–1 1,1

A

cn,n–1 2,1

M dn 1

M dn 2

A

cn–1,n–1 1,2

M

dn–1 2

...A

cn ,1 t −1,2

M dn–1 r

A

cn,n–1 3,2

Acn,n–1

A

cn,n–1 5,2

4,2

A ctn–,1n,–r 1

A

cn,n–1 t,r

M dn 3

M dn 4

M dn 5

M dn t–1

M dn t

Рис. 2
Отображение модели качества на модель метрик. Для оценки концептуальных поня-

тий модели качества с помощью метрических пространств модели метрик определим функтор QM : Q → M .

Функтор из категории качества в категорию метрик. Функтор QM : Q → MS явля-

ется контрвариантным одноместным функтором, отображающим объекты категории качества (характеристики, подхарактеристики, принципы проектирования) на МП категории измерений (базовые и производные) QM (Ob(Q)) = Ob(MS ) , а морфизмы категории качества — на

морфизмы категории метрик, являющиеся операторами над МП QM (Mor(Q)) = Mor(MS ) .

Функтор QM : Q → MS задается следующим образом:

(∪ ) ∪1) на объектах: QM i∈{0,n−1}{qi } = i∈{0,n−1}{M di } — отображение элементов кате-

гории качества, отвечающих за представление принципов проектирования, подхарактеристик и характеристик, на производные метрические пространства;
2) на морфизмах:

— принадлежащих парам соседних уровней: QM (ξis−,m1,i ) = Acim,i,−s1, i ∈{1, ..., n} , где

Acim,i,−s1 — оператор, определенный на МП

X



M

di m

,

имеющий

в

качестве

области

значений

МП

Y



M

d

i−1 s

,

при

этом

МП

M

d

i m

соответствует

элемент

категории

качества

qmi ,

а

МП

M

d

i−1 s



элемент

qsi−1 ;

— принадлежащих уровням i , j при j > i +1 : QM (ξis,,mj ) = Acmj,,is , i ∈{0, ..., n − 2},

j ∈{2, ..., n} , где

Acmj,,is

— оператор, определенный на МП

X



M

dj m

(для элемента

qmj ),

имеющий

в качестве области значений

МП

Y



M

d

i s

(для

элемента

qsi );

— принадлежащих одному уровню: QM (ξsi,,im ) = Acim,i,s , i ∈{1, ..., n} , где Acim,i,s — опера-

тор, определенный на МП

X



M

di m

(для элемента

qmi ), имеющий в качестве области значе-

ний

МП

Y



M

d

i s

(для элемента

qsi ).

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2009. Т. 52, № 1

36 В. В. Бураков На рис. 3 схематично показано действе функтора QM .

Модель качества

Функтор
(∪ ) ∪QM i∈{0,n−1}{qi } = i∈{0,n−1}{M di }
( )QM ξis−,m1,i = Amci,,si−1 ( )QM ξis,,mj = Amcj,,si
( )QM ξsi,,mi = Amci,,si

Модель метрик

Рис. 3
На основе категории метрик MS можно оценить характеристики, соответствующие категории Q как для конкретной подхарактеристики или характеристики и принципа проекти-
рования, так и для качества ПС в целом. Задавая определенные значения метрик, можно определять подпространства объектов категории метрик, имеющие определенные свойства. Так, задав оптимальные интервалы значений метрик, можно выделить оптимальное подпространство и оценить пути его достижения. Задав интервалы недопустимых значений, можно выделить дефектное подпространство и определить программные сущности, имеющие дефекты, для дальнейшей модификации.
Процесс оценки качества ПС (сущностей ПС) сводится к измерению значений метрик и отнесению ПС (сущностей ПС) к соответствующему подпространству категории метрик.
Модель ПС. Для моделирования программных сущностей и формализации метрик используются ориентированные помеченные типизированные графы.
Ориентированный граф. Граф G = (V , E, s, t) состоит из двух множеств: конечного
множества V , элементы которого называются вершинами, и конечного множества E , элементы которого называются ребрами; s и t — функции, возвращающие начальную и конечную вершины ребра соответственно.
Помеченный граф. Пусть L = (VL, EL) , A = (VA, EA) — пара непересекающихся потен-
циально бесконечных множеств меток и аксиом соответственно. (L, A) -помеченный граф G
представляет собой тройку (g,l, a) , где g = (V , E, s, t) — граф; l = (vl :V → VL, el : E → EL) —
пара функций, помечающих соответственно вершину и ребра; a = (va :V → VA, ea : E → EA) —
пара функций аксиом соответственно вершин и ребер. Помеченный типизированный граф. Пусть T = (VT , ET ) — пара непересекающихся
конечных множеств предопределенных типов вершин и ребер. (L, A) -помеченный
Т-типизированный граф G является двойкой (g, type) , такой что g — (L, A) -помеченный
граф, type = (vt :V → VT , et : E → ET ) — пара функций, связывающих соответственно с каж-
дой вершиной и ребром их типы. Для моделирования кода программы с помощью графовых моделей необходимо выполнить
следующие шаги по адаптации: идентифицировать типы вершин и ребер, определить частичный порядок вершин и ребер, описать аксиомы для вершин и ребер [3]. Следует подчеркнуть, что при решении задачи оценки качества нет необходимости в моделировании всех синтаксических аспектов языка моделирования или кодирования. Необходимое и достаточное множество языковых конструкций, подлежащих моделированию, определяется моделью метрик.
На основе графовой модели вводятся формулы для определения метрик. Рассмотрим для примера следующие базовые метрики.

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2009. Т. 52, № 1

Формальный базис для оценки качества программных средств

37

Метрика количества входных вершин вершины — функция ivc : IVG → VT → , имеющая в качестве области определения подмножество декартова произведения входных вершин IVG и их типов для некоторой вершины, а в качестве области значений — подмножество на-
туральных чисел ivc(v,t) = {s(e) ∈ IVG (v) : vt(s(e)) = t} .
Метрика количества выходных вершин вершины — функция ovc : OVG → VT → , имеющая в качестве области определения подмножество декартова произведения выходных вершин OVG и их типов для некоторой вершины, а в качестве области значений — подмножест-
во натуральных чисел ovc(v,t) = {t(e) ∈ OVG (v) : vt(t(e)) = t} .
Метрика количества входных вершин вершины с ребрами определенного типа — функция ivec : IVG → VT → ET → , имеющая в качестве области определения подмножество декартова произведения входных вершин IVG , их типов и типов ребер для некоторой вершины, а в качестве области значений — подмножество натуральных чисел ivec(v, t, r) =
= {t(e) : e ∈ IVG (v) ∧ vt(s(e)) = t ∧ et(e) = r} .
Метрика количества выходных вершин вершины с ребрами определенного типа — функция ovec : OVG → VT → ET → , имеющая в качестве области определения подмножество декартова произведения выходных вершин OVG , их типов и типов ребер для некоторой вершины, а в качестве области значений — подмножество натуральных чисел ovec(v,t, r) =
= {s(e) : e ∈ OVG (v) ∧ vt(t(e)) = t ∧ et(e) = r} .
Метрика длины нисходящего пути вершины из ребер определенного типа — функция ipath : IVGn → VT → ET → , имеющая в качестве области определения подмножество декартова произведения входных вершин IVGn , входящих в зависимость n -го порядка с данной, их типов и типов ребер для некоторой вершины, а в качестве области значений — подмножество
натуральных чисел ipath(v,t, r) = {t(e) : e ∈ IVGn (v) ∧ vt(s(e)) = t ∧ et(e) = r} .
Каждая производная метрика определяется путем введения функциональной зависимости от n ( n > 0 ) других как базовых, так и производных метрик. Основными видами функциональных зависимостей, порождающих производные метрики, являются: сумма базовых (производных) метрик, частное от деления одной базовой (производной) метрики на другую, среднее значение базовых (производных) метрик (арифметическое, геометрическое и т.п.), максимальное (минимальное) значение базовой (производной) метрики.
Предложенный формальный базис открывает возможность для формулирования понятия качества ПС на концептуальном уровне с помощью модели качества, а с помощью модели метрик ПС обеспечивает возможность количественной оценки качества на любом этапе разработки жизненного цикла программных средств.

СПИСОК ЛИТЕРАТУРЫ
1. Fenton N. E., Neil M. Software metrics: A Roadmap // ICSE — Future of SE Track. 2000. P. 357—370.
2. Липаев В. В. Выбор и оценивание характеристик качества программных средств // Сб. трудов Всерос. практ. конф. „Стандарты в проектах современных информационных систем“. М., 2001.
3. Бураков В. В. Формализация процесса преобразований программного обеспечения // Управление и информатика в авиакосмических системах: Прил. к ж-лу „Мехатроника, автоматизация, управление“. 2006. № 11. С. 19—24.

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2009. Т. 52, № 1

38
Вадим Витальевич Бураков
Рекомендована кафедрой компьютерной математики и программирования

В. В. Бураков
Сведения об авторе — канд. техн. наук; Санкт-Петербургский государственный университет
аэрокосмического приборостроения, кафедра компьютерной математики и программирования; E-mail: burakov@aanet.ru
Поступила в редакцию 19.06.07 г.

ИЗВ. ВУЗОВ. ПРИБОРОСТРОЕНИЕ. 2009. Т. 52, № 1