engineerklub | Дата: Четверг, 24.10.2024, 07:28 | Сообщение # 1 |
Генералиссимус
Группа: Администраторы
Сообщений: 28524
Статус: Offline
| Технологии разработки программного обеспечения. Вариант 3
Тип работы: Работа Курсовая Сдано в учебном заведении: ДО СИБГУТИ
Описание: Формирование требований
Вариант 3. Поиск пути в лабиринте. Лабиринт описывается двумерным массивом с кодами в ячейках: 0 - проход, 1 - стена, 2 - проход, начальная точка, 3 - проход, конечная точка, 4 - проход, часть пути. Минимальный набор функций - редактирование описания лабиринта, поиск пути, показ лабиринта и пути в нем. Общее описание: Я, как пользователь программы для поиска пути в лабиринте, хочу иметь возможность визуально редактировать и анализировать различные конфигурации лабиринтов, получать быстрые решения по нахождению пути из начальной точки в конечную, а также иметь возможность контролировать процесс решения. Программа должна быть интуитивно понятной, гибкой в настройке и обеспечивать наглядное представление найденного пути. Функциональные требования: 1. Редактирование лабиринта: o Возможность задавать размер лабиринта (например, выбор количества строк и столбцов). o Возможность редактировать ячейки лабиринта вручную с использованием кодов: 0 – проход (свободная клетка), 1 – стена (непроходимая клетка), 2 – начальная точка (старт), 3 – конечная точка (финиш). o Обоснование: Возможность редактирования важна для создания и тестирования разных лабиринтов, что позволяет гибко подстраивать программу под различные задачи. 2. Автоматическое решение задачи поиска пути: o Кнопка для запуска алгоритма поиска пути, который должен найти кратчайший путь (если таковой существует) от стартовой точки (2) до конечной точки (3). o Поддержка различных алгоритмов поиска пути (например, поиск в ширину, алгоритм А*), возможность выбора метода пользователем. o Обоснование: Разные алгоритмы могут показывать различные результаты в зависимости от структуры лабиринта, что важно для аналитических задач и гибкости использования. 3. Визуализация решения: o Показ лабиринта на экране с выделением найденного пути (код 4 — путь) другим цветом или визуальной меткой. o Возможность пошагового просмотра процесса решения (например, подсвечивание обрабатываемых клеток в реальном времени). o Обоснование: Визуальная демонстрация процесса и результата повышает удобство использования программы и облегчает понимание работы алгоритма пользователем. 4. Валидация данных: o Проверка введённых данных на корректность: наличие начальной и конечной точек, отсутствие ошибок в вводе (например, лабиринт без стен или непроходимый лабиринт). o Обоснование: Это защитит пользователя от ввода некорректных данных и ошибок, что может привести к неправильным результатам или сбоям в работе программы. 5. Сброс состояния: o Кнопка для сброса лабиринта к исходному состоянию (без решений) или сброс до полностью пустого поля. o Обоснование: Это удобно при многократном использовании программы и необходимости быстро начать новую задачу без перезапуска. 6. Сохранение и загрузка лабиринтов: o Возможность сохранять текущий лабиринт (вместе с решением) в файл и загружать его для дальнейшей работы. o Обоснование: Пользователи могут захотеть сохранить результаты своих экспериментов или настроенные лабиринты для последующего использования. 7. Настройки отображения: o Возможность настройки цвета и размера клеток, а также изменение масштабирования поля (например, для более крупных или мелких лабиринтов). o Обоснование: Поддержка разных размеров лабиринтов требует гибкости в настройке интерфейса, чтобы пользователи могли удобно работать с разными конфигурациями. Нефункциональные требования: 1. Интерфейс пользователя: o Простой, интуитивно понятный интерфейс, который не требует специальной подготовки или обучения. o Обоснование: Программа ориентирована на широкий круг пользователей, включая тех, кто не имеет глубоких знаний в области программирования или теории графов. 2. Производительность: o Алгоритм поиска пути должен работать достаточно быстро для лабиринтов среднего размера (до 100x100 клеток), с возможностью оптимизации для более крупных лабиринтов. o Обоснование: Пользователь ожидает от программы быстрого решения задачи, особенно если она используется для больших и сложных лабиринтов. 3. Кросс-платформенность (при необходимости): o Возможность работы программы на разных операционных системах (Windows, MacOS, Linux) или как веб-приложение. o Обоснование: Увеличение доступности программы для пользователей с разными платформам
СКАЧАТЬ
|
|
| |