SAD

реклама
Описание архитектуры программы
Архитектурное представление
Данный документ состоит из 3 разделов.
В разделе «Логическое представление» представлена диаграмма классов с кратким
описанием назначения классов, так же представлена диаграмма активности.
В разделе «Представление прецедентов» представлена диаграмма прецедентов с кратким
описанием основных прецедентов.
В разделе «Представление развертывания» представлена диаграмма развертывания,
отражающая распределение компонентов по узлам сети.
Логическое представление
На данной диаграмме отображены все классы системы и связи между ними.
Назначение классов:
Player: дочерний класс для классов MainPlayer и SlavePlayer. Предоставляет общие функции
игроков.
MainPlayer: класс для игрока- организатора. Предоставляет функции игрока-организатора.
Именно игрок-организатор создает игру, выбирает параметры, подключает игроков,
сохраняет/восстанавливает игру.
1
SlavePlayer: класс для ведомого игрока. Он не выполняет никаких функций, только кидает фишки.
ListOfPlayers: список игроков. Позволяет добавлять игроков в список, удалять игроков из списка,
получать активного игрока и др.
Controller: класс, управляющий работой программы.
MainDlg: класс, отвечающий за реализацию пользовательского интерфейса.
iNetworkStruct: предоставляет интерфейс внутренней структуры сети.
iSerializable: Интрфейс, описывающий возможности сериализации данных.
iDrawable: Интерфейс, описывающий возможности отображения данных.
Data: реализует интерфейсы iNetworkStruct, iDrawable, iSerializable.
NetworkPetry: класс, реализующий сеть Петри.
position_iterator: итератор для обхода позиций.
transition_input_it: Итератор для обхода входных позиций перехода.
transition_iterator: Итератор для обхода переходов.
transition_output_it: Итератор для обхода выходных позиций перехода.
MaxFiredException: Исключение, генерируемое при зацикливании сети.
2
Диаграмма активности
Выбрать тип игры
[тип игры = локальная]
[тип игры = сетевая]
Задать количество
игроков
Задать количество
игроков
Ввод имен
игроков
Ожидание подключения
игроков
[Количество подключившихся игроков < 1]
Выбор варианта генерации
структуры
[тип структуры = предопределенная]
Выбор предопределенной
структуры
Выбор размерности
структуры
Генерация
структуры
Проведение
жеребьевки
Начало игры
Проверка возможности
сделать ход
[Невозможно сделать ход]
Проверка
очередности
[очередность подошла]
Сделать ход
Вывод информации о
победителе
Выбор варианта
продолжения
Вариант = новая игра
Вариант = закончить игру
3
Представление прецедентов
Диаграмма прецедентов
Сохранение игры
MainPlayer
Восстановление сохраненной
игры
<<include>>
Создание локальной игры
<<include>>
<<include>>
Играть
Создание сетевой игры
<<include>>
Задать параметры
Player
Отображение текущего статуса
Подключение к игре
SlavePlayer
Основные прецеденты:
1. «Создание игры». Данный прецедент предназначен для создания игры, задания ее
параметров, идентификации пользователей. Прецедент включает в себя прецедент
«Задание параметров», который описывает процесс задания параметров сети, в случае
локальной игры – идентификации пользователей, в случае сетевой игры – действия
ведомых игроков для подключения к игре.
2. «Играть». Описывает, непосредственно, процесс игры. Определяет действия игроков во
время процесса игры. Включает в себя прецедент «Отображение текущего статуса»,
который описывает действия по отображению состояния игры после каждого хода игрока,
вывод имени победителя.
3. «Сохранение/восстановление игры». Данные прецеденты описывают
последовательность действий по сохранению/восстановлению текущей конфигурации
игры.
4
Представление развертывания
Диаграмма развертывания
Remote
Comp1
mozg.exe
Ethernet
Server
mozg.exe
Ethernet
Remote
Comp2
mozg.exe
В разработанной системе возможны 2 варианта игры:


Локальная;
Сетевая.
При локальном варианте игры на локальной машине запускается экземпляр программы и
происходит, непосредственно, процесс игры.
При выборе сетевого варианта игры выбирается Сервер, на котором игрок-организатор
запускает экземпляр программы. Так же все ведомые игроки на удаленных компьютерах
запускают экземпляры программы и пытаются подключиться к Серверу. После успешного
подключения всех ведомых игроков начинается процесс игры.
5
Скачать