ГОСТ 28195-89
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
ОЦЕНКА КАЧЕСТВА
ПРОГРАММНЫХ СРЕДСТВ
ОБЩИЕ ПОЛОЖЕНИЯ
ИПК ИЗДАТЕЛЬСТВО
СТАНДАРТОВ
Москва
МЕЖГОСУДАРСТВЕННЫЙ СТАНДАРТ
ОЦЕНКА КАЧЕСТВА ПРОГРАММНЫХ СРЕДСТВ
Общие положения
Quality control of software systems.
General principles
|
ГОСТ
28195-89
|
Дата введения 01.07.90
Настоящий
стандарт устанавливает общие положения по оценке качества программных средств
вычислительной техники (далее - ПС), поставляемых через фонды алгоритмов и
программ (ФАП), номенклатуру и применяемость показателей качества ПС.
Термины,
применяемые в стандарте, и пояснения к ним приведены в приложении 1.
1.
ОБЩИЕ ПОЛОЖЕНИЯ
1.1. Оценка качества осуществляется на всех
этапах жизненного цикла ПС при:
-
планировании показателей качества ПС;
-
контроле качества на отдельных этапах разработки (техническое задание,
технический проект, рабочий проект);
-
контроле качества в процессе производства ПС;
-
проверке эффективности модификации ПС на этапе сопровождения.
1.2. Оценка качества ПС представляет собой
совокупность операций, включающих выбор номенклатуры показателей качества
оцениваемого ПС, определение значений этих показателей и сравнение их с
базовыми значениями.
1.3. Оценку качества проводят специалисты
организаций:
-
разработчика - на этапах разработки ПС;
-
фондодержателя - на этапах приемки ПС в фонд;
-
испытательных центров и центров сертификации
-
изготовителя - на этапах тиражирования ПС;
-
пользователя - на этапах внедрения, сопровождения и эксплуатации ПС.
1.4. Основные задачи, решаемые при оценке
качества ПС:
-
планирование уровня качества;
-
контроль значений показателей качества в процессе разработки и испытаний;
-
эксплуатационный контроль заданного уровня качества;
-
выбор базовых образцов по подклассам и группам;
-
методическое руководство разработкой нормативно-технических документов по
оценке качества.
1.5. Методы определения показателей
качества ПС различаются:
-
по способам получения информации о ПС - измерительный, регистрационный,
органолептический, расчетный;
-
по источникам получения информации - традиционный, экспертный, социологический.
1.5.1. Измерительный метод основан на
получении информации о свойствах и характеристиках ПС с использованием
инструментальных средств. Например, с использованием этого метода определяется
объем ПС - число строк исходного текста программ и число строк - комментариев,
число операторов и операндов, число исполненных операторов, число ветвей в
программе, число точек входа (выхода), время выполнения ветви программы, время
реакции и другие показатели.
1.5.2. Регистрационный метод основан на
получении информации во время испытаний или функционирования ПС, когда
регистрируются и подсчитываются определенные события, например, время и число
сбоев и отказов, время передачи управления другим модулям, время начала и
окончания работы.
1.5.3. Органолептический метод основан на
использовании информации, получаемой в результате анализа восприятия органов
чувств (зрения, слуха), и применяется для определения таких показателей как
удобство применения, эффективность и т.п.
1.5.4. Расчетный метод основан на
использовании теоретических и эмпирических зависимостей (на ранних этапах
разработки), статистических данных, накапливаемых при испытаниях, эксплуатации
и сопровождении ПС. При помощи расчетного метода определяются длительность и
точность вычислений, время реакции, необходимые ресурсы.
1.5.5. Определение значений показателей
качества ПС экспертным методом осуществляется группой экспертов-специалистов,
компетентных в решении данной задачи, на базе их опыта и интуиции.
Экспертный
метод применяется в случаях, когда задача не может быть решена никаким другим
из существующих способов или другие способы являются значительно более
трудоемкими. Экспертный метод рекомендуется применять при определении
показателей наглядности, полноты и доступности программной документации,
легкости освоения, структурности.
1.5.6. Социологические методы основаны на
обработке специальных анкет-вопросников.
2.
НОМЕНКЛАТУРА ПОКАЗАТЕЛЕЙ КАЧЕСТВА ПРОГРАММНЫХ СРЕДСТВ
2.1. Номенклатура показателей качества и
характеризуемые ими свойства программных средств приведены в табл. 1,
где представлены 2 уровня иерархической структуры показателей качества ПС:
Таблица 1
Наименование групп и
комплексных показателей качества
|
Обозначение показателя
|
Характеризуемое свойство
|
1. Показатели
надежности ПС
|
|
Характеризуют
способность ПС в конкретных областях применения выполнять заданные функции в
соответствии с программными документами в условиях возникновения отклонений в
среде функционирования, вызванных сбоями технических средств, ошибками во
входных данных, ошибками обслуживания и другими дестабилизирующими
воздействиями
|
1.1.
Устойчивость функционирования
|
H1
|
Способность
обеспечивать продолжение работы программы после возникновения отклонений,
вызванных сбоями технических средств, ошибками во входных данных и ошибками
обслуживания
|
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.2. Выбор номенклатуры показателей
качества для конкретного ПС осуществляется с учетом его назначения и требований
областей применения. В табл. 2
представлена рекомендуемая применяемость показателей качества в зависимости от
принадлежности ПС к тому или иному подклассу (группе) в соответствии с
общесоюзным классификатором продукции
2.3. Выбранная номенклатура показателей
качества фиксируется в ТЗ на разработку ПС.
Таблица 2
Номер показателя по
табл. 1
|
Применяемость показателя по подклассам (группам) ПС
|
5011
|
5012
|
5013
|
5014
|
5015
|
5016
|
5017
|
503
|
504
|
505
|
506
|
509
|
1.1
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
-
|
±
|
+
|
±
|
|
1.2
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
|
2.1
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
|
2.2
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
-
|
±
|
±
|
±
|
|
2.3
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
-
|
±
|
±
|
±
|
|
2.4
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
|
3.1
|
±
|
±
|
±
|
+
|
+
|
+
|
+
|
±
|
+
|
±
|
±
|
|
3.2
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
|
3.3
|
+
|
+
|
±
|
+
|
+
|
+
|
+
|
-
|
+
|
+
|
±
|
|
4.1
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
-
|
±
|
±
|
±
|
|
4.2
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
|
4.3
|
+
|
+
|
+
|
±
|
±
|
+
|
±
|
-
|
+
|
±
|
±
|
|
5.1
|
-
|
±
|
-
|
±
|
±
|
-
|
-
|
-
|
+
|
±
|
±
|
|
5.2
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
±
|
|
5.3
|
+
|
+
|
±
|
±
|
±
|
±
|
±
|
-
|
±
|
±
|
±
|
|
6.1
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
|
6.2
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
|
6.3
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
|
6.4
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
+
|
|
Примечания:
1. Знак «+» означает применяемость, знак «-» -
неприменяемость соответствующих показателей качества ПС, знак «+» -
ограниченную применяемость.
2. Выбор показателей качества ПС для подкласса
509 (прочие ПС) осуществляется в зависимости от их назначения с учетом
требований областей применения.
3. Наименование подклассов (групп) ПС по ОКП:
5011 - операционные системы и средства их
расширения;
5012 - программные средства управления базами
данных;
5013 - инструментально-технологические средства
программирования;
5014 - ПС интерфейса и управления коммуникациями;
5015 - ПС организации вычислительного процесса
(планирования, контроля);
5016 - сервисные программы;
5017 - ПС обслуживания вычислительной техники;
503 - прикладные программы для научных
исследований;
504 - прикладные программы для проектирования;
505 - прикладные программы для управления
техническими устройствами и технологическими процессами;
506 - прикладные программы для решения
экономических задач;
509 - прочие ПС.
Справочное
ПОЯСНЕНИЕ ТЕРМИНОВ, ПРИМЕНЯЕМЫХ В СТАНДАРТЕ
Таблица 3
Термин
|
Пояснение
|
Базовый
показатель качества
|
Реально
достижимая совокупность значений показателей качества ПС для уравнения
|
Вычислительные
ресурсы
|
Технические
средства ЭВМ, в том числе процессор, объемы оперативной и внешней памяти,
время, в течение которого программа занимает эти средства в ходе выполнения
|
Единичный
показатель качества продукции
|
По ГОСТ 15467
|
Качество
продукции
|
По ГОСТ 15467
|
Комплексный
показатель качества продукции
|
По ГОСТ 15467
|
Логическая
структура «выбор»
|
Детализация
части программы на условный элемент и несколько детальных частей таким
образом, что управление передается в зависимости от реализации условного
элемента только одной из тех частей, при этом одна из этих частей при
необходимости может быть «пустым оператором», т.е. не выполнять никаких
действий
|
Логическая
структура «последовательность»
|
Детализация
части программы на несколько детальных частей таким образом, что передача
управления этим частям осуществляется последовательно от предшествующей части
к последующей
|
Логическая
структура «повторение»
|
Детализация
части программы на условный элемент и одну детальную часть таким образом, что
управление передается этой части многократно в соответствии с реализацией
условного элемента
|
Маршрут
выполнения программы
|
Совокупность
операторов программы, выполненных во время однократного ее выполнения
|
Ошибка
обслуживания
|
Нарушение
требуемого порядка взаимодействия с программой со стороны пользователя
|
Показатель
качества продукции
|
По ГОСТ 15467
|
Программа
|
По ГОСТ 19781
|
Программное
средство вычислительной техники (ПС)
|
Программа,
предназначенная для многократного применения на различных объектах,
разработанная любым способом и снабженная комплектом программных документов
|
Программный
документ
|
По ГОСТ 19781
|
Сбой
технических средств
|
Событие,
заключающееся в нарушении исправного состояния технических средств ЭВМ при
сохранении ими работоспособного состояния
|
Среда
функционирования
|
Совокупность
организационных, информационных программных и технических средств ЭВМ при
сохранении ими работоспособного состояния
|
Эксплуатационный
программный документ
|
По ГОСТ 19781
|
ПРИЛОЖЕНИЕ 2
Справочное
МЕТОДИКА ОЦЕНКИ КАЧЕСТВА ПС
1. Оценка качества ПС проводится на фазах
жизненного цикла (табл. 1) и включает выбор номенклатуры
показателей, их оценку и сопоставление значений показателей, полученных в
результате сравнения с базовыми значениями.
2. Показатели качества объединены в
систему из четырех уровней. Каждый вышестоящий уровень содержит в качестве
составляющих показатели нижестоящих уровней. Допускается вводить дополнительные
показатели на каждом из уровней.
2.1. Для обеспечения возможности получения
интегральной оценки по группам показателей качества используют факторы качества
(1-й уровень): надежность ПС, сопровождаемость, удобство применения,
эффективность, универсальность (гибкость) и корректность.
2.2. Каждому фактору качества соответствует
определенный набор критериев качества (комплексные показатели - 2-й уровень):
устойчивость функционирования, работоспособность, структурность, простота
конструкции, наглядность, повторяемость, легкость освоения, доступность
эксплуатационных программных документов, удобство эксплуатации и обслуживания,
уровень автоматизации, временная эффективность, ресурсоемкость, гибкость,
мобильность, модифицируемость, полнота реализации, согласованность, логическая
корректность, проверенность.
2.3. Критерии качества определяют одной или
несколькими метриками (3-й уровень). Если критерий качества определяется одной
метрикой, то уровень метрики опускается.
2.4. Метрики составляются из оценочных
элементов (единичных показателей - 4-й уровень), определяющих заданное в метрике
свойство. Число оценочных элементов, входящих в метрику не ограничено.
Взаимосвязь факторов, критериев и метрик с фазами жизненного цикла ПС приведена
на черт. 1 - 20.
2.5. Выбор оценочных элементов в метрике
зависит от функционального назначения оценочного элемента и определяется с
учетом данных, полученных при проведении испытаний различных видов, а также по
результатам эксплуатации ПС.
2.6. Для накопления информации об оценочных
элементах формируется справочник оценочных элементов (табл. 5
- 10) на основе ранее полученных данных о
качестве аналогичных ПС.
3. Оценка качества ПС проводится в
определенной последовательности.
3.1. На фазе анализа проводится выбор
показателей и их базовых значений.
Таблица 4
Фазы жизненного
цикла ПС
Процесс
|
Фаза
|
Подфаза
|
Результат
|
Разработка
|
Анализ
|
-
|
Определение требований.
Спецификация
требований.
Техническое
задание
|
Проектирование
|
Логическое проектирование
|
Логический
проект (функциональный проект).
Программно-технический
проект:
- системы,
- программ,
- модулей,
-
документации
|
Реализация
|
-
|
Модули.
Программы.
Система.
Средства
тестирования.
Дополняющая
документация
|
Тестирование
|
-
|
Тестирование
модуля, программы системы, дополняющая документация.
Сдача в фонд
(при необходимости)
|
Изготовление
|
Выпуск
|
Программное средство
в форме, готовой для поставки.
Документация.
Правила
внесения изменений
|
Испытания
|
Установленное
ПС.
Организация
применения.
Отчет об
испытаниях.
Отзыв
пользователя
|
Применение
|
Внедрение
|
-
|
Подтверждающее
стабильной эксплуатации.
Предоставление
набора услуг по внедрению
|
Эксплуатация
|
-
|
Предложения
об усовершенствовании.
Сообщение о
функциональных отклонениях
|
Обслуживание
(сопровождение)
|
-
|
Информация о
сопровождении программ.
Измененное
ПС
|
3.2. Для показателей качества на всех
уровнях (факторы, критерии, метрики, оценочные элементы) принимается единая
шкала оценки от 0 до 1.
3.3. Показатели качества на каждом
вышестоящем уровне (кроме уровня оценочных элементов) определяются показателями
качества нижестоящего уровня, т.е.:
-
результаты оценки каждого фактора определяются результатами оценки
соответствующих ему критериев;
-
результаты оценки каждого критерия определяются результатами оценки
соответствующих ему метрик;
-
результаты оценки каждой метрики определяются результатами оценки определяющих
ее оценочных элементов.
Фаза анализа
* Указан номер метрики (критерия).
Черт. 1
Фаза проектирования
Черт. 2
Фазы реализации, тестирования, изготовления,
обслуживания (сопровождения)
Черт. 3
Фаза анализа
Черт. 4
Фаза проектирования
Черт. 5
Фазы реализации, тестирования и изготовления
Черт. 6
Фаза обслуживания (сопровождения)
Черт. 7
Фаза анализа и проектирования
Черт. 8
Фазы реализации и тестирования
Черт. 9
Фазы изготовления, обслуживания (сопровождения)
Черт. 10
Фаза анализа
Черт. 11
Фаза проектирования
Черт. 12
Фаза реализации, тестирования, изготовления,
обслуживания (сопровождения)
Черт. 13
Фаза анализа
Черт. 14
Фаза проектирования
Черт. 15
Фазы реализации, тестирования, изготовления,
обслуживания (сопровождения)
Черт. 16
Фаза анализа
Черт. 17
Фаза проектирования
Черт. 18
Фазы реализации, тестирования и изготовления
Черт. 19
Фазы обслуживания (сопровождения)
Черт. 20
Таблица
5
Оценочные
элементы фактора «надежность ПС»
Код элемента
|
Наименование
|
Метод оценки
|
Оценка
|
Н0101
|
Наличие
требований к программе по устойчивости функционирования при наличии ошибок во
входных данных
|
Экспертный
|
0-1
|
Н0102
|
Возможность обработки
ошибочных ситуаций
|
То же
|
0-1
|
Н0103
|
Полнота
обработки ошибочных ситуаций
|
»
|
0-1
|
Н0104
|
Наличие
тестов для проверки допустимых значений входных данных
|
»
|
0-1
|
Н0105
|
Наличие
системы контроля полноты входных данных
|
»
|
0-1
|
Н0106
|
Наличие
средств контроля корректности входных данных
|
»
|
0-1
|
Н0107
|
Наличие
средств контроля непротиворечивости входных данных
|
»
|
0-1
|
Н0201
|
Наличие требований
к программе по восстановлению процесса выполнения в случае сбоя операционной
системы, процессора, внешних устройств
|
»
|
0-1
|
Н0202
|
Наличие
требований к программе по восстановлению результатов при отказах процессора,
ОС
|
»
|
0-1
|
Н0203
|
Наличие
средств восстановления процесса в случае сбоев оборудования
|
»
|
0-1
|
Н0204
|
Наличие
возможности разделения по времени выполнения отдельных функций программ
|
»
|
0-1
|
Н0205
|
Наличие
возможности повторного старта с точки останова
|
»
|
0-1
|
Н0108
|
Наличие
проверки параметров и адресов по диапазону их значений
|
»
|
0-1
|
Н0109
|
Наличие
обработки граничных результатов
|
»
|
0-1
|
Н0110
|
Наличие
обработки неопределенностей (деление на 0, квадратный корень из
отрицательного числа и т.д.)
|
»
|
0-1
|
Н0301
|
Наличие
централизованного управления процессами, конкурирующими из-за ресурсов
|
»
|
0-1
|
Н0302
|
Наличие
возможности автоматически обходить ошибочные ситуации в процессе вычисления
|
»
|
0-1
|
Н0303
|
Наличие
средств, обеспечивающих завершение процесса решения в случае помех
|
»
|
0-1
|
Н0304
|
Наличие
средств, обеспечивающих выполнение программы в сокращенном объеме в случае
ошибок или помех
|
»
|
0-1
|
Н0305
|
Показатель
устойчивости к искажающим воздействиям
|
Расчетный
|
P(Y) = 1 -D/K,
где D - число экспериментов, в которых искажающие
воздействия приводили к отказу,
К - число экспериментов, в которых
имитировались искажающие воздействия
|
Н0401
|
Вероятность
безотказной работы
|
То же
|
P = 1 - Q/N,
где Q - число зарегистрированных отказов,
N - число экспериментов,
|
Н0501
|
Оценка по
среднему времени восстановления
|
»
|
где Твдоп -
допустимое среднее время восстановления;
Тв - среднее
время восстановления, которое определяется по формуле
где N - число восстановлений;
Tвi - время восстановления после i-го отказа
|
Н0502
|
Оценка по
продолжительности преобразования входного набора данных в выходной
|
Расчетный
|
где - допустимое время
преобразования i-го входного набора данных;
Тпi - фактическая продолжительность
преобразования i-го входного набора данных
|
Таблица 6
Оценочные
элементы фактора «сопровождаемость»
Код элемента
|
Наименование
|
Метод оценки
|
Оценка
|
С0803
|
Наличие
комментариев в точках входа и выхода программы
|
Экспертный
|
0-1
|
С0302
|
Оценка
простоты программы по числу точек входа и выхода
|
Расчетный
|
где D - общее число точек входа в программу,
F - общее число
точек выхода из программы
|
С1002
|
Оценка
простоты программы по числу переходов по условию
|
То же
|
U = (1 - А/В),
где А - общее число переходов по условию;
В - общее число исполняемых операторов
|
С0303
|
Осуществляется
ли передача результатов работы модуля через вызывающий его модуль
|
Экспертный
|
0-1
|
С0304
|
Осуществляется
ли контроль за правильностью данных, поступающих в вызывающий модуль от
вызываемого
|
То же
|
0-1
|
С0604
|
Оценка
программы по числу циклов
|
»
|
0-1
|
С0801
|
Наличие
комментариев ко всем машинозависимым частям программы
|
»
|
0-1
|
С0802
|
Наличие комментариев
к машинозависимым операторам программы
|
»
|
0-1
|
С0901
|
Соответствие
комментариев принятым соглашениям
|
»
|
0-1
|
С1001
|
Используется
ли язык высокого уровня
|
»
|
0-1
|
С0301
|
Наличие
проверки корректности передаваемых данных
|
»
|
0-1
|
С0902
|
Наличие
комментариев-заголовков программы с указанием ее структурных и функциональных
характеристик
|
»
|
0-1
|
С0601
|
Использование
при построении программ метода структурного программирования
|
»
|
0-1
|
С0602
|
Соблюдение
принципа разработки программы сверху вниз
|
»
|
0-1
|
С0201
|
Наличие
ограничений на размеры модуля
|
»
|
0-1
|
С0101
|
Наличие
модульной схемы программы
|
»
|
0-1
|
С030
|
Наличие
требований к независимости модулей программы от типов и форматов выходных
данных
|
»
|
0-1
|
С0102
|
Оценка
программы по числу уникальных модулей
|
»
|
0-1
|
С0903
|
Оценка
ясности и точности описания последовательности функционирования всех
элементов программы
|
»
|
0-1
|
С0603
|
Оценка программы
по числу циклов с одним входом и одним выходом
|
»
|
0-1
|
Таблица 7
Оценочные
элементы фактора «удобство применения»
Код элемента
|
Наименование
|
Метод оценки
|
Оценка
|
У0101
|
Возможность освоения программных средств
по документации
|
Экспертный
|
0-1
|
У0102
|
Возможность освоения ПС на контрольном
примере при помощи ЭВМ
|
То
же
|
0-1
|
У0103
|
Возможность поэтапного освоения ПС
|
»
|
0-1
|
У0201
|
Полнота и понятность документации для
освоения
|
»
|
0-1
|
У0202
|
Точность документации для освоения
|
»
|
0-1
|
У0203
|
Техническое исполнение документации
|
»
|
0-1
|
У0301
|
Наличие краткой аннотации
|
»
|
0-1
|
У0302
|
Наличие описания решаемых задач
|
»
|
0-1
|
У0303
|
Наличие описания структуры функций ПС
|
»
|
0-1
|
У0304
|
Наличие описания основных функций ПС
|
»
|
0-1
|
У0306
|
Наличие описания частных функций
|
»
|
0-1
|
У0307
|
Наличие описания алгоритмов
|
»
|
0-1
|
У0308
|
Наличие описания межмодульных интерфейсов
|
»
|
0-1
|
У0309
|
Наличие описания пользовательских
интерфейсов
|
»
|
0-1
|
У0310
|
Наличие описания входных и выходных
данных
|
»
|
0-1
|
У0311
|
Наличие описания диагностических
сообщений
|
»
|
0-1
|
У0312
|
Наличие описания основных характеристик
ПС
|
»
|
0-1
|
У0314
|
Наличие описания программной среды
функционирования ПС
|
»
|
0-1
|
У0315
|
Достаточность документации для ввода
ПС в эксплуатацию
|
»
|
0-1
|
У0316
|
Наличие информации технологии переноса
для мобильных программ
|
»
|
0-1
|
У0401
|
Соответствие оглавления содержанию
документации
|
»
|
0-1
|
У0402
|
Оценка оформления документации
|
»
|
0-1
|
У0403
|
Грамматическая правильность изложения
документации
|
»
|
0-1
|
У0404
|
Отсутствие противоречий
|
»
|
0-1
|
У0405
|
Отсутствие неправильных ссылок
|
»
|
0-1
|
У0406
|
Ясность формулировок и описаний
|
»
|
0-1
|
У0407
|
Отсутствие неоднозначных формулировок
и описаний
|
»
|
0-1
|
У0408
|
Правильность использования терминов
|
»
|
0-1
|
У0409
|
Краткость, отсутствие лишней
детализации
|
»
|
0-1
|
У0410
|
Единство формулировок
|
»
|
0-1
|
У0411
|
Единство обозначений
|
»
|
0-1
|
У0412
|
Отсутствие ненужных повторений
|
»
|
0-1
|
У0413
|
Наличие нужных объяснений
|
»
|
0-1
|
У0501
|
Оценка стиля изложения
|
»
|
0-1
|
У0502
|
Дидактическая разделенность
|
»
|
0-1
|
У0303
|
Формальная разделенность
|
»
|
0-1
|
У0504
|
Ясность логической структуры
|
»
|
0-1
|
У0505
|
Соблюдение стандартов и правил
изложения в документации
|
»
|
0-1
|
У0506
|
Оценка по числу ссылок вперед в тексте
документов
|
»
|
0-1
|
У0601
|
Наличие оглавления
|
Экспертный
|
0-1
|
У0602
|
Наличие предметного указателя
|
То
же
|
0-1
|
У0603
|
Наличие перекрестных ссылок
|
»
|
0-1
|
У0604
|
Наличие всех требуемых разделов
|
»
|
0-1
|
У0605
|
Соблюдение непрерывности нумерации
страниц документов
|
»
|
0-1
|
У0606
|
Отсутствие незаконченных разделов
абзацев, предложений
|
»
|
0-1
|
У0607
|
Наличие всех рисунков, чертежей,
формул, таблиц
|
»
|
0-1
|
У0608
|
Наличие всех строк и примечаний
|
»
|
0-1
|
У0609
|
Логический порядок частей внутри главы
|
»
|
0-1
|
У0701
|
Наличие полного перечня документации
|
»
|
0-1
|
У0801
|
Уровень языка общения пользователя с
программой
|
»
|
0-1
|
У0802
|
Легкость и быстрота загрузки и запуска
программы
|
»
|
0-1
|
У0803
|
Легкость и быстрота завершения работы
программы
|
»
|
0-1
|
У0804
|
Возможность распечатки содержимого
программы
|
»
|
0-1
|
У0805
|
Возможность приостанова и повторного запуска
работы без потерь информации
|
»
|
0-1
|
У0901
|
Соответствие меню требованиям
пользователя
|
»
|
0-1
|
У0902
|
Возможность прямого перехода вверх и
вниз по многоуровнему меню (пропуск уровней)
|
»
|
0-1
|
У1001
|
Возможность управления подробностью
получаемых выходных данных
|
»
|
0-1
|
У1002
|
Достаточность полученной информации
для продолжения работы
|
»
|
0-1
|
У1101
|
Обеспечение удобства ввода данных
|
»
|
0-1
|
У1102
|
Легкость восприятия
|
»
|
0-1
|
У1201
|
Обеспечение программой выполнения
предусмотренных рабочих процедур
|
»
|
0-1
|
У1202
|
Достаточность информации, выдаваемой
программой для составления дополнительных процедур
|
»
|
0-1
|
Таблица 8
Оценочные
элементы фактора «эффективность»
Код элемента
|
Наименование
|
Метод оценки
|
Оценка
|
Э0101
|
Проблемно-ориентированные
функции
|
Экспертный или расчетный
|
0-1
|
Э0102
|
Машинно-ориентированные
функции
|
То же
|
0-1
|
Э0103
|
Функции
ведения и управления
|
»
|
0-1
|
Э0104
|
Функции
ввода/вывода
|
»
|
0-1
|
Э0105
|
Функции
защиты и проверки данных
|
»
|
0-1
|
Э0106
|
Функции
защиты от несанкционированного доступа
|
»
|
0-1
|
Э0107
|
Функции
контроля доступа
|
»
|
0-1
|
Э0108
|
Функции
защиты от внесения изменений
|
»
|
0-1
|
Э0109
|
Наличие
соответствующих границ функциональных областей
|
»
|
0-1
|
Э0110
|
Число знаков
после запятой в результатах вычислений
|
»
|
0-1
|
Э0201
|
Время
выполнения программ
|
»
|
0-1
|
Э0202
|
Время
реакции и ответов
|
»
|
0-1
|
Э0203
|
Время
подготовки
|
»
|
0-1
|
Э0205
|
Затраты
времени на защиту данных
|
»
|
0-1
|
Э0206
|
Время
компиляции
|
»
|
0-1
|
Э0301
|
Требуемый
объем внутренней памяти
|
»
|
0-1
|
Э0302
|
Требуемый объем
внешней памяти
|
»
|
0-1
|
Э0303
|
Требуемые
периферийные устройства
|
»
|
0-1
|
Э0304
|
Требуемое
базовое программное обеспечение
|
»
|
0-1
|
Таблица 9
Оценочные элементы фактора
«универсальность»
Код элемента
|
Наименование
|
Метод оценки
|
Оценка
|
Г0101
|
Оценка числа потенциальных
пользователей
|
Экспертный
|
0-1
|
Г0102
|
Оценка числа функций ПС
|
То же
|
0-1
|
Г0103
|
Насколько набор функций удовлетворяет
требованиям пользователя
|
»
|
0-1
|
Г0104
|
Насколько возможности программ
охватывают область решаемых пользователем задач
|
»
|
0-1
|
Г0105
|
Возможность настройки формата выходных
данных для конкретных пользователей
|
»
|
0-1
|
Г0201
|
Наличие схемы иерархии модулей
программы
|
»
|
0-1
|
Г0202
|
Оценка независимости модулей
|
»
|
0-1
|
Г0203
|
Оценка числа уникальных
элементов/реквизитов
|
»
|
0-1
|
Г0204
|
Используется ли в текущем вызове
модуля информация, полученная в предыдущем вызове
|
»
|
0-1
|
Г0205
|
Оценка организации точек входа и выхода
модуля
|
»
|
0-1
|
Г0206
|
Наличие описания атрибутов модуля
|
»
|
0-1
|
Г0301
|
Оценка программ по числу переходов и
точек ветвления
|
»
|
0-1
|
Г0401
|
Использование метода пошагового
уточнения
|
»
|
0-1
|
Г0402
|
Наличие описания структуры программ
|
»
|
0-1
|
Г0403
|
Наличие описания связей между
элементами структуры программы
|
»
|
0-1
|
Г0404
|
Наличие в программе повторного
выполнения функций (подпрограмм)
|
»
|
0-1
|
Г0501
|
Использование
стандартных протоколов связи
|
Экспертный
|
0-1
|
Г0601
|
Использование
стандартных интерфейсных подпрограмм
|
То же
|
0-1
|
Г0701
|
Оценка
зависимости программ от емкости оперативной памяти ЭВМ
|
»
|
0-1
|
Г0702
|
Оценка зависимости
временных характеристик программы от скорости вычислений ЭВМ
|
»
|
0-1
|
Г0703
|
Оценка
зависимости функционирования программы от числа внешних запоминающих
устройств и их общей емкости
|
»
|
0-1
|
Г0704
|
Оценка зависимости
функционирования программы от специальных устройств ввода-вывода
|
»
|
0-1
|
Г0801
|
Применение
специальных языков программирования
|
»
|
0-1
|
Г0802
|
Оценка
зависимости программы от программ операционной системы
|
»
|
0-1
|
Г0803
|
Зависимость
от других программных средств
|
»
|
0-1
|
Г0901
|
Оценка
локализации непереносимой части программы
|
»
|
0-1
|
Г1001
|
Оценка
использования отрицательных или булевых выражений
|
»
|
0-1
|
Г1002
|
Оценка программы
по использованию условных переходов
|
»
|
0-1
|
Г1003
|
Оценка
программы по использованию безусловных переходов
|
»
|
0-1
|
Г1004
|
Оформление
процедур входа и выхода из циклов
|
»
|
0-1
|
Г1005
|
Ограничения на
модификацию переменной индексации в цикле
|
»
|
0-1
|
Г1007
|
Оценка
программы по использованию локальных переменных
|
»
|
0-1
|
Г1006
|
Оценка
модулей по направлению потока управления
|
»
|
0-1
|
Г1101
|
Оценка
программы по числу комментариев
|
»
|
0-1
|
Г1201
|
Наличие
заголовка в программе
|
»
|
0-1
|
Г1202
|
Комментарии
к точкам ветвлений
|
»
|
0-1
|
Г1203
|
Комментарии
к машинозависимым частям программы
|
»
|
0-1
|
Г1204
|
Комментарии
к машинозависимым операторам программы
|
»
|
0-1
|
Г1205
|
Комментарии
к операторам объявления переменных
|
»
|
0-1
|
Г1206
|
Оценка
семантики операторов
|
»
|
0-1
|
Г1207
|
Наличие
соглашений по форме представления комментариев
|
»
|
0-1
|
Г1208
|
Наличие
общих комментариев к программам
|
»
|
0-1
|
Г1301
|
Использование
языков высокого уровня
|
»
|
0-1
|
Г1302
|
Семантика
имен используемых переменных
|
»
|
0-1
|
Г1303
|
Использование
отступов, сдвигов и пропусков при формировании текста
|
»
|
0-1
|
Г1304
|
Размещение
операторов по строкам
|
»
|
0-1
|
Г1401
|
Передача
информации для управления по параметрам
|
»
|
0-1
|
Г1402
|
Параметрическая
передача входных данных
|
»
|
0-1
|
Г1403
|
Наличие
передачи результатов работы между модулями
|
Экспертный
|
0-1
|
Г1404
|
Наличие проверки
правильности данных, получаемых модулями от вызываемого модуля
|
То же
|
0-1
|
Г1405
|
Использование
общих областей памяти
|
»
|
0-1
|
Таблица 10
Оценочные
элементы фактора «корректность»
Код элемента
|
Наименование
|
Метод оценки
|
Оценка
|
К0101
|
Наличие всех
необходимых документов для понимания и использования ПС
|
Экспертный
|
0-1
|
К0102
|
Наличие
описания и схемы иерархии модулей программы
|
То же
|
0-1
|
К0103
|
Наличие описания
основных функций
|
»
|
0-1
|
К0104
|
Наличие
описания частных функций
|
»
|
0-1
|
К0105
|
Наличие
описания данных
|
»
|
0-1
|
К0106
|
Наличие
описания алгоритмов
|
»
|
0-1
|
К0107
|
Наличие
описания интерфейсов между модулями
|
»
|
0-1
|
К0108
|
Наличие
описания интерфейсов с пользователями
|
»
|
0-1
|
К0109
|
Наличие
описания используемых числовых методов
|
»
|
0-1
|
К0110
|
Указаны ли
все численные методы
|
»
|
0-1
|
К0111
|
Наличие
описания всех параметров
|
»
|
0-1
|
К0112
|
Наличие
описания методов настройки системы
|
»
|
0-1
|
К0113
|
Наличие
описания всех диагностических сообщений
|
»
|
0-1
|
К0114
|
Наличие
описания способов проверки работоспособности программы
|
»
|
0-1
|
К0201
|
Реализация
всех исходных модулей
|
»
|
0-1
|
К0202
|
Реализация
всех основных функций
|
»
|
0-1
|
К0203
|
Реализация
всех частных функций
|
»
|
0-1
|
К0204
|
Реализация
всех алгоритмов
|
»
|
0-1
|
К0205
|
Реализация
всех взаимосвязей в системе
|
»
|
0-1
|
К0206
|
Реализация всех
интерфейсов между модулями
|
»
|
0-1
|
К0207
|
Реализация
возможности настройки системы
|
»
|
0-1
|
К0208
|
Реализация
диагностики всех граничных и аварийных ситуаций
|
»
|
0-1
|
К0209
|
Наличие определения
всех данных (переменные, индексы, массивы и проч.)
|
»
|
0-1
|
К0210
|
Наличие
интерфейсов с пользователем
|
»
|
0-1
|
К0301
|
Отсутствие
противоречий в описании частных функций
|
»
|
0-1
|
К0302
|
Отсутствие противоречий
в описании основных функций в разных документах
|
»
|
0-1
|
К0303
|
Отсутствие
противоречий в описании алгоритмов
|
»
|
0-1
|
К0304
|
Отсутствие
противоречий в описании взаимосвязей в системе
|
Экспертный
|
0-1
|
К0305
|
Отсутствие противоречий
в описании интерфейсов между модулями
|
То же
|
0-1
|
К0306
|
Отсутствие
противоречий в описании интерфейсов с пользователем
|
»
|
0-1
|
К0307
|
Отсутствие
противоречий в описании настройки системы
|
»
|
0-1
|
К0309
|
Отсутствие противоречий
в описании иерархической структуры сообщений
|
»
|
0-1
|
К0310
|
Отсутствие
противоречий в описании диагностических сообщений
|
»
|
0-1
|
К0311
|
Отсутствие
противоречий в описании данных
|
»
|
0-1
|
К0401
|
Отсутствие противоречий
в выполнении основных функций
|
»
|
0-1
|
К0402
|
Отсутствие
противоречий в выполнении частных функций
|
»
|
0-1
|
К0403
|
Отсутствие
противоречий в выполнении алгоритмов
|
»
|
0-1
|
К0404
|
Правильность
взаимосвязей
|
»
|
0-1
|
К0405
|
Правильность
реализации интерфейса между модулями
|
»
|
0-1
|
К0406
|
Правильность
реализации интерфейса с пользователем
|
»
|
0-1
|
К0407
|
Отсутствие
противоречий в настройке системы
|
»
|
0-1
|
К0408
|
Отсутствие
противоречий в диагностике системы
|
»
|
0-1
|
К0409
|
Отсутствие
противоречий в общих переменных
|
»
|
0-1
|
К0501
|
Единообразие
способов вызова модулей
|
»
|
0-1
|
К0502
|
Единообразие
процедур возврата управления из модулей
|
»
|
0-1
|
К0503
|
Единообразие
способов сохранения информации для возврата
|
»
|
0-1
|
К0504
|
Единообразие
способов восстановления информации для возврата
|
»
|
0-1
|
К0505
|
Единообразие
организации списков передаваемых параметров
|
»
|
0-1
|
К0601
|
Единообразие
наименования каждой переменной и константы
|
»
|
0-1
|
К0602
|
Все ли
одинаковые константы встречаются во всех программах под одинаковыми именами
|
»
|
0-1
|
К0603
|
Единообразие
определения внешних данных во всех программах
|
»
|
0-1
|
К0604
|
Используются
ли разные идентификаторы для разных переменных
|
»
|
0-1
|
К0605
|
Все ли общие
переменные объявлены как общие переменные
|
»
|
0-1
|
К0606
|
Наличие
определений одинаковых атрибутов
|
»
|
0-1
|
К0701
|
Комплектность
документации в соответствии со стандартами
|
»
|
0-1
|
К0702
|
Правильное
оформление частей документов
|
»
|
0-1
|
К0703
|
Правильное
оформление титульных и заглавных листов документов
|
»
|
0-1
|
К0704
|
Наличие в документах
всех разделов в соответствии со стандартами
|
»
|
0-1
|
К0705
|
Полнота
содержания разделов в соответствии со стандартами
|
Экспертный
|
0-1
|
К0706
|
Деление
документов на структурные элементы: разделы, подразделы, пункты, подпункты
|
То же
|
0-1
|
К0801
|
Соответствие
организации и вычислительного процесса эксплуатационной документации
|
»
|
0-1
|
К0802
|
Правильность
заданий на выполнение программы, правильность написания управляющих и
операторов (отсутствие ошибок)
|
»
|
0-1
|
К0803
|
Отсутствие
ошибок в описании действий пользователя
|
»
|
0-1
|
К0804
|
Отсутствие
ошибок в описании запуска
|
»
|
0-1
|
К0805
|
Отсутствие
ошибок в описании генерации
|
»
|
0-1
|
К0806
|
Отсутствие
ошибок в описании настройки
|
»
|
0-1
|
К1001
|
Наличие
требований к тестированию программ
|
»
|
0-1
|
К1002
|
Достаточность
требований к тестированию программ
|
»
|
0-1
|
К1003
|
Отношение
числа модулей, отработавших в процессе тестирования и отладки (Qтм) к общему числу модулей (Qом)
|
Расчетный
|
|
К1004
|
Отношение
числа логических блоков, отработавших в процессе тестирования и отладки (Qтб), к общему числу логических блоков в программе
(Qоб)
|
То же
|
|
Примечание. Коды оценочных элементов составлены из 5 символов
следующим образом:
1-й символ - буква русского алфавита - указывает
на принадлежность элемента тому или иному фактору. («Н» - надежности, «С» - сопровождаемости,
«У» - удобству применения, «Э» - эффективности, «Г» - универсальности, «К» -
корректности);
2-й и 3-й символы - номер метрики, которой
принадлежит оценочный элемент;
4-й и 5-й символы - порядковый номер данного
оценочного элемента в метрике.
Например,
«К1004» означает, что это 4-й оценочный элемент из 10-й метрики фактора
«корректность».
3.4. В процессе оценки качества ПС на
каждом уровне (кроме уровня оценочных элементов) проводятся вычисления
показателей качества ПС, т.е. определение количественных значений абсолютных
показателей (Рij, где j - порядковый номер показателя данного
уровня для i-го показателя вышестоящего уровня) и
относительных показателей (Kij), являющихся функцией показателя Рij и
базового значения Pijбаз.
3.5. Каждый показатель качества 2-го и 3-го
уровней (критерий и метрика) характеризуется двумя числовыми параметрами -
количественным значением и весовыми коэффициентами (Vij).
3.6. Сумма весовых коэффициентов
показателей уровня (l) относящихся к i-му показателю вышестоящего уровня (l - 1), есть величина постоянная. Сумма
весовых коэффициентов (Vij) принимается равной 1.
где j
= 1 ¸
п,
п - число показателей уровня (l)
относящихся к i-ому показателю вышестоящего уровня (l
- 1).
3.7. Общая оценка качества ПС в целом
формируется экспертами по набору полученных значений оценок факторов качества.
3.8. Для оценки качества ПС различного
назначения методом экспертного опроса составляется таблица
значений базовых показателей качества ПС.
3.9. Определение усредненной оценки (mk q) оценочного элемента по нескольким его
значениям (тэ) проводится
по формуле
где t - число значений ОЭ (оценочного
элемента);
k - порядковый номер метрики;
q - порядковый номер ОЭ.
3.10. Итоговая оценка k-й метрики j-го критерия ведется по формуле
(3)
где Q - число ОЭ в k-й
метрике.
3.11. Абсолютные показатели критериев i-го фактора качества определяются по
формуле
(4)
где n - число метрик, относящихся к j-му
критерию.
3.12. Относительный показатель j-го критерия i-го фактора качества вычисляется по
формуле
(5)
3.13. Фактор качества (Kiф) вычисляется по формуле
(6)
где N - число критериев качества, относящихся
к i-му фактору.
4. Качество ПС определяется путем
сравнения полученных расчетных значений показателей с соответствующими базовыми
значениями показателей существующего аналога или расчетного ПС, принимаемого за
эталонный образец.
4.1. Значения базовых показателей ПС должны
соответствовать значениям показателей, отражающих современный уровень качества
и прогнозируемый мировой уровень.
4.2. В качестве аналогов выбираются реально
существующие ПС того же функционального назначения, что и сравниваемое, с
такими же основными параметрами, подобной структуры и применяемые в условиях
эксплуатации.
1.
РАЗРАБОТАН И ВНЕСЕН Министерством приборостроения,
средств автоматизации и систем управления СССР
2.
УТВЕРЖДЕН И ВВЕДЕН В ДЕЙСТВИЕ
Постановлением Государственного комитета СССР по стандартам от 28.07.89 № 2507
3.
ВВЕДЕН ВПЕРВЫЕ
4.
ССЫЛОЧНЫЕ НОРМАТИВНО-ТЕХНИЧЕСКИЕ
ДОКУМЕНТЫ
Обозначение НТД, на
который дана ссылка
|
Номер приложения
|
ГОСТ 15467-79
|
Приложение 1
|
ГОСТ 19781-90
|
Приложение 1
|
5. ПЕРЕИЗДАНИЕ. Сентябрь 2001 г.
СОДЕРЖАНИЕ