2008-10-02 5 views
1

Предположим, что я моделирую процесс, который включает в себя беседу или обмен между двумя актерами. Для этого примера я буду использовать что-то легко понять: -Рекомендации по разделению процесса с участием нескольких действующих лиц на случаи использования

  1. Поставщик создает прайс-лист,
  2. Покупатель выбирает некоторые детали, чтобы купить и отправляет заказ на поставку,
  3. Поставщик получает заказ на поставку и отправляет товар.
  4. Поставщик посылает счет-фактура
  5. Покупатель получает счет-фактуру и производит оплату

Конечно, каждый из этих шагов сам по себе может быть быстрым, сложным. Как бы вы разделили это на использование в вашем документе требований?

Если этот процесс рассматривался как один случай использования, он мог бы заполнить книгу.

В качестве альтернативы, создание прецедента из каждого из вышеперечисленных шагов скроет некоторые существенные взаимодействия и поток, которые должны быть захвачены. Имеет ли смысл иметь прецедент, который начинается с «Полученного заказа на поставку» и заканчивается в «Отправить счет-фактуру», а затем другой, который начинается с «Получить счет-фактуру» и заканчивается на «Делает платеж»?

Любые советы?

ответ

1

Как обычно я подхожу к таким задачам, просто начинаю создавать диаграммы активности UML и диаграммы активности высокого уровня для процесса. Не беспокойтесь о специфике, просто дайте ему свой лучший снимок.

Когда у вас будет черновик, вы почти сразу увидите, как его можно улучшить. Затем вы можете продолжить рефакторинг, чтобы уменьшить размер использования, структурировать большие действия и т. Д. В качестве альтернативы вы могли бы объединить несколько случаев использования вместе, если они слишком малы.

Не зная деталей вашего проекта, я бы просто пошел вперед и сделал каждый шаг отдельным примером использования - все они кажутся автономными и могут быть описаны без каких-либо перекрестных ссылок. Если при этом вы найдете какие-либо зависимости, вы всегда можете пересмотреть подход.

Также рассмотрите возможность использования блоков 'extend' и 'include' для общих элементов, таких как каротаж, безопасность и т. Д.

1

Да, здесь есть много возможностей. В приведенном выше примере это может быть еще сложнее, если Покупатель сделает несколько частичных платежей для оплаты счета.

Возможно, вам необходимо создать полные варианты использования рабочего процесса. Разделение каждого из вышеуказанных шагов на свои собственные варианты использования может оказаться непригодным, так как некоторые из этих шагов будут иметь предварительные условия &.

Я работаю над исходным кодом QuickBooks и количеством способов прохождения транзакции через систему. Наши ребята из QA практически не тестируют каждую комбинацию.

Смежные вопросы