на модулі, взаємодія яких показано на малюнку 3.5.1 В
В
3.6 Специфікація модулів
Модуль створення та промальовування сітки лабіринту
Вхідні дані: відсутні
Вихідні дані: карта поля
Функції: створення карти поля
Модуль введення і коригування даних
Вхідні дані: команди
Вихідні дані: карта поля
Функції - введення даних і надання користувачу можливості їх редагування.
Модуль зчитування та збереження структури лабіринту
Вхідні дані: команди, карта поля
Вихідні дані: карта поля, файл
Зовнішні ефекти: завантаження збереженого лабіринту, також модуль зберігає файл на диску.
Функції - зчитування і збереження структури лабіринту.
Модуль візуалізації
Вхідні дані: координати кімнат і дверей
Вихідні дані: відсутні
Зовнішні ефекти: на екрані монітора з'являється лабіринт і шлях проходження.
Функції - висновок на екран монітора інформації.
Модуль розрахунку найкоротшого шляху лабіринту
Вхідні дані: карта поля
Вихідні дані: карта проходження
Функції - знаходження шляхів проходження і пошук найкоротшого.
3.7 Перехід до тексту програми
Використовуючи матеріал розробки програми, діаграму потоків даних, діаграму станів перейдемо до реалізації програми. p> Написання програмного коду буде проводитися з використанням середовища програмування Borland C + +.
Реалізація функцій програми залежить повністю від програміста.
В
4 Робочий проект
4.1 Програмування та налагодження програми
Виходячи з вимог до програмного забезпечення, програма кодувалася в середовищі програмування Borland C + + для функціонування в операційній системі Windows 9x. (Дивіться додаток В)
4.2 Тестування програми
Тестування програми полягає у перевірці роботи основних функцій. Була розроблена і проведена серія тестових прикладів для програми. Програма та ме-Тодика випробувань наведені в додатку В. Результати тестування показали працездатність програми і його відповідність пропонованим вимогам.
Запропоноване ПО тестувалося як під час розробки, так і після її завершення.
Для тестування робилися спроби введення недійсних даних і спроби виконати неприпустимі дії як при програмуванні, так і в режимі взаємодії з поль-зователя. Запропоноване ПО адекватно реагувало на такі дії. b>
Висновок
У даній документації було розроблено програму "Пошук найкоротшого шляху", яка створює лабіринт і знаходить найкоротший шлях проходження.
Описана область застосування програмного продукту. Наводяться діаграми потоків даних, діаграми стану, діаграми взаємодії модулів. Доступною мовою описується методологія створення програми.
Розроблено специфікація функцій програми, описано поведінку програми в критичних ситуаціях, наводиться специфікація модулів. У документації також наведені результати тестування програми
ДОДАТОК А
(обов'язковий)
Опис програми
Загальні відомості
Найменування програми: "Пошук найкоротшого шляху"
Для функціонування програми необхідна Операційна Система Windows 9x.
Кодування проводилася в середовищі програмування Borland C + +.
Функціональне призначення
Класи завдань, які вирішуються за допомогою програми: програма знаходить найкоротший шлях у лабіринті.
Опис логічної структури
Програма має головну функцію main, яка описана у файлі sapr_kyrsovik.cpp, з якої починається виконання програми. Також програма має бібліотечні функції, які описані в заголовному файлі head.h. Заголовний файл містить всі інші функції, використовувані в пограмма. Програма має структуру з ім'ям Lab, яка містить двомірний масив карти лабіринту (МАР [MY] [MX]) і двомірний масив карти проходження (Put [MY] [MX]). У цю структуру проводиться запис координат кімнат і дверей лабіринту.
Програма складається з наступних функцій:
int Grin (struct Lab * P)
Вона виконує:
ініціалізацію графіки: очищається екран, включається графічний режим
малює сітку лабіринту
ініціалізацію масивов структури P
void Rasstan (struct Lab * P) - функція розставляє кімнати та двері на карті поля, а також видаляє їх, це реалізується за допомогою клавіш управління курсором (<> - вгору, <> - вниз, <> - вправо, <> - вліво) і клавіш спеціального призначення (Наприклад, за допомогою клавіші <до> відбувається введення кімнати, за допомогою клавіші <д> відбувається введення двері, за допомогою клав...