Дополнительная спецификация определяет нефункциональные требования системы
«Туристическое бюро», а также общие функциональные требования, применимые
к нескольким сценариям использования.
Надёжность
- Система должна обеспечивать сохранность данных при работе с базой данных.
- При возникновении ошибок система должна выводить понятные сообщения пользователю.
- Должна быть реализована обработка некорректного ввода данных.
- Система не должна завершаться аварийно при ошибках пользователя или сбоях ввода.
- Все операции с базой данных должны выполняться с проверкой успешности выполнения.
Производительность
- Система должна обеспечивать быстрый доступ к данным при работе с базой данных.
- Время формирования отчётов должно быть приемлемым для пользователя.
- SQL-запросы должны выполняться эффективно без избыточных операций.
- Система должна корректно работать с типичным объёмом данных.
Безопасность
- Доступ к системе осуществляется только после успешной аутентификации пользователя.
- Система должна разграничивать права доступа для администратора и члена экипажа.
- Должна быть обеспечена защита от некорректного ввода.
- Персональные данные пользователей не должны отображаться другим пользователям.
Удобство использования
- Система реализована в виде консольного интерфейса с меню.
- Пользователь должен выбирать действия через понятные команды меню.
- Все действия сопровождаются текстовыми подсказками.
- Сообщения об ошибках должны быть информативными и понятными.
- Результаты выполнения операций должны выводиться в читаемом виде.
Сопровождаемость
- Код системы должен быть структурирован по модулям.
- Архитектура системы должна обеспечивать возможность расширения.
- Использование отдельных сервисов упрощает поддержку кода.
- Документация проекта должна быть оформлена в формате Markdown и доступна разработчикам.
Ограничения
- Приложение реализовано на языке C++.
- Система является консольным приложением.
- Используется встроенная база данных SQLite.
- Система ориентирована на локальное использование без сетевого взаимодействия.
Общие функциональные требования
- Система должна обеспечивать добавление, редактирование и удаление маршрутов.
- Система должна обеспечивать управление автобусами и рейсами.
- Система должна обеспечивать формирование отчётов по заданным параметрам.
- Все операции должны выполняться через меню приложения.
- Пользователь должен получать результат выполнения каждой операции.
- Система должна обеспечивать взаимодействие с базой данных для хранения и получения информации.