Введение в программную инженерию и управление жизненным циклом ПО. Программная инженерия. Качество программного обеспечения

Программная инженерия. Качество программного обеспечения.

Copyright © Сергей Орлик, 2004-2005.

mailto:sorlik@borland.ru

https://sorlik.blogspot.com

Этические аспекты могут играть значительную роль в обеспечении качества программного

обеспечения, культуре и отношении инженеров <к своей работе>. IEEE Computer Society и ACM

разработали кодекс этики (“моральный кодекс” – code of ethics) и профессиональной практики,

основанный на восьми принципах, помогающих инженерам укрепить их отношение к качеству и

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

продуктов> в их повседневной работе (автор планирует рассмотреть этот кодекс более подробно

за рамками перевода и комментариев к SWEBOK, прим. автора).

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

Понятие “качество”, на самом деле, не столь очевидно и просто, как это может показаться на

первый взгляд. Для любого инженерного продукта существует множество <интерпретаций>

качества, в зависимости от конкретной “системы координат” (в оригинале – “перспективы”, прим.

автора). Множество этих точек зрения необходимо обсудить и определить на этапе выработки

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

степени, могут отсутствовать или могут задавать определенные требования, все это может быть

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

качества”, как менее жесткой точки зрения на обеспечение качества, как достижение

совершенства, прим. автора).

Стоимость качества (cost of quality) может быть дифференцирована на стоимость предупреждения

<дефектов> (prevention cost), стоимость оценки (appraisal cost), стоимость внутренних (internal

failure cost), а также внешних сбоев (external failure cost).

Движущей силой программных проектов является желание создать программное обеспечение,

обладающее определенной ценностью (значимое для решения определенных задач или

достижения целей, прим. автора). Ценность программного обеспечения в может выражаться в

форме стоимости, а может и нет. Заказчик, обычно, имеет свое представление о максимальных

стоимостных вложениях, возврат которых ожидается в случае достижения основных целей

создания программного обеспечения. Заказчик может, также, иметь определенные ожидания в

отношении качества ПО. Иногда, заказчики не задумываются о вопросах качества и связанной с

ними стоимостью. Является ли характеристики качества чисто декоративными (умозрительной,

прим. автора) или, все же, это неотъемлемая часть программного обеспечения? Ответ, вероятно,

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

обсуждения степени вовлечения заказчика в процесс принятия решений и полного понимания

заказчиком стоимости и выгоды, связанной с достижением того или иного уровня качества. В

идеальном случае, большинство такого рода решений должно приниматься процессе работы с

требованиями (см. область знаний SWEBOK “Программные требования”), однако эти вопросы

могут (и должны, прим. автора) подниматься на протяжении всего жизненного цикла

программного обеспечения. Не существует каких-то <“стандартных”> правил того, как именно

необходимо принимать такие решения. Однако, инженеры должны быть способны представить

различные альтернативы (в достижении различного уровня качества, прим. автора) и их

стоимость. Здесь SWEBOK приводит некоторые источники, в которых более подробно

обсуждаются вопросы значимости качества и соответствующих характеристик стоимости.

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

В различных источниках (таксономиях и моделях) терминология характеристик качества

программного обеспечения отличается. Каждая модель включает различное число уровней

иерархии и общее число <”распознанных”> характеристик качества. Различные авторы создали

разные модели качества со своим набором характеристик и атрибутов (в частности, Барри Боэм,

автор спиральной модели жизненного цикла разработки программного обеспечения, которая

рассматривается автором за рамками перевода и комментирования SWEBOK, прим. автора). Эти

модели могут быть полезны для обсуждения, планирования, (адаптации, прим. автора) и оценки

качества программных продуктов. ISO/IEC определяет три связанных модели качества

программного обеспечения (ISO 9126-01 Software Engineering - Product Quality, Part 1: Quality

Model) – внутреннее качество, внешнее качество и качество в процессе эксплуатации, а также

набор соответствующих работ по оценке качества программного обеспечения (ISO14598-98

Software Product Evaluation).


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



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