Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР (Восстановлен).doc
Скачиваний:
2
Добавлен:
04.12.2018
Размер:
252.93 Кб
Скачать

27

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ УКРАИНЫ

Государственный университет информатики и искусственного интеллекта

Д080403.1.01.07/333.КП

Кафедра программного обеспечения интеллектуальных систем

КУРСОВОЙ ПРОЕКТ

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

Тема: «Имитационное моделирование динамических систем и процессов с использованием объектно-ориентированного подхода.

Производственная линия с пунктами технического контроля»

Руководитель:

___________асс. Якименко А.И.

(дата, подпись)

___________стаж.-преп. Мухин Е.Г.

(дата, подпись)

___________стаж.-преп. Байдюк Е.Д.

(дата, подпись)

Разработал:

_________ст.гр.ПО-07д Шелюк А.Е.

Нормоконтроль:

___________асс. Якименко А.И.

(дата, подпись)

2008

Государственный университет информатики и искусственного интеллекта

Факультет: Современных компьютерных информационных технологий

Кафедра: Программного обеспечения и интеллектуальных систем

Специальность: Программное обеспечение автоматизированных систем

Задание на курсовой проект

По дисциплине «Объектно-ориентированное программирование»

Студенту Шелюку Артему Евгеньевичу группы ПО-07 Д

1.Тема проекта(работы) Объектно-ориентированная разработка систем имитационного моделирования. Производственная линия с пунктами технического контроля.

2.Исходные данные к проекту(работе) разработать программный продукт по моделированию производственной линии с пунктами конечного контроля

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

4.Рекомендуемая литература Г.Шилдт. самоучитель С++.; Г.Буч. Объектно-ориентированный анализ и проектирование.;Б. Страуструп. Язык программирования С++.

Дата выдачи задания 2008г.

Руководители: _______асс. Якименко А.И

(дата, подпись)

_______стаж. преп. Байдюк Е.Д.

(дата, подпись)

_______стаж. преп. Мухин Е.Г. (дата, подпись)

Срок сдачи студентом курсового проекта 22.05.2008

СОДЕРЖАНИЕ

ВВЕДЕНИЕ 4

20

Разработал

Фамилия

Подпись

Дата

Д080403.1.01.07/333.КП

Лист

ст. гр. ПО-07д

Шелюк А.Е.

3

Введение

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

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

Все языки OOP, включая С++, основаны на трёх основополагающих концепциях, называемых инкапсуляцией, полиморфизмом и наследованием.

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

1 ОБЪЕКТНО-ОРИЕНТИРОВАННЫЙ АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

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

Выделим основные свойства этих сущностей.

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

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

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

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

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

Выделим теперь поведение вышеперечисленных сущностей.

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

Над очередями могут выполняться следующие действия: поместить TV, извлечь TV(первый), проверить, не пуста ли очередь.

Над контролером: проверить TV(если исправен, то удалить с конвейера), проверить, не закончилась ли проверка, поместить на проверку, послать на настройку.

Над настройщиком: настроить TV, поместить на настройку, поместить в очередь контроля.

1.1 Словарь понятий предметной области

На основе анализа предметной области можно составить словарь предметной области, он представлен в таблице 1.1.

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

Сущность

Свойства

Поведение

Конвейер

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

Количество,

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

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

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

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

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

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

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

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

Контролер

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

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

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

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

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

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

Убрать TV;

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

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

Настройщик

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

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

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

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

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

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

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

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

Очередь

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

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

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

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

TV

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

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

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

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

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

1.2 Объектно-ориентированный словарь предметной области

Объектно-ориентированный словарь предметной области представлен CRC карточками. Для каждой сущности выделена своя карточка. Словарь представлен в таблицах 1.2-1.6.

Таблица 1.2 – Класс телевизор

TV

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

Действия:

Состояние, порченный не порченный;

Контролер

Настройщик

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

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

Конвейер

Таблица 1.3 – Класс очередь

Очередь

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

Действия:

Поместить TV;

Извлечь изделие;

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

Конвейер

TV

Таблица 1.4 – Класс контролер

Контролер

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

Действия:

Показать состояние(если 1, то удалить TV);

Проверить, не закончилась, ли проверка;

Проверить TV;

Конвейер

TV

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

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

Таблица 1.5 – Класс настройщик

Настройщик

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

Действия:

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

Настройка TV;

Состояние настройщика занят/свободен;

Конвейер

TV

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

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

Таблица 1.6 – Класс конвейер

Конвейер

Действия:

Поместить TV;

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

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

Запустить процесс;

Вывести статистику;

Генерация TV;

Контролер

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

TV

Настройщик

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

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]