
формулировать достаточно ясно,
чтобы
разработчики смогли принять их
как руководство к действию. Поинтересуйтесь причинами ограничений,
проверьте, насколько они аргументированы, и задокументируйте обос-
нование для включения этого ограничения в качестве требования.
Определения данных. Каждый раз. когда клиенты описывают фор-
мат, тип данных, допустимые значения или значение по умолчанию для
элемента данных или структуры бизнес-данных, они дают
определе-
ния данных. Например, «Почтовый индекс в США состоит из пяти
цифр, за которым следует дефис и еще четыре цифры — по умолча-
нию 0000». Составьте словарь данных, своего рода основной
справоч-
ник, который команда сможет использовать в процессе всей разра-
ботки и поддержания продукта.
Дополнительная
информация
Подробнее о словарях данных - в главе
10.
Определения данных иногда становятся источниками функциональ-
ных требований, которые пользователи не запросили напрямую. Что
произойдет, когда номер заказа, состоящий из шести цифр, превысит
999999?
Разработчикам необходимо
знать,
как поведет себя система в
таких случаях. Откладывая проблемы, касающиеся данных, вы только
усложняете их решение в будущем. (Помните проблему 2000 г.?)
Идеи, касающиеся решений. Большинство информации, которую
пользователи представляют как требования, подпадает под определе-
ние идей о решении. Те, кто описывают определенный способ взаимо-
действия с системой для выполнения определенного действия, пред-
ставляют допустимое решение. Аналитику необходимо научиться пре-
одолевать
поверхностные
формулировки и докапываться до сути
идеи, которая и представляет собой требование. Например, функцио-
нальные требования, касающиеся
паролей,
— лишь одно из возмож-
ных решений требования к безопас-ности,
Предположим, пользователь говорит: «Затем в раскрывающемся
списке я выбираю штат, куда я хочу отправить посылку». Фрагмент «в
раскрывающемся списке" тянет на решение. В этом случае благора-
зумный аналитик задаст вопрос:
«Почему
в раскрывающемся
списке?"
Если пользователь ответит: «Мне просто кажется, так удобно», то не-
посредственно требование можно сформулировать примерно так:
«Система позволит пользователю выбрать штат, куда он хочет отпра-
вить
посылку».
Однако пользователь может сказать: «Я предложил
раскрывающийся список, потому что мы применяем этот элемент в
других областях, и я хочу согласованности. Кроме того, так
пользова-
126
Часть II. Разработка требований к ПО