ПРОГРАММНОЕ СРЕДСТВО РЕАЛИЗАЦИИ АЛГОРИТМА «ФЛОЙ-ДА–УОРШЕЛА». Итог курсового проекта. Программное средство реализации алгоритма флойдауоршела
Скачать 1.65 Mb.
|
ВведениеВ рамках курсового проекта необходимо реализовать программное средство визуализации «Алгоритм Флойда – Уоршелла», который посредством заданного ему графа будет находить кратчайший путь от заданной до конечной точки. В повседневном мире, человек ищет способы всегда и везде успевать, для этого ему не обходимо преодолевать десятки километров ежедневно, будь он на автомобиле, велосипеде или вообще пешком. Для быстрого передвижения, люди выбирают разного рода маршруты, которые в общем смысле не являются всегда эффективными. Эта неэффективность может отражаться, во временном, в нагрузочном, а иногда даже и в денежном эквивалентах. Еще за долгое время до наших дней перед людьми стал вопрос, о уменьшении затрат на перемещении, путем нахождения минимального пути. Ответ был найден в статьях Роберта Флойда и Стивена Уоршелла в 1962 г. И получил свое название, как алгоритм Флойда – Уоршелла. Алгоритм Флойда — Уоршелла — алгоритм для нахождения кратчайших расстояний между всеми вершинами взвешенного графа без циклов с отрицательными весами с использованием метода динамического программирования. На сегодняшний день данный алгоритм имеет широкое количество применения по всему миру, начиная от поиска транзитивного замыкания графа, заканчивая генетикой и управлением проектами. Но первое что приходит в голову конечно же транспортные и всякие другие сети. Целью курсового проекта является разработка программного средства реализации алгоритма «Флойда–Уоршелла» наглядный пример применения алгоритма. Разрабатываемое программное средство является алгоритмом с графической визуализацией, которое показывает пользователю, как находится кратчайший путь в графе. Разработка данного программного средства является актуальной, так как в сегодняшние дни не многие люди имеют представление о работе алгоритма Флойда-Уоршелла, где этот алгоритм применяется и насколько высока эффективность данного алгоритма. Задачами курсового проекта являются: приобретение новых знаний в процессе разработки. исследование предметной области решаемой задачи; анализ существующих аналогов; выбор и обоснование средств разработки программного средства; разработка приложения с использованием выбранных средств разработки; разработка интерфейса и руководства пользователя; оформление пояснительной записки к курсовому проекту. Для решения одной из поставленных задач курсового проектирования, необходимо оформить пояснительную записку. Пояснительная записка состоит из следующих разделов: постановка задачи; проектирование задачи; программная реализация; тестирование и отладка; применение; заключение; приложения; оформление пояснительной записки по курсовому проектированию. В разделе «Постановка задачи» будут описаны исследование предметной области, определение круга задач, которые должны быть реализованы в программе. Перечислим основные функции программы и описывается, собственно, постановка задачи. Изучим и проанализируем аналоги производимого программного обеспечения. В разделе также представлен макет интерфейса. В разделе «Проектирование задачи» будут присутствовать описание разработки диаграммы классов и вариантов использования, также будет описана разработка алгоритма задачи, включающая в себя проектирование алгоритма, выбор формы записи алгоритма (блок-схемы и др.), выбор тестов и метода тестирования, проектирование самого алгоритма. В разделе «Программная реализация» будут находится сведения о физической структуре приложения, а также подробно описываться каждый из разработанных модулей программы. Также будут прописаны разработанные классы и реализованные методы. В разделе «Тестирование и отладка приложения» будут приведены тест-кейсы, позволяющие оценить степень качества и соответствия программы требованиям спецификации и ожиданиям пользователя. В разделе «Применение» будут приведены руководство пользователя, с помощью которого происходит обучение для работы с данным программным средством. В разделе «Заключение» будет подведен итог выполненной работы и предложены пути практического использования созданного приложения, а также варианты его улучшения. Раздел «Приложения» будет содержать тексты программных модулей. |