Спецификация - TxAnton/SummerPractise GitHub Wiki
SummerPractise
Проект "Визуализация алгоритма A* поиск кратчайшего пути в графе"
Спецификация
-
Входные данные: На вход алгоритму подается ориентированный взвешанный граф. Каждая вершина в графе имеет буквенное обозначение ("a", "b", "c"...), каждое ребро имеет неотрицательный вес. В качестве эвристической функции следует взять близость символов, обозначающих вершины графа, в таблице ASCII.
-
Выходные данные: На каждом шаге выполнения алгоритма отображается текущее графическое представление заданного графа и вычисление эвристической функции.
-
Пользовательский интерфейс: Пользовательский интерфейс представляет собой диалоговое окно, содержащее набор кнопок, предназначенных для управления состоянием программы, а именно:
- Добавить вершину: после нажатия на данную кнопку, в рабочей области появляется вершина графа. Образовавшейся вершине пользователь должен дать имя.
- Соеденить вершины: после нажатия на данную кнопку и выбора пары вершин, которые должны быть соединены, в рабочей области появляется ребро графа. Для построенного ребра пользователь должен задать вес.
- Перемещение: позволяет менять положение вершины внутри рабочей области.
- Удалить: нажатие данной кнопки позволяет удалить выбранный элемент графа.
- Загрузить: позволяет пользователю загрузить исходные данные для работы алгоритма.
- Сохранить: позволяет сохранить текущее состояние графа.
- Вперед: нажатие данной кнопки позволяет посмотреть следующий шаг работы алгоритма.
- Назад: нажатие данной кнопки позволяет посмотреть предыдущий шаг работы алгоритма.
План разработки:
- Прототип: демонстрация окна пользовательского интерфейса программы без функционала. Срок выполнения: к 6 июля
- Итерация 1: написан код для работы алгоритма. Реализована кнопка, отвечающая за отрисовку графа. Срок выполнения: к 8 июля
- Итерация 2: исправлены возможные недочеты в коде алгоритма. Реализованы кнопки пользовательского интерфейса, отвечающие за модификацию текущего состояние графа. Срок выполнения: к 10 июля
- Итерация 3: написан код, для демонстрации пошаговой работы алгоритма. Срок выполнения: к 11 июля
- Финальная версия программы: исправлены возможные недочеты проекта, написан отчет. Срок выполнения: к 12 июля
Позиции разработчиков:
- Архитектура программы: Сырцова Екатерина
- Реализация: Ишанина Людмила
- Визуализация: Ларин Антон