Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лабораторний практикум ТПСіК.docx
Скачиваний:
10
Добавлен:
01.05.2015
Размер:
147.05 Кб
Скачать

Лабораторна робота №3

Тема роботи: Колективне інспектування програмного забезпечення

Мета роботи: Ознайомитися з методами інспектування коду

Теоретичні відомості

Список питань для виявлення помилок при інспекції

Важливою частиною процесу інспектування є перевірка програми на наявність загальних помилок за допомогою списку питань для виявлення помилок. Концентрація уваги на розгляді стилю, а не помилок (питання типу «Чи є коментарі точними та інформативними?» і «Чи знаходяться символи THEN / ELSE і DO / END по одній вертикалі один під одним? ») представляється невдалою, так само як і наявність невизначеності в списку, що зменшує його корисність (питання типу «Чи відповідає текст програми вимогам, висунутим при проектуванні? »).

Значною мірою він є незалежним від мови; це означає, що більшість помилок зустрічається в будь-якій мові програмування. Будь-який фахівець може доповнити цей список питаннями, що дозволяють виявити помилки, специфічні для тієї мови програмування, яку він використовує, і виявлені ним в результаті виконання процесу інспектування.

Помилки звернення до даних

Помилки опису даних. Чи правильно ініціалізовані об'єкти, масиви і рядки? Якщо початкові значення привласнюються змінним в операторах опису, то чи правильно инициализируются ці значення? Чи правильно створюються об'єкти, чи використовується відповідний конструктор?

Помилки обчислень. Чи проводяться обчислення з використанням даних різного типу?

Помилки при порівняннях. Чи порівнюються величини несумісних типів? Наприклад, число з рядком? Чи порівнюються величини різних типів? Наприклад, змінна типу int зі змінною типу long?

Помилки в передачах управління. Чи буде завершений кожен цикл? Чи буде кожен цикл, в кінці кінців, завершений? Придумайте неформальне доказ або аргументи, які підтверджують їх завершення. Хоча іноді нескінченні цикли не є помилкою, але краще їх уникати.

Помилки інтерфейсу. Чи відповідає число вхідних параметрів числу аргументів? Чи правильний порядок їх проходження? Перший тип помилок може виявлятися компілятором (але не для кожної мови), а ось правильність проходження (особливо, якщо параметри однакового типу) є важливим моментом.

Помилки введення-виведення. Чи не відбувається запис у файли read-only?

Порядок виконання роботи

1. Написати консольний додаток, що вирішує поставлену задачу (згідно з варіантом індивідуального завдання) .

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

Завдання парних варіантів: написати програму, яка знаходить суму всіх цифр у вказаному користувачем цілому числу.

2. Обмінятися вихідним текстом програми зі студентом, що виконав завдання протилежного варіанту.

3. Провести інспектування його коду, результати представити у вигляді таблиці

Інспектор:_____________________

Автор коду:______________________

Файл, рядок у файлі

Код

Зауваження

4. Обмінятися результатами інспекції, обговорити зауваження та виправити помилки в коді.

5. Об’єднатися у пари для виконання наступного завдання, використовуючи методику парного програмування.

6. Працюючи в парі написати програму, що обчислює суму трьох векторів. Кожен вектор задається координатами (три цілі числа) з клавіатури.

7. Виконавши завдання обмінятися вихідним текстом програми з іншою парою студентів, провести інспектування коду, заповнити таблицю.

Інспектори:_____________________

Автори коду:______________________

Файл, рядок у файлі

Код

Зауваження

8. Обмінятися результатами інспекції, обговорити зауваження та виправити помилки в коді.

9. Оформити звіт по лабораторній роботі, який повинен включати:

1. Постановку задачі індивідуального завдання відповідно до варіанту.

2. Код програми, поданий на інспекцію (до внесення змін).

3. Результати інспектування коду, що було проведено іншим студентом.

4. Код програми після внесення змін.

5. Результати роботи програми.

6. Постановку задачі парного завдання.

7. Код програми, поданий на інспекцію.

8. Результати інспектування коду, що було проведено іншою парою студентів.

9. Код програми після внесення змін.

10. Результати роботи програми.

11. Висновки

12. Відповіді на контрольні питання