Коллеги, добрый день!
В рамках системы, над которой я сейчас работаю, реализуется большое количество сложных бизнес-правил. Каждое бизнес-правило содержит порядка 10 бизнес-условий. Для проверки этих условий необходима информация из нескольких внешних систем заказчика. Исторически сложилось, что информацию о бизнес-правиле и технических подробностях его реализации заказчик присылает в одном документе в смешанном виде, причем часто с упором в реализацию: "Параметр X должен иметь значение в диапазоне от N до M (значение параметра смотреть в поле Y таблицы Z системы W)". Структуру всех систем заказчика наша команда знает еще недостаточно хорошо, чтобы не нуждаться в таких пояснениях от заказчика, но и такая структура документа нечитабельна и нежизнеспособна.
Задача: разработать шаблон спецификации бизнес-правила с приложениями, предназначенный и для пользователей системы, и для разработчиков, в котором вся эта информация будет отражена, но изложена раздельно и структурировано.
Что сейчас стараюсь делать для каждого бизнес-условия:
1. Узнать, что означает параметр X в физическом мире, почему для него такие ограничения. Сформулировать условие с точки зрения бизнеса.
2. Доформулировать логические условия проверки бизнес-условия, если необходимо.
3. Указать источники данных, необходимые для проверки логических условий.
Получение данных для проверки логических условий задача зачастую достаточно нетривиальная и сугубо техническая.
Вопрос: как эту информацию лучше организовать в качестве документа с приложениями, чтобы в основном документе была вся информация, которая необходима для понимания задачи разработчиками и понимания реализации пользователями; стоит ли всю техническую информацию выносить в приложения?
У меня на данный момент используется такая структура:
Для каждого бизнес-правила в таблице указывается набор бизнес-условий и соответствующих им логических условий. Если логическое условие сложное, создается подраздел, в котором оно описывается подробно. Ссылка на этот раздел дается в таблице.
бизнес-условие 1 | Логическое условие 1 Логическое условие 2 (подробное описание см. в п.п. 3.2.2) |
бизнес-условие 2 | Логическое условие 3 |
|
3.2.2 Логическое условие 2 |
Необходимые источники данных (внешние системы, таблицы, поля в них) указываются в отдельном Приложении.
Проблемы текущего решения:
- опыт показал, что такая структура недостаточно просто интуитивно считывается пользователями документа;
- все еще непонятно куда и под каким соусом включать необходимые технические подробности работы с внешними системами.
Буду благодарна за комментарии и предложения.