📝Software Requirements Specification (Спецификация требований программного обеспечения)
1. 📚Введение
1.1 🎯Назначение продукта
Информационный продукт "Socratic" 🍔🚚 предназначен для автоматизации управления ресторанами и ресторанными сетями. Продукт обеспечивает эффективное управление заказами 📦, складскими запасами 🏭, кадрами 👥, финансами 💰 и другими аспектами ресторанного бизнеса.
1.2 🚀Возможности продукта
- Управление заказами и бронированием столов 🍽️
- Мониторинг складских запасов 📊
- Учет кадров и графики сотрудников 📆
- Финансовый учет и анализ 💹
2. 🏗️Архитектура
2.1 🛠️Технологический стек
Продукт основан на следующих технологиях:
- Службы gRPC ASP.NET Core для серверного взаимодействия 🖥️
- EF Core для доступа к данным 🗄️
- Blazor для веб-приложения 🌐
- PostgreSQL для хранения данных 💾
- IIS Web Server для развертывания веб-приложений 🌐
2.2 🧩Компоненты системы
2.2.1 🌐Веб-приложение
Реализовано с использованием Blazor. Предоставляет пользовательский интерфейс для взаимодействия с продуктом.
2.2.2 🖥️Серверное взаимодействие
Используется gRPC для обеспечения эффективного и масштабируемого взаимодействия между серверными компонентами.
2.2.3 💾База данных
PostgreSQL используется для хранения данных о заказах, складских запасах, кадрах и финансах.
3. 📋Функциональные требования
3.1 📝Регистрация
- 📞Ввод номер телефона
- Ввод кода подтверждения (регистрация завершена с созданием пользователя с персональными данными по умолчанию и профилем по умолчанию).
- Ввод персональных данных (опционально, после регистрации пользователь считается аутентифицированным и авторизованным).
3.2 🔒Аутентификация
- 📞Ввод номера телефона
- 🔑Ввод кода подтверждения
3.3 🛂Авторизация
Авторизация происходит после аутентификации и предоставляет доступ к функционалу продукта в зависимости от ролей и прав пользователя.
Обозначения символов:
- C - создание,
- R - чтение,
- U - обновление,
- D - удаление
User - пользователь может иметь одну или несколько из следующих типов ролей:
-
Customer - роль клиент имеет следующие права:
- R Role - чтение роли.
- R Profile - чтение профиля.
- R Organization - чтение организации.
- RU Product - чтение продукта.
- R Place - чтение места.
- CRUD Order - создание, чтение, обновление и удаление заказа.
- CRUD OrderProduct - создание, чтение, обновление и удаление продуктов заказа.
-
Director - директор имеет следующие права:
- CRUD Role - создание, чтение, обновление и удаление ролей.
- CRU Profile - создание, чтение, обновление и удаление профилей.
- RU Organization - чтение и обновление организации.
- CRUD Product - создание, чтение, обновление и удаление продуктов.
- CRUD Place - создание, чтение, обновление и удаление мест.
- CRUD Order - создание, чтение, обновление и удаление заказов.
- CRUD OrderProduct - создание, чтение, обновление и удаление продуктов заказа.
-
Owner - владелец имеет следующие права:
- CRUD User - создание, чтение, обновление и удаление пользователей.
- CRUD Role - создание, чтение, обновление и удаление ролей.
- CRUD Profile - создание, чтение, обновление и удаление профилей.
- CRUD Organization - создание, чтение, обновление и удаление организаций.
- CRUD Product - создание, чтение, обновление и удаление продуктов.
- CRUD Place - создание, чтение, обновление и удаление мест.
- CRUD Order - создание, чтение, обновление и удаление заказов.
- CRUD OrderProduct - создание, чтение, обновление и удаление продуктов заказа.
-
Customer - роль клиент имеет следующие права:
4. 📚Нефункциональные требования
4.1 🚀Производительность
Ответы от сервера должны быть получены в течение 3 секунд ⏱️.
4.2 🛡️Безопасность
Защита от атак, включая SQL-инъекции и межсайтовые атаки.
4.3 📈Масштабируемость
Система должна легко масштабироваться для обработки увеличения нагрузки.
5. 📊Диаграммы
- Use Case Diagram: диаграмма взаимодействия между пользователями и системой.
- Class Diagram: структура классов продукта.
- Sequence Diagrams: взаимодействие компонентов системы во времени.
6. 🚀Развертывание
6.1 📋Требования к системе
- Windows Server 2022 Core
- .NET 8 SDK
- PostgreSQL 16 server
- Nginx web server
6.2 📝Процесс развертывания
Установить .NET Core Runtime. Установить PostgreSQL сервер и создать базу данных. Сконфигурировать соединение с базой данных в файле конфигурации. Запустить веб-приложение с помощью команды dotnet run.
7. 📚API Документация
7.1 📝gRPC API
API использует протокол gRPC для взаимодействия между клиентским и серверным кодом. Документация API предоставлена в файле grpc_api.md.
7.2 🧩Blazor Компоненты
Blazor-компоненты предоставляют интерфейс для взаимодействия с gRPC API. Документация компонентов доступна в файле blazor_components.md.
8. 🧪Тестирование
8.1 Типы тестирования 📋
Продукт подвергается следующим видам тестирования:
- Модульное тестирование 🧪
- Интеграционное тестирование 🧪
- Системное тестирование 🧪
8.2 Инструкции по тестированию 📝
Инструкции по тестированию предоставлены в файле testing_instructions.md.
9. 🛠️Сопровождение
9.1 📝Инструкции по обновлению
Инструкции по обновлению продукта доступны в файле update_instructions.md.
9.2 📞Техническая поддержка
Техническая поддержка предоставляется через систему обращений. Информация для обращения доступна на сайте поддержки.
🎉Заключение
Документация предоставляет подробную информацию об информационном продукте "Socratic" и обеспечивает прозрачность в разработке, развертывании, тестировании и сопровождении продукта в соответствии с международным стандартом ISO/IEC/IEEE 29148:2011. 🌐