
- •Вадим Савкин Основные принципы управления качеством программного обеспечения
- •Понятие качества программного обеспечения Определение качества программного продукта
- •Критерии качества пп
- •Влияние видов деятельности жизненного цикла на качество пп
- •Обобщённое понятие дефекта
- •Управление качеством программного продукта Традиционный подход к качеству программного продукта
- •Эффективность поиска дефектов
- •Стоимость исправления дефектов
- •Комплексный подход к управлению качеством
- •Методы поиска дефектов
- •Методы предотвращения дефектов
- •Управление качеством при итерационном жизненном цикле
- •Стоимость качества по
- •Процесс управления качеством
- •Заключение
- •Литература
- •Управление качеством по в компании cqg
Вадим Савкин Основные принципы управления качеством программного обеспечения
Тема качества программного обеспечения очень часто упоминается в литературе и статьях, но дальше пространных речей или разговоров о тестировании речь заходит редко. Цель данной статьи – дать целостное представление о проблеме качества программного обеспечения (ПО) и основных принципах управления качеством ПО. В статье даётся определение понятия качества ПО, описывается подход, упрощающий задачу анализа качества, приводится краткий обзор известных методов повышения качества.
Понятие качества программного обеспечения Определение качества программного продукта
Согласно ГОСТ Р ИСО 9000-2001 [13, параграф 3.1] качество – это «степень соответствия присущих характеристик (продукта) требованиям». Это общее определение. Если его буквально перенести на область разработки программного обеспечения (ПО), то оно может быть не совсем верно истолковано. Дело в том, что разработка требований, в том смысле как этот термин понимается для области ПО, есть неотъемлемая часть процесса разработки этого ПО. Качество требований к программному продукту (ПП) напрямую влияет на качество самого этого ПП. Иными словами, если требования к ПП некачественные, то сам продукт, разработанный по этим требованиям, также будет некачественным даже в случае идеального соответствия.
Если слово «требования» в определении ГОСТа заменить словами «цели проекта» (здесь под проектом имеется в виду процесс разработки определённого программного продукта или расширения функциональности имеющегося продукта), то всё встаёт на свои места. Далее в статье мы будем под качеством ПП подразумевать следующее:
Качество ПП – это степень соответствия функциональных, технических, эксплуатационных характеристик разработанного программного продукта целям, которые были поставлены перед началом разработки этого ПП.
Отмечу, что данное определение не касается вопросов стоимости. Цели проекта по разработке ПП определяются в первую очередь бизнес целями и имеющимися ограничениями.
Критерии качества пп
Качество ПП – понятие сложное и многогранное. В общем, качество – это некая функция от следующих переменных:
Функциональность (насколько ПП полезен для пользователя);
Качество пользовательского интерфейса (удобство использования, лёгкость в обучении);
Надёжность (отсутствие дефектов в ПП, устойчивость к сбоям);
Производительность, потребление ресурсов, требования к внешней среде;
Качество информационной поддержки (документация);
Сопровождаемость (качество дизайна и кода, внутреннее качество);
+ возможно, другие критерии.
Другие варианты списка критериев качества можно найти, например, в [2, стр. 456-457], [7, стр. 244]. Компания-разработчик определяет (должна определять) свои стандарты качества для каждого критерия для каждого программного проекта. При оценке качества необходимо иметь возможность количественно оценить каждый из критериев.
Влияние видов деятельности жизненного цикла на качество пп
Рассмотрим типичные виды деятельности жизненного цикла программного проекта и их влияние на перечисленные выше критерии качества. В таблице ниже символ * означает, что данный вид деятельности (строка) явным образом влияет на данный критерий качества (столбец):
Виды деятельности |
Функциона-льность |
Качество пользователь-ского интерфейса |
Надёжность |
Качество дизайна и кода |
Производи-тельность |
Качество документа-ции |
Разработка требований |
* |
* |
|
|
|
|
Архитектурный анализ и дизайн |
|
* |
* |
* |
* |
|
Кодирование |
|
|
* |
* |
* |
|
Тестирование |
|
* |
* |
|
* |
|
Разработка документации |
|
|
|
|
|
* |
Основной момент, на который хотелось бы обратить внимание здесь, следующий: на качество конечного продукта влияют все фазы и виды деятельности проекта без исключения – от самых ранних до самых поздних. Таким образом, то, насколько хорошо и качественно мы работаем на каждой фазе проекта (а не только, например, на фазе тестирования), зависит, насколько качественным получится разрабатываемый продукт. Или другими словами, качество процесса разработки определяет качество разрабатываемого продукта [2, стр. 470], т.е. качество продукта неотделимо от качества процесса, и для того, чтобы улучшить качество ПП, нужно улучшать качество процесса разработки этого ПП [1, стр. 271].