Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
задания / Диссертация - РАЗРАБОТКА МОДЕЛЕЙ, АЛГОРИТМОВ.docx
Скачиваний:
123
Добавлен:
27.05.2015
Размер:
9.85 Mб
Скачать
      1. Взаимосвязь приложения, пакетов и компонентов

На рисунке Рис. 2.13 показаны связи компонентов внутри приложения. Это UML диаграмма, большие прямоугольники в ней обозначают пакеты, а маленькие прямоугольники внутри них – модули. Пунктирными линиями со стрелками показаны зависимости между пакетами и между модулями внутри этих пакетов. В приложении Приложение 4 показана эта же схема, только в увеличенном виде со всеми внутренними взаимосвязями.

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

Краткое описание компонентов:

  • GLScene (http://www.glscene.org) – Набор компонентов (или движок) для работы с трехмерной графикой, звуком, физикой на языке программирования Delphi. Используется для разработки компьютерных игр, симуляций и других интерактивных приложений, использующих трёхмерную графику.

  • Strange Components (http://www.sector-37.com) – набор компонентов, которые первоначально развивался в рамках проекта стратегической игры «Sector-37». Так как многие компоненты получились очень универсальными, впоследствии они были дополнены и использован для других проектов.

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

  • RemObjects Pascal Script (http://www.remobjects.com) – скриптовая система, одна из самых популярных для Delphi. Позволяет сделать систему максимально гибкой и удобной.

  • FastMM (http://fastmm.sf.net) – менеджер памяти, позволяет более эффективно выделять и освобождать память, а также следит за утечками памяти и её неправильным использованием (например, access violation).

  • ExtLib (модифицированная версия этого пакета – http://www.sector-37.com/files/third_party/StrangeExtLib2.2.rar) – из этого набора компонентов используется инспектор свойств (Property editor), который позволяет смотреть и менять свойства любого объекта в системе в режиме реального времени.

  • Application Specific все те компоненты, которые создавались в рамках проекта «Financial Market Simulation», но были отделены от основной программы в целях повышения модульности и возможности повторного использования данных разработок в будущем.

Также, в модуле «FMS» мы видим, как группы компонентом располагаются в иерархическом порядке, на пяти уровнях. Сначала идут FMSTypesAndConstants и FMSUtils, в которых располагаются типы, константы, классы, процедуры и функции, общие для всех модулей данной системы. Потом модуль FMSWorld, в котором располагаются классы, описывающих виртуальный мир и основные взаимосвязи внутри него. На этом уровне миру ничего неизвестно о бирже, игроках и т.п. (см. класс TFMSWorld). На третьем уровне располагается модуль FMSStandardRoles, в котором описываются стандартные классы для данного мира, в том числе те, что отвечают за биржу, роли, планы, стратегии, акции и т.п. На следующем уровне располагаются модули FMSMarkets, FMSTraders, FMSTraders, FMSSimulatedActivityClasses и FMSEventDrivenWorld. Они являются надстройками над стандартными классами и служат для расширения возможностей системы. На последнем уровне находится модуль FMSStatistics, который служит для сбора и обработки статистической информации, поступающей из системы. Таким образом, реализуется многоуровневая (слоистая) архитектурная концепция.

Рис. 2.14. UML диаграмма классов в модели GASM