Студенческий сайт КФУ - ex ТНУ » Учебный раздел » Учебные файлы »ПРОГРАММИРОВАНИЕ

Модели сложных систем

Тип: курсовая работа
Категория: ПРОГРАММИРОВАНИЕ
Скачать
Купить
Описание проектного решения стратегической системы, этапы объектно-ориентированного анализа и проектирования. Описание связей между объектами. Программная реализация, построение модели состояний объекта. Руководство пользователя и описание программы.
Краткое сожержание материала:

Размещено на

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

Севастопольский национальный технический университет

Кафедра ИС

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту

на тему: «Модели сложных систем»

по курсу «Объектно-ориентированное программирование»

Севастополь 2007

Введение

Как известно, объектный подход - один из современных методов реализации программных систем (ПС). Наиболее показательна эффективность применения объектного подхода для больших ПС, со сложным характером взаимодействия значительного количества элементов.

Исследованиям этих вопросов и посвящена настоящая курсовая работа.

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

Таким образом, цель настоящей курсовой работы - детальное проектирование и программная реализация стратегической системы, которая в соответствии с заданным вариантом реализует процессы создания и взаимодействия группы объектов.

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

Объектно-ориентированный подход помогает справиться с такими сложными проблемами, как

уменьшение сложности программного обеспечения;

повышение надежности программного обеспечения;

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

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

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

1. Постановка задачи

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

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

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

Океан вырабатывает растительную пищу (планктон) следующим образом: к количеству планктона на предыдущем шаге (х) добавляется некоторая часть (например, 0.5х), если итоговая масса не превышает некоторого предела (Y), т.к. океан не может вырастить больше определенного количества на единицу поверхности. Потребление планктона происходит следующим образом: косяк потребляет массу планктона в процентном содержании от содержимого клетки. Если косяк определённое количество ходов не голодал (устанавливается пользователем), то он делится, при этом теряет некоторое количество веса в процентном содержании от начального. Косяк может породить себе подобного только в соседнюю клетку, если последняя не занята другим косяком. Косяк погибает когда продолжительно голодает, либо когда его съедает хищник. Хищник в свою очередь поедает треть косяка, в случае если они находятся в одной клетке. Если хищник определённое количество ходов не голодал (устанавливается пользователем), то он делится, при этом теряет некоторое количество веса в процентном содержании от начального. Хищник может породить себе подобного только в соседнюю клетку, если последняя не занята другим хищником. Хищник погибает когда продолжительно голодает, либо если проходит определенное количество шагов (от старости).

Ограничения: количество объектов ограничено размером игрового поля; видовое разнообразие ограничено тремя классами планктона, косяка и хищника, но даже на базе этих двух классов можно организовать несколько типов животных.

Системными требованиями для данной кусосовой работы является наличее операционной системы Windows 9x/Me/2000/XP/Vista, мышки и видеоадаптера.

2. Объектно-ориентированный анализ (ООА)

2.1 Описание проектного решения

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

Анализ следует начать с разбиения предметной области на объекты.

Из варианта задания, очевидно, что в луже существует два типа существ:

планктон - самый примитивный объект, жизненная деятельность которого ограничивается постоянным размножением;

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

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

океан - жизненная система, которая содержит все особи, представленных выше классов существ

На рисунке 2.1 представлены информационные модели взаимодействия объектов друг с другом и лужей.

Рисунок 2.1.1

Связи R1 R2 R3 - типа многие к одному, безусловны, т.к. с обеих сторон участвует каждый экземпляр. Связь R1, типа «Содержит -- Содержится» формализована, посредством двумерного массива Mas, в котором по координатам можно обратиться к каждой ячейке океана. Но эти ячейки составляют океан, поэтому изменения происходят со всем океаном в целом. Связи R2 и R3 типа «Содержит -- Содержится», формализована со стороны океана.

Рисунок 2.1.2 - Диаграмма информационной структуры

Тип связи R4 и R5 «Питается -- является пищей».

Следующим этапом проектирования, будет построение диаграмм переходов состояний (ДПС) для всех объектов системы, которые выражают описание жизненного цикла каждого объекта.

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

Если в среду добавить косяки, то они начинают поедать планктон и размножаться, но процесс проходит не контролируемо и возможно вымирание косяков за счет исчезновения планктона либо за счёт поедания косяков хищниками. Если в среду добавить хищников, то они начинают поедать косяки и размножаться.

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

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

2.2 Описание связей между объектами

Связь - это набор отношений, которые систематически возникают при взаимодействии объектов.

Поскольку в качестве способа представления объекта был выбран текстовый подход, то при изображении связей в качестве звеньев отображаются объекты без указания их атрибутов.

Связи между объектами изображены на рисунке 1.

Рисунок 2.2 - Связи между объектами

Объект TOkean порождает еду (объект класса TPlankton), которой питаются объекты класса TKosiak, которым в свою очередь питаются объекты TXishnik. Объект класса TOkean порождает объекты классов TPlankton, TKosiak и TXishnik.

2.3 Построение модели состояний объекта

Модель состояния объекта или системы состоит из диаграммы переходов состояний (ДПС), а также из описания каждого звена на этой ДПС.

Модели состояния объекта выражают описание жизненного цикла объекта, т.е. является формальным описанием поведения объекта.

Рисунок 2.3.1 - ДПС для косяка и хищника

2.4 Описание классов

В качестве отправной точки для создания модели океана служат классы TOkean и TKletka, первый из которых описывает все характеристики океана как отдельного объекта. Здесь основным полем класса является двумерный массив ссылок на объекты классов TPlankton, TKosiak и TXishnik, которые могут быть пустыми. Второй же является родительским для трёх основных видов жизни, присутствующей в модели, как то пищи и собственно инфузорий, описанных классами TPlankton, TKosiak и TXishnik соответственно.

Другие файлы:

Модели технического обслуживания сложных систем
В пособии дается краткая характеристика сложных систем и средств их обслуживания. Излагаются различные математические модели эксплуатации сложных сист...

Математическое моделирование в биологии
Сборник содержит статьи, доложенные на I школе по математическому моделированию сложных биологических систем, проходившей в марте 1973 г. в Мозжинке....

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

Метод статистического моделирования.
Книга посвящена методу статистического моделирования, реализуемому на ЭВМ. В книге излагаются методы формирования потоков однородных событий, имитации...

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