УДК 65.011.56
DOI: 10.15587/2313-8416.2016.66589
ПРОЦЕДУРА МНОГОКРИТЕРИАЛЬНОГО ОЦЕНИВАНИЯ КАЧЕСТВА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ИНФОРМАЦИОННЫХ СИСТЕМ
© Е. П. Павленко, В. А. Айвазов, С. В. Лубенец
Рассмотрена проблема оценки качества программного обеспечения информационных систем. Исследованы существующие метрики качества программ, проведен анализ достоинств и недостатков методов оценки качества ПО. Рассмотрена система потребительских свойств программного обеспечения. Предложена процедура оценки качества ПО, включающая выбор свойств, формирующих качество ПО и измерение значений показателей качества. Предложен метод многокритериального оценивания качества программных продуктов
Ключевые слова: программное обеспечение, информационные системы, качество, характеристики программ, процедура, многокритериальное оценивание
The problem of quality evaluation for software of information systems is considered. The existent birth-certificates of quality of the programs are investigated, analysis of dignities and lacks of methods for quality evaluation of software is conducted. The system of consumer properties of software is considered. Procedure of quality evaluation for software is offered, including the choice ofproperties that formed quality of software and measurement of values of quality indexes. The method of multicriterion quality evaluation for software products is offered
Keywords: software, information systems, quality, descriptions of the programs, procedure, multicriterion evaluation
1. Введение
Проблемы качества работы информационных систем (ИС) как структурных элементов предприятий на сегодняшний день приобрели первостепенную важность. Существуют различные факторы, влияющие на эффективность использования ИС на предприятиях, один из таких факторов, определяющий качество ИС - технология проектирования программного обеспечения (ПО) ИС.
Для обеспечения качества программ предложено множество подходов, включая организационные методы разработки, различные технологии и технологические программные средства, что требует привлечения значительных ресурсов. Однако отсутствие общепризнанных критериев качества не позволяет ответить на вопрос, насколько надежнее становится программное обеспечение при соблюдении предлагаемых процедур и технологий и в какой степени оправданы затраты. Таким образом, приоритет задачи оценки качества ПО должен быть выше приоритета задачи его обеспечения.
Понятие качества программы отражает тот факт, что она не всегда может давать правильный результат. Это означает, что качество программы является характеристикой ее исполняемого кода. Две функционально идентичные программы, написанные на разных языках, или подготовленные для разных типов машин, или для одной и той же машины, но с использованием разных компиляторов, с точки зрения качества следует считать разными.
2. Постановка задачи
Причины недостаточной разработанности проблемы анализа качества ПО ИС:
- процесс разработки ИС носит итерационный характер;
- не успели накопиться данные по различным аспектам качества ПО ИС, достаточные для окончательного обобщения;
- изменение технологии обработки информации привело к изменению представлений разработчиков и пользователей о качестве и эффективности функционирования ПО ИС.
В связи с этим необходимо обосновать процедуру оценки качества ПО ИС, которая позволяет осуществлять многокритериальный анализ качества программного обеспечения по различной совокупности критериев, выполнять сравнение качества разных программных продуктов, получать обобщенную оценку качества ПО.
Реализация поставленной цели подразумевает решение следующих задач:
- выполнение обзора существующих методов оценки качества программного обеспечения;
- разработка процедуры оценки качества ПО, которая учитывает потребительские свойства ПО;
- применение аппарата решения многокритериальных задач к оценке качества ПО ИС.
3. Литературный обзор
Для измерения характеристик и критериев качества в различных литературных источниках используют метрики. Метрика качества программ - это система измерений качества программ [1]. Эти измерения могут проводиться на уровне критериев качества программ или на уровне отдельных характеристик качества.
К основным характеристикам программ относится сложность программной системы. При оценке сложности программ, как правило, выделяют три основные группы метрик [2]:
- метрики размера программ;
- метрики сложности потока управления программ;
- метрики сложности потока данных программ.
Оценки первой группы наиболее просты. Характеристикой размера программ является количество строк исходного текста. Под строкой понимается любой оператор программы.
Оценка размера программы применима для классификации программ, существенно различающихся объемами. При уменьшении различий в объеме программ на первый план выдвигаются оценки других факторов, оказывающих влияние на сложность. Оценка размера программы является оценкой по номинальной шкале, на основе которой определяются категории программ. К группе оценок размера программ относится метрика Холстеда [3].
Вторая группа оценок сложности программ -метрики сложности потока управления программ. К этим метрикам относится плотность управляющих переходов программы и взаимосвязи этих переходов. Программа представляется в виде управляющего ориентированного графа. Основной метрикой сложности является цикломатическое число Маккейба, характеризующее трудоемкость тестирования программы [4]. Для графов корректных программ, не имеющих недостижимых участков, сильносвязный граф получается путем замыкания одной вершины, обозначающей конец программы на вершину, обозначающую точку входа в эту программу [5].
Еще одна группа метрик сложности программ - метрика сложности потока данных. Пара «модуль - глобальная переменная» обозначается как (р, г), где р - модуль, имеющий доступ к глобальной переменной г. В зависимости от наличия в программе обращения к переменной г формируются два типа пар «модуль - глобальная переменная»: фактические и возможные. Возможное обращение к г с помощью р показывает, что область существования г включает в себя р.
Рассчитывается вероятность ссылки произвольного модуля на произвольную глобальную переменную. Чем выше эта вероятность, тем выше вероятность несанкционированного изменения переменной, что может осложнить модификацию программы [6].
Еще одним типом метрик ПО являются метрики Джилба [7]. Они показывают сложность программного обеспечения на основе насыщенности программы условными операторами или операторами цикла. Данная метрика хорошо отражает сложность написания и понимания программы, а при добавлении показателя максимального уровня вложенности условных и циклических операторов эффективность данной метрики значительно возрастает.
Метод Чепина состоит в оценке информационной прочности отдельно взятого программного модуля с помощью анализа характера использования переменных из списка ввода-вывода [8].
Множество переменных, составляющих список ввода-вывода, разбивается на 4 группы: вводимые переменные для расчетов и для обеспечения вывода; модифицируемые, или создаваемые внутри программы переменные; переменные, участвующие в
управлении работой программного модуля; не используемые в программе переменные. Метрика Че-пина основана на анализе исходных текстов программ, что обеспечивает единый подход к автоматизации расчетов [8].
Существует метрика, основанная на информационной концепции - мера Берлингера [9]. Мера сложности программы вычисляется на основе частоты появления символа в коде программы и вероятности его появления.
Наборы метрик Мартина используются для оценки сложности программ, написанных на объектно-ориентированных языках программирования [10].
Недостатком данных метрик является наличие исходного текста программного средства. Кроме того, данные методы оценивают ПО только по какой-то одной характеристике, например, сложности кода или размеру программы. Другие немаловажные характеристики, такие как надежность, функциональность, не учитываются.
Поэтому актуальным является разработка процедуры оценки качества ПО, учитывающей различные характеристики программ и критерии их качества.
4. Процедура оценивания качества ПО
С точки зрения пригодности ПО для использования по назначению необходимо, чтобы:
- ПО выполняло заданную задачу за требуемое время, с заданной точностью и минимальными затратами ресурсов;
- подготовка к решению была простой и оперативной;
- постороннее несанкционированное вмешательство было исключено;
- на процесс выполнения не влияли ошибки из-за неправильных действий операторов, отказов и сбоев в технике;
- процесс выполнения задачи и результаты этого процесса были удобными для восприятия человеком.
Эти потребительские свойства и отражает система свойств ПО.
Измерение и оценивание данных свойств можно осуществлять двумя путями:
- в процессе разработки программного обеспечения;
- после завершения его разработки.
Предпочтительным является первый путь, позволяющий создать систему контроля качества ПО, исключив нерациональное расходование ресурсов на создание непригодного или малопригодного для практического применения программного продукта. Для измерения и оценивания свойств ПО целесообразно использовать показатели, вычислимые на основе той информации о ПО, которая имеется в процессе разработки, т. е. информации, которая может быть получена без проведения испытаний программного продукта.
В качестве такой исходной информации могут служить:
- характеристики свойств алгоритма, положенного в основу программного обеспечения;
- характеристики компьютеров, на которых будет реализовано данное программное обеспечение;
- измеримые характеристики программ.
Измеримыми характеристиками программы являются:
- состав и число операторов и операндов, использованных в программе;
- характеристики стандартных процедур и функций, используемых в программе;
- граф-схема программы;
- статистические характеристики отдельных численных методов, ошибок при разработке программ и подготовке данных.
Оценивание качества - это процедура выработки и принятия решения о пригодности ПО ИС для его использования по назначению, в соответствии с техническим заданием и спецификациями, с целью максимального удовлетворения потребностей пользователя. Эта процедура заключается в проверке того, выполняются ли логические условия, накладываемые на значения вычисленных показателей качества по отношению к эталонным значениям показателей качества. Совокупность упомянутых логических условий - это модель оценивания качества.
Схема процедуры оценивания качества представлена на рис. 1.
Обоснование условий применения ПО ИС или их функционирования
1 -
Формирование описания ПО ИС
Обоснование требований к элементам описания, ПО ИС или процессу его функционирования
Выбор и обоснование перечня свойств, используемых для исследования качества
Выбор исходных показателей качества
Измерение и вычисление значений исходных показателей
качества
Вычисление обобщенного показателя качества 1
Выбор модели оценивания качества
Оценивание качества
Рис. 1. Схема процедуры оценивания качества
Таким образом, процесс оценивания качества ПО ИС состоит из нескольких этапов:
- выбор перечня свойств, формирующих качество ПО ИС;
- измерение значений исходных показателей, входящих в те или иные критерии;
- вычисление значений обобщенных показателей качества по критериям.
Поскольку ПО ИС, процесс функционирования ПО ИС и результат его функционирования характеризуются большим количеством свойств, фор-
мирующих качество, актуальным является вопрос выбора совокупности свойств, которые больше всего интересуют пользователя. Кроме того, требуется отобрать такие свойства, чтобы обобщенные показатели качества по этим свойствам вычислялись бы с возможно меньшей погрешностью.
Каждое свойство, формирующее качество ПО ИС, характеризуется большим числом исходных показателей, значения которых влияют на значение обобщенного показателя качества по этому свойству. В связи с этим встает проблема выбора перечня ис-
ходных показателей, принадлежащих к тому или иному свойству. Этот выбор осуществляется на основании следующих положений:
1. Исходя из цели функционирования ПО ИС осуществляется установление перечня и уровня свойств, которые должен иметь результат функционирования ПО. Установление этих требований проводится пользователем или при консультации с ним.
2. Опираясь на эти требования, осуществляется установление требований к процессу функционирования ПО ИС таким образом, чтобы после его окончания был получен результат, удовлетворяющий требованиям. Определяется перечень и уровень свойств, которыми должен обладать процесс функционирования ПО ИС.
3. Устанавливается перечень требований к ПО ИС, исходя из выбранных свойств результата функционирования и процесса функционирования ПО ИС.
Реализовать данные пункты можно по двум направлениям, в зависимости от накопленного опыта:
- поручить экспертам установить перечень свойств и требований к ним в отношении результата
Уровень качества, достигнутый по каждому из указанных в табл. 1 критериев, зависит от уровня качества критериев функциональных блоков, из которых состоит ПО ИС. Анализируя качество функциональных блоков и ПО ИС в целом, можно проследить, какой из блоков сильнее всего влияет на уровень качества ПО ИС.
Существуют несколько типовых подходов пользователей к оценке программного обеспечения ИС. Подходы отличаются степенью заинтересованности пользователей в тех или иных критериях качества. В зависимости от того, какой подход выбирает пользователь, изменяется стратегия решения задачи.
Подход, на котором пользователи останавливаются чаще всего, заключается в том, что их приблизительно одинаково интересуют все предложенные критерии качества. Тогда есть возможность применить для сравнения векторов критериев линейную стратегию. Вводится единый обобщенный (интегральный) критерий с целью обеспечить возможность сравнения векторов критериев. Вес того или
функционирования, процесса функционирования и ПО ИС;
- установить более широкий перечень свойств, формирующих качество, более мягкие требования к достигаемому уровню качества по этим свойствам и проанализировать степень вклада, вносимого качеством свойств в качество результата функционирования. Выбрать свойства, вклад которых наиболее существенен. Путем диалога с пользователем расширить выбранный перечень свойствами, наиболее важными для пользователя.
5. Многокритериальное оценивание качества ПО
Рассмотрим набор критериев качества ПО ИС. Он должен включать критерии, обуславливающие пригодность ПО ИС для их использования по назначению с целью максимального удовлетворения потребностей пользователя. Набор критериев зависит от особенностей конкретной программной системы. Для ПО ИС предлагается следующий набор критериев, приведенный в табл. 1.
иного критерия и оценка его значения не зависят от других критериев. Но вес критериев может быть разным, для учета чего вводятся весовые коэффициенты. Для учета взаимодействия между критериями используется правило "обобщенного среднего". Обобщенная целевая функция (интегральный критерий качества) на основе этого правила имеет вид
т
р=( & (Р уу, (1)
ы=\
где Рь - значение обобщенного показателя качества по ^му критерию.
При р=1 имеем линейную свертку:
т
р= £ ¿л.
и=\
Если критерии имеют стохастический характер (например, надежностные критерии), то предпочтительной является свертка следующего вида:
Таблица 1
Набор критериев качества ПО ИС_
Наименование критерия Что характеризует критерий
Функциональный Полноту удовлетворения потребностей пользователя
Надежностный Способность ПО ИС выполнять свои функции при наличии сбоев в отдельных функциональных блоках
Информационный Свойство информации соответствовать по разнообразию потребностям пользователя
Быстродействия Скорость выполнения ПО ИС тех или иных операций
Использования памяти Размер используемой памяти
Пользовательского интерфейса Качество интерфейса пользователя
Эффективности обмена с внешними устройствами Скорость и точность операций обмена с внешними устройствами
Полноты документации Наличие в документации, сопровождающей ПО ИС, достаточной для пользователя информации
Структуризованность Структурная упорядоченность функциональных блоков ПО ИС
Экономической эффективности Приспособленность ПО ИС удовлетворять потребности пользователя с минимальными затратами, окупаемость ИС
m
P= П LhP .
h=1
Еще один подход заключается в том, что пользователей интересует какой-то один критерий (например, надежность). Пользователи указывают, значения каких критериев следует увеличить (или уменьшить) с целью получения лучшего решения. В этом случае стратегия состоит в получении в диалоге с пользователями компромиссных решений, с помощью установленных ими локальных отношений превосходства.
Если при оценивании качества ПО ИС отдельно выполняется оценивание качества каждого функционального блока, то интегральный показатель качества определяется следующим образом:
Р^^-тах^Л), i=1,2,___,n , h=1,2,... ,m, (2)
где Phl - обобщенный показатель качества i-го функционального блока по h-му критерию.
6. Выводы
Был выполнен обзор существующих методов определения характеристик и критериев качества программных систем, установлены их достоинства и недостатки.
Предложена процедура оценивания качества ПО, состоящая из ряда этапов: выбор перечня критериев качества ПО ИС; вычисление значений показателей, формирующих значение критерия качества; вычисление значений обобщенных показателей качества ПО.
Предложена процедура многокритериальной оценки качества ПО ИС, различные целевые функции. Одной из областей применения рассмотренного оценивания может стать сравнительная характеристика разных программных продуктов и выбор того из них, который наилучшим образом удовлетворяет потребности пользователя.
Литература
1. Качество и характеристики программного обеспечения [Электронный ресурс]. - Режим доступа: http:// www.intuit.m/studies/courses/3632/874/lecture/14289?page=2
2. Орлов, С. Технологии разработки программного обеспечения [Текст] / С. Орлов. - СПб.: Питер, 2002. - 464 с.
3. Холстед, М. Х. Начала науки о программах [Текст] / М. Х. Холстед. - М., 1981. - 128 с.
4. Метрики цикломатической сложности по Мак-кейбу [Электронный ресурс]. - Режим доступа: http:// myors.ru/1-159773.html
5. Число уникальных операторов программы [Электронный ресурс]. - Режим доступа: http://refdb.ru/look/ 1930809-pall.html
6. Метрики сложности программ [Электронный ресурс]. - Режим доступа: http://migha.ru/metriki-slojnosti-programm.html
7. Программный код и его метрики [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/company/ intel/blog/106082/
8. Понятие метрики. Направления применения метрик. Метрические шкалы. Метрики сложности. Метрики стилистики [Электронный ресурс]. - Режим доступа: http://www.studfiles.ru/preview/1568115/
9. Метрики кода программного обеспечения [Электронный ресурс]. - Режим доступа: http:// www.slideshare. net/xarova/ss-8572788/
10. Метрики сложности кода [Электронный ресурс]. - Режим доступа: http://www.ispras.ru/preprints/ docs/ prep_ 25_2013/
References
1. Quality and descriptions of software. Available at: http://www.intuit.ru/studies/courses/3632/874/lecture/14289? page=2
2. Orlov, S. (2002). Technologies of software development. Sankt-Peterburg: Piter, 464.
3. Holsted, M. H. (1981). Science beginnings about the programs. Moscow, 128.
4. Description of ciklomaticheskoy complication on M^abe. Available at: http://myors.ru/1-159773.html
5. Number of unique operators of the program. Available at: http://refdb.ru/look/1930809-pall.html
6. Description of complication of the programs. Available at: http://migha.ru/metriki-slojnosti-programm.html
7. Programmatic code and his descriptions. Available at: https://habrahabr.ru/company/intel/blog/106082
8. The concept of a metric. Areas of application metrics. Metric scale. Metrics complexity. Metrics style. Available at: http://www. studfiles.ru/preview/1568115
9. Description of code of software. Available at: http://www.slideshare.net/xarova/ss-8572788
10. Description of complication of code. Available at: http://www.ispras.ru/preprints/docs/prep_25_2013
Рекомендовано до публгкацИ д-р техн. наукХажмурадов М. А.
Дата надходження рукопису 22.03.2016.
Павленко Евгений Петрович, кандидат технических наук, доцент, кафедра информационно-управляющих систем, Харьковский национальный университет радиоэлектроники, пр. Науки, 14, г. Харьков, Украина, 61166 E-mail: [email protected]
Айвазов Виталий Артемович, кафедра охраны труда, Харьковский национальный университет радиоэлектроники, пр. Науки, 14, г. Харьков, Украина, 61166
Лубенец Сергей Васильевич, кандидат технических наук, доцент, кафедра менеджмента социально-культурной деятельности, Харьковская государственная академия культуры, Бурсацкий спуск, 4, г. Харьков, Украина, 61057 E-mail: [email protected]