Информационная система бонусных программ лояльности

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    249,55 Кб
  • Опубликовано:
    2016-07-17
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Информационная система бонусных программ лояльности

Кировское областное государственное

профессиональное образовательное бюджетное учреждение

"Кировский Авиационный Техникум"









ВЫПУСНАЯ КВАЛИФИКАЦИОННАЯ РАБОТА

Информационная система бонусных программ лояльности




Студент: Русских А.С.

Руководитель ВКР:

Сандова Э.Г.






Содержание

 

Введение

1. Общая характеристика предприятия

1.1 Организационная структура предприятия

2. Постановка задачи автоматизации

3. Проектные решения

3.1 Техническое обеспечение

3.2 Программное обеспечение

3.3 Информационное обеспечение

3.3.1 Описание используемой СУБД

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

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

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

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

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

4.3 Руководство пользователя

4.4 Тестирование программы

5. Экономическое обоснование разработки

5.1 Расчет трудоемкости по видам работ и исполнителям

5.2 Расчет заработной платы

5.3 Расчет материальных затрат

5.4 Расчет сметы затрат

6. Обеспечение безопасности программного продукта

Заключение

Список использованных источников

Приложения

Введение

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

Основным видом деятельности "ИП Голдованская Наталья Георгиевна" является автоматизация бизнеса, поэтому все существующие бизнес-процессы, начиная от учета документации и заканчивая учетом программных продуктов уже автоматизированы. За автоматизацию отвечает комплексная система "1С-Рарус: Автоматизация 1С: Франчайзи", которая имеет развитые средства построения экономической и аналитической отчетности и расширенный функционал для различной финансово-хозяйственной деятельности.

Однако в связи с большим количеством постоянных клиентов было принято решение о ликвидации устаревшей дисконтной системы (не требующей автоматизации) и создании бонусной программы лояльности клиентов, которая является наименее затратным каналом по продвижению продуктов и услуг и позволяет значительно повысить лояльность действующих клиентов.

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

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

Преимущества использования бонусной программы для организации:

Повышение лояльности клиентов, побуждение их к повторным покупкам.

Увеличение суммы разовых покупок;

Лучшее привлечение новых клиентов, поскольку бонусы можно получать уже с первой покупки, а скидки по обычно даются со второй;

Бонусы могут быть потрачены только в Вашей организации при приобретении ваших товаров или услуг, следовательно, увеличивают прибыльность компании;

Все клиенты приобретают товар или услугу на равных условиях. Однако количество покупок в будущем принесет им определенные бонусы, которые могут выступать в виде подарка, или приза, или накопленной скидки;

Бонусы могут быть потрачены только спустя какое-то время. Таким образом, Ваша компания располагает данными денежными средствами до того момента, пока они не будут использованы покупателем;

Бонусы позволяют персонифицировать продажи, предоставляя дополнительную возможность отследить и проанализировать целевую аудиторию предоставляемых организацией продуктов и услуг, следовательно, предпринять соответствующие меры и, опять же, увеличить прибыльность компании. Например, проанализировав статистику продаж, Ваша компания пришла к выводу, что определенная категория покупателей оставила в организации уже достаточно большую сумму/являются постоянными покупателями.

Для организации бонусной программы лояльности потребуется оборудование, на котором будет храниться информация о покупателях (сервер) и программное обеспечение. Чтобы запустить бонусную программу лояльности возникла необходимость создать "Информационную систему бонусных программ лояльности".

Цель разработки системы:

Автоматизировать проведение расчетов (начисление бонусов, списание их при покупке, сгорание бонусных баллов после окончания их срока действия);

Идентифицировать клиента в процессе приобретения товаров/услуг;

Изучать и анализировать целевую аудиторию предоставляемых организацией продуктов и услуг;

Стимулировать клиента на совершение покупок товаров и услуг путем реализации каналов взаимодействия с клиентами;

На базе разработанной информационной системы создать универсальную платформу для запуска бонусной программы лояльности в любой организации.

Информационная система должна разрабатываться в трех модулях. "Приложение для управления бонусной программой" и "Личный кабинет держателя бонусной карты" разрабатывается мною в рамках выполнения ВКР. Моей задачей также является проектирование базы данных, запуск и настройка сервера БД. "Дополнение к типовым конфигурациям 1С Предприятие 8" разрабатывается сотрудниками "ИП Голдованская Наталья Георгиевна". После запуска и начала эксплуатации ИС, сотрудниками организации, на базе существующей информационной системы, будет создана универсальная платформа, для запуска бонусной программы лояльности в любой организации, с целью распространения ее, как собственного программного продукта клиентам и партнерам фирмы.

В результате введения бонусной системы 1С Франчайзи "ИП Голдованская Наталья Георгиевна" получит прирост числа лояльных постоянных клиентов - людям нравится идея накапливать баллы и затем менять их на определенные товары или услуги; возможность изучать и анализировать целевую аудиторию - регистрируясь в бонусной системе, клиент заполняет анкету (контактные данные), благодаря которым организация может лучше узнать "своего клиента", и на основе имеющейся информации координировать свою работу; создать универсальную платформу для запуска бонусной программы лояльности в любой организации, и продавать ее как собственный программный продукт.

1. Общая характеристика предприятия


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

"1С" является официальным дистрибьютором деловых программных продуктов зарубежных и отечественных производителей, таких как Microsoft, Лаборатория Касперского, Eset, ABBYY, DrWeb, Аскон, ПроМТ, Entensys, Novosoft и другие. Из собственных разработок фирмы "1С" наиболее известны программы системы "1С: Предприятие", а также продукты для домашних компьютеров и образовательной сферы.

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

Предприятия сети "1С: Франчайзинг" - специализируются на оказание комплексных услуг на базе программных продуктов "1С" по автоматизации управления и учета на предприятиях различных отраслей и видов деятельности, и включает в себя решения для комплексной автоматизации производственных, торговых и сервисных предприятий.

Сфера деятельности: Франчайзинга "ИП Голдованская Наталья Георгиевна" - комплексные услуги (сертифицированные фирмой "1С") по автоматизации бизнес-процессов:

Разработка программного обеспечения (прикладные решения, внедрения) для автоматизации производственных и торговых предприятий на платформе "1С: Предприятие" или любой другой.

Распространение деловых программных продуктов зарубежных и отечественных производителей;

Помощь в выборе программ, необходимых для комплексной автоматизации бизнес-процессов коммерческих предприятий;

Доставка, установка, внедрение программного обеспечения;

Послепродажное обслуживание, сопровождение, техническая поддержка;

Консультации, индивидуальное обучение;

Аренда виртуального выделенного сервера "1С".

1.1 Организационная структура предприятия


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

Различают несколько типов организационных структур: линейные, функциональные, линейно-функциональные, дивизиональные, адаптивные. Рассмотрим основные характеристику структуры характерной для "ИП Голдованская Наталья Георгиевна".

Для 1С Франчайзи "ИП Голдованская Наталья Георгиевна" характерна Линейная организационная структура. Такая структура в организации обусловлена малым количеством подчиненных руководителю лиц.

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

Организационная структура предприятия представлена в приложении А

бонусная информационная программа лояльность

2. Постановка задачи автоматизации


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

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

Недостаток фиксированной дисконтной системы заключался в том, что со временем подавляющее число держателей карт начинает получать максимально возможную скидку безотносительно динамики своих покупок. При этом никакой особенной мотивации для дальнейшего увеличения объемов покупок клиенты не получают, а обладании карт конкурирующих фирм с одинаковыми скидками, клиент не остается лояльным к организации (все равно к кому обращаться).

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

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

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

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

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

Функционал разрабатываемой информационной системы должен обеспечить:

Автоматизацию проведения расчетов (начисление бонусов, списание их при покупке, сгорание бонусных баллов после окончания их срока действия);

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

Формирование отчетной документации по результатам работы бонусной программы лояльности;

Идентификацию клиента в процессе приобретения товаров/услуг, чтобы знать, кому начислять бонусы за факт приобретения и вести историю начисления бонусов;

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

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

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

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

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

Для того чтобы выполнять поставленные цели, разрабатываемая информационная система должна выполнять определенный набор функций. За выполнение этих функций отвечают различные модули ИС. "Информационная система бонусных программ лояльности" состоит из трех модулей: "Дополнение к типовым конфигурациям 1С Предприятие 8", "Приложение для управления бонусной программой" для платформы Win32, "Личный кабинет держателя бонусной карты" для мобильной платформы Android.

"Дополнение к типовым конфигурациям 1С Предприятие 8" отвечает за начисление и оплату бонусами по пороговой схеме для розничных и оптовых продаж.

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

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

В рамках выполнения ВКР мне было предложено спроектировать базу данных, создать "Приложение для управления бонусной программой" для платформы Win32 и "Личный кабинет держателя бонусной карты" для мобильной платформы Android. Дополнение к типовым конфигурациям 1С разрабатывается силами "ИП Голдованская Наталья Георгиевна".

3. Проектные решения


3.1 Техническое обеспечение


В рамках работы над ВКР были определены требования к архитектуре информационной системы и аппаратному обеспечению разрабатываемого программного продукта.

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

Наличие локальной вычислительной сети является обязательным условием работы ИС с архитектурой клиент-сервер. ЛВС помогает поддерживать стабильный документооборот, и обеспечивает обмен данными между рабочими станциями и сервером. Сеть состоит и из сервера и подключенных к сети рабочих станций. ЛВС организации должна быть подключена к провайдеру интернета. Рекомендуемое расположение компьютеров, кабелей и других компонентов сети должно быть характерно для топологии сети типа "Звезда".

"Информационной системы бонусных программ лояльности" будет распределена на одном компьютере-сервере и некотором количестве компьютерах-клиентах:

Сервер баз данных;

Одна рабочая станция для сотрудников организации с установленным модулем "Дополнение к типовым конфигурациям 1С Предприятие 8";

Одна рабочая станция для сотрудников организации с установленным модулем "Приложение для управления бонусной программой";

До 1000 терминалов доступа к системе со стороны клиентов организации с установленным модулем "Личный кабинет держателя бонусной карты".

Компьютер-сервер необходим для хранения баз данных информационной системы, выполнения запросов пользователей к ним и прочих вычислительных операций. На компьютер-сервер устанавливается система управления базами данных MySQL. Сервер должен отвечать следующим минимальным требованиям к техническим характеристикам:

ОС: Windows Server 2008, Windows Server 2012, Windows Server 2016;

Процессор: двухъядерный с частотой 2.5 ГГц;

ГБ оперативной памяти (ОЗУ);

ГБ свободного места на жестком диске на этапе запуска ИС.

Компьютер-клиент необходим для нормального функционирования и работы с информационной системой. Минимальные аппаратные требования рабочей станции для сотрудников организации:

ОС: Microsoft Windows - Win 7, Win 8, Win 8.1, Win10;

Дисплей с разрешением экрана 1280х720 точек и выше;

Процессор с минимальной частотой 2 ГГц;

ГБ оперативной памяти (ОЗУ);

МБ свободного места на жестком диске;

Манипуляторы типа клавиатура и мышь.

Клиентский терминал доступа к ИС - смартфон или планшет (мобильное устройство) под управлением ОС Android. Минимальные аппаратные требования к терминалу клиентов организации:

ОС: от Android 4.1 x (Jelly Bean) до Android 5.1 х (Lollipop);

Диагональ дисплея 3.5" и выше;

Процессор с частотой 1 ГГц на базе архитектуры ARM v7 или Intel x86;

Графический процессор с поддержкой OpenGL;

МБ оперативной памяти (ОЗУ);

МБ Свободного места на встроенном накопителе данных.

По мере необходимости исходный код мобильного приложения можно компилировать с использованием Android SDK 6.0 или более поздних версий для возможности запуска на Android 6.0+.

 

3.2 Программное обеспечение


При создании базы была использована реляционная СУБД MySQL 5.6 Реляционная база данных MySQL - это одна из самых популярных и самых распространенных СУБД (система управления базами данных) в интернете. Она не предназначена для работы с большими объемами информации, но ее применение идеально для мобильных веб-приложений, как небольших, так и достаточно серьезных.

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

"Приложение для управления бонусной программой" разработано только под ОС семейства Microsoft Windows (Win7, Win8, Win8.1, Win10) и имеет 32-битный набор команд. Особых требований к настойкам ОС не предъявляется, кроме того, что встроенный брандмауэр Windows не должен блокировать порт 3306.

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

Для формирования, просмотра, редактирования внешних документов в формате *. doc и *. xls, необходимо наличие установленного пакета Microsoft Office 2003 (включая Microsoft Word и Microsoft Excel) или более поздних версий, заканчивая MS Office 2013. Важно: без наличия установленного пакета MS Office документы формироваться не будут!

Для просмотра внешних документов в формате *. pdf необходимо наличие установленного Adobe Acrobat Reader DC или любой другой программы для просмотра PDF документа;

Для просмотра внешних документов в формате *.html, необходимо наличие программного обеспечения для просмотра веб-страниц (например, Internet Explorer, Chrome, Mozilla Firefox, Opera);

Для просмотра внешних документов в формате *. txt, необходима программа просмотра тестовых документов в кодировке UTF-8 (например, Блокнот, AkelPad, WordPad, Microsoft Word);

Для просмотра внешних данных в формате *. bmp, необходима программа просмотра изображений в формате Bitmap Picture (например, Просмотр Фотографий Windows, Paint).

Использование этих форматов для внешних документов было выбрано потому, что они наиболее распространены, и для работы с ними можно использовать бесплатное программное обеспечение, установленное сегодня почти на любом ПК. А также среда разработки, о которой пойдет речь, имеет интегрированные функции формирования документа в приведённых выше форматах. В случае необходимости систему можно легко модернизировать добавив форматы вывода - XML, JSON.

"Приложение для управления бонусной программой" позволяет напрямую вывести на печать некоторые из внешних документов. Для необходимо установить драйвер, с помощью которого Приложение получает доступ к аппаратному обеспечению некоторого подключенного устройства (МФУ, Принтер и т.д.).

"Личный кабинет держателя бонусной карты" разработан под мобильную платформу Android. Стабильная работа приложения гарантируется начиная с версии 4.1 и заканчивая 5.1 Для приложения Личного кабинета в системе должны быть доступны разрешения:

Получение данных о статусе телефона;

Чтение, изменение содержимого SD-карты;

Неограниченный доступ в интернет.

Для стабильной работы приложения необходимо наличие установленного пакета служб и приложений - Google Apps. Других требований к настройкам ОС и программному обеспечению не предъявляется.

3.3 Информационное обеспечение


3.3.1 Описание используемой СУБД

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

Система управления базами данных (СУБД) - совокупность программных средств общего или специального назначения, обеспечивающих управление созданием и использованием баз данных. При создании базы была использована реляционная, клиент-серверная СУБД MySQL 5.6 Реляционная база данных MySQL представляет собой множество взаимосвязанных таблиц, каждая из которых содержит информацию об объектах определенного вида. Каждая строка таблицы содержит данные об одном объекте (например, карте, смс-сообщении, клиенте), а столбцы таблицы содержат различные характеристики (атрибуты) этих объектов.

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_id

integer

Not Null

Первичный



1

card_id

integer

Not Null

Внешний


cards. card_id

124

email

varchar

Null




c86@mail.com

passwd

varchar

Null




reqwery123

first_name

varchar

Null




Русских

last_name

varchar

Null




Алексей

gender

varchar

Null




Мужской

birth_date

datetime

Null




01.01.2001

mobile_phone

varchar

Null




+79120000000


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

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

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

Наименование полей

Тип данных

Нулевой статус

Ключ

Ограничения

Ссылки

Пример

card_id

integer

Not Null

Первичный



1

balance

integer

Null




345

stat_id

integer

Null




1

stat

varchar

Null




Активна

type_id

integer

Null




1

type

varchar

Null




Персональная

output_date

datetime

Null




01.01.2001

valid_thru

datetime

Null




01.01.2016

comment

varchar

Null




Карта самого крутого клиента организации


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

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

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

Наименование полей

Тип данных

Нулевой статус

Ключ

Ограничения

Ссылки

Пример

trans_id

integer

Not Null

Первичный



33

card_id

integer

Not Null

Внешний


cards. card_id

1

points

integer

Null




-395

description

varchar

Null




Оплата бонусами

trans_date

datetime

Null




12.03.2016

valid_thru

datetime

Null




Null

comment

varchar

Null




Скидка на оформление годовой подписки


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

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

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

 

Похожие работы на - Информационная система бонусных программ лояльности

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!


Наименование полей

Тип данных

Нулевой статус

Ключ

Ограничения

Ссылки

Пример

offer_id

integer

Not Null

Первичный



33

title

varchar

Null




Скидка 33%

description

varchar

Null




Cкидка 33% при сделке на сумму более 5000 рублей

date

datetime

Null




12.01.2016

valid_thru

date

Null




12.03.2016

html_path

varchar

Null




#"877459.files/image002.gif">

Рисунок 2 - Главное окно "Приложения для управления бонусной программой"

Рисунок 3 - Главный экран "Личного кабинета"

Ниже представлен исходный код основных функций "Приложения для управления бонусной программой" и "Личного кабинета держателя бонусной карты".

) Функция начисления бонусных баллов:

(ToggleSwitch1->Enabled)

{

// АВТО РЕЖИМ(ToggleSwitch1->State == tssOff & bonus>=0)

{>Filter = L"card_id = "+ IntToStr (card_id);>Filtered = true;>Active = true;>Active = false;>SQL->Clear ();>SQL->Add ("Select max (trans_id) as max_id from transactions");>Active = true;>Execute ();

// ОПЛАТА БОНУСАМИ--------->Edit ();(RadioButton2->Checked) // ЧАСТИЧНАЯ

{>FieldByName ("balance") - >AsInteger = CardsTable->FieldByName ("balance") - >AsInteger - ceil (sCurrencyEdit2->Value);

}// ВСЕМИ БОНУСАМИ

{(ceil (itog) >= CardsTable->FieldByName ("balance") - >AsInteger) // Если сумма платежа больше количества бонусов на счету

{>FieldByName ("balance") - >AsInteger = CardsTable->FieldByName ("balance") - >AsInteger - CardsTable->FieldByName ("balance") - >AsInteger;

}(ceil (itog) < CardsTable->FieldByName ("balance") - >AsInteger) // Если сумма платежа МЕНЬШЕ количества бонусов на счету

{>FieldByName ("balance") - >AsInteger = CardsTable->FieldByName ("balance") - >AsInteger - ceil (itog);

}

}>Post ();(summa<itog)

{>Insert ();>FieldByName ("trans_id") - >AsInteger = ServiceQuery->FieldByName ("max_id") - >AsInteger + 1;>FieldByName ("card_id") - >AsInteger = card_id;>FieldByName ("points") - >AsInteger = bonus;>FieldByName ("description") - >AsString = L"Оплата бонусами";>FieldByName ("trans_date") - >AsDateTime = Now ();>FieldByName ("comment") - >AsString = "Покупка - "+Edit1->Text + " - " + sSpinEdit1->Text + "x за счет бонусных баллов";

TransTable->Post ();

}

// НАЧИСЛЕНИЕ БОНУСОВ ЗА ПОКУПКУ-----

CardsTable->Edit ();>FieldByName ("balance") - >AsInteger = CardsTable->FieldByName ("balance") - >AsInteger + ceil (bonus);>Post ();>Active = false;>Active = true;>Execute ();>Insert ();>FieldByName ("trans_id") - >AsInteger = ServiceQuery->FieldByName ("max_id") - >AsInteger + 1;>FieldByName ("card_id") - >AsInteger = card_id;>FieldByName ("points") - >AsInteger = bonus;>FieldByName ("description") - >AsString = L"Покупка";>FieldByName ("trans_date") - >AsDateTime = Now ();(CheckBox1->Checked)

{>FieldByName ("valid_thru") - >AsDateTime = AdvDateTimePicker1->DateTime;

}>FieldByName ("comment") - >AsString = "Оплата - "+Edit1->Text + " - " + sSpinEdit1->Text + "x";>Post ();>Execute ();>MessageBox (L"Бонусные баллы успешно начислены в режиме авто!",L"Бонусная система", MB_OK);

}

// РУЧНОЙ РЕЖИМ(ToggleSwitch1->State == tssOn & sCurrencyEdit3->Value>0)

{>FieldByName ("valid_thru") - >AsDateTime = AdvDateTimePicker1->DateTime;

}>FieldByName ("comment") - >AsString = Memo1->Text;>Post ();>Execute ();>MessageBox (L"Бонусные баллы успешно начислены в ручном режиме!",L"Бонусная система", MB_OK);

}

}

) Функция занесения данных в систему (на примере добавления бонусной карты):

if (sEdit1->Text == "") // Проверка полей ввода

{

Shape2->Visible = true;

Application->MessageBox (L"Не все поля заполнены!",L"Ошибка выполнения", MB_OK | MB_ICONWARNING);

return;

}>Active = false;>SQL->Clear ();>SQL->Add ("SELECT card_id FROM cards WHERE card_id = " + sEdit1->Text); // Проверка на наличие номера карты в базе>Active = true;(ServiceQuery->RecordCount>0)

{>MessageBox (L"Карта с таким номером уже существует!",L"Ошибка выполнения", MB_OK | MB_ICONWARNING);

return; // Если карта существует, то прерываем выполнение функции

}

// >Insert ();>FieldByName ("card_id") - >AsInteger = StrToInt (sEdit1->Text);>FieldByName ("balance") - >AsInteger = ceil (sCurrencyEdit1->Value);>FieldByName ("stat_id") - >AsInteger = 1;>FieldByName ("stat") - >AsString = L"Активна"; (ComboBox1->ItemIndex==0) // Проверяем какой тип карты выбран

{>FieldByName ("type_id") - >AsInteger = 1;>FieldByName ("type") - >AsString = L"Персональная";

}(ComboBox1->ItemIndex==1) // Проверяем какой тип карты выбран

{>FieldByName ("type_id") - >AsInteger = 10;>FieldByName ("type") - >AsString = L"Подарочная";

}>FieldByName ("output_date") - >AsDateTime = Now ();(CheckBox1->Checked) {CardsTable->FieldByName ("valid_thru") - >AsDateTime = sDateEdit1->Date; }>FieldByName ("comment") - >AsString = sMemo1->Text;>Post ();>MessageBox (L"Карта успешно добавлена!",L"Выполнено", MB_OK | MB_ICONINFORMATION);

AddTabRefresh->Execute (); // Выполняем действие по очистке формы

) Функция редактирования данных (на примере редактирования информации о карте):>Active = false; // Составление строки запроса-НАЧАЛО

ServiceQuery->SQL->Clear ();>SQL->Add ("UPDATE cards");>SQL->Add ("SET balance = " + FloatToStr (ceil (BonusEdit->Value)));>SQL->Add (",stat_id = "+IntToStr (StatusComboBox->ItemIndex));>SQL->Add (",stat = '"+StatusComboBox->Text+"'");(CardTypeComboBox->ItemIndex==0)

{>SQL->Add (",type_id = 1");>SQL->Add (",type = 'Персональная'");

}(CardTypeComboBox->ItemIndex==1)

{>SQL->Add (",type_id = 10");>SQL->Add (",type = 'Персональная'");

}(CheckBox2->Checked)

{ServiceQuery->SQL->Add (",valid_thru = '"+FormatDateTime ("yyyy-mm-dd",ValidDateEdit->Date) +"'"); }

{CardsTable->FieldByName ("valid_thru") - >Value=Null; }>SQL->Add (",comment = '"+CommentMemo->Text+"'");>SQL->Add ("WHERE card_id = "+CardsTable->FieldByName ("card_id") - >AsString);

ServiceQuery->ExecSQL ();

// Составление строки запроса-КОНЕЦ>MessageBox (L"Изменения успешно внесены!",L"Выполнено", MB_OK | MB_ICONINFORMATION);

// Обновим информацию в визуальных компонентах>Active = false; CardsTable->Active = true;

CardsQuery->Refresh ();

) Функция импорта данных для любой таблицы:

void __fastcall TForm1:: SpeedButton2Click (TObject *Sender)

{>Active = false;>TableName = DBLookupComboBox1->Text;>Active = true;col,row;->ActivePage = TabSheet3;->LoadFromXLSSheet (sFilenameEdit1->FileName,Edit1->Text);= AdvStringGrid1->RowCount;->Max = row-1;= AdvStringGrid1->ColCount;(int i = 0; i < row-1; i++)

{>Insert ();(int j = 0; j < col; j++)

{ftype = FieldTypeNames [Table->FieldByName (AdvStringGrid1->Cells [j] [0]) - >DataType];(ftype == "WideString" & AdvStringGrid1->Cells [j] [i+1]! ="") {Table->FieldByName (AdvStringGrid1->Cells [j] [0]) - >AsString = AdvStringGrid1->Cells [j] [i+1]; }(ftype == "DateTime" & AdvStringGrid1->Cells [j] [i+1]! ="") {Table->FieldByName (AdvStringGrid1->Cells [j] [0]) - >AsDateTime = StrToDateTime (AdvStringGrid1->Cells [j] [i+1]); }(ftype == "Date" & AdvStringGrid1->Cells [j] [i+1]! ="") {Table->FieldByName (AdvStringGrid1->Cells [j] [0]) - >AsDateTime = StrToDate (AdvStringGrid1->Cells [j] [i+1]); }(ftype == "Integer" & AdvStringGrid1->Cells [j] [i+1]! ="") {Table->FieldByName (AdvStringGrid1->Cells [j] [0]) - >AsInteger = StrToInt (AdvStringGrid1->Cells [j] [i+1]); }(ftype == "AutoInc" & AdvStringGrid1->Cells [j] [i+1]! ="") {}

}>Post ();->Position = ProgressBar1->Position +1;

}->ActivePage = TabSheet4;

) Функция авторизации клиента:

// ПОДКЛЮЧЕНИЕ К БАЗЕ{MyConnection1->Connected=true; }(.) {ShowMessage (L"Ошибка соединения. Проверьте подключение к интернету!"); return; }

// ПРОВЕРЯЕМ ЗАПОЛНЕНИЕ ПОЛЕЙ ВВОДА

if (Edit2->Text=="") {ShowMessage (L"Введите Email!"); return; }

if (Edit1->Text=="") {ShowMessage (L"Введите Пароль!"); return; }

// ВЫПОЛНЕНИЕ ЗАПРОСА С ПАРАМЕТОМ

MyQuery2->ParamByName ("email") - >Value = Edit2->Text; // считываем параметр

MyQuery2->Active=true;->Execute (); // выполняем запрос

// АВТОРИЗАЦИЯ(MyQuery2->FieldByName ("passwd") - >AsString == Edit1->Text) // Проверяем введеный пароль

{>MyQuery1->ParamByName ("clientid") - >Value = MyQuery2->FieldByName ("client_id") - >AsInteger; // считывам параметр для запроса>Show ();

}

{(L"Неверный Email или Пароль!"); return;

}

) Функция регистрации пользователя:

if (MyConnection1->Connected==true)

{

// СОЗДАЕМ ЗАПИСЬ->Active=true;->Execute ();maxid = MyQuery1->FieldByName ("max_id") - >AsInteger + 1;->Active=true;->Insert ();->FieldByName ("first_name") - >AsString = Edit3->Text;->FieldByName ("last_name") - >AsString = Edit4->Text;->FieldByName ("mobile_phone") - >AsString = Edit5->Text;->FieldByName ("email") - >AsString = Edit6->Text;->FieldByName ("passwd") - >AsString = Edit7->Text;->FieldByName ("birth_date") - >AsDateTime = DateEdit1->Date;(RadioButton1->IsChecked==true) {MyTable1->FieldByName ("gender") - >AsString = L"Мужской"; }(RadioButton2->IsChecked==true) {MyTable1->FieldByName ("gender") - >AsString = L"Женский"; }->FieldByName ("client_id") - >AsInteger = maxid;->FieldByName ("card_id") - >AsInteger = StrToInt (Edit8->Text);->Post ();

// ЧИСТИМ ФОРМУ->Text=""; Edit4->Text=""; Edit5->Text=""; Edit6->Text=""; Edit7->Text=""; Edit8->Text="";->IsEmpty=true;->IsChecked=false; RadioButton2->IsChecked=false;

// ПЕРЕХОДИМ НА ВКЛАДКУ ОБ УСПЕШНОЙ РЕГИСТРАЦИИ

ChangeTabAction3->Execute ();->Start ();

}

{ (L"Ошибка соединения. Проверьте подключение к интернету!");

return;

}

) Функция редактирования профиля пользователя:

// ПОДКЛЮЧЕНИЕ К БАЗЕ{MyConnection1->Connected=true; }(.) {ShowMessage (L"Ошибка соединения. Проверьте подключение к интернету!"); return; }

if (Edit7->Text == "") {ShowMessage (L"Введите ваш старый пароль для редактирования профиля!"); return; }

if (MyTable1->Filtered == true)

{

if (Edit7->Text == MyTable1->FieldByName ("passwd") - >AsString) // Проверяем правильность введенного пароля пароль

{->Edit ();->FieldByName ("first_name") - >AsString = Edit3->Text; // Обновляем имя->FieldByName ("last_name") - >AsString = Edit4->Text; // Обновляем фамилию

// ОбНОВЛЯЕМ ПОЛ(RadioButton1->IsChecked == true)

{->FieldByName ("gender") - >AsString = RadioButton1->Text;

}(RadioButton2->IsChecked == true)

{->FieldByName ("gender") - >AsString = RadioButton2->Text;

}->FieldByName ("birth_date") - >AsDateTime = DateEdit1->Date;->FieldByName ("mobile_phone") - >AsString = Edit5->Text;->FieldByName ("email") - >AsString = Edit6->Text; (Edit1->Text! = "") // Если поле НОВЫЙ ПАРОЛЬ заполнено, то обновляем пароль

{->FieldByName ("passwd") - >AsString = Edit1->Text;

}

MyTable1->Post ();

}

}

 

4.4 Тестирование программы


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

Различают различные виды тестирования программного обеспечения информационных систем.

Функциональное тестирование - проверка соответствия продукта функциональным требованиям и спецификациям.

Интеграционное тестирование - это совместное выполнение двух или более классов, пакетов, компонентов или подсистем, созданных несколькими программистами или группами.

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

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

Компонентное тестирование - испытание отдельных программных компонентов информационной системы, в ходе которых подтверждается корректность проводимых этими компонентами вычислений.

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

Тестирование интерфейса: тестирование интерфейса производится по таким критериям, как: естественность, согласованность, дружественность, принцип "обратной связи", простота, гибкость, эстетическая привлекательность;

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

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

Результаты тестирования представлены в приложении Б.

5. Экономическое обоснование разработки


Раздел содержит расчет и обоснование экономической целесообразности разработки только того программного продукта, который разрабатывается мною в рамках ВКР. Экономическое обоснование не влючает расчеты для модуля ИС параллельно разрабатываемого силами "ИП Голдованская Наталья Георгиевна".

Экономическое обоснование разработки содержит: расчёт трудоёмкости, расчет заработной платы, расчёт материальных затрат, смета затрат.

5.1 Расчет трудоемкости по видам работ и исполнителям


Трудоемкость - это затраты рабочего времени на произ¬водство единицы продукции.

Месячный оклад (таблица 9) - это фиксированный размер, оплаты труда работника за выполнение нормы труда определенной сложности за единицу времени.

Месячный оклад работника вычисляется по формуле:

ОМ = Омин*Кт, (1)

где ОМ - месячный оклад (руб.);

Омин - минимальный оклад (руб.);

Кт - тарифный коэффициент.

Таблица 7 - Месячные оклады

Должность

Численность

Тарифный разряд

Месячный оклад, руб.

Администратор

1

11

18400

Испольнитель (Разработчик)

1

9

21450


Трудоемкость (таблица 10) работ вычисляется по формуле:

= (3*Tmin+2*Tmax) /5, (2)

где Tmin - минимальное время выполнения работ (час.);- максимальное время выполнения работ (час.).

Таблица 8 - Трудоемкость работ

Наименование работы

Тmin, ч

Тmax, ч

Тр

Занятость, час





Разработчик

Администратор

Инициация

3

6

4

4

5

Планирование

10

15

12

14

10

Исполнение и контроль

250

250

190

250

20

Завершение

25

35

26

27

8

Всего:

232

295

33


5.2 Расчет заработной платы


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

После определения трудоемкости на разработку проекта и документации рассчитывается заработная плата работников по формуле:

ЗП = Р*Впо* (Ом/ (ds*Дp)), (3)

где Р - число работников; Впо - время участия в работе (час); Ом - месячный оклад (руб.); ds - длительность смены (час); Дp - среднее число рабочих дней (22).

Таким образом, заработная плата работников составляет:

ЗПразр. =1*295* (21450/ (8*22)) =35 953,12 руб.

ЗПадм. =1*25* (18400/ (8*22)) =2613,63 руб.

После того, как рассчитана заработная плата работников, вычислим фонд ЗП и общую заработную плату по формуле:

ЗПобщ=ЗП+П+Дрк, (4)

где П - премия (15% от ЗП); Дрк - доплаты по районному коэффициенту (15% от ЗП+П).

ЗПобщ. разраб. =35 953,12+5392,97+6201,91=47548 руб.

ЗПобщ. админ. =2613,70+391,95+450,74=3456,39 руб.

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

ФЗП= ЗПобщ. разр. + ЗПобщ. адм., (5)

ФЗП=47548+3456,39=51004,39 руб.

5.3 Расчет материальных затрат


Материальные затраты - это средства, которые были использованы в ходе выполнения работ по созданию программного обеспечения.

Затраты на разработку представлены в таблице 11.

Таблица 9 - Затраты на разработку

Наименование

Единица измерения

Цена (руб.)

Количество

Сумма (руб.)

Компьтер-Клиент + ПО

штука

18900

3

56700

Сетевое оборудование (маршрутизатор)

штука

800

1

1280, 00

Электроэнергия

кВт

2,9

190

551

Всего:

58531


5.4 Расчет сметы затрат


Смета затрат - полный свод затрат на создание и реализацию программного обеспечения за определённый календарный период.

В смету затрат входят:

материальные затраты;

заработная плата;

отчисления во внебюджетные фонды (Овн=30,2% от ЗП).

Смета затрат представлена в таблице 12.

Таблица 10 - Смета затрат

Элемент затрат

Сумма, руб.

Материальные затраты

58531

Заработная плата (ЗП)

51004,39

Отчисления во внебюджетные фонды

16321,4

Всего:

125856,79


Вывод: на создание и реализацию разрабатываемого мною в рамках ВКР программного обеспечения "Информационной системы бонусных программ лояльности" потребуется 125856,79 руб.

6. Обеспечение безопасности программного продукта


Обеспечение безопасности информационных систем представляет собой ряд мероприятий, направленных на предотвращение несанкционированных воздействий на защищаемую информацию, а также её утечки.

Обеспечение безопасности рассматривается на базе организации "ИП Голдованская Наталья Георгиевна", где будет развернута информационная система.

Средства обеспечения данных на клиенте и на сервере от несанкционированного доступа можно разделить на следующие три класса методов:

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

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

) Программные методы защиты - система специальных программ, включаемых в состав программного обеспечения, реализующих функции защиты информации. Обеспечивается антивирусной программой Avast Endpoint Protection Suite Plus, встроенным Брандмауэром Windows, пакетом OpenSSL.Endpoint Protection Suite Plus - эффективная антивирусная защита клиентских компьютеров и серверов внутри организации. Предоставляет не только надежную защиту, но и эффективное централизованное управление с помощью удобной веб-консоли, модули удаленной установки, уведомления системы безопасности в режиме реального времени, плановое автоматическое сканирование и многое другое.

"Личный кабинет держателя бонусной карты" должен предоставить доступ клиенту к информации с сервера баз данных, который находится не в одной локальной сети с треминалом клиента. Как правило для таких случаев создается VPN подключение. Это позволяет безопасно получить доступ к серверу, без необходимости открывать его в "мир". Но использование VPN без предворительной настройки и установки дополнительного ПО на ОС Android является слишком сложной задачей. Для таких случаев, MySQL имеет поддержку SSL, при котором поток данных между клиентским терминалом доступа к ИС и cервером БД (мобильным приложением клиента организации и сервером MySQL) защищается системой OpenSSL. Криптографический пакет OpenSSL - это система защиты и сертификации данных, название SSL переводится, как система безопасных сокетов (secure socket layer). OpenSSL используется практически всеми сетевыми серверами для защиты передаваемой информацией. Для функионирования OpenSSL, нужно сгенерировать сертификат центра сертификации (CA). С его помощью создаются и серверные и клиентские сертификаты. В момент установления соединение, сервер сверяет сертификат клиента с центром сертификации и если все в порядке - клиент считается надежным и устанавливается защищенное соединение, а все данные передаются в защищенном виде.

В информационной системе есть персональные данные клиентов, а также данные по бонусным картам, поэтому используется встроенная в MySQL функция AES_ENCRYPT (AES_DECRYPT) для обратимого шифрования некотрых текстовых полей. Эти функции позволяют шифровать/дешифровать данные, используя официальный алгоритм AES (Advanced Encryption Standard. В MySQL выбран 128-битовый ключ, поскольку он работает намного быстрее и обычно обеспечивает вполне достаточную защищенность. Ключ шифрования можно изменить используя "Приложение для управления бонусной программой". Просмотреть зашифрованные данные можно только после запуска любого из приложений бонусной системы.

Все поля ввода, данные из которых отправляются непосредственно в запрос проходят проверку на наличие SQL-инъекций.

На компьютере, где развернут сервер MySQL 5.6 безопасность обеспечивается антивирусной программой Avast Endpoint Protection Suite Plus и встроенным Брандмауэром Windows.

Дополнительная "безопасность Личного кабинета держателя бонусной карты" на мобильном терминале доступе к ИС обеспечивается по усмотрению клиента.

Заключение


Выпускная квалификационная работа посвящена разработке "Информационной системы бонусных программ лояльности" для 1С Франчайзи "ИП Голдованская Наталья Георгиевна". Данная система предназначена для запуска бонусных программ лояльности на базе любой организации (в первую очередь на базе организации-заказчика) и автоматизацией всех операций, связанных с функционированием бонусной программы.

"Информационной система бонусных программ лояльности" была разработана лишь частично. Остальные работы по дальнейшей разработке и усовершенствованию системы взяла на себя организация-заказчик. В рамках ВКР мною была спроектирована и запущена БД и разработаны два модуля ИС: "Приложение для управления бонусной программой", "Личный кабинет держателя бонусной карты".

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

При разработке системы были достигнуты все поставленные цели:

Автоматизация проведения бонусных расчетов;

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

Формирование отчетной документации по результатам работы бонусной программы лояльности;

Идентификация клиента в процессе приобретения товаров/услуг;

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

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

Достоинства системы:

Разграничение доступа к ИС путем доступа к модулям, только тех категорий пользователей, которые имеют полномочия для работы с ними;

Поиск и фильтрация любого набора данных;

Усиленные меры безопасности: SSL-протокол для защиты потока данных и аутентификации источника данных, шифрование паролей и персональных данных клиентов;

Формирование отчетных документов в различных форматах (xls, txt, html, pdf, doc, png) или вывод их на печать напрямую;

Интуитивно понятный для пользователя интерфейс со стандартными контролами Windows и Android.

Недостатками "Информационной системы бонусных программ лояльности" являются:

Сложность установки и развертывания ИС;

Недостаточное быстрая отзывчивость пользовательского интерфейса - операции, требующие длительных вычислений не вынесены в отдельный поток (фризы GUI).

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

Список использованных источников


1. Архангельский А.Я. - Программирование в C++ Builder XE.

. С. Бобровский - Самоучитель программирования на языке C++ в системе Borland C++ Builder - ДЕСС КОМ, I-PRESS, 2014. - 272 с.

. Максим Кузнецов, Игорь Симдянов - MySQL 5 - Изд. БХВ-Петербург, 2010

. Шварц Б., Зайцев П., Ткаченко В. и др. - MySQL. Оптимизация производительности (2-е издание) - Изд. Символ, 2010, 823 с.

. Дейтел П., Дейтел Х., Дейтел Э., Моргано М. - Android для программистов. Создаем приложения - Изд. Питер, 2012, 560 с.

. С. Хашими, С. Коматинени, Д. Маклин - Разработка приложений для Android - Изд. Питер, 2011, 738 с.

. ГОСТ 19.105-78 - Общие требования к программным документам.

. ГОСТ 2.105-95 - Единая система конструкторской документации. Общие требования к текстовым документам.

. Интернет-ресурсы:://ru. wikipedia.org;://docwiki. embarcadero.com;://fire-monkey.ru/forum;: // developer. microsoft.com/ru-ru/windows;://dev. mysql.com/doc;://www.mysql.ru/docs;://www.cyberforum.ru/cpp-builder-firemonkey.

Приложения


Приложение А

 

Организационная структура 1С Франчайзи "ИП Голдованская Наталья Георгиевна"


Приложение Б

 

Тестовые наборы и результаты их использования

Базовое тестирование

Таблица Б.1 - Базовое тестирование

Действие

Ожидаемый результат

Фактический результат

Вывод

Ввод Email в формате текстовой строки

Отображение в поле ввода текста

Отображение в поле ввода текста

Тест пройден успешно

Ввод суммы покупки в формате математического выражения (сумма)

Отображение вычисленной суммы в поле ввода

Отображение вычисленной суммы в поле ввода

Тест пройден успешно

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

Отображение в поле ввода даты

Отображение в поле ввода даты

Тест пройден успешно

Удаление клиента

Удаление записи, содержащей информацию о клиенте

Удаление записи, содержащей информацию о клиенте

Тест пройден успешно

Добавление клиента

Отображение новой записи о клиенте в таблице

Отображение новой записи о клиенте в таблице

Тест пройден успешно

Изменение данных о клиенте

Отображение новых данных о клиенте в таблице

Отображение новых данных о клиенте в таблице

Тест пройден успешно

Применение фильтра по дате рождения клиента к таблице

Отображение данных удовлетворяющих условию запроса

Отображение данных удовлетворяющих условию запроса

Тест пройден успешно

Вывод таблицы на печать

Печать таблицы на бумаге во всю ширину страницы

Печать таблицы на бумаге во всю ширину страницы

Тест пройден успешно

Вывод в TXT формат

Отображение данных в текстовом документе

Отображение данных в текстовом документе

Тест пройден успешно


Тестирование на ошибочные данные

Таблица В.2 - Тестирование на ошибочные данные

Действие

Ожидаемый результат

Фактический результат

Вывод

Ввод в поле Номер карты символов, букв латиницы и кириллицы

Приложение не допускает ввод букв и символов и сообщает об ошибке

Приложение не допускает ввод букв и символов, и всплывающая подсказка сообщает об ошибке

Тест пройден успешно

Ввод в поля числа, лежащего за областью определения числового типа данных

Приложение не допускает ввод в поле чисел, значение которых выше области определения числового типа данных

Приложение не допускает ввод в поле чисел, значение которых выше области определения числового типа данных

Тест пройден успешно

Ввод в поля даты текста

Приложение не допускает ввод букв и символов и сообщает об ошибке

Приложение не допускает ввод букв и символов и сообщает об ошибке

Тест пройден успешно


Тестирование интерфейса

Таблица В.3 - Тестирование интерфейса

Принцип

Характеристики

Обеспечение

Естественность

Не вынуждает пользователя существенно изменять привычные для него способы решения задачи

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

Согласованность

Позволяет пользователям переносить имеющиеся знания на новые задания, осваивать новые аспекты быстрее, и благодаря этому фокусировать внимание на решаемой задаче

Кнопка "Меню" в верхней части любой формы позволяет пользователю мгновенно получить доступ ко всем функциям программы. Хард-клавиша "Назад" на Android устройстве закрывает текущий экран приложения, возвращая к предыдущему.

Дружественность

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

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

Принцип "Обратной связи"

Каждое действие пользователя должно получать визуальное, а иногда и звуковое подтверждение того, что программное обеспечение восприняло введенную команду

Процесс выполнения объемных задач, сопровождает статус-бар или индикатор; при некорректных действиях пользователя выводится ошибка или всплывающая подсказка.

Простота