Методы оценки свойств программного обеспечения

Лекция 9. Качество программного обеспечения

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

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

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

Показатели качества по количеству характеризуемых свойств могут быть единичными и комплексными (групповыми). Единичный показатель относится только к одному из свойств, тогда как комплексный характеризует несколько свойств ПО.

Методы определения показателей качества ПО различаются:

- по способам получения информации о ПО — измерительный, регистрационный, органолептический, расчетный;

- по источникам получения информации — традиционный, экспертный, социологический.

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

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

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

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

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

Социологические методы основаны на обработке специальных анкет-вопросников.

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

Показатели качества объединены в систему из четырех уровней. Каждый вышестоящий уровень содержит в качестве составляющих показатели нижестоящих уровней. Допускается вводить дополнительные показатели на каждом из уровней.

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

Для показателей качества на всех уровнях (факторы, критерии, метрики, оценочные элементы) принимается единая шкала оценки от 0 до 1.

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

Рассмотрим основные показатели качества ПО:

1. ПОКАЗАТЕЛИ НАДЕЖНОСТИ. Характеризуют способность ПО в

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

1.1. Устойчивость функционирования. Способность обеспечивать продолжение работы программы после возникновения отклонений, вызванных сбоями технических средств, ошибками во входных данных и ошибками обслуживания;

1.2. Работоспособность. Способность программы функционировать в заданных режимах и объемах обрабатываемой информации в соответствии с программными документами при отсутствии сбоев технических средств.

2. ПОКАЗАТЕЛИ СОПРОВОЖДЕНИЯ. Характеризуют технологические

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

2.1. Структурность. Организация всех взаимосвязанных частей программы в единое целое с использованием логических структур «последовательность», «выбор», «повторение»;

2.2. Простота конструкции. Построение модульной структуры-программы наиболее рациональным с точки зрения восприятия и понимания образом;

2.3. Наглядность. Наличие и представление в наиболее легко воспринимаемом виде исходных модулей, полное их описание в соответствующих программных документах;

2.4. Повторяемость. Степень использования типовых проектных решений или компонентов, входящих в ПО.

3. ПОКАЗАТЕЛИ УДОБСТВА ПРИМЕНЕНИЯ. Характеризуют свойства ПО,

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

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

3.2. Доступность эксплуатационных программных документов. Понятность, наглядность и полнота описания взаимодействия пользователя с программой в эксплуатационных программных документах;

3.3. Удобство эксплуатации и обслуживания. Соответствие процесса обработки данных и форм представления результатов характеру решаемых задач.

4. ПОКАЗАТЕЛИ ЭФФЕКТИВНОСТИ. Характеризуют степень удовлетворения потребности пользователя в обработке данных с учетом экономических, вычислительных и людских ресурсов:

4.1. Уровень автоматизации. Уровень автоматизации функций процесса обработки данных с учетом рациональности функциональной структуры программы с точки зрения взаимодействия с ней пользователя и использования вычислительных ресурсов;

4.2. Временная эффективность. Способность программы выполнять заданные действия в интервал времени, отвечающий определенным требованиям;

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

5. ПОКАЗАТЕЛИ УНИВЕРСАЛЬНОСТИ. Характеризуют адаптируемость ПО

к новым функциональным требованиям, возникающим вследствие изменения области применения или других условий функционирования:

5.1. Гибкость. Возможность использования ПО в различных областях применения;

5.2. Мобильность. Возможность применения ПО без существенных дополнительных трудозатрат на ЭВМ аналогичного класса;

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

6. ПОКАЗАТЕЛИ КОРРЕКТНОСТИ. Характеризуют степень соответствия ПО

требованиям, установленным в ТЗ, требованиям к обработке данных и общесистемным требованиям:

6.1. Полнота реализации. Полнота реализации заданных функций ПО и достаточность их описания в программной документации;

6.2. Согласованность. Однозначное, непротиворечивое описание и использование тождественных объектов, функций, терминов, определений, идентификаторов и т. д. в различных частях программных документов и текста программы;

6.3. Логическая корректность. Функциональное и программное соответствие процесса обработки данных при выполнении задания общесистемным требованиям;

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