В статье представлено программное обеспечение информационной системы интернет-магазина. Проведен выбор программных средств разработки и языков программирования, представлено разработанное программное обеспечение, а также база данных системы. Описаны состав и структура, разработанных программных модулей.
Ключевые слова: интернет-магазин, модели UML, языки программирования HTML, CSS, JS.
В наши дни невозможно представить жизнь без интернет-технологий. Они постоянно развиваются и все больше людей пользуются ими. Во время пандемии стала очень востребована технология интернет-магазинов, где можно совершать покупки, не выходя из дома. И в данной работе будет описано современное программное обеспечение для информационной системы интернет-магазина. На первом этапе будет производен анализ инструментов для создания клиент-серверных ПО и их выбор. На втором этапе будет произведено проектирование ПО. На третьем этапе будут представлены результаты разработки ПО.
Интерфейс веб-сайта разрабатывается с помощью трех основных языков программирования: HTML, CSS, JS. Связка этих языков используется для разработки любых веб-приложений.
HTML — стандартный язык разметки для документов, предназначенных для отображения в веб-браузере. CSS — это язык таблиц стилей, используемый для описания представления документа, написанного на языке разметки, таком как HTML.
JavaScript — это, основанный на прототипах, мультипарадигмальный язык сценариев, который является динамическим и поддерживает объектно-ориентированные, императивные и функциональные стили программирования.
Для реализации информационной системы интернет-магазина используется связка языков HTML5+CSS3+jQuery.
В качестве языка программирования для создания серверной части сайта подходит язык программирования Python.
Выбор программной платформы ограничен продуктами, использующими язык Python. Самыми популярными платформами с поддержкой Python являются Django Framework и Flask.
Для разработки сайта был выбран Django Framework из-за того, что в нем есть все необходимые инструменты для разработки системы управления контентом (CMS). Это позволяет автоматически генерировать интерфейс панели администратора исходя из разработанных моделей диаграмм.
В качестве СУБД выбран MySQL из-за высокой скорости записи, чтения и средней нагрузки на сервер.
Инструменты для создания ПО выбраны, следующий этап проектирование и реализация ПО.
На рисунке 1 представлена диаграмма классов. Это структурная диаграмма языка моделирования UML, демонстрирующая общую структуру иерархии классов системы, их коопераций, атрибутов (полей), методов, интерфейсов и взаимосвязей между ними.
Рис. 1. Диаграмма классов
Диаграмма классов будет использоваться в качестве основы при реализации исходного кода непосредственно на языке программирования, потому что в Django таблицы БД представлены в виде моделей. Они содержат набор полей и поведение данных, которые хранятся в БД.
Описание модели данных в Django является аналогом SQL CREATE TABLE. Django использует технологию программирования ORM , это значит что поддерживаются основные парадигмы ООП, такие как наследование, инкапсуляция, полиморфизм и абстракция. Из-за этого описание моделей данных в Django имеет несколько особенностей:
– автоматическое создание названий таблиц, состоящее из названия приложения и модели;
– автоматическое добавление первичных ключей;
– автоматическое добавление «_id» к внешнему ключу.
Классы, представленные на диаграмме:
– класс « Customer » — описывает таблицу с данными о пользователях;
– класс « Order » — описывает таблицу с данными о заказах;
– класс « Cart » — описывает таблицу корзины товаров;
– класс « Product » — описывает таблицу с данными о товарах;
– класс « ProductCart » — описывает корзину с товарами.
Диаграмма компонентов (рис. 2) показывает, как компоненты соединяются вместе, чтобы сформировать более крупные компоненты или программные системы.
Рис. 2. Диаграмма компонентов
Любое веб-приложение, написанное на фреймворке Django, описывает множество действий, возможных при взаимодействии сервера с клиентом. Эти действия могут содержать выполнение запросов к БД, запись данных на диск, отображение веб-страниц.
В файле models.py идёт описание в виде классов моделей данных на языке программирования Python. Данные хранятся в БД, но благодаря технологии программирования ORM, данные используются как объекты.
Структура страниц веб-приложения представлена базовым шаблоном, который содержит в себе шапку сайта. Этот шаблон наследует другие, которые взаимозаменяются при переходе из раздела в раздел. Страницы при этом заполняются данными, которые берутся из шаблонов. Все управляющие функции классов содержатся в файле views.py. Эти функции контролируют, какие методы и данные следует задействовать и какой шаблон следует использовать.
База данных интернет-магазина включает в себя одиннадцать таблиц, предназначенных для эффективной работы магазина и автоматизации обработки результатов его деятельности. Таблицы связаны между собой, что обеспечивает целостность данных.
Рис. 3. Схема базы данных
Для наглядности предметной области была спроектирована диаграмма БД «сущность-связь» с применением графических средств отображения модели (рис. 3). Очень важным свойством модели «сущность-связь» является то, что она может быть представлена в виде графической схемы.
Структура страниц интернет магазина показана на рисунке 4. Базовым шаблоном является base.html. Базовый шаблон будет всегда отображаться на каждой странице сайта, потому что в нем прописана шапка сайта, на которой расположен логотип, а также блоки навигации по сайту: блок корзина товаров, о компании, контакты, доставка и оплата, личный кабинет, поиск. Его наследуют остальные шаблоны (рис. 4).
Рис. 4. Структура страниц веб-приложения
На рисунке 4 представлены следующие шаблоны:
– index.html, содержит в себе структуру гласной страницы;
– search.html, страница с результатами поиска товаров;
– login.html, страница «вход на сайт» пользователя;
– register.html, страница регистрации нового пользователя;
– cart.html, пользовательская корзина товаров, с возможностью удалять товары, изменять количество товаров и оформлять заказ;
– products.html, каталог товаров;
– product_detail.html, страница с информацией о товаре;
– profile.html, профиль пользователя.
Таким образом, в работе был произведен поиск и выбор средств для разработки программного обеспечения информационной системы интернет-магазина, данное ПО было спроектировано и показано в виде диаграмм: диаграмма классов, диаграмма компонентов. Была разработана база данных для данной системы. Так же была показана структура страницы веб-приложения.
Литература:
- PyCharm — интеллектуальная Python IDE // PyCharm. — URL: https://jetbrains.ru/products/pycharm/, свободный.
- Дунаев В. В. Базы данных. Язык SQL для студента; БХВ — Петербург — Москва, 2018. — 288 c.
- Рамбо.Д. UML 2.0. Объектно-ориентированное моделирование и разработка; Питер,2007.- 545 c.
- Федорова Г. Н. Основы проектирования баз данных: учебник для студ. учреждений сред. проф. образования / Г. Н. Федорова. — М.: Издательский центр «Академия», 2017. — 224 с