Диплом: Автоматизация подсистемы учета статистических данных и формирование отчета по работе интернет-магазина ООО "ЛЮТИК"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
57
Информация, необходимая для формирования статистических отчетов
хранится в семи таблицах базы данных:
Product (для хранения данных о товарах);
Category (для хранения данных о категориях товаров);
Order ля хранения данных по заказам покупателей);
Order_product ля хранения данные о товарах в заказах покупателей);
Get_parameters (для хранения данных справочника «GET-параметры»);
Ad_channel (для хранения данных справочника «Рекламные каналы»);
Ad_campaign (для хранения данных справочника «Рекламные
кампании»).
Описание всех таблиц базы данных представлены в таблицах 10-16.
Таблица 10
Таблица product (Товары)
Наименование поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
Идентификатор
id
int
11
AI
Название
caption
varchar
255
Код
code
varchar
255
unique
Модель
model
varchar
255
Url-адрес
url
varchar
255
Цена
price
float
10,2
Остаток
quantity
int
11
Категория
category_id
int
11
FK
Таблица 11
Таблица сategory (Категории товаров)
Наименование поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
Идентификатор
id
int
11
AI
Наименование
caption
varchar
255
Url-адрес
url
varchar
255
58
Таблица 12
Таблица Order (Заказы покупателей)
Наименование поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
Идентификатор
id
int
11
AI
Дата заказа
createdat
datetime
255
Статус заказа
status
int
11
Сумма заказа
summ
float
10,2
Клиент
client
int
11
Строка для
хранения GET-
параметров
get
text
65556
Поле для хранения
источника перехода
refferer
text
65556
Таблица 13
Таблица order_product (Товары в заказах покупателей)
Наименование поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
Код заказа
order_id
int
11
FK
Код товара
product_id
varchar
255
FK
Цена
price
float
10,2
Количество
quantity
int
11
Таблица 14
Таблица ad_channel (Рекламный канал)
Наименование поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
Идентификатор
id
int
11
AI
Название
caption
varchar
255
Значение
description
varchar
255
GET-параметр
get_id
int
11
FK
Таблица 15
Таблица ad_capmpaign (Рекламные кампании)
Наименование поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
Идентификатор
id
int
11
AI
Название
caption
varchar
255
Значение
description
varchar
255
GET-параметр
get_id
int
11
FK
59
Таблица 16
Таблица GET-parameters (Правила сборки)
Наименование поля
Идентификатор
поля
Тип поля
Длина
поля
Прочее
Идентификатор
id
int
11
AI
Количество
quantity
int
11
Комментарий
comment
varchar
255
Оборудование
productid
id
11
FK
Комплектующие
materilaid
id
11
FK
2.3.3. Структурная схема пакета
Как уже было описано выше, интернет-магазин компании ООО «Лютик»
работает на базе системы Opencart, которая представляет собой площадку для
создания интернет-магазинов с открытым исходным кодом. Opencart написан в
соответствии с подходом к программированию, называемый model -view-controller
(сокращенно – MVC, что в дословном переводе означает «модель-представление-
контроллер» или по-другому «модель-вид-контроллер»).
Основная идея данного подхода заключается в разделении данных, их
представлениях и обработку действий пользователей на три больших группы:
Модель (англ. Model ). Модель предоставляет объекты предметной
области: это знания, или данные о предметной области, а также методы работы с
этими данными, реагирует на запросы, изменяя своё состояние. Объекты данной
группы не содержат информации, как эти данные можно отображать пользователю.
Представление, вид (англ. View). Отвечает за отображение
информации (визуализацию). Чаще всего информация отображается в виде
специальных форм пользовательского интерфейса информационной системы.
Главная задача – представить информацию, хранимой в модели, в виде,
воспринимаемым пользователем.
Контроллер (англ. Controller). Отвечает за обеспечение связи между
пользователем и системой. То есть контролирует ввод данных, использует модель
и представление для создания необходимой реакции программы на действия
пользователя.
Согласно данному подходу были разработан один класс контроллера, три
класса модели и 2 файла представления. Файлы контроллеров и моделей имеют
расширение *.php, так как там описаны классы системы, по аналогии с уже
60
имеющимися классами. Файлы представлений имеют расширение *.tpl, это файлы-
шаблоны, которые используются в Opencart для формирования страниц.
Использование шаблонов позволяет в значительной мере ускорить разработку
сайтов, т.к. нет необходимости в коде php повторять одни и те же блоки.
Достаточно лишь в заранее созданный шаблон передать нужные переменные,
которые подставляются в необходимых местах шаблона.
В таблице 17 приведен список разработанных программных модулей и их
описание.
Таблица 17
Программные модули
Название
Описание
Обрый день,
StatSpravContoller.php
Класс контроллера, обрабатывающий маршруты
работы со справочниками подсистемы
формирования отчетов, обработка отправленных
форм и передача данных для отображения в файлы
представления
StatReportContoller.php
Класс контроллера, обрабатывающий работу
формы ввода параметров формируемых отчетов
Get_parameters.php
Класс модели, содержащий атрибуты и методы для
работы с объектом GET-параметра
Ad_channel.php
Класс модели, содержащий методы для
реализации работы с нарядами
Ad_campaign.php
Класс модели, содержащий методы для
реализации работы с тестированиями
StatSprav.tpl
Шаблон для формирования страницы работы со
справочниками
StatReport.tpl
Шаблон для формирования страницы
формирования отчета
Дерево вызова программных модулей представлено на рисунке 19.
Ad_campaign.ph
StatSpravController.php
StatSprav.tpl StatReport.tpl
StatReportController.php
Ad_Channel.php
Get_parameters.php
Рисунок 19 – Дерево вызова программных модулей
61
2.3.4. Описание программных модулей
Главная особенность объектно-ориентированного программирования (ООП)
заключается в том, что при использовании этого метода происходит оперирование
объектами. Под объектом в программировании понимается совокупность свойств,
методов их обработки, а также событий, на которые объект должен реагировать
определенным образом. Под свойствами объекта обычно понимают структуры
данных, характерные для данного объекта, или другими словами – набор свойств
характеризуют какой-либо объект. Метод – это способ влияния на свойства
объекта, обычно используют два метода – установка какому-то свойству
определенного значения, и считывание значения этого свойства.
Единство данных и процедур их обработки в одном объекте в терминологии
ООП называют инкапсуляцией. Инкапсуляция является одним из важнейших
принципов ООП.
Еще одним фундаментальным понятием ООП является класс.
Классом называют шаблон, на основе которого создается конкретный
программный объект. То есть в классе описаны все свойства и методы,
определяющие поведение каждого объекта, созданного на основе этого класса.
Также принято каждый объект, созданный на основе класса называть экземпляром
этого класса.
Следующими важнейшими принципами ООП являются наследование и
полиморфизм.
Наследованием называют такую организацию классов, при которой создание
новых классов выполняется на основе уже существующих, в таком случае новый
класс наследует все свойства класса, на базе которого он был создан (отсюда и
название – наследование).
Полиморфизм подразумевает, что созданные объекты обладают
информацией о том, какие методы они должны использовать в зависимости от
того, в каком месте цепочки (дерева классов) они находятся, иными словами это
концепция, реализующая "множество методов в одном интерфейсе".
Формирование отчетов выполняется в классе «StatReportContoller». Данные
класс не имеет атрибутов и имеет только один метод: show(). Данный метод
отображает форму для ввода параметров отчета, а также обрабатывает ее отправку
62
(подсчитывает нужные показатели). Показатели по проданным товарам и
категориям подсчитывается с группировкой по наименованию. Группировка по
рекламным каналам и кампаниям работает следующим образом. При переходе на
сайт интернет-магазина какого-либо посетителя в адресной строке передаются
GET-параметры, в которых указывают данные о рекламном канале и кампании в
нем. Эти данные фиксируются в Cookies пользователя. Также в Cookies
записывается источник перехода (http-заголовок refferer).
Cookie является решением одной из наследственных проблем HTTP
спецификации. Эта проблема заключается в отсутствии постоянного соединения
между клиентом и сервером, как при FTP или Telnet сессии, т.е. для каждого
документа (или файла) при передаче по HTTP протоколу посылается отдельный
запрос. Включение cookie в HTTP протокол дало частичное решение этой
проблемы. Cookie – это некое значение в текстово-цифровом виде, которое сервер
передает браузеру. Браузер будет хранить эту информацию и передавать ее серверу
с каждым запросом как часть HTTP заголовка. Одни значения Cookie могут
храниться только в течение одной сессии и удаляются после закрытия браузера.
Другие, установленные на некоторый период времени, записываются в файл.
Сами по себе cookies ничего не делают. Однако сервер может считывать
содержащуюся в cookies информацию и на основании ее анализа совершать те или
иные действия.
Клиент имеет следующие ограничения для Cookies:
всего может храниться до 300 значений Cookies
каждый Cookie не может превышать 4Кбайт
с одного сервера или домена может храниться до 20 значений Cookies
В случае, если Cookie принимает новое значение при имеющемся уже в
браузере Cookie с совпадающими данными, старое значение затирается новым. В
остальных случаях новые Cookies добавляются.
Когда человек оформляет заказ в интернет-магазине значение его Cookies
записываются в соответствующие поля заказа. В дальнейшем контроллер
StatReportContoller разбирает сохраненные GET-параметры в соответствии с
записями справочника «GET-параметры».
Алгоритм процедуры формирования отчета приведен на рисунке 19.
63
Начало
Отправка запроса на получение
списка заказов за указанный
период времени
Проверка наличия ввода
обязательных параметров
Вывод сообщения
об ошибке
Параметры не введены
Параметры введены
Передача результирующего массива в
шаблон страницы
Конец
Цикл по результатам запроса
i=1; i<=n; i++
Конец цикла по результатам
Разбивка данных на
подмассивы по параметрам
группировки
Суммирование требуемых
показателей по уровням
разбивки
Сохранение данных в
результирующем массиве
Отображение страницы
пользователю
Рисунок 19 – Алгоритм формирования отчета
Для реализации интерактивных элементов пользовательского интерфейса
используются ajax-запросы.
AJAX это аббревиатура, которая означает Asynchronous Javascript and
XML. При использовании AJAX нет необходимости обновлять каждый раз всю
страницу, так как обновляется только ее конкретная часть [8].
64
Обобщим достоинства AJAX:
возможность создания удобного Web-интерфейса;
активное взаимодействие с пользователем;
частичная перезагрузка страницы, вместо полной;
удобство использования.
Для более удобного написания программного кода ajax-запросов была
подключена библиотека jQuery.
jQuery – это JavaScript-библиотека, фокусирующаяся на взаимодействии
JavaScript, HTML и CSS.
С помощью jQuery можно выполнять следующие операции:
обращаться к любому элементу DOM (объектной модели html-
документа) и не только обращаться, но и манипулировать ими;
работать с событиями;
легко осуществлять различные визуальные эффекты;
работать с AJAX.
Перечисленные выше операции можно реализовать и с помощью обычного
Javascript-кода, однако использование библиотеки значительно упрощает
написание программного кода, а также упрощает его структуру и делает более
понятным для понимания.
Например, с помощью технологии Ajax была реализована работа страницы
для формирвоания отчетов: после ввода все параметров и нажатия на кнопку
формирования отчета, он отображается без перезагрузки страницы.
Исходный код программных модулей приведен в приложении.
2.4. Контрольный пример реализации проекта и его описание
После прохождения авторизации в панели управления интернет-магазином с
помощью соответствующей формы (Рисунок 20), пользователю отображается
главная страница сайта с навигационным меню.
65
Рисунок 20 – Форма авторизации
Доступ к разработанной подсистеме формирования отчетов осуществляется
с помощью дополнительного пункта навигационного меню. В нем два пункта:
«Работа со справочниками» и «Формирование отчета» (Рисунок 21).
Рисунок 21 – Навигационное меню
При переходе в раздел работы со справочниками открывается список
справочников (Рисунок 22).
66
Рисунок 22 – Список справочников
При клике по названию справочника открывается список записей данного
справочника. Например, на рисунке 23 приведены записи справочника «Рекламные
каналы»
Рисунок 23 – Записи справочника «Рекламные каналы»
Работа с записями справочника выполняется с помощью отдельной формы.
На рисунке 24 приведена форма для работы с записями справочника «Рекламные
каналы».

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
IPO - инструмент финансирования деятельности организации. На примере ПАО «Нефтяная компания «Лукойл»
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)