Объектно-ориентированный подход в имитационном моделировании

Автор работы: Пользователь скрыл имя, 17 Августа 2015 в 18:49, реферат

Описание работы

Объектом разработки является программный продукт, имитирующий производственную линию с пунктами технического контроля.
Целью данной курсовой работы является создание программного обеспечения - системы имитационного моделирования на тему "Производственная линия с пунктами технического контроля".
В ходе решения поставленной задачи были проведены OOA, OOD и OOP предметной области с помощью метода Аббота и диаграмм Гради Буча.

Файлы: 1 файл

Иммитационное моделирование.docx

— 283.50 Кб (Скачать файл)

 

 

 

 

 

 

 

Реферат

по дисциплине: "Имитационное моделирование"

Тема: " Объектно-ориентированный подход в имитационном моделировании.

 

 

 

 

 

 

 

 

 

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

Целью данной курсовой работы является создание программного обеспечения - системы имитационного моделирования на тему "Производственная линия с пунктами технического контроля".

В ходе решения поставленной задачи были проведены OOA, OOD и OOP предметной области с помощью метода Аббота и диаграмм Гради Буча.

Данный программный продукт отличается удобством, простотой в использовании, высокой скоростью выполнения, низким требованием к аппаратному обеспечению. К недостаткам отнесем отсутствие графического интерфейса.

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

 

 

Перечень условных обозначений, символов, единиц, сокращений и терминов

 

OOA - объектно-ориентированный  анализ

OOD - объектно-ориентированное  проектирование

OOP - объектно-ориентированное  программирование

ПО - программное обеспечение

ПП - программный продукт

CRC - Class-Responsibilities-Collaborators

ПрО - Предметная область

 

Содержание

 

 

Введение

 

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

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

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

 

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

 

1.1 Описание предметной области

 

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

Время между поступлениями телевизоров в пункт контроля для заключительной проверки распределено равномерно на интервале 3.5-7.5 мин. В пункте заключительной проверки параллельно работают два контролера. Время, необходимое на проверку одного телевизора, распределено равномерно на интервале 6-12 мин. В среднем 85% телевизоров проходят проверку успешно с первого предъявления и направляются на упаковку. Остальные 15% возвращаются в пункт настройки, обслуживаемый одним рабочим. Время настройки распределено равномерно на интервале 20-40 мин.

Выделим главные сущности в заданной работе. Для заданной предметной области сущности таковы: Конвейер (производственная линия), Очередь контроля, Очередь настройки, Контролер 1, Контролер 2, Настройщик, TV (телевизор).

Конвейер характеризуется текущим состоянием: занят или свободен. Занят - означает, что в данный момент на конвейере выполняет работа. Свободен - означает, что производственная линия сейчас пуста и работа не выполняется.

Очередь характеризуется текущим количеством телевизоров в очереди.

Контролер характеризуется текущим состоянием: занят или свободен, временем конца проверки и проверяемым TV.

Настройщик характеризуется текущим состоянием: занят или свободен, временем конца настройки и TV, которые в данный момент настраивается.

TV, обслуживаемый на конвейере, можно охарактеризовать текущим  положением на Конвейере (находится в очереди контроля; очереди настройки; проверяется у контролера 1, 2; настраивается у настройщика), а также моментом поступления на конвейер, моментом начала проверки и настройки, временем проверки у контролера, временем настройки у настройщика.

 

1.2 Цели и задачи

 

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

  • время, затрачиваемое на обслуживание каждого телевизора на последнем этапе производства;
  • загрузка контролеров;
  • загрузка настройщика.

Для достижения поставленной цели необходимо решить следующие задачи.

  1. Проведение объектно-ориентированного анализа предметной области;
  2. Проведение объектно-ориентированного проектирования разрабатываемой системы;

объектное ориентированное программирование модуль

  1. Реализация программы с применением объектно-ориентированного программирования;
  2. Проведение имитационного моделирования и сбор статистических данных.

 

1.3 Выбор средств

 

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

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

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

 

2. Выбор метода решения

 

2.1 Теоретические сведения

 

Технология программирования включает в себя совокупность методов и средств разработки ПО и порядок применения этих методов и средств.

В основе ООП лежат следующие положения.

  1. ООА. Метод анализа, согласно которому требования рассматриваются с точки зрения классов и объектов, составляющих словарь предметной области.
  2. ОО проектирование. Методология проектирования, соединяющая процесс объектно-ориентированной декомпозиции и систему обозначений для представления логической и физической, статической и динамической моделей проектируемой системы.
  3. ООП. Методология реализации, при которой программа организуется, как совокупность сотрудничающих объектов, каждый из которых является экземпляром какого-либо класса, а классы образуют иерархию наследования. При этом классы обычно статичны, а объекты очень динамичны, что поощряется динамическим связыванием и полиморфизмом.
  4. Класс. Множество объектов с общей структурой и поведением. Термины "класс" и "тип" в большинстве случаев (но не всегда) взаимозаменяемы.
  5. Объект. Нечто, чем можно оперировать. Объект имеет состояние, поведение и идентичность.
  6. Состояние. Совокупный результат поведения объекта: одно из стабильных условий, в которых объект может существовать, охарактеризованных количественно; в любой конкретный момент времени состояние объекта включает в себя перечень (обычно, статический) свойств объекта и текущие значения (обычно, динамические) этих свойств.
  7. Поведение. Действия и реакции объекта, выраженные в терминах передачи сообщений и изменения состояния; видимая извне и воспроизводимая активность объекта.
  8. Протокол. Способы, которыми объекты могут действовать и реагировать; полное статическое и динамическое представление объекта; протокол объекта определяет допустимое поведение объекта.
  9. Объектная модель. Совокупность основополагающих принципов, лежащих в основе объектно-ориентированного проектирования; парадигма программирования, основанная на принципах абстрагирования, инкапсуляции, модульности, иерархичности, типизации, параллелизма и устойчивости.
  10. Инкапсуляция. Процесс разделения элементов абстракции, которые образуют ее структуру и поведение. Служит для отделения внешних обязательств объекта от его реализации.
  11. Наследование. Отношение между классами, при котором класс использует структуру или поведение другого (одиночное наследование) или других (множественное наследование) классов. Наследование вводит иерархию "общее/частное" в которой подкласс наследует от одного или нескольких более общих суперклассов. Подклассы обычно дополняют или переопределяют унаследованную структуру и поведение.
  12. Полиморфизм. Положение теории типов, согласно которому имена (например, переменных) могут обозначать объекты разных (но имеющих общего родителя) классов. Следовательно, любой объект, обозначаемый полиморфным именем, может по-своему реагировать на некий общий набор операций [1].

 

2.2 Описание входных и выходных данных

 

Входные данные:

  • шаг времени (тип: float);
  • время моделирования (тип: float);
  • максимальное значение очереди контроллера (тип: float).

Выходные данные (результаты моделирования):

  • статистика динамики телевизоров на производственной линии;
  • загрузка контролеров;
  • загрузка настройщика.

 

3. Метод решения

 

3.1 Объектно-ориентированный анализ

 

Проведем объектно-ориентированный анализ предметной области, для этого рассмотрим основные сущности в нашей предметной области.

Используем метод Аббота, который заключается в словесном анализе предметной области и получении её словаря и объектно-ориентированного словаря. Нам нужно описать задачу или ее часть на простом языке, а потом подчеркнуть существительные и глаголы. Существительные - кандидаты на роль классов, а глаголы могут стать именами операций [1].

Выделим в заданной предметной области существительные, прилагательные и глаголы. Результаты представлены в таблице 3.1.

 

Таблица 3.1 - Словарь понятий предметной области

Существительное

Глагол

Прочее

Конвейер

Контроллер

Настройщик

Очередь

Телевизор

Время

Процесс

Работа

Настраивать

Проверять

Размещать

Отправлять

Возвращать

Поступать

Занятый

Свободный

Настроенный

Пустой


 

Далее создадим объектно-ориентированный словарь, выделив сущности, состояния, и функции. Результаты представлены в таблице 3.2.

 

Таблица 3.2 - ОО словарь предметной области

Сущность /Сущность

Свойства/Состояние

Метод/Функция/Поведение

Конвейер

Время работы;

Количество,

прошедших проверку TV;

Контроллер, Настройщик,

Очередь контроля, Очередь настройки;

Хранятся все TV;

Поместить следующее изделие;

Поместить TV на проверку;

Поместить следующий TV на настройку;

Начать процесс моделирования;

Контролер

Состояние Контролера;

Момент начала проверки TV;

Обрабатываемый TV;

Суммарное время работы;

Проверить, не наступил ли момент конца настройки;

Поместить TV из очереди;

Убрать TV;

Показать состояние;

Поместить TV на настройку;

Настройщик

Состояние Настройщика;

Момент начала настройки TV;

Обрабатываемый TV;

Суммарное время работы;

Проверить, не наступил, ли момент конца настройки;

Поместить TV из очереди;

Послать TV на проверку;

Показать состояние;

Очередь

TV, находящиеся в очереди;

Проверить, пуста ли очередь;

Убрать TV из очереди (первый);

Поместить следующее изделие;

TV

Время поступления:

Текущее состояние (настроен не настроен);

Поместить на контроль;

Показать состояние;

Задать настройку;


 

Одним из методов при анализе и проектировании задач есть CRC-карточки - удобный способ для определения классов и их взаимодействия. Использование малых карточек позволяет минимизировать сложность дизайна.

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

CRC-карточки для классов  представлены в таблицах 3.3 - 3.5.

 

Таблица 3.3 - CRC-карточка класса телевизор

TV

Обрабатывается на Конвейере.

Состояния:

в очереди.

на проверке;

Контролер

Настройщик

Очередь контроля

Очередь настройки

Конвейер


 

Таблица 3.4 - CRC-карточка класса очередь

Очередь

Часть Конвейера, содержит ожидающие проверки TV.

Состояния:

заполнена;

пуста.

Действия:

извлечение TV

добавление TV

Конвейер

TV


 

Таблица 3.5 - CRC-карточка класса контролер

Контролер

Часть Конвейера, контролирует качество работы TV.

Состояния:

занят;

не занят;

Конвейер

TV

Очередь контроля

Очередь настройки


 

Таблица 3.6 - CRC-карточка класса настройщик

Настройщик

Является частью Конвейера. Настраивает TV.

Состояния:

занят;

не занят;

Конвейер

TV

Очередь настройки

Очередь контроля


 

Таблица 3.7 - CRC-карточка класса конвейер

Конвейер

Генерирует TV.

Состояния:

работает;

не работает;

Действия:

генерирует

Контролер

Очередь контроля

TV

Настройщик

Очередь настройки


 

 

3.2 Объектно-ориентированное проектирование

 

Объектно-ориентированное проектирование - это часть объектно-ориентированной методологии, которая предоставляет возможность программистам оперировать понятием "объект", нежели понятием "процедура" при разработке своего кода. Объекты содержат инкапсулированные данные и процедуры, сгруппированные вместе, отображая сущность объекта. "Интерфейс объекта", описывает взаимодействие с объектом, то, как он определен. Программа, полученная при реализации объектно-ориентированного исходного кода, описывает взаимодействие этих объектов [3].

Информация о работе Объектно-ориентированный подход в имитационном моделировании