Научная статья на тему 'Формализация определения уровня качества программного обеспечения'

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

CC BY
349
104
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
КАЧЕСТВО / ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ / СТЕПЕНЬ ВАЖНОСТИ / УРОВЕНЬ ЗАВЕРШЁННОСТИ / QUALITY / SOFTWARE / DEGREE OF IMPORTANCE / LEVEL OF COMPLETION / ISO

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Данилин А.О., Петрухнова Г.В.

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Данилин А.О., Петрухнова Г.В.

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

A SOFTWARE QUALITY LEVEL DETERMINATION THE FORMALIZATION

The article considers the questions reveal the quality of software products based on international standards of the International organization for standardization. The mathematical model allows us to determine the level of software quality using GOMS methodology

Текст научной работы на тему «Формализация определения уровня качества программного обеспечения»

УДК 004.415.5

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

ОБЕСПЕЧЕНИЯ

А.О. Данилин, Г.В. Петрухнова

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

Ключевые слова: качество, программное обеспечение, степень важности, уровень завершённости, ISO

Введение. Рынок программного обеспечения (ПО) представляет собой сложную структуру пользовательских приложений, обладающих определённым набором характеристик и свойств. Отсутствие систематизации программных продуктов приводит к хаосу постоянно разрастающихся объёмов программных средств. Также в настоящее время в сфере разработки ПО отсутствует критерий выбора программных продуктов исходя из соотношения цена/качество. Суть этой проблемы сводится к отсутствию определения «качество» как такового. Это говорит о том, что на сегодняшний день потребитель не информирован о качестве приобретаемого им программного продукта, и порой, дефекты ПО выявляются прямо во время эксплуатации. Подобные случаи дискредитируют организации-разработчики как надёжных производителей. Тем не менее, пользователь недоброкачественного продукта в большинстве случаев будет вынужден продолжать использование «бракованного» товара, поскольку поиск альтернативных вариантов не является прозрачным. Возникшая ситуация ведёт к регрессу реального качества, которое, несмотря на отсутствие методов его оценки, присуще каждому программному средству.

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

Качество программного продукта характеризуется набором свойств, определяющих, насколько продукт «хорош» с точки зрения заинтересованных сторон, таких как заказчик продукта, спонсор, конечный пользователь, разработчики и тестировщи-ки продукта, инженеры поддержки, сотрудники отделов маркетинга, обучения и продаж. Каждый из этих лиц может иметь различное представление о продукте и о том, насколько он хорош или, то есть о том, насколько высоко качество продукта. Таким образом, постановка задачи обеспечения качества продукта выливается в задачу определения заинте-

Данилин Артем Олегович - ВГТУ, аспирант, e-mail: push-nir@rambler.ru

Петрухнова Галина Викторовна - ВГТУ, канд. техн. наук, доцент, e-mail: petruhnova@pochta.ru

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

Однако, существует система международных стандартов серии ISO, которые регламентируют понятие качества с точки зрения некой нормативной базы, отвечающей требованиям абстрактного пользователя исходя из текущего научно-технического уклада. В связи с этим оценка качества заинтересованными лицами может иметь вспомогательный характер в цепи выявления уровня качества конечного продукта или играть первостепенную роль при проектировании (прогнозировании) качества разрабатываемого решения. Данный подход может использоваться в тест-дизайне для выработки оптимальной стратегии тестирования [1].

В данной работе приведён подход к оценке качества программного обеспечения с помощью математических формул и средств. Словестное описание определения уровня качества ПО базируется на терминологии, обозначенной в первом разделе; все приведённые подходы к оценке качества, вычисления и схемы являются авторскими.

Определение термина «качество». Качество —понятие из области философии, относящиеся к характеризации свойств того или иного объекта. В области программного обеспечения сложилось тройственное определение понятия качества, на которое ссылается ряд государственных и международных документов. Так, в соответствие с ГОСТ 15467-79 и стандартом ISO 9000-2011 качество программного обеспечения представляет собой совокупность свойств продукции, обусловливающих её пригодность удовлетворять определённые потребности в соответствии с её назначением; это степень соответствия совокупности присущих характеристик требованиям; совокупность объективно присущих продукции свойств и характеристик, уровень или вариант которых формируется при создании продукции с целью удовлетворения существующих потребностей [2].

Такая формулировка трактует термин «качество» довольно широко и является неоднозначной.

Согласно критериям, на которых базируется ряд международных стандартов серии ISO, термин «качество» должен включать в себя специфику применения оценок при выявлении уровня соответствия [3]. По этой причине в отношении программ-

ного обеспечения применение термина «качество» является не совсем корректным - куда более однозначной формулировкой выступает определение «уровень качества». Таким образом, под уровнем качества ПО следует понимать степень соответствия программного продукта международным требованиям качества (МТК), т.е. определяемым Международными стандартами по отношению к ПО, а также степень соответствия конечного решения совокупности требований, указанным в спецификации к разработке.

Формализация данного определения допускает трактовку в следующем ключе: уровень качества ПО представляет собой числовое значение, полученное на основании сведений о соответствие исследуемого ПО совокупности требований качества Международных стандартов и процентном соотношении уникальных характеристик программного продукта (таких как количество активных дефектов на момент сдачи проекта, соответствие конечного решения спецификации разработки и т.п.) эталонным. Такая формулировка позволяет утверждать, что качество в своём первоначальном значении не может быть ни хорошим, ни плохим, поскольку любое изменение уровня качества приводит к трансформации объекта в силу модификации характеристик. При этом следует чётко разграничивать требования качества от требований к разработке. Так, под требованиями качества следует понимать инициированные Международными стандартами критерии качества, указанные в соответствующем стандарте. Требования разработки - это инициированные спецификацией требования к продукту, описывающие функциональные особенности и иные специфические параметры, характерные данному ПО.

Если принять некий объект за совокупность качественных признаков, то будет справедливо говорить о его уровне качества. При этом уровень качества повышается, если совокупные характеристики улучшаются в соответствии с предъявляемыми к ним критериями, и наоборот - уменьшается, если характеристики ухудшаются.

Методология расчётов уровня качества ПО. Определение уровня качества программного обеспечения строится на основе многомерной иерархической структуры множеств, которые отражают суть шести основных требований к качеству, обозначенных и регламентированных международными стандартами серии ISO. Однако их количество не может быть величиной постоянной в виду возможной модификации международных соглашений. По этой причине методология расчётов будет построена исходя из неизвестного количества множеств, влияющих на конечный результат определения уровня качества ПО (рис. 1).

——^—-—--Элемент группы МТК l.n.1

Рис. 1. Иерархическая структура элементов качества ПО

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

На следующем уровне помимо числовых значений имеются параметризированные коэффициенты, представляющие собой константы. Эти коэффициенты строго привязаны к величинам степеней завершённости их компонентов и их приоритиза-ции. При этом изменение величины степени завершённости базируется на основе полноты данных исследуемого подуровня. Аналогично производится определение степени приоритизации коэффициентов, но уже с учётом выявленных на предыдущем этапе значений степеней завершённости.

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

Под цифрой 1 на рис. 2 обозначено множество, элементами которого являются бинарные прямоугольные матрицы заранее неизвестной размерности. Цифрой 2 обозначено множество вещественных чисел. Во множестве под цифрой 3 - данные, полученные на основе обработки элементов множеств 1 и 2, и приведённые к единообразию за счёт преобразования бинарных матриц в соответствие с шаблонами унифицированных диапазонов. Таким образом, элементами множеств 3, 4 и 5 являются вещественные числа, над которыми совершаются операции преобразования в соответствие с константами, определяемыми пользователем перед началом расчётов. При этом множество 4 представляет собой совокупность групп элементов множеств 1 и 2 для МТК конкретного типа, обусловленного характеристиками, выдвигаемыми стандартами серии ISO. Множество 5 включает в себя совокупность элементов каждого типа МТК. Постоянными

будут величины степени завершённости каждой группы элементов множеств 3 и 4, а также их степени важности при разработке конкретного продукта.

Рис. 2. Расположение множеств в иерархической структуре элементов качества ПО

Определение бинарных матриц модели.

В основе методики оценки качества ПО лежит ряд требований качества явно или косвенно обозначенных Международными стандартами. Помимо совокупности разнородных требований при выявлении числового значения качества используются бинарные матрицы, которые показывают вхождение в ту или иную группу МТК соответствующих элементов подмножеств множеств (уровень 1, 3, 4). Так, строками бинарных матриц является перечень элементов множеств. Каждому элементу матрицы соответствует значения ОМ и ЬМК. ОМ указывает на возможность использования соответствующего требования к качеству ПО (1 - возможно, 0 - нет). ЬМК - на зависимость данного требования от другого (1 - зависим, 0 - не имеет зависимостей и вложений). Для каждого коэффициента может быть построена только одна (уникальная) бинарная матрица

Рассмотрим частный случай, когда коэффициент п включает в себя 5 компонентов 1. Один из компонентов набора является составным и включает в себя 2 зависимых. Бинарная матрица для данного коэффициента будет иметь вид, представленный табл. 1.

Таблица 1

п ОМ ьмк

11 1|0 0

12 1|0 0

13 1|0 0

14 1|0 1

15 1|0 1

Таблицы вещественных чисел математической модели. Рассматривая модель определения уровня качества ПО, следует сделать акцент на том, что данные таблиц вещественных чисел, используемые для расчётов, по своему представлению будут различаться. Данные матрицы строятся на основе сведений, полученных опытным путём, при эксплуатации исследуемого ПО в условиях реальной эксплуатации. Так, в таблице расчёта данных по времени целесообразно использовать значения в формате Международной система единиц (СИ), а относительные данные - в процентном соотношении. Поэтому каждая таблица должна иметь уникальное правило принятия решений и обрабатываться в соответствие с типом МТК, соответствующего конкретной группе элементов.

Пример представления относительных величин и временных данных показан в таблицах 2 и 3 соответственно.

Таблица 2

Таблица 3

п УЛЬ

11 25

12 89

13 1

14 45

15 47

п УЛЬ

11 0.01

12 0.28

13 0.9

14 0.9

15 0.5

На основании полученных структур элементов производятся вычисления коэффициентов качества (получение числовых значений) каждого уровня иерархии. Получение вещественных значений путём преобразования множеств 1 и 2 продемонстрировано формулой (1).

7™ к-хс-

X _ ^-=1 1.1 I

(1)

где т - количество элементов одной группы МТК, принимающее значения от 1 до максимального числа, равного количеству возможных элементов множества на уровне иерархии 3;

Ц - значение элемента матрицы для 1-того коэффициента и ]-того компонента;

с1 - показатель степени завершённости для 1-того коэффициента, определяемая пользователем до начала вычислений;

п1 - пользовательский приоритет для 1-того коэффициента.

Формула (2) демонстрирует вычисление показателей для множеств 4 и 5, элементами которых являются вещественные числа.

(2)

где К - значение ]-того коэффициента для 1-того МТК;

т - количество исследуемых МТК; а1 - показатель степени важности 1-того МТК; с1 - показатель степени завершённости 1-того МТК.

При этом выражение (3) представляет собой величину поправки коэффициента исходя из соотношения степени важности к степени завершённости.

(3)

Используемый в формуле (3) квадратный корень соотношения степеней позволяет сохранить устойчивость вычислений при любых возможных значениях, полученных в результате применения формулы (1). Завершающий этап вычислений базируется на получении среднего арифметического значений множеств, обозначенных цифрой 5. Таким образом, формула (4) демонстрирует заключительный этап обработки сведений для выявления конечного значения уровня качества ПО.

9 =

(4)

где Sh - значение h-того критерия качества;

m - количество исследуемых критериев качества.

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

Согласно методологии GOMS все действия пользователя можно представить как набор типовых составляющих (например, нажать ту или иную кнопку на клавиатуре, передвинуть мышь). Для этих типовых составляющих можно провести измерения времени их выполнения (на большом числе пользователей) и получить статистические оценки времени выполнения того или иного элементарного действия. Оценка качества интерфейса заключается в разложении выполняемой задачи на типовые составляющие, и вычислении времени, которое будет в среднем затрачиваться пользователем на выполнение этой задачи. Обычно тот интерфейс лучше, при котором время выполнения задачи меньше [4].

Метод KLM (от английского «Keystroke-level Model») является одной из составляющих методологии GOMS. Данный метод представляет собой модель, в которой используются только операторы, нет целей и правил выбора. Пользователю (эксперту) достаточно перечислить нажатия на клавиши, движения мышью, которые должен произвести пользователь, чтобы решить задачу. Данный метод является довольно распространённым и представляет собой быстрый и эффективный способ оценки времени выполнения заданий опытными пользователями. Подходит для сравнения множества альтернативных решений (в зависимости от специфики исследуемого ПО) на большом числе пользовате-

лей. Пример оценки времени для ряда наиболее распространённых параметров оценки представлен в табл. 4.

Таблица 4

Оператор Время Описание

K 0.28 сек Нажатие клавиши. Время, необходимое для того, чтобы нажать клавишу.

T(n) n*K сек Последовательность нажатий клавиш. Время, необходимое для того, чтобы нажать последовательно несколько клавиш.

P 1.1 сек Указание. Время, необходимое пользователю для того, чтобы указать на какую-то позицию на экране монитора.

B 0.1 сек Нажать/отпустить кнопку мыши. Время, необходимое пользователю, чтобы нажать или отпустить кнопку мыши

BB 0.2 сек Клик кнопкой мыши. Время, необходимое пользователю, чтобы сделать один клик мышью.

M 1.2 сек Ментальная подготовка. Время, необходимое пользователю для того, чтобы умственно подготовиться к следующему шагу

W (t) 0,1 сек Ответ. Время, в течение которого пользователь должен ожидать ответ компьютера.

Данные табл. 4 используются при расчёте коэффициента эффективности по времени согласно формуле (1). Эталонные значения для графы «Время» могут быть изменены в соответствие с методологией GOMS для случаев, когда оцениваемое ПО предназначено для людей с ограниченными возможностями.

Матрица распределения приоритетов. Заключительный этап выявления уровня качества ПО сводится к преобразованию данных полученных на предыдущих этапах в соответствие с матрицей распределения приоритетов (МРП).

Как следует из структуры расположения множеств математической модели оценки качества, на третьем уровне иерархии (рис. 2) имеется совокупность бинарных матриц и таблиц вещественных чисел. При этом каждому коэффициенту данного уровня соответствует, так называемая матрица распределения приоритетов (МРП), которая отражает степень завершённости ПО и степень важности для каждого МТК пятого уровня иерархии. Данная матрица позволяет сделать акцент (или установить приоритет) на тех требованиях к качеству исследуемого ПО, которые является реально значимыми в данной категории программ или в отношении конкретного программного продукта. Таким образом, матрица распределения приоритетов накладывается на преобразованные данные двух таблиц и позволяет получить диапазон, внутри которого будет изме-

няться определённый коэффициент. Общий вид МРП представлен в табл. 5.

Таблица 5

n ON IMP COM PREC

i[1] 1|0 [0-6] [0-6] [0-2]

i[*] 1|0 [0-6] [0-6] [0-2]

Представленная в табл. 5 матрица включает в себя следующие параметры:

- ON - параметр, принимающий значения 1 либо 0, отвечает за использование данного коэффициента в исследуемом ПО;

- IMP (от англ. «importance») - параметр, представленный одним из семи значений градации степени важности критерия, к которому относится данный коэффициент;

- COM (от англ. «completion») - параметр, представленный одним из семи значений градации степени завершённости данного коэффициента;

- PREC (от англ. «precedence») - параметр, представленный одним из трёх значений градации приоритетов данного коэффициента.

Параметры IMP, COM, PREC независимыми шкалами градации, определяемыми исходя из особенностей управления проектом или методов оценки качества. Значения, представленные выше для данных параметров, являются наиболее оптимальными с точки зрения экспертного подхода к оценке МТК. При этом данные параметры не являются экспертными, поскольку оценка ТКМ по заранее установленным шкалам градации не может включать в себя субъективность оценки. Однако параметр PREC следует считать экспертным (т.е. определяемых пользователями-экспертами), поскольку приоритет того или иного коэффициента качества является субъективной оценкой и может иметь значение лишь в процессе разработки ПО, что при использовании модели выявления уровня качества позволяет спрогнозировать конечную оценку, но не позволяет получить объективные сведения об уровне качества уже готового программного продукта.

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

Заключение. Техническая значимость формализации в области выявления качества ПО несоизмеримо велика, поскольку информация об уровне качества ПО будет актуальна до тех пор, пока в пользовании будут иметься программные продукты, а значит, максимальный предел прогнозирова-

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

Возможности коммерциализации также широки, как и значимость предлагаемой идеи. Во-первых, потребность в оценке качества программных продуктов испытывают организации-разработчики ПО, которые заинтересованы в поставке качественного товара потребителю. Во-вторых, медиа-холдинги и интернет-компании, занимающиеся продвижением ПО, смогут предоставлять пользователям возможность выбора программных продуктов из соотношения цена/качество. В-третьих, необходимость в методике управления качеством продукции испытывают учебные учреждения и центры, занимающиеся подготовкой кадров по направлениям разработки и эксплуатации информационных систем.

Литература

1. Данилин А.О., Петрухнова Г.В., Подвальный С.Л. Концепция автоматизации проектирования тестов. Мат-лы XIV Международной науч.-методич. конф. Информатика: проблемы, методология, технологии. Воронеж, 6-8 февраля 2013 г. : в 4 т. - Воронеж, 2014. Т. 4. - С. 144-147

2. ГОСТ ISO 9000-2011. Межгосударственный стандарт. Системы менеджмента качества. Основные положения и словарь (ISO 9000:2005, IDT) Quality management systems. Fundamentals and vocabulary (введен в действие с 1 января 2013 года Приказом Росстандарта от 22.12.2011 N 1575-ст). М.:Стандартинформ, 2012.

3. ГОСТ ISO 9001-2011. Межгосударственный стандарт. Системы менеджмента качества. Требования (ISO 9001:2008, IDT) Quality management systems. Requirements (введен в действие с 1 января 2013 года Приказом Росстандарта от 22.12.2011 N 1575-ст). М.:Стандартинформ, 2012.

4. Головач В.В. Дизайн пользовательского интерфейса 2. Искусство мыть слона. СПб.: Символ-Плюс, 2009. -97с.

5. Подвальный, С.Л. Многоальтернативные системы: обзор и классификация [Текст] / С.Л Подвальный // Системы управления и информационные технологии. - 2012. -Т. 48.- № 2. - С. 4-13.

6. Podval'ny S.L., Intelligent modeling systems: design principies [Текст] / S.L. Podval'Ny, T.M. Ledeneva // Automation and Remote Control. - 2013. - Т. 74. - № 7. - С. 1201-1210.

7. Акинин, А.А. Сравнительная оценка вычислительных алгоритмов полиномиального преобразования булевых функций [Текст] / А.А. Акинин, С.Л. Подвальный //Вестник Воронежского государственного технического университета. - 2013. - Т. 9. - № 1. - С. 31-35.

Воронежский государственный технический университет

A SOFTWARE QUALITY LEVEL DETERMINATION THE FORMALIZATION

A.O. Danilin, G.V. Petruhnova

The article considers the questions reveal the quality of software products based on international standards of the International organization for standardization. The mathematical model allows us to determine the level of software quality using GOMS methodology

Key words: quality, software, degree of importance, level of completion, ISO

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