Шахматы
Задание по разработке бизнес-процесса "Шахматы"
Краткое описание предметной области:
Надо реализовать игру в шахматы, правила которой хорошо известны. Играют двое. У каждого на доске расставлены фигуры. По очереди игроки получают задания от бизнес-процесса на совершение действия. Возможны следующие действия:
- Сделать ход
- Предложить ничью
- Объявить шах
- Объявить мат
- Сделать рокировку
- Сдаться
В форме этого задания (для действий, кроме «Предложить ничью») игрок вводит название фигуры и координаты хода (например, Крf7, что означает, что «Король» перемещается на поле f7). В случае «Сделать ход», «Объявить шах», «Сделать рокировку» далее такое же задание направляется другому игроку. В случае «Объявить мат» или «Сдаться» игра заканчивается. В случае «Предложить ничью» другой игрок должен получить задание на рассмотрение предложения – он может согласиться, или отказаться. В случае согласия игра заканчивается, в случае отказа, - игра продолжается.
Описание ролей и действий бизнес-процесса:
Описание ролей бизнес-процесса:
В бизнес-процессе три роли
- Ведущий игры
- Первый игрок
- Второй игрок
Описание действий исполнителей:
Ведущий игры - запускает экземпляр бизнес-процесса. В стартовой форме он выбирает первого и второго игрока. Выбор происходит из членов группы "Участники игры", бизнес-процесс должен проверять, что "Первый игрок" не совпадает со "Вторым игроком"
Далее первый и второй игроки получают задания на произведение ходов и сообщения результатов ходов другого игрока. После того, как игра закончится, бизнес-процесс сообщает всем участвующим в бизнес-процессе пользователям результат игры.
После того, как все участники ознакомятся с результатом игры, бизнес-процесс завершается
После того, как все участники ознакомятся с результатом игры, бизнес-процесс завершается.
Задание:
Разработать бизнес-процесс, соответствующий предметной области и удовлетворяющий сформулированным выше требованиям.
Замечание1:
Предполагается, что оба игрока играют честно и не ошибаются.
Замечание2: Бизнес-процесс должен контролировать, что по правилам игры в шахматы рокировку каждый игрок может произвести только один раз за всю игру.