Качество программного обеспечения (Software Quality)

Программная инженерия............................................................................................................................2

Качество программного обеспечения (Software Quality)......................................................................2

1. Основы качества программного обеспечения (Software Quality Fundamentals).........................3

1.1 Культура и этика программной инженерии (Software Engineering Culture and Ethics)..........3

1.2 Значение и стоимость качества (Value and Costs of Quality)..................................................4

1.3 Модели и характеристики качества (Models and Quality Characteristics)...............................4

1.4 Повышение качества (Quality Improvement).............................................................................6

2. Процессы управления качеством программного обеспечения (Software Quality Processes)....6

2.1 Подтверждение качества программного обеспечения (Software Quality Assurance, SQA)..7

2.2 Проверка (верификация) и аттестация (Verification and Validation, V&V)..............................8

2.3 Оценка (обзор) и аудит (Review and Audits).............................................................................9

3. Практические соображения (Practical Considerations)................................................................11

3.1 Требования к качеству программного обеспечения (Software Quality Requirements)........11

3.2 Характеристика дефектов (Defect Characterization)..............................................................13

3.3 Техники управления качеством программного обеспечения (Software Quality Management

Techniques)......................................................................................................................................14

3.4 Количественная оценка качества программного обеспечения (Software Quality

Measurement)..................................................................................................................................17

Что такое качество и почему оно должно быть столь глубоко представлено (в виде

самостоятельной области знаний, прим. автора) в SWEBOK? На протяжении многих лет

отдельные авторы и целые организации определяли термин “качество” по-разному. Фил Кросби

(Phil Crosby) в 1979 году дал определение качеству как “соответствие пользовательским

требованиям”. Уотс Хемпфри (Watts Hamphrey, оригинальный автор концепции модели оценки

зрелости CMM, а также PSP и TSP – People Software Process и Team Software Process, прим.

автора) описывает качество как “достижение отличного уровня пригодности к использованию”.

Компания IBM, в свою очередь, ввела в оборот фразу “качество, управляемое рыночными

потребностями” (“market-driven quality”). Критерий Бэлдриджа (Baldrige) для организационного

качества (см. NIST - National Institute of Standards and Technology, “Baldrige National Quality Program”,

https://www.quality.nist.gov) использует похожую фразу - “качество, задаваемое потребителем”

(“customer-driven quality”), рассматривая удовлетворение потребителя в качестве главного

соображения в отношении качества. Чаще, понятие качества используется в соответствии с

определением системы менеджмента качества ISO 9001 как “степень соответствия присущих

характеристик требованиям” (именно так это сформулировано в официальном переводе ИСО

9000-2000 "Системы менеджмента качества. Основные положения и словарь”, прим. автора).

Данные взгляды перекликаются и с введенным автором “приемлемым качеством”, определяемым

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

продукта, но и заданным контекстом/ограничениями проекта. Это не значит, что “приемлемое

качество” противопоставляется “качеству, диктуемому заказчиком”. Конечно, не стоит и проводить

параллель “приемлемого качества” с “продуктом второй свежести”. Введение категории

“приемлемости” в отношении качества является лишь прагматичным взглядом на желаемую

степень совершенства создаваемого продукта (услуги), способную удовлетворить пользователей

и достижимую в рамках заданных проектных ограничений. Интересно, что и сама “степень

приемлемости” также выступает в роли ограничения проекта, а в приложении к индустрии

программного обеспечения представлена практически во всех областях проектной деятельности –

от управления требованиями (“атрибуты качества” как категория нефункциональных требований),

до тестирования (т.н. наработка на отказ, такие метрики как MTTF - Mean Time To Failure, то есть

среднее время между обнаруженными сбоями системы, и т.п.). В какой-то степени, “приемлемое

качество” можно сравнивать с уровнем обслуживания в рамках заданного SLA – Service Level

Agreement, давно уже принятого на вооружение в телекоммуникационной индустрии. Таким

образом, приемлемое качество может рассматриваться как <количественно выраженный>

компромисс между заказчиком и исполнителем в отношении характеристик продукта,

создаваемого исполнителем в интересах <решения задач> заказчика с учетом других

ограничений проекта (в частности, стоимостью, что часто именуется как “cost of quality” –


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: