ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА
УДК 004.05
В. В. Бураков
Санкт-Петербургский государственный университет аэрокосмического приборостроения
МЕТОДИКА
ОЦЕНКИ КАЧЕСТВА ПРОГРАММНЫХ СРЕДСТВ
Предлагается методика оценки качества программных средств, базирующаяся на использовании моделей качества и метрик программ. Производится моделирование понятия качества, указываются приоритетные показатели качества и принципы проектирования программ. На основе модели качества генерируется модель метрик, служащая для оценки программного средства.
Неопределенности и пробелы в формализации характеристик программных средств (ПС) оставляют широкое поле для произвола при оценивании их качества, ведут к появлению дефектов и ошибок при применении ПС пользователями [1]. Основными недостатками существующих моделей и методов оценки качества ПС являются:
— низкий уровень согласованности определений метрик;
— отсутствие обобщенного, адаптируемого подхода к оценке качества ПС посредством метрик;
— отсутствие согласованных, гибких моделей качества ПС, задающих недвусмысленное толкование характеристик качества и однозначную интерпретацию измерений;
— низкая информативность моделей качества ПС, сложность инженерной интерпретации результатов оценки качества и отсутствие связи модели качества ПС с принципами проектирования.
Под моделью качества ПС понимается совокупность концептуальных элементов и структурных связей между ними, характеризующая качество программной системы.
В настоящей статье описывается методика, обобщающая основные распространенные стандарты и подходы к оценке качества ПС и направленная на преодоление упомянутых недостатков.
Оценка качества представляет собой детерминированный процесс, основные этапы которого представлены в нотации диаграммы действий ЦМЬ (рис. 1). Рассмотрим этапы оценки качества ПС в соответствии с предлагаемой методикой подробнее.
Определение целей оценки. Стоящая перед экспертами цель оценки влияет на разрабатываемую модель качества ПС и, следовательно, на весь процесс оценки. Положим в качестве целей оценки определение уровня качества объектно-ориентированного ПС в соответствии со стандартом КО/ГЕС 25 000.
36
В. В. Бураков
Рис. 1
Разработка модели качества ПС. Модель качества определяется с помощью теории категорий. Категория качества Q используется для представления понятия качества ПС и состоит из объектов ОЬ^) и морфизмов Мог^). Объекты категории образуют множество
п
ОЬ®) = и Qi, где й = {Ч'т =1 — множество объектов, соответствующих характеристикам
i=0
качества и принципам проектирования i -го уровня иерархии модели, к — число элементов множества Qi. Морфизмы категории задают иерархические связи элементов качества
Мог^) = {Щ,} =Могя- ®) и МогЛ (Q) и Мог^ ©), где Могя- (Q), МогЛ (Q) и Мог5/ (Q) —
множества соответственно строгих, нестрогих иерархических и одноуровневых морфизмов. Для упрощения изложения примем, что главной оцениваемой характеристикой качества является „удобство сопровождения" ПС. Согласно стандарту КОЛЕС 25 000 эта характеристика зависит от подхарактеристик „удобство проверки", „стабильность", „удобство внесения изменений", „анализируемость" и „соответствие стандартам сопровождения". Декомпозируем подхарактеристики качества на ряд принципов проектирования применительно к объектно-ориентированному стилю. Это принципы „высокое сцепление", „низкая связность", „отсутствие классов-данных" (классов, содержащих большое количество данных-членов в сравнении с функциями-членами) и „отсутствие классов-монстров" (больших и сложных классов, малозависящих от остальных классов). Пример модели качества ПС представлен на рис. 2.
Генерация модели метрик. Категория метрик М8 имеет в качестве объектов базовые МЬ и производные М^ метрические пространства, а в качестве морфизмов — операторы комплексирования Ас, служащие для описания зависимости между производными и базовыми метриками. Модель метрик генерируется путем применения функтора (т.е. отображения категорий, сохраняющего их структуру [2]) из модели качества. Функтор QM : Q ^ М8 является контравариантным одноместным функтором, отображающим объекты категории качества на метрические пространства категории измерений
QM (ОЬ(0) = ОЬ(М£), а морфизмы категории качества — на морфизмы категории измерений, которые представляют собой операторы комплексирования над метрическими пространствами QM (Мог^)) = Мог(М£).
Результат применения функтора к рассматриваемой модели качества приведен на рис. 3.
Внутреннее и внешнее качество
4 1
к 0,1 ^1,1
Л
Характеристики у
к1,2 1,1
Подхарактеристики у q1
41
Удобство проверки
к2,3 1,1
к2,3 1,2
Высокое сцепление
К1
г
Удобство
ч сопровождения J
К1,2
42
Стабильность
Удобство внесения изменений ,
к 2-3 2,1
- 2,3 2,2
Г*
Принципы проектирования
Низкая связность
42
2 4з
1
Анализируемость
2
44
К2,3 3,3 к2,3 3,4 к2,3 4,3 к2,3 4,4
1
4з
Отсутствие классов-данных
Отсутствие классов-монстров
3
44
Рис. 2
Внутреннее
и внешнее качество
M1
A1,1
Ac1'2 A1,1
л1,2
Удобство сопровождения
л ra1
M1
A1,3
Ac1,2
M1
Ml2 Удобство проверки M12 Стабильность
Ac2,3 A1,1 Ac2,3 A1,2 Ac2,3 A2,1 Ac2,3 A2,2
Высокое сцепление
Удобство внесения изменений
Ml
Анализируемость
m :
AC
Низкая связность
м 2
м 3
Отсутствие классов-данных
1
Отсутствие классов-монстров
M
c2,3
c2,3
c 2,3
A
A
A
4,3
4,4
3,3
Рис. 3
Поиск базовых метрик и определение производных метрик. Процесс подбора метрик заключается в формировании измерительного базиса из производных и базовых метрик, необходимого и достаточного для обеспечения полноты оценки всех элементов модели качества ПС. Процесс подбора метрик основывается на существующих стандартах, мнениях экспертов и положительных примерах управления качеством ПС. Выберем для оценки качества ПС следующие метрики, определенные в работе [3]:
— метрики связности: NR, NBR, NABR, NAR, NRA;
— метрики сцепления: LCOM, PP, QP, NMWA;
— метрики классов-данных: WOCF, WOCM, WOC, NOPA, NOA, NOP, MC, WMC;
— метрики классов-монстров: WMC, ATFD, QP, NM, TCC.
На рис. 4 представлена результирующая модель метрик.
Внутреннее и внешнее качество
М
d О
Ас0,1 1,1
М
d 3
Ас 1,2 1,1
Удобство сопровождения
2
м
d 1
14 е1-2
1,3
Л01-2
1,4
Md2 Удобство проверки мdl 2 Стабильность
Лс2,3 1,1 ^2,3 1,2 ^2,3 2,1 ас2,Ъ 2,2
X
Удобство внесения изменений
М
d 2
X
Анализируемость
^2,3 3,3
^2,3 3,4
Лс2,3 4,3
Высокое сцепление
М d4 i
АС 3,4
1,1 '-
^3,5 1,3
Лс4,5 1,1
LCOM
рр
с4,5 2
QP
NMWA
м,
Ь5
м.
Ь 5
м.
Ь 5
Низкая связность
Md4 ^сЗ.4 2 2,2
2,4
2,4
АсЪ,5 2,5
NR
Md з Md з
2 3
X
м
d 2
Лс2,3 4,4
Отсутствие классов-данных
л сЗ,4 2,3 М
3
NBR
X
^ сЗ,4 ^ сЗ,4 3,4 3,5
X
Отсутствие классов-монстров
NABR
Лс4-5 Л'
2,5 3,5
NAR
М
d 4
с4,5 л сЗ.бТ' Л сЗ,5 ^
| с4,5 А с4,5 4,7 4,8
WOC
NRA
WOCF
Md4Ac3,4Md4 Ас 3,4 5 3,6 6 4,6
]_с
мйъ
4
м
NOP
Ас4,5 5,9
WOCM
Li
WMC
ÑOPA
с4,5 5,10
NOA
АсХ5 4,12
Ас4,5 6,11
мс
тсс
d4
I С4,5
ATFD
7,13
NM QP
М
Ь 5
м.
Ь 5
м.
Ь 5
м
Ь 5
м,
Ь5
м,
Ь5
м
Ь5 10
м,
Ь5
м,
Ь5 12
И" И"
Рис. 4
Моделирование ПС. Для моделирования программных сущностей используются ориентированные помеченные типизированные графы. Пусть T = (VT, ET) — пара непересекающихся конечных множеств предопределенных типов вершин и ребер; (L, A) — помеченный Т-типизированный граф G , который является двойкой (g, type), такой что g — (L, A )-помеченный граф и type = (vt: V ^ VT, et: E ^ ET) — пара функций, связывающих соответственно с каждой вершиной и ребром их типы. Более подробно модель ПС описана в работе [4]. Множество Vq = {C, F, O, G, L} всех возможных типов вершин служит для представления соответственно класса (С), открытого поля (F), метода (О), открытых методов доступа или модификации поля (G), оператора цикла (L). Отношения между программными сущностями представляются с помощью ребер. Описание множества EG = {i,u,o,t,a,b} всех возможных типов ребер
представлено в табл. 1.
_Таблица 1
Тип Описание
i: C ^ C Использование абстрактного предка класса
u : C ^ C Использование класса
o : F ^ C Принадлежность поля классу
o : M ^ C Принадлежность метода классу
o : G ^ C Принадлежность открытых методов доступа или модификации поля классу
t: F ^ C Классовый тип поля
a : O ^ F Доступ к полю из метода
a : G ^ F Доступ к полю из открытых методов доступа или модификации поля
b : L ^ O Принадлежность оператора цикла методу
b : L ^ L Вложенность операторов циклов
Формализация метрик. На этом этапе на основе графовой модели ПС определяются формулы для расчета базовых и производных метрик. Обозначим как тЬг и т^г соответственно базовые и производные метрики, заданные на пространствах М^-1 и М. Формулы для расчета
метрик уровня класса приведены в табл. 2, где V — идентификатор вершины, соответствующей оцениваемому классу; 0¥с (V) = {^(е) : е е (Ес : I(е) = V} }; ¡Ус (V) = (е) : е е (Ес : I(е) = V} };
¡уес(у, t, г) = {(е) : е е 1¥с (V) л VI(^(е)) = t л et(е) = г}; 1уф, t) = |{«(е) е ¡Ус (V): ^ (ф)) = ;
ipath(v, t, r) =
{t(e) : e e IVQ (v) л vt(s(e)) = t л et(e) = r}
Таблица 2
Метрика Формула Допустимый интервал Фактическое значение
mb (NR) m^ = ovec(v, C, u) = {s(e): e e OVG (v) л vt(t(e)) = C л et(e) = u} [2,000, ^ ] 3,250
md4 (NBR) d4 {s(e): e e OVG (v) л vt(t(e)) = C л et(e) = u} П m2 = H{t(e): e e IVG (v) л vt(s(e)) = C л et(e) = u} [0,333, да ] 0,460
тЗ, 4 (NABR) d 4 ivec(v, C, i) m3 =- ivec(v, C, u) [1,000, да ] 1,211
mf (NAR) mb5 = ivec(v, C, u) [1,000, да ] 1,340
40
В. В. Бураков
Продолжение табл. 2
Метрика Формула Допустимый интервал Фактическое значение
тЬ65 (МЯЛ) тЬ65 = 1уее(у, С, /) [0,100, ^ ] 0,254
т,4 (ЬТОМ) Ь 4 Ь 5 Ь 5 т1 = т1 - т2 [0,000, да ] 0,118
тЬх5 (РР) тЬ5 =у т1,тге{*(е)еу (у): 1, } т1 = ¿и уг (* (е ))=М }Л 1{т2} л|ОУв (т1)пОУв («2)1=1 [0,000, 1,000] 0,386
тЬ ЮР) Ь5 ^ 1Уее( /, М, а)! т2 = Х/е{*(е)аУв (V): уг (* (е))=¥} 2!(уес( /, М, а) - 2)! [0,333, да ] 0,268
тЬ 5 (NMWA) т3Ь5 = |{т е {*(е) е 1Ув (у): лг(*(е)) = М} л\ОУв (т)\ = 1} [0,000, 0,333] 0,156
тЬ 5 (WOCF) т^ = 1УС(Л, М) - 1УС(Л, в) [2,000, 10,000] 2,890
тЬ 5 ^ОСМ) т^ = 1УС(Л, М) [3,000, 10,000] 3,Ь80
т,4 (WOC) ь 4 т^ 5 1УС(Л, в) т4 =-= 1-- т,5 1УС(Л, М) [0,500, 1,000] 0,Ь65
тЬ5 (NOPЛ) т^5 = 1УС(л, ¥) [0,500, 1,000] 0,6Ь9
тЬ05 (NOЛ) т^ = 1УС(Л, в) [2,000, 10,000] 3,892
т, 4 (ШР) т54 = т^ + т^5 = 1УС(Л, ¥) + 1УС(Л, в) [2,500, 11,000] 4,5Ь1
тЦ (МС) тЦ = шах(1раШ(т, Ь, Ь)) [0,100, 2,000] 0,256
тй6 4 ^МС) Ь4 ^ Ь5 , ч т6 = X те{* (е (V ): т„ (т) = ^ ( * ( е))=М } = X те{*(е)е1Ув (у): Шах(1раШ(т, Ь, Ь)) V? ( *(е))=М } [0,100, 4,000] 0,348
тЬ25 (ЛTFD) т" = X те{*(е)е1Ув (л):|{ОУв (т)} /{1Ув (л)| уг ( *(е))=М } [0,100, 2,000] 0,328
тЬ35 (ММ тЬ35 = 1УС(л, М) [1,000, 10,000] 5,369
т,4 (ТСС) Ь4 Ь5 1 Ь5 тЬ = т2 1 т13 [0,010, да ] 0,022
На основе формул метрик уровня классов определяются формулы метрик уровня системы (табл. 3).
п /
Обобщенный вид этих формул тЬ = Х т■ (у) п, где п — количество классов. Преобразованные
1=1 /
таким способом метрики уровня классов образуют метрические пространства уровня системы, на основе которых формируются новые производные пространства для расчета остальных высокоуровневых метрик ПС.
_Таблица 3
Метрика Формула Допустимый интервал Фактическое значение
Высокое сцепление _ Ь 4 Ь5 Ь 3 3^1 + т3 т1 =- 1 4 [0,100, да ] 0,128
Низкая связность Ь 5 Ь5 г. Ь 4 ~ Ь 4 , 3 т4 + т5 + 2 т2 + 2т3 т2 =- 2 6 [1,000, 3,000] 1,322
Отсутствие классов-данных Ь 4 Ь 4 , Ь 4 Ь 3 т4 + т5 + 2т6 т3 = 3 4 [1,000, 2,000] 1,442
Продолжение табл. 3
Метрика Формула Допустимый интервал Фактическое значение
Отсутствие классов-монстров d 4 , b5 d 4 d з Мб + 3mu + 1П7 m4 -4 5 [0,010, 1,000] 0,271
Удобство проверки d 3 - d 3 d 2 Mj + 5m2 м -- 1 6 [1,000, 2,000] 1,123
Стабильность , d 3 d 3 d 2 4m1 + 3m2 m2 -- 2 7 [0,500, 1,000] 0,640
Удобство внесения изменений d 3 d 3 d 2 m3 + 3m4 m3 -- 3 4 [0,500, 1,000] 0,563
Анализируемость d 2 3М^ 3 + 4md4 3 m4 -4 7 [0,500, 1,000] 0,772
Удобство сопровождения d 2 ~ d 2 - d 2 ~ d 2 d1 m1 + 2m2 + 5m3 + 3m4 м1 -- 1 11 [0,500, 1,000] 0,671
Внутреннее и внешнее качество d 0 d 1 Mj - Mj [0,500, 1,000] 0,671
Определение пороговых и фактических значений метрик. Для апробации методики оценки качества ПС было выбрано специальное программное обеспечение, предназначенное для военной телемедицины [5]. Система содержит около 70 000 строк кода, порядка 500 классов на языке C++. Для определения значений метрик было разработано ПС на языке C#. Значения метрик определялись в соответствии с формулами для системы целом, а пороговые значения — в соответствии с допустимым интервалом, в пределах которого значение метрики интерпретируется как оптимальное. Допустимые интервалы и фактические значения метрик для оцениваемой системы приведены в табл. 2, 3.
Анализ качества ПС. По результатам измерений можно сделать вывод о том, что в целом качество анализируемого ПС является удовлетворительным. При этом значение метрики QP не принадлежит допустимому интервалу, на основе чего выявляются программные сущности, которые необходимо переработать. При интерпретации результатов оценки качества может быть принято решение о необходимости внесения изменений в процесс оценки, например: изменение модели качества ПС, корректировка производных и базовых метрик, изменение функциональных зависимостей производных метрик качества.
Применение описанной формализованной количественной методики оценки качества программных средств позволит создать серьезную основу для процесса управления качеством, принятия управленческих и инженерных решений на протяжении всего жизненного цикла ПС.
СПИСОК ЛИТЕРАТУРЫ
1. Липаев В. В. Выбор и оценивание характеристик качества программных средств. 2001.
2. Цапенко М. С., Шульгейфер Е. Г. Лекции по теории категорий. М.: Наука, 1974.
3. LoreM., Kidd J. Object-Oriented Software Metrics. N.Y.: Prentice Hall, 1994.
4. Бураков В. В. Формализация процесса преобразований программного обеспечения // Управление и информатика в авиакосмических системах: Прил. к ж-лу „Мехатроника, автоматизация, управление". 2006. № 11. С. 19—24.
5. Бураков В. В., Устюхин Н. В., Ковригин Д. А. Применение телемедицинских технологий в медицинской службе Вооруженных сил Российской Федерации // Медицина и высокие технологии. 2006. № 1.
Рекомендована кафедрой Поступила в редакцию
компьютерной математики и программирования 11.09.07 г.
ЭЛЕКТРОННЫЕ И ЭЛЕКТРОМАГНИТНЫЕ
УСТРОЙСТВА
УДК 621.034.4-8:362.41
С. О. Ершов
Балтийский государственный технический университет „Военмех" им. Д. Ф. Устинова
Санкт-Петербург
П. МАЙЕР
Эйндховен, Нидерланды
СИСТЕМЫ ТЕХНИЧЕСКОГО ЗРЕНИЯ С НЕВИЗУАЛЬНЫМ ПРЕДСТАВЛЕНИЕМ ПРОСТРАНСТВЕННОЙ ИНФОРМАЦИИ
Рассматриваются системы, позволяющие человеку воспринимать пространственную информацию посредством слуха или осязания и применяющиеся в технических средствах ориентирования для слепых и работников аварийно-спасательных служб.
Историческая справка. Исторически одним из основных стимулов развития систем технического зрения являлись проблемы слепых, и наибольшее число разработок предпринимались именно для их нужд. В этой связи в настоящей статье речь пойдет преимущественно о приборах для слепых.
Предпосылкой возникновения рассматриваемых устройств можно считать открытие в 1817 г. химического элемента селена, обладающего светочувствительными свойствами. Появление непосредственно технических средств ориентирования (ТСО) для инвалидов по зрению относится к 1897 г., когда Нойжевский изобрел устройство „Е1ес1хойа1ш", в котором с помощью селеновой пластинки регулировалась громкость звукового сигнала, что позволяло слепому определять степень освещенности находящихся перед ним крупных объектов.
В 50—60-х гг. ХХ в. началось использование ультразвуковой локации в целях обнаружения препятствий на пути слепого и измерения расстояний до них. Наиболее весомый вклад в это направление внес Л. Кэй [1]. Несколько позже в качестве источника информации об окружающей среде стали использовать лазерные дальномеры, работающие в инфракрасном (ИК) диапазоне частот. Обычные (немонохроматические) ИК-светодиоды также нашли применение в примитивных детекторах препятствий. С конца 60-х гг. в связи с развитием телевидения появились новые направления в решении проблемы пространственного ориентирования слепых. Например, Бах-и-Рита использовал матрицу тактильных стимуляторов, располагаемую на спине пользователя для передачи ему информации о фронтальном образе среды, получаемом от телевизионной камеры. Бриндли и Добелле использовали для тех же целей матрицу нейростимуляторов, имплантированных в зрительный отдел головного мозга.