Пользовательские требования к системе должны описывать функциональные и нефункциональные системные требования так, чтобы они были понятны даже пользователю, не имеющему специальных технических знаний. Эти требования должны определять только внешнее поведение системы, избегая по возможности определения структурных характеристик системы. Пользовательские требования должны быть написаны естественным языком с использованием простых таблиц, а также наглядных и понятных диаграмм.
Вместе с тем при описании требований на естественном языке могут возникнуть различные проблемы.
1. Отсутствие четкости изложения. Иногда нелегко изложить какую-либо мысль естественным языком четко и недвусмысленно, не сделав при этом текст многословным и трудночитаемым.
2. Смешение требований. В пользовательских требованиях отсутствует четкое разделение на функциональные и нефункциональные требования, на системные цели и проектную информацию.
3. Объединение требований. Несколько различных требований к системе могут описываться как единое пользовательское требование.
Чтобы свести к минимуму неясности при написании пользовательских требований, в [Соммервилл Инженерия программного обеспечения] приведены следующие рекомендации.
1. Разработайте стандартную форму для записи пользовательских требований и неукоснительно ее придерживайтесь. Стандартная форма записи уменьшает неясности в формулировке требований и позволяет легко их проверить. Я рекомендую включать в форму записи требования не только саму его формулировку, но его обоснование и ссылку на более детализированную спецификацию требований.
2. Делайте различие между обязательными и описательными требованиями, как показано в примере 4. Здесь обязательным требованием является наличие средства добавления новых структурных элементов, описательным — описание последовательности действий пользователя. Описательное требование не является абсолютно необходимым для реализации данного пользовательского требования и при необходимости может быть изменено.
3. Используйте разные начертания шрифта (полужирное и курсив) для выделения ключевых частей требования.
Избегайте по возможности компьютерного жаргона. Это не исключает использования технических терминов той предметной области, для которой разрабатывается программное обеспечение.
Пример 4.
Пользовательские требования по созданию структурных элементов схемы
Добавление структурных элементов в схему
Редактор должен иметь средство, предоставляющее пользователю возможность добавлять в схему новые структурные элементы выбранного типа.
'Последовательность действий пользователя для добавления в схему нового структурного элемента
1. Пользователь выбирает тип добавляемого элемента.
2. Пользователь помещает курсор в нужную позицию на схеме и указывает, каким символом будет отображаться новый элемент.
3. Пользователь перемещает символ элемента в конечную позицию.
Обоснование. Такой подход к реализации функции добавления новых структурных элементов предоставляет пользователю непосредственный контроль над выбором типа элемента и его позиционированием на схеме.