Создание игры "Морской бой"

Основания для разработки. Требования к программному продукту, интерфейсу и производительности. Объектно-ориентированный анализ системы. Бизнес-моделирование предметной области с использованием методологий IDEF0, IDEF3. Испытания программного продукта.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 12.06.2014
Размер файла 177,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Министерство образования и науки Украины

Национальный аэрокосмический университет им. Н.Е. Жуковского

“Харьковский авиационный институт”

Кафедра 304

Пояснительная записка

к курсовому проекту по дисциплине «Современные средства проектирования программного обеспечения»

Создание игры «Морской бой»

Исполнители:

студенты 335 группы

Малышев Д.В.

Романенко В.А.

Васильева О.С.

Проверил:

аспирант каф. 304

Хайленко О.В.

Харьков 2014

Реферат

Темой разработки является Создание игры «Морской бой» с использованием современных средств и подходов проектирования программного обеспечения.

По результатам, полученным на этапе проектирования, разработан код программы на основании …, проведены испытания по методике …..

КЛЮЧЕВЫЕ СЛОВА: CASE-СРЕДСТВА ПРОЕКТИРОВАНИЯ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ, ДИАГРАММА КЛАССОВ, ДИАГРАММА ВЗАИМОДЕЙСТВИЯ, ДИАГРАММА РАЗМЕЩЕНИЯ, ТЕСТИРОВАНИЕ.

Содержание

программный интерфейс моделирование

Введение

1. Объектно-ориентированный анализ и проектирование системы

2. Бизнес-моделирование предметной области с использованием методологий IDEF0, IDEF3

3. Описание программного продукта

4. Испытания программного продукта

5. Описание применения

Заключение

Список использованных источников

Введение

В наше время сложно представить себе человека без сотового телефона, планшетного компьютера, смартфона или любого другого портативного мультимедийного устройства. Мы привыкли к тому, что всегда под рукой не только средство связи, но и множество полезных функций, таких как: калькулятор, органайзер, конвертер, календарь, часы. Использование компьютерных технологий позволяет рационально использовать время и ресурсы, а также существенно снизить производственные затраты. Смартфоны становятся новой мобильной игровой платформой, соревнуясь с классическими карманными игровыми системами вроде Nintendo DS или Playstation Portable.

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

В данной курсовой работе описывается программа для мобильного устройства с операционной системой Android, написанная в соответствии с постановкой задачи по теме "Разработка программы для игры "Морской бой"" по дисциплине "Современные средства проектирования ПО". Данная программа осуществляет вывод на экран два поля с расположением кораблей игрока и с использованными игроком ходами. Входными данными является ввод вариантов размера поля, управление расстановкой своих кораблей и координаты шагов игрока.

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

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

«Морской бой» -- игра для двух участников, в которой игроки по очереди называют координаты на неизвестной им карте соперника. Если у соперника по этим координатам имеется корабль (координаты заняты), то корабль или его часть «топится», а попавший получает право сделать ещё один ход. Цель игрока -- первым поразить все корабли противника. Игра впервые была выпущена в виде настольной игры компанией Milton Bradley Company в 1931 году.

1. Объектно-ориентированный анализ и проектирование системы

Для реализации поставленной задачи наиболее эффективно использовать объектно-ориентированный подход. Анализ показал, что функциональность системы легко можно разделить на отдельные классы, которые каждый будут выполнять свою часть работы.

В качестве языка программирования путем проведения сравнительного анализа методом вариантных сетей был выбран язык Java, который поддерживает все необходимые объектно-ориентированные возможности, а также весьма гибок, результаты приведены в таблице 1. В качестве среды разработки под платформу Windows была выбрана визуальная среда разработки Visual Studio. Для проектирования системы были использованы BPWin и Rational Rose.

Таблица 1. Сравнительный анализ средств разработки

Критерий

Коэфф. вес-ти

Абсолютное значение показателей

Относительное значение показателей

Название

Ед. изм

Вар. А

Вар. В

Вар. С

А

В

С

K

K

1

Требования к ресурсам

0.15

100

50

100

1

0.5

1

2

Дружественность пользователю

балл

0.20

5

4

3

1

0.8

0.6

3

цена

0.20

4

5

4

0.8

1

0.8

4

Затраты на адаптацию

балл

0.15

5

3

3

1

0.6

0.6

5

БД

балл

0.15

5

3

3

1

0.6

0.6

6

Соотв. совр. техники

балл

0.15

5

4

5

1

0.8

1

Итого:

0.96

0.735

0.79

Выбор производился по трем вариантам:

Вариант А - C#

Вариант B - Java

Вариант C - C++

На основании проведенного анализа можем сделать вывод, что наиболее приемлемый для нас вариант - это Java.

2. Бизнес-моделирование предметной области с использованием методологий IDEF0, IDEF3

IDEF0 -- методология функционального моделирования и графическая нотация, предназначенная для формализации и описания бизнес-процессов. Отличительной особенностью IDEF0 является её акцент на соподчинённость объектов. В IDEF0 рассматриваются логические отношения между работами, а не их временнамя последовательность. IDEF0-диаграммы показывают производственные операции - как блок, а взаимосвязи с операциями - как стрелки, входящие/покидающие блок. Наличие четко описанных нотаций обеспечивает корректность встроенных в иерархическую структуру модели диаграмм.

IDEF3 -- методология моделирования и стандарт документирования процессов, происходящих в системе. Метод документирования технологических процессов представляет собой механизм документирования и сбора информации о процессах. IDEF3 показывает причинно-следственные связи между ситуациями и событиями в понятной эксперту форме, используя структурный метод выражения знаний о том, как функционирует система. Концепция IDEF3 позволяет по-новому взглянуть на работу программы, оценить эффективность использования ресурсов, увидеть недостатки, искусно скрытые в организационной структуре. Таким образом, можно прийти к умозаключению о том, что выявление и идентификация, анализ и внесение изменений в ПО могут быть использованы как средства для достижения эффективной работы предприятия.

Диаграмма прецедентов

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

Описание потоков

Запуск игры/начало новой игры

Получение справки

Выбор сложности

Автоматическая расстановка

Ход

Конец игры

3. Описание программного продукта

Описание входных и выходных данных представлено в таблице 2.

Таблица 2. Формат входных/выходных данных

ФУНКЦИЯ

ВХОДНЫЕ ДАННЫЕ

ВЫХОДНЫЕ ДАННЫЕ

Начало игры

-

Вывод следующего меню

Уровень сложности

Значение уровня сложности

Вывод следующего меню

Расстановка кораблей вручную

Позиции в массиве, в которых должен располагаться корабль

Сгенерированное поле (массив)

Автоматическая расстановка кораблей

-

Сгенерированное поле (массив)

Выстрел

Поле, позиция на поле

Поле

Конец игры

Оставшиеся корабли, уничтоженные корабли

Кораблей не осталось: победа Иначе: false

Документация по программному коду

Основной класс - класс Field. Содержит основные функции игрового процесса и координирует работу функциональных классов.

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

Классы Label (метка), Button (кнопка) и PictureBox (изображения) наследуются от базового класса для элементов управления Control, включённый в .NET Framework.

PanelFieldPlayer -- поле игрока.

PanelFieldOpponent -- поле компьютерного устройства.

width -- ширина поля.

Height -- высота поля.

maxShip -- максимальное количество кораблей.

NumLiveShips -- количество оставшихся кораблей.

4. Испытания программного продукта

Тест-план

Тестирование программного продукта - есть неотъемлемая часть проектирования ПО. Это этап проверки работоспособности программы, этап обнаружения и исправления ошибок, а так же этап усовершенствования интерфейса для удобства пользователя.

Описание test-cases

TC-1. Проверить меню выбора уровня сложности.

TC-2. Проверить создание новой игры.

TC-3. Проверить расстановку кораблей автоматически.

TC-4. Проверить правильность процесса игры.

TC-5. Проверить правильность завершения игры.

TC-6. Проверить правильность ходов компьютера.

TC-7. Проверить работу программы при задании в порядке, противоречащим правилам игры.

TC-8. Проверить настройку уровня сложности игры.

TC-9. Проверить процесса игры при разном уровне сложности.

TC-10. Проверить возможность осуществлять ходы игроком.

Анализ зон риска

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

Таблица 3. Зоны риска

Номер Test case

Номер соотв. тре-бования ТЗ

Test case

Описание (сценарий)

Ожидаемый результат

TC-1

ТЗ 2.2

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

1. Запустить программный продукт

2. Выбираем сложность.

Игра>настройки>легко.

Игра> настройки>сложно.

3. Начинаем игру.

Игра>Старт

4. Проверяем количество разнообразных объектов

1. Откроется

окно с программой

2. Выбралась нужная сложность.

3. На игровом поле отображается игровые поля согласно заданной размерности.

4. Игра протекает нормально при любом уровне сложности.

TC-2

ТЗ 2.2

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

1. Запустить программный продукт.

2. Начинаем игру.

Игра>Старт

1. Откроется

окно с программой.

2. На экране отображается два поля.

TC-3

ТЗ 2.2

Проверить работоспособность функции расстановки кораблей.

1. Запустить программный продукт.

2. Начинаем игру>Выбор уровня сложности>

Игра>Старт

1. Откроется

окно с программой.

2. На экране отображается два поля.

3. Корабли игрока расставлены соответственно правилам игры.

TC-4

ТЗ 2.2

Проверить правильность процесса игры

1. Запустить программный продукт.

2. Начинаем игру>Выбор уровня сложности>

Игра>Старт

3. Осуществление ходов.

4. Завершение игры.

5. Анализ результатов игры.

1. Программа запустилась. Появилось окно с программой.

2. На экране отображается два поля в соответствии с уровнем сложности.

3. Целые корабли одной из сторон заканчиваются.

4. На экране появляется результат игры.

TC-5

ТЗ 2.2

Проверить работоспособность функции завершения игры

1. Запустить программный продукт.

2. Начинаем игру>Выбор уровня сложности>

Игра>Старт

3. Осуществление ходов.

4. Завершение игры.

1. Программа запустилась. Появилось окно с программой.

2. На экране отображается два поля в соответствии с уровнем сложности.

3. Целые корабли одной из сторон заканчиваются, игра завершается.

TC-6

ТЗ 2.2

Проверить правильность ходов компьютера

1. Запустить программный продукт.

2. Начинаем игру>Выбор уровня сложности>

Игра>Старт

3. Осуществление ходов.

1. Программа запускается. Появляется окно игры.

2. На экране отображается два поля в соответствии с уровнем сложности.

3. Компьютер осуществляет ходы соответственно правилам игры

TC-7

ТЗ 2.2

Проверить работоспособность функции

1. Запустить программный продукт.

2. Начинаем игру>Выбор уровня сложности

3. Установление уровня сложности, превосходящий допустимый.

1. Откроется окно программы.

2. Открывается окно выбора сложности.

3. Появляется окно, оповещающее пользователя об ошибке.

TC-8

ТЗ 2.2

Проверить настройку уровня сложности

1. Запустить программный продукт.

2. Начинаем игру>Выбор уровня сложности

1. Откроется окно программы.

2. Открывается окно выбора сложности.

3. Уровень сложности выбирается нормально, если он задан в диапазоне от (5х5) до (20х20).

TC-9

ТЗ 2.2

Проверить работоспособности игры при задании разных уровней сложности

1. Запустить программный продукт.

2. Начинаем игру>Выбор уровня сложности>

Игра>Старт

3. Осуществление ходов.

4. Завершение игры.

1. Откроется окно с программой.

2. Появляется окно с двумя полями размерности соответствующей заданному уровню сложности.

3. Осуществление ходов происходит без каких-либо осложнений.

4. Завершение игры, анализ результатов.

TC-10

ТЗ 2.2

Проверить работоспособность функции осуществления ходов игроком

1 .Запустить программный продукт.

2. Начинаем игру>Выбор уровня сложности>

Игра>Старт

3. Осуществление ходов.

1. Откроется окно с программой.

2. Появляется окно с двумя полями размерности соответствующей заданному уровню сложности.

3. Осуществление ходов происходит без каких-либо осложнений.

5. Описание применения

При первом запуске программы пользователь видит перед собой основное окно программы. Это окно можно увидеть на рисунке 1.

Рисунок 1. Основное окно программы

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

Пользователь может изменять уровень сложности в диапазонах от (5х5) до (20х20), нажав на кнопку «Properties», как показано на рисунке 2.

Рисунок 2. Выбор уровня сложности

В игре есть справка для пользователя, помогающая ориентироваться в программе. Справка находится в правой части окна. Это так же видно на рисунках 1 и 2.

Процесс игры будет выглядеть как показано на рисунках 3 и 4.

Рисунок 3. Процесс игры

Рисунок 4. Процесс игры

Заключение

Целью данной работы была разработка приложения на мобильное устройство игры «Морской бой».

«Морской бой» -- популярная и интересная игра для двух участников, в которой игроки по очереди называют координаты на неизвестной им карте соперника. Разработанный программный продукт реализует классическую версию игры «морской бой» с возможностью выбора уровня сложностей и визуализацией. Кроме того, в проекте реализована система ведения статистики игры. Среди рассмотренных аналогов ни один не обладал всеми этими возможностями сразу.

Нами был проведен анализ требований к функциональности данной системы, ограничений, накладываемых на систему и входные параметры. В ходе анализа было решено использовать ОО подход, как наиболее подходящий для данного случая. Была построена диаграмма классов и диаграмма модулей для упрощения и систематизации процесса разработки.

В результате проделанной работы было разработано игровое клиент-серверное приложение, которое возможно установить на любое мультимедийное устройство под управление операционной системы Android версии не ниже 2.0.

Работа приложения была протестирована на двух устройствах, различного типа:

note-book lenovo ideapad e530

note-book lenovo ideapad S400

В ходе тестирования были выявлены и исправлены ошибки несовместимости приложения с различными типами экранов и устройствами ввода.

Таким образом, можно говорить о том, что поставленные задачи были выполнены в полной мере.

Список использованных источников

1. Г. Буч «Язык UML.Руководство пользователя».

2. Г. Буч, А. Джекодсон, Д. Рамбо «UML основы. Краткое руководство по унифицированному языку моделирования» 2-е издание.

3. Влад.В. Головач «Дизайн пользовательского интерфейса».

4. В.В. Лабор «С#. Создание приложений для Windows» - Минск; Харвест 2003.- 384 с.

5. Макконелл С. «Совершенный код. Мастер класс», М.: Издательство «Русская редакция» СПб.: Питер 2005.-896 стр.

6. Робинсон С, Корнес О, Глин Д. «С# для профессионалов» том I, II, М.: Издательство «ЛОРИ», 2005. - 1002 с.

7. http://msdn.microsoft.com/ru-ru/.

8. Лекции и лабораторный практикум по курсу «Современные средства проектирования программного обеспечения».

Размещено на Allbest.ru

...

Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.