Материал: Глобалізація світових товарних ринків

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

MySQL отличатся хорошей скоростью работы, надежностью, гибкостью. Работа с ней, как правило, не вызывает больших трудностей. Поддержка сервера MySQL автоматически включается в поставку PHP. Обычно MySQL используется в качестве сервера, к которому обращаются локальные или удалённые клиенты, однако в дистрибутив входит библиотека внутреннего сервера, позволяющая включать MySQL в автономные программы. Немаловажным фактором является ее условная бесплатность. MySQL распространяется на условиях общей лицензии GNU (GPL, GNU Public License). Кроме того, MySQL имеет API для языков Delphi, C, C++, Java, Perl, PHP, Python, Ruby, библиотеки для языков платформы.net, а также обеспечивает поддержку для ODBC посредством ODBC-драйвера MyODBC.

Компьютер-сервер, установленный в организации - HP ProLiant ML110, полностью соответствует требованиям необходимым для установки и продуктивной работы сервера MySQL 5.6 в стабильном режиме.

3.3.2 Структура информационной базы системы

Структурная схема базы данных включает в себя описания содержания, структуры и ограничений целостности, отражает общий вид таблиц, их количество, и связи между ними. Структура базы данных "Информационной системы бонусных программ лояльности" приведена на рисунке 1.

Источниками поступления информации в ИС служат клиенты и сотрудники организации. Сотрудники вводят (или загружают) информацию о бонусных картах, клиентах, информацию об оплате товаров (услуг), рекламных предложениях, отправляют рекламные смс-сообщения или оповещения. Клиенты вводят (или редактируют) свои контактные данные.

Рисунок 1 - Структурная схема БД

Структура таблицы "clients" (Клиенты)

В данной таблице хранится информациях о клиентах бонусной системы: фамилия, имя, пол, дата рождения, телефон, email, пароль, номер карты клиента.

Таблица 1 - "clients"

Наименование полейТип данныхНулевой статусКлючОграниченияСсылкиПримерclient_idintegerNot NullПервичный1card_idintegerNot NullВнешнийcards. card_id124emailvarcharNullc86@mail.compasswdvarcharNullreqwery123first_namevarcharNullРусскихlast_namevarcharNullАлексейgendervarcharNullМужскойbirth_datedatetimeNull01.01.2001mobile_phonevarcharNull+79120000000

Структура таблицы "cards" (Карты)

В данной таблице хранится информациях о бонусных картах: номер карты, бонусный баланс, статус карты, тип карты, дата выпуска карты, срок годности и дополнительные комментарии.

Таблица 2 - "cards"

Наименование полейТип данныхНулевой статусКлючОграниченияСсылкиПримерcard_idintegerNot NullПервичный1balanceintegerNull345stat_idintegerNull1statvarcharNullАктивнаtype_idintegerNull1typevarcharNullПерсональнаяoutput_datedatetimeNull01.01.2001valid_thrudatetimeNull01.01.2016commentvarcharNullКарта самого крутого клиента организации

Структура таблицы "transactions" (Транзакции по карте)

В данной таблице хранится информациях о транзакциях по бонусной карте: номер карты, количество списанных или начисленных бонусов, описание транзакции, дата транзакции, срок действия транзакции, дополнительный комментарий.

Таблица 3 - "transactions"

Наименование полейТип данныхНулевой статусКлючОграниченияСсылкиПримерtrans_idintegerNot NullПервичный33card_idintegerNot NullВнешнийcards. card_id1pointsintegerNull-395descriptionvarcharNullОплата бонусамиtrans_datedatetimeNull12.03.2016valid_thrudatetimeNullNullcommentvarcharNullСкидка на оформление годовой подписки

Структура таблицы "offers" (Рекламные предложения)

В данной таблице хранится информациях о рекламных предложениях: полное название (заголовок) предложения, полное описание предложения, дата старта предложения, срок действия и адрес веб-страницы.

Таблица 4 - "offers"

Наименование полейТип данныхНулевой статусКлючОграниченияСсылкиПримерoffer_idintegerNot NullПервичный33titlevarcharNullСкидка 33%descriptionvarcharNullCкидка 33% при сделке на сумму более 5000 рублейdatedatetimeNull12.01.2016valid_thrudateNull12.03.2016html_pathvarcharNull#"justify">Структура таблицы "client_offers" (Персональные рекламные предложения)

В данной таблице хранится информациях о рекламных предложениях для конкретного клиента: ссылка на клиента, которому предназначается рекламное предложение, ссылка на предложение, статус предложения (новое или уже прочтено).

Таблица 5 - "client_offers"

Наименование полейТип данныхНулевой статусКлючОграниченияСсылкиПримерidintegerNot NullПервичный33client_idintegerNot NullВнешнийclients. client_id1offer_idintegerNot NullВнешнийoffers. offer_id4stat_idintegerNull0

Структура таблицы "sms" (SMS-сообщения)

В данной таблице хранится информациях об отправленных смс-сообщениях: ссылка на клиента, которому было отправлено сообщение, наименование отправителя, дата отправки и текст сообщения.

Таблица 6 - "sms"

Наименование полейТип данныхНулевой статусКлючОграниченияСсылкиПримерsms_idintegerNot NullПервичный3client_idintegerNot NullВнешнийclients. client_id45sendervarcharNull201C43.rubodyvarcharNullЗаканчива - ется лицензияdatedateNull12.08.2015

3.3.3 Поддержание ссылочной целостности данных

Обеспечение качества информации достигается за счет поддержания ссылочной целостности. Основой для обеспечения ссылочной целостности данных является создание первичных и внешних ключей. Кроме того, первичные и внешние ключи помогают обеспечить связь, которая основана на синтаксисе Transact-SQL запросов.

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

Триггер для формирования первичного ключа при добавлении нового клиента:

DELIMITERTRIGGER `ins_new` BEFORE INSERT ON `clients`EACH ROW BEGINNEW. client_id = 1 + (SELECT MAX (client_id) FROM clients);NEW. group_id = NULL;

Триггер для удаления всех транзакций из таблицы "transactions" и отвязки удаляемой карты от профиля клиента при удалении бонусной карты из таблицы "cards":

DELIMITERTRIGGER `delete_trans` BEFORE DELETE ON `cards`EACH ROW BEGINFROM transactions WHERE card_id = OLD. card_id;clients SET card_id = 0 WHERE card_id = OLD. card_id;

Триггер для поддержания ссылочной целостности при удалении записи из таблицы "clients":

DELIMITERTRIGGER `delete_dependenses` BEFORE DELETE ON `clients`EACH ROW BEGINFROM sms WHERE client_id = OLD. client_id;FROM client_offers WHERE client_id = OLD. client_id;

4. Технология разработки программного обеспечения

4.1 Общие сведения

Программное обеспечение "Информационной системы бонусных программ лояльности" состоит и двух модулей независимых модулей.

"Приложение для управления бонусной программой" имеет один исполнительный файл с названием "Управление Бонусной Программой. exe" размером 16.8 Мб при объеме исходных текстов программ и ресурсов 9.1 Мб. Итоговый вес модуля может увеличиваться - создание временных ресурсных файлов и файлов для хранения настроек программы.

"Личный кабинет держателя бонусной карты" имеет один исполнительный файл с названием пакета "com. embarcadero. lk10. apk" и названием приложения "Личный Кабинет 1.0". Вес установленного приложения составляет 42.6 Мб при объеме исходных текстов программ и ресурсов 26.1 Мб.

Программное обеспечение обоих модулей "Информационной системы бонусных программ лояльности" написано на объектно-ориентированном языке С++. В качестве среды разработки используется RAD Studio 10 Seattle разработанная компанией Embarcadero. RAD Studio 10 Seattle - многоязычная интегрированная среда разработки, включающая все необходимые инструменты для моделирования и конструирования приложений на различных платформах, с поддержкой языков Delphi, C и C++. Она предоставляет мощные компоненты VCL для Windows 10 и обеспечивает разработку на FMX для Windows, Mac и мобильных устройств. RAD Studio обеспечивает 5-кратно увеличенную скорость разработки и развертывания на нескольких настольных, мобильных, облачных средах и платформах баз данных, включая 32-разрядные и 64-битные ОС Windows.

При разработке "Личного кабинета держателя бонусной карты" использован FireMonkey Фреймворк (FMX) - GUI-framework, использующий возможности графического процессора. FireMonkey входит в состав среды разработки RAD Studio 10 Seattle. Лежащий в его основе движок FMX представляет собой похожий на Flash или WPF, кроссплатформенный Фреймворк для построения пользовательских интерфейсов. Будучи встроенным в С++ Builder, FireMonkey позволяет компилировать один и тот же код приложения для работы в Windows, iOS и Android.

"Приложение для управления бонусной программой" разработано с использованием VCL. Visual Component Library (VCL) - объектно-ориентированная библиотека для разработки программного обеспечения для поддержки принципов визуального программирования. VCL входит в комплект поставки Embarcadero RAD Studio 10 и является, по сути, частью среды разработки, хотя разработка приложений в этих средах возможна и без использования VCL. VCL предоставляет огромное количество готовых к использованию компонентов для работы в самых разных областях программирования, таких, например, как интерфейс пользователя (экранные формы и элементы управления), работа с базами данных, взаимодействие с операционной системой, программирование сетевых приложений и прочее.

Для подключения обоих модулей к базе MySQL был использован компонент от сторонних разработчиков (не входящий в состав RAD Studio 10) - "MySQL Data Access Components (MyDAC)". MyDAC - многофункциональный инструмент для разработки клиент-сервер приложений на Delphi, C++Builder, Lazarus (и Free Pascal) под Windows, Mac OS X, iOS, Android, Linux и FreeBSD, как для 32-битных, так и для 64-битных платформ. MyDAC позволяет разрабатывать быстрые и нативные MySQL приложения и подключаться к MySQL напрямую через TCP/IP, не используя клиентскую библиотеку MySQL.

Для отправки СМС сообщений используется SMS-шлюз предоставляемый порталом "Смс-дисконт - iqsms.ru" SMS-шлюз - интерфейс, который позволяет отправлять и получать SMS-сообщения без использования мобильного телефона. При отправке SMS-сообщения преобразуются в JSON запросы к серверу iqsms.ru. После отправки всех сообщений, сервер посылает ответ о статусе сообщений, также в формате JSON.

4.2 Описание функциональной структуры

Для запуска "Приложения для управления бонусной программой" необходимо переместить файл "УправлениеБонуснойПрограммой. exe" в любой каталог на физическом накопителе доступный для чтения и записи. Запустить файл "УправлениеБонуснойПрограммой. exe" от имени Администратора.

"Приложение для управления бонусной программой" имеет одну входную точку в управляющую программу - файл "УправлениеБонуснойПрограммой. exe"

Для того, чтобы запустить модуль "Личного кабинета держателя бонусной карты", необходимо открыть Play Market. В строке поиска ввести "Личный кабинет 1.0", перейти на страницу приложения из результатов поиска и установить приложение. Запустить приложение "Личный кабинет 1.0" из главного меню. Второй способ - переместить "ru. embarcadero. lk10. apk" в память телефона. Разрешить установку из неизвестных источников, и запустить пакет на установку. Запустить приложение "Личный кабинет 1.0" из главного меню.

"Личный кабинет" имеет три точки входа в управляющую программу - иконка приложения в главном меню, кнопка "запуск" из информации о приложении в настройках, страница приложения в Play Market.

"Приложение для управления бонусной программой" для платформы Win32 отвечает за администрирование бонусной системы и взаимодействие с клиентами. Программа выполняет следующие функции:

Администрирование бонусной системы;

Управление настройками бонусной системы;

Импорт и экспорт данных;

Ведение статистики и формирование отчетных документов;

Взаимодействие с клиентами на базе смс-рассылок и функционала Личного кабинета держателя бонусной карты.

Просмотр и редактирование профиля клиента;

Просмотр бонусного баланса и списка транзакций по бонусной карте;

Регистрация новых клиентов в бонусной системе.

Входными данными в "Приложении для управления бонусной программой" являются:

Информация о бонусных картах: идентификатор, баланс, срок активности карты, дополнительная информация;

Данные клиентов: фамилия, имя, дата рождения, пол, номер телефона, email;

Персональные рекламные предложения: название предложения, полное описание, срок действия, путь с web-странице;

Смс-сообщения: номер телефона, текст сообщения.

Выходными данными в Приложении являются:

Итоговый баланс бонусной карты;

Журнал транзакций по бонусной карте;

Статистика активности пользователей бонусной программы;

Цепочки личных предложений и смс-сообщений;

Отчеты во внешних документах (word, excel, pdf, txt).

Входными данными в "Личном кабинете держателя бонусной карты" является информация о клиенте:

Фамилия, имя, дата рождения, пол, номер телефона клиента;

Информация для авторизации: адрес электронной почты, пароль.

Источник: https://www.bibliofond.ru/view.aspx?id=877461