|
Пример спецификации. Шаблон. Пример спецификации. Шаблон спецификации Основные разделы (Вигерс, 2014)
Шаблон спецификации
Основные разделы (Вигерс, 2014): 1. Введение.
2. Общее описание
3. Функции системы
4. Требования к данным
5. Требования к внешним интерфейсам
6. Атрибуты качества
7. Требования по интернационализации и локализации
8. Остальные требования
Приложение А. Словарь терминов
Приложение Б. Модели анализа
Детально:
1. Введение
1.1 Назначение
1.2 Соглашения, принятые документах
1.3 Границы проекта
1.4 Ссылки
2. Общее описание
2.1 Общий взгляд на продукт
2.2 Классы и характеристики пользователей
2.3 Операционная среда
2.4 Ограничения дизайна и реализации
2.5 Предположения и зависимости
3. Функции системы
3.x Функция системы X
3.x.1 Описание и приоритеты
З.х.2 Функциональные требования
4. Требования к данным
4.1 Логическая модель данных
4.2 Словарь данных
4.3 Отчеты
4.4 Получение, целостность, хранение и утилизация данных
5. Требования к внешним интерфейсам
5.1 Интерфейсы пользователя
5.2 Интерфейсы ПО
5.3 Интерфейсы оборудования
5.4 Коммуникационные интерфейсы (интерфейсы передачи информации)
6. Атрибуты качества
6.1 Удобство использования
6.2 Производительность
6.3 Безопасность
6.4 Техника безопасности (охрана труда)
6.х Прочие требования
7. Требования по интернационализации и локализации
8. Остальные требования
Приложение A. Словарь терминов
Приложение B. Модели анализа
Пример спецификации 1. Введение 1.1. Назначение
Эта спецификация требований к ПО описывает функциональные и нефункциональные требования к выпуску 1.0 Cafeteria Ordering System (COS). Этот документ предназначен для команды, которая будет реализовывать и проверять корректность работы системы. Кроме специально обозначенных случаев, все указанные здесь требования имеют высокий приоритете и приписаны к выпуску 1.0.
1.2. Соглашения, принятые в документах
В этой спецификации нет никаких типографских условных обозначений.
1.3. Границы проекта
Cafeteria Ordering System позволит сотрудникам Process Impact заказывать блюда в кафетерии компании через Интернет для доставки в указанные пункты на территории компании. Детальное описание продукта приведено в документе «Cafeteria Ordering System Vision and Scope Document» [1], где перечислены функции, полная или частичная реализация которых запланирована в этом выпуске.
1.4. Ссылки
1. Wiegers, Karl. Cafeteria Ordering System Vision and Scope Document …
2. Beatty, Joy. Process Impact Intranet Development Standerd, Version 1.3, …
3. Rath, Andrew. Process Impact Internet Application User Interface Standard, Version 2.0, …
2. Общее описание 2.1 Общий взгляд на продукт
Cafeteria Ordering System – это новая система, которая заменяет текущие ручные процессы заказа и получения обедов в кафетерии Process Impact. Контекстная диаграмма на рис. 1 показывает внешние объекты и системные интерфейсы для версии 1.0. Предполагается выпустить несколько версий системы, чтобы в конечном итоге удалось встроить ее в службу заказов нескольких близлежащих ресторанов, работающую через Интернет, а также службы авторизации кредитных и дебетовых карт. Р ис. 1. Контекстная диаграмма для выпуска 1.0 системы Cafeteria Ordering System
2.2. Классы и характеристики пользователей
Класс пользователей
| Описание
| Клиент (привилегированный)
| Клиент — это сотрудник Impact Process, желающий заказывать питание с доставкой из кафетерия компании. Всего потенциальных клиентов 600, из которых 400, как ожидается, будут использовать Cafeteria Ordering System в среднем 5 раз в неделю. Иногда клиенты будут заказывать питание на нескольких человек (мероприятия или гости). Ожидается, что 60 % заказов будут поступать через корпоративную интрасеть, а 40 % - с домашних компьютеров или с применением приложений для смартфонов или планшетов.
| Сотрудники кафетерия
| В кафетерии Impact Process в настоящее время работает около 20 сотрудников, которые будут получать заказы через Cafeteria Ordering System, готовить блюда, упаковывать их для доставки, печатать инструкции по доставке и запрашивать доставку. Большинство сотрудников кафетерия придется обучать работе с компьютером и использованию Cafeteria Ordering System.
| Менеджер меню
| Менеджер меню — это сотрудник кафетерия, отвечающий за создание и поддержку меню на каждый день, в котором указано, какие блюда имеются в наличии в кафетерии. Некоторые блюда могут быть недоступны для доставки. Менеджер меню также определяет спецпредложение дня кафетерия. Менеджер меню должен периодически редактировать меню.
| Курьер
| Готовя заказы к доставке, сотрудники кафетерия будут отправлять запросы на доставку на смартфон курьера. Курьер будет забирать заказы и доставлять их клиентам. Главное взаимодействие сотрудника по доставке с системой будет заключаться в подтверждении успеха или неудачи доставки.
|
2.3. Операционная среда
OE-1 Система Cafeteria Ordering System работает со следующими браузерами: Windows Internet Explorer 7, 8 и 9, Firefox версии с 12 по 26, Google Chrome (все версии), Apple Safari версии с 4.0 по 8.0.
OE-2 Система Cafeteria Ordering System установлена на сервере, работающем под управлением текущих утвержденных корпорацией версий Red Hat Linux и Apache HTTP Server.
OE-3 Cafeteria Ordering System. должна допускать доступ пользователей через корпоративную интрасеть, VPN-канал и со смартфонов и планшетов под управлением Android, iOS, Windows.
2.4. Ограничения дизайна и реализации
CO-1 Документация системы по дизайну, коду и сопровождению должна соответствовать Process Impact Intranet Development Standard, версия 1.3 [2].
CO-2 Система должна использовать текущую версию СУБД Oracle, являющуюся корпоративным стандартом.
CO-3 Весь код HTML должен соответствовать стандарту HTML 5.0.
2.5 Предположения и зависимости
AS-1 Кафетерий открыт для завтраков, обедов и ужинов каждый рабочий день компании, когда предполагается присутствие сотрудников на рабочих местах.
DE-1 Работа Cafeteria Ordering System зависит от изменений в системе расчета зарплат, позволяющих принимать запросы на оплату за питание, заказанное через Cafeteria Ordering System.
DE-2 Работа Cafeteria Ordering System зависит от изменений в системе учета запасов кафетерия, позволяющих обновлять информацию о наличии блюд по мере принятия заказов Cafeteria Ordering System.
3. Системные функции 3.1. Заказ блюд из кафетерия
3.1.1. Описание
Клиент кафетерия, личность которого подтверждена, может заказывать набор блюд либо с доставкой в указанное место на территории компании, либо для получения его в кафетерии. Клиент может отменить или изменить заказ, если блюда еще не приготовлены. Приоритет — высокий.
3.1.2. Функциональные требования
Заказ.Размещение:
| Размещение заказа блюд
| .Регистрация
| Система должна подтвердить, что клиент зарегистрирован для оплаты посредством удержания из зарплаты для размещения заказа
| .Нет
| Если клиент не зарегистрирован для оплаты посредством удержания из зарплаты, система должна предложить клиенту следующие варианты: зарегистрироваться сейчас и продолжать размещать заказ, сделать заказ и самому получить его в кафетерии (без доставки) или выйти из системы.
| .Дата
| Система должна спрашивать клиента о дате заказа (см. BR-8).
| .КрайнийСрок
| Если дата доставки заказа — текущий день, а крайний срок приема заказов уже прошел, то система должна известить клиента, что уже слишком поздно размещать заказ на сегодня. Клиент должен либо изменить дату, либо отменить заказ.
| Заказ.Доставка
| Доставки или получение в кафетерии.
| .Выбор
| Клиент должен указать, получит ли он заказ в кафетерии, или заказ должен быть доставлен.
| .Место
| Если заказ должен быть доставлен и все еще есть свободные интервалы времени доставки на дату заказа, клиент должен указать доступное место доставки.
| .Время
| Система должна известить клиента, если не дату заказа нет свободных интервалов времени доставки. Клиент должен либо отменить заказ, либо указать, что получит его в кафетерии.
| .Интервалы
| Система должна показывать свободные интервалы времени доставки на дату заказа.
Система должна позволять клиенту выбрать один из показанных интервалов доставки, сделать заказ без доставки или отменить заказ.
| Заказ.Меню
| Просмотр меню
| .Дата
| Система должна отображать меню на выбранную дату.
| .Наличие
| Меню на выбранную дату должно показывать только те блюда, которые хотя бы в одном экземпляре есть в системе учета запасов кафетерия и могут быть доставлены.
| Заказ.Единицы
| Заказ нескольких блюд и нескольких экземпляров одного блюда.
| .Несколько
| Система должна позволять клиенту заказывать несколько одинаковых наборов блюд, вплоть до минимального числа любого из указанных блюд в меню, если таковое есть в заказе.
| .СлишкомМного
| Если клиент заказывает больше единиц одного блюда, чем в настоящее время указано в системе учета запасов кафетерия, система должна извещать клиента о максимальном количестве единиц того блюда, которое он может заказать.
| Заказ.Подтверждение
| Подтверждение заказа
| .Отображение
| Когда клиент указывает, что не хочет больше заказывать никакие блюда, система должна отобразить заказанные блюда, цены на каждое из них и сумму к оплате, подсчитанную согласно BR-12.
| .Запрос
| Система должна предложить клиенту подтвердить заказ.
| .Ответ
| Клиент может подтвердить, изменить либо отменить заказ.
| .Еще
| Система должна позволять клиенту заказывать дополнительные блюда на ту же или другие даты. Включение нескольких наборов блюд в один заказ регулируют бизнес-правила BR-3и BR-4.
| Заказ.Оплата
| Оплата заказа
| .Метод
| Когда клиент указывает, что закончил размещать заказы, система должна попросить пользователя выбрать метод оплаты.
| .Доставка
| См. бизнес-правило BR-11.
| .Самовынос
| Если клиент сам получит заказ в кафетерии, система должна предложить ему варианты оплаты: через удержание из зарплаты или наличными в кафетерии в момент получения заказа.
| .Удержание
| Если клиент подтвердил заказ и выбрал оплату через удержание из зарплаты, система должна выдать запрос на оплату системе расчета зарплат.
| .Да
| Если запрос на оплату принят, система должна вывести сообщение о подтверждении заказа с номером транзакции удержания из зарплаты.
| .Нет
| Если запрос на оплату не принят, система должна вывести сообщение с причиной отказа. Клиент должен либо отменить заказ, либо изменить метод оплаты на «наличные» и сделать запрос на получение заказа в кафетерии.
| Заказ.Завершение
| После того как клиент подтвердил заказ, система должна сделать следующее как одну транзакцию
| .Сохранение
| Назначить заказу следующий доступный номер и сохранить заказ с начальным состоянием «Принят».
| .Запасы
| Отправить сообщение инвентарной системе кафетерия, в котором указано количество единиц каждого блюда в заказе.
| .Меню
| Обновить меню на дату заказа, отражая возможные изменения в наличии блюд в системе управления запасами кафетерия.
| .Интервалы
| Отправить список остающихся свободными периодов доставки на дату заказа.
| .Клиент
| Отправить склиенту сообщение электронной почты с информацией о заказе и оплате.
| .Кафетерий
| Отправить сотрудникам кафетерия сообщение электронной почты с информацией о заказе.
| .Ошибка
| Если какой-либо шаг транзакции Заказ.Завершение не выполняется, система должна провести откат и сообщить пользователю, что заказ не был принят, с указанием причины неудачи.
| Заказ.Редактирование
|
| .ПоискЗаказа
|
| .УдалениеБлюда
|
| .ДобавлениеНового
|
| .ИзменениеКоличества
|
|
3.2 Заказ блюд из ресторанов
…
3.3 Создание, просмотр, модификация и удаление подписки на стандартные блюда
…
3.4 Создание, просмотр, модификация и удаление меню кафетерия
…
4. Требования к данным 4.1 Логическая модель данных
Рис. 2. Фрагмент модели данных для выпуска 1.0 системы Cafeteria Ordering System 4.2. Словарь данных*
Элемент данных
| Описание
| Структура или тип данных
| Длина
| Значения
| указания по доставке
| куда и кому должен быть доставлен заказ
| имя клиентам
+телефон клиента
+дата доставки
+пункт назначения поставки
+временной интервал доставки
|
|
| пункт назначения поставки
| строение или комната, куда нужно доставить блюдо
| алфавитно-числовое значение
| 50
| разрешены дефисы, запятые
| временной интервал доставки
| начало 15-минутного временного интервала на дату заказа блюда, во время которого должно быть доставлено блюдо
| время
| чч:мм
| местное время;
чч=0-23 включительно;
мм=00, 15, 30 или 45
| идентификатор сотрудника
| корпоративный идентификатор сотрудника, разместившего заказ
| целое
| 6
|
| описание блюда
| описание блюда в меню
| текстовое
| 100
|
| цена блюда
| стоимость блюда без налога
| числовое, рубли и копейки
| рр.кк
|
| дата доставки блюда
| дата, когда блюдо должно быть доставлено или получено в кафетерии
| дата, дд.мм.гггг
| 10
| по умолчанию — текущая дата, если она не выходит за рамки крайнего срока заказа, иначе — следующий день; не может быть раньше текущей даты
| состояние заказа
| состояние заказа, созданного клиентом
| текстовое
| 16
| незавершенный, принят, готовый, ожидающий доставки, доставлен, отменен
| заказанное количество
| число единиц каждого блюда, включенного в заказ клиентом
| целое
| 4
| по умолчанию 1,
максимум — количество, имеющееся в запасе
| * Приводится с сокращениями. 4.3. Отчеты
4.3.1. Отчет о заказанных блюдах
Идентификатор отчета
| COS-RPT-1
| Заголовок отчета
| История заказов блюд
| Цель отчета
| Клиент хочет увидеть список всех блюд, которые он раньше заказывал в кафетерии или близлежащих ресторанах за определенный период времени вплоть до полугода до текущей даты, чтобы можно было повторно заказать понравившееся блюда
| Приоритет
| Средний
| Пользователи отчета
| Постоянные клиенты кафетерия
| Источники данных
| База данных ранее размещенных заказов блюд
| Частота и использование
| Отчет генерируется по запросу клиента. Данные в отчете статичны. Отчет отображается в окне браузера на устройстве пользователя (компьютер, планшет, смартфон)
| Время доступа
| Готовый отчет должен быть получен в течение 3 секунд после отправки запроса
| Визуальный макет
| Альбомная ориентация
| Верхний и нижний колонтитулы
| Верхний колонтитул должен содержать заголовок отчета, имя клиента и заданный диапазон дат. При печати в нижнем колонтитуле должен содержаться номер страницы
| Тело отчета
| Отображаемые поля и заголовки столбцов:
Номер заказа
Дата заказа
Где заказано (кафетерий, ресторан — какой)
Заказанные блюда (список всех блюд с указанием их числа и цен)
Общая цена
Налог
Стоимость доставки
Итого (сумма с налогом и доставкой)
Критерий отбора: диапазон дат, определенный клиентом, включая начальную и конечную дату
Критерий сортировки: обратный хронологический порядок
| Признак конца отчета
| Нет
| Интерактивность
| Клиент может просматривать подробности ингредиентов и сведения о пищевой ценности для каждого блюда
| Ограничения безопасности доступа
| Клиент может просматривать историю только своих заказов
|
4.4. Целостность, сохранение и утилизация данных
DI-1 Cafeteria Ordering System должна хранить заказы клиента на протяжении 6 месяцев с даты поставки.
DI-2 Cafeteria Ordering System должна хранить меню на протяжении года с даты, указанной в меню.
5. Требования к внешним интерфейсами 5.1. Пользовательские интерфейсы
UI-1 Экраны Cafeteria Ordering System должны соответствовать «Process Impact Internet Application User Interface Standard 2.0» [3].
UI-2 Система должна обеспечивать ссылку на справку на каждой HTML-странице, объясняющую, как пользоваться этой страницей.
UI-3 Интернет-страницы должны предоставлять полную возможность навигации и выбор блюд только при помощи клавиатуры, в дополнение к использованию мыши и клавиатуры.
5.2 Интерфейсы ПО
SI-1 Система учета запасов кафетерия
SI-1.1 Cafeteria Ordering System должна передавать количество единиц заказанных блюд системе учета запасов кафетерия через программный интерфейс.
SI-1.2 Cafeteria Ordering System должна опрашивать систему учета запасов кафетерия для определения наличия запрашиваемого блюда.
SI-1.3 Когда система учета запасов кафетерия сообщает Cafeteria Ordering System, что определенного блюда нет в наличии, Cafeteria Ordering System должна убирать это блюдо из меню на текущую дату.
SI-2 Система учета зарплаты.
Cafeteria Ordering System должна сообщаться с системой расчета зарплаты через программный интерфейс, выполняя следующие операции.
SI-2.1 Позволять клиенту регистрироваться и отменять регистрацию для оплаты через удержания из зарплаты.
SI-2.2 Проверять, зарегистрирован ли клиент для оплаты посредством удержания из зарплаты.
SI-2.3 Проверять, может ли клиент регистрироваться для оплаты посредством удержания из зарплаты.
SI-2.4 Передавать запрос на оплату приобретенного набора блюд.
SI-2.5 Возвращать полностью или частично предыдущую оплату, если клиент отменил заказ, или не был удовлетворен им, или заказ не был доставлен согласно подтвержденным инструкциям по доставке.
5.3. Интерфейсы оборудования
Интерфейсы оборудования не выявлены.
5.4. Коммуникационные интерфейсы
CI-1 Cafeteria Ordering System должна отправлять клиенту сообщение электронной почты или СМС-сообщение (определяется параметрами учетной записи) с подтверждением принятия заказа, ценой и инструкциями по доставке.
CI-2 Cafeteria Ordering System должна отправлять клиенту сообщение электронной почты или СМС-сообщение (определяется параметрами учетной записи) о любых проблемах, возникших с заказом или его доставкой после принятия заказа.
6. Атрибуты качества 6.1. Требования по удобству использования
USE-1 Система должна позволять клиенту извлечь ранее заказанное блюдо одной операцией.
USE-2 95 % новых пользователей должны суметь успешно ввести заказ без ошибок с первой попытки.
6.2. Требования к производительности
PER-1 Система должна обслуживать всего 400 пользователей и 100 пользователей в период пиковой активности с 9:00 до 10:00 по местному времен, со средней продолжительностью сеанса 8 минут.
PER-2 Все веб-страницы, генерируемые системой, должны полностью загружаться не более чем за 4 секунды после запроса их по интернет-подключению со скоростью 20 Мбит/сек.
PER-3 Система должна выводить пользователю сообщение о подтверждении в среднем за 3 секунды и не более чем через 6 секунд после того, как пользователь отослал информацию системе.
6.3. Требования безопасности
SEC-1 Все сетевые транзакции, включающие финансовую или поддающуюся учету личную информацию, должны быть зашифрованы согласно бизнес-правилу BR-33.
SEC-2 Пользователи обязательно регистрируются для входа в Cafeteria Ordering System для выполнения всех операций, кроме просмотра меню.
SEC-3 Система должна позволять только сотрудникам кафетерия, внесенным в список авторизованных менеджеров меню, создавать или изменять меню, согласно бизнес-правилу BR-24.
SEC-4 Система должна позволять клиентам просматривать только заказы, размещенные ими лично, но не другими клиентами.
6.4. Требования к защите
SAF-1 У пользователя должна быть возможность увидеть список всех ингредиентов каждого блюда, причем ингредиенты, известные тем, что могут вызвать аллергическую реакцию у 0,5 % населения Северной Америки, должны быть выделены особо.
6.5. Требования к доступности
AVL-1 Cafeteria Ordering System должна быть доступна 98 % времени между 5:00 и полуночью по местному времени и 90 % времени между полуночью и 5:00 по местному времени, за исключением времени планового обслуживания.
6.6. Требования к надежности
ROB-1 Если соединение между пользователем и системой разрывается до того, как заказ подтвержден или отменен, Cafeteria Ordering System должна позволять пользователю восстановить незавершенный заказ и продолжить работу.
Приложение А. Модели анализа На рис. 3 показана диаграмма состояний, где отображено возможное состояние заказа блюд и его возможные изменения.
Рис. 3. Диаграмма состояний для состояния заказов блюд
Бизнес-правила
Идентификатор
| Определение правила
| Тип правила
| Статичное или динамичное
| Источник
| BR-1
| Периоды доставки — это 15-минутные интервалы, начинающиеся каждые четверть часа.
| Факт
| Динамическое
| Менеджер кафетерия
| BR-2
| Доставка всех заказов должна быть завершена между 10:00 и 14:00 по местному времени.
| Ограничение
| Динамическое
| Менеджер кафетерия
| BR-3
| Все блюда из одного заказа должны доставляться в одно место.
| Ограничение
| Статическое
| Менеджер кафетерия
| BR-4
| Все блюда из одного заказа должны быть оплачены одним и тем же методом.
| Ограничение
| Статическое
| Менеджер кафетерия
| BR-8
| Блюда должны быть заказаны не более, чем за 14 календарных дней до даты доставки.
| Ограничение
| Динамическое
| Менеджер кафетерия
| BR-11
| Если заказ должен доставляться, клиент должен оплатить его посредством удержания из зарплаты.
| Ограничение
| Динамическое
| Менеджер кафетерия
| BR-12
| Стоимость заказа подсчитывается как сумма цен единиц каждого блюда, умноженных на количество заказанных единиц этого блюда, плюс налог с продаж, плюс плата за доставку, если заказ доставляется в пункт, расположенный вне зоны бесплатной доставки.
| Вычисление
| Динамическое
| Политика кафетерия, налоговые законы
| BR-24
| Только работники кафетерия, назначенные менеджером кафетерия менеджерами меню, могут создавать, изменять или удалять меню кафетерия.
| Ограничение
| Статическое
| Политика кафетерия
| BR-33
| Передача данных по сети, включающая финансовую или поддающуюся учету личную информацию, должна проходить с использованием 256-разрядного шифрования.
| Ограничение
| Статическое
| Политика безопасности компании
| BR-86
| Только штатные сотрудники могут регистрироваться для совершения каких-либо покупок в компании посредством удержания из зарплаты.
| Ограничение
| Статическое
| Финансовый директор компании
| BR-88
| Сотрудник может зарегистрироваться для оплаты питания в кафетерии посредством удержания из зарплаты, если не более 40 % его начисленной зарплаты удерживается в настоящее время по другим причинам.
| Ограничение
| Динамическое
| Финансовый директор компании
|
|
|
|