Введение.
Заданием является создание объектно-ориентированной модели экологического равновесия в океане. Это подразумевает наличие таких объектов как: "добыча", "хищник", "преграда".
В процессе выполнение необходимо разработать объектную модель, что подразумевает под собой определение объектов и классов, определение атрибутов объектов и определение методов классов.
Основной целью данной курсовой работы является практическое освоение методики проектирования программных комплексов на базе объектно-ориентированного подхода. Это упрощает как разработку и изучение моделей, так и их реализацию на компьютере. Таким образом, объектно-ориентированный подход помогает справиться с такими сложными проблемами как: уменьшение сложности программного обеспечения; повышение надежности программного обеспечения; обеспечение возможности модификации отдельных компонентов и обеспечение возможности их повторного использования.
1. Анализ и описание предметной области проекта.
Анализируя полученное задание, приходим к выводу о необходимости использования следующих объектов, структур и классов:
1) структура, характеризующая положение объекта в океане;
2) класс "добыча"
3) класс "хищник"
4) класс "преграда"
5) класс "стая"
В данной предметной области перечисленных выше объектов, структур и классов достаточно для описания конкретных ситуаций их взаимодействий. Экологическая модель океана подразумевает под собой такие виды взаимодействия, как биологические пищевые цепочки.
Класс "добыча", представляет собой объект живой природы, для которого характерно питание растительного характера или планктон. Аналогами их в живой природе являются практически все стайные рыбы, большие киты, некоторые виды моллюсков и млекопитающих. Практически все объекты этого класса, за редким исключением, являются естественной пищей для хищников. В результате такого взаимодействия выживают наиболее сильные особи, то есть осуществляется естественный отбор.
Регулятором популяции объектов класса "добыча" являются объекты класса "хищник", аналогом которого в живой природе являются такие животные как: различные виды акул, хищные млекопитающие, осьминоги и т.д..
Многие виды животных в природе объединяются в группы, что позволяет им проще справляться со всеми трудностями, которые возможны в условиях дикой природы. Данную особенность живых организмов реализует класс "стая".
Процесс движения земной коры породил естественные препятствия на дне мирового океана, также на это повлияла и техногенная деятельность человека. Все объекты данного характера можно описать классом "преграда".
2. Разработка объектной модели.
От рассмотренной выше модели взаимодействия и определенных объектов, участвующих во взаимодействии в экологической модели леса, можем перейти к конкретному описанию объектов, структур и классов.
2.1 Определение объектов и классов.
Выше произведенный анализ показал набор структур и классов, которые необходимо описать и использовать для получения модели экологического равновесия в лесу. Ими являются нижеперечисленные классы:
1) класс "добыча"
2) класс "хищник"
3) класс "преграда"
4) класс "стая"
2.2 Подготовка словаря данных.
Приведем словарь данных, содержащий определения классов и объектов, используемых в проекте.
Базовый класс (main_) – определяющий основные общие данные и методы для производных классов, а именно положения объектов в пространстве и перемещение.
Класс "добыча" (meat) – класс, характеризующий экологическую нишу различных видов животных питающимися планктоном или же всем многообразием растительной морской пищи. Эти виды животных являются естественной пищей для крупных и мелких хищников.
Класс "хищник" (predator) – класс, унаследованный от базового класса, описывающий хищных животных.
Класс "преграда" (barier) – класс, унаследованный от базового класса, являющийся естественным неподвижным препятствием.
Класс "стая" (group) – класс, моделирующий естественную особенность животных объединяться в группы для облегчения существования в тяжелых условиях естественного отбора.
2.3. Определение атрибутов классов и объектов.
Базовый класс (main_) включает в себя следующие атрибуты:
рoint – координаты положения объекта в пространстве.
Класс "добыча" (meat)
mass_ – масса;
float k_– коэффициент, определяющий какая часть съеденной пиши идет на наращивание массы.
Класс "хищник" (predator)
length_ - длина
mass_ – масса ;
float k_– коэффициент, определяющий, какая часть съеденной пиши идет на наращивание массы.
Класс "преграда" (barier)
size_ - размер области, в которую входит препятствие.
Класс "стая"
list_ - поле данных, которое представляет собой список объектов, тип которых определен в параметре шаблона, что позволяет использовать данный класс для разных типов.
2.4 Определение методов классов.
Класс (main_) включает следующие методы:
- Абсолютное перемещение (move)
- Относительное перемещение (moveto)
- Установка текущего положения (set)
Класс "добыча" (meat) включает следующие методы:
- Все методы класса main_
- Определение массы (get_mass)
- Поедание пищи (eating)
- Смерть (dead)
Класс "хищник" (predator) включает следующие методы:
- Все методы класса main_
- Определение массы (get_mass)
- Процесс охоты (hunting)
- Смерть (dead)
Класс "преграда" (barier) включает следующие методы:
- Все методы класса main_
Класс "стая" (group)включает следующие методы:
- Добавление элемента (add)
- Изъятие элемента (get)
- Перемещение всей стаи (moveto)
Класс list включает следующие методы:
- Добавление элемента (add)
- Изъятие элемента (get)
- Получение указателя на текущий список get_list
- Удаление списка del_list
2.5 Упрощение классов при использовании наследования и графическое изображение объектной модели.
ЗАДАНИЕ
ЗАДАНИЕ
1. Создать объектно-ориентированную модель системы чисел. В систему входят натуральные, рациональные и комплексные числа.
2. Создать объектно-ориентированную модель экологического равновесия в лесу.
В процессе выполнение необходимо разработать объектную модель, что подразумевает под собой определение объектов и классов, определение атрибутов объектов и определение методов классов.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.