1.1 Общие сведения
1.1.1. Полное наименование системы:
Веб-приложение для проката тренажеров.
1.1.2. Наименование организации – заказчика, разработчика системы:
Заказчик: МГТУ им. Н. Э. Баумана.
Разработчик: Студент КФ МГТУ им. Н. Э. Баумана группы ИУК5- 52Б Лебедянцев С.П.
1.1.3. Плановые сроки начала и окончания работы по созданию системы:
Плановый срок начала работ – 15 сентября 2023 года.
Плановый срок окончания работ – 1 декабря 2023 года.
1.2. Назначение и цели создания системы
1.2.1. Назначение системы:
Система предназначена для тренажерного сервиса.
1.2.2 Цели создания системы:
Создать сервис по предоставления услуги проката тренажеров.
1.3. Характеристика объектов автоматизации
Процесс просмотра каталога и поиска необходимого тренажера доступного для аренды.
Поиск тренажера.
Процесс бронирования тренажеров.
1.4. Требования к системе
1.4.1 Требования к системе в целом:
1.4.1.1. Требования к структуре и функционированию системы:
Система разделена на 3 подструктуры:
• Клиентская часть в виде веб-приложения
• Место хранения данных (база данных)
• Приложение-админка
1.4.1.2. Требования по эргономике и технической эстетике:
• Интерфейс системы не должен вводить пользователя(арендатора) в заблуждение, содержать элементы, назначение которых неочевидно или элементы, функционал которых отсутствует или не соответствует пояснению в интерфейсе.
• Интерфейс должен быть понятен и не перегружен графическими элементами.
1.4.2. Требования к функциям (задачам), выполнения системой
• Регистрация новых пользователей
• Авторизация на веб-сайте.
• Поиск тренажера
• Выбор тренажеров
• Бронирование тренажеров
• Получение информации о тренажерах.
• Загрузка и редактирование контента
1.4.3. Требования к видам обеспечения
1.4.3.1. Требования к лингвистическому обеспечению системы
Средством описания предметной области, так же, как и средством взаимодействия пользователя с системой является русский язык.
1.4.3.2. Требования к входным и выходным данным.
Входными данными системы от пользователей браузера являются логин, пароль, email. А выходными данными является заявка на аренду тренажера.
1.4.3.3. Требования к программированному обеспечению системы
В качестве языка программирования для разработки серверной части в системе используется фреймворк Django, для работы с СУБД будет использоваться Postgres, а для создания пользовательского интерфейса используется HTML и CSS. Наличие браузера – обязательные требования.
1.5. Состав и содержание работ по созданию(развитию) системы
1)Утверждение темы, задания на разработку, технического задания (альфа)!. Оформление ТЗ. Описание предметной области и требования к системе. Концептуальная схема. Прототип и скетчи интерфейса. (1-4 неделя).
2)Оформление ведения и исследовательской части. Обоснование выбора БД, логическая схема БД, физическая схема данных. Демонстрация работы макета системы с БД. (5-7 неделя).
3)Оформление проектно-конструкторской части. Демонстрация работающего приложения. Презентация (альфа). Тестирование и откладка приложения. Разработка эксплуатационной документации. (8-10 я неделя).
4)Завершающее оформление документации согласно требованиям ГОСТ. Все ошибки и проблемы устранены. Подготовка доклада. Защита курсовой работы (11-14-я неделя).
1.6. Порядок контроля и приемки системы
Система разрабатывается применением тестирования работоспособности функционала. При добавлении новых функций предыдущие тесты должны сохранять работоспособность.
Приемка осуществляется комиссией КФ МГТУ им. Н.Э. Баумана кафедры ИУК5.
1.7. Требования к составу и содержанию по подготовке объекта автоматизации к вводу системы в действие:
1). Приведение поступающей в систему информации (в соответствии с требованиями) к виду, пригодному для обработки.
2). Создание условий функционирования объекта автоматизации, при которых гарантируется соответствие создаваемой системы требования, содержащимся в ТЗ.
3)Организация доступа к базам данных.
1.8. Требование к документированию.
Техническое задание разработалось в соответствии с ГОСТ 34.602-89.
1.9. Источники разработки
• Настоящее Техническое Задание разработано на основе следующих документов и информационных материалов: ГОСТ 34.602-89.
• Литературные и онлайн-ресурсы, учебные материалы, образцы кода из учебной программы и другие источники информации, использованные при раз
2.Исследовательская часть
2.1Предметная область
Аренда тренажеров - сфера бизнеса, связанная с предоставлением услуг для временного получения нужного тренажера. Аренда тренажеров позволяет сэкономить время и деньги. Клиенту не нужно тратить время на выбор и покупку тренажера, а также на его установку и обслуживание. Он может просто арендовать тренажер в нужном месте и использовать его в любое время. Это особенно удобно для тех, кто не имеет возможности или желания покупать тренажер.
Кроме того, аренда тренажеров обычно дешевле, чем покупка. Вы платите только за время использования тренажера, что позволяет сэкономить деньги на покупке и обслуживании.
Описание процедуры аренды тренажера без системы (по отношению к потребителю):
1)поиск информации: потенциальные потребители начинают с поиска нужного им тренажера. Это возможно сделать через поиск в интернете или походом в магазин предоставляющий данную услугу.
2)Сравнение предложений: потребители сравнивают различные предложения от разных магазинов или частных лиц учитывая цены, характеристики тренажеров, а, в случае интернет-магазина, еще и отзывы.
3)Аренда: после выбора походящего тренажера, клиент арендует его на определенный срок. Это может потребовать посещения магазина, звонка оператору и заполнения бумажной волокиты.
4)Оплата: после аренды тренажера клиент должен оплатить его. Может быть выполнено наличными в магазине, переводом или кредитной картой.
5)Выдача тренажера: после успешной сделки клиент может забрать тренажер. Это может быть осуществлено самовывозом тренажера из магазина или путем доставки на нужное место.
Описание процедуры аренды тренажера без системы (по отношению арендодателю):
1)подготовка тренажеров: арендодатель должен подготовить информацию о тренажерах, ценах, а также поддерживать тренажеры в хорошем состоянии.
2)размещение информации об аренде
3)Определить процедуру оплаты (в зависимости от способа взаимодействия с клиентом).
4)Аренда тренажера: после успешной оплаты арендатор должен выдать клиенту тренажер. Может происходить путем доставки клиенту или забираться им же.
5)Обслуживание клиентов: должна быть возможность к предоставлению клиенту информации о тренажере.
6)маркетинг и реклама: магазин может проводить маркетинговые кампании для привлечения клиентов и продвижению товаров.
7)Соблюдение нормативных требований: магазин обязан следовать всем законам и регулярным требованиям, касающиеся аренды тренажеров.
Этот процесс аренды тренажеров без автоматизированной системы может быть более трудоемким и время затратным для клиентов. Поэтому внедрение современных автоматизированных систем, таких как онлайн-аренда и продажи, существенно упрощает и улучшает данный процесс.
2.2Требования к системе:
На сайте можно осуществить отбор по типу тренажеров, и рассмотреть описание тренажера
1)выбор по типу тренажера позволяет упростить поиск клиенту и найти нужный тренажер.
2)Онлайн бронирование предоставляет пользователю быстрее найти нужный товар, а также посмотреть отзывы других клиентов.
3)Информация должна содержать модель тренажера и его характеристики.
2.3Процесс аренды тренажера
Ниже подробным образом описана концептуальная модель данных представленная на рис.1.1
1)Для аренды тренажера клиент должен предоставить свою электронную почту.
2)Для сдачи в аренду тренажеров магазину нужно предоставить модель тренажера, описание и цену тренажера.
3)после регистрации клиент может выбрать понравившийся тренажер, а также выбрать срок аренды в днях. Варианты тренажеров включают себя тип тренажера, цену и модель.
4)клиент должен оплатить данный тренажер. Оплата банковской картой.
5)После оплаты клиент может забрать свой тренажер.
Рис1.1-концептуальная модель данных
2.4 Анализ аналогов
В условия постоянно меняющегося рынка онлайн-продаж тренажеров критическое значение приобретает анализ деятельности конкурирующих платформ и сервисов. Понимание стратегий и инноваций, реализуемых аналогичным предприятиями, является ключевым элементом успешной стратегии развития. В этом разделе предоставлены результаты рассмотрения деятельности конкурентов в сфере онлайн-аренды тренажеров.
Этот раздел посвящен обзору и оценке конкурентов, их стратегий, особенностей услуг. Анализ аналогов позволит выяснить труды индустрии, успешные практики и возможности для улучшения продукта и обслуживания.
1)RentFit
RentFit является одним из конкурентов на рынке, нужно рассмотреть его особенности. Реализованы услуги: сортировка, описание тренажера, допустимые веса для использования.
Рис-2.1 – поиск тренажера на RentFit
Краткий обзор преимуществ и недостатков
Плюсы: интуитивно понятный дизайн.
Минусы: нету поиска тренажера, приходится пролистывать большую часть сайта, для нахождения нужного тренажера, т. к. не удобная сортировка по типам тренажеров.
2) Yamaguchi
Yamaguchi также является одним из конкурентов. Веб-приложение имеет хорошее оформление и удобно для пользователя. Имеется: поиск, сортировка, расширенный поиск.
Краткий обзор преимуществ и недостатков
Плюсы: интуитивно понятный дизайн, удобный поиск и сортировка.
Минусы: предназначен для аренды тренажеров только конкретного производителя.
Проанализировав указанные аналоги, можно сделать вывод, что приложения могут иметь разный подход к поиску товаров, но информация о нужном товаре, а иногда и противопоказания сделаны похожим образом. Пусть и есть различие в дизайне и ценах.
2.5. Обоснование выбора инструментов и платформы для разработки
В проекте используются такие технологии, как Django c PostgreSQL. Такой выбор может быть обусловлен несколькими факторами, включая удобство, поддержку, интеграцию и другие. Вот несколько причин, по которым Django был выбран для работы с PostgreSQL:
ORM-подход: Django - это объектно-реляционное отображение (ORM), что упрощает взаимодействие с базой данных через использование объектов и классов вместо SQL-запросов. Это упростило кодирование, делая его более читаемым и поддерживаемым.
Поддержка различных СУБД: Django поддерживает несколько систем управления базами данных (PostgreSQL, MySQL, SQLite и другие). Если проект когда-либо потребуется переключить на другую базу данных, то Django облегчит этот процесс.
Асинхронные запросы: Django поддерживает асинхронные запросы, что особенно важно в приложениях, где эффективное использование
асинхронного программирования может повысить производительность.
Миграции баз данных: Django предоставляет средства для управления миграциями баз данных, что облегчает изменение схемы базы данных с течением времени, а также совместное использование изменений с другими разработчиками.
Широкие возможности запросов: Django предоставляет удобные методы
для формирования запросов к базе данных, включая поддержку условий, сортировки, агрегатных функций и других операций.
Сообщество и документация: Django имеет активное сообщество разработчиков, а также хорошо документирован. Это облегчает разработку, устранение неполадок и обучение новых членов команды.
Интеграция с другими технологиями: Django легко интегрируется с другими технологиями и фреймворками, что упрощает создание приложения в совокупности с другими инструментами.
PostgreSQL базируется на языке SQL и поддерживает многочисленные возможности. Преимущества РostgreSQL:
Можно установить на любой ОС.
Множество возможностей для пользователей. Например, можно выбрать такие функции, как восстановление на момент времени, упреждающее ведение журнала, элементы детализированного управления доступом, табличные пространства, вложенные
транзакции, оперативное резервное копирование и многовариантное управление параллелизмом.
Надежность и соответствие требованиям. Соответствует свойствам атомарности, согласованности, изолированности и долговечности (ACID) для транзакций баз данных
Гибкость. База данных PostgreSQL совместима с целым рядом важнейших языков программирования и протоколов, включая C, C++, Go, Perl, Python, Java, .Net, Ruby, ODBC и Tcl. Это означает, что пользователи смогут работать на том языке, который они знают без риска возникновения системных конфликтов. пользователи могут получать доступ к данным JSON с помощью выражений пути SQL и JSON.
5.Относится к свободно распространяемому ПО из-за чего нет опасности отключение поддержки в России.
Поддержка множества типов данных.
Еще одна особенность PostgreSQL - поддержка большого количества типов записи информации. Это не только стандартные целочисленные значения, числа с плавающей точкой, строки и булевы значения, но и денежный, геометрический, перечисляемый, бинарный и другие типы. В ней есть поддержка XML, JSON и NoSQL-баз.
Недостатки: Повышенное потребление ресурсов. В сравнении с некоторыми другими СУБД, PostgreSQL может потреблять больше ресурсов (включая оперативную память и процессорное время). Это особенно заметно при работе с большими объёмами данных и выполнении сложных запросов.
PostgreSQL используют:
Бэкенд-разработчики, которым приходится взаимодействовать с базами данных при работе с «серверной» частью сайта. 2.
Администраторы и разработчики баз данных специалисты, основная
задача которых заключается в обслуживании и поддержке
работоспособности базы.
DevOps-инженеры, обслуживающие рабочую инфраструктуру проекта. В
современном мире многие компании используют возможности
PostgreSQL, например, такие как Sony, Huawei, Alibaba, Instagram,
Tripadvisor, Hitachi, Яндекс, Skype, Reddit, Amazon Redshift, FlightAware.
Таким образом выбор Django c PostgreSQL, обосновывается удобством работы с базой данных, гибкостью, а также возможностью использования
современных подходов к разработке, таких как ORM.
Проектно-конструкторская часть
3.1. Разработка архитектуры приложения.
Приложение имеет трехуровневую архитектуру для веб-приложений на основе Python Jango с использованием ORM для взаимодействия с базой
данных.
База данных содержит в себе все необходимые данные. Для данной
системы используется реляционная система управления данными PostgreSQL.
Приложение написано полностью на Python. Клиентская часть отвечает за взаимодействие пользователя с веб-приложением. Она обрабатывает события пользователя, такие как выбор билета и отправка запроса на покупку, получение сведений из базы, а далее отправляет запросы на сервер. Серверная часть обрабатывает отправленные пользователем запросы. Она принимает данные от пользователя и выполняет необходимую логику.
3.2Логическая схема
Рис 1.2 -реляционная модель сервиса.
3.3 Описание схем ы базы данных
База данных создавалась с помощью реляционной модели данных, которая представлена на рис1.2, поэтому описанные на рис 1.2 модели стали реальными таблицами участвующими проектировании. Связи в таблицах аналогично моделям имеют внешние и первичные ключи.
3.4 Разработка алгоритмов обработки информации
1)информация о сайте: достаточно выбрать “о нас” или в поисковую строку добавить /about/.
2)сортировка тренажеров: можно выбрать нужный тип из предложенных или, например, для велотренажеров в поисковую строку добавить /velo/.
3)корзина: /cart/ в поисковой строке. Подсчитывает сумму товаров
4)логин и регистрация: /login/ и /login/create/. Во втором случае надо ввести почту и дать пароль состоящий из 10 символов
3.5 Разработка интерфейсов взаимодействия пользователя с системой
Для создания графического пользовательского интерфейса применяются HTML, CSS, Java Script. Элементы графического интерфейса включают в себя такие элементы, как формы, кнопки, полосы прокрутки и значки, ссылки. Если ошибка допущена в логине или пароле, пользователю выводится сообщение о неверном вводе. Важное значение для сайта имеет его фон. Для более лучшего восприятия пользователей используется специальный фон.
На сайте имеются блоки: header, body и footer. B header находятся меню для входа в личный кабинет, информация о сайте и корзиной пользователя. Footer содержит гиперсылку на информацию о сайте и каталог со всеми тренажерами. Этот NavBar одинаков для клиентов на всех страницах (см. рис 3.1 - 3.7). B body пользовательский интерфейс меняется в зависимости от перехода на страницу.
Рис. 3.1 главная страница
Рис. 3.2 вход
Рис. 3.3 корзина
Рис. 3.4 сортировка по вело тренажерам
Рис. 3.6 выбор тренажера
Проектно-технологическая часть
4.1. Технологические решения, поддерживающие эксплуатационный цикл программы
Производительность. Так как сервис по аренде тренажеров предназначен для пользования многими людьми, то для этого учтена асинхронность в методах, что обеспечивает возможность работы на сайте большого количества людей.
Безопасность. В данной системе хранятся пароли сотрудников и
клиентов, пароли хэшируются, что позволяет защитить от чтения злоумышленников. Существует открытие сессий и хранение их в куках. В системе предусмотрена обработка исключений, что позволяет системе не завершать работу, а обрабатывать ошибки.
Масштабируемость. Требуются масштабируемые решения для хранения и обработки данных при росте числа пользователей и объема данных.
4.2 Тестирование и отладка рабочей программы
Было проведено функциональное тестирование системы на основе разработанных TestCase
Заключение
В ходе выполнение данной курсовой работы решены задачи и достигнута цель этой работы: спроектировать базу данных, разработать back и fronted части. Разработана система для клиентов. Клиенты могут выбирать различные тренажеры. В дальнейшем в систему будет добавлен функционал: обратной связи с клиентами онлайн, а также интеграции. Для сервиса будет считаться доходность.
1.1 Общие сведения 1.1.1. Полное наименование системы: Веб-приложение для проката тренажеров.
1.1.2. Наименование организации – заказчика, разработчика системы: Заказчик: МГТУ им. Н. Э. Баумана. Разработчик: Студент КФ МГТУ им. Н. Э. Баумана группы ИУК5- 52Б Лебедянцев С.П.
1.1.3. Плановые сроки начала и окончания работы по созданию системы: Плановый срок начала работ – 15 сентября 2023 года. Плановый срок окончания работ – 1 декабря 2023 года.
1.2. Назначение и цели создания системы 1.2.1. Назначение системы: Система предназначена для тренажерного сервиса.
1.3. Характеристика объектов автоматизации
Процесс просмотра каталога и поиска необходимого тренажера доступного для аренды. Поиск тренажера. Процесс бронирования тренажеров.
1.4. Требования к системе 1.4.1 Требования к системе в целом: 1.4.1.1. Требования к структуре и функционированию системы: Система разделена на 3 подструктуры: • Клиентская часть в виде веб-приложения • Место хранения данных (база данных) • Приложение-админка
1.4.1.2. Требования по эргономике и технической эстетике: • Интерфейс системы не должен вводить пользователя(арендатора) в заблуждение, содержать элементы, назначение которых неочевидно или элементы, функционал которых отсутствует или не соответствует пояснению в интерфейсе. • Интерфейс должен быть понятен и не перегружен графическими элементами. 1.4.2. Требования к функциям (задачам), выполнения системой • Регистрация новых пользователей • Авторизация на веб-сайте. • Поиск тренажера • Выбор тренажеров • Бронирование тренажеров • Получение информации о тренажерах. • Загрузка и редактирование контента
1.4.3. Требования к видам обеспечения 1.4.3.1. Требования к лингвистическому обеспечению системы Средством описания предметной области, так же, как и средством взаимодействия пользователя с системой является русский язык.
1.4.3.2. Требования к входным и выходным данным. Входными данными системы от пользователей браузера являются логин, пароль, email. А выходными данными является заявка на аренду тренажера.
1.4.3.3. Требования к программированному обеспечению системы В качестве языка программирования для разработки серверной части в системе используется фреймворк Django, для работы с СУБД будет использоваться Postgres, а для создания пользовательского интерфейса используется HTML и CSS. Наличие браузера – обязательные требования.
1.5. Состав и содержание работ по созданию(развитию) системы 1)Утверждение темы, задания на разработку, технического задания (альфа)!. Оформление ТЗ. Описание предметной области и требования к системе. Концептуальная схема. Прототип и скетчи интерфейса. (1-4 неделя). 2)Оформление ведения и исследовательской части. Обоснование выбора БД, логическая схема БД, физическая схема данных. Демонстрация работы макета системы с БД. (5-7 неделя). 3)Оформление проектно-конструкторской части. Демонстрация работающего приложения. Презентация (альфа). Тестирование и откладка приложения. Разработка эксплуатационной документации. (8-10 я неделя). 4)Завершающее оформление документации согласно требованиям ГОСТ. Все ошибки и проблемы устранены. Подготовка доклада. Защита курсовой работы (11-14-я неделя).
1.6. Порядок контроля и приемки системы Система разрабатывается применением тестирования работоспособности функционала. При добавлении новых функций предыдущие тесты должны сохранять работоспособность.
Приемка осуществляется комиссией КФ МГТУ им. Н.Э. Баумана кафедры ИУК5.
1.7. Требования к составу и содержанию по подготовке объекта автоматизации к вводу системы в действие: 1). Приведение поступающей в систему информации (в соответствии с требованиями) к виду, пригодному для обработки. 2). Создание условий функционирования объекта автоматизации, при которых гарантируется соответствие создаваемой системы требования, содержащимся в ТЗ. 3)Организация доступа к базам данных.
1.8. Требование к документированию. Техническое задание разработалось в соответствии с ГОСТ 34.602-89.
1.9. Источники разработки • Настоящее Техническое Задание разработано на основе следующих документов и информационных материалов: ГОСТ 34.602-89. • Литературные и онлайн-ресурсы, учебные материалы, образцы кода из учебной программы и другие источники информации, использованные при раз
2.Исследовательская часть 2.1Предметная область Аренда тренажеров - сфера бизнеса, связанная с предоставлением услуг для временного получения нужного тренажера. Аренда тренажеров позволяет сэкономить время и деньги. Клиенту не нужно тратить время на выбор и покупку тренажера, а также на его установку и обслуживание. Он может просто арендовать тренажер в нужном месте и использовать его в любое время. Это особенно удобно для тех, кто не имеет возможности или желания покупать тренажер. Кроме того, аренда тренажеров обычно дешевле, чем покупка. Вы платите только за время использования тренажера, что позволяет сэкономить деньги на покупке и обслуживании. Описание процедуры аренды тренажера без системы (по отношению к потребителю): 1)поиск информации: потенциальные потребители начинают с поиска нужного им тренажера. Это возможно сделать через поиск в интернете или походом в магазин предоставляющий данную услугу. 2)Сравнение предложений: потребители сравнивают различные предложения от разных магазинов или частных лиц учитывая цены, характеристики тренажеров, а, в случае интернет-магазина, еще и отзывы. 3)Аренда: после выбора походящего тренажера, клиент арендует его на определенный срок. Это может потребовать посещения магазина, звонка оператору и заполнения бумажной волокиты. 4)Оплата: после аренды тренажера клиент должен оплатить его. Может быть выполнено наличными в магазине, переводом или кредитной картой. 5)Выдача тренажера: после успешной сделки клиент может забрать тренажер. Это может быть осуществлено самовывозом тренажера из магазина или путем доставки на нужное место. Описание процедуры аренды тренажера без системы (по отношению арендодателю): 1)подготовка тренажеров: арендодатель должен подготовить информацию о тренажерах, ценах, а также поддерживать тренажеры в хорошем состоянии. 2)размещение информации об аренде 3)Определить процедуру оплаты (в зависимости от способа взаимодействия с клиентом). 4)Аренда тренажера: после успешной оплаты арендатор должен выдать клиенту тренажер. Может происходить путем доставки клиенту или забираться им же. 5)Обслуживание клиентов: должна быть возможность к предоставлению клиенту информации о тренажере. 6)маркетинг и реклама: магазин может проводить маркетинговые кампании для привлечения клиентов и продвижению товаров. 7)Соблюдение нормативных требований: магазин обязан следовать всем законам и регулярным требованиям, касающиеся аренды тренажеров. Этот процесс аренды тренажеров без автоматизированной системы может быть более трудоемким и время затратным для клиентов. Поэтому внедрение современных автоматизированных систем, таких как онлайн-аренда и продажи, существенно упрощает и улучшает данный процесс. 2.2Требования к системе: На сайте можно осуществить отбор по типу тренажеров, и рассмотреть описание тренажера 1)выбор по типу тренажера позволяет упростить поиск клиенту и найти нужный тренажер. 2)Онлайн бронирование предоставляет пользователю быстрее найти нужный товар, а также посмотреть отзывы других клиентов. 3)Информация должна содержать модель тренажера и его характеристики. 2.3Процесс аренды тренажера Ниже подробным образом описана концептуальная модель данных представленная на рис.1.1 1)Для аренды тренажера клиент должен предоставить свою электронную почту. 2)Для сдачи в аренду тренажеров магазину нужно предоставить модель тренажера, описание и цену тренажера. 3)после регистрации клиент может выбрать понравившийся тренажер, а также выбрать срок аренды в днях. Варианты тренажеров включают себя тип тренажера, цену и модель. 4)клиент должен оплатить данный тренажер. Оплата банковской картой. 5)После оплаты клиент может забрать свой тренажер. Рис1.1-концептуальная модель данных
2.4 Анализ аналогов В условия постоянно меняющегося рынка онлайн-продаж тренажеров критическое значение приобретает анализ деятельности конкурирующих платформ и сервисов. Понимание стратегий и инноваций, реализуемых аналогичным предприятиями, является ключевым элементом успешной стратегии развития. В этом разделе предоставлены результаты рассмотрения деятельности конкурентов в сфере онлайн-аренды тренажеров. Этот раздел посвящен обзору и оценке конкурентов, их стратегий, особенностей услуг. Анализ аналогов позволит выяснить труды индустрии, успешные практики и возможности для улучшения продукта и обслуживания. 1)RentFit RentFit является одним из конкурентов на рынке, нужно рассмотреть его особенности. Реализованы услуги: сортировка, описание тренажера, допустимые веса для использования. Рис-2.1 – поиск тренажера на RentFit Краткий обзор преимуществ и недостатков Плюсы: интуитивно понятный дизайн. Минусы: нету поиска тренажера, приходится пролистывать большую часть сайта, для нахождения нужного тренажера, т. к. не удобная сортировка по типам тренажеров. 2) Yamaguchi Yamaguchi также является одним из конкурентов. Веб-приложение имеет хорошее оформление и удобно для пользователя. Имеется: поиск, сортировка, расширенный поиск. Краткий обзор преимуществ и недостатков Плюсы: интуитивно понятный дизайн, удобный поиск и сортировка. Минусы: предназначен для аренды тренажеров только конкретного производителя. Проанализировав указанные аналоги, можно сделать вывод, что приложения могут иметь разный подход к поиску товаров, но информация о нужном товаре, а иногда и противопоказания сделаны похожим образом. Пусть и есть различие в дизайне и ценах. 2.5. Обоснование выбора инструментов и платформы для разработки В проекте используются такие технологии, как Django c PostgreSQL. Такой выбор может быть обусловлен несколькими факторами, включая удобство, поддержку, интеграцию и другие. Вот несколько причин, по которым Django был выбран для работы с PostgreSQL:
PostgreSQL базируется на языке SQL и поддерживает многочисленные возможности. Преимущества РostgreSQL:
Можно установить на любой ОС.
Множество возможностей для пользователей. Например, можно выбрать такие функции, как восстановление на момент времени, упреждающее ведение журнала, элементы детализированного управления доступом, табличные пространства, вложенные транзакции, оперативное резервное копирование и многовариантное управление параллелизмом.
Надежность и соответствие требованиям. Соответствует свойствам атомарности, согласованности, изолированности и долговечности (ACID) для транзакций баз данных
Гибкость. База данных PostgreSQL совместима с целым рядом важнейших языков программирования и протоколов, включая C, C++, Go, Perl, Python, Java, .Net, Ruby, ODBC и Tcl. Это означает, что пользователи смогут работать на том языке, который они знают без риска возникновения системных конфликтов. пользователи могут получать доступ к данным JSON с помощью выражений пути SQL и JSON. 5.Относится к свободно распространяемому ПО из-за чего нет опасности отключение поддержки в России.
Поддержка множества типов данных. Еще одна особенность PostgreSQL - поддержка большого количества типов записи информации. Это не только стандартные целочисленные значения, числа с плавающей точкой, строки и булевы значения, но и денежный, геометрический, перечисляемый, бинарный и другие типы. В ней есть поддержка XML, JSON и NoSQL-баз. Недостатки: Повышенное потребление ресурсов. В сравнении с некоторыми другими СУБД, PostgreSQL может потреблять больше ресурсов (включая оперативную память и процессорное время). Это особенно заметно при работе с большими объёмами данных и выполнении сложных запросов. PostgreSQL используют:
Бэкенд-разработчики, которым приходится взаимодействовать с базами данных при работе с «серверной» частью сайта. 2.
Администраторы и разработчики баз данных специалисты, основная
задача которых заключается в обслуживании и поддержке работоспособности базы.
DevOps-инженеры, обслуживающие рабочую инфраструктуру проекта. В современном мире многие компании используют возможности PostgreSQL, например, такие как Sony, Huawei, Alibaba, Instagram, Tripadvisor, Hitachi, Яндекс, Skype, Reddit, Amazon Redshift, FlightAware. Таким образом выбор Django c PostgreSQL, обосновывается удобством работы с базой данных, гибкостью, а также возможностью использования современных подходов к разработке, таких как ORM.
Проектно-конструкторская часть
3.1. Разработка архитектуры приложения.
Приложение имеет трехуровневую архитектуру для веб-приложений на основе Python Jango с использованием ORM для взаимодействия с базой данных. База данных содержит в себе все необходимые данные. Для данной системы используется реляционная система управления данными PostgreSQL. Приложение написано полностью на Python. Клиентская часть отвечает за взаимодействие пользователя с веб-приложением. Она обрабатывает события пользователя, такие как выбор билета и отправка запроса на покупку, получение сведений из базы, а далее отправляет запросы на сервер. Серверная часть обрабатывает отправленные пользователем запросы. Она принимает данные от пользователя и выполняет необходимую логику.
3.2Логическая схема Рис 1.2 -реляционная модель сервиса. 3.3 Описание схем ы базы данных База данных создавалась с помощью реляционной модели данных, которая представлена на рис1.2, поэтому описанные на рис 1.2 модели стали реальными таблицами участвующими проектировании. Связи в таблицах аналогично моделям имеют внешние и первичные ключи. 3.4 Разработка алгоритмов обработки информации 1)информация о сайте: достаточно выбрать “о нас” или в поисковую строку добавить /about/. 2)сортировка тренажеров: можно выбрать нужный тип из предложенных или, например, для велотренажеров в поисковую строку добавить /velo/. 3)корзина: /cart/ в поисковой строке. Подсчитывает сумму товаров 4)логин и регистрация: /login/ и /login/create/. Во втором случае надо ввести почту и дать пароль состоящий из 10 символов 3.5 Разработка интерфейсов взаимодействия пользователя с системой
Для создания графического пользовательского интерфейса применяются HTML, CSS, Java Script. Элементы графического интерфейса включают в себя такие элементы, как формы, кнопки, полосы прокрутки и значки, ссылки. Если ошибка допущена в логине или пароле, пользователю выводится сообщение о неверном вводе. Важное значение для сайта имеет его фон. Для более лучшего восприятия пользователей используется специальный фон. На сайте имеются блоки: header, body и footer. B header находятся меню для входа в личный кабинет, информация о сайте и корзиной пользователя. Footer содержит гиперсылку на информацию о сайте и каталог со всеми тренажерами. Этот NavBar одинаков для клиентов на всех страницах (см. рис 3.1 - 3.7). B body пользовательский интерфейс меняется в зависимости от перехода на страницу. Рис. 3.1 главная страница Рис. 3.2 вход Рис. 3.3 корзина Рис. 3.4 сортировка по вело тренажерам Рис. 3.6 выбор тренажера
Проектно-технологическая часть 4.1. Технологические решения, поддерживающие эксплуатационный цикл программы
Производительность. Так как сервис по аренде тренажеров предназначен для пользования многими людьми, то для этого учтена асинхронность в методах, что обеспечивает возможность работы на сайте большого количества людей.
Безопасность. В данной системе хранятся пароли сотрудников и клиентов, пароли хэшируются, что позволяет защитить от чтения злоумышленников. Существует открытие сессий и хранение их в куках. В системе предусмотрена обработка исключений, что позволяет системе не завершать работу, а обрабатывать ошибки.
Масштабируемость. Требуются масштабируемые решения для хранения и обработки данных при росте числа пользователей и объема данных. 4.2 Тестирование и отладка рабочей программы Было проведено функциональное тестирование системы на основе разработанных TestCase
Заключение В ходе выполнение данной курсовой работы решены задачи и достигнута цель этой работы: спроектировать базу данных, разработать back и fronted части. Разработана система для клиентов. Клиенты могут выбирать различные тренажеры. В дальнейшем в систему будет добавлен функционал: обратной связи с клиентами онлайн, а также интеграции. Для сервиса будет считаться доходность.