Научная статья на тему 'Методика оценки качества программных средств'

Методика оценки качества программных средств Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
2254
209
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Бураков В. В.

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

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Методика оценки качества программных средств»

ВЫЧИСЛИТЕЛЬНАЯ ТЕХНИКА

УДК 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

Отсутствие классов-данных

Отсутствие классов-монстров

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

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

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

мс

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

тсс

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.

Рекомендована кафедрой Поступила в редакцию

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

компьютерной математики и программирования 11.09.07 г.

ЭЛЕКТРОННЫЕ И ЭЛЕКТРОМАГНИТНЫЕ

УСТРОЙСТВА

УДК 621.034.4-8:362.41

С. О. Ершов

Балтийский государственный технический университет „Военмех" им. Д. Ф. Устинова

Санкт-Петербург

П. МАЙЕР

Эйндховен, Нидерланды

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

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

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

Предпосылкой возникновения рассматриваемых устройств можно считать открытие в 1817 г. химического элемента селена, обладающего светочувствительными свойствами. Появление непосредственно технических средств ориентирования (ТСО) для инвалидов по зрению относится к 1897 г., когда Нойжевский изобрел устройство „Е1ес1хойа1ш", в котором с помощью селеновой пластинки регулировалась громкость звукового сигнала, что позволяло слепому определять степень освещенности находящихся перед ним крупных объектов.

В 50—60-х гг. ХХ в. началось использование ультразвуковой локации в целях обнаружения препятствий на пути слепого и измерения расстояний до них. Наиболее весомый вклад в это направление внес Л. Кэй [1]. Несколько позже в качестве источника информации об окружающей среде стали использовать лазерные дальномеры, работающие в инфракрасном (ИК) диапазоне частот. Обычные (немонохроматические) ИК-светодиоды также нашли применение в примитивных детекторах препятствий. С конца 60-х гг. в связи с развитием телевидения появились новые направления в решении проблемы пространственного ориентирования слепых. Например, Бах-и-Рита использовал матрицу тактильных стимуляторов, располагаемую на спине пользователя для передачи ему информации о фронтальном образе среды, получаемом от телевизионной камеры. Бриндли и Добелле использовали для тех же целей матрицу нейростимуляторов, имплантированных в зрительный отдел головного мозга.

i Надоели баннеры? Вы всегда можете отключить рекламу.