ОДР-1. Документация системы по конструкции, коду и сопровождению должна соответствовать Process Impact Intranet Development Standard, версия 1.3 [2]
ОДР-2. Система должна использовать текущую версию корпоративного стандарта процессора базы данных Oracle.
ОДР-3. Весь код HTML должен соответствовать стандарту HTML 4.0.
ОДР-4. Все сценарии должны быть написаны на Perl.
Документация для пользователей
ДП-1. Система должна предоставлять иерархическую и перекрестно связанную систему справки в формате HTML с доступом по сети, описывающую и иллюстрирующую все функции системы.
ДП-2. При первом доступе пользователя к системе и далее по требованию пользователя система должна включать интерактивную обучающую программу, позволяющую пользователям осуществить заказ блюд через статическое обучающее меню. Система не должна сохранять блюда, заказанные с помощью этого шаблона, в базе данных или передавать заказы на них в кафетерий,
Предположения и зависимости
ПЗ-1. Кафетерий открыт для завтраков, обедов и ужинов каждый рабочий день компании, когда предполагается, что на территории компании будут находиться сотрудники.
ПЗ-2. Работа Cafeteria Ordering System зависит от изменений в системе расчета зарплат, позволяющих принимать запросы на оплату за питание, заказанное через COS.
ПЗ-3. Работа Cafeteria Ordering System зависит от изменений в инвентарной системе кафетерия, позволяющих обновлять информацию о наличии блюд по мере принятия заказов Cafeteria Ordering System.
Функции системы
Заказы питания
3.1.1 Описание и приоритеты
Клиент кафетерия, идентификация которого подтверждена, может заказывать набор блюд либо с доставкой в указанный пункт на территории компании, либо для получения его в кафетерии. Клиент должен иметь возможность отменить или изменить заказ на питание, если блюда еще не приготовлены. Приоритет — высокий.
|
3.1.2 Последовательности «воздействие-реакция»
Воздействие: Клиент делает запрос на размещение заказа на один или более приемов пищи.
Реакция: Система опрашивает клиента о деталях заказа, оплате и инструкциях по доставке.
Воздействие: Клиент делает запрос на изменение заказа.
Реакция: Если воздействие имеет статус «Принято», система позволяет пользователю изменять сделанный ранее заказ.
Воздействие: Клиент делает запрос на отмену заказа.
Реакция: Если воздействие имеет статус «Принято», система отменяет заказ,
3.1.3 Функциональные требования
Требование | Описание требования |
Заказ.Размещение | Система должна позволять клиенту, зарегистрированному в Cafeteria Ordering System, размещать заказ на один или более наборов блюд. |
Заказ.Размещение.Регистрация | Система должна подтвердить, что клиент зарегистрирован для оплаты посредством удержания из зарплаты для размещения заказа. |
Заказ.Размещение. Регистрация.Нет | Если клиент не зарегистрирован для оплаты посредством удержания из зарплаты, система должна предложить клиенту следующие варианты: зарегистрироваться сейчас и продолжать размещать заказ, сделать заказ и самому получить его в кафетерии (без доставки), или выйти из Cafeteria Ordering System. |
Заказ.Размещение.Дата | Система должна спрашивать клиента о дате доставки (см. Бизнес - Дата: правило-8) |
Заказ.Размещение.Дата.КрайнийСрок | Если дата доставки заказа — текущий день, а крайний срок приема заказов уже прошел, то система должна известить клиента, что уже слишком поздно размещать заказ на сегодня. Клиент должен либо изменить дату, либо отменить заказ. |
Заказ.Доставка.Выбор | Клиент должен указать, получит ли он заказ в кафетерии, или заказ должен быть доставлен. |
Заказ.Доставка.Место | Если заказ должен быть доставлен и все еще есть резервы времени доставки на дату заказа, клиент должен указать место доставки. |
Заказ.Доставка.НетРезервов | Система должна известить клиента, если на дату заказа нет резервов времени доставки. Клиент должен либо отменить заказ, либо указать, что получит его в кафетерии. |
Заказ.Доставка.Время | Система должна показывать свободные интервалы времени доставки на дату заказа. Система должна позволять клиенту выбрать один из показанных интервалов доставки, сделать заказ без доставки или отменить заказ. |
Заказ.Меню.Дата | Система должна отображать меню для указанной даты. |
Заказ.Меню.Наличие | Меню на текущую дату должно показывать только те блюда, которые хотя бы в одном экземпляре есть в инвентарном списке кафетерия. |
Заказ.Единицы.Блюда | Система должна позволять клиенту указывать количество единиц каждого блюда, которое он хочет заказать. |
Заказ.Единицы.Несколько | Система должна позволять клиенту заказывать несколько одинаковых наборов блюд, вплоть до минимального числа любого из указанных блюд в меню, если таковое есть в заказе. |
Заказ.Единицы.СлишкомМного | Если клиент заказывает большее единиц одного блюда, чем в настоящее время указано в инвентарном списке кафетерия, система должна извещать клиента о максимальном количестве единиц этого блюда, которое он может заказать. |
Заказ.Единицы.Изменение | Если остатка блюд а инвентарном списке недостаточно для удовлетворения заказа, клиент должен иметь возможность изменить количество заказанных единиц блюд, изменить количество заказанных наборов блюд или отменить заказ |
Заказ.Подтверждение.Вывод | Когда клиент указывает, что не хочет больше заказывать никакие блюда, система должна выводить заказанные блюда, цены на каждое из них и сумму к оплате, подсчитанную согласно Бизнес-правилу-12. |
Заказ.Подтверждение.Приглашение | Система должна подсказать клиенту подтвердить заказ. |
Заказ.Подтверждение.Отказ | Если клиент не подтверждает заказ, он может либо изменить, либо отменить его. |
Заказ.Подтверждение.Еще | Система должна позволять клиенту заказывать дополнительные наборы блюд на ту же или другие даты. Включение нескольких наборов блюд в один заказ регулируют Бизнес-правило-3 и Бизнес-правило-4. |
Заказ.Оплата.Метод | Когда клиент указывает, что закончил размещать заказы, система должна попросить пользователя выбрать метод оплаты. |
Заказ.Оплата.Доставка | См. Бизнес-правило-11. |
Заказ.Оплата.ВКафетерий | Если клиент сам получит блюда в кафетерии, система должна предложить ему возможность оплаты через удержание из зарплаты или наличными в кафетерии |
Заказ.Оплата.Детали | Система должна выводить названия заказанных блюд, сумму к оплате, метод оплаты и инструкции по доставке. |
Заказ.Оплата.Подтверждение | Клиент должен либо подтвердить заказ, либо сделать запрос на изменение заказа, либо сделать запрос на отмену заказа. |
Заказ.Оплата.Подтверждение.Удержание | Если клиент подтвердил заказ и выбрал оплату через удержание из зарплаты, система должна выдать запрос на оплату системе расчета зарплат. |
Заказ.Оплата.Подтверждение.Да | Если запрос на оплату принят, система должна вывести сообщение о подтверждении заказа с номером транзакции удержания из зарплаты |
Заказ.Оплата.Подтверждение.Нет | Если запрос на оплату не принят, система должна вывести сообщение с причиной отказа. Клиент должен либо отменить заказ, либо изменить метод оплаты за «наличные» и сделать запрос на получение заказа в кафетерии. |
Заказ.Завершение | После того как клиент подтвердил заказ, система должна сделать следующее как одну транзакцию: |
Заказ.Завершение.Сохранение | назначить заказу следующий доступный номер и сохранить заказ с начальным статусом «Принят»; |
Заказ.Завершение.ИнвентарныйСписок | послать сообщение инвентарной системе кафетерия, в котором указано количество единиц каждого блюда в заказе |
Заказ.Завершение.Меню | обновить меню на дату заказа, отражая возможные изменения в наличии блюд в инвентарном списке кафетерия; |
Заказ.Завершение.Периоды | обновить список остающихся доступными периодов доставки на дату заказа; |
Заказ.Завершение.Клиент | послать e-mail клиенту с информацией о заказе и оплате; |
Заказ.Завершение.Кафетерий | послать e-mail сотрудникам кафетерия с информацией о заказе; |
Заказ.Завершение.Ошибка | если какой-либо шаг транзакции не выполняется, система должна провести откат и сообщить пользователю, что заказ не был принят, с указанием причины неудачи. |
Заказ.Предыдущий.Пероид | Система должна позволять клиенту просматривать любые заказы, сделанные им в течение предыдущих шести месяцев [Приоритет = средний]. |
Заказ.Предыдущий.Повтор | Клиент должен иметь возможность повторить любой заказ, который он сделал за предыдущие шесть месяцев, при условии, что блюда в нем есть в наличии на дату нового заказа [Приоритет = средний]. |
[функциональные требования для изменения и отмены заказов не приводятся в этом примере] |
|