4.1 Качество программного обеспечения

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

 Качество программного обеспечения определяется в стандарте ISO 9126 как вся совокупность его характеристик, относящихся к возможности удовлетворять высказанные или подразумеваемые потребности всех заинтересованных лиц.

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

Кроме того, при создании качественного ПО существенно качество технологических процессов его разработки. Взаимоотношения между этими аспектами качества по схеме, принятой в ISO 9126, показано на рисунке 4.1.

рис 4.1

Рисунок 4.1 - Основные аспекты качества ПО по ISO 9126

Общие принципы обеспечения качества процессов производства во всех отраслях экономики регулируются набором стандартов ISO 9000. Наиболее важные для разработки ПО стандарты в его составе следующие.

• ISO 9000:2000 Quality management systems – Fundamentals and vocabulary Системы управления качеством — Основы и словарь. 
• ISO 9001:2000 Quality management systems – Requirements. Models for quality assurance in design, development, production, installation, and servicing.

Системы управления качеством – Требования. Модели для обеспечения качества при проектировании, разработке, коммерциализации, установке и обслуживании. Определяет общие правила обеспечения качества результатов во всех процессах жизненного цикла.

Помимо поддержки и развития системы процессов, нацеленных на удовлетворение нужд заказчиков и пользователей, ISO 9001 требует:

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

Ниже приведены определения этих характеристик и атрибутов по стандарту ISO 9126:2001.

√ Функциональность (functionality). Способность ПО в определенных условиях решать задачи, нужные пользователям. Определяет, что именно делает ПО, какие задачи оно решает.
• Функциональная пригодность (suitability). Способность решать нужный набор задач.
• Точность (accuracy). Способность выдавать нужные результаты.
• Способность к взаимодействию (interoperability). Способность взаимодействовать с нужным набором других систем.
• Соответствие стандартам и правилам (compliance). Соответствие ПО имеющимся индустриальным стандартам, нормативным и законодательным актам, другим регулирующим нормам.
• Защищенность (security). Способность предотвращать неавторизированный, т.е. без указания лица, пытающегося его осуществить, и не разрешенный доступ к данным и программам.
Надежность (reliability). Способность ПО поддерживать определенную работоспособность в заданных условиях.
• Зрелость, завершенность (maturity). Величина, обратная к частоте отказов ПО.
• Устойчивость к отказам (fault tolerance) Способность поддерживать заданный уровень работоспособности при отказах и нарушениях правил взаимодействия с окружением.
• Способность к восстановлению (recoverability). Способность восстанавливать определенный уровень работоспособности и целостность данных после отказа, необходимые для этого время и ресурсы.
• Соответствие стандартам надежности (reliability compliance).
 Удобство использования (usability) или практичность. Способность ПО быть удобным в обучении и использовании, а также привлекательным для пользователей.
• Понятность (understandability). Показатель, обратный к усилиям, затрачиваемым пользователями, чтобы воспринять набор понятий, на которых основано ПО, и их применимость для решения своих задач.
• Удобство обучения (learnability). Показатель, обратный к усилиям, затрачиваемым пользователями чтобы научиться работе с ПО.
• Удобство работы (operability). Показатель, обратный к усилиям, предпринимаемым пользователями, чтобы решать свои задачи с помощью ПО.
• Привлекательность (attractiveness). Способность ПО быть привлекательным для пользователей. Этот атрибут добавлен в 2001.
• Соответствие стандартам удобства использования (usability compliance).
 Производительность (efficiency) или эффективность. Способность ПО при заданных условиях обеспечивать необходимую работоспособность по отношению к выделяемым для этого ресурсам. Можно определить ее и как отношение получаемых с помощью ПО результатов к затрачиваемым на это ресурсам.
• Временная эффективность (time behaviour). Способность ПО выдавать ожидаемые результаты, а также обеспечивать передачу необходимого объема данных за отведенное время.
• Эффективность использования ресурсов (resource utilisation). Способность решать нужные задачи с использованием определенных объемов ресурсов определенных видов. Имеются в виду такие ресурсы, как оперативная и долговременная память, сетевые соединения, устройства ввода и вывода, и пр.
• Соответствие стандартам производительности (efficiency compliance).
Удобство сопровождения (maintainability). Удобство проведения всех видов деятельности, связанных с сопровождение программ.
• Анализируемость (analyzability) или удобство проведения анализа. Удобство проведения анализа ошибок, дефектов и недостатков, а также удобство анализа на предмет необходимых изменений и их возможных эффектов.
• Удобство внесения изменений (changeability). Показатель, обратный к трудозатратам на проведение необходимых изменений.
• Стабильность (stability). Показатель, обратный к риску возникновения неожиданных эффектов при внесении необходимых изменений.
• Удобство проверки (testability). Показатель, обратный к трудозатратам на проведение тестирования и других видов проверки того, что внесенные изменения привели к нужным эффектам.
• Соответствие стандартам удобства сопровождения (maintainability compliance).
√ Переносимость (portability). Способность ПО сохранять работоспособность при переносе из одного окружения в другое, включая организационные, аппаратные и программные аспекты окружения. Иногда эта характеристика называется в русскоязычной литературе мобильностью.
• Адаптируемость (adaptability). Способность ПО приспосабливаться к различным окружениям без проведения для этого действий, помимо заранее предусмотренных.
• Удобство установки (installability). Способность ПО быть установленным или развернутым в определенном окружении.
• Способность к сосуществованию (coexistence). Способность ПО сосуществовать с другими программами в общем окружении, деля с ним ресурсы.
• Удобство замены (replaceability) другого ПО данным. Способность ПО использоваться вместо другого ПО для решения тех же самых задач в заданном окружении.
• Соответствие стандартам переносимости (portability compliance).

Для описания качества ПО при использовании стандарт ISO 9126-4 предлагает следующий набор характеристик.

• Эффективность (effectiveness). Это способность ПО предоставлять пользователям возможность решать их задачи с необходимой точностью при использовании в заданном контексте.
• Продуктивность (productivity). Способность ПО предоставлять пользователям определенные результаты в рамках ожидаемых затрат ресурсов.
• Безопасность (safety). Способность ПО обеспечивать необходимо низкий уровень риска нанесения ущерба жизни и здоровью людей, бизнесу, собственности или окружающей среде.
• Удовлетворенность (satisfaction). Способность ПО приносить удовлетворение пользователям при использовании в заданном контексте.

Помимо перечисленных характеристик и атрибутов качества стандарт ISO 9126:2001 определяет наборы метрик для оценки каждого атрибута. Приведем следующие примеры таких метрик.

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

Last modified: Sunday, 5 July 2026, 11:51 PM