Диплом: Разработка электронного магазина для продукции ИП "Бушляков"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
36
инструменты языка «Python» это то место, где выполняется большая часть
операций.
− Утилиты сторонних разработчиков
«Python» – это открытый программный продукт и поэтому разработчики
могут создавать свои предварительно скомпилированные инструменты
поддержки задач, решить которые внутренними средствами невозможно.
Чтобы оптимизировать процесс написания сайтов, увеличить их
производительность, сократить время, затрачиваемое на типичные задачи,
используют разнообразные шаблоны – фреймворки. Для реализации интернет-
магазина был использован фреймворк «Django».
Django — свободный фреймворк для веб-приложений на языке
«Python», использующий шаблон проектирования «MVC».
Шаблон проектирования «MVC» предполагает разделение данных
приложения, пользовательского интерфейса и управляющей логики на три
части: Модель, Представление и Контроллер – таким образом, что
модификация каждой части может осуществляться независимо.
Модель служит для извлечения и манипуляций данными приложения,
Представление отвечает за видимое пользователю отображение этих данных (то
есть, в применении к вебу, формирует отдаваемый сервером браузеру
пользователя «HTML/CSS»), а Контроллер управляет всем этим оркестром.
37
Рисунок 9. Модель «MVC»
Рисунок 10. Диаграмма последовательности для иллюстрации
работы «MVC»
38
Контроллер классической модели «MVC» соответствует уровню,
который в «Django» называется «Представление» (англ. «View»), а
презентационная логика «Представления» реализуется в «Django» уровнем
«Шаблонов» (англ. «Template»). Из-за этого уровневую архитектуру «Django»
часто называют «Модель-Шаблон-Представление» («MTV»).
Сайт на «Django» строится из одного или нескольких приложений,
которые рекомендуется делать отчуждаемыми и подключаемыми. Это одно из
существенных архитектурных отличий этого фреймворка.
Также, в отличие от других фреймворков, обработчики «URL» в
«Django» конфигурируются явно при помощи регулярных выражений, а не
выводятся автоматически из структуры моделей контроллеров.
Некоторые возможности «Django»:
- «API» доступа к БД с поддержкой транзакций;
- встроенный интерфейс администратора с уже имеющимися переводами
на многие языки;
- диспетчер «URL» на основе регулярных выражений;
- расширяемая система шаблонов с тегами и наследованием;
- система кэширования;
- интернационализация;
- подключаемая архитектура приложений, которые можно устанавливать
на любые «Django»-сайты;
- «generic views» — шаблоны функций контроллеров;
- авторизация и аутентификация, подключение внешних модулей;
- система фильтров («middleware») для построения дополнительных
обработчиков запросов, как например включённые в дистрибутив
фильтры для кэширования, сжатия, нормализации «URL» и поддержки
анонимных сессий;
- библиотека для работы с формами (наследование, построение форм по
существующей модели БД);
39
- встроенная автоматическая документация по тегам шаблонов и моделям
данных, доступная через административное приложение.
Компоненты фреймворка слабо связаны между собой, поэтому их можно
достаточно просто заменять на аналогичные.
Фреймворк «Django-SHOP» дополняет фреймворк «Django CMS»,
позволяя создавать собственный интернет-магазин на базе шаблона. Фреймворк
реализует такие бизнес-процессы как
- Ведение каталога товаров;
- Оформление заказа;
- Регистрация пользователей;
- Добавление нового товара;
- Создание новых моделей товара;
- Коммуникация с базами данных («PostgreSQL», «MySQL», «SQLite»);
Интернет-магазин разворачивается как «Django» приложение. В
совокупности с базовыми возможностями «Django CMS» фреймворк «Django
SHOP» реализует базовые функции интернет-магазина. Для старта магазина
необходимо только определить модели товаров, добавить в магазин страницы,
подключить сервис полнотекстового поиска «ElasticSearch», базу данных, и
установить библиотеки-зависимости для «Django-SHOP». Фреймворк работает
как на «Linux», так и на «Windows». Минимальные характеристики для
отладочного сервера:
- 1 ГБ Оперативной памяти;
- Частота процессора 2 ГГц — 4.7 ГГц;
- 2 ГБ на жёстком диске;
Характеристики рабочего сервера будут выше и будут зависеть от
нагрузки.
«DjangoSHOP» устанавливается, как и большинство других пакетов на
«Python», при помощи утилиты «pip». Описываемый модуль имеет следующие
40
зависимости:
- «Python 3»;
- «Redis»,
- «SQLite»,
- «Node Package Manager».
Интернет-магазин, построенный на базе этого фреймворка, состоит из
самого фреймворка, из нескольких джанго-приложений и собственной
реализации торговли. Разработчики фреймворка характеризуют его следующим
образом:
- как и джанго, следует принципу «DRY» («Don’t repeat yourself» «Не
повторяйся»), нацеленному на снижение повторения информации
различного рода;
- минимализм (принцип «KISS» «keep it simple, stupid»). Предоставляет
набор базовых функциональных возможностей, без необходимости
изобретать колесо: основные элементы (каталог товаров, карточка
отдельного товара, корзина, личный кабинет) и методы (добавление
товара в корзину, удаление из корзины, изменение количества товаров в
корзине, преобразование корзины в заказ, отображение списка заказов в
личном кабинете, оплата и доставка товаров);
- модульность системы (разделение на модули по функциональности, легче
тестировать и отлаживать, Нет опасности создания циклических
зависимостей, как это происходит в больших библиотеках и автономных
приложениях, легче заменить один модуль на другой);
- кастомизация: можно дописать свои модули или отредактировать поля
модели;
- поддержка мультиязычности и различных валют.
41
2 ПРОЕКТНАЯ ЧАСТЬ
2.1 Информационное обеспечение задачи
2.1.1 Структурное моделирование
В этом разделе представлена логика работы интернет-магазина с
помощью графической нотации IDEF0 в виде набора взаимосвязанных
функциональных блоков.
На рисунке 11 представлена контекстная диаграмма верхнего уровня
модели разрабатываемой системы. Имя блока на этой диаграмме является
целью функционирования системы.
Рисунок 11. Контекстная диаграмма верхнего уровня модели IDEF0
для интернет-магазина
Функция «Совершить покупку в интернет-магазине» разложена на
основные подфункции посредством создания дочерней диаграммы.
Декомпозиция диаграммы верхнего уровня более подробно описывает логику
системы. Она представлена на рисунке 12.
42
Рисунок 12. Декомпозиция уровня «Совершить покупку в интернет-
магазине»
На рисунке 12 представлена общая схема совершения покупки в
интернет-магазине. Логику работы интернет-магазина можно разделить на три
части:
- фаза формирования корзины;
- фаза оформления заказа (ввод данных о доставке, выбор способа оплаты.
Заключительный шаг оформления заказа – операция покупки, здесь
происходит формирование заказа, корзина становится пустой);
- заключительная фаза (статус заказа, который изменяется сотрудником
магазина).
Также присутствует часть регистрации и входа в систему. По модели на
рисунке 12 видно, что первая фаза доступна как зарегистрированным
пользователя, так и незарегистрированным, однако для стадии оформления
заказа уже требуется авторизация. Если у пользователя нет учетной записи в
системе интернет-магазина, сначала ему следует пройти процедуру
43
регистрации. Декомпозиция уровня «Сформировать заказ» иллюстрирует
необходимые шаги при оформлении заказа, а именно: внесение данных о
пользователе, способах оплаты и доставки.
Первая фаза покупки более подробно представлена на декомпозиции
уровня «Сформировать корзину» (рисунок 13) и включает в себя поиск и
просмотр товаров, добавление их в корзину, а также редактирование, при
необходимости, корзины, то есть удаление или изменение количества какой-
либо позиции.
Рисунок 13. Декомпозиция уровня «Сформировать корзину»
Подробная модель формирования заказа представлена на рисунке 14. По
нему видно, что для оформления заказа пользователь должен ввести свои
данные в систему.
44
Рисунок 14. Декомпозиция уровня «Сформировать заказ»
Доступ к третьей фазе есть только у сотрудника магазина. На этой
стадии сотрудник изменяет статус заказа в системе. Статус заказа может быть
следующим:
- Ожидается оплата: заказ сформирован, но оплата пока не внесена;
- Оплата подтверждена;
- Заказ собран: сотрудники укомплектовали заказ, и заказ готов к выдаче;
- Заказ выдан.
За изменением статуса заказа пользователь следит из личного кабинета.
2.1.2 Характеристика нормативно-справочной, входной и
оперативной информации
В данной информационной системе применяется 4 вида кодирования,
предназначенные для однозначной идентификации категорий, товаров, заказов,
пользователей. Используемые системы кодирования указаны в таблице 3.
Таблица 3
45
Виды системы кодирования
Кодируемо
е
множество
объектов
Длин
а
кода
Мощност
ь кода
Система
кодировани
я
Система
классификац
ии
Вид
классификато
ра
Категории
2
99
порядковая
иерархическая
общесистемный
Товары
6
99999
порядковая
иерархическая
общесистемный
Заказы
3
999
порядковая
иерархическая
общесистемный
Пользовате
ли
5
99999
порядковая
иерархическая
общесистемный
Администратор заполняет все классификаторы системы:
- Классификатор категорий:
Структурная формула классификатора:
F = [Наименование]:[ XX] – код категории
Пример заполнения – 04
- Классификатор продуктов:
Структурная формула классификатора:
F = [Наименование ]:[ XXXXXX] – код категории, код продукта
Пример заполнения – 899
- Классификатор заказов:
Структурная формула классификатора:
F = [Дата]:[ XXX] – код заказа
Пример заполнения –28.07.2018- 68
- Классификатор пользователей:
Структурная формула классификатора:
F = [Наименование]:[ XXXXX] – код пользователя
Пример заполнения – 14071

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

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