В общем случае требование формулируется с точки зрения системы или с точки зрения пользователя.
-
<необязательное предварительное условие> <необязательный триггер события> <название системы> должна <ожидаемая реакция системы>
<optional preconditions> <optional trigger> the <system name> shall <system response>
-
Если запрошенный химикат есть на складе химикатов, система должна отобразить список всех хранимых на складе контейнеров с указанным химикатом
If the requested chemical is found in the chemical stockroom, the system shall display a list of all containers of the chemical that are currently in the stockroom
-
<класс пользователя или имя действующего лица> должен иметь возможность <выполнить что-то> <с каким-то объектом> <условия выполнения, время отклика или декларация качества>
The <user class or actor name> shall be able to <do something> <to some object> <qualifying conditions, response time, or quality statement>
-
<название системы> должна позволять (или разрешать или давать возможность) <название класса пользователя> <делать что-то>
*The <system name> *shall let (or allow, permit, or enable) the <a particular user class name> to <do something>
-
Химик должен иметь возможность повторно заказать любой химикат, который он ранее заказывал, путем извлечения и редактирования параметров ранее введенного заказа
The Chemist shall be able to reorder any chemical he has ordered in the past by retrieving and editing the order details
-
Оператор калл-центра должен иметь возможность получить информацию о позвонившем клиенте в течении 5 секунд после формирования запроса если поиск осуществляется с использованием номера договора.
Easy Approach to Requirements Syntax (EARS), предлагает простой синтаксис для спецификации требований на естественном языке. Все требования можно разделить на два больших класса:
-
Нормальное поведение (normal operation) - это когда все взаимодействующие системы ведут себя как ожидается и соответствуют целям пользователя.
-
Нежелательное поведение (unwanted behaviour) - это любые отклонения от нормального поведения.
Все требования на естественном языке можно сформулировать при помощи пяти простых шаблона - 4 шаблона для нормального поведения и 1 для нежелательного
Безусловное поведение (Constant Template) - определяет поведение системы которое должно работать все время. Нет никаких предварительных условий или триггеров.
-
<название системы> должна <ожидаемая реакция системы>
The <system name> shall <system response>
-
Автомобиль должен иметь максимальную розничную цену продажи XX
The car shall have a maximum retail sale price of XXX
-
Автомобиль должен быть совместимым с требованиями безопасности, определенными в XXX
The car shall be compliant with the safety requirements defined in XXX
-
Ноутбук имеет массу не более XXX грамм
The laptop shall have a mass of no more than XXX grams
-
Ноутбук имеет минимальный срок службы аккумулятора XXX часов
The laptop shall have a minimum battery life of XXX hours
По событию (Event-Driven Template) - требование работает как реакция на событие, обнаруженное на границе системы. Часто позволяет понять границы системы.
-
Когда <триггер> <название системы> должна <ожидаемая реакция системы>
When <trigger> the <system name> shall <system response>
-
Когда нажата педаль сцепления, автомобиль должен отключить движущую силу
When the clutch pedal is depressed, the car shall disengage the driving force
-
Когда получена команда "включить индикатор", автомобиль должен включить индикатор на передней, боковой и задней части автомобиля, а также обеспечить звуковую и визуальную индикацию для водителя
When the "turn indicator" command is received, the car shall operate the indicator lights on the front, side and rear of the vehicle, and provide audible and visual conf irmation to the driver
-
Когда ноутбук выключен, а кнопка питания нажата, ноутбук должен загрузиться
When the laptop is off and the power button is pressed, the laptop shall boot up
-
Когда ноутбук работает и ноутбук закрыт, ноутбук должен войти в режим "энергосбережения"
When the laptop is running and the laptop is closed, the laptop shall enter "powersave" mode
По состоянию (State-Driven Template) - требование к системе, которая находится в определенном состоянии.
-
Пока <состояние системы> <название системы> должна <ожидаемая реакция системы>
While <in a specific state> the <system name> shall<system response>
-
Пока зажигание включено, автомобиль должен отображать уровень топлива и уровень масла при движении
While the ignition is on, the car shall display the fuel level and the oil level to the driver
-
Пока ключ в замке зажигания, автосигнализация должны быть отключена
While the key is in the ignition, the car alarm shall be inhibited
-
Пока работает ручной тормоз. колёса должны быть заблокированы
While the handbrake is applied, the wheels shall be locked
-
Пока ноутбук работает от аккумулятора и заряд батареи ниже XXX%, ноутбук должен отображать "низкий заряд батареи"
While the laptop is running on the battery and the battery is below XXX % charge, the laptop shall display "low battery"
-
Пока к внешнему аудио выходу подключено устройства, ноутбук должен отключить встроенный динамик и перенаправить аудиосигнал на внешний выход аудио устройства
While an external audio output device is connected, the laptop shall mute the built-in speaker and send the audio output signal to the external audio output device
По условиям (Optional Feature Template) - требования к системе, которая обладает конкретными свойствами.
-
При <наличие свойства> <название системы> должна <ожидаемая реакция системы>
Where <feature is included> the <system name> shall <system response>
-
При наличии в автомобиле электрических стеклоподъемников электрическое управления окнами должны быть на дверной панели водителя
Where the car has electric windows, the electric window controls shall be on the driver's door panel
-
При наличии автоматических стеклоочистителей ветрового стекла, автомобиль должен обнаружить влагу на ветровом стекле и включить стеклоочистители без команд
Where the car includes automatic windscreen wipers, the car shall sense moisture on the windscreen and operate the windscreen wipers without driver commands
-
При установке «долгой жизни» батареи, ноутбук должен иметь минимальный срок службы батареи XXX часов
Where a "long life" battery is fitted, the laptop shall have a minimum battery life of XXX hours
-
При легкой модели ноутбука, ноутбук должен иметь массу не более XXX грамм
Where the laptop is a "lightweight" model, the laptop shall have a mass of no more than XXX grams
Нежелательное поведение (Unwanted Behaviour Template) - похоже на требования по событию.
-
Если <необязательное предварительное условие> <триггер>, то <название системы> должна <ожидаемая реакция системы>
If <optional preconditions> <trigger>, then the <system name> shall <system response>
-
Если автомобиль обнаруживает попытки проникновения, то автомобиль должен включить автосигнализацию
If the car detects attempted intrusion, then the car shall operate the car alarm
-
Если автомобиль обнаруживает низкое давление масла, то автомобиль должен отображать предупреждение "низкого давления масла"
If the car detects low oil pressure, then the car shall display a "low oil pressure" warning
-
Если будет введен неверный пароль, то ноутбук должен отображать XXX предупреждений
If the incorrect password is entered, then the laptop shall display XXX warning message
-
Если ноутбук подключен к несовместимым устройствам, то ноутбук должен предотвратить передачу данных, зарядку, показать сообщение с предупреждением XXX, и не быть поврежден
If the laptop is connected to a non-compatible device, then the laptop shall prevent transfer of data, prevent transfer of charge, display XXX warning message and not be damaged