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



Лекция 8. Качество программного обеспечения.

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

Интуитивно ясно, что высокое качество это хорошо, низкое – плохо. Понятно, что эти характеристики применимы практически ко всем областям человеческой деятельности.

Что такое качество в области IT и программного обеспечения и почему оно представлено в виде самостоятельной области знаний в SWEBOK? Этим вопросам посвящена данная лекция.

На протяжении многих лет отдельные авторы определяли термин «качество» по-разному.

Фил Кросби в 1979 году дал определение качеству как «соответствие пользовательским требованиям».

Уотс Хемпфри - автор концепций оценки зрелости CMM (см. лекцию 7), а также PSP и TSP (People Software Process и Team Software Process) описывает качество как «достижение отличного уровня пригодности к использованию».

Компания IBM ввела в оборот фразу «качество, управляемое рыночными потребностями» («market - driven quality»).   

Критерий Бэлдриджа для организационного качества использует похожую фразу – «качество, задаваемое потребителем» («customer - driven quality»), рассматривая удовлетворение потребителя в качестве главного соображения в отношении качества.

   В настоящее время, по сути - «де юро», общепринято определение стандарта ISO 9001, по сути квинтэссенции приведенных выше формулировок.

Определение. Качество это «степень соответствия присущих характеристик требованиям» (именно так это сформулировано в официальном переводе ИСО 9000-2000 «Системы менеджмента качества. Основные положения и словарь»). Понятно, что чем выше степень соответствия, тем выше качество.

Рассматриваемая область знаний выходит за рамки отдельных процессов жизненного цикла ПО.

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

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

На рис.1, данная область знаний представлена в графическом виде. Как и в предыдущих лекциях блоки пронумерованы, их номера соответствуют номерам разделов, а порядок изложения соответствует рисунку.

 


Рис.8.1. Область знаний «Качество программного обеспечения»

Итак, перейдем к рассмотрению по блокам.

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

Достижение согласия по требованиями к качеству требует обсуждения и согласования многих аспектов.

Необходимо понимать смысл концепции качества в отношении разрабатываемого или сопровождаемого ПО.    

Базовым положением является следующее - программные требования определяют характеристики качества ПО, и влияют на методы оценки и критерии приемки.

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

Необходимо, что бы инженеры по программному обеспечению воспринимали вопросы качества ПО, как часть своей профессиональной культуры.

IEEE Computer Society (IEEE – Institute of Electrical and Electronic Engineers Computer Society – Институт инженеров по электротехнике и электронике – Компьютерное сообщество) и ACM (Association for Computing Machinery - Ассоциация по вычислительной технике), разработали кодекс этики в профессиональной практике, основанный на восьми принципах, помогающих инженерам в их повседневной работе по обеспечению высокого качества создаваемых программных продуктов. Вот эти восемь принципов:

1. ОБЩЕСТВО
- Программные инженеры будут действовать соответственно общественным интересам.
2. КЛИЕНТ И РАБОТОДАТЕЛЬ
- Программные инженеры будут действовать в интересах клиентов и работодателя, соответственно общественным интересам.

3. ПРОДУКТ
- Программные инженеры будут добиваться, чтобы произведенные ими продукты и их модификации соответствовали высочайшим профессиональным стандартам.

4. СУЖДЕНИЕ
- Программные инженеры будут добиваться честности и независимости в своих профессиональных суждениях.

5. МЕНЕДЖМЕНТ
- Менеджеры и лидеры программных инженеров будут руководствоваться этическим подходом к руководству разработкой и сопровождением ПО, а также будут продвигать и развивать этот подход.

6. ПРОФЕССИЯ
- Программные инженеры будут улучшать целостность и репутацию своей профессии соответственно с интересами общества.

7. КОЛЛЕГИ
- Программные инженеры будут честными по отношению к своим коллегам и будут всячески их поддерживать.

8. ЛИЧНОСТЬ
- Программные инженеры в течение всей своей жизни будут учиться практике своей профессии и будут продвигать этический подход к практике своей профессии.

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

Понятие «качество» не однозначно. Для любого инженерного продукта существует множество интерпретаций качества, в зависимости от конкретной точки зрения.

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

В результате находится некий компромисс, т.н. «приемлемое 

качество», как усредненная точка зрения на обеспечение качества, на достижение совершенства.

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

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

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

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

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

 

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

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

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

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

 

 ISO/ IEC определяет три связанных модели качества программного обеспечения (ISO 9126-01 Software Engineering - Product Quality, Part 1: Quality Model) – внутреннее качество, внешнее качество и качество в процессе эксплуатации, а также набор соответствующих работ по оценке качества программного обеспечения (ISO14598-98 Software Product Evaluation).

 


Дата добавления: 2018-10-26; просмотров: 266; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!