Skip to content

OBA 0 контекст анализа

nergal-perm edited this page Mar 21, 2021 · 14 revisions

Шаг 0.1. Цели и функции системы

Бизнес-цель:

Обсуждается в #29

Сделать возможной быструю разработку электронных вариантов настольных игр путем создания фреймворка, обеспечивающего независимость Игроков от правил конкретной Игры и соблюдение заданной механики настольной игры.

Функции движка:

Обсуждается в #30

ID Наименование Изменения
Ф01 управление составом игроков в игре, подключение/отключение игроков по их запросу
Ф02 определять активного игрока (того, чье действие ожидается) на основе механики игры
Ф03 предоставление точек расширения для организации различных проверок по ходу игры
Ф04 хранение и управление историей действий, предоставление наблюдателям доступа к истории
Ф05 управление состоянием игры, как общедоступным (поле, банк), так и "закрытым" (руки и планшеты игроков)
Ф06 обеспечение взаимодействия игроков, правил, наблюдателей в ходе игры (например, передача списков действий)
Ф07 определение списков доступных действий
Ф08 Ф08-представлять-механику-в-виде-структуры

Варианты использования:

ID Инициатор Название Функции Изменения
В01 Игрок Подключиться к игре Ф01
В02 Игрок Начать игру Ф05
В03 Игрок Сделать ход (изменить состояние) Ф02, Ф04, Ф05, Ф06
В04 Игрок Просмотреть историю ходов Ф04
В05 Игрок Просмотреть состояние игры Ф05
В06 Автор игры Описать механику игры Ф03, Ф08
В07 Игра Определить доступные игроку действия Ф07, Ф03
В08 Игра Определить параметры следующего хода (например, активного игрока) Ф02, Ф03
В09 Игра Определить момент завершения игры Ф03
В10 Игрок Создать игру Ф01

Шаг 0.2. Ресурсы для анализа

Шаг 0.3. Ключевые функциональные области (модули)

Прямо вытекают из функций системы, группируются по этапам жизненного цикла. Возможно, превратятся в пакеты или модули как способ организации исходников.

ID Название Функции Изменения
М01 Игроки Ф01
М02 Состояние Ф05
М03 Механика Ф02,Ф06, Ф08
М04 Взаимодействия Ф04
М05 Правила Ф03, Ф07

Шаг 0.4. Предварительный план анализа

  • Составить верхнеуровневый список вариантов использования
  • Сформулировать требования и провести предварительный анализ предметной области для функционального модуля М03 Механика.
  • Уточнить требования и описания функции Ф02 Управление механикой игры (как наиболее рисковой) на основе конкретных примеров из правил вышеприведенных игр. В целом, нужно понять, каким образом отдельные Действия могут быть сгруппированы в ходы и в более крупные структуры игры (раунды, фазы и т.п.).
Clone this wiki locally