Автор Анна Евкова
Преподаватель который помогает студентам и школьникам в учёбе.

Бензозаправка.

Содержание:

Введение

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

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

Несмотря на то, что в различных источниках делается акцент на те или иные особенности внедрения и применения ООП, три основных (базовых) понятия ООП остаются неизменными. К ним относятся:

  • наследование (Inheritance);
  • инкапсуляция (Encapsulation);
  • полиморфизм (Polymorphism).

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

  • имени объекта;
  • состояния (переменных состояния);
  • методов (операций).

Можно дать обобщающее определение: объект ООП - это совокупность переменных состояния и связанных с ними методов (операций). Упомянутые методы определяют, как объект взаимодействует с окружающим миром.

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

Цель курсовой работы является разработка статистической модели информационной системы «Бензозаправка».

Для достижения поставленной цели необходимо выполнить следующие этапы:

1. Описать предметную область.

2. Провести декомпозицию системы, т. е. выделить классы, описать поля и методы, а также связи между объектами.

3. Выполнить проектирование диаграммы классов с использованием существующих программных средств проектирования UML.

В первой части курсовой работы выполним описание предметной области: структуру и основные функции автозаправочной станции. Во второй части проведем декомпозицию системы, выделив основные классы, которые в полной мере описывают работу бензокалонки, а также отношения между этими классами. В третьей части курсовой работы выполним проектирование диаграммы классов с использованием нотации языка UML и программы Microsoft Visio 2010.

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

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

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

Современные бензовозы, как правило, имеют несколько внутренних секций, поэтому привозят они сразу несколько видов топлива. Из секции объемом 10 900 литров топливо будет сливаться примерно полчаса. Все это время заправка конкретным топливом будет запрещена для безопасности и более точной последующей отчетности по объему топлива.

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

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

Резервуары под топливо могут быть наземными или подземными. Пример подземного резервуара показан на рис. 1. Их изготавливают из стали и чаще всего делают двухслойными для безопасности. Обычно емкости для хранения топлива не превышают 50 кубометров, но есть емкости объемом более 200 кубометров, такие хранилища считаются уже мини-нефтебазами, к которым применяются свои требования.

Топливохранилища

Рис. 1 – Подземный резервуар для топлива

Уровень топлива в самой емкости замеряется метрштоком. Замер уровня топлива проводится не только при сливе топлива, но и при пересмене операторов.

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

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

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

Устройство колонки ТРК

Рис. 2 - Структура топливораздаточной колонки

2. Фильтр. Еще один фильтрующий элемент на АЗС, он может быть установлен сразу после приемного клапана или в газоотделителе (5). Если фильтр забивается, то при заправке слышен гул, так как насосу приходиться работать с большим усилием.

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

5. Газоотделитель. В соответствии с названием, отделяет от топлива лишние газы, которые в спокойном состоянии находятся во взвешенном состоянии, а при активном перемешивании топлива объединяются и начинают создавать пену. Устройство газоотделителя предельно простое — это небольшой резервуар в котором топливо ненадолго задерживается, а лишние газы свободно уходят через дренажные отверстия сверху.

6. Электромагнитный клапан. Открывается при подаче топлива и закрывается сразу, после того как прекращается закачка топлива. Если данный клапан сломан, то он может просто перекрыть всю систему или не закрывать ее, в последнем случае даже после отключения насоса топливо будет поступать в раздаточный пистолет по инерции. При не закрывшемся электромагнитном клапане ТРК заправляет примерно 0,2-0,5 литра лишнего топлива.

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

8. Смотровое окно. Представляет собой полую колбу со стеклом. Если колба наполнена топливом, значит приемный клапан работает и топливо остается в системе после отключения насоса.

9. Раздаточный пистолет (Рис. 3). Может называться по-разному, предназначен для управления подачи топлива в горловину бака, также отсекает подачу топлива при переполнении бака.

10, 11, 12. Система управления. Система объединяет ТРК и пульт управления оператора.

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

Рис. 3 - Раздаточный пистолет

Таким образом, в первой части курсовой работы было приведено описание структуры бензозаправочной станции. Данное описание поможет выделить все классы, которые опишут нашу информационную систему.

2. Декомпозиция системы

Выполним описание классов, методов и полей в таблицах 1-15.

Таблица 1 – Класс «Марка автомобиля»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Наименование

поле

строка

30 символов

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Изменение данных

метод

Осуществляет редактирование данных

Таблица 2 – Класс «Организация»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Наименование

поле

строка

30 символов

Адрес

поле

строка

50 символов

Телефон

поле

строка

10 символов

ФИО ответственного

поле

строка

30 символов

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Изменение данных

метод

Осуществляет редактирование данных

Таблица 3 – Класс «Автомобиль»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Организация

поле

объект класса «Организация»

Государственный номер

поле

строка

12 символов

Марка автомобиля

поле

объект класса «Марка автомобиля»

Год выпуска

поле

целое число

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Изменение данных

метод

Осуществляет редактирование данных

Таблица 4 – Класс «Водитель»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Организация

поле

объект класса «Организация»

ФИО

поле

строка

30 символов

Стаж за рулем

поле

целое число

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Изменение данных

метод

Осуществляет редактирование данных

Таблица 5 – Класс «Топливо»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Наименование

поле

строка

30 символов

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Изменение данных

метод

Осуществляет редактирование данных

Таблица 6 – Класс «Резервуар»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Номер резервуара

поле

целое число

Текущий объем

поле

вещественное число

Текущий уровень

поле

вещественное число

Топливо

поле

объект класса «Топливо»

Минимальный объем

поле

вещественное число

Максимальный объем

поле

вещественное число

Минимальный уровень

поле

вещественное число

Максимальный уровень

поле

вещественное число

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Изменение данных

метод

Осуществляет редактирование данных

Получение состояния резервуара

метод

Метод возвращает текущий уровень и текущий объем в резервуаре

Таблица 7 – Класс «Оператор заправки»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

ФИО

поле

строка

30 символов

Телефон

поле

строка

10 символов

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Изменение данных

метод

Осуществляет редактирование данных

Таблица 8 – Класс «Колонка»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Резервуар

поле

объект класса «Резервуар»

Необнуляемый счетчик

поле

целое число

Состояние

поле

целое число

Может иметь значения:

0 – на ремонте

1 – отпуск топлива

2 – свободна

Наименование

поле

строка

30 символов

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Изменение данных

метод

Осуществляет редактирование данных

Получение состояния колонки

метод

Метод возвращает состояние колонки

Получение значения необнуляемого счетчика

метод

Метод возвращает значение необнуляемого счетчика

Таблица 9 – Класс «Дополнительная услуга»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Наименование услуги

поле

строка

30 символов

Описание

поле

строка

100 символов

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Таблица 10 – Класс «Прием топлива»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Резервуар

поле

Объект класса «Резервуар»

Оператор заправки

поле

Объект класса «Оператор заправки»

Дата

поле

дата

Количество принятого топлива

поле

вещественное

число

Цена топлива

поле

вещественное

число

Цена принятого топлива за литр

Описание

поле

строка

100 символов

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Таблица 11 – Класс «Отпуск топлива»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Колонка

поле

Объект класса «Колонка»

Дата

поле

дата

Цена отпущенного топлива

поле

вещественное

число

Цена за литр

Количество отпущенного топлива

поле

вещественное

число

Оператор заправки

поле

Объект класса «Оператор заправки»

Автомобиль

поле

Объект класса «Автомобиль»

Водитель

поле

Объект класса «Водитель»

Описание

поле

строка

100 символов

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Таблица 12 – Класс «Перемещение топлива»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Дата

поле

дата

Количество перемещаемого топлива

поле

вещественное

число

Оператор заправки

поле

Объект класса «Оператор заправки»

Резервуар откуда

поле

Объект класса «Резервуар»

Резервуар куда

поле

Объект класса «Резервуар»

Описание

поле

строка

100 символов

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Таблица 13 – Класс «Смена»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Дата начала

поле

дата

Дата окончания

поле

дата

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Получение данных по смене

метод

Метод формирует отчет по смене

Расчет стоимости топлива

метод

Метод выполняет перерасчет цены топлива для каждой колонки

Таблица 14 – Класс «Ремонт»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Дата начала

поле

дата

Дата окончания

поле

дата

Резервуар

поле

Объект класса «Резервуар»

Колонка

поле

Объект класса «Колонка»

Оператор заправки, ответственный за ремонт

поле

Объект класса «Оператор заправки»

Описание

поле

строка

100 символов

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных пользователю

Таблица 15 – Класс «Реализация дополнительных услуг»

Название поля или метода

Вид элемента

Тип данных

Описание

Код

поле

целое число

значение поля однозначно идентифицирует каждый объект

Дата

поле

дата

Автомобиль

поле

Объект класса «Автомобиль»

Водитель

поле

Объект класса «Водитель»

Дополнительная услуга

поле

Объект класса «Дополнительная услуга»

Стоимость услуги

вещественное число

Оператор заправки

поле

Объект класса «Оператор заправки»

Описание

поле

строка

100 символов

Ввод данных

метод

Осуществляет ввод данных в поля класса

Вывод данных

метод

Осуществляет вывод данных

Выполним описание отношений между классами в таблице 16.

Таблица 16 – Отношение между классами

Класс 1

Класс 2

Тип отношения

Мощность

Описание

Организа-ция

Автомобиль

Агрегация

Одна организация может иметь много автомобилей

Организация

имеет Автомобиль

Марка автомоби-ля

Автомобиль

Агрегация

Одна марка может описывать много автомобилей

Марка автомобиля

описывает Автомобиль

Организа-ция

Водитель

Агрегация

Одна организация может иметь много водителей

Организация

имеет Водителя

Автомо-биль

Топливо

Ассоциация

Много автомобилей заправляется топливом

Автомобиль заправляется Топливом

Топливо

Резервуар

Агрегация

Один резервуар

содержит одно топливо

Резервуар содержит Топливо

Прием топлива

Резервуар

Агрегация

В один резервуар

выполняется прием топлива много раз

Прием топлива выполняется в Резервуар

Прием топлива

Оператор заправки

Агрегация

Один оператор заправки

выполняет

прием топлива много раз

Прием топлива выполняет Оператор заправки

Колонка

Отпуск топлива

Агрегация

С одной колонки отпуск топлива происходит много раз

Отпуск топлива происходит из Колонки

Автомо- биль

Отпуск топлива

Агрегация

С одной колонки отпуск топлива происходит много раз

Отпуск топлива происходит из Колонки

Оператор заправки

Отпуск топлива

Агрегация

Один оператор заправки

выполняет

отпуск топлива много раз

Отпуск топлива выполняет Оператор заправки

Водитель

Отпуск топлива

Агрегация

Одному водителю происходит отпуск топлива много раз

Отпуск топлива происходит водителю

Оператор заправки

Перемеще-ние топлива

Агрегация

Один оператор заправки выполняет перемещение топлива много раз

Оператор заправки выполняет Перемещение топлива

Резервуар

Перемеще-ние топлива

Агрегация

Перемещение топлива из одного резервуара в другой происходит много раз

Перемещение топлива происходит из Резервуара в Резервуар

Смена

Отпуск топлива

Ассоциация

В смену происходит много отпуска топлива

Отпуск топлива происходит в Смену

Смена

Прием топлива

Ассоциация

В смену происходит много приема топлива

Прием топлива происходит в Смену

Ремонт

Оператор заправки

Агрегация

Один оператор заправки ответственен за много ремонтов

Оператор заправки ответственен за Ремонт

Ремонт

Резервуар

Агрегация

Один резервуар может проходить много ремонтов

Резервуар проходит Ремонт

Ремонт

Колонка

Агрегация

Одна колонка может проходить много ремонтов

Колонка проходит Ремонт

Водитель

Реализация дополните-льных услуг

Агрегация

Один водитель может потребовать несколько реализаций дополните-льных услуг

Водитель требует Реализацию дополните-льных услуг

Оператор заправки

Реализация дополните-льных услуг

Агрегация

Один оператор заправки может выполнять

несколько реализаций дополните-льных услуг

Оператор заправки выполняет Реализацию дополните-льных услуг

Автомо- биль

Реализация дополните-льных услуг

Агрегация

Одному автомобилю может потребоваться несколько реализаций дополните-льных услуг

Автомобиль

требует Реализацию дополните-льных услуг

Дополни-тельная услуга

Реализация дополните-льных услуг

Агрегация

Одна дополнительная услуга может присутствовать в нескольких реализациях

Реализация дополнитель-ных услуг включает Дополнитель-ную услугу

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

3. Проектирование диаграммы классов

Проектирование диаграммы классов выполним в MS Visio 2010. Чтобы создать Диаграмму классов в MS Visio 2010, необходимо выбрать «Программы и базы данных» (рис. 6), а в ней шаблон «Схема модели UML» (рис. 7). Прежде чем приступить к созданию диаграммы классов, нужно зайти на вкладку «UML» и в «Параметрах документа» убрать галочку «Автоматически присваивать имена…»

http://ok-t.ru/studopediaru/baza6/631419337053.files/image010.jpg

Рис. 6 - Категории шаблонов Visio 2010

http://ok-t.ru/studopediaru/baza6/631419337053.files/image012.jpg

Рис. 7 - Шаблоны в категории «Программы и базы данных»

Чтобы создать новый класс, нужно перетащить стереотип «Класс» с панели инструментов на лист (рис. 8).

http://ok-t.ru/studopediaru/baza6/631419337053.files/image014.jpg

Рис. 8 – Создание класса

Двойным щелчком мыши вызовем свойства класса и зададим его имя (Рис. 9). Затем на вкладке «Атрибуты» создадим атрибуты класса (зададим имя, тип данных, видимость и кратность), а на вкладке «Операции» - методы класса, и подтвердим изменения нажатием кнопки ОК (Рис. 10). Аналогично можно создать несколько классов.

http://ok-t.ru/studopediaru/baza6/631419337053.files/image016.jpg

Рис. 9 – Свойства класса

http://ok-t.ru/studopediaru/baza6/631419337053.files/image018.jpg

Рис. 10 – Атрибуты класса

Чтобы соединить два класса связью - композиция, перетащим стереотип «Композиция» или «Двуместная ассоциация» на изображение первого класса. Затем второй конец связи перетащим на изображение второго класса (Рис. 11).

http://ok-t.ru/studopediaru/baza6/631419337053.files/image020.jpg

Рис. 11 - Создание композиции

Двойным щелчком мыши вызовем «Свойства ассоциации» и выберем нужные значения в столбцах «Агрегат» и «Кратность» (Рис. 12). Подобным образом можно создать все связи между классами.

http://ok-t.ru/studopediaru/baza6/631419337053.files/image022.jpg

Рис. 12 - Свойства связи

На рис.13 приведена диаграмма классов.

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

Рис. 13 – Диаграмма классов «Бензозаправка»

Заключение

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

Последним шагом было создание диаграммы классов в среде MS Visio 2010.

Библиография

1.) Лекция 1: Современные технологии объектно-ориентированного анализа и проектирования информационных систем. URL:

http://www.intuit.ru/studies/courses/32/32/lecture/1000?page=1

2.) Как устроена бенозаправка. URL: http://factik.ru/kak-ustroena-avtozapravochnaya-stanciya-azs/

3.) Автоматизированная система управления бенозаправкой. http://liard.com.ua/tech/316-novapro.html

4.) Автомобильная заправочная станция https://ru.wikipedia.org/wiki/ Автомобильная_заправочная_станция

5.) Создание Диаграммы классов в Visio 2010. URL:

http://studopedia.ru/6_1894_sozdanie-diagrammi-klassov-v-Visio-.html