Skip to content

Latest commit

 

History

History
50 lines (31 loc) · 2.92 KB

architecture_guide.md

File metadata and controls

50 lines (31 loc) · 2.92 KB

Обзор архитектурного решения

Содержание

Схема

Описание

Решение представляет собой клиент-серверное приложение с трехуровневой архитектурой.

Трёхуровневая архитектура позволяет разрабатывать и размещать каждый уровень отдельно от остальных. Это делает приложение более масштабируемым, поскольку каждый уровень развивается и функционирует относительно независимо от других.

Уровни

  • Уровень представления (Presentation Tier) содержит пользовательский интерфейс (UI). Соответствует фронтенд (Qt5 C++).
  • Уровень приложения (Application Tier) содержит бизнес-логику приложения. Соответствует бэкенду (C# + Python).
  • Уровень данных (Data Tier) включает в себя базу данных (PostgreSQL) и доступ к данным.

Уровни общаются между собой при помощи API-запросов.

Взаимодействия

Связь интерфейса и сервера

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

Связь сервера и скрипта обработки

  • Изображения передаётся обученной модели (Python-скрипт) для обнаружения частей машин и вычисления площадей.
  • Сервер получает обратно массив деталей с их вычисленными параметрами.

Связь сервера и базы данных

  • Сервер сохраняет в БД изображения пользователей.
  • Ранее загруженные изображения могут использоваться пользователями.

База данных