Выбор средств реализации системы
Поможем в ✍️ написании учебной работы
Поможем с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой

При реализации системы моделирования был использован объектно-ориентированный язык высокого уровня Java. Выбор данного языка программирования обусловлен несколькими факторами:

1) Бесплатно распространяемой средой разработки приложений высокого качества – Eclipse.

2) Кросс-платформенностью языка программирования.

3) Наличием развитых средств языка по организации интерфейса и работе с графикой.

4) Возможностью использовать свободно распространяемое программное обеспечение (наличие большого количества бесплатных компонент различной направленности с открытым исходным кодом).

5) Высокой скоростью создания приложения, обусловленной опытом автора по разработке ПО на данном языке.

Объектно-ориентированное моделирование

Разработка системы моделирования на объектно-ориентированном языке программирования высокого уровня (Java) хорошо сочетается с концепцией объектно-ориентированное моделирование (ООМ), которая предполагает поддержку классов и экземпляров блоков, а также наследования и полиморфизма блоков.

Класс определяет некоторый шаблон или прототип блока (например, интегратор вообще). Оперируя с классом, например "Интегратор", нельзя говорить о конкретном значении его коэффициента усиления, так как в определении класса присутствуют только информация о типах и именах используемых переменных, но не об их значениях.

Экземпляр блока - это конкретный представитель класса блоков, например, Интегратор_1 и Интегратор_2. Каждый экземпляр имеет свои собственные значения переменных. При создании нового экземпляра могут быть конкретизированы его параметры - специальные константы, которые не могут быть, как и любые константы, изменены в процессе функционирования, но могут оказаться разными для различных экземпляров. В функциональную схему могут входить несколько экземпляров одного и того же класса, например, выходной сигнал блока Интегратор_1 может являться входным для блока Интегратор_2.

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

Более сложным понятием ООМ является наследование.

Часто возникает необходимость создать новый класс "такой же, но ...". Например, нужно описать интегратор со сбросом, дополнив описание стандартного интегратора нужными деталями. В этом новом классе "Интегратор_со_сбросом" описание интерфейса и вычислительной функции будет точно таким же, как и в классе "Интегратор". К нему добавится новая функциональная возможность сброса накопившегося значения суммы.

Подход ООМ стал основным принципом разработки системы моделирования. В частности функции оптимизации и аналитического анализа САР были полностью инкапсулированы в типовых элементах библиотеки («Оптимизатор» и «Анализ САР» соответственно). Такая их организация позволила отказаться от лишних управляющих элементов в приложении и позволили достичь максимального удобства пользователя при наибольшей наглядности.

Проектирование системы на языке UML

На основании требований к функциям и характеристикам системы проведем ее проектирование на универсальном языке моделирования UML.

3.6.1 Диаграмма вариантов использования

Рис. 3.1. Диаграмма вариантов использования системы

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

 

Диаграмма классов

Рис. 3.2. Диаграмма основных классов системы

 

Рис. 3.2. Диаграмма основных классов системы (продолжение)

В системе моделирования динамическая система представлена в качестве проекта (Project). Проект может содержать от одной до нескольких структурных схем (Scheme), связанных между собой внешними сигналами. Каждая структурная схема отображается в окне редактора (Editor).

    Каждая схема состоит из визуальных объектов – блоков (EditorObject) и связей между ними (Link). Каждый графический блок инкапсулирует в себе свою математическую сущность:

· MathBlock – родитель для классов объектов библиотеки;

· SubBlock – групповой элемент структуры, содержит подсхему.

    Конкретная математическая реализация блока описывается классами-потомками от класса MathBlock: усилитель (Amplifier), интегратор (Integrator) и т.д. Данные классы содержат в себе свои собственные параметры и переопределяют метод calc().

    При компиляции каждого проекта создается модель (Model), которая прогоняется для получения определенных динамических характеристик исходной динамической системы.

Рис. 3.3. Диаграмма классов системы, участвующих в оптимизации

    Оптимизация производится стандартным блоком библиотеки Optimizer, потомком класса MathBlock. Optimizer содержит в себе класс OptimizeMethod, реализация которого определяет конктетный метод оптимизации. Он имеет 2 потомка – классы HookJivsMethod и NelderMidMethod, которые переопределяют его метод calc().

Диаграмма состояний

Рис. 3.4. Диаграмма состояний системы

 

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

 

Диаграмма реализации

Рис. 3.5. Диаграмма реализации системы

1) model.jar – основной запускаемый модуль программы, исполняемый java-архив. В нем собраны все исходные коды программы. Данный файл может запускаться с помощью java-машины.

2) library.xml – файл, представляющий древовидную структуру библиотеки типовых элементов. Он позволяет отображать элементы библиотеки из программы с помощь пиктограмм, а также задает соответствие этих элементов, файлам, содержащим экземпляры данных объектов.

3) pic.png – набор графических изображений, используемых в программе.

4) object.obj – набор бинарных файлов, представляющих элементы библиотеки типовых элементов.

5) settings.bin – файл общих настроек системы;

6) codec.dck – файл конфигурации рабочего окна системы;

7) run.bat – пакетный файл для быстрого запуска java-архива в java-машине.

 

Дата: 2019-07-24, просмотров: 222.