Обоснование выбора программной платформы

Django - это фреймворк с открытым исходным кодом для серверных веб-приложений на основе Python - одного из лучших языков веб-разработки. Его основными целями являются простота, гибкость, надежность и масштабируемость.Джанго выбран по следующим причинам:

- Django имеет собственную систему именования для всех функций и компонентов (например, HTTP-ответы называются «представлениями»).

-Django имеет панель администратора, с которой легко работать.

1. Сокращение времени разработки. Принципы быстрой разработки, которые означают, что разработчики могут выполнять более одной итерации за раз, не запуская весь график с нуля;

2. Масштабируемость.

Django работает на базе Python, который имеет встроенный сборщик мусора, это дает гарантию и отстутствие утечки памяти.ORM Django реализует безопасное взаимодействие с базой данных, используя механизмы блокировок. Она позволяет пользователю использовать обычные SQL-запросы, оборачивающиеся в контейнер Q для обеспечения безопасности. Структура сайта, которая не отражает структуру файловой системы сервера, позволяет скрыть от пользователя детали работы сервиса.

 

3. Безопасность. Django работает на основеPython, который имеет встроенный сборщик мусора, который предотвращает утечки памяти. ORM Django реализует безопасное взаимодействие с базой данных, используя механизмы блокировки. В то же время он позволяет пользователю использовать обычные SQL-запросы, помещенные в контейнер Q, для безопасности. Кроме того, структура сайта, которая не отражает структуру файловой системы сервера, позволяет скрыть детали сервиса от пользователя.

4. Присутствие автоматизированных тестов.

5. Огромная библиотека модулей. В Python есть множество библиотек для работы, но Django также добавляет еще больше полезных модулей.

6. Скорость разработки. Проекты Django можно редактировать даже во время работы тестового сервера. Код Python не нужно каждый раз перекомпилировать в исполняемый файл, запускающий все механизмы, изменения в сценариях Pythonсразу же учитываются системой и реализуются при обновлении страницы.

7. Гибкость. На Django можно написать много приложений: от одной страницы до сайтов с разветвленной структурой и различными функциями.

Python был выбран не только как база для реализации механизма серверного приложения, но и для обработки базы данных.Потому что Python имеет простой синтаксис и выразительность, в нем реализованы алгоритмы анализа данных и анализа прогнозирования, а также алгоритмы машинного обучения и нейронные сети. На рис.2.4 показан Djangoweb-интерфейс.

 

 

Рисунок2.4Djangoweb-интерфейс

 

Описание базы данных

 

    Django поддерживает четыре основные базы данных (PostgreSQL, MySQL, Oracle и SQLite), и есть библиотеки сообщества, которые предоставляют различные уровни поддержки для других популярных баз данных SQL и NoSQL. Выбирать можно одну и ту же базу данных как для производства, так и для разработки (хотя Django абстрагирует многие различия в базе данных, используя свой объектно-реляционный маппер (ORM).

При этом супермаркет тщательно собирает информацию о том, как ведут себя клиенты и какие продукты они предпочитают. Собранная информация должна быть сохранена, чтобы ее можно было быстро извлечь для обработки. Поэтому было решено использовать DBMSSQLite, который хранит данные в одном контейнере, независимо от файловой системы. Базы данных позволяют хранить данные в семантически структурированной форме, что может значительно упростить работу с ними.

    Для начала супермаркет должен собрать данные. Прежде всего, когда покупатель входит в супермаркет, датчики на дверях фиксируют факт входа. Это означает, что супермаркет может отслеживать количество людей, которые посетили супермаркет за определенный период времени. В супермаркете хранятся данные о тех товарах, которые доступны для продажи, категориях предлагаемых товаров и способах оплаты. Информация из чеков дает возможность узнать, когда и что было куплено, в каком количестве и как было оплачено. На основании этой информации вы можете построить структуру базы данных. Ее диаграмма показана на рис.2.5

 

Рисунок2.5 - Схема базы данных для анализа продаж и прогнозирования

 

Описание полей

1. Клиент:

a. id– числовой идентификатор записи

b. date–datetime значение даты посещения, которое записывается датчиком

2. Товар:

a. id – числовой идентификатор продукта

b. sale_price - значение (число с плавающей запятой)

c. cost_price - стоимость (число с плавающей запятой)

d. категория - внешний ключ к таблице категорий, номер

3. Категория:

a. id – числовой идентификатор категории

b. имя – название категории

 

4. ProductsOrders - таблица соответствия товаров и поступлений

a. Заказ – проверить идентификатор

b. Product – идентификатор продукта

c. count - количество экземпляров товара в чеке

d. итого - общая стоимость покупки этого товара

5. Заказать - проверить

a. id – проверить идентификатор

b. дата – дата покупки

c. всего – доход от покупки супермаркета

 


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: