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 →


