Советы по разделению процесса с участием нескольких участников на сценарии использования

StackOverflow https://stackoverflow.com/questions/161027

  •  03-07-2019
  •  | 
  •  

Вопрос

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

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

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

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

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

Любой совет?

Это было полезно?

Решение

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

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

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

Также рассмотрите возможность использования блоков «расширить» и «включить» для общих элементов, таких как ведение журнала, безопасность и т. д.

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top