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

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

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

mailto:sorlik@borland.ru

https://sorlik.blogspot.com

По мнению автора, при более детальном рассмотрении целостности программного обеспечения в

контексте конкретных проектов, необходимо уделять специальное внимание (выделяя

соответствующие ресурсы и проводя необходимые работы) не только SQM-процессам (особенно,

формальным, включая аудит и аттестацию), но и аспектам управления требованиями (в части

критериев целостности), управления рисками (включая планирование рисков как на этапе

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

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

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

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

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

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

процессе эксплуатации).

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

SQM-процессы обеспечивают нахождение дефектов. Описание характеристик дефектов играет

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

информирует менеджеров проектов и заказчиков о статусе (состоянии) процесса или продукта.

Существуют множество таксономий (классификации и методов структурирования) дефектов

(сбоев). На сегодняшний день нет четкого консенсуса по этому вопросу и SWEBOK приводит

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

1044-93 “IEEE Standard for the Classification of Software Anomalies”. Характеристика дефектов

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

обсуждения на соответствующих встречах список аномалий, сформированный членами оценочной

команды.

На фоне эволюции (и появления новых) методов проектирования и языков, наравне с новыми

программными технологиями, появляются и новые классы дефектов. Это требует огромных

усилий по интерпретации (и корректировке) ранее определенных классов дефектов (сбоев). При

отслеживании дефектов инженер интересуется не только их количеством, но и типом. По-мнению

автора, данный аспект (а именно, распределение дефектов по типам) особенно важен для

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

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

специализированных пилотных проектов, дополнительной проверки концепции (proof of concept,

POC – часто применяемый подход при использовании новых технологий), привлечения сторонних

экспертов и т.п. SWEBOK отмечает, что сама по себе информация, без классификации, часто

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

решения проблем необходима их группировка по соответствующим типам. Вопрос состоит в

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

целом.

SQM обеспечивает сбор информации на всех стадиях разработки и сопровождения программного

обеспечения. Обычно, когда мы говорим “дефект”, мы подразумеваем “сбой”, в соответствии с

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

предполагать различное смысловое наполнение этих терминов. Частичные определения понятий

такого рода (из стандарта IEEE 610.12-90 “ IEEE Standard Glossary of Software Engineering

Terminology ”) выглядят следующим образом:

Ошибка (error): “Отличие … между корректным результатом и вычисленным результатом <

полученным с использованием программного обеспечения>”

Недостаток (fault): “Некорректный шаг, процесс или определение данных в компьютерной

программе”

Сбой (failure): “<Некорректный> результат, полученный в результате недостатка”

Человеческая/пользовательская ошибка (mistake): “Действие человека, приведшее к

некорректному результату”

Данные понятия достаточно детально рассматриваются в области знаний SWEBOK “Тестирование

программного обеспечения”.

При обсуждении данной темы, под дефектом (defect) понимается результат сбоя программного

обеспечения. Модели надежности строятся на основании данных о сбоях, собранных в процессе


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



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