Skip to content

Latest commit

 

History

History
55 lines (42 loc) · 4.35 KB

readme.md

File metadata and controls

55 lines (42 loc) · 4.35 KB

Постановка Задачи

  • Автоматизировать рабочее место библиотекаря
  • Разрешить проблему коммивояжера

Анализ задачи

АРМ библиотекаря

  • Для автоматизации рабочего места библиотекаря требуются навыки в обращении с базами данных, так как работа библиотекаря связана с ведением учета базы книг и читателей.
  • Необходимо уметь писать SQL-команды.
  • Необходимо изучить Qt.

В качестве фреймворка был выбран Qt, так как он:

  • позволяет разработать приложение в короткий срок,
  • предоставляет большой спектр возможностей ввиду немалого числа встроенных функций и классов,
  • интуитивно понятен,
  • бесплатен (open-source).

В качестве СуБД был выбран sqlite, так как он:

  • поддерживается в Qt,
  • интуитивно понятен,
  • бесплатен.

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

В приложении реализовано основное окно, из которого можно открывать другие окна приложения.

Задача коммивожера

  • Задача коммивояжера - задача оптимизации, заключающаяся в поиске самого выгодного маршрута, проходящего через указанные города хотя бы по одному разу с последующим возвратом в исходный город.
  • Для решения задачи выбрать метод ветвей и границ.

В качестве метода решения задачи был выбран метод ветвей и границ потому что:

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

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

UML-Диаграмма

АРМ библиотекаря

UML librarian Как видно из диаграммы выше, три класса: FormGetBorrow, Dialog, FormBD агрегируют к классу MainWindow, так как MainWindow содержит экземпляры данных классов. Помимо этого, вышеупомянутые классы связаны с перечислениями, которые предоставляют удобочитаемость кода в функциях, где использовался оператор switch.

Задача коммивояжера

UML salesman

Видеоролик

Видеоролик лежит по ссылке https://youtu.be/W9ntP2B8F48 Для записи видеоролика использовано приложение захвата экрана OBS (open-source). Для редактирования видеоролика использовано приложение Kdenvile (open-source). В качестве озвучки выбран синтезированный голос Евгения (бесплатный ресурс).

Ссылки на используемые источники

Qt Documentation | Home Руководство по SQLite (metanit.com) Задача коммивояжёра — Википедия (wikipedia.org)