71
Рисунок 37
Этапы формальной инспекции и роли ее участников
Процесс формальной инспекции состоит из пяти фаз:
инициализация;
планирование;
подготовка (экспертиза);
обсуждение;
завершение.
Инициализация
Руководитель проекта (преподаватель) выбирает объект инспекции (код, написанный на
КР). Затем он назначает участников формальной инспекции: авторов (студенты, написавшие
код: 2 или 3 человека), ведущего (сам преподаватель) и нескольких инспекторов (студенты, не
участвовавших в написании инспектируемого кода: 4 или 5 человек).
Ведущий также
выполняет роль инспектора; остальные участники выполняют только одну роль.
Эта фаза формальной инспекции проводится на семинаре 6 с использованием
раздаточного материала.
Планирование
Считаем, что инспектируемые документы размещены в базе данных проекта, а их статус
соответствует готовности к формальной инспекции. Считаем, что статус этих документов
изменен так, чтобы отметить начало формальной инспекции, и менять их нельзя.
После этого ведущий заносит в бланк инспекции идентификаторы инспектируемых и
исходных документов и номера их версий, список участников с указанием их ролей и дату
фактического начала процесса инспекции, т.е. того момента, когда инспектируемые
документы были переведены в состояние Review.
Подготовив бланк инспекции и определив время и место собрания, ведущий должен
известить участников инспекции о времени и месте и разослать им
подготовленный бланк
инспекции.
Эта фаза формальной инспекции проводится на "Тестирование программного кода
(покрытия)" (раздается раздаточный материал).
Подготовка
Получив назначение с прикрепленным к нему бланком инспекции, исходные и
инспектируемые документы, инспекторы детально изучают инспектируемые документы,
руководствуясь списком контрольных вопросов.
Перед началом просмотра исходного кода рекомендуется отметить пункты требований,
на соответствие которым проверяется исходный код, а также записать обоснования того,
почему эти требования не могут быть проверены в автоматическом режиме. После этого
можно переходить к просмотру собственно исходного кода. Все пометки, которые придется
вносить в ходе инспектирования в исходный код, необходимо делать не в файле,
который
будет выдан инспекторам, а в его копии, которая потом будет подшита к материалам
72
инспекции. Копия может быть в том же формате, что и исходный файл, либо распечатана на
бумаге или выведена в формат DOC, PDF или аналогичный, допускающий комментирование.
Рекомендуется делать пометки, поясняющие, почему именно данный участок кода
реализует требования. Такие пометки помогут на этапе собрания.
Рекомендуется также проверять наличие участков, гарантирующих робастность, даже
если требования прямо не определяют необходимости обработки недопустимых значений. В
случае, если потенциально возможна некорректная работа программы из-за отсутствия
обработчиков
неверных значений, рекомендуется отметить это в списке замечаний.
Все обнаруженные несоответствия должны быть точно локализованы, сформулированы
и записаны.
Эта фаза формальной инспекции проходит в виде домашнего задания семинара 6
студентам, которые назначены инспекторами.
Обсуждение
Обсуждение проводится в форме одного собрания.
В ходе обсуждения ведущий синхронизирует работу участников, перечисляя номера или
идентификаторы требований (в нашем случае в ходе инспекции проверяется соответствие
исходного кода требованиям). По мере продвижения по документу инспекторы прерывают
ведущего в тех местах, к которым у них имеются замечания. В случае отсутствия разногласий
ведущий фиксирует несоответствие и продолжает продвижение по документу.
Если мнения участников по высказанному замечанию расходятся, то ведущий управляет
дискуссией, последовательно предоставляя слово всем желающим высказаться, причем автор
пользуется правом внеочередного предоставления слова. Если в результате дискуссии
изменилась формулировка замечания, то ведущий записывает эту новую формулировку, затем
зачитывает ее и, если все участники с ней согласны, продолжает продвижение по документу.
Результатом дискуссии может также быть признание отсутствия проблемы. В этом
случае ведущий убеждается в том, что все с этим согласны, и продолжает продвижение по
документу.
Участники должны стремиться обозначить проблемы, но не искать их решения.
Достижение консенсуса по спорным вопросам также не является целью дискуссии. Если
имеется расхождение во мнениях, то должны быть зафиксированы
все альтернативные
мнения. Ведущий должен прервать дискуссию, если оценивает ее как непродуктивную.
Все участники обязаны уважительно относиться к оппонентам, не перебивать
говорящего и высказываться тогда, когда ведущий предоставит им слово. Не допускаются
параллельные обсуждения узким составом – каждый участник обязан адресовать свои
высказывания всему собранию, а не соседу.
Необходимо также избегать критики и оценки квалификации коллег. Целью инспекции
является повышение качества инспектируемых документов, а не оценка квалификации автора
или других участников инспекции.
В ходе обсуждения необходимо в бланке инспекции проставить ответы на контрольные
вопросы и зафиксировать замечания. Для этого ведущий последовательно зачитывает
контрольные вопросы. При отсутствии у всех инспекторов замечаний, нарушающих
сформулированное в вопросе свойство, против вопроса ставится отметка (галочка) в
графе
"Да"; в противном случае отметка ставится в графе "Нет", а в графе "Ссылка на
несоответствие" перечисляются номера соответствующих несоответствий, записанных в
таблице для несоответствий, которая помещена в конце бланка инспекции. Отметка в графе
"Неприменимо" ставится только в том случае, когда сформулированное в соответствующем
вопросе свойство не может быть оценено для данного объекта инспекции; в этом случае в
графе "Ссылка на несоответствие" записывается обоснование невозможности оценить данное
свойство.
Для облегчения труда автора инспектируемого документа по исправлению замечаний
каждое замечание, признанное на собрании существенным, рекомендуется точно
трассировать на строки исходного кода и требований.
73
В конце обсуждения участники принимают решение о возможности принятия объекта
инспекции в имеющейся версии либо о необходимости внесения исправлений и проведения
повторной инспекции в полной или сокращенной форме. Объект инспекции может быть
принят в имеющейся версии только при отсутствии несоответствий. Решение о проведении
повторной инспекции в сокращенной форме принимается только в том случае,
если все
участники с этим согласны. Если хотя бы один из участников настаивает на полной форме
повторной инспекции, то повторная инспекция должна проводиться в полной форме. Мнение
ведущего учитывается наравне с мнениями других участников. Принятое решение
фиксируется ведущим на бланке инспекции и заверяется подписями всех участников.
Теоретически возможна ситуация, когда автор не согласен ни с одним из
зафиксированных замечаний, а инспекторы настаивают, что несоответствия существуют. В
таком случае невозможно принять решение об изменении статуса инспектируемых
документов, поэтому инспекция должна быть отложена, а решение проблемы вынесено за
рамки процесса формальной инспекции.
На бланке инспекции также фиксируется продолжительность собрания и время,
затраченное каждым из участников на подготовку.
Эта фаза формальной инспекции проходит на текущем семинаре.
Завершение
В конце собрания, по окончании обсуждения, инспекторы сдают ведущему свои рабочие
материалы, которые включают в себя распечатки инспектируемых документов с пометками и
бланки инспекции. Ведущий складывает эти материалы в
прозрачную папку вместе с
экземпляром бланка инспекции, заполненным в ходе обсуждения, причем титульный лист
бланка инспекции должен лежать сверху, чтобы можно было по нему идентифицировать
папки.
После собрания ведущий изменяет статус инспектируемых документов в соответствии с
принятым решением – либо им присваивается статус "Принят", либо "Переработать".
В последнем случае необходима повторная инспекция, вид которой уточняется кратким
комментарием (не проводится).
Эта фаза формальной инспекции проходит на текущем семинаре.
Достарыңызбен бөлісу: