Дипломная работа: Автоматизация процесса взаимодействия с клиентами (CRM) на примере агенства недвижимости

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
71
Таблица 25
Активные роли пользователей
Наименование
поля
Идентификатор
поля
Тип поля
Длина поля
Прочее
Идентификатор
Id
Integer
11
Ключевое
поле
Идентификатор
пользователя
User_id
Integer
11
Идентификатор
роли
Role_id
Integer
11
Дата создания
Creation_time
datetime
На рисунке 26 представлена ER-модель базы данных, которая была
сформирована с помощью MySQL Workbench.
Рисунок 26. ER-модель
72
2.3.3. Структурная схема пакета (дерево вызова процедур и программ)
После сбора всей информации и ее обработки, на основе всего выше
приведенного материала необходимо построить структурную схему модулей
проекта, которые отражают структурную схему и модули различных классов в
проекте [9].
Информационная система, которая представляет собой базу данных для
ведения учета клиентов, которая состоит из таблиц, управление которыми
осуществляется с помощью кнопочной формы. Ниже приведена схема работы базы
данных (рисунок 27).
Рисунок 27. Схема работы базы данных
В данном пункте необходимо для каждого модуля указать идентификатор и
выполняемые функции [8]. Эти данные представлены в форме таблицы (таблица 26)
Таблица 26
Функции модулей базы данных
№
п/п
Наименование модуля
Функции модуля
1
Модуль авторизации
Отвечает за проверку токена при доступе к сервису.
Так же содержит функции при авторизации,
которые проверяют входные данные (логин,
пароль) на корректность, генерирует и выдает токен
для использования клиентской части приложения
Модуль
авторизации
Модуль
сделок
Модуль
задач
Модуль
объектов
73
Продолжение таблицы 26
№
п/п
Наименование модуля
Функции модуля
2
Модуль сделок
Содержит предопределенные методы добавления
сделок, клиента, изменения статуса сделке
3
Модуль задач
Содержит предопределенные методы добавления
задач, изменения статуса задаче
4
Модуль объектов
Содержит предопределенные методы добавления
объектов, просмотра и редактирования
2.3.4. Описание программных модулей
Программный продукт был разработан полностью самостоятельно по
техническому заданию руководителя агентства недвижимости. Доступ к
разработанному продукту можно получить из браузера. Следовательно, можно
сделать вывод, что данная программа удобна в использовании из-за того, что зайти
в нее можно c нескольких устройств. Клиентская часть была разделена от серверной
для более простой поддержки программы. В случае рефакторинга приложения
руководитель сможет снизит затраты, путем переписывания только одной части
продукта.
Итак, в качестве клиентской части был выбран прогрессивный JavaScript
фреймворк Vue.Js. Его плюсы состоят в том, что он реактивный. Это дает изменять
данные приложения без особых усилий. А в качестве языка для серверной части был
выбран язык PHP, в популярной с ним связке базой данных MySql. Серверная часть
выступает в роли api для клиентской части приложения и взаимодействует через http
запросы. Вся программа разрабатывалась в интегрированной среде разработки под
названием phpStorm. Разработка клиентской и серверной частей велась параллельно.
Изначально был разработан модуль авторизации. Это самый главный модуль,
обеспечивающий безопасность данных агентства недвижимости. Затем
разрабатывались модули объектов, сделок и задач. Теперь рассмотрим эти модули
подробней.
74
Модуль авторизации. При входе в систему происходит проверка логина и
пароля на совпадения с базой данных. Если логин и пароль существует, тогда модуль
авторизации по собственному алгоритму генерирует токен, в который вшивается
логин, пароль, текущий timestamp. Полученная информация хешируется и
возвращается на клиентский браузер, куда записывается токен и проверяется при
дальнейшей работе и новых попытках входа в приложение.
Модуль сделок. При загрузке модуля с браузера клиента отправляется запрос
на получение данных от сервера о текущих сделках и их состояний. На сервере
выполняется запрос к базе данных, и возвращается информация о сделках, которая,
в свою очередь, отображается в браузере. Смена состояния сделки происходит
перетаскиванием карточек по колонкам. При перетаскивании происходит
асинхронный запрос на сервер, который изменяет состояние карточки в базе данных.
Для добавления сделки необходимо заполнить форму с данными. При нажатии на
кнопку «Добавить» отправляется запрос на сервер с введенными данными. На
сервере вначале создается запись клиента по введенным данным в базе данных, а
затем, используя идентификатор только что созданного клиента, создается запись в
таблице сделок. Как результат запроса в браузер возвращается запись об успешном
или не успешном создании.
Модуль задач. При загрузке модуля с браузера отправляется запрос на
получение данных от сервера о текущих задачах и их состояний. На сервере
выполняется запрос к базе данных, и возвращается информация о задачах, которая,
в свою очередь, отображается в браузере. Смена состояния задачи происходит
перетаскиванием карточек по колонкам. При перетаскивании происходит
асинхронный запрос на сервер, который изменяет состояние карточки в базе данных.
При добавлении данных отправляется запрос на сервер с данными, который создает
новую запись в базе данных и возвращает на клиент соответствующую информацию
Модуль объектов. При загрузке модуля с браузера отправляется запрос на
получение данных от сервера о текущих объектах. На сервере выполняется запрос к
базе данных, и возвращается информация об объектах, которая, в свою очередь,
отображается в браузере. Отображаются объекты карточками. Так же в этом модуле
имеется поиск по объектам, который может выбирать объекты по адресу. При
нажатии на объект, открывается подробная информация о нем. При добавлении
75
нового объекта, необходимо ввести необходимые данные о нем и сохранить
изменения.
На блок схеме рассмотрим модуль авторизации и модуль объектов (рисунок
28).
Источник: https://baza.diplomsite.ru/previewfile/2068