Разборчивая невеста

Материал из RunaWFE
Версия от 17:28, 14 октября 2014; >WikiSysop
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

Задание по разработке бизнес-процесса выбора жениха из множества претендентов

Описание предметной области:

  1. Невеста выбирает жениха (существует единственное вакантное место)
  2. Есть известное число претендентов
  3. Невеста рассматривает претендентов в случайном порядке, каждого не более одного раза
  4. О каждом текущем претенденте известно, лучше он или хуже любого из предыдущих. В момент рассмотрения невесте становится известен его рейтинг (число)
  5. В результате рассмотрения текущего претендента невеста должна либо ему отказать, либо принять его предложение. Если предложение принято, претендент становится женихом и процесс выбора жениха завершается
  6. Цель невесты — выбрать наилучшего претендента (с самым высоким рейтингом). Если ей это удалось, то невеста считается выигравшей в эту игру, если нет - проигравшей.


Описание последовательностей действий в бизнес-процессе:

Ведущий запускает бизнес-процесс. В стартовой форме он выбирает невесту из списка (соответствует группе "Невесты").

Далее запускается подпроцесс-мультидействие. Подпроцесс запускается по отношению, обратному к отношению "Влюбленность", примененному к невесте. (Отношение возвращает в каждый экземпляр подпроцесса пользователя в роли "Претендент")

В подпроцессе:

Каждый претендент получает задание "ознакомиться с тем, что невеста рассматривает претендентов и ввести свой рейтинг". Форма задания содержит имя невесты и поле для ввода рейтинга претендента (вещественное число). После этого экземпляр подпроцесса завершается.

В родительском процессе (после завершения всех экземпляров подпроцесса) Невеста последовательно начинает получать задания "рассмотреть претендента", задание предусматривает две возможные реакции Невесты: "Отказать" и "Согласиться". В форме задания Невеста видит рейтинг текущего претендента, номер претендента по порядку и количество всех претендентов.

Если Невеста выбирает "Отказать", то текущему претенденту направляется задание "ознакомиться с отказом невесты", а Невеста рассматривает следующего претендента.

Если Невеста отказывает всем претендентам, то ей направляется задание "уйти в монастырь", в форме которого объясняется, что Невеста проиграла (не выбрала претендента с самым высоким рейтингом) и, кроме того, ей надо уйти в монастырь, так как она отказала всем имеющимся претендентам. Ведущий получает задание "ознакомиться с результатом игры". Далее бизнес-процесс завершается.

Если Невеста выбирает "Согласиться", то текущему претенденту направляется задание "Ознакомиться с согласием невесты", всем еще не рассмотренным претендентам бизнес-процесс сообщает, что Невеста уже выбрала другого жениха, а Невесте и Ведущему сообщается результат игры. В форме задания сообщается выиграла Невеста (то есть выбрала жениха с самым высоким рейтингом), или проиграла (то есть рейтинг избранника не самый высокий). Далее бизнес-процесс завершается.


Задание: Разработать бизнес-процесс и подпроцесс, реализующие описанные выше действия исполнителей

В качестве результатов должно быть представлено следующее:

  1. par-файлы разработанных бизнес-процесса и подпроцесса
  2. Скриншоты, содержащие маршруты точек управления для экземпляров бизнес-процессов, доведенных до завершения.(Для всех вариантов поведения бизнес-процесса)
  3. Скриншоты форм заданий, соответствующие выполнению этих экземпляров
  4. Скриншот, содержащий список созданных пользователей и групп пользователей
  5. Скриншоты, содержащие пары для использованных в бизнес-процессе отношений

Замечание: В данном бизнес-процессе надо использовать списки, обработчик "Агрегатная функция над списком" (для функций COUNT и MAX) и обработчик "Получить элемент списка".