Intro
Спецификации прецедентов
Прецедент “создать заказ”:
Предусловие:
Система находится в состоянии ожидания. Система в состоянии исправности. Официант верифицирован через систему. Терминал для оплаты готов к использованию. Касса в состоянии исправности.
Постусловие:
Запись в базу данных заказов с метаданными (сумма, список блюд, официант, успешность/неуспешность, чек, при наличии).
Основной поток:
- Официант нажимает кнопку “создать заказ”.
- Система посылает запрос в БД для получения информации об имеющихся продуктах;
- Ответом на запрос БД возвращает информацию в систему;
- Системы возвращает интерфейс с доступными для добавления (на основе полученной информации об имеющихся продуктах) блюдами в заказ.
- Официант добавляет блюда;
- Система отображает их в созданном заказе с количеством;
- Официант нажимает “принять оплату”;
- Система отображает собранный заказ с итоговой суммой;
- Система отображает выбор между “оплатой картой” и “оплата наличными”;
- Официант нажимает “оплата картой”;
- Система передает в терминал для оплаты сумму платежа;
- Терминал оплаты переводится в режим ожидания оплаты по заданной сумме;
- Клиент оплачивает картой через терминал оплаты;
- Терминал отправляет запрос с информацией о проведенном платеже в систему;
- Система отображает сообщение об успешной оплате;
- Система печатает чек по проведенному платежу;
- Система отправляет запрос в БД об успешном заказе с метаданными;
Альтернативные потоки:
Альтернативный поток 1 (шаг 2):
- Ответ на запрос не соответствует сигнатуре;
- Система отображает ошибку “Проверьте соединение с базой”;
Альтернативный поток 2 (шаг 9):
- Официант нажимает “оплата наличными”;
- Система открывает ящик кассы с наличностью;
- Система ожидает подтверждения о получении денег в кассу;
- Официант подтверждает оплату через систему;
- Система ожидает закрытия ящика кассы;
- Официант закрывает ящик;
- см. Шаг 15;
Альтернативный поток 3 (шаг потока 2.3):
- Официант нажимает “оплаты нет”;
- Система отображает ошибку “Ошибка оплаты”;
- см. Шаг 9;
Альтернативный поток 4 (шаг 13):
- Терминал отправляет запрос с информацией о не проведённом платеже в систему;
- Система отображает ошибку “Ошибка оплаты”;
- см. Шаг 9;
Атрибуты качества и архитектура

1.
Значимые атрибуты качества
- соответствие функциональным требованиям;
- простота использования;
- надежность;
Сценарии для АК
- Отказоустойчивость
- Источник: API базы;
- Стимул: сообщение об отсутствии связи с базой;
- Артефакт: часть системы - обработчик заказов;
- Среда: готовность системы, нормальное функционирование;
- Ответ: заказы пишутся и хранятся локально до восстановления подключения с базой, затем синхронизируются.
- Метрика качества: количество успешно синхронизированных заказов, производительность системы на стандартном уровне
- Работоспособность
- Источник: пользователь
- Стимул: команда “оформить заказ”;
- Артефакт: терминал;
- Среда: готовность системы, нормальное функционирование, связь с базой;
- Ответ: возврат диалогового окна для создания заказа из функциональных требований;
- Метрика качества: скорость загрузки экрана < 2с, отсутствие аварийных сообщений.
- Соответствие полноте функциональных требований
- Источник: пользователь
- Стимул: запрос в систему выгрузить отчеты в файл;
- Артефакт: терминал;
- Среда: готовность системы, нормальное функционирование, связь с базой;
- Ответ: выгруженный отчет, содержащих все данные из функциональных требований;
- Метрика качества: скорость загрузки отчета, отсутствие аварийных сообщений, полнота отчета в соответствии с требованиями.
- Предотвращение пользовательских ошибок
- Источник: пользователь;
- Стимул: запрос оплаты пустого заказа;
- Артефакт: Терминал;
- Среда: готовность системы, нормальное функционирование, связь с базой;
- Ответ: диалоговое сообщение о пустом заказе, возврат на этап добавления блюд в заказ;
- Метрика качества: отсутствие лишних действий, скорость работы, отсутствие ошибок.