большая часть моих требований как заказчика решения формулируются именно как бизнес правила.
согласен с каждым словом.
Ведь, смотрите, простейший пример: система пропуска на территорию компании, мы все каждый день сталкиваемся с необходимостью прикладывать карточку к ридеру.
Простейший Use Case, описывающий операцию авторизации сотрудника, можно описать двумя-тремя фразами:
1 сотрудник прикладывает карточку к ридеру;
2 система считывает информацию с карточки;
3 система проверяет валидность учетной записи;
4 в случае валидности система открывает дверь (вертушку)...
Пункты 2-4 прямые кандидаты на формулировку функциональных требований.
Но!
Но, существует и другая информация, например:
1 сотрудники данной категории не имеют право работать в нерабочие дни
2 срок действия электронной карты ограничивается 1 годом
и т.д.
Очевидно, что игнорировать данную информацию мы не можем - это обязательно должно быть учтено в реализации.
Включать это в Use Case? Мне кажется это не очень корректно. Включать это в требования, но эти правила могут относиться к общекорпоративным правилам и могут одновременно распространяться и на другие системы авторизации, например учетная запись пользователя рабочей станции тоже должна подчиняться данным правилам.
Очевидно, что все подобные вещи должны быть вынесены в отдельные категории знаний, но иметь четкое указание, где они используются.
Я сейчас не затрагиваю вопросов описания фактов, которые просто содержат нужную информацию об автоматизируемом бизнесе, но напрямую в требованиях могут быть не задействованы. И я не говорю о такой важной вещи, как фиксации "терминов", т.е. определении основных бизнес понятий для того, что бы с заказчиком разговаривать на одном "бизнес" языке.
Тема, на самом деле очень интересная и, как мне кажется, немного недооцененная. Очень хочу ошибиться в этом суждении!