Диплом: Современные методы статического и динамического анализа программ для автоматизации процессов повышения качества программного обеспечения ОАО «Аурат»

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
22
Самой простой метрикой оценки качества сегментации является процент
неправильно классифицированных пикселей. Однако этот критерий имеет
явные недостатки. Поскольку когда получены результаты сегментации по
экспертной оценке, процент выводит ошибочное количество пикселей. Также в
этом случае не учитывается размещение ошибочных пикселей и важность
отдельных участков изображения для сегментации.
С целью решения проблем можно выбрать критерии, которые позволяют
учитывать долю неправильно отнесенных пикселей к общему пикселю и долю
ошибочно не отнесенных к сегменту пикселей
30
.
Еще одной метрикой оценки сегментации является Байесовский подход.
В этом случае производится оценка вероятности, что выбранный пиксель на
изображении относится к этому сегменту. Используя стандартные
вероятностные формы, определяется вероятность ошибки:
       
bopbpobpoperrp //)( 
(1)
где
 
op
,
 
bp
- значение априорных вероятностей, что случайно
выбранный пиксель исходного изображения относится к сегменту или фону;
 
bop /
- вероятность того что пиксель, относящийся к фону был
ошибочно отнесен к сегменту;
 
obp /
- вероятность того что пиксель относится к сегменту и был
ошибочно отнесен к фону.
Для определения ошибки используется следующая формула
31
:
30
Паршина Е. В. Подходы к оцениванию качества программного обеспечения, основанные
на методе парных уравнений // Вестник Воронежского государственного университета, 2017.
- №1. – С.141-148
31
Медведев Ю. С. Анализ современных методов статического и динамического анализа
программ и повышения качества программного обеспечения // Статья в сборнике Научные
чтения имени профессора Н. Е. Жуковского, 2016. – С.18-22
23
,100
1
2

A
d
N
i
i
(2)
где
- количество ошибочно определенных пикселей,
A
- количество пикселей на изображении,
i
d
- расстояние между ошибочно классифицированным пикселем и
пикселем, относящимся к этому сегменту.
Для оценки качества сегментации применяется критерий FOM
e
, входящий
в состав метрики Прэтта. К этому классу метрик также относятся критерии
AUMA (Absolute Ultimate Measurement Accuracy) и RUMA (Relative Ultimate
Measurement Accuracy), позволяющие оценить качество сегментации.
Приведенные критерии оценки качества программного обеспечения позволяют
сравнить качество различных программных продуктов решающих подобные
задачи
32
.
Среди методов статического анализа программ для автоматизации
процессов качества программного обеспечения следует отметить
многокритериальную оценку. Для реализации многокритериальной оценки
применяют имитационные модели, модели, позволяющие определить время
доводки программ с фиксацией ошибок в выбранном модуле, ошибок нулевого
порядка в каждом модуле, а также динамические модели, позволяющие оценить
появление отказов в программном коде в режиме реального времени.
Рассмотрим критерии качества программного обеспечения, которые
позволяют оценить его пригодность и использовать по назначению с целью
максимального удовлетворения пользователей. Набор критериев определяется
особенностями определенной программной системы.
В таблице 1 приведен набор критериев для оценки качества
программного обеспечения.
32
Привалов И.М. Основы аппаратного и программного обеспечения: учебное пособие/ И.М
Привалов. – Ставрополь: Северокавказский федеральный университет, 2015. – С.78
24
Таблица 1 – Критерии для оценки качества программного обеспечения
Наименование критерия
Характеристика
Функциональный
Позволяет оценить полноту удовлетворения потребностей
пользователей
Надежностный
Позволяет оценить способность программного обеспечения
реализовать свои функции в случае сбоя в отдельных
функциональных блоках
Информационный
Свойства информации удовлетворить потребности пользователя
Быстродействия
Позволяет оценить скорость выполнения программного
обеспечения и прочих операций
Использование памяти
Определяет размер объемов памяти, занятых программным
обеспечением
Пользовательский
интерфейс
Оценивает качество интерфейса пользователя
Эффективность обмена с
внешними носителями
Позволяет определить скорость и точность операций по обмену с
внешними устройствами
Полнота документации
Позволяет оценить документацию, сопровождающую программное
обеспечение, достаточность для пользования
Структурированность
Позволяет оценить упорядоченность функциональных блоков
программного обеспечения
Экономическая
эффективность
Позволяет оценить приспособленность программного обеспечения
удовлетворять потребности пользователей с минимальными
затратами.
Уровень качества, достигнутый по каждому из критериев, приведенных в
таблице 1, определяется качеством критериев функциональных блоков,
входящих в состав программного обеспечения. Анализ качества
функциональных блоков в целом позволяет оценить общий уровень качества
программного обеспечения.
В настоящее время существуют различные типовые подходы к оценке
качества программного обеспечения, отличающиеся между собой
потребностями пользователей и критериями качества. В зависимости от того,
какой подход выбирается пользователем, производится изменение стратегии
решения задачи
33
.
Подход, на котором пользователи останавливаются наиболее часто,
соответствует приведенным критериям качества. Тогда можно выполнить
сравнительный анализ критериев, и тем самым сформировать стратегию
повышения качества.
33
Черная Ю. В. Некоторые аспекты оценки качества программного обеспечения
предприятия // Вестник Воронежского государственного архитектурно-строительного
университета, 2016.- №2. – С. 111-114
25
Для этого вводится единый обобщенный критерий с целью обеспечения
возможности сравнения векторов критериев. Без того или иного критерия и его
оценки не зависят от других критериев, но общий вес критериев должен
учитывать весовые коэффициенты.
Для учета взаимодействия между критериями применяется правило
обобщенного среднего. Обобщенная целевая функция имеет следующий вид:
 
/1
1
m
h
hh
PLP
(3)
где
h
P
- обобщенный показатель качества по h-му критерию. При β=1
будет сформирована линейная сверка.
Если критерий характеризуется стохастическим характером, например,
надежностный критерии, то функция будет представлена в следующем виде:
h
m
h
h
PLP
1
(4)
Ещё один подход, который интересует пользователей, это выбор таких
критериев, которые позволят улучшить качество программного обеспечения.
Если при оценке программного обеспечения отдельно выполняется оценка
качества функционального блока, то интегральный показатель качества
определяется по следующей формуле
34
:
 
.,...,2,1,,...,2,1,,maxmin mhniPLP
hihhi

(5)
где
hi
P
- обобщенный показатель качества i-го функционального блока по
h-му критерию.
34
Гасанов В. Р. Стандарты качества для оценки зрелости процесса разработки программного
обеспечения // Статья в сборнике трудов Студенческая наука для развития информационного
общества, 2016. – С.212-214
26
Таким образом, рассмотренный метод статического анализа программ для
автоматизации процессов качества программного обеспечения включает
различные этапы, позволяющие всесторонне оценить качество программного
обеспечения по предложенным критериям.
Многокритериальная оценка качества относится к статическим методам и
предусматривает использование различных целевых функций.
Для статического анализа программ для автоматизации процессов
качества программного обеспечения можно использовать методику,
позволяющую управлять параметрами качества программного обеспечения на
основе модели Раша оценки латерных переменных
35
.
Латерные переменные относят к неявным переменным и позволяют
установить качество по набору измеряемых переменных или индикаторов.
Метод предусматривает выделение латерных переменных на основе экспертной
оценки программного обеспечения.
В этом случае формируется
N
видов программного обеспечения,
подлежащего оценке качества, с выделением переменных
N
AAA ,...,,
21
. Для
проведения экспертной оценки применяются оценочные показатели:
L
KKK ,...,
21
. В качестве индикаторов выступают переменные типа
ij
U
или
экспертной оценки, выставляемые по каждому оценочному показателю. Каждая
из этих оценок имеет различную размерность и характер. Для приведения
оценок в единой шкале, производят нормализацию, позволяющую выделить
критерии
, в интервале от 0 до 1.
В процессе нормализации производится максимизация показателей, то
есть чем больше оценка, поставленная экспертом, тем выше качество
35
Бубарева О. А. Оценка качества программных систем при связывании объектных
спецификаций по семантике онтологического уровня // Современные наукоемкие
технологии, 2018. - №6. – С.40-43
27
программного обеспечения. Для определения критерия используется
следующая формула
36
:
 
   
ij
i
ij
i
ij
i
ij
ij
UU
UU
u
minmax
min
(6)
В случае минимизации показателя, чем меньше оценка, тем лучше
качество программного обеспечения, используется следующая формула
37
:
 
   
ij
i
ij
i
ijij
i
ij
UU
UU
u
minmax
max
(7)
На следующем этапе применяется вероятностный подход.
Предполагается, что имеется возможность выбора программного обеспечения с
номерами
n
и
m
. Вероятность того, что программное обеспечение с номером
n
устраивает эксперта по
j
-тому показателю качества, определяется
nj
P
.
Следовательно, вероятность того что этот же программный продукт не
устраивает эксперта будет определяться как
 
nj
P1
.
После этого ведем обозначение показателей
38
:
11
N
- это количество показателей, по которым эксперта устраивает
качество программного продукта.
10
N
- это количество показателей, по которым производится оценка
качества программного обеспечения.
36
Кожомбердиева Г. И. Получение интегральной оценки качества программного
обеспечения на основе формулы Байеса // Транспортные интеллектуальные системы, 2017. –
С.209-220
37
Климов Г. Ю. Оценка качества и анализ программного обеспечения в информационной
системе управления предприятием // Статья в сборнике Наука сегодня, 2016. – С.53-54
38
Кудеяров Ю.А. Испытания программного обеспечения средств измерений: учебное
пособие/ Ю.А. Кудеяров. – М.: Академия стандартизации, метрологии и сертификации, 2017.
– С.22
28
01
N
- это количество показателей, по которым программное обеспечение
устраивает эксперта.
00
N
- это количество показателей, по которым эксперта не устраивает
программное обеспечение.
На основании сравнительного анализа различных видов программного
обеспечения, можно считать, что значения
10
N
,
01
N
являются
информативными
39
.
В свою очередь, значение
11
N
и
00
N
не позволяют получить
представление о том, у кого показатели качества выше.
При этом показатель
10
N
, отражающий степень предпочтения качества
программного обеспечения в соответствии с теоремой вероятностей будет
прямо пропорционален произведению вероятностей:
 
njmj
PР1
.
Таким образом, было получено следующее выражение
40
:
 
 
njnj
njmj
PP
PP
N
N
1
1
01
10
(8)
Если предположить, что количество показателей
L
бесконечно велико, то
его можно определить в виде разницы в уровни оценок программного
обеспечения. Поскольку не было не наложено никаких ограничений,
полученное выражение будет зависеть от самих показателей.
При рассмотрении другого вида программного обеспечения будет
получено аналогичное выражение.
Таким образом, оценочные показатели можно представить в виде
следующего выражения
41
:
39
Пальмов С.В. Методы и средства моделирования программного обеспечения: учеб.
пособие / С.В. Пальмов. – Самара: Поволжский государственный университет
телекоммуникаций и информатики, 2016. – С.16
40
Михеев А.Г. Процессное управление на свободном программном обеспечении: учеб.
пособие / А.Г. Михеев. – М.: Интернет-Университет Информационных Технологий
(ИНТУИТ), 2016. – С.23
29
 
 
 
 
.
1
1
1
1
nknk
nkmk
mjnj
njmj
PP
PP
PP
PP



(9)
Из полученного выражения можно получить следующую формулу:
 
 
.lnln
1
ln
1
ln
)1(
ln
0
0
0
0
jn
j
j
n
n
nj
nj
bd
P
P
P
P
P
P

(10)
Необходимо отметить, что величина
0
0
1
n
n
P
P
выступает обобщённым
показателем привлекательности программного обеспечения, а величину
j
j
P
P
0
0
1
можно представить в виде обобщенной оценки недостатков программного
обеспечения и невыполнения поставленного показания.
Полученное выражение отвечает формуле Раша и основано на оценке
латерных переменных.
1.3. Обзор методов динамического анализа программ для автоматизации
процессов качества программного обеспечения
Для изменения характеристик и критериев качества в динамических
методах анализа применяются метрики, представленные в виде системы
показателей для оценки качества программного обеспечения. Метрики могут
быть использованы на уровне критериев качества, а также на уровне отдельных
характеристик. Среди основных характеристик программного обеспечения
следует отметить сложность разработки.
При оценке сложности программ применяют
42
:
- метрики для оценки размеров программного обеспечения;
41
Ленкин А. В. Анализ требований к интерфейсу современного программного обеспечения//
Постулат, 2017. - №1. – С. 41
42
Гордашникова О. Ю. Обеспечение качества разработки программного продукта //
Актуальные проблемы экономики и менеджмента, 2016. - №3. – С.5-8
30
- метрики для оценки сложности потока управления программами;
- метрики для оценки сложности потока данных.
Метрики для оценки размера программного обеспечения являются более
простыми. В этом случае определяется размер программного обеспечения по
количеству строк исходного кода. Оценка размера программы применяется для
классификации программ и выделения их объемов. Пример применения
простых метрик для оценки качества программного кода приведен на рисунке
3.
Рисунок 3 – Пример применения простых метрик для оценки качества
программного кода
Преуменьшение различий в объеме программ используется оценки
других факторов, непосредственно влияющие на сложность. Оценка размеров
программного обеспечения производится по номинальной шкале с
определением категорий программного обеспечения. В этом случае наиболее
часто применяют метрику Холстеда
43
.
Вторая группа оценок сложности программного обеспечения включает в
свой состав метрики сложности потока управления программным
обеспечением. В состав этих метрик входит плотность управляющих переходов
43
Козлова В. С. Управление качеством разработки программного обеспечения в рамках
гибких методологий управления проектами // Альманах научных работ, 2017. – С.146-148
31
программ в зависимости от переходов. Программный продукт представляется в
виде ориентированного графа. Основной метрикой сложности выступает
цикломатическое число Мак-Кейба, позволяющее охарактеризовать
трудоемкость тестирования программы. Для графов корректных программ, в
которых нет недостижимых участков, сильно связанный граф получается на
основании замыкания одной вершины, означающий конец программного
продукта с вершиной означающей точку входа в эту программу.
Следующей группой метрик оценки сложности программного
обеспечения являются метрики оценки потока данных. В этом случае
применяются модуль обращений к глобальным переменным. В зависимости от
наличия в программе обращение к переменной формируются 2 типа пар.
Для расчёта вероятности ссылки произвольного модуля на глобальную
переменную используется понятие, что чем выше вероятность, тем больше
возможность несанкционированного изменения переменной, что оказывает
влияние на сложность изменения программы
44
.
Для оценки качества программного обеспечения в динамическом анализе
также применяют метрики Джилба, позволяющие оценить сложность
программного обеспечения на основе количества в программе условных
операторов или операторов цикла. Эта метрика позволяет оценить сложность
написания программного продукта, а при добавлении показателя
максимального уровня вложенности циклических и условных операторов,
значимость в метрике существенно увеличивается.
Метод Чепина предусматривает проведение оценки информационной
прочности программного обеспечения на основе анализа использования
переменных из списка ввода-вывода. Различные параметры, входящие в список
ввода-вывода разделяются на четыре группы
45
:
44
Ленкин А. В. Анализ требований к интерфейсу современного программного обеспечения//
Постулат, 2017. - №1. – С. 41
45
Коршикова Л. А. Информационные технологии и стандартизация: учеб. пособие / Л. А.
Коршикова. – Новосибирск: НГТУ, 2018. – С.17

Смотрите также:

Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран
Work-life balance подход в управлении рабочим временем молодых сотрудников (на примере ООО «МГТ-сервис»)
Актуализация контента, отражающего концепцию «диалога культур», при освоении английского языка взрослыми обучающимися
Актуализация приемов инсценирования и драматизации в рамках интерактивной модели обучения английскому языку в старших классах
Актуальные подходы в построении внутреннего pr строительной компании (на примере ООО "Ренессанспроект")
Анализ деловой активности и экономической эффективности деятельности организации (на примере АО «СГ-Транс»)
Анализ деловой активности организации как инструмент повышения эффективности ее деятельности (на примере Косинского районного потребительского общества)