- Автоматизировать рабочее место библиотекаря
- Разрешить проблему коммивояжера
- Для автоматизации рабочего места библиотекаря требуются навыки в обращении с базами данных, так как работа библиотекаря связана с ведением учета базы книг и читателей.
- Необходимо уметь писать SQL-команды.
- Необходимо изучить Qt.
В качестве фреймворка был выбран Qt, так как он:
- позволяет разработать приложение в короткий срок,
- предоставляет большой спектр возможностей ввиду немалого числа встроенных функций и классов,
- интуитивно понятен,
- бесплатен (open-source).
В качестве СуБД был выбран sqlite, так как он:
- поддерживается в Qt,
- интуитивно понятен,
- бесплатен.
Приложение выступает в качестве посредника между библиотекарем и базой данных.
В приложении реализовано основное окно, из которого можно открывать другие окна приложения.
- Задача коммивояжера - задача оптимизации, заключающаяся в поиске самого выгодного маршрута, проходящего через указанные города хотя бы по одному разу с последующим возвратом в исходный город.
- Для решения задачи выбрать метод ветвей и границ.
В качестве метода решения задачи был выбран метод ветвей и границ потому что:
- решаемая задача носит учебный характер,
- использование более оптимизированного алгоритма потребовало бы больше времени решения поставленной задачи.
В приложении используются массивы для хранения данных пути, матрицы смежности, а также для количества посещенных вершин.
Как видно из диаграммы выше, три класса: FormGetBorrow, Dialog, FormBD агрегируют к классу MainWindow, так как MainWindow содержит экземпляры данных классов.
Помимо этого, вышеупомянутые классы связаны с перечислениями, которые предоставляют удобочитаемость кода в функциях, где использовался оператор switch.
Видеоролик лежит по ссылке https://youtu.be/W9ntP2B8F48 Для записи видеоролика использовано приложение захвата экрана OBS (open-source). Для редактирования видеоролика использовано приложение Kdenvile (open-source). В качестве озвучки выбран синтезированный голос Евгения (бесплатный ресурс).
Qt Documentation | Home Руководство по SQLite (metanit.com) Задача коммивояжёра — Википедия (wikipedia.org)