Архитектура разрабатываемого решения
Основная цель применения концепции MVC состоит в отделении бизнес-логики (модели) от её визуализации (представления, вида). За счет такого разделения повышается возможность повторного использования. Концепция MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента: После выбора основных технологий, необходимо определиться с архитектурой… Читать ещё >
Архитектура разрабатываемого решения (реферат, курсовая, диплом, контрольная)
После выбора основных технологий, необходимо определиться с архитектурой разрабатываемого комплекса. Проанализировав требования, предъявляемые к программному продукту, было принято решение об использовании модульной системы и шаблона проектирования MVC [16].
Для поставленной задачи необходимо реализовать несколько модулей:
- · Модуль поиска по документам;
- · Модуль ввода и регистрации документов (в будущем можно реализовать модуль CRUD [17], т. е. добавить еще возможности обновления и удаления существующего документа);
- · Модуль интеграции клиентской части с сервером системы, предоставляющей функционал для пространственного анализа;
- · Модуль редактирования описания производств.
Основная цель применения концепции MVC состоит в отделении бизнес-логики (модели) от её визуализации (представления, вида). За счет такого разделения повышается возможность повторного использования. Концепция MVC позволяет разделить данные, представление и обработку действий пользователя на три отдельных компонента:
- · Модель (англ. Model). Модель предоставляет знания: данные и методы работы с этими данными, реагирует на запросы, изменяя своё состояние. Не содержит информации, как эти знания можно визуализировать.
- · Представление, вид (англ. View). Отвечает за отображение информации (визуализацию). Часто в качестве представления выступает форма (окно) с графическими элементами.
- · Контроллер (англ. Controller). Обеспечивает связь между пользователем и системой: контролирует ввод данных пользователем и использует модель и представление для реализации необходимой реакции.
Рисунок 2. Диаграмма взаимодействия MVC и пользователя
В контексте нашей задачи реализованы несколько контроллеров:
- 1. Контроллер, отвечающий за список результатов поиска
- 2. Контроллер, отвечающий за подробное описание документа
- 3. Контроллер, отвечающий за интеграцию между клиентом и сервером ElasticSearch
- 4. Контроллер, отвечающий за интеграцию между клиентом и сервером O-GIS
Основные методы контроллеров, соответственно:
- 1. Получение и вывод в список результатов поиска документов
- 2. Получение и вывод данных для подробного описания документа
- 3. Проверка формы на валидность, отправка данных на сервер ElasticSearch, получение и проверка ответа с сервера
- 4. Проверка формы на валидность, отправка данных на сервер O-GIS, получение и проверка ответа с сервера, вывод результатов пользователю
Основной моделью в контексте задачи является модель документа со всеми соответствующими полями, такими как название фирмы, адрес фирмы и т. д.
Представления подробно описаны в следующем параграфе.
Базовые операции растрового анализа довольно ресурсоемки, следовательно, проведение их на описываемом клиенте существенно снизит производительность приложения. Одна из таких операций ключевая — это операция нахождения пересечения растровых слоев. Нас интересует классификация участков слоев, которая, по нашему мнению, будет отображать наиболее подходящие и неподходящие под определенный вид деятельности регионы. Классификация участков получается не просто нахождением пересечения нескольких слоев, а также дальнейшим эколого-географическим анализом значений этих пересечений. Необходимо изучить какие именно нижний и верхний пределы в каждом растровом слое образуют необходимый диапазон для конкретного типа производства и задать несколько таких диапазонов для более полного анализа регионов. Выделение таких диапазонов — базовая задача растровой реклассификации.
Исходя из вышеописанных условий, можно составить следующие правила:
- 1. Необходимо наличие словаря соответствий «Тип производства — набор слоев»;
- 2. Также у каждого слоя должен быть указан диапазон в соответствие текущему типу производства;
- 3. Необходимо использование удаленного сервера — системы с возможностью выполнения базового растрового анализа;
- 4. В качестве предобработки должны быть выполнены операции растровой реклассификации исходя из имеющихся диапазонов для каждого слоя из составленного набора;
- 5. Операция нахождения пересечений проводится уже на слоях, прошедших предобработку;
- 6. Результирующие участки должны быть получены на клиент и представлены пользователю.
В качестве удаленного сервера — системы с возможностью выполнения операций растровой алгебры и растрового анализа была использована система O-GIS, так как она полностью подходит под вышеописанные условия. API системы O-GIS предоставляет возможности выбора слоев, отправки их на сервер и выполнение операций над этими слоями, основными из которых для нас являются нахождение пересечений и растровая реклассификация.
На рисунке 3 приведена схема, отображающая архитектуру разрабатываемого комплекса и используемые ключевые технологии.
Рисунок 3. Схема архитектуры программного комплекса.