Постоянство
Независимость от Реализации (Абстрактность)
Необходимость
Элементарность
Независимость
Правдоподобность (Реальность, Выполнимость)
Требование должно быть выполнимо в рамках существующих ограничений, таких как время, деньги и доступные ресурсы.
Треб.1: Система должна иметь интерфейс на естественном языке, который будет понимать команды на английском языке.
Это требование может быть нереальным из-за короткого периода времени разработки.
Чтобы понять требование, не нужно знать какое-либо другое требование.
Треб.1: Список доступных рейсов должен включать номер рейса, время отправления и время прибытия для каждого отрезка пути.
Треб.2: Он должен быть отсортирован по ценам.
Слово «Он» во втором предложении относится к предыдущему требованию. И если порядок требований изменить, это требование будет непонятно.
Требование должно содержать отдельный трассируемый элемент (для которого возможно отслеживание связи):
Треб.1: Система должна предоставлять возможность бронировать рейс, покупать билет, бронировать номер в гостинице, бронировать машину, а также предоставлять информацию о развлечениях.
Это требование содержит пять элементарных требований, которые затрудняют трассировку. Предложения, включающие предлоги «и» или «но» должны быть пересмотрены на предмет разделениях их на элементарные требования.
В требовании нет необходимости, если:
– Ни одному заинтересованному лицу требование не нужно.
– Удаление требования не повлияет на систему.
Пример требования, которое может быть удалено, т.к. оно не предоставляет никакой новой информации:
Треб.1: Все требования, указанные в документе Концепции должны быть реализованы и протестированы.
Требования не должны содержать ненужной информации о дизайне и реализации системы:
Треб.1: Информация должна храниться в текстовом файле.
Решение того, каким образом информация будет храниться, и затем передаваться пользователю, должно приниматься дизайнерами или архитекторами системы.
Не должно существовать конфликтов между требованиями. Конфликты могут быть прямые и косвенные.
Прямые конфликты возникают, когда ожидается различное поведение системы в одной и той же ситуации:
Треб.1: Дата должна отображаться в формате мм/дд/гггг.
Треб.1: Дата должна отображаться в формате дд/мм/гггг.
Иногда возможно разрешить конфликт путем анализа условий, которые явились источником данных требований. Например, если Треб.1 поступило от американского пользователя, а Треб.2 от французского, то предыдущие требования могут быть переписаны следующим образом:
Треб.1: Для пользователей США дата должна отображаться в формате мм/дд/гггг.
Треб.2: Для пользователей Франции дата должна отображаться в формате дд/мм/гггг.