Экспертная оценка программного обеспечения
В разработке программного обеспечения рецензирование — это тип проверки программного обеспечения, при которой рабочий продукт (документ, код или другое) исследуется коллегами автора, чтобы оценить техническое содержание и качество рабочего продукта.
Цель
[ редактировать ]Цель экспертной проверки — обеспечить «дисциплинированную инженерную практику для обнаружения и исправления дефектов в программных продуктах и предотвращения их утечки в полевые операции» в соответствии с Моделью зрелости возможностей .
Экспертные проверки , выполняемые в рамках каждого процесса разработки программного обеспечения , выявляют проблемы, которые можно устранить на ранних стадиях жизненного цикла. [1] Другими словами, экспертная оценка, которая выявляет проблему с требованиями во время анализа требований , обходится дешевле и ее легче исправить, чем во время деятельности по архитектуре программного обеспечения или тестированию программного обеспечения .
Национальный эксперимент по обеспечению качества программного обеспечения, [2] оценивая эффективность экспертных оценок, обнаруживает «выгодную окупаемость инвестиций в проверки программного обеспечения; экономия превышает затраты в соотношении 4 к 1». Другими словами, позднее выявление и устранение проблемы с программным обеспечением обходится в среднем в четыре раза дороже.
Отличие от других видов проверки программного обеспечения
[ редактировать ]Коллегиальные проверки отличаются от проверок со стороны руководства , которые проводятся представителями руководства, а не коллегами, и в целях управления и контроля, а не для технической оценки. Они также отличаются от проверок программного обеспечения , которые проводятся внешним по отношению к проекту персоналом для оценки соответствия спецификациям, стандартам, договорным соглашениям или другим критериям.
Обзор процессов
[ редактировать ]Процессы экспертной оценки существуют в широком спектре формальностей, с относительно неструктурированными действиями, такими как «проверка приятелей» на одном конце спектра и более неформальными подходами, такими как пошаговые руководства , технические экспертные оценки и проверки программного обеспечения , на другом. IEEE определяет формальные структуры, роли и процессы для каждого из последних трех. [3]
Представители руководства обычно не участвуют в проведении экспертной оценки, за исключением случаев, когда они включаются в силу особых технических знаний или когда проверяемый рабочий продукт является документом уровня руководства. Особенно это касается линейных руководителей других участников обзора.
Процессы формальных экспертных проверок, такие как проверки программного обеспечения , определяют конкретные роли для каждого участника, количественно определяют этапы с критериями входа/выхода, фиксируют показатели программного обеспечения в процессе экспертной оценки.
Отзывы об «открытом исходном коде»
[ редактировать ]В сообществе свободного/открытого исходного кода проводится нечто вроде экспертной оценки при проектировании и оценке компьютерного программного обеспечения . В этом контексте обоснование рецензирования имеет эквивалент в законе Линуса , который часто формулируется: «При достаточном количестве наблюдателей все ошибки мелкие», что означает: «Если рецензентов достаточно, все проблемы легко решить». Эрик С. Рэймонд написал влиятельные статьи о экспертной оценке в области разработки программного обеспечения . [4]
Ссылки
[ редактировать ]- ^ Колава, Адам; Хейзинга, Дорота (2007). Автоматизированное предотвращение дефектов: лучшие практики управления программным обеспечением . Издательство компьютерного общества Wiley-IEEE. п. 261. ИСБН 978-0-470-04212-0 .
- ^ Ресурсы и результаты национальных экспериментов по качеству программного обеспечения
- ^ Стандарт IEEE. 1028-2008, «Стандарт IEEE для проверок и аудита программного обеспечения».
- ^ Эрик С. Рэймонд . Собор и базар .