Рис. 3. Основные
аспекты качества ПО по ИСО 9126
Требования
пользователя к качеству в спецификациях
должны в процессе верификации преобразовываться
в требования к внешнему качеству,
а затем в требования к внутреннему
качеству. Процессы реализации требований
к внутреннему качеству должны обеспечивать
внешнее качество, а последнее - воплощаться
в качество для пользователей (рис. 4).
Рис. 4. - Различные
подходы к качеству ПС и соответствующим
метрикам качества.
Модель
качества ПО имеет следующие четыре
уровня представления:
Первый
уровень соответствует определению
характеристик (показателей) качества
ПО, каждая из которых отражает отдельную
точку зрения пользователя на качество.
Согласно стандарту в модель качества
входит шесть характеристик или шесть
показателей качества:
- функциональность
(functionality);
- надежность
(realibility);
- удобство
(usability);
- эффективность
(efficiency);
- сопровождаемость
(maitainnability);
- переносимость
(portability).
Второму
уровню соответствуют атрибуты для
каждой характеристики качества, которые
детализируют разные аспекты конкретной
характеристики. Набор атрибутов характеристик
качества используется при оценке качества.
Третий
уровень предназначен для измерения
качества с помощью метрик, каждая из них
согласно стандарту определяется как
комбинация метода измерения атрибута
и шкалы измерения значений атрибутов.
Для оценки атрибутов качества на этапах
ЖЦ (при просмотре документации, программ
и результатов тестирования программ)
используются метрики с заданным оценочным
весом для нивелирования результатов
метрического анализа совокупных атрибутов
конкретного показателя и качества в целом.
Атрибут качества определяется с помощью
одной или нескольких методик оценки на
этапах ЖЦ и на завершающем этапе разработки
ПО.
Четвертый
уровень - это оценочный элемент метрики
(вес), который используется для оценки
количественного или качественного значения
отдельного атрибута показателя ПО. В
зависимости от назначения, особенностей
и условий сопровождения ПО выбираются
наиболее важные характеристики качества
и их атрибуты (рис. 5). [1, 2, 4]
Выбранные
атрибуты и их приоритеты отражаются
в требованиях на разработку систем
либо используется соответствующие приоритеты
эталона класса ПО, к которому это ПО относится.
Рис. 5. Модель
характеристик качества
1.2.2
Характеристики и атрибуты
качества
Характеристики
качества программного
обеспечения – набор свойств (атрибутов)
программного продукции, по которым ее
качество описывается и оценивается. Характеристики
качества программного обеспечения могут
быть уточнены на множестве уровней комплексных
показателей (подхарактеристик).
- Функциональность
(functionality) – Способность ПО в определенных
условиях решать задачи, нужные пользователям.
Определяет, что именно делает ПО, какие
задачи оно решает.
- Функциональная
пригодность (suitability). - Способность решать
нужный набор задач.
- Точность
(accuracy). - Способность выдавать нужные результаты.
- Способность
к взаимодействию (interoperability). - Способность
взаимодействовать с нужным набором других
систем.
- Соответствие
стандартам и правилам (compliance). - Соответствие
ПО имеющимся индустриальным стандартам,
нормативным и законодательным актам,
другим регулирующим нормам.
- Защищенность
(security). - Способность предотвращать неавторизированный,
т.е. без указания лица, пытающегося его
осуществить, и неразрешенный доступ к
данным и программам.
- Надежность
(reliability). - Способность ПО поддерживать
определенную работоспособность в заданных
условиях.
- Зрелость,
завершенность (maturity). - Величина, обратная
частоте отказов ПО. Обычно измеряется
средним временем работы без сбоев и величиной,
обратной вероятности возникновения отказа
за данный период времени.
- Устойчивость
к отказам (fault tolerance). - Способность поддерживать
заданный уровень работоспособности при
отказах и нарушениях правил взаимодействия
с окружением.
- Способность
к восстановлению (recoverability). - Способность
восстанавливать определенный уровень
работоспособности и целостность данных
после отказа, необходимые для этого время
и ресурсы.
- Соответствие
стандартам надежности (reliability compliance).
- Этот атрибут добавлен в 2001 году.
- Удобство
применения (usability) или практичность. -
Способность ПО быть удобным в обучении
и использовании, а также привлекательным
для пользователей.
- Понятность
(understandability). - Показатель, обратный к усилиям,
которые затрачиваются пользователями
на восприятие основных понятий ПО и осознание
их применимости для решения своих задач.
- Удобство
обучения (learn ability). - Показатель, обратный
усилиям, затрачиваемым пользователями
на обучение работе с ПО.
- Удобство
работы (operability). - Показатель, обратный
усилиям, предпринимаемым пользователями
для решения своих задач с помощью ПО.
- Привлекательность
(attractiveness). - Способность ПО быть привлекательным
для пользователей. Этот атрибут добавлен
в 2001 году.
- Соответствие
стандартам удобства использования (usability
compliance). - Этот атрибут добавлен в 2001 году.
- Производительность
(efficiency) или эффективность. - Способность
ПО при заданных условиях обеспечивать
необходимую работоспособность по отношению
к выделяемым для этого ресурсам. Можно
определить ее и как отношение получаемых
с помощью ПО результатов к затрачиваемым
на это ресурсам всех типов.
- Временная
эффективность (time behavior). - Способность
ПО выдавать ожидаемые результаты, а также
обеспечивать передачу необходимого объема
данных за отведенное время.
- Эффективность
использования ресурсов (resource utilization).
- Способность решать нужные задачи с использованием
определенных объемов ресурсов определенных
видов. Имеются в виду такие ресурсы, как
оперативная и долговременная память,
сетевые соединения, устройства ввода
и вывода и пр.
- Соответствие
стандартам производительности (efficiency
compliance). - Этот атрибут добавлен в 2001 году.
- Удобство
сопровождения (maintainability). - Удобство проведения
всех видов деятельности, связанных с
сопровождение программ.
- Анализируемость
(analyzability) или удобство проведения анализа.
- Удобство проведения анализа ошибок,
дефектов и недостатков, а также удобство
анализа необходимости изменений и их
возможных последствий.
- Удобство
внесения изменений (changeability). - Показатель,
обратный трудозатратам на выполнение
необходимых изменений.
- Стабильность
(stability). - Показатель, обратный риску возникновения
неожиданных эффектов при внесении необходимых
изменений.
- Удобство
проверки (testability). - Показатель, обратный
трудозатратам на проведение тестирования
и других видов проверки того, что внесенные
изменения привели к нужным результатам.
- Соответствие
стандартам удобства сопровождения (maintainability
compliance). - Этот атрибут добавлен в 2001 году.
- Переносимость
(portability). - Способность ПО сохранять работоспособность
при переносе из одного окружения в другое,
включая организационные, аппаратные
и программные аспекты окружения.
- Адаптируемость
(adaptability). - Способность ПО приспосабливаться
различным окружениям без проведения
для этого действий, помимо заранее предусмотренных.
- Удобство
установки (install ability). - Способность ПО
быть установленным или развернутым в
определенном окружении.
- Способность
к сосуществованию (coexistence). - Способность
ПО сосуществовать с другими программами
в общем окружении, деля с ними ресурсы.
- Удобство
замены (replace ability) другого ПО данным. - Возможность
применения данного ПО вместо других программных
систем для решения тех же задач в определенном
окружении.
- Соответствие
стандартам переносимости (portability compliance).
- Этот атрибут добавлен в 2001 году.
Перечисленные
атрибуты относятся к внутреннему
и внешнему качеству ПО согласно ИСО
9126. Для описания качества ПО при использовании
стандарт ИСО 9126-4 предлагает другой, более
узкий набор характеристик.
- Эффективность
(effectiveness). - Способность ПО предоставлять
пользователям возможность решать их
задачи с необходимой точностью при использовании
в заданном контексте.
- Продуктивность
(productivity). - Способность ПО предоставлять
пользователям определенные результаты
в рамках ожидаемых затрат ресурсов.
- Безопасность
(safety). - Способность ПО обеспечивать необходимо
низкий уровень риска нанесения ущерба
жизни и здоровью людей, бизнесу, собственности
или окружающей среде.
- Удовлетворение
пользователей (satisfaction). - Способность
ПО приносить удовлетворение пользователям
при использовании в заданном контексте.
Помимо
перечисленных характеристик и
атрибутов качества, стандарт ИСО 9126:2001
определяет наборы метрик для оценки каждого
атрибута. Приведем следующие примеры
таких метрик.
- Полнота реализации
функций - процент реализованных функций
по отношению к перечисленным в требованиях.
Используется для измерения функциональной
пригодности.
- Корректность
реализации функций - правильность их
реализации по отношению к требованиям.
Используется для измерения функциональной
пригодности.
- Отношение
числа обнаруженных дефектов к прогнозируемому.
Используется для определения зрелости.
- Отношение
числа проведенных тестов к общему их
числу. Используется для определения зрелости.
- Отношение
числа доступных проектных документов
к указанному в их списке. Используется
для измерения удобства проведения анализа.
- Наглядность
и полнота документации. Используется
для оценки понятности.
Перечисленные
характеристики и атрибуты качества
ПО позволяют систематически описывать
требования к нему, определяя, какие
свойства ПО по данной характеристике
хотят видеть заинтересованные стороны.
Таким образом, требования должны определять
следующее.
- Что ПО должно
делать, например:
- позволять
клиенту оформить заказы и обеспечить
их доставку;
- обеспечивать
контроль качества строительства и отслеживать
проблемные места;
- поддерживать
нужные характеристики автоматизированного
процесса производства, предотвращая
аварии и оптимальным образом используя
имеющиеся ресурсы.
- Насколько
оно должно быть надежно, например:
- работать
7 дней в неделю и 24 часа в сутки;
- допускается
неработоспособность в течение не более
3 часов в год;
- никакие введенные
пользователями данные при отказе не должны
теряться.
- Насколько
им должно быть удобно пользоваться, например:
- покупатель
должен, зная название товара и имея средние
навыки работы в Интернет, находить нужный
ему товар за не более чем 2 минуты;
- инженер по
специальности "строительство мостов"
должен в течение одного дня уметь разобраться
в 80% функций системы.
- Насколько
оно должно быть эффективно, например:
- поддерживать
обслуживание до 10000 запросов в секунду;
- время отклика
на запрос при максимальной загрузке не
должно превышать 3 с;
- время реакции
на изменение параметров процесса производства
не должно превышать 0.1 с;
- на обработку
одного запроса не должно тратиться более
1 MB оперативной памяти.
- Насколько
удобно должно быть его сопровождение,
например:
- добавление
в систему нового вида запросов не должно
требовать более 3 человеко-дней;
- добавление
поддержки нового этапа процесса производства
не должно стоить более $20000.
- Насколько
оно должно быть переносимо, например: