Разработка информационной системы для управления комиссионным магазином с расширенной подсистемой клиентских уведомлений через социальные сети
Анализ каналов интернет-маркетинга для взаимодействия бизнеса с клиентами. Реализация базы данных и запросов к ней, Проектирование интерфейса, функций и компонентов системы. Анализ существующих решений для рассылок в социальных сетях и мессенджерах.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 07.12.2019 |
Размер файла | 4,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
varchar(100)
c_info
ID страницы клиента в социальной сети ВКонтакте (используется для отправки сообщений через VK API)
varchar(1000)
Таблица children (хранит информацию о детях, заполняется менеджером через форму)
name
имя ребенка
varchar(100)
gender
пол ребенка. принимает значения 1 (мальчик) и 2 (девочка)
int(2)
age
возраст ребенка (в годах)
int(11)
tall
рост ребенка (в сантиметрах)
int(11)
last_update
дата последнего обновления информации о ребенке
date
parent
родитель ребенка. реализует связь «один ко многим» с таблицей clients
int(11)
Таблица message (хранит информацию об отправленных сообщениях, заполняется системно)
tempate
шаблон сообщения. реализует связь «один ко многим» с таблицей template
int(11)
product
товар, о котором отправлялось сообщение. реализует связь «один ко многим» с таблицей products
int(11)
date
дата отправки сообщения
date
text
текст сообщения
varchar(1000)
Таблица client_message (реализует связь «многие-ко-многим» между таблицами clients и message, заполняется системно)
client
клиент, которому отправлено сообщение. реализует связь «один ко многим» с таблицей clients
int(11)
message
сообщение, которое отправлено клиенту. реализует связь «один ко многим» с таблицей message
int(11)
Таблица products (хранит информацию о товарах, по которым проводилась рассылка, заполняется системно)
name
наименование товара
varchar(100)
addr
ID товара в социальной сети ВКонтакте (является уникальным полем)
varchar(255)
4.2 Реализация интерфейса системы
Реализованная информационная система имеет 6 интерфейсных окон: окно входа в систему, окно для работы с клиентами, окно для работы с детьми, окно для работы с шаблонами, окно для отправки рассылки и окно для формирования отчетов. Рассмотрим подробнее элементы каждого из них.
Интерфейс системы реализован с помощью языка разметки HTML и таблиц стилей CSS. Программные методы, реализованные с помощью JavaScript и PHP, представлены в следующем разделе.
Работа с системой начинается с главного окна, представленного на рисунке 4.2. На нем 5 кнопок, которые ведут на соответствующие страницы.
Рисунок 4.2 Окно начала работы с системой
При нажатии на кнопку «Информация о клиентах» открывается окно для работы с клиентами (рис. 4.3), где сразу выведен список клиентов, информация о которых хранится в базе данных.
Рисунок 4.3 Окно для работы с клиентами
Для добавления информации о новом клиенте, необходимо нажать на кнопку «Добавить нового клиента», после чего ниже открывается соответствующая форма. Форма состоит из полей для ввода, соответствующих структуре базы данных (см. рис. 4.1).
Та же самая форма открывается при нажатии на любой элемент списка (любого клиента). Однако в этом случае форма автоматически заполняется данными клиента (см. рис. 4.4), который был выбран, для того чтобы менеджеру была удобно изменять данную информацию. Внизу формы находятся кнопки «Сохранить» (для сохранения изменений в базе данных) и «Удалить» (для удаления выбранного клиента из базы данных).
В самом низу формы находится кнопка «На главную», которая позволяет вернуться в стартовое окно системы.
Рисунок 4.4 Окно для изменения данных о клиентах
При нажатии на кнопку «Информация о детях» открывается окно для работы с детьми, аналогичное представленному выше окну для работы с клиентами (см. рис. 4.3).
Для добавления информации о новом ребенке, необходимо нажать на кнопку «Добавить нового ребенка», после чего ниже открывается соответствующая форма.
Та же самая форма открывается при нажатии на любой элемент списка (любого ребенка). Однако в этом случае форма автоматически заполняется данными ребенка (см. рис. 4.5), который был выбран, для того чтобы менеджеру была удобно изменять данную информацию.
Для удобства менеджера поле для внесения информации о родителе ребенка реализовано в виде выпадающего списка, в который автоматически подставляются данные из таблицы Clients в соответствии со структурой базы данных (см. рис. 4.1).
Внизу формы находятся кнопки «Сохранить» (для сохранения изменений в базе данных) и «Удалить» (для удаления выбранного ребенка из базы данных).
В самом низу формы находится кнопка «На главную», которая позволяет вернуться в стартовое окно системы.
Рисунок 4.5 Окно для изменения данных о детях
При нажатии на кнопку «Шаблоны» открывается окно для работы с шаблонами (см. рис. 4.6), где сразу выведен список шаблонов, которые уже созданы в системе и которые при необходимо можно изменить или удалить.
Интерфейс для добавления и редактирования шаблонов реализован аналогично страницам для модификации информации о клиентах и их товарных предпочтениях (их детях).
Основным контрольным элементом для создания шаблонов сообщений рассылок является шаблонизатор. В рамках шаблонизатора задан специальный набор параметров для вставки, которые менеджер может использовать для формирования шаблона. Полный список параметров приведен в следующем разделе, однако некоторые из них можно увидеть на скриншоте интерфейса системы (см. рис. 4.6).
Параметр {Название товара} используется для того, чтобы в процессе рассылки динамически подставлять в сообщение название товара, по которому производится рассылка.
Параметр {Ссылка на товар} может быть включен менеджером в шаблон для того, чтобы в процессе рассылки в текст сообщения вставлялась ссылка на товар, о котором идет речь в сообщении. Данная функция потенциально увеличивает конверсию в продажи, так как в этом случае получателю рассылки достаточно перейти по ссылке в письме, чтобы узнать подробности о товаре, вместо того, чтобы заходить на бизнес-страницу магазина и искать заинтересовавший его товар там.
Рисунок 4.6 Окно для работы с шаблонами
При нажатии на кнопку «Рассылка» открывается окно со списком товаров, по которым сейчас можно провести рассылку (см. рис. 4.7).
Для удобства менеджера магазина, который работает с системой, помимо текстовой информации о товаре выводится также его фотография. Это делается с помощью методов VK API группы Market и подробно описано в следующем разделе.
Также выводится информация о том, проводилась ли по каждому из товаров рассылка. Если рассылка проводилась, выводится также информация о дате последнего отправленного сообщения о данном товаре.
Рисунок 4.7 Окно для проведения рассылки
Для инициализации процесса рассылки необходимо нажать на товар, по которому предполагается проводить рассылку. После этого система запрашивает подтверждение (рис. 4.8).
Рисунок 4.8 Подтверждение рассылки
В случае, если инициализация рассылки подтверждена, запускается парсинг характеристик выбранного товара с соответствующей страницы в сообществе магазина ВКонтакте (vk.com/kiddly). Пример представлен на рисунке ниже (см. рис. 4.9).
Рисунок 4.9. Страница товара в сообществе ВКонтакте (vk.com/kiddly)
Далее, если найдены совпадения характеристик с соответствующими полями в базе данных, производится отправка сообщений адресатам. Пример такого сообщения приведен ниже (рис. 4.10).
Рисунок 4.10. Сообщение рассылки
При нажатии на кнопку «Отчеты» открывается окно для формирования отчетов. Данный интерфейс предоставляет менеджеру магазина опции для выбора данных для формирования отчета, а также периода, за который необходимо сформировать отчет.
После выбора исходных данных и периода менеджеру магазина необходимо нажать на кнопку Сформировать, после чего система отобразит запрошенный отчет (рис. 4.11).
Рисунок 4.11 Окно для формирования отчетов
Например, если выбран отчет по сообщениям рассылки (см. рис. 4.11), то выведется информация обо всех отправленных рассылках за выбранный период. Если одно и то же сообщение (с одним и тем же шаблоном и по одному и тому же товару), было отправлено нескольким клиентам, то получатели данной рассылки будут объединены в одну ячейку для удобства анализа данных менеджерами магазина.
4.3 Описание основных функций и компонентов системы
Для реализации информационной системы использованы языки программирования PHP и JavaScript, язык разметки HTML, таблицы стилей CSS, а также система управления базами данных MySQL. Система реализована как веб-приложение, которое открывается через локальный веб-сервер MAMP. В дальнейшем локальный сервер будет заменен на сторонний хостинг.
Разработанная система делится на два функциональных компонента:
· основные функции информационной системы;
· подсистема клиентских уведомлений через ВКонтакте.
Реализация данных компонентов системы подробно рассмотрена в данном разделе.
4.3.1 Реализация основных функций информационной системы магазина
Как было упомянуто в предыдущем разделе, база данных содержит 6 таблиц, при этом только 3 из них изменяются менеджером комиссионного магазина. Это таблицы clients (клиенты), children (дети) и template (шаблоны сообщений). Для данных таблиц реализованы функции CRUD - создания, чтения, изменения и удаления данных.
Чтение из базы данных производится через PHP функцию (рис. 4.12), которая вызывается через Ajax при открытии html-страницы, например children.html для того, чтобы страница не перезагружалась полностью, так как это удобнее для конечного пользователя. Чтение производится в элементы (<li>) списка (<ul>) (рис. 4.13).
Рисунок 4.12. Запрос на чтение данных из БД с помощью PHP
Рисунок 4.13. Вывод данных из БД на HTML-страницу
Добавление данных в таблицы производится по кнопке, которая открывает форму (<form>) с полями, соответствующими полям таблицы в базе данных. После заполнения формы и нажатия на кнопку OK, на данной кнопке срабатывает JS-событие (рис. 4.14), которое вызывает PHP-функцию: данные формы сериализуются и отправляются на сервер, где с помощью SQL запроса (рис. 4.15) записываются в базу данных.
Рисунок 4.14. Вызов PHP-функции по нажатию на кнопку ОК
Рисунок 4.15. Запрос на добавление данных в БД с помощью PHP
Редактирование данных в таблицах производится по клику на элемент таблицы, который отображается на экране (см. рис. 4.16). По клику открывается форма, которая заполняется данными выбранного элемента. Эти данные можно либо отредактировать и нажать на кнопку ОК, что вызовет обработчик JS-события (см. рис. 4.14), что в свою очередь вызовет PHP-функцию (рис. 4.17), после чего данные формы сериализуются и отправятся на сервер, где с помощью SQL-запроса запишутся в базу данных (изменят выбранную запись), либо удалить, нажав на кнопку Delete. При удалении на кнопке Delete сработает обработчик JS-события, аналогичный обработчику клика по кнопке ОК (см. рис. 4.14), который вызовет PHP-функцию для удаления выбранной записи из таблицы (рис. 4.18).
Рисунок 4.16. Обработчик JS-события клика на элемент списка
Рисунок 4.17. Запрос на изменение данных в БД с помощью PHP
Рисунок 4.18. Запрос на удаление данных из БД с помощью PHP
Структура HTML-страницы, на которой отображается список с данными из таблицы, а также в случае необходимости форма для добавления или изменения данных представлена на рисунке 4.19. Для примера взята страница для работы с таблицей children, в которой хранится информация о детях.
Рисунок 4.19. Структура страницы children.html
Работа с шаблонами реализована аналогично работе с клиентами и детьми, за исключением шаблонизатором. Шаблонизатор представляет собой набор прописанных параметров, которые может использовать менеджер магазина для того, чтобы при рассылке в шаблон могли динамически подставляться различные данные. В данной версии системы реализован следующий набор шаблонов:
· {Название товара} - динамическая вставка названия товара, которое парсится со страницы ВКонтакте (подробнее это описано в следующем разделе).
· {Ссылка на товар} - динамическая вставка ссылки на товар.
· {Цена товара} - динамическая вставка цены товара, которая парсится со страницы ВКонтакте (подробнее это описано в следующем разделе).
В следующих версиях данный список планируется расширить.
4.3.2 Реализация расширенной подсистемы клиентских уведомлений через социальную сеть ВКонтакте с использованием VK API
Как было отмечено в предыдущей главе, для реализации подсистемы клиентских уведомлений используется открытый программный интерфейс социальной сети ВКонтакте (VK API). Данный интерфейс позволяет считывать информацию о выбранном товаре и в дальнейшем отправлять сообщения о данном товаре тем пользователям, которым он может быть потенциально интересен. Подробнее данный бизнес-процесс комиссионного магазина описан в предыдущей главе (см. рис. 3.1.). Программная реализация данного бизнес-процесса описана ниже.
Для работы с методами VK API market и messages необходим токен. Для работы с методами группами market используется личный токен, для работы с методами группы messages - токен сообщества (vk.com/kiddly), от имени которого отправляются сообщения рассылки.
Получение личного токена происходит с помощью обращения к специальному адресу ВКонтакте через PHP с передачей специальных параметров (рис. 4.20). Получение токена сообщества доступно в веб-интерфейсе социальной сети и не требует программного вызова. Токены получаются единовременно и в дальнейшем просто используются в функциях, при работе за одним и тем же устройством переопределять их нет необходимости (переопределение запрашивается только при смене IP адреса).
Рисунок 4.20 Получение личного токена для работы с VK API
Для проведения рассылок создана отдельная HTML-страница, при заходе на которую отображается список всех товаров, которые доступны в сообществе комиссионного магазина (vk.com/kiddly) в данный момент. Список товаров получается по API с помощью метода market.get (см. рис. 4.21), который возвращает json-файл с данными о товарах. Товары отображаются как элементы списка (<ul> <li>) (см. рис. 4.22), и на каждый элемент списка назначен обработчик события: клик по элементу (см. рис. 4.23). Это сделано для того, чтобы менеджер мог удобно выбирать товар, по которому необходимо провести рассылку, не покидая сайт информационной системы комиссионного магазина. Также для удобства менеджера дополнительно отображается не только текстовое описание, но и его фотография. Фотография добавляется как псевдоэлемент элемента списка (li::before). Дополнительно делается запрос к таблице Products базы данных для получения информация о том, проводилась ли рассылка по каждому из товаров. Если рассылка проводилась, то элемента сформированного списка дополняются информацией о дате отправки последнего сообщения о соответствующем товаре. Дополнение списка реализуется с помощью модификации DOM-элемента через функцию innerHTML(). При клике по элементу запрашивается дополнительное подтверждение на отправку рассылки для исключения случайных действий менеджера.
Рисунок 4.21. Получение списка товаров сообщества с помощью VK API
Рисунок 4.22 Отображение товаров в качестве элементов списка
Рисунок 4.23 Обработчик клика по товару с последующим подтверждением
После того как менеджер выбрал товар, по которому будет произведена рассылка, данные об этом товаре парсятся из сообщества магазина ВКонтакте (vk.com/kiddly) по ID товара (рис. 4.24). Затем из описания данного товара (поля description) получаются необходимые данные, в частности пол и возраст/рост, которые записываются в системные переменные $gender, $age и $height (см. рис. 4.25).
Рисунок 4.24. Парсинг данных о товаре из сообщества ВКонтакте по API
Рисунок 4.25. Считывание данных из поля description
Далее система производит поиск записей в таблице Сhildren, поля которых совпадают с данными, записанными в системные переменные. Если совпадения найдены, то система считывает данные о родителе ребенка из соответствующей записи в таблице Clients и сохраняет адрес его страницы ВКонтакте для дальнейшей отправки сообщения (рис. 4.26).
Рисунок 4.26 Поиск совпадений в базе данных
Перед отправкой сообщения пользователю, данные о рассылке логируются в базу данных. Добавляется запись в таблицу Products (Товары) и Message (Сообщения), Например, добавление в таблицу Message выглядит так (рис. 4.27).
Рисунок 4.27 Добавление данных о рассылке в таблицу Message
Также делается запись в таблице Client_message (это таблица, реализующая связь «многие-ко-многим» между таблицами Clients и Message). Затем производится непосредственно отправка сообщения адресату. Так как пользователей, которые могут быть заинтересованы в товаре, по которому проводится рассылка, может быть несколько, внесение данных в базу и отправка сообщения реализованы с использованием цикла (рис. 4.28).
Рисунок 4.28. Отправка рассылки адресатам
После успешной отправки на экране отображается соответствующее сообщение и система переходит в режим ожидания.
Заключение
В данной работе была проанализирована деятельность комиссионного магазина Kiddly и проведено исследование средств маркетинга в социальных сетях и мессенджерах, на основании чего была спроектирована и разработана информационная система с расширенной подсистемой клиентских уведомлений, отвечающая всем специальным требованиям комиссионного магазина.
В ходе анализа предметной области было проведено исследование средств интернет-маркетинга, а также изучены достоинства и недостатки систем, которые уже существуют на рынке для проведения рассылок в социальных сетях и мессенджерах, на основе анализа которых были сформулированы требования к разрабатываемой системе. Были изучены особенности деятельности комиссионного магазина и построена диаграмма его основного бизнес-процесса в состоянии “AS-IS”.
Для обоснования целесообразности разработки системы было проведено технико-экономическое обоснование, по результатам которого разработка система должна окупиться уже на второй месяц после внедрения ее в магазин.
После проведения обоснования была спроектирована база данных информационной системы, а также ее функции и интерфейс. Были построены диаграммы активностей для основных функций системы, а также приведены прототипы основных экранов интерфейса.
Дополнительно было проведено исследование методов API ВКонтакте. В реализации системы используются несколько групп методов API, основными из которых являются Market и Messages.
Система реализована в виде веб-приложения с использованием HTML, CSS, JavaScript, PHP и MySQL. Система обеспечивает возможность работы с базой данных магазина, а также возможность проведения рассылки через API ВКонтакте.
На данный момент система разработана и готова к эксплуатации. Необходимо отметить, что данная система имеет практическое значение для комиссионного магазина Kiddly и будет внедрена в него для работы на реальной клиентской базе. Результаты внедрения могут быть описаны для расширения существующего научного знания о рассылках в социальных сетях. Также система может быть доработана для других комиссионных магазинов или бизнесов, работающих по агентской модели, и предоставлена им в рамках подписной бизнес-модели.
Библиографический список
1. Alan E. Webber, "B2B Customer Experience Priorities In An Economic Downturn: Key Customer Usability Initiatives In A Soft Economy," Forrester Research, February 19, 2008.
Размещено на Allbest.ru
...Подобные документы
Разработка автоматизированной информационной системы управления взаимоотношениями с клиентами Токаревского мясокомбината, анализ и выбор используемых средств. Проектирование структуры базы данных и пользовательского интерфейса, генерации отчетов.
дипломная работа [2,3 M], добавлен 05.07.2009Проектирование информационной системы. Анализ языков программирования и существующих решений для администрирования системы управления базами данных. Разработка модуля взаимодействия и структуры программы. Модули авторизации и соединения с базой данных.
дипломная работа [4,1 M], добавлен 19.07.2014Схема взаимодействия подразделений предприятия. Выбор и обоснование технологии проектирования базы данных. Описание объектов базы данных. Разработка запросов на выборку, изменение, обновление и удаление данных. Интерфейсы взаимодействия с базой данных.
курсовая работа [1,4 M], добавлен 25.05.2023Проектирование модели данных и ее реализация средствами СУБД Microsoft Access. Разработка приложения "Комиссионное вознаграждение". Выполение интерфейса информационной базы средствами системы управления данными. Создание запросов и отчетных форм.
курсовая работа [5,8 M], добавлен 25.09.2013Характеристика предприятия и его деятельности. Описание основных сущностей и их функций. Обоснование выбора системы управления БД и анализ имеющихся программных средств. Проектирование базы данных. Разработка интерфейса и алгоритмов реализации системы.
дипломная работа [1,4 M], добавлен 18.10.2015Понятие электронного бизнеса и его основные направления. Исследование моделей взаимодействия субъектов рынка в компьютерных сетях. Торговые и платежные системы в Интернет. Проектирование реляционной пользовательской базы данных средствами СУБД MS Aссess.
курсовая работа [1,2 M], добавлен 29.05.2014Построение информационно-логической модели базы данных. Корректировка данных средствами запросов. Проектирование алгоритмов обработки данных. Реализация пользовательского интерфейса средствами форм. Разработка запросов для корректировки и выборки данных.
курсовая работа [680,9 K], добавлен 19.10.2010Описание структуры обучающего блока. Проектирование его алгоритма и лингвистического и информационного обеспечения. Организация его взаимодействия с базой данных. Разработка графического интерфейса. Программная реализация основных функций приложения.
дипломная работа [2,1 M], добавлен 20.12.2015Аналитический обзор целевой аудитории сайта. Анализ требований к сайту. Проектирование функций и архитектуры системы при помощи CMS WordPress. Разработка интерфейса и структуры данных. Реализация интерфейса (экранные формы и руководство по эксплуатации).
дипломная работа [2,0 M], добавлен 19.01.2017Задачи, функции и структура филиала университета. Оценка информационных потоков и UML-моделирование. Анализ структуры информационной системы и системы навигации. Проектирование базы данных, физическая реализация и тестирование информационной системы.
дипломная работа [6,0 M], добавлен 21.01.2012Разработка функциональной модели процесса управления магазином. Составление спецификаций прецедентов в виде таблиц. Создание диаграмм классов, последовательности, состояний и деятельности. Представление базы данных, описание экранных форм и запросов.
курсовая работа [5,3 M], добавлен 15.07.2012Описание особенностей функционирования магазина. Проектирование системы: инфологическое моделирование и построение диаграммы потоков данных. Моделирование и программная реализация информационной системы. Проектирование пользовательского интерфейса.
курсовая работа [1,6 M], добавлен 18.02.2013Анализ предметной области, главных функций организации. Разработка макета внутренней структуры программного обеспечения информационной системы в виде диаграммы классов. Составление схемы базы данных. Разработка интерфейса и руководства пользователя.
курсовая работа [866,3 K], добавлен 02.06.2015Разработка информационной системы ресторана, определение ее границ для реализации базы данных. Перечень запросов, отчетов и операций по вводу информации в информационной системе "Ресторан". Проектирование базы данных, выбор средств ее реализации.
курсовая работа [7,6 M], добавлен 27.04.2011Разработка базы данных, предназначенной для отслеживания движения товара внутри сети магазинов. Анализ выходных, внутренних документов. Первоначальный набор сущностей для базы данных. Анализ запросов и установка дополнительных логических связей.
курсовая работа [216,3 K], добавлен 21.02.2016Детализация функций системы и требования к информационной системе. Анализ категорий пользователей. Этапы внедрения автоматизированной информационной системы на предприятии. Описание таблиц базы данных. Защита данных от несанкционированного доступа.
дипломная работа [1,0 M], добавлен 22.07.2015Анализ предметной области. Разработка информационной системы для улучшения качества обслуживания клиентов и автоматизации работы кассы столовой. Проектирование логической модели. Определение регламентированных запросов и описание клиентских приложений.
курсовая работа [1,6 M], добавлен 17.02.2013Проектирование логической модели системы: контекстная диаграмма и детализация процессов, реализация ссылочной целостности. Описание работоспособного программного обеспечения для проекта. SQL-определения запросов. Описание базы данных контрольного примера.
курсовая работа [91,4 K], добавлен 01.09.2010Виды социальных медиа. Критерии эффективности продвижения аккаунта в социальных сетях. Программная реализация алгоритма моделирования распространения информации в социальной сети "Twitter". Разработка клиентского приложения. Апробация интерфейса системы.
дипломная работа [5,4 M], добавлен 08.02.2016Выбор методологии проектирования и разработка информационной системы "Расчёт зарплаты" для предприятия ОАО РТП "Авторемонтник". Архитектурное проектирование базы данных информационной системы и разработка её интерфейса. Тестирование программного модуля.
дипломная работа [2,3 M], добавлен 25.05.2014