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

ISO/IEC 25010

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

История и контекст разработки

Разработка ISO/IEC 25010 велась под эгидой Международной организации по стандартизации (ISO) и Международной электротехнической комиссии (IEC) в рамках подкомитета SC 7 «Системная и программная инженерия». Основной целью было создание универсальной, непротиворечивой и практичной модели, которая могла бы применяться на всех этапах жизненного цикла системы — от определения требований до тестирования и сопровождения.

Предшественник стандарта, ISO/IEC 9126, опубликованный в 1991 году, содержал аналогичную модель, однако с развитием технологий и появлением новых аспектов качества (например, безопасность, совместимость, удобство использования в мобильных и веб-средах) потребовалась её актуализация. ISO/IEC 25010 интегрировал лучшие практики и расширил перечень характеристик, введя, в частности, отдельную группу для оценки качества в использовании.

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

Стандарт ISO/IEC 25010 определяет две основные модели, которые могут применяться независимо или совместно:

Модель качества продукта

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

  1. Функциональная пригодность (Functional suitability) — степень, в которой продукт обеспечивает функции, удовлетворяющие заявленным и подразумеваемым потребностям.
  • Полнота функциональности
  • Правильность функциональности
  • Целесообразность функциональности
  1. Производительность (Performance efficiency) — степень, в которой продукт выполняет свои функции в заданных временных и ресурсных ограничениях.
  1. Совместимость (Compatibility) — способность продукта обмениваться информацией с другими системами и выполнять свои функции в общей среде.
  1. Удобство использования (Usability) — степень, в которой продукт может быть использован определёнными пользователями для достижения заданных целей с эффективностью, результативностью и удовлетворённостью.
  • Узнаваемость пригодности
  • Обучаемость
  • Управляемость (операбельность)
  • Защита от ошибок пользователя
  • Эстетика пользовательского интерфейса
  • Доступность (для людей с ограниченными возможностями)
  1. Надёжность (Reliability) — способность продукта выполнять требуемые функции в заданных условиях в течение заданного периода времени.
  • Зрелость (частота отказов)
  • Доступность (готовность к работе)
  • Отказоустойчивость
  • Восстанавливаемость
  1. Безопасность (Security) — степень, в которой продукт защищает информацию и данные от несанкционированного доступа, модификации или уничтожения.
  1. Сопровождаемость (Maintainability) — степень, в которой продукт может быть модифицирован для исправления дефектов, улучшения характеристик или адаптации к изменяющейся среде.
  • Модульность
  • Повторная используемость
  • Анализируемость
  • Модифицируемость
  • Тестируемость
  1. Переносимость (Portability) — способность продукта быть перенесённым из одной среды (аппаратной, программной, организационной) в другую.
  • Адаптируемость
  • Устанавливаемость
  • Заменяемость

Модель качества в использовании

Эта модель оценивает, насколько продукт соответствует потребностям пользователя в реальном контексте эксплуатации. Она включает 5 характеристик:

  1. Результативность (Effectiveness) — точность и полнота достижения целей пользователем.
  2. Продуктивность (Productivity) — затраты ресурсов (времени, усилий) на достижение целей.
  3. Удовлетворённость (Satisfaction) — положительное отношение пользователя к продукту, включая полезность, доверие и комфорт.
  4. Безопасность и защита (Freedom from risk) — степень, в которой продукт снижает риски для здоровья, имущества или данных пользователя.
  5. Контекстное покрытие (Context coverage) — способность продукта работать в различных контекстах использования, включая адаптацию к разным языкам, культурам и техническим платформам.

Применение в разработке и тестировании

ISO/IEC 25010 широко используется в инженерии требований, при проектировании архитектуры, а также при проведении верификации и валидации. На практике модель применяется для:

  • Определения нефункциональных требований: разработчики и аналитики используют перечень характеристик и подхарактеристик как чек-лист, чтобы не упустить важные аспекты качества (например, «время отклика не более 2 секунд» — это подхарактеристика «временное поведение»).
  • Оценки качества готового продукта: при приёмочном тестировании или аудите сторонние эксперты оценивают продукт по каждой характеристике, выставляя баллы (например, по шкале от 0 до 5). Это позволяет объективно сравнить разные продукты или версии.
  • Сравнения конкурентов: модель даёт единую метрическую базу для анализа сильных и слабых сторон продуктов.
  • Сертификации: в ряде отраслей (медицина, авиация, банковское дело) соответствие стандарту ISO/IEC 25010 является обязательным требованием регуляторов.

Критика и ограничения

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

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

Связь с другими стандартами

ISO/IEC 25010 является частью семейства SQuaRE, которое включает:

  • ISO/IEC 2501n — модели качества
  • ISO/IEC 2502n — метрики качества
  • ISO/IEC 2503n — требования к качеству
  • ISO/IEC 2504n — процессы оценки
  • ISO/IEC 2505n — общие руководства

Кроме того, он тесно связан с ISO/IEC 9126 (предшественник), ISO/IEC 14598 (процессы оценки) и ISO/IEC 25000 (общее введение в SQuaRE). В области системной инженерии он дополняется стандартом ISO/IEC 15288 (процессы жизненного цикла систем).

Интересные факты

  • Стандарт ISO/IEC 25010 был пересмотрен в 2023 году, однако основные изменения коснулись уточнения формулировок и добавления примечаний, а не изменения структуры модели.
  • В России стандарт принят как ГОСТ Р ИСО/МЭК 25010-2015 «Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Модели качества систем и программных продуктов».
  • Модель качества продукта из ISO/IEC 25010 часто используется в качестве основы для построения корпоративных стандартов качества в крупных IT-компаниях, таких как Яндекс, Сбер и VK.

Источники

  • ISO/IEC 25010:2011 — Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — System and software quality models.
  • ГОСТ Р ИСО/МЭК 25010-2015 — Информационные технологии. Системная и программная инженерия. Требования и оценка качества систем и программного обеспечения (SQuaRE). Модели качества систем и программных продуктов.
  • ISO/IEC 25000:2014 — Systems and software engineering — Systems and software Quality Requirements and Evaluation (SQuaRE) — Guide to SQuaRE.
  • Pressman, R. S. (2014). Software Engineering: A Practitioner's Approach. McGraw-Hill Education.
  • Sommerville, I. (2015). Software Engineering. Pearson Education.

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

На главную BFOmetr →