3 Проектирование системы

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

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

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

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

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

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

-  Класс FuncStandart содержит описание всех стандартных функций, определённых языком имитационного моделирования GPSS.

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

-  Класс GPSSOperatori содержит описание операторов языка имитационного моделирования GPSS.В зависимости от матрицы, сгенерированной в методе Matrixкласса GPSSText, вызываются соответствующие методы класса GPSSOperatori. Все методы класса возвращают строковое значение, содержащее описание требуемых операторов языка имитационного моделирования GPSS. Причем стандартные функции, которые используются в операторах как параметры, генерируются в классе FuncStandart.

-  Класс GPSSText описывает сгенерированный текст языка имитационного моделирования GPSS. Во-первых, метод класса Matrix, выводит на консоль запрос об операторах узлов, содержащихся в имитационной модели и о движении транзакта по соответствующим узлам. В зависимости от полученных данных генерируется матрица переходов. Во-вторых, в методе Programma, по матрице переходов совершается соответствующий вызов метода классаGPSSOperatori. В конечном итоге, результат работы программы записывается в файл GPSStext.txt. Этот файл содержит окончательно сгенерированный текст программы на языке имитациооного моделирования GPSS.

Идея классов является основой объектно-ориентированного программирования.

Основными свойствами ООП является инкапсуляция, наследование и полиморфизм.

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

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

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

В нашей программе используется первые два свойства ООП.

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

Представим иерархию классовнашей программы (рисунок 3.1)


Рисунок 3.1


4 РЕАЛИЗАЦИЯ СИСТЕМЫ

Как ранее уже описывалось, программа состоит из трёх классов:

-  Класс FuncStandart содержит описание всех стандартных функций, определённых языком имитационного моделирования GPSS.

-  Класс GPSSOperatori содержит описание операторов языка имитационного моделирования GPSS.

-  Класс GPSSText описывает сгенерированный текст языка имитационного моделирования GPSS.

4.1 Класс FuncStandart

-  Метод stringfBETA() задает параметры функцииBETA(Stream,Min,Max,Shape1,Shape2) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfBINOMIAL()задает параметры функции BINOMIAL(Stream,TrialCount,Probability) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfDUNIFORM()задает параметры функции DUNIFORM(Stream,Min,Max) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringf_1() задает параметры функций EXPONENTIAL(Stream,Locate,Scale), EXTVALA(Stream,Locate,Scale), EXTVALB(Stream,Locate,Scale), LAPLACE(Stream,Locate,Scale), LOGISTIC(Stream,Locate,Scale)и возвращает строку содержащую описание этих параметров с уже заданными пользователем значениями.

-  Методstring f_2() задаетпараметрыфункцийGAMMA(Stream,Locate,Scale,Shape), INVGAUSS(Stream,Locate,Scale,Shape), INVWEIBULL(Stream,Locate,Scale,Shape), OGLAPLACE(Stream,Locate,Scale,Shape), LOGLOGIS(Stream,Locate,Scale,Shape),LOGNORMAL(Stream,Locate,Scale,Shape),PEARSON5(Stream,Locate,Scale,Shape),WEIBULL(Stream,Locate,Scale,Shape)ивозвращаетстрокусодержащуюописаниеэтихпараметровсужезаданнымипользователемзначениями.

-  Метод stringfGEOMETRIC()задает параметры функции GEOMETRIC(Stream,Probability) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfNEGBINOM()задает параметры функции NEGBINOM(Stream,SuccessCount,Probability) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfNORMAL()задает параметры функции NORMAL(Stream,Mean,StdDev) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfPARETO()задает параметры функции PARETO(Stream,Locate,Scale) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод string fPEARSON6()задает параметры функции PEARSON6(Stream,Locate,Scale,Shape1,Shape2) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfPOISSON()задает параметры функции POISSON(Stream,Mean) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfTRIANGULAR()задает параметры функции

-  TRIANGULAR(Stream,Min,Max,Mode) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.

-  Метод stringfUNIFORM() задает параметры функции UNIFORM(Stream,Min,Max) и возвращает строку содержащую описание этой функции с уже заданными пользователем параметрами.


Информация о работе «Разработка средств моделирования систем»
Раздел: Информатика, программирование
Количество знаков с пробелами: 94801
Количество таблиц: 7
Количество изображений: 6

Похожие работы

Скачать
14068
2
0

... них 10 час. – обзорные лекции, 4 час. –практические занятия, 6 час. – лабораторные работы на ЭВМ. Рабочая программа курса «Моделирование систем радиосвязи и сетей радиовещания». СОДЕРЖАНИЕ ДИСЦИПЛИНЫ 1 Введение Цели и задачи дисциплины. Основные понятия теории моделирования систем. Использование моделирования при исследовании и проектировании сетей ...

Скачать
39128
0
1

... применять новые современные методы и средства. Естествен­но, что интеллектуальная система моделирования может функци­онировать только совместно с коллективом людей, поэтому к ней предъявляют эргономические требования.   2.1. Цели моделирования систем управления.  Одним из наиболее важных аспек­тов построения систем моделирования является проблема цели. Любую модель строят в зависимости от цели ...

Скачать
55653
4
6

... интенсивностей переходов прицельного РЭК «Афалина», акты внедрения результатов диссертационной работы. ВЫВОДЫ  В диссертационной работе решена задача разработки средств оценки эффективности алгоритмов поиска и обнаружения целей прицельных радиоэлектронных комплексов, а именно: созданы математические модели, методики и программные средства для автоматизации процедуры анализа алгоритмов. В ...

Скачать
31337
3
2

... будут наименьшими (min 24,998Т). Выводы В процессе исследования были рассмотрены теоретические аспекты следующих методов программирования: динамическое программирование, сетевое планирование и управление, моделирование систем массового обслуживания, теория игр. Были рассмотрены основные задачи, решаемые с помощью этих методов, их основные достоинства и недостатки, а также основные понятия и ...

0 комментариев


Наверх