Диплом: Автоматизация управления продажами интернет-магазина для "ООО Скандинавия"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
54
Таблица 7
Поля таблицы статус заказа (OrderStatus)
Поле таблицы
Тип данных
Описание
Id
INT UNSIGNED
Код состояния заказа
Stutus
INTEGER
Название состояния заказа
Структура проектируемой БД представлена на рисунке 19.
Categories
CategoryID
ParentCategory
Name
Tovars
CategoryID (FK)
AuthorID (FK)
IDTovar
Name
ISBN
ImageHREF
Synopsis
AppearDate
Count
Price
Authors
AuthorID
Name
TextName
Users
IDUser (FK)
OrderStatusID (FK)
IDOrder (FK)
Name
Surname
Email
Phone
IP
SessionKey
Orders
IDOrder
OrderStatusID (FK)
IDUser
Amount
Date
Payment
AmountKol
OrderDetail
IDOrder (FK)
IDUser (FK)
IDTovar (FK)
CategoryID (FK)
AuthorID (FK)
OrderStatusID (FK)
Quatity
Payment
OrderStatus
OrderStatusID
Status
Рисунок 19 – Структура проектируемой БД интернет
магазина
На представленном рисунке отображены ранее описанные таблицы и связи
между ними.
В рамках данного раздела было выполнено проектирование основных
объектов интернет магазина, были определены подсистемы и взаимосвязь между
ними, выполнено определение функций пользователей по отношению к
разрабатываемому сайту, представлено взаимодействие во временном аспекте,
представлена деятельность основных подсистем, для наглядного представления
использовались диаграммы языка моделирования UML, были построены
диаграммы вариантов использования, последовательности, состояний, активности.
55
ГЛАВА 3. ОПИСАНИЕ ПРОГРАММНОЙ РЕАЛИЗАЦИИ ИНТЕРНЕТ
МАГАЗИНА ООО «Скандинавия»
3.1 Обоснование выбора среды разработки
Для разработки хорошо функционирующего веб-приложения – многими
специалистами считается, что лучшей комбинацией инструментов для создания веб
приложения будет комбинация PHP и MySQL.
PHP - это быстрый и многофункциональный язык сценариев с открытым
исходным кодом, используемый для разработки веб-приложений или приложений
Интернет / Интранет.
MySQL - это мощный сервер баз данных с открытым исходным кодом,
построенный на основе системы управления реляционными базами данных
(RDBMS) и способный обрабатывать большое параллельное соединение с базой
данных.
В сочетании друг с другом PHP и MySQL могут создавать очень мощные и
масштабируемые приложения Web / Internet / Intranet [20].
PHP и MySQL - это Open Source, что означает, что они являются
бесплатными инструментами разработки, и существует большое сообщество
программистов, которые вносят свой вклад в совершенствование и постоянно
добавляют к нему функции. Средства разработки и серверы баз данных,
требующие затрат на лицензирование, имеют ограниченные ресурсы
программирования по сравнению с инструментами разработки с открытым
исходным кодом, которые имеют огромное и быстро растущее специализированное
и хорошо осведомленное сообщество, которое распространяется по всему миру.
PHP и MySQL являются лучшими инструментами разработки. При
правильной разработке приложения могут быть созданы с простой практичностью,
сложной функциональностью, скоростью, мощностью и масштабируемостью.
PHP и MySQL построены так, что любой, кто имеет минимальное
количество знаний в области программирования, может объединить веб-
приложение на основе браузера [31].
При создании сайтов разработчик столкивается с двумя направлениями по
разработке веб приложения. Первое направление создание сайта классическим
56
методом, т.е. написание кода сайта на одном или нескольких языках веб-
программирования. В зависимости от требований к сайту, разработка может
осуществляться в простых или в визуальных редакторах HTML и CSS. В случае,
если необходимо реализовать простой статический сайт, то достаточно
использование «связки» HTML и CSS, с возможным включением, в некоторых
случаях, Javascript. Для создания более функциональных сайтов с возможностью
динамического обновления имеет смысл использование таких технологий как PHP,
ASP.NET и т.д [35].
Для создания сайтов с использованием языка PHP программный код можно
писать в обычном блокноте операционной системы Windows для запуска
понадобится установка веб сервера например Денвер.
Одним из недостатков ручной разработки является то, что дизайн сайта
также необходимо создавать вручную с помощью различных программных
средств, для этих целей могут применяться любые графические редакторы.
Второе направление по разработке сайтов связан с использованием методов
автоматизированного создания при помощи систем управления контентом,
которые называются специальными конструкторами сайтов.
CMS это онлайн-системы, которые дают возможность из готового
типового набора модулей и компонентов разработать структуру сайта и сразу
разместить его на хостинге. Наиболее популярными CMS являются WordPress,
Joomla и др. Необходимо отметить, что методы создания сайтов с использованием
CMS, на данный момент, являются наиболее популярными, это объясняется тем,
что не требуется больших знаний программирования у разработчиков, и
предоставляет более гибкую, готовую программную оболочку, которую
пользователь может изменить и настроить. В данной работе для разработки сайта
было использовано ручное написание программного кода [33,36].
3.2. Описание разработанных модулей
После формирования структуры базы данных и ее разработки, необходимо
разработать программный комплекс интернет магазина. Как было описано ранее,
сайт будет состоять из подсистем: клиентской части, администрирующей и
подсистемы управления сайтом, в связи с этим программная реализация будет
57
сводиться к разработке модулей для клиента, и отдельно для администратора,
ранее были описаны элементы управления интернет магазина, при разработке
подсистема управления была объединена с администрирующей частью.
Для наглядности представления подсистем необходимо сформировать
диаграмму классов. Диаграмма классов - статическая диаграмма, представляет
собой статический вид приложения. Диаграмма классов используется не только для
визуализации, описания и документирования различных аспектов системы, но и
для создания исполняемого кода программного приложения.
Диаграмма классов описывает атрибуты и операции класса, а также
ограничения, налагаемые на систему. Диаграммы классов широко используются
при моделировании объектно-ориентированных систем, поскольку они являются
единственными диаграммами UML, которые могут отображаться непосредственно
с объектно-ориентированными языками.
Диаграмма классов показывает набор классов, интерфейсов, ассоциаций,
совместной работы и ограничений. Он также известен как структурная диаграмма
[17].
Цель диаграммы классов - моделировать статический вид приложения. Цель
диаграммы классов можно обобщить как:
анализ и проектирование статического представления приложения;
представление обязанностей системы;
база для диаграмм компонентов и развертывания;
передовая и обратная инженерия [9].
На рисунке 21 представлена разработанная диаграмма классов.
58
Рисунок 19 – Диаграмма классов интернет магазина
Диаграмма классов построена в соответствии с требованиями и
спроектированными ранее подсистемами, данная диаграмма позволит
непосредственно перейти к построению карты сайта и дальнейшему написанию
программного кода.
Функционирование интернет магазина обеспечивают следующие
программные модули:
1) catalog.php предоставляет пользователю каталог товаров, товар разбит
на разделы ноутбуки (notebooks.php), мобильные телефоны (telephone.php),
системы наблюдения (kpk.php), фотоаппараты (foto.php);
2) search.php позволяет осуществлять поиск по каталогу товаров;
3) login.php регистрационная форма посетителя;
4) profile.php – редактирование собственной учетной записи посетителя;
5) basket.php – корзина покупок посетителя;
6) admin/pages.php – модуль управления страницами сайта;
59
7) admin/catalog.php – модуль управления содержимым каталога товара,
позволяет добавлять, редактировать и удалять товары в каталоге;
8) admin/orders.php – модуль управления заказами, отображает появление
новых заказов на скачивание;
9) admin/news.php – модуль управления новостями и объявлениями сайта;
10) admin/users.php – модуль управления учетными записями посетителей;
11) admin/gallery.php – модуль управления внешним видом сайта интернет
магазина, позволяет управлять графическими галереями;
12) admin/profile.php модуль редактирования личной учетной записи
администратора.
В разработанном магазине были реализованы требования, предъявляемые к
современным Интернет магазинамам.
1. Каталог книжных изданий. Каталог представляет собой сложную и
многоуровневую структуру данных, которая простым и понятным способом
производит упорядочивание книжных изданий. Каталог представлен в виде дерева
объектов, верхний уровень которого состоит из списка разделов. Разделы содержат
подразделы и ссылки на конкретный товар и т.д. Такое упорядочивание удобно для
быстрого поиска и заказа товаров.
2. Поисковая система. Поисковая система позволяет значительно сократить
количество переходов между страницами каталога для доступа к интересующей
информации.
3. Регистрационная форма. Служит для ввода персональных данных
пользователей.
4. Корзина покупок. Служит для добавления товаров при осуществлении
покупок пользователями сайтов. Имеет механизмы изменения состояния корзины –
при добавлении или удалении товара из него, а также осуществляет подсчет
количества единиц товара и его стоимости.
5. Административная панель, которая дает возможность управлять как
каталогом сайта, добавляя, изменяя или удаляя товары, так и внешним видом сайта,
изменяя настройки внешнего вида магазина, управляя страницами, галереей, кроме
этого админ панель дает возможность обработки заказов, формирования данных по
статистике продаж, отображает топ заказчиков и топ продаваемых товаров. Также
60
есть возможность управления данными пользователей – формируя ключи
приглашения для разной группы пользователей, осуществляя движение между
категориями пользователей. Разработаны инструменты управления новостями,
акциями и другими элементами магазина [37].
Разработка сайта осуществлялась с помощью ранее анонсированных веб
приложений языка PHP и СУБД MySQL [35].
С помощью встроенного инструмента phpmyadmin была разработана БД
сайта, пример создания таблиц представлен на рисунке 20.
При построении таблицы в данной оболочке осуществляется определение
структуры таблицы, указывается название и тип полей, на рисунке 21 представлена
структура таблицы «News».
Рисунок 20 – БД в phpmyadmin
61
Рисунок 21 – Структура таблицы «News»
Как видно из рисунков в оболочке phpmyadmin выполнять следующие
действия над таблицами:
1. Browse – обзор таблицы.
2. Structure – структура таблицы.
3. SQL – формирование запросов.
4. Search – поиск по БД.
5. Insert – вставить элементы таблицы.
6. Export – экспорт данных таблицы.
7. Import – импорт таблицы.
8. Operations – выполнение настроек над таблицей.
9. Empty – очистка таблицы от данных
10. Drop – удаление таблицы.
С помощью данного средства создаются таблицы БД, а с помощью
прописанных алгоритмов взаимодействия осуществляется добавление, извлечение
и удаление данных.
Например, регистрация пользователя осуществляется с помощью
следующего фрагмента программы:
public function loginCmd() {
return $this->IndexTheme('Авторизация', 'login.tpl.php');
}
62
public function logoutCmd() {
session_unset();
session_destroy();
setcookie('uid', null, 0, '/');
$this->redirect('/admin');
}
public function doLoginAsync() {
$values = array(
'email' => Filter::getEmail($_REQUEST, 'email'),
'password' => Filter::getPassword($_REQUEST, 'password'),
'remember' => Filter::isExist($_REQUEST, 'remember')
);
Отправка регистрационных данных с помощью следующей конструкции:
if ($this->ValidateRemindForm($values)) {
$where = 'email = \''.$values['email'].'\'';
$sended = true; //if mail sended
if (count($users = $this->User->loadUsers(0, 1, $where))) {
/**send remind mail*/
$PHPMailer = new PHPMailer();
$PHPMailer->CharSet = 'utf-8';
$PHPMailer->ContentType = 'text/html';
$PHPMailer->AddAddress($users[0]['email']);
$this->getTemplateAdapter()->pass($users[0]);
$this->getTemplateAdapter()->put('unsubscribe-link',
'http://'.$_SERVER['HTTP_HOST'].'/public/unsubscribe.php?cmd=index&uid='.$users[0
]['uid']);
$body = $this->getTemplateAdapter()->render('emails/remind.tpl.php');
$PHPMailer->Body = $body;
63
$PHPMailer->Send();
/**send remind mail*/
echo 'На почтовый ящик <b>'.$users[0]['email'].'</b>
отпарвлен пароль доступа на сайт';
} else
echo '<b style="color: #C91313;">'.$values['email'].'</b>
данный адрес не числится в нашей базе.<br/>
Пожалуйста, проверьте правильность написания адреса.';
}
die();
}
3.3. Описание функционирования разработанного интернет магазина
Пользователей, имеющий права администратора интернет магазина, входит
в панель администратора, которая представлена на рисунке 22.
Рисунок 22 – Панель администратора
Администратор добавляет новости сайта с помощью разработанных
инструментов (см. рис. 23).

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

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