1.3. Показатели качества ПО в ГОСТ 28195 и ГОСТ Р ИСО/МЭК 9126
Показатели качества ПО устанавливают ГОСТ 28195 Оценка качества программных средств. Общие положения и ГОСТ Р ИСО/МЭК 9126 Информационная технология. Оценка программной продукции. Характеристика качества и руководства по их применению. Одновременное существование двух действующих стандартов, нормирующих одни и те же показатели, ставит вопрос об их гармонизации. Ниже кратко рассмотрим каждый из перечисленных стандартов.
ГОСТ Р ИСО/МЭК 9126 устанавливает шесть характеристик качества ПО. Под характеристикой качества ПО, согласно этому стандарту, понимается набор свойств (атрибутов) программной продукции, по которым ее качество оценивается или описывается. Определение качества и определенные в этом стандарте характеристики отражают представление пользователя о качестве ПО. Ниже приводятся существенное для оценки качества ПО обсуждение этих характеристик.
1. Функциональные возможности. Данная характеристика описывает свойства ПО в части полноты удовлетворения требований пользователя и в этом смысле является определяющей для потребительских свойств ПО, в то время как остальные характеристики носят более технический характер, что не уменьшает их значение при оценке качества ПО. Кроме того, эти характеристики (такие как надежность, эффективность и др.) могут входить в число требований пользователя.
Требования пользователя четко обусловлены при наличие контракта и, соответственно, технического задания (технических требований). В других случаях речь идет о предполагаемых потребностях, которые должны быть установлены и формально определены какими-либо нормативными документами (стандартами, техническими условиями и пр.). Оценка качества ПС должна начинаться с точного и формального установления предъявляемых требований, которые могут различаться (и различаются) для различных ПО.
Функциональные возможности - набор атрибутов, относящихся к сути набора функций и их конкретным свойствам. Функциями являются те, которые реализуют установленные или предполагаемые потребности. Данный набор атрибутов характеризует то, что ПО выполняет для удовлетворения потребностей, тогда как другие наборы, главным образом, характеризуют, когда и как это выполняется.
2. Надежность. Специфика ПО заключается в том, что оно не подвержено старению и износу, а отказы проявляются из-за ошибок в требованиях, проекте, реализации.
Надежность - набор атрибутов, относящихся к способности ПО сохранять свой уровень качества функционирования в установленных условиях за определенный период времени.
3. Практичность. При оценке этой характеристики следует исходить из требований пользователя, так как пользователи разного уровня подготовленности предъявляют разные (часто взаимоисключающие) требования.
Практичность - набор атрибутов, относящихся к объему работ, требуемых для исполнения и индивидуальной оценки такого исполнения определенным или предполагаемым кругом пользователей.
4. Эффективность. Оценка данной характеристики также критически зависит от требований пользователя. ПО может выглядеть неэффективным не в силу плохого кодирования, а в силу противоречивости и нереальности исходных требований. Например, требования к ПО выполнять функции на технических средствах минимальной (по объему оперативной и дисковой памяти, тактовой частоте и пр.) конфигурации компьютера противоречит требованиям о высоком быстродействии. Вообще говоря, и теория, и практика свидетельствует, что быстродействие и объем используемой памяти является взаимодополняющими характеристиками в том смысле, что увеличение одного приводит к увеличению другого при прочих равных условиях.
Эффективность - набор атрибутов, относящихся к соотношению между уровнем качества функционирования ПО и объемом используемых ресурсов при установленных условиях.
5. Сопровождаемость. Мобильность. Для этих двух характеристик следует учитывать, что в специфических российских условиях им часто не уделялось ранее и не уделяется сейчас достаточно внимания со стороны пользователя. Эти характеристики связаны с долгосрочным планированием развития ПО (и эксплуатирующей его организации). Улучшение сопровождаемости и мобильности может, вообще говоря, повысить стоимость ПО в настоящий момент времени, что (многократно) окупается лишь через несколько лет.
Сопровождаемость - набор атрибутов, относящихся к объему работ, требуемых для проведения конкретных изменений (модификаций).
Мобильность - набор атрибутов, относящихся к способности ПО быть перенесенным из одного окружения в другое.
Все приведенные характеристики являются наборами атрибутов и, следовательно, должны уточняться на множестве соответствующих подхарактеристик. ГОСТ Р ИСО/МЭК 9126 не устанавливает соответствующих показателей, но в рекомендуемом приложении А к этому стандарту дается пример (качественная модель) таких подхарактеристик, называемых комплексными показателями.
В качестве примера приведем комплексные показатели для некоторых характеристик.
Характеристика Функциональные возможности:1. Пригодность - атрибут ПО, относящийся к наличию и соответствию набора функций конкретным задачам.
2. Правильность - атрибуты ПО, относящиеся к обеспечению правильности или соответствия результатов или эффектов.
3. Способность к взаимодействию - атрибуты ПО, относящиеся к способности его взаимодействовать с конкретными системами.
4. Согласованность - атрибуты ПО, которые заставляют программу придерживаться соответствующих стандартов или соглашений, или положений законов, или подобных рекомендаций.
5. Защищенность - атрибуты ПО, относящиеся к его способности предотвращать несанкционированный доступ, случайный или преднамеренный, к программам и данным.Характеристика Эффективность:
1. Характер изменения во времени - атрибуты ПО, относящиеся к временам отклика и обработки и к скорости выполнения его функций.
2. Характер изменения ресурсов - атрибуты ПО, относящиеся к объему используемых ресурсов и продолжительности такого использования при выполнении функций.Приведенные комплексные показатели в свою очередь формируются на основе показателей нижележащего уровня. ГОСТ Р ИСО/МЭК 9126 не устанавливает этих показателей, так как современное состояние соответствующих моделей, терминов, определений не позволяет включить их в рассматриваемый международный стандарт.
В СССР действовал и продолжает действовать в РФ ГОСТ 28195-89. Этот стандарт устанавливает четырехуровневую модель оценки качества ПС. Характеристики верхних двух уровней (называемые фактор и критерий) устанавливаются в основном тексте документа. В таблице 1.1. показаны факторы и критерии качества ПО согласно ГОСТ 28195.Таблица 1.1
Наименование факторов и критериев качества ПО и их обозначение
Характеризуемое свойство
1. Надежность ПО (Н)
Характеризует способность ПО в конкретных областях применения выполнять заданные функции в соответствии с программными документами в условиях возникновения отклонений в среде функционирования, вызванных сбоями технических средств, ошибками во входных данных, ошибками обслуживания и другими дестабилизирующими воздействиями.
1.1. Устойчивость функционирования (Н1)
Способность обеспечивать продолжение работы ПО после возникновения отклонений, вызванных сбоями технических средств, ошибками во входных данных и ошибками обслуживания.
1.2. Работоспособность (Н2)
Способность ПО функционировать в заданных режимах и объемах обрабатываемой информации в соответствии с программными документами при отсутствии сбоев технических средств.
2. Сопровождаемость (С)
Характеризует технологические аспекты, обеспечивающие простоту устранения ошибок в ПО и программных документах и поддержания ПО в актуальном состоянии.
2.1. Структурность (С1)
Организация всех взаимосвязанных частей ПО в единое целое с использованием логических структур последовательность, выбор, повторение.
2.2. Простота конструкции (С2)
Построение модульной структуры ПО наиболее рациональным образом с точки зрения восприятия и понимания.
2.3. Наглядность (С3)
Наличие и представление в наиболее легко воспринимаемом виде исходных модулей ПО, полное их описание в соответствующих программных документах.
2.4. Повторяемость (С4)
Степень использования типовых проектных решений или компонентов, входящих в ПО.
3. Удобство применения (У)
Характеризует свойства ПО, способствующие быстрому освоению, применению и эксплуатации ПО с минимальными трудозатратами с учетом характера решаемых задач и требований к квалификации обслуживающего персонала.
3.1. Легкость освоения (У1)
Представление программных документов и ПО в виде, способствующем пониманию логики функционирования ПО в целом и его частей.
3.2. Доступность эксплуатационных программных документов (У2)
Понятность, наглядность и полнота описания взаимодействия пользователя с ПО в эксплуатационных программных документах.
3.3. Удобство эксплуатации и обслуживания (У3)
Соответствие процесса обработки данных и форм представления результатов характеру решаемых задач.
4. Эффективность (Э)
Характеризует степень удовлетворения потребности пользователя в обработке данных с учетом экономических, вычислительных и людских ресурсов.
4.1. Уровень автоматизации (Э1)
Уровень автоматизации функций процесса обработки данных с учетом рациональности функциональной структуры ПО с точки зрения взаимодействия с ней пользователя и использования вычислительных ресурсов.
4.2. Временная эффективность (Э2)
Способность ПО выполнять заданные действия в интервал времени, отвечающий заданным требованиям.
4.3. Ресурсоемкость (Э3)
Минимально необходимые вычислительные ресурсы и число обслуживающего персонала для эксплуатации ПО.
5. Универсальность (Г)
Характеризует адаптируемость ПО к новым функциональным требованиям, возникающим вследствие изменения области применения или других условий функционирования.
5.1. Гибкость (Г1)
Возможность использования ПО в различных областях применения.
5.2. Мобильность (Г2)
Возможность применения ПО без существенных дополнительных трудозатрат на ЭВМ аналогичного класса.
5.3. Модифицируемость (Г3)
Обеспечение простоты внесения необходимых изменений и доработок в ПО в процессе эксплуатации.
6. Корректность (К)
Характеризует степень соответствия ПО требованиям, установленным в техническом задании, требованиям к обработке данных и общесистемным требованиям.
6.1. Полнота реализации (К1)
Полнота реализации заданных функций ПО и достаточность их описания в программной документации.
6.2. Согласованность (К2)
Однозначное, непротиворечивое описание и использование тождественных объектов, функций, терминов, определений, идентификаторов и т.д. в различных частях программных документов и текста программы.
6.3. Логическая корректность (К3)
Функциональное и программное соответствие процесса обработки данных при выполнении задания общесистемным требованиям.
6.4. Проверенность (К4)
Полнота проверки возможных маршрутов выполнения программы в процессе тестирования.
Характеристики двух нижних уровней (называемых метрика и оценочный элемент) устанавливаются в справочном приложении 2 к рассматриваемому стандарту. В том же приложении установлены методы проведения контроля за качеством ПО. Методы определения качества ПО различаются:
по способу получения информации о ПО - измерительный, регистрационный, органолептический, расчетный;
по источникам получения информации - традиционный, экспертный, социологический.
Программно-аппаратные средства проведения контроля зависят от вида конкретного ПО и должны разрабатываться отдельно.
В качестве примера приведем некоторые метрики следующих критериев фактора Надежность:
устойчивость функционирования:
а) средства восстановления при ошибках на входе;
б) средства восстановления при сбоях оборудования;
в) реализация управления средствами восстановления;
работоспособность:
а) функционирование в заданных режимах;
б) обеспечение обработки заданного объема информации.
В таблице 1.2. приведены некоторые оценочные элементы факторов Сопровождаемость и Корректность.
Оценка качества ПО производится в определенной последовательности. На начальных этапах разработки ПО производится выбор показателей и их базовых значений. Для показателей качества на всех четырех уровнях принимается единая шкала оценки от 0 до 1. Показатели качества на вышестоящем уровне (кроме уровня оценочных элементов) определяются показателями качества нижестоящего уровня.Таблица 1.2.
Код элемента
Наименование
Метод оценки
Оценка
С0803
Наличие комментариев в точках входа и выхода программы
Экспертный
0-1
С0302
Оценка простоты программы по числу точек входа и выхода
Расчетный
W = 1/ ((D+1)(F+1))2
где D - общее число точек входа в программу, F - общее число точек выхода из программы.
С1002
Оценка простоты программы по числу переходов по условию
Расчетный
U = (1 - A/B)
где A - общее число переходов по условию, B - общее число исполняемых операторов.
С0303
Осуществляется ли передача результатов работы модуля через вызывающий его модуль
Экспертный
0-1
С0604
Оценка программы по числу циклов
Экспертный
0-1
С0901
Соответствие комментариев принятым соглашениям
Экспертный
0-1
С1001
Используется ли язык высокого уровня
Экспертный
0-1
К0101
Наличие всех необходимых документов для понимания и использования ПО
Экспертный
0-1
К0103
Наличие описания основных функций
Экспертный
0-1
К0201
Реализация всех основных функций
Экспертный
0-1
К0701
Комплектность документации в соответствии со стандартами
Экспертный
0-1
К1003
Отношение числа модулей, отработавших в процессе тестирования и отладки (QTM) к общему числу модулей (QОM)
Расчетный
(QTM) / (QОM)
Коды оценочных элементов составлены из пяти символов следующим образом:
1-ый символ - буква русского алфавита - указывает на принадлежность элемента к тому или иному фактору;
2-й и 3-й символы - номер метрики, которой принадлежит оценочный элемент;
4-й и 5-й - порядковый номер данного оценочного элемента в метрике.В процессе оценки качества ПО на каждом уровне (кроме уровня оценочных элементов) проводятся вычисления показателей качества ПО, т.е. определение количественных значений абсолютных показателей (Pij, где j - порядковый номер показателя для i - го показателя вышестоящего уровня) и относительных показателей (Kij), являющихся функцией показателя Pij, и базового значения Pijбаз.
Критерий и метрика характеризуется двумя числовыми параметрами - количественным значением и весовыми коэффициентами (Vij). Сумма весовых коэффициентов показателей уровня (l) относящихся к i-му показателю вышестоящего уровня (l-1), есть величина постоянная. Сумма весовых коэффициентов (Vij) принимается равной 1.
Общая оценка качества ПО в целом формируется экспертами по набору полученных значений оценок факторов качества. Для оценки качества ПО различного назначения методом экспертного опроса составляется таблица базовых показателей качества ПО.
При сопоставление характеристик стандартов ГОСТ Р ИСО/МЭК 9126 и ГОСТ 28195 следует учесть несоответствие используемой терминологии. Например, подхарактеристика 1.4 ГОСТ Р ИСО/МЭК 9126 называется также, как критерий 6.2 ГОСТ 28195 - согласованность. Однако в первом документе имеется в виду согласованность ПО со стандартами и другими нормативными документами, а во втором - однозначное, непротиворечивое описание и использование тождественных объектов, функций, терминов, определений, идентификаторов и т.д. в различных частях программных документов и текста программы. Точное сопоставление характеристик и подхарактеристик первого из обсуждаемых стандартов с факторами и критериями второго оказывается, как правило, невозможным.
Таким образом, на сегодняшний день действуют два нормативных документа по оценке качества ПО - ГОСТ 28195 и ГОСТ Р ИСО/МЭК 9126. Первый содержит рекомендуемый (и возможно - неполный) перечень метрик, однако ориентирован на представление разработчика. Второй - более соответствует взглядам пользователя, но для его применения требуется разработка модели качества ПС, включающая метрики и методы оценивания и ранжирования с указанием применимости на стадиях ЖЦ продукта.