Назад в библиотеку


ОСНОВНЫЕ ТЕНДЕНЦИИ ОЦЕНИВАНИЯ КАЧЕСТВА ПРОГРАММНЫХ СРЕДСТВ

Автор: И.В. Антошина, В.Г. Домрачев, И.В. Ретинская

Источник: Качество Инновации Образование — научный журнал для специалистов по качеству, №1 2004

Аннотация

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

 

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

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

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

Оценке качества ПС посвящены государственные и международные стандарты, например, [1, 2]. Согласно ГОСТ 28195-89, оценка качества ПС представляет собой совокупность операций, включающая выбор номенклатуры показателей качества, определение значений этих показателей и сравнение их с базовыми значениями.

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

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

Рассмотрим некоторые подходы, относящиеся к первому классу.

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

В [4] предложено определение «хорошей» программы. На взгляд его автора, хорошей программой можно назвать только добротную программу. Под добротностью программы понимается ее разумная и рациональная реализация с продуманной организацией потоков управления и информационных потоков. В работе проведена классификация критериев добротности программ. Например, к количественным критериям отнесена сложность программы, сложность управляющего графа программы, рациональность процедурного разбиения программы, рациональность модульного разбиения программы. К генетическим критериям добротности отнесены такие критерии как добротность технологии разработки, добротность аппаратуры. К прагматическим критериям отнесены целевая направленность, структурная целесообразность, оправданная выстроенность вычислений, вычислительная неизбыточность, разумная организованность потока данных.

В [5] дано развитие метрической теории программ Холстеда. Как показатели качества ПС используются метрики Холстеда, для расчета длины программы предложено использовать модифицированную формулу Холстеда. Эту работу можно рассматривать в контексте усовершенствования одного из показателей качества программы. Ее недостатком является то, что прогнозировать влияние длины программы на значения наблюдаемых показателей качества очень трудно, а подчас вообще невозможно.

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

Рассмотрим подходы, относящиеся ко второму классу.

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

Наиболее подробно автор этой работы остановился на методике выбора ПС по критерию "функциональная полнота". Она базируется на информации о наличии (или отсутствии) важных функциональных возможностей в оцениваемом ПС. Первоначально составляется перечень наиболее важных функций, характерных для ПС данного класса. Затем заполняется матрица {xij}, причем

К матрице {xij} добавляется столбец в соответствии с представлениями лица, принимающего решение, (ЛПР) о идеальном ПС. Приведен алгоритм, позволяющий из множества всех альтернативных ПС выбирать подмножество ПС, в которых реализованы, по крайней мере, те же функции, что и в идеальном. Если полученное подмножество состоит только из одного элемента, то этот элемент – есть результат выбора, в противном случае ЛПР должен ввести в рассмотрение несколько функций ПС из числа не рассматривавшихся ранее. В этом случает описанная процедура повторяется до тех пор, пока не будут отсеяны все альтернативные ПС кроме одного – результата выбора.

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

В [3] предложена методика, рекомендованная авторами для использования разработчиками ПС на этапах его проектирования, создания и отладки. Методика позволяет оценить значения следующих факторов качества: практичность, целостность, эффективность, корректность, безопасность, надежность, удобство обслуживания, оцениваемость, гибкость, возможность использования в других условиях, мобильность, возможность взаимодействия.

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

Суть методики состоит в том, что ЛПР, выбирает из этих критериев наиболее важные, с его точки зрения, для оцениваемого класса ПС. Таким образом, каждый фактор определяется некоторым числом Si отобранных критериев. Затем ЛПР располагает критерии в порядке убывания их важности, вводя отношения между двумя соседними критериями: больше или равно, больше и много больше. Основываясь на введенных отношениях, определяются весовые коэффициенты Vj каждого критерия качества. Значения факторов рассчитываются по формуле:

где kj - значение j-ого показателя качества, определяемое экспертно, причем kjÎ[0; 1].

Значение обобщенного показателя качества ПС определяется как среднее арифметическое полученных значений факторов качества.

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

В [7] предложена методика выбора ПС из класса программ для бухгалтерского учета строительных организаций. Она состоит из трех этапов:

         (1.7)

где

i – количество программ,

j – количество параметров,

Xij – j-тый параметр i-той программы,

Fj(X) – критерий оптимальности по j-тому параметру,

Fj – оптимальное значение Xij,

lj – степень значимости параметра,

Fi(X) – критерий оптимальности по i-той программе, причем наиболее предпочтительной является программа с наибольшим значением Fi(X).

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

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

В [8] предложена методика получения обобщенной оценки качества программных и аппаратных средств с привлечением экспертной информации. Исходными данными являются множество объектов сравнения и иерархическая система характеристик качества. На первом этапе характеристики нижнего уровня (единичные показатели качества) выражаются в физических единицах, в отличие от характеристик других уровней, выраженных в относительных единицах, значения которых лежат на интервале от 0 до 1.

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

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

,

где mj – относительное значение j-ой характеристики,

Vj – весовой коэффициент j-ой характеристики,

а р=1, для аддитивного типа оператора,

  р>1, для квазиконъюктивного типа оператора,

  р<1, для квазидизъюнктивного типа оператора.

         Выбор типа и параметров оператора агрегирования производится с привлечением экспертных мнений.

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

В международном стандарте ISO 9126:1991 [2] определен универсальный для любого класса ПС набор из шести факторов качества. Они с минимальным перекрытием описывают качество ПС. Приведем их, это - функциональность, надежность, применимость, эффективность, сопровождаемость, переносимость. В стандарте даны определения факторов без рекомендаций и комментариев к их применению. Кроме того, рекомендовано использовать ряд характеристик качества второго уровня иерархии, однако не предоставлен набор характеристик других уровней. Это обусловлено тем, что характеристики нижних уровней – различны для разных по функциональному назначению ПС. Данная методика состоит из следующих этапов: уточнение иерархической системы критериев качества ПС, оценка характеристик качества нижнего уровня иерархии, перевод их значений из абсолютной шкалы в относительную, свертка оценок единичных характеристик в обобщенный показатель качества.

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

Методики второго класса лишены недостатков первого. Для их реализации возможен подход к ПС как к «черному ящику», кроме того критерии качества понятны производителям и пользователям, и их значения могут быть получены по результатам тестирования ПС.

К смешанным можно отнести следующие подходы.

         В ГОСТ 28195-89 [1] также приведены характеристики качества двух высших уровней иерархии. Среди них представлены как внешние, так и внутренние показатели качества. Определено, какие из этих показателей следует использовать для ряда классов ПС.

Указано, что система характеристик качества должна иметь четыре уровня иерархии: факторы, критерии, метрики и оценочные элементы. Рекомендован набор метрик для каждого этапа жизненного цикла ПС. Приведены рекомендуемые оценочные элементы. Однако этот список необходимо дополнять при разработке систем характеристик качества, так как он не характеризует функциональную полноту ПС. Для характеристик качества всех уровней принимается единая шкала от 0 до 1.

Уровень качества ПС получают сравнением реальных значений показателей качества с эталонными. Характеристики качества вычисляются по значениям характеристик предыдущего уровня иерархии. Так, k-ая метрика определяется через оценочные элементы mkq по следующей формуле

;

i-ый критерий определяется по формуле

,               

где ,

Pijбаз – эталонный уровень данного показателя качества на заданный период времени.

Значение i-го фактора качества определяется по формуле

.

Достоинством данной методики является наиболее завершенная модель системы характеристик качества.

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

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

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

.

Достоинства и недостатки методики аналогичны [1]. Кроме того, необоснованным представляется использование пессимистического подхода, то есть равенство обобщенного показателя качества минимальному из значений факторов.

         В [10] приведен обзор существующих методик оценки качества ПС, причем показано, что различие между ними заключено в основном в составе и числе уровней иерархии характеристик.

Авторы предлагают использовать трехуровневую иерархическую структуру "качество ПС – критерии – метрики". Все метрики предложено сгруппировать по следующим основным критериям: оценки надежности ПС, сложность и трудоемкость создания ПС, производительность ПС, оценки уровня языковых и технологических средств, понятность и читаемость программ, устойчивость ПС от проявления программных ошибок. Приведен ряд конструктивных метрик качества и математические модели для их расчета.

Далее выбираются критерии, наиболее полно оценивающие качество ПС и наиболее существенные метрики, описывающие качество с минимальным перекрытием.

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

                            (1)

                    (2)

где ai - ранг важности, принимается равным 1 или 2,

,                                                (3)

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

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

Для того, что бы подвести итог, приведем основные этапы процедуры оценки качества, характерные, практически, для всех методик и подходов.

  1. Составление системы характеристик качества ПС. Как правило, эта система имеет вид иерархической структуры. Для разных методик характерно разное количество уровней иерархии, а так же различное число критериев каждого уровня иерархии. Система критериев качества может включать как внутренние, так и внешние характеристики ПС. Однако предпочтение следует отдавать внешним характеристикам. Кроме того, критерии могут носить как количественный, так и качественный характер. Предпочтение стоит отдавать количественным характеристикам. Авторами этой статьи в [11] была предложена методика составления иерархических систем характеристик качества ПС.
  2. Определение значений относительных весовых коэффициентов характеристик качества с привлечением мнений экспертов. Некоторые методики базируются на допущении о том, что все критерии качества одинаково важны. Однако для получения адекватной оценки качества этот этап необходим.
  3. Оценка значений единичных показателей качества по абсолютной шкале. Информация об их значениях может быть получена по результатам испытаний ПС, экспертного или социологического опроса. Наиболее предпочтительным является первый источник, но в случае, если оценка критериев этим методом невозможна, или чрезмерно трудоемка, то привлекается экспертная информация.
  4. Нормирование значений единичных показателей качества. В различных методиках используются разные функции приведения.
  5. Вычисление факторов качества путем расчета взвешенной свертки значений единичных показателей качества. В разных методиках используются различные операторы свертки и различное число конечных показателей качества.

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

Литература:

  1. ГОСТ 28195 – 89. Оценка качества программных средств. Общие положения.
  2. ISO/IEC 9126:1991. Information technology – Software product evaluation – Quality characteristics and guidelines for their use.
  3. Воробьев В. И., Копыльцов А. В., Пальчун Б. П., Юсупов Р. М. Методы и модели оценивания качества программного обеспечения.
  4. Поттосин И. В. «Хорошая программа»: попытка точного определения понятия/ Программирование, 1997, №2, с. 3-17.
  5. О программометрическом подходе к оценкам программного обеспечения. Апостолова Н. А., Гольдштейн Б. С., Зайдман Р. А./ Изв. Вузов. Программирование, 1995, №4, с. 38-44.
  6. Хубаев Г. Н. Экономическая оценка потребительского качества программных средств: Текст лекций/ РГЭА. – Ростов н/Д., 1997 – 104с.
  7. Чикишева Н. М., Проскурякова Л. А. Разработка методики выбора программного обеспечения бухгалтерского учета для строительных организаций. – С-Пб.:Изд-во СПбГУЭФ, 1999. –88с.
  8. Елтаренко Е., Сергиевский М. Оценка аппаратных и программных средств по многоуровневой системе критериев./ Компьютер-пресс, №8, 1998, с. 268-272.
  9. Общая методика оценки качества программных средств. Москва. 1988
  10. Петров Б. Г., Шеремет В. П. Надежность и качество прогрммного обеспечения судовых СУТС (по публикациям и опыту разработки) /ЦНИИ «Аврора», 1992, 120с.
  11. Антошина И.В., Домрачев В.Г., Ретинская И.В. Методика составления системы характеристик качества для программных средств.// Качество, инновации, образование, №3, 2002. – с.57-60.