Курсовая с практикой на тему Противоборство — strategy (Желательно на C++ или C#)
-
Оформление работы
-
Список литературы по ГОСТу
-
Соответствие методическим рекомендациям
-
И еще 16 требований ГОСТа,которые мы проверили
Введи почту и скачай архив со всеми файлами
Ссылку для скачивания пришлем
на указанный адрес электронной почты
Содержание:
ВВЕДЕНИЕ.. 5
1 ПОСТАНОВКА ЗАДАЧИ.. 9
2 ПРОЕКТНОЕ РЕШЕНИЕ.. 13
2.1 Обзор объектного подхода в
программировании. 13
2.2 Выбор среды и языка
программирования. 18
2.3 Проектирование классов приложения. 21
3 ПРОГРАММНАЯ РЕАЛИЗАЦИЯ.. 23
3.1 Описание реализации основных
классов. 23
3.2 Реализация демонстрационного
модуля. 28
3.3 Тестовые запуски программы.. 30
ЗАКЛЮЧЕНИЕ.. 33
БИБЛИОГРАФИЧЕСКИЙ СПИСОК.. 35
ПРИЛОЖЕНИЯ.. 38
Приложение 1. Листинг программного
кода. 38
Введение:
понятия
как парадигма – набор основных понятий, правил и методов внутри подхода,
которые определяют стиль программирования. В истории развития программирования
как вида деятельности человека можно выделить ряд различных по своей сути
парадигм. Одной из наиболее новых, и современных считается
объектно-ориентированная парадигма.
Объектно-ориентированное
программирование (ООП) в настоящее время стало доминирующей парадигмой
программирования вытеснив структурные, процедурно-ориентированные подходы,
разработанные в начале 1970-х годов.
В последнее десятилетие в компьютерном
мире наметилась тенденция моделирования сложных систем визуальными (наглядными)
моделями. Причем в новых методах проектирования сложных компьютерных систем,
например ООП и ООАП, наглядные модели очень часто связываются с такими
зрительными образами как "взгляды", направленные на сложную систему с
различных точек зрения. Набор из нескольких наглядных моделей (модельных
взглядов) создает в сознании специалистов интегральный образ сложной
компьютерной системы, которую они совместно проектируют. Вместе с тем,
наглядные модели служат эффективным средством документирования компьютерных
систем и их программных обеспечений, а также языком общения между
программистами, системными аналитиками и заказчиками систем.
ООП ‑ это
модель программирования, основанная на утверждении того, что программа это
совокупность объектов, которые взаимодействуют между собой. Каждый объект в
этой модели является независимым, и он способен получать, обрабатывать данные и
отправлять эти данные другим объектам. В ООП использовано модели наследования,
модульности, полиморфизма и инкапсуляции. При объектно-ориентированном подходе
программа представляет собой описание объектов, их свойств (или атрибутов),
совокупностей (или классов), отношений между ними, способы их взаимодействия и
операций над объектами (или методы). Для классификации объектов в ООП
используют классы. Класс служит образцом для создания объекта, то есть объект
является ничем иным, как копией класса.
Учитывая
популярность и востребованность ООП, этому вопросу посвящено большое количество
литературных источников, учебников, статей и публикаций. Материал, изложенный в
этих источниках, можно условно разделить на несколько категорий: общие принципы
ООП, ООП в конкретно выбранных языках программирования, решение прикладных
задач с использованием ООП, особенности реализации и специфические вопросы
использования, объектное моделирование.
Актуальность
исследования определяется высоким уровнем востребованности и использования ООП
подхода в сфере коммерческого программирования. И, как следствие, актуальным
становятся не только изучение и применение методологий, но и использование
автоматизированных средств, позволяющих строить модели и работать с ними. Актуальность работы обусловлена
повышением требований к качеству и скорости разработки систем. Наличие модели,
особенно для масштабных многокомпонентных систем, позволяет оценить будущую
функциональность системы, ее внутреннюю архитектуру, интерфейсы и способы
взаимодействия между элементами системы и внешними сущностями, к которым, в том
числе, относятся и непосредственные пользователи системы.
Объектный подход появился сравнительно
недавно, но стал очень популярен и широко используется сегодня. Основы
методологии описаны в трудах основоположников подхода Буча, Рамбо, Якобсона [25],
из зарубежных авторов стоит упомянуть Д. Арлоу и А. Нейштадт [4], которые
рассматривают уже непосредственно UML, как средство объектного моделирования.
Среди отечественных авторов можно назвать
Пальчунова [17] – рассматривает практическое применение CASE – средства IBM Rational Rose, подобные
вопросы рассматривает и Трофимов [21]. Рожкова в своей
статье [18] проводит сравнительный анализ различных средств моделирования и
проектирования, Мирошниченко и Вичугова [14, 8] рассматривают применение
моделирования на конкретных предметных задачах.
Объектом
исследования курсового проекта является объектная методология моделирования и
проектирования программных систем.
Предметом
исследования являются особенности методологии объектного подхода и ее
применение на примере конкретной прикладной задачи.
Цель
работы состоит в детальном рассмотрении объектного подхода в
моделировании программных систем, выявления особенностей и преимуществ
объектных моделей, применении подхода на конкретном практическом примере.
В объеме курсовой работы ставятся
следующие задачи:
1) Рассмотреть сущность проектирования программного
продукта и и особенности объектного подхода.
2) Кратко охарактеризовать выбранный для
реализации инструментарий: среду и язык программирования.
3) Детализировать постановку задачи на
практическую реализацию.
4) Разработать иерархию классов, согласно
поставленной задачи.
5) Реализовать методы классов и модуль,
который позволит продемонстрировать их использование.
6) Разработать документацию по проекту в виде
пояснительной записки.
Заключение:
Исследования, проведенные в работе, показывают, что ООП
парадигма и объектный подход в программировании сегодня актуален и востребован.
Как следствие этот подход постоянно развивается, внедряются новые концепции и
методы. Сегодня ООП это уже не просто языки программирования позволяющие
описывать классы и настраивать взаимодействие между ними, ООП это философия и
методология представления модели реального мира со своими подходами, принципами
и механизмами.
Методология объектно-ориентированного проектирования,
безусловно, является передовой и эффективной для проектирования широкого
спектра больших программных систем, таких, как интерактивные системы, системы
реального времени. Концепции ООП хорошо сочетаются с другими подходами к
написанию компьютерных систем.
Несомненным преимуществом объектного подхода является
концептуальная близость к предметной области произвольной структуры и
назначения. Механизм наследования атрибутов и методов позволяет строить
производные понятия на основе базовых и таким образом создавать модель сколь
угодно сложной предметной области с заданными свойствами.
Основное достоинство ООП – сокращение количества
межмодульных вызовов и уменьшение объемов информации, передаваемой между
модулями, по сравнению с модульным программированием.
Основной недостаток ООП – некоторое снижение
быстродействия за счет более сложной организации программной системы. Данный
подход эффективен для больших долгосрочных проектов и достаточно затратен во
всех отношениях (человеческий, машинный ресурсы, поддержка) для небольших
проектов или узконаправленных локальных программ.
В практической части работы реализована программа
демонстрирующая реализацию модели игры_стратегии с использованием ООП подхода. Основная
задача практической части – реализовать иерархию классов и проиллюстрировать их
взаимодействие в демонстрационном модуле программы. В ходе реализации
приложения проиллюстрированы все основные механизмы ООП. В проектной части
работы разработаны классы, а в практической части эти классы реализованы.
Реализация приложения детально описана в пояснительной
записке работы. Приложение прошло тестирование, которое подтверждает
соответствие разработанной программы начальным требованиям.
Фрагмент текста работы:
Башня
фиксируется на определенной координате поля. При приближении вражеских юнитов в
область видимости наносит урон по случайно выбранному юниту (кроме рабочего) в
зоне видимости. Башню не могут атаковать медики. Наибольший урон башне наносят
«Рабочие_инженеры».
Юнит
– промежуточный класс иерархии детализируются методом – Двигаться.
Снайпер
– наносит максимальный урон «Пехотинцу», минимальный урон – «Башне», радиус
виденья больше любого другого юнита, скорость передвижения меньше любого
другого юнита. Старается передвигаться ближе к внешнему периметру
Медик
– добавляет 2 пункта жизни своему юниту, отнимает 1 пункт у чужого в области
досягаемости. Медик никак не взаимодействует с башней.
Пехотинец
– наносит максимальный урон «Рабочему», минимальный урон «Снайперу», имеет
наибольшую скорость передвижения, радиус виденья больше чем другие, кроме
«Снайпера».
Рабочий_инженер
‑ наносит максимальный урон «башне» (также для башни он не видим), не наносит
никакого урона «Снайперу», пытается убегать от «Пехотинца».
Снайперы двигаются
предпочтительнее по внешнему периметру, остальные – случайным образом.
Визуализация
процесса битвы
Визуально юниты представляются на плоском однотонном поле
геометрическими фигурами двух спектров цветов «Зеленые» и «Красные», оттенок
определяет тип юнита: