Что такое качественное ПО? • Его легко использовать • Оно демонстрирует хорошую производительность • В нем нет ошибок • Оно не портит пользовательские данные при сбоях • Его можно использовать на разных платформах • Оно может работать 24 часа в сутки и 7 дней в неделю • В него легко добавлять новые возможности • Оно удовлетворяет потребности пользователей • Оно хорошо документировано
Каждый пользователь вкладывает свои пожелания в понятие качество, поэтому качество – это интегрированное свойство, которое характеризует продукт, программный код и другие артефакты, а, следовательно, и весь процесс разработки.
Управление качеством Управление качеством — формализация того, какой уровень качества считается приемлемым, и как его достигать в процессе разработки. Эти процессы обеспечивают гарантию того, что программные продукты и процессы жизненного цикла в проекте соответствуют заданным требованиям, за счет планирования и выполнения работ, направленных на достижение определенного (приемлемого) уровня качества создаваемого программного продукта.
1. Характеристики качества
Инженерная задача
Возьмите любую систему (свою или предложенную преподавателем) и её стейкхолдеров (пользователь, разработчик, владелец бизнеса, служба поддержки и т.п.):
- для каждого стейкхолдера сформулируйте, что для него значит «качественный продукт» (2–3 пункта);
- найдите минимум одну пару требований от разных стейкхолдеров, которые конфликтуют между собой (например, скорость vs безопасность, гибкость vs простота);
- расставьте итоговые приоритеты — какой атрибут качества важнее для данной системы и почему.
Артефакт: список приоритизированных атрибутов качества с указанием, чьи интересы за каждым стоят.
2 Модели качества
Одним числом или общим словом «хорошо» качество не описать — нужна модель, раскладывающая его на конкретные характеристики (функциональная пригодность, надёжность, производительность, сопровождаемость, безопасность и т.д.).
Инженерная задача. Возьмите атрибуты качества из задачи 1 и сопоставьте каждый с характеристикой признанной модели качества (найдите и укажите, какую модель используете). Для каждого атрибута:
- к какой характеристике модели он относится;
- достаточно ли этой характеристики, чтобы полностью описать атрибут, или он «размазан» по нескольким характеристикам.
Артефакт: карта соответствия «атрибут качества → характеристика модели».
3 Внутренние метрики качества ПО
Внутренние метрики измеряются по архитектуре или коду до того, как продукт попал к пользователю (сложность, связность, дублирование, покрытие тестами и т.п.) — они предсказывают, а не подтверждают качество.
Инженерная задача
Для одной из характеристик модели качества, выбранной в предыдущей задаче:
- подберите 2–3 внутренние метрики, которыми эту характеристику можно измерить по коду;
- для каждой метрики определите пороговое значение (или диапазон), которое вы бы сочли приемлемым, и обоснуйте выбор;
- укажите, что метрика не покажет — какой риск остаётся неизмеренным даже при хорошем значении метрики.
Артефакт: карта метрик с пороговыми значениями и известными ограничениями.
4. Качество в использовании
Часть качества видна только тогда, когда продукт реально используется: эффективность и результативность для пользователя, удовлетворённость, отсутствие риска, применимость в разных контекстах использования.
Инженерная задача
Возьмите внутренние метрики из задачи 3 и для каждой сформулируйте, во что она превращается «в использовании» — критерий, проверяемый не по коду, а по поведению реального пользователя (например: «метрика цикломатической сложности низкая» → «пользователь выполняет задачу без обращения в поддержку»).
Артефакт: критерии приёмки «качество в использовании», выведенные из внутренних метрик.
5. Оценка качества
Оценка качества — формальная процедура, которая проверяет, соответствует ли продукт заданному (приемлемому) уровню качества.
Инженерная задача
Спроектируйте процедуру оценки для своей системы:
- какие артефакты (список атрибутов, карта модели, метрики, критерии использования) станут входом оценки;
- кто выполняет оценку и на каком этапе разработки;
- как формулируется итоговый вердикт («продукт соответствует уровню качества» / «не соответствует») — по какому правилу из частных результатов складывается общий.
Артефакт: отчёт об оценке качества