Построение модели пользовательского интерфейса



Техническое задание

Введение

 

 

Полное название разработки ”Поиск кратчайшего пути”. Данная разработка предназначена для использования в учебных заведениях. Она выполняет нахождение кратчайшего пути между входом в лабиринт и его выходом. Также возможно использование для самопроверки решения, принятого человеком.

 

Основания для разработки

 

Данный проект разрабатывается на основании задания на курсовую работу, выданного преподавателем Сусловым С.В. студенту 4152 группы Заволоке А.А.

Наименование темы разработки “Поиск кратчайшего пути”.  

 

 

Назначение разработки

 

Программа “Поиск кратчайшего пути” предназначается для нахождения кратчайшего пути между входом в лабиринт и его выходом.

 

 

Требования к программе

 

1.3.1 Требования к функциональным характеристикам

 

Для контакта пользователя с программой необходимо выполнение ряда функций:

создание сетки лабиринта;

добавление комнат в лабиринте;

удаление комнат в лабиринте;

добавление дверей в лабиринте ;

удаление дверей в лабиринте ;

ввод входа и выхода, между которыми необходимо найти кратчайший путь;

отображение решения;

сохранение лабиринта;

- загрузка сохраненного лабиринта

Входными данными являются комнаты и двери лабиринта, которые вводятся пользователем с клавиатуры при помощи передвигающегося курсора и нажатия определённой клавиши для комнат и для дверей.  

Выходными данными является отображение на экране в графическом режиме лабиринта и кратчайшего пути.

1.3.2 Требования к надёжности

    

Программное изделие должно быть защищено от непродуманных действий пользователя. Должен быть предусмотрен максимально возможный анализ входной информации, вводимой пользователем. В случае ввода некорректных данных игнорировать попытку ввода.

   

1.3.3 Условия эксплуатации

 

Программа устойчиво и корректно функционирует при нормальных условиях эксплуатации ПЭВМ. Дополнительных условий эксплуатации не требует.

 

1.3.4 Требования к составу и параметрам технических средств

 

Необходимы следующие технические средства:

1) ПЭВМ с тактовой частотой процессора 100 Mhz и выше.

Монитор, поддерживающий режим VGA;

8 Мбайт ОЗУ и выше;

Клавиатура.

1.3.5 Требования к информационной и программной совместимости

Программа должна корректно функционировать в ОС Windows’9x.

 

1.3.6 Требования к маркировке и упаковке

 

Готовое программное изделие предоставляется (хранится) на дискете 3.5 Дюйма. Требований к маркировке не предъявляется.

 

1.3.7 Требования к транспортировке и хранению

 

Хранить программный продукт нужно при нормальных условиях на дискете 3.5 дюйма, то есть дискета должна храниться в герметичной, сухой, не гнущейся коробке вдали от источников тепла, влаги и от магнита.

 

Требования к программной документации

 

Программная документация должна состоять из:

хорошо прокомментированного текста программы;

общего функционального описания;

краткого описания составляющих программу функций;

схем, иллюстрирующих проект и словесного их описания;

5) руководства пользователя.

     

Технико-экономические показатели

Создание бесплатной альтернативы существующим на сегодня программам        подобного профиля;

Быстрота вычислений.

 

Стадии и этапы разработки

 

Техническое задание

Плановые сроки начала и окончания работы:

Начало: 15.02.07

Окончание:    01.03.07

 

Эскизный проект

 Плановые сроки начала и окончания работы:

 Начало: 01.03.07

 Окончание:   22.03.07

 

Технический проект

Плановые сроки начала и окончания работы:

Начало: 22.03.07

Окончание: 12.04.07

 

Рабочий проект

Плановые сроки начала и окончания работы:

Начало: 12.04.07

Окончание: 17.05.07

 

Ввод в эксплуатацию

Плановые сроки начала и окончания работы:

Начало: 17.05.07

Окончание: 24.05.07

 

 

Порядок контроля и приёмки

 

Испытание должно проводиться совмесно с заказчиком и разработчиком в соответствии с “Программой и методикой испытаний “.

 

Эскизный проект

Контекстная диаграмма

Входными данными должны быть координаты вершин многоугольника. Координаты рациональней не вводить, потому что это будет очень длительный процесс, а смоделировать программу так чтобы пользователь мог перемещать курсор по сетке лабиринта и нажатием клавиш расставлять комнаты или двери. Выходными данными являются изображение лабиринта и результат поиска пути. Потоки входных и выходных данных можно увидеть на контекстной диаграмме .

При работе с данной программой необходимо наличие трёх главных компонентов : пользователь, компьютер и программа (рис.2.1).

лабиринт
                                 

                                     

§ Пользователь
Жёсткий диск
                                                                

 

 

 


Рисунок 2.1 - Контекстная диаграмма

 

Пользователь получает от программы результат – кратчайший путь в лабиринте, который получился после обработки введённых данных – координат дверей и комнат. Результат программы при необходимости может быть сохранён.

 

 

Словарь данных

Лабиринт – множество комнат, соединённых между собой дверьми.

Комната – символически изображенный квадрат, заданный в лабиринте.

Дверь –устройство, соединяющее комнаты. 

Данные редактирования – изменение лабиринта, т.е. ввод комнат и дверей, а также их удаление.

Результат – Кратчайший путь в лабиринте.

Диаграмма состояний

 

 

 

 

 


Рисунок 2.3 – Диаграмма состояний

 

Состояние 0 – загрузка программы – начальное состояние, в котором находится программа после загрузки. В этом состоянии пользователь может ознакомиться с управлением или выйти из программы.

Состояние 1 – создание лабиринта – состояние, в котором формируется лабиринт.

Состояние 2 – ввод комнаты – в этом состоянии пользователь может ввести комнату.

Состояние 3 – ввод двери – в этом состоянии пользователь может ввести дверь.

Состояние 4 – удаление комнаты – в этом состоянии пользователь (при необходимости) может удалить существующую комнату.

Состояние 5 – удаление двери – в этом состоянии пользователь (при необходимости) может удалить существующую дверь.

Состояние 6 – сохранение лабиринта – пользователю предоставляется возможность сохранить лабиринт.

Состояние 7 – загрузка лабиринта – пользователю предоставляется возможность загрузить, ранее сохраненный, лабиринт.

 

 

Построение модели пользовательского интерфейса

Для удобства ввода, редактирования и удаления элементов лабиринта, необходимо создать удобный, дружественный интерфейс.

При запуске программы на экране появляется сетка, в которой будет вводиться лабиринт. В каждой клеточке может находиться комната или дверь. По сетке передвигается курсор, который управляется с помощью клавиш < > - вверх, < > - вниз, < > - вправо, < > - влево он определяет положение комнаты или двери. На экране постоянно присутствует меню подсказки, которое помогает пользователю ориентироваться. В нём указывается клавиши, с помощью которых пользователь может задать лабиринт. Например, при помощи клавиши <к> происходит ввод комнаты, при этом комната отображается в виде точки зелёного цвета, при помощи клавиши <д> происходит ввод двери, которая не рисуется а просто соединяет комнаты и представляет собой две перекрещивающиеся линии, т.е. можно соединять сразу несколько дверей в комнатах и рисовать лабиринт в трёх или в четырёх направлениях. При помощи клавиши <я> можно редактировать лабиринт т. е. удалять вершины или рёбра.

После ввода лабиринта в левом верхнем углу экрана выдаётся приглашение: “Введите вход в лабиринт ” после чего ожидается выбор одной из комнат в лабиринте, с помощью клавиш управления курсром и клавиши <Enter>, при этом выдаётся пиглашение: “Введите выход из лабиринта”. После выбора выхода программа выдаёт сообщение: “Кратчайший путь найден ” - в том случае, если он найден или “пути нет ” - если пути не существует. Если кратчайший путь найден, то он будет показан на графе в виде подсветки красным цветом. Далее предлагается выйти из программы путём нажатия клавиши <Esc> или начать ввод нового лабиринта нажав при этом любую клавишу. При этом существует клавиша <c> и <з> соответственно для сохранения лабиринта или загрузки уже существующего.

Технический проект

Диаграмма потоков данных

Программа имеет 4 основных процесса, отражающие основные функции программы:

 

 

 


 

     

 

Рисунок 3.1 – Диаграмма 1-го уровня           

 

 


         

 

 


Рисунок 3.2 – Детализация процесса “Ввод лабиринта и его редактирование”

 

Словарь данных

 

Лабиринт – множество комнат, соединённых между собой дверьми.

Комната – символически изображенный квадрат, заданный в лабиринте.

Дверь –устройство, соединяющее комнаты. 

Команда – в процессе диалоговой работы пользователя с программой, нажатие пользователем функциональной клавиши, за которой закреплено определенное действие. Существует 5 видов: ввод комнаты, ввод двери, удаление (комнаты или двери), сохранение и выход.

Команда ввод комнаты – нажатие пользователем клавиши <к>.

Команда ввод двери - нажатие пользователем клавиши <д>.

Команда удаление - нажатие пользователем клавиши <я>.

Команда сохранение - нажатие пользователем клавиши <с>.

Команда выход - нажатие пользователем клавиши <esc>.

Координаты – численное значение, определяющее положение объекта в лабиринте.

Карта поля – двумерный массив, который содержит координаты всех комнат и дверей.

Карта прохождения - двумерный массив, который содержит координаты комнат и дверей, через которые проходит кратчайший путь.

Спецификация процессов

 

Процесс 1 Ввод лабиринта и его редактирование.

Данный процесс служит для формирования лабиринта и его редактирования

Вход: координаты комнат и дверей

Выход: лабиринт

Действия: Формирование лабиринта путем заполнения его структуры координатами комнат и дверей.

Процесс 1.1 Ввод комнаты

Прежде чем передать процессу 1 координаты комнат или дверей, необходимо преобразовать команды пользователя по расстановке комнат и дверей, в соответствующие координаты для каждой комнаты и двери. Процессы 1.1-1.3 считывают код клавиши, нажатой пользователем, и в соответствии с кодом клавиши и местоположением курсора формируют код и координаты.

Вход: ввод комнаты 

Выход: код и координаты комнаты

Процесс 1.2 Ввод двери

Вход: ввод двери

выход:код и координаты двери

Процесс 1.3 Удаление комнаты или двери

Процесс удаления записывает в структуру лабиринта код 0, по заданным координатам, что обозначает пустое место, т.е. комната или дверь была удалена из лабиринта.

Вход:удаление

Выход:код и координаты

Процесс 2 Поиск пути

Процесс поиск пути получает структуру лабиринта, и в соответствии с ней ищет возможные пути прохождения лабиринта, и путем сравнения выбирает самый короткий.

Вход: структура лабиринта

Выход: кратчайший путь в лабиринте.

Процесс 4 Отображение лабиринта

При вводе комнат или дверей необходимо чтобы пользователь видел отображение введенной информации на экране монитора. Данный процесс должен визуализировать лабиринт и найденный путь на экране.

Вход: координаты комнат и дверей

Выход: изображение лабиринта

Процесс  3 Сохранение введенных данных в файле

Для того чтобы координаты комнат или дверей не вводить заново при каждом запуске программы, необходимо сохранять их в файл.

Вход: структура лабиринта

Выход: файл с сохраненной структурой лабиринта

Процесс 3 Считывание данных из файла

Для того чтобы координаты комнат или дверей не вводить заново при каждом запуске программы, необходимо сохранять их в файл.

Вход: файл с сохраненной структурой лабиринта

Выход: структура лабиринта

 


Дата добавления: 2019-07-15; просмотров: 198; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!