Разборчивая невеста
Задание по разработке бизнес-процесса выбора жениха из множества претендентов
Описание предметной области:
- Невеста выбирает жениха (существует единственное вакантное место)
- Есть известное число претендентов
- Невеста рассматривает претендентов в случайном порядке, каждого не более одного раза
- О каждом текущем претенденте известно, лучше он или хуже любого из предыдущих. В момент рассмотрения невесте становится известен его рейтинг (число)
- В результате рассмотрения текущего претендента невеста должна либо ему отказать, либо принять его предложение. Если предложение принято, претендент становится женихом и процесс выбора жениха завершается
- Цель невесты — выбрать наилучшего претендента (с самым высоким рейтингом). Если ей это удалось, то невеста считается выигравшей в эту игру, если нет - проигравшей.
Описание последовательностей действий в бизнес-процессе:
Ведущий запускает бизнес-процесс. В стартовой форме он выбирает невесту из списка (соответствует группе "Невесты").
Далее запускается подпроцесс-мультидействие. Подпроцесс запускается по отношению, обратному к отношению "Влюбленность", примененному к невесте. (Отношение возвращает в каждый экземпляр подпроцесса пользователя в роли "Претендент")
В подпроцессе:
Каждый претендент получает задание "ознакомиться с тем, что невеста рассматривает претендентов и ввести свой рейтинг". Форма задания содержит имя невесты и поле для ввода рейтинга претендента (вещественное число). После этого экземпляр подпроцесса завершается.
В родительском процессе (после завершения всех экземпляров подпроцесса) Невеста последовательно начинает получать задания "рассмотреть претендента", задание предусматривает две возможные реакции Невесты: "Отказать" и "Согласиться". В форме задания Невеста видит рейтинг текущего претендента, номер претендента по порядку и количество всех претендентов.
Если Невеста выбирает "Отказать", то текущему претенденту направляется задание "ознакомиться с отказом невесты", а Невеста рассматривает следующего претендента.
Если Невеста отказывает всем претендентам, то ей направляется задание "уйти в монастырь", в форме которого объясняется, что Невеста проиграла (не выбрала претендента с самым высоким рейтингом) и, кроме того, ей надо уйти в монастырь, так как она отказала всем имеющимся претендентам. Ведущий получает задание "ознакомиться с результатом игры". Далее бизнес-процесс завершается.
Если Невеста выбирает "Согласиться", то текущему претенденту направляется задание "Ознакомиться с согласием невесты", всем еще не рассмотренным претендентам бизнес-процесс сообщает, что Невеста уже выбрала другого жениха, а Невесте и Ведущему сообщается результат игры. В форме задания сообщается выиграла Невеста (то есть выбрала жениха с самым высоким рейтингом), или проиграла (то есть рейтинг избранника не самый высокий). Далее бизнес-процесс завершается.
Задание: Разработать бизнес-процесс и подпроцесс, реализующие описанные выше действия исполнителей
В качестве результатов должно быть представлено следующее:
- par-файлы разработанных бизнес-процесса и подпроцесса
- Скриншоты, содержащие маршруты точек управления для экземпляров бизнес-процессов, доведенных до завершения.(Для всех вариантов поведения бизнес-процесса)
- Скриншоты форм заданий, соответствующие выполнению этих экземпляров
- Скриншот, содержащий список созданных пользователей и групп пользователей
- Скриншоты, содержащие пары для использованных в бизнес-процессе отношений
Замечание: В данном бизнес-процессе надо использовать списки, обработчик "Агрегатная функция над списком" (для функций COUNT и MAX) и обработчик "Получить элемент списка".