Вы находитесь на странице: 1из 6

Новосибирский Государственный Университет

Физический Факультет

Техническое описание проекта


по курсу ООАД

WeboBots

Студенты ФФ НГУ
Новиков И.А., Парфиненко В.В.

Группа 7305
Версия 0.0.1
ФФ НГУ, 2010 WeboBots, Техническое описание проекта по курсу ООАД
Курс ООАД Файл: specification.odt Версия: 0.0.1 Дата: 01.03.2010

Содержание
1. Введение...........................................................................................................................3
1.1. Цель............................................................................................................................3
1.2. Область действия.....................................................................................................3
1.3. Определения и сокращения.....................................................................................3
1.4. Ссылки.......................................................................................................................3
1.5. Краткое описание.....................................................................................................3
2. Предметная область проекта..........................................................................................4
2.1. Существующие проблемы.........................................................................................4
2.2. Предполагаемое решение........................................................................................5
3. Требования к программному решению...........................................................................5
3.1. Роли............................................................................................................................5
3.2. Функциональные требования для роли Администратор.......................................6
3.3. Функциональные требования для роли Игрок.......................................................6
3.4. Нефункциональные требования..............................................................................6
4. Обзор архитектуры..........................................................................................................6
4.1. Компонентная модель системы...............................................................................6
4.2. Компоненты сторонних производителей................................................................6
4.3. Схема развертывания приложения.........................................................................6
5. Допущения и ограничения...............................................................................................6
6. Известные проблемы.......................................................................................................6
6.1. Невысокая производительность приложения........................................................6

2/6
ФФ НГУ, 2010 WeboBots, Техническое описание проекта по курсу ООАД
Курс ООАД Файл: specification.odt Версия: 0.0.1 Дата: 01.03.2010

1. Введение
1.1. Цель
Данный документ представляет собой техническое описание проекта WeboBots
и содержит основные требования к разрабатываемой в рамках проекта программной
системе и описание архитектуры программного решения.

1.2. Область действия


Документ разработан в рамках проекта WeboBots на основе стандартного
шаблона Inteks SEP, адаптированного для использования в OpenOffice.org, и
предназначен для использования студентами ФФ НГУ и преподавателями курса
ООАД.

1.3. Определения и сокращения


Таблица 1. Определения и сокращения

Термин Описание
«прошивка» программа на специальном языке программирования,
управляющая виртуальным роботом

1.4. Ссылки
В тексте содержатся ссылки на следующие документы:

1. http://ru.wikipedia.org/wiki/Игра_для_программистов

Ссылки приводятся в виде [N], где N – номер документа в вышеприведенном


списке.

1.5. Краткое описание


Содержание данного документа построено таким образом, чтобы дать ответ на
следующие вопросы:

• Какие проблемы предметной области должен решать будущий программный


продукт

• Посредством какой функциональности системы будут достигнуто решение

3/6
ФФ НГУ, 2010 WeboBots, Техническое описание проекта по курсу ООАД
Курс ООАД Файл: specification.odt Версия: 0.0.1 Дата: 01.03.2010

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

• Какова архитектура программного решения

Описание предметной области и проблем, для решения которых предназначен


будущий программный продукт, приведены в разделе #2. Раздел #3 содержит
описание требований к программному решению, раздел #4 – описание архитектуры
выбранного решения.

2. Предметная область проекта


WeboBots — это веб-приложение реализующее многопользовательскую
онлайн-игру для программистов: битвы программируемых роботов.

«Игра для программистов — компьютерная игра, в которой человек не участвует


напрямую в игре. Вместо этого он пишет управляющую программу, сражающуюся с
себе подобными программами» [1]. Такие игры могут быть полезны для изучающих
программирование, и, кроме того, являются хорошей тренировкой и развлечением
для опытных программистов. Игры для программистов существуют с 60-х годов, и
некоторые их виды завоевали популярность среди программистов. В частности,
битвы роботов довольно зрелищны, что и является причиной популярности игры «C
Robots» и её клонов.

Игровой процесс в «C Robots» заключается в написании игроками программ на


специальном C-подобном языке и последующем запуске их на исполнение на
виртуальной машине, моделирующей сражение роботов вплоть до поражения одного
из них.

2.1. Существующие проблемы


Однако у игры «C Robots» был ряд некоторых недостатков:

• Неудобство многопользовательской игры. Игрокам приходится вручную


обмениваться программами и запускать моделирование битвы. Проблема
может быть решена при наличии централизованной системы хранения
программ с удобным пользовательским интерфейсом.

• Нарушение приватности. Игрокам приходится предоставлять противнику

4/6
ФФ НГУ, 2010 WeboBots, Техническое описание проекта по курсу ООАД
Курс ООАД Файл: specification.odt Версия: 0.0.1 Дата: 01.03.2010

исходные коды своих программ, и они не могут сохранять свои идеи в тайне.
Проблема может быть решена, если исходные коды обоих противников будут
храниться в отдельном месте.

• Отсутствует объективный и актуальный рейтинг игроков. Проблема может


быть решена, если данные о всех поединках будут централизованно
храниться и оперативно обрабатываться.

2.2. Предполагаемое решение


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

Игрок регистрируется на сайте игры, после чего он получает возможность


загружать различные «прошивки», тестировать их в тренировочных матчах и
выставлять на официальные матчи.

Матчи проходят следующим образом. Игрок выбирает две «прошивки» (обе свои
в случае тренировочного матча, либо одну из своих и одну из выставленных
противником), затем на сервере происходит эмуляция матча, и игроку сообщается
результат поединка, после чего он при желании может просмотреть анимированную
запись матча прямо в браузере.

По результатам официального матча победитель получает некоторое


количество очков. На основе суммы набранных очков формируются рейтинг игроков
и рейтинг «прошивок» роботов.

3. Требования к программному решению


Данный раздел описывает требования к программной системе,
разрабатываемой в рамках проекта WeboBots.

3.1. Роли
Роль - это что-то (например: другая система) или кто-то (например: человек) вне
системы, которые взаимодействуют с ней. В предлагаемой к разработке системе
идентифицированы следующие роли.

5/6
ФФ НГУ, 2010 WeboBots, Техническое описание проекта по курсу ООАД
Курс ООАД Файл: specification.odt Версия: 0.0.1 Дата: 01.03.2010

1. Администратор — обеспечивает порядок и регулирует игровой процесс.

2. Игрок — создает контент и взаимодействует с другими игроками, согласно


игровому процессу.

3.2. Функциональные требования для роли


Администратор
3.3. Функциональные требования для роли Игрок
3.4. Нефункциональные требования

4. Обзор архитектуры
4.1. Компонентная модель системы
4.2. Компоненты сторонних производителей
4.3. Схема развертывания приложения

5. Допущения и ограничения
6. Известные проблемы
6.1. Невысокая производительность приложения

6/6