Прегледи, проверки и инструкции
Рецензии, Инспекции и разходки Nils von Delft 07/05/2006

Очертаване на мотивация Дефиниция и обяснение Преглед на инспекцията за инспекция Модели на инспекция според Хъмфри и Гилб Допълнителни аспекти на рецензиите Странични ефекти Човешки фактор Практическо използване на рецензии Компютърна поддръжка за рецензии 2
Мотивация 1 30 25 Относителни разходи за грешки Грешки при кодиране Грешки при проектирането Грешки в изискванията 20 15 10 5 0 Преглед на изискванията Преглед на дизайна Преглед на кода Структурен тест Функционален тест Karol Frühauf, Jochen Ludewig, Helmut Sandmayr: Тест на софтуера: Ръководство за тестване и проверка, 1995 3
Мотивация 2 Грешки в цикъла на разработване на софтуер често се появяват ранни неоткрити грешки причиняват значително по-високи разходи, колкото по-късно се открият Програмистът често пренебрегва грешки Разстояние до екрана/програмата е необходимо n очите виждат повече от 2 (за n> 2) грешки Често не е (или е трудно) да се намери с автоматизирани средства Проблеми, особено с по-неформални документи (изисквания, дизайн) По-нататъшно проучване от други хора има смисъл 4
Преглед на re: преглед отново: вижте So Review: вижте отново, погледнете отново Формално организирана среща на хора за преглед на съдържанието или формата на дадена продуктова част (документ, парче от програмата и т.н.) в съответствие с определени критерии за изпитване и списъци. * Така че: среща за грешки в програмата да се намери (да не се коригира). * Професор доктор. М. Глинц, Университет в Цюрих, Софтуерно инженерство I, 05 5
Ръководства Ръководството е преглед, в който авторът описва как изпитваният работи стъпка по стъпка, докато рецензентите слушат внимателно и се закачат навсякъде, където открият недостатъци. * Формализирането е гъвкаво, обикновено се свиква от автора и се ръководи от двама или повече Дискусия на хората за дизайна и програмния код. Добра възможност за обмен на опит. Акцентът е поставен върху отстраняването на неизправности. М. Глинц, Университет в Цюрих, Софтуерно инженерство I, 05 6
Инспекции Инспекциите включват по-формализиран процес, при който проверяващите индивидуално и систематично изследват документ и записват резултатите си. * Традиционно извършваните на ръка, изискват отделна подготовка и срещи. Основните кандидати са системи, които трябва да бъдат много безопасни (въздушен трафик, медицински системи) Ciolkowski, Laitenberger, Biffl: Прегледи на софтуера: Състоянието на практиката, 2002 7
Инспекции 2 Строго формален формуляр за преглед, въведен от Майкъл Фаган в IBM (1976) Концентрация върху контролни списъци Фиксирано разпределение на ролите и тук, отстраняване на неизправности (по-малко корекция) Изпитващите се подготвят отделно Изпитващите се идват на срещата със списък с грешки Срещата се провежда само ако всички са добре подготвени отнема макс. 2 часа никакво обсъждане на дизайна или идеологията на срещата да не се разглежда като показател за качество (лоялност) 8
Роли в инспекцията Мениджърът издава заповедта за създаване на тестовия елемент Задейства прегледа Отговаря за освобождаването на тестовия елемент Модераторът управлява и планира инспекцията Води срещата и гарантира, че всичко протича гладко и темпото е подходящо Авторът е лицето, отговорно за инспекцията който е написал кандидата играе подчинена роля 9
Роли по време на проверката 2 Задачата на проверяващия е да открие грешки, първо по време на подготовката, а след това в срещата на екипа
Фази на инспекция Планиране Инициализация Подготвителна сесия Трети час на последваща работа Одобрение Анализ 11
Модели от Humphrey (89) (и Gilb (93) (Entry Организационна фаза Планиране Общ преглед Планиране Стартиране Фаза за разпознаване Подготовка Анализ Инспекция Проверка Регистрация Мозъчна атака Финална фаза Преработка Последващи действия Редактиране Последващи действия Изход 12
Възможни вариации в проверките Всеки инспектор посочва грешки - след това, асинхронна координация (съгласуване, отхвърляне, неутрално) всяка открита грешка също се третира като такава (всичко, което изглежда грешно, се нуждае от подобрение) сесия за мозъчна атака след среща, относно въпроси за дизайн или други подобни да се обсъдят няколко инспекции едновременно (евентуално различни техники), няколко паралелни прегледа, които разглеждат различни аспекти на тестовата точка 13
Проверки срещу Инспекции на разходки много формално откриване на около 60% от грешките (намаляване на разходите за грешки със 75%) съставляват около 15% до 20% от усилията за създаване на тестов обект Намаляване на общите разходи по проект (14% до 25%) Ръководства по-малко формално по-малко организационни усилия Откриване на 20 % до 40% от грешките, подходящи и за по-големи групи, тъй като срещите са много скъпи, разходките също са скъпи 14
Прегледи на практика Преглед на целите 73% повишаване на качеството 54% прилагане на стандарти 52% определяне на статуса на проекта редовност на извършените прегледи 42% изисквания 40% дизайн 30% планиране на кода, преглед 20% редовно планиране 30% без използване на официални критерии за влизане и завършване Заключение 40% без събиране на данни 18% събиране без оценка на данни Проучване на Ciolkowski, Laitenberger, Biffl: Прегледи на софтуера: Състоянието на практиката, 2002 15
Положителни странични ефекти на рецензиите Редовна обратна връзка за програмисти Разработване и спазване на кодовите стандарти По-добра оценка на напредъка на процеса Разпределение на знанията Подобрен екипен дух Разширени познания по проекта 16
Човешкият фактор Форма на деня Времево налягане Мотивация Лоялност Езда на принципите на дявола намира грешки
Колко полезна е срещата? За синергията на срещата на екипния дух, комуникацията, разпределението на знанията в някои случаи до 80% от грешките са открити само в срещата. Контра 20% допълнителни разходи прекъсване на графика на разработчиците значително повече организационни усилия Инспекция може да бъде значително удължена много грешки са открити по време на подготовката (обикновено 67% до 95%) 18
Защо компютърна поддръжка? плащане? Много повтарящи се дейности нямат нищо общо с действителния процес. Пазете се от намиране на грешки. Традиционните процедури могат бързо да станат объркващи. Факторът на времето става все по-важен. Програмистите стават все по-геогр. Отделните съвместни срещи често са трудни за организиране 19
Отправни точки за компютърна поддръжка Какво се променя? отпечатани документи електронни документи развързващи брошури колекция от елек. Търсене на документи чрез купчина документи, заявка за база данни физически бележки по имейл, но действителният процес на преглед все още се извършва на ръка Инструментите се намесват само в подкрепа 20
Най-важното отново Прегледи: Процедури за ранно отстраняване на неизправности чрез човешки преглед Също така се използва широко на практика Ръководства: Бърз, по-евтин тип преглед Проверка: Силна формалност с голям успех Има различни модели за проверка с различни акценти и елементи По-скъпо и противоречиво е лицето- лице в среща Компютърната поддръжка има смисъл да се намеси по поддържащ начин (премахва всички атрибути), но не може да облекчи действителния процес на преглед 21