Открыть сервис

ISO/IEC 9126

ISO/IEC 9126 — это международный стандарт, определяющий модель качества программного обеспечения (ПО). Он был разработан объединённым техническим комитетом ISO/IEC JTC 1 и впервые опубликован в 1991 году. Стандарт устанавливает набор характеристик и подхарактеристик, по которым можно оценивать качество программных продуктов, а также описывает метрики для их измерения. В 2011 году ISO/IEC 9126 был заменён на более современный стандарт ISO/IEC 25010 (серия SQuaRE).

История

Разработка ISO/IEC 9126 началась в конце 1980-х годов как ответ на потребность в унифицированной терминологии и критериях оценки качества ПО. До этого существовали разрозненные модели, такие как модель МакКолла (1977) и модель Боэма (1978), но не было единого международного стандарта. Первая версия стандарта, ISO/IEC 9126:1991, была опубликована в 1991 году. Она включала в себя шесть основных характеристик качества: функциональность, надёжность, практичность, эффективность, сопровождаемость и переносимость.

В 2001—2004 годах стандарт был существенно переработан и расширен. Вторая версия, ISO/IEC 9126:2001, состояла уже из четырёх частей:

  • ISO/IEC 9126-1:2001 — Модель качества (определяет характеристики и подхарактеристики).
  • ISO/IEC 9126-2:2003 — Внешние метрики (измеряют поведение ПО в процессе выполнения).
  • ISO/IEC 9126-3:2003 — Внутренние метрики (измеряют статические свойства кода, архитектуры).
  • ISO/IEC 9126-4:2004 — Метрики качества в использовании (оценивают, насколько продукт удовлетворяет потребности пользователя в конкретном контексте).

В 2011 году стандарт был заменён на ISO/IEC 25010, который входит в серию SQuaRE (System and Software Quality Requirements and Evaluation). Однако ISO/IEC 9126 остаётся широко известным и используется в учебных целях и в некоторых устаревших проектах.

Структура и модель качества

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

Характеристики и подхарактеристики

Изначально (в версии 1991 года) было шесть характеристик. В версии 2001 года их количество осталось прежним, но были уточнены и добавлены подхарактеристики. Полный список характеристик и подхарактеристик по ISO/IEC 9126-1:2001:

ХарактеристикаПодхарактеристикиОписание
Функциональность (Functionality)Функциональная полнота, корректность, целесообразность, способность к взаимодействию, защищённостьСпособность ПО выполнять функции, соответствующие заданным потребностям.
Надёжность (Reliability)Зрелость, отказоустойчивость, восстанавливаемостьСпособность ПО сохранять работоспособность и восстанавливаться после сбоев.
Практичность (Usability)Понятность, обучаемость, управляемость, привлекательностьЛёгкость использования и освоения ПО пользователем.
Эффективность (Efficiency)Поведение во времени, использование ресурсовСоотношение между производительностью ПО и затрачиваемыми ресурсами (время, память).
Сопровождаемость (Maintainability)Анализируемость, изменяемость, стабильность, тестируемостьЛёгкость внесения изменений и исправления ошибок в ПО.
Переносимость (Portability)Адаптируемость, устанавливаемость, сосуществование, заменяемостьСпособность ПО переноситься из одной среды (аппаратной, программной) в другую.

Качество в использовании

Четвёртая часть стандарта (ISO/IEC 9126-4) вводит понятие «качество в использовании» (quality in use). Оно определяется как способность ПО позволять определённым пользователям достигать целей с необходимой эффективностью, продуктивностью, безопасностью и удовлетворённостью в заданном контексте использования. Качество в использовании оценивается не по внутренним свойствам кода, а по результатам работы пользователя с системой. Оно включает четыре характеристики:

  • Эффективность (Effectiveness) — точность и полнота достижения целей.
  • Продуктивность (Productivity) — затраты ресурсов (времени, усилий) на достижение целей.
  • Безопасность (Safety) — уровень риска для людей, бизнеса, данных и окружающей среды.
  • Удовлетворённость (Satisfaction) — субъективное отношение пользователя к продукту.

Метрики

Вторая и третья части стандарта содержат рекомендации по метрикам для измерения характеристик качества. Метрики делятся на три типа:

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

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

Применение

ISO/IEC 9126 применяется в различных областях разработки и оценки ПО:

  • Определение требований к качествузаказчик или разработчик может использовать модель для формализации требований к продукту (например, «время отклика не более 2 секунд»).
  • Оценка и сравнение продуктов — при выборе готового ПО (COTS) или при аудите качества.
  • Контроль качества в процессе разработки — внутренние метрики позволяют отслеживать качество кода на ранних этапах.
  • Сертификация и соответствие стандартам — в некоторых отраслях (например, в авиации, медицине) требуется соответствие определённым уровням качества по ISO/IEC 9126 или его преемникам.

Критика

Несмотря на широкое распространение, ISO/IEC 9126 подвергался критике:

  • Сложность и абстрактность — модель содержит много характеристик и подхарактеристик, что затрудняет её практическое применение без дополнительной адаптации.
  • Отсутствие весов и приоритетов — стандарт не указывает, какие характеристики важнее, оставляя это на усмотрение пользователя, что может приводить к субъективным оценкам.
  • Слабая связь с современными методологиями — модель ориентирована на традиционные (каскадные) процессы разработки и плохо сочетается с гибкими методологиями (Agile, DevOps), где качество оценивается непрерывно и итеративно.
  • Устаревание — с развитием облачных технологий, микросервисной архитектуры и мобильных приложений некоторые аспекты модели (например, переносимость) стали менее актуальными, а новые (например, масштабируемость, безопасность данных) не были учтены.

Наследие и преемник

В 2011 году ISO/IEC 9126 был заменён на ISO/IEC 25010, который входит в серию стандартов SQuaRE (Software Quality Requirements and Evaluation). Модель качества в ISO/IEC 25010 была расширена: добавлены новые характеристики (например, «совместимость» и «безопасность»), а некоторые подхарактеристики перегруппированы. Тем не менее, ISO/IEC 9126 остаётся важной вехой в истории инженерии качества ПО и до сих пор изучается в университетах и используется в некоторых устаревших проектах.

Источники

  • ISO/IEC 9126-1:2001. Software engineering — Product quality — Part 1: Quality model.
  • ISO/IEC 9126-2:2003. Software engineering — Product quality — Part 2: External metrics.
  • ISO/IEC 9126-3:2003. Software engineering — Product quality — Part 3: Internal metrics.
  • ISO/IEC 9126-4:2004. Software engineering — Product quality — Part 4: Quality in use metrics.
  • ISO/IEC 25010:2011. Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models.
  • Pressman, R. S. (2014). Software Engineering: A Practitioner's Approach. McGraw-Hill Education.
  • Sommerville, I. (2015). Software Engineering. Pearson Education.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →