1.4 Постановка задачи
Можно выделить основные цели разработки интернет-магазина цветов «Цветы»:
- Интернет-магазин может считаться инструментом для увеличения новой и удержания старой аудитории клиентов магазина цветов «Цветы».
- Организация продаж посредством сайта является более выгодной и удобной альтернативой продажам в обычном магазине, как для покупателя, так и для продавца. Преимущество интернет-магазина заключается в отсутствии временных и пространственных ограничениях.
- Современные поисковые возможности сети Интернет, а также доступ из любой точки земного шара повышают эффективность выбора товара для покупателя и экономят его время.
- Интернет-магазин предлагает новые возможности для продавца, позволяет снизить затраты, связанные с процессом продажи.
Разрабатываемое web-приложение предназначено для обеспечения работы интернет-магазина цветов, функции web-приложения:
- Администрирование – регистрация и добавление администратором новых пользователей, назначение прав.
- Редактирование каталога товаров администратором.
- Регистрация покупателя на сайте.
- Авторизация покупателя на сайте.
- Просмотр информации о товарах покупателем.
- Заказ товаров покупателем, подтверждение заказа из личного кабинета покупателя.
- Анализ продаж в режиме менеджера, экспорт данных о продаже в Excel.
Диаграммы TO-BE в методологии IDEF0 представлены ниже. Управление на диаграмме это – информация о пользователях, информация о цветах и категориях. Исполняющий механизм на диаграмме это – клиент, менеджер по продажам, web-приложение (туннелированная связь), служба доставки. Входными данными системы являются: личные данные покупателя, данные для авторизации, заказ покупателя, оплата заказа. Выходными данными являются выполненный заказ, счет на оплату и чек.
Рисунок 1.12 – Контекстная диаграмма
Рисунок 1.13 – Декомпозиция работы «Обработать заказы в интернет-магазине цветов»
Диаграммы TO-BE в методологии DFD представлены ниже. На контекстной диаграмме представлена внешние сущности «Администратор» и «Покупатель». Входными данными системы являются: Информация о цветах и категориях, информация о пользователе, личные данные, данные для авторизации, заказ покупателя, оплата заказа. Выходными данными являются: счет на оплату, чек, выполненные заказы. Контекстная диаграмма приведена на (рис.1.14) Диаграммы декомпозиции представлены на рисунках (1.14 — 1.15)
Рисунок 1.14 – Контекстная диаграмма
Рисунок 1.15 – Диаграмма декомпозиции первого уровня
Таким образом, целью создания сайта является повышение имиджа предприятия и предоставление клиентам оптимального инструмента для взаимодействия с предприятием. Также, сайт обеспечит информирование клиентов о продукции компании. Для компании реализация стратегии перехода к электронному бизнесу по средствам глобальной сети Интернет является оптимальным развитием своего бизнеса. Внедрение web-сайта компании позволит в полной мере представить информацию о реализуемой продукции в общедоступном и удобном виде и обеспечить повышение информирования клиентов и значительного увеличения количества продаж.
2 ПРОЕКТИРОВАНИЕ СИСТЕМЫ ФОРМИРОВАНИЯ И ДОСТАВКИ БУКЕТА
2.1 Архитектура построения системы
Разрабатываемый web-сервис относится к классу ИС для размещения в сети интернет, что позволит использовать его с любого компьютера, включенного в сеть интернет. В качестве архитектуры системы выбрана распределенная ИС, которая построена по архитектуре клиент -сервер с использованием сервера БД и web-сервера apache.
Архитектура «клиент-сервер» является актуальной на сегодняшний день, потому что обеспечивает простое и относительно недорогое подключение персональных компьютеров к недорогим серверам, обеспечивая тем самым оптимальное соотношение цены и производительности [7]. Архитектура приложения представлена на (рис.2.1)
Рисунок 2.1 — Архитектура приложения
Внутренняя архитектура интернет – магазина проста и интуитивно удобна, состоит из клиентской части, программной части и администрирования как показано на (рис.2.2)
Рисунок 2.2 – Внутренняя архитектура Интернет — магазина
Программная часть архитектуры Интернет — магазинов рассматривается как взаимосвязь операционной и серверной части.
В операционной части рассматривается среда разработки Интернет магазина.
Серверная часть содержит в себе размещение интернет магазина на сайте провайдера, поддерживающие технологии, используемые при создании интернет – магазина.
В серверной части архитектуры рассматривается работа Интернет – магазина в сети Интернет, взаимодействие программного обеспечения магазина и сервисов, предоставляемых собственниками серверов, провайдеров. Так как после изготовления интернет-магазина необходимо будет его разместить в сети интернет и придется столкнуться с выбором мест размещения, иначе говоря выбрать хостинг.
Сервисы, предлагающие свои услуги хостинга, дают возможность размещать информацию, интернет сайт на своём сервере.
Большинство серверов бесплатного хостинга предоставляет довольно ограниченный набор сервисов, в которые, как правило, не входит поддержка различных скриптов (вроде CGI или PHP) и баз данных, необходимых для функционирования солидных интернет-проектов. Такие сервисы предоставляют преимущественно коммерческие хостинг-провайдеры.
Администрирование содержит инструменты управления интернет – магазином и включает в себя как общие настройки магазина, так и специальные настройки.
В клиентской части архитектуры разрабатывается максимально удобная и доступная работа потенциального клиента на страницах интернет – магазина. Разработка интерфейса, доступные и понятные диалоговые окна, удобные системы оплаты и доставки товаров. Витрина магазина оформляется так, чтобы покупатель без труда мог находить интересующий его товар и иметь возможность получить о нём исчерпывающую информацию (описание в виде текста плюс несколько фотографий).
Товары разделяются по группам, обеспечивается возможность поиска товаров по части названия и описания. Для каждого товара предусматривается краткое и полное описание, плюс несколько фотографий.
При оформлении заказа покупатель вносит контактную информацию: логин, пароль, адрес доставки, телефон и т.д. После регистрации покупателю отправляется по электронной почте письмо с сохраненными данными.
В электронном магазине предусматриваются и информационные разделы:
- С данными о магазине (сфера деятельности, адрес, контактные телефоны);
- С информацией по доставке товара;
- Прочая полезная информация.
Перед разработкой сайта выделим основные этапы проектирования сайта. Целесообразно выделить несколько этапов проектирования Интернет-сайта.
- Концептуальное проектирование – на этом этапе определяются цели, задачи сайта и аудитория.
- Логическое проектирование – на этом этапе определяются разделы сайта, связь разделов между собой, размещаемый контент.
- Физическое проектирование – на этом этапе выбираются технологии, которые будут применяться на сайте и программное обеспечение.
На этапе концептуального проектирования следует описать следующее:
- Основные цели создания сайта. В нашем случае целью создания сайта является возможность заказа, продажи и доставки товаров из магазина цветов.
- Состав пользователей. В качестве пользователей сайта были выделены следующие категории: покупатель, менеджер, администратор.
- Разделы сайта. На этапе проектирования были выделены следующие основные разделы сайта:
- страница авторизации;
- страница регистрации;
- личный кабинет администратора;
- личный кабинет покупателя;
- состав заявки клиента.
На этапе логического проектирования с помощью Adobe Dreamveawer были спроектированы следующие основные страницы web-приложения:
- Выбор товара в режиме покупателя.
- Корзина в режиме покупателя.
- Заказы покупателей в режиме администратора.
- Перечень покупателей в режиме администратора.
- Перечень категорий в режиме администратора.
- Перечень товаров в режиме администратора.
Экранные формы страниц представлены в Приложении .
Этап физического проектирования связан прежде всего с технической реализацией сайта.
В качестве инструментальных средств разработки были выбраны язык программирования PHP и СУБД MySQL. В качестве локального web-сервера был выбран openserver.
В качестве средства отладки выбран Adobe Dreamweaver — визуальный HTML-редактор с подсветкой синтаксиса для большинства языков веб-программирования.
В качестве альтернативы Adobe Dreamweaver были рассмотрены следующие редакторы кода: Aptana Studio, BlueGriffon, Seamonkey.
Aptana Studio это интегрированная среда разработки, основанная на проекте с открытым исходным кодом Eclipse. Одно из важнейших преимуществ данного редактора – поддержка JavaScript.
BlueGriffon – это визуальный CSS редактор, основанный на Gecko. BlueGriffon распространяется под лицензионным соглашением MPL, GPL и LGPL, и доступно для всех современных платформ.
Seamonkey – за основу визуального HTML-редактор Seamonkey Composer взят проверенный годами Mozilla Suite/
Автор работал с Adobe Dreamweaver ранее, что послужило основным доводом для выбора данного HTML-редактора. Кроме того, преимуществами Adobe Dreamweaver является:
- Создание веб-страниц и сайтов в реальном времени с последующей правкой кода в удобном редакторе.
- Готовые шаблоны с возможностью ручного редактирования для настройки сайта под конкретного заказчика.
- Предварительный просмотр сайта перед публикацией, с возможностью просмотра с разных типов устройств.
2.2 Структурная схема системы
Диаграмма размещения в UML моделирует физическое развертывание артефактов на узлах.
Узлы представляются как прямоугольные параллелепипеды с артефактами, расположенными в них, изображенными в виде прямоугольников.
В качестве модели доступа к данным выбрана модель удаленного доступа. Предполагаемая организация архитектуры аппаратной платформы – клиент-серверная, представленная на (рис.2.3)
Рисунок 2.3 — Диаграмма размещения
Серверная часть состоит из:
а) сервер базы данных с установленной MySQL;
б) web-сервер Apache версии 1.3;
в) транслятор PHP версии 5.1.
Клиентская часть системы представлена браузером пользователя.
Конфигурации технических средств представлены ниже.
Для сервера:
- Intel Core i5 4460;
- тактовая частота процессора — 3,2 ГГц;
- 4096 Mb Ram;
- объем свободного дискового пространства — 80 Gb;
Для рабочей станции:
- ASUS K31DA-RU001S;
- тактовая частота процессора — 2 ГГц;
- 2048 Mb Ram;
- объем свободного дискового пространства — 30 Gb;
- HP Laserjet pro p1102s;
Диаграмма вариантов использования
Диаграмма вариантов использования (рис.2.4) играет центральную роль в моделировании поведения информационной системы или подсистемы.
Рисунок 2.4 — Диаграмма вариантов использования web-приложения
На диаграмме вариантов использования представлены два актера – Покупатель и Администратор, а также следующие прецеденты:
- Работа со справочной информацией (Режим администратора):
- добавить категорию;
- добавить товар;
- добавить пользователя;
- Просмотр заказа (Режим администратора):
- экспорт в excel;
- смена статуса;
- Работа со справочной информацией (Режим покупателя):
- выбор товара;
- просмотр аннотации;
- очистить корзину;
- подтверждение покупки;
- Регистрация.
- Просмотр информации о магазине.
Диаграмма последовательности
Диаграмма последовательностей приведена на (рис.2.5)
Рисунок 2.5 — Диаграмма последовательностей
Диаграммы последовательности отражают взаимодействие компонентов и объектов информационной системы. Диаграмма последовательности — это упорядоченная по времени диаграмма взаимодействия пользователя и системы, читать ее следует сверху вниз.
Диаграмма демонстрирует последовательность действий пользователей системы, которые совершаются в процессе работы интернет-магазина. Каталог товаров магазина заполняет администратор системы, после чего обновленный каталог становится доступным покупателю для заказа. Совершая заказ, покупатель заполняет корзину и подтверждает заказ. Менеджер по продажам согласовывает заказ с клиентом, после чего производится оплата и заказ приобретает статус «Продано».
2.3 Графическое и текстовое описание информационной модели в нотации IDEF1X
Модель сущностей представлена на (рис.2.6)
Рисунок 2.6 — Модель сущностей
Описание модели приведено в таблицах 2.1, 2.2.
Таблица 2.1 – Сведения о типах сущностей
| № | Имя сущности | Описание | Тип |
| 1 | Категория | Справочник категорий товаров магазина | Сильный |
| 2 | Пользователь | Список пользователей (покупателей и администраторов) | Сильный |
| 3 | Товар | Справочник товаров магазина (цветы, оформление, прочие товары) | Слабый |
| 4 | Заказ | Реестр продаж | Слабый |
| 5 | Букет | Вспомогательная сущность для организации связи «многие-ко-многим» | Слабый |
Таблица 2.2 – Сведения о типах связей
| Тип сущности | Тип связи | Тип сущности | Кардиналь-ность |
| Категория | Характеризует | Товар | 1:N |
| Товар | Участвует в | Букет | 1:N |
| Заказ | Характеризует | Букет | 1:N |
| Пользователь | Осуществляет | Заказ | 1:N |
Логическая модель представлена на (рис.2.7)
Рисунок 2.7 — Логическая модель
Физическая модель представлена на (рис.2.8)
Рисунок 2.8 – Физическая модель
Описание модели приведено в таблицах 2.3-2.9.
Таблица 2.3 – Структура таблицы userclient (Пользователь)
| Наименование | Содержание | Тип поля | Размер поля | Ключ или индекс |
| Iduserclient | Идентификатор пользователья | Int, автоинкремент | 11 | PK |
| Fiouser | Фамилия, имя, отчество пользователя | Varchar | 80 | |
| Loginuser | Логин пользователя | Varchar | 80 | |
| Paroluser | Пароль пользователя | Varchar | 80 | |
| Mailuser | Электронная почта пользователя | Varchar | 80 | |
| Permission | Права пользователя: покупатель или администратор | Varchar | 80 |
Таблица 2.4 – Структура таблицы category (Категория)
| Наименование | Содержание | Тип поля | Размер поля | Ключ или индекс |
| Idcategory | Идентификатор категории | Int, автоинкремент | 11 | PK |
| Category | Категория товара | Varchar | 80 |
Таблица 2.5 – Структура таблицы merch (Товар)
| Наименование | Содержание | Тип поля | Размер поля | Ключ или индекс |
| Idmerch | Идентификатор товара | Int, автоинкремент | 11 | PK |
| Idcategory | Идентификатор категории | Int | 11 | FK |
| Namemerch | Наименование товара | Varchar | 80 | |
| Pricemerch | Цена товара | Int | 11 | |
| Annotation | Описание товара | Varchar | 500 | |
| Filemerch | Файл для фото товара | Varchar | 80 |
Таблица 2.6 – Структура таблицы saleclient (Заказ)
| Наименование | Содержание | Тип поля | Размер поля | Ключ или индекс |
| Idsaleclient | Идентификатор продажи | Int, автоинкремент | 11 | PK |
| Iduserclient | Идентификатор покупателя | Int | 11 | FK |
| Datesaleclient | Дата заказа | Date | 8 | |
| Statussale | Состояние продажи: «Корзина» или «Заказ» | Varchar | 80 | |
| Datedelivery | Дата продажи | Date | 8 | |
| Addressdelivery | Адрес доставки | Varchar | 80 |
Таблица 2.7 – Структура таблицы salemerch (Букет)
| Наименование | Содержание | Тип поля | Размер поля | Ключ или индекс |
| Idsalemerch | Идентификатор букета | Int, Автоинкремент | 11 | PK |
| Idsaleclient | Идентификатор продажи | Int | 11 | FK |
| Idmerch | Идентификатор товара | Int | 11 | FK |
| Countmerch | Количество товара в продаже | Int | 11 |
Таблица 2.8 – Структура таблицы delivery (доставка)
| Наименование | Содержание | Тип поля | Размер поля | Ключ или индекс |
| Iddelivery | Идентификатор доставки | Int, Автоинкремент | 11 | PK |
| Address | Адрес | Varchar | 80 | |
| Surname | Фамилия | Varchar | 80 | |
| Name | Имя | Varchar | 80 | |
| Datadelivery | Дата доставки | Date | 8 | |
| Telephone | Телефона | Int | 11 |
Таблица 2.9 – Структура таблицы courier (Курьер)
| Наименование | Содержание | Тип поля | Размер поля | Ключ или индекс |
| Idcourier | Идентификатор Курьера | Int, Автоинкремент | 11 | PK |
| Iddelivery | Идентификатор доставки | Int | 11 | FK |
| Surname | Фамилия | Varchar | 80 | |
| Name | Имя | Varchar | 80 | |
| Patronymic | отчество | Varchar | 80 | |
| Telephone | Телефона | Int | 11 |
В задаче используются классификаторы, перечень и описание которых представлены в таблице 2.10.
Таблица 2.10 — Состав классификаторов
| Наименование реквизита | Длина кода в знаках | Система кодирования | Вид классификатора | Структура кода |
| № товара | 4 | Порядковая | Общесистемный | XХXX |
| № заказа | 4 | Порядковая | Общесистемный | XХXX |
| № категории товара | 4 | Порядковая | Общесистемный | XХXX |
| № пользователя | 4 | Порядковая | Общесистемный | XХXX |
Входными данными web-приложения являются:
- Данные о пользователе.
- Данные о товаре.
- Данные о букете (составе заказа).
Выходными данными web-приложения являются заказ покупателя и рассчитанная сумма заказа.
Математическое обеспечение
В рамках разрабатываемого web-приложения особых требований к математическому обеспечению не выдвигается. В качестве рассчитываемого экономического показателя выступает общая сумма заказа клиента, которая рассчитывается как сумма стоимости всех заказанных товаров. Стоимость товара рассчитывается как цены товара умноженная на его количество.
