Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Кольцова А.А. Разработка прототипа системы бронирования велопрокатной организации

.pdf
Скачиваний:
4
Добавлен:
22.08.2024
Размер:
5.83 Mб
Скачать

91

8 Требования к документированию

Вся документация должна быть подготовлена и передана как в печатном, так и в электронном виде (в защищенном от редактирования формате PDF).

9 Источники разработки

Настоящее Техническое Задание разработано на основе следующих документов и информационных материалов:

Договор от 24.03.2024 на выполнение работ по созданию Автоматизированной системы управления заказами.

ГОСТ 19.201-78. Техническое задание. требования к содержанию и оформлению;

ГОСТ 34.601-90. Комплекс стандартов на автоматизированные системы.

автоматизированные системы. стадии создания;

ГОСТ 34.201-89. Информационная технология. комплекс стандартов на автоматизированные системы. виды, комплексность и обозначение документов при создании автоматизированных систем;

РД 50-34.698-90. Методические указания. информационная технология. комплекс стандартов на автоматизированные системы, автоматизированные системы. требования к содержанию документов

92

Приложение Г

Технический проект

1 Общие сведения

1.1Наименование системы

1.1.1 Полное наименование системы

Система бронирования велопрокатной организации

1.1.2 Краткое наименование системы

СБВО (Система бронирования велосипедов онлайн)

1.2Основания для проведения работ

Работа выполняется на основании договора на выполнение работ по созданию системы бронирования от 24.03.2024.

1.3Наименование организаций

1.3.1 Заказчик

ИП Никсарян Мариам Завеновна

1.3.2 Разработчик

Студентка группы 20-ПИ Кольцова Адриана Андреевна ФГБОУ ВО «Сочинский государственный университет»

1.4 Назначение и цели создания системы

Система бронирования велопрокатной организации предназначена для автоматизации процесса аренды велосипедов, что включает в себя бронирование, управление клиентами и инвентарем, а также обработку и формирование отчетов. Основная задача системы — обеспечить удобство и оперативность для клиентов при бронировании велосипедов, а также оптимизировать внутренние бизнес-процессы организации.

Цели создания системы включают повышение удовлетворенности клиентов за счет удобного интерфейса, автоматизацию бизнес-процессов для сокращения времени обработки заявок и оптимизацию управления инвентарем. Это также направлено на увеличение прибыли компании за счет улучшения качества обслуживания и предоставление аналитических данных для принятия управленческих решений.

Объекты автоматизации были подробно описаны в документе Технико-экономическое обоснование. Основные объекты автоматизации включают процессы бронирования велосипедов, управление инвентарем, учет клиентов и формирование отчетов.

93

2 Основные технические решения

2.1 Решения по структуре системы, подсистем, средствам и способам связи для

информационного обмена между компонентами системы

Система функционирует как распределенная трехзвенная клиент-сервер-СУБД программная архитектура. Система находится на виртуальном сервере Beget, в среде серверной операционной системы Ubuntu 22.04. Для создания информационной системы бронирования велопрокатной организации используется архитектура на базе LEMP (Linux, Nginx, MySQL, PHP). В системе выделяются несколько ключевых подсистем: модуль регистрации и авторизации пользователей, управление каталогом велосипедов, обработка бронирований, формирование отчетности и поддержка клиентских запросов.

Linux: используется за его стабильность, безопасность и гибкость. Ubuntu 22.04

предлагает актуальную и надежную платформу для серверов.

Nginx: высокопроизводительный веб-сервер, эффективный и с низким потреблением ресурсов. Отлично справляется с высокой нагрузкой и обеспечивает быструю обработку запросов.

MySQL: поддержка подготовленных выражений и транзакций обеспечивает высокую производительность и безопасность. Предоставляет объектно-ориентированный и процедурный стили программирования.

PHP: широко используемый серверный язык, легко интегрируется с MySQLi для создания динамических веб-приложений, обеспечивая быстрый отклик и гибкость в разработке. У Nginx нет встроенной поддержки обработки PHP, поэтому используется FastCGI

для передачи запросов к PHP-FPM (FastCGI Process Manager), что позволяет эффективно обрабатывать PHP-скрипты.

Схема размещения аппаратных средств представлена на рисунке 1.

Рисунок 1 - Схема размещения аппаратных средств

94

2.2 Решения по взаимосвязям АС со смежными системами, обеспечению ее

совместимости.

Система бронирования интегрируется с внешними системами через RESTful API,

используя стандартизированные форматы данных (JSON, XML), веб-сервисы и модульную архитектуру для обеспечения совместимости и расширяемости.

2.3 Решения по режимам функционирования, диагностированию работы системы

Система бронирования работает в круглосуточном режиме, обеспечивая постоянную доступность для пользователей. Для диагностики используются автоматические системы мониторинга, отслеживающие производительность, доступность и безопасность. Регулярное проведение тестов и проверок позволяет своевременно выявлять и устранять неисправности.

В случае обнаружения проблем система уведомляет администраторов для быстрого реагирования и устранения сбоев, обеспечивая стабильную и надежную работу системы.

2.4 Решения по персоналу и режимам его работы

Для обеспечения максимальной работоспособности и сохранения здоровья профессиональных пользователей на протяжении рабочей смены должны устанавливаться регламентированные перерывы: через 2 часа после начала рабочей смены и через 1,5 – 2,0 часа после обеденного перерыва продолжительностью 15 минут каждый или продолжительностью

10 минут через каждый час работы. Продолжительность непрерывной работы персонала с разрабатываемой системой и персональными компьютерами без регламентированного перерыва не должна превышать 2 часа.

Деятельность персонала по эксплуатации системы должна регулироваться должностными инструкциями.

Для эксплуатации ИС определены следующие роли:

-системный администратор;

-пользователь.

Рекомендуемая численность для эксплуатации ИС:

-системный администратор – 1 штатная единица;

-пользователь – число штатных единиц определяется структурой предприятия.

2.5 Состав функций, комплексов задач, реализуемых системой

Система бронирования велопрокатной организации реализует следующие функции и комплексы задач:

Регистрация и авторизация пользователей: Создание учетных записей, аутентификация и управление ролями пользователей.

Управление каталогом велосипедов: Добавление, редактирование и удаление информации о велосипедах, включая их характеристики и доступность.

95

Обработка бронирований: Создание, управление и обработка заказов, проверка доступности велосипедов, уведомления пользователей.

Формирование отчетов: Генерация отчетов по бронированиям, активности пользователей и состоянию инвентаря.

3 Мероприятия по подготовке объекта автоматизации к вводу системы в действие

3.1 Мероприятия по подготовке персонала

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

3.2 Мероприятия по изменению объекта автоматизации

Серверная часть системы функционирует на базе виртуального сервера. Для функционирования серверной части Исполнитель должен провести настройку операционной системы и установку серверных приложений.

4 Спецификации для таблиц БД.

Таблица 1 – Таблица agelimits

Столбец

Тип данных

Описание

 

 

 

age_limit_id

int(11)

Первичный ключ, автоинкремент

 

 

 

age_limit

int(11)

Возрастное ограничение

 

 

 

Описание: Таблица age_limits содержит данные о возрастных ограничениях для велосипедов.

Таблица 2 – Таблица availability

Столбец

Тип данных

Описание

 

 

 

availability_id

int(11)

Первичный ключ, автоинкремент

 

 

 

status

varchar(50)

Статус доступности

 

 

 

Описание: Таблица availability содержит данные о статусе доступности велосипедов.

Таблица 3 – Таблица bikes

Столбец

Тип данных

Описание

 

 

 

bike_id

int(11)

Первичный ключ, автоинкремент

 

 

 

bike_model

varchar(255)

Модель велосипеда

 

 

 

frame_size_id

int(11)

Внешний ключ на framesizes

 

 

 

age_limit_id

int(11)

Внешний ключ на agelimits

 

 

 

serial_number

varchar(50)

Серийный номер

 

 

 

availability_id

int(11)

Внешний ключ на availability

 

 

 

created_at

datetime

Дата создания

 

 

 

 

 

96

 

 

 

updated_at

datetime

Дата обновления

 

 

 

photo

longblob

Фотография

 

 

 

category_id

int(11)

Внешний ключ на categories

 

 

 

Описание: Таблица bikes содержит данные о велосипедах, включая модель, размер

рамы, возрастные ограничения и статус доступности.

Таблица 4 – Таблица bookingdetails

Столбец

Тип данных

Описание

 

 

 

 

 

 

 

 

booking_detail_id

int(11)

Первичный ключ, автоинкремент

 

 

 

 

 

 

 

 

booking_id

int(11)

Внешний ключ на bookings

 

 

 

 

 

 

 

 

bike_id

int(11)

Внешний ключ на bikes

 

 

 

 

 

 

 

 

Описание: Таблица bookingdetails содержит детали бронирования, связывая

бронирования с велосипедами.

 

 

 

Таблица 5 – Таблица bookings

 

 

 

 

 

 

 

 

 

Столбец

 

Тип данных

 

Описание

 

 

 

 

 

 

 

booking_id

 

int(11)

 

Первичный ключ, автоинкремент

 

 

 

 

 

 

 

user_id

 

int(11)

 

Внешний ключ на users

 

 

 

 

 

 

 

start_time

 

datetime

 

Время начала бронирования

 

 

 

 

 

 

 

end_time

 

datetime

 

Время окончания бронирования

 

 

 

 

 

 

 

status_id

 

int(11)

 

Внешний ключ на bookingstatus

 

 

 

 

 

 

 

created_at

 

datetime

 

Дата создания

 

 

 

 

 

 

 

updated_at

 

datetime

 

Дата обновления

 

 

 

 

 

 

 

 

 

Описание: Таблица bookings содержит данные о бронированиях, включая

пользователей, время бронирования и статус.

Таблица 6 – Таблица bookingstatus

Столбец

Тип данных

Описание

 

 

 

status_id

int(11)

Первичный ключ, автоинкремент

 

 

 

status_name

varchar(50)

Название статуса

 

 

 

Описание: Таблица bookingstatus содержит данные о статусах бронирования.

Таблица 7 – Таблица categories

Столбец

Тип данных

Описание

 

 

 

category_id

int(11)

Первичный ключ, автоинкремент

 

 

 

category_name

varchar(255)

Название категории

 

 

 

Описание: Таблица categories содержит данные о категориях велосипедов.

 

 

97

Таблица 8 – Таблица feedback

 

 

 

 

Столбец

Тип данных

Описание

 

 

 

feedback_id

int(11)

Первичный ключ, автоинкремент

 

 

 

user_id

int(11)

Внешний ключ на users

 

 

 

booking_id

int(11)

Внешний ключ на bookings

 

 

 

rating

int(1)

Оценка

 

 

 

comment

text

Комментарий

 

 

 

created_at

datetime

Дата создания

 

 

 

Описание: Таблица feedback содержит данные о обратной связи пользователей.

Таблица 9 – Таблица framesizes

Столбец

Тип данных

Описание

 

 

 

frame_size_id

int(11)

Первичный ключ, автоинкремент

 

 

 

frame_size

varchar(50)

Размер рамы

 

 

 

Описание: Таблица framesizes содержит данные о размерах рам велосипедов.

Таблица 10 – Таблица roles

Столбец

Тип данных

Описание

 

 

 

role_id

int(11)

Первичный ключ, автоинкремент

 

 

 

role_name

varchar(50)

Название роли

 

 

 

Описание: Таблица roles содержит данные о ролях пользователей.

Таблица 11 – Таблица users

Столбец

Тип данных

Описание

 

 

 

user_id

int(11)

Первичный ключ, автоинкремент

 

 

 

username

varchar(255)

Имя пользователя

 

 

 

email

varchar(255)

Электронная почта

 

 

 

phone_number

varchar(20)

Номер телефона

 

 

 

password_hash

varchar(255)

Хеш пароля

 

 

 

role_id

int(11)

Внешний ключ на roles

 

 

 

registration_date

datetime

Дата регистрации

 

 

 

booking_count

int(11)

Количество бронирований

 

 

 

created_at

datetime

Дата создания

 

 

 

updated_at

datetime

Дата обновления

 

 

 

account_status

enum

Статус аккаунта (active, blocked)

 

 

 

Описание: Таблица users содержит данные о пользователях системы, включая их роль,

контактную информацию и статус аккаунта.

98

5 Спецификации для разработанных программных модулей.

Модуль 1: Регистрация и авторизация пользователей Описание:

Модуль регистрации и авторизации пользователей позволяет клиентам создавать учетные записи, входить в систему и управлять своими данными. Он обеспечивает безопасность данных и защиту от несанкционированного доступа.

Функциональные требования:

-Регистрация новых пользователей.

-Проверка корректности введенных данных.

-Авторизация существующих пользователей.

-Восстановление пароля через email.

-Защита данных пользователей (хранение паролей в зашифрованном виде).

-Входные данные:

-Имя пользователя.

-Адрес электронной почты.

-Пароль.

-Выходные данные:

-Уведомления об успешной регистрации/авторизации.

-Сообщения об ошибках при некорректных вводах.

-Сценарии использования:

-Пользователь заполняет форму регистрации, система проверяет данные и отправляет письмо с подтверждением.

-Пользователь вводит учетные данные для авторизации, система проверяет их и предоставляет доступ к личному кабинету.

Модуль 2: Обработка бронирований Описание:

Модуль обработки бронирований позволяет пользователям выбирать и бронировать велосипеды через систему, а также управлять своими бронированиями.

Функциональные требования:

-Просмотр доступных велосипедов.

-Выбор велосипеда и указание даты и времени бронирования.

-Проверка доступности велосипеда на выбранное время.

-Подтверждение бронирования и отправка уведомления пользователю.

Входные данные:

99

-Дата и время начала и окончания бронирования.

-Идентификатор выбранного велосипеда.

-Выходные данные:

-Уведомления об успешном бронировании.

-Сообщения об ошибках при некорректных вводах или отсутствии доступных

велосипедов.

Сценарии использования:

Пользователь выбирает велосипед и заполняет данные для бронирования, система проверяет доступность и подтверждает бронь.

Модуль 3: Управление пользователями Описание:

Модуль управления пользователями предназначен для администраторов системы,

позволяя им редактировать данные пользователей, просматривать их бронирования и управлять статусом учетных записей.

Функциональные требования:

-Просмотр списка пользователей.

-Редактирование данных пользователей.

-Удаление учетных записей.

-Просмотр и управление бронированиями пользователей.

Входные данные:

-Данные пользователя для редактирования (имя, email и др.).

-Идентификаторы бронирований для управления.

Выходные данные:

-Уведомления об успешном обновлении данных.

-Сообщения об ошибках при некорректных вводах.

Сценарии использования:

Администратор выбирает пользователя из списка, редактирует его данные и сохраняет изменения.

Модуль 4: Управление каталогом Описание:

Модуль управления каталогом позволяет администраторам добавлять, редактировать и удалять записи о велосипедах, а также обновлять их статус и характеристики.

Функциональные требования:

-Добавление новых велосипедов в каталог.

100

-Редактирование существующих записей.

-Удаление велосипедов из каталога.

-Обновление статуса доступности велосипедов.

Входные данные:

Информация о велосипеде (модель, размер рамы, возрастное ограничение, серийный номер, категория, фото и др.).

Выходные данные:

-Уведомления об успешном добавлении/обновлении/удалении велосипеда.

-Сообщения об ошибках при некорректных вводах.

Сценарии использования:

-Администратор вводит данные нового велосипеда и добавляет его в каталог.

-Администратор выбирает существующий велосипед и редактирует его данные.

Модуль 5: Формирование отчетов

Описание:

Модуль формирования отчетов предоставляет администраторам возможность

генерировать отчеты о бронированиях, пользователях и других аспектах работы системы.

Функциональные требования:

-Генерация отчетов на основе заданных критериев (период, статус бронирования,

пользователь и др.).

-Экспорт отчетов в формате Excel.

-Просмотр отчетов в табличном виде.

Входные данные:

Критерии для формирования отчета (период, статус бронирования, пользователь и др.).

Выходные данные:

-Табличные отчеты с информацией о бронированиях.

-Файлы отчетов в формате Excel.

Сценарии использования:

-Администратор задает критерии отчета, система формирует и отображает отчет,

атакже предоставляет возможность его экспорта.

-Эти спецификации обеспечивают понимание функционала каждого модуля,

входных и выходных данных, а также сценариев использования, что помогает в дальнейшем

проектировании и разработке системы бронирования велопрокатной организации.