Добавлен: 28.03.2023
Просмотров: 49
Скачиваний: 2
Введение
Основополагающей идеей одного из современных подходов к программированию - объектно-ориентированному - является объединение данных и обрабатывающих их процедур в единое целое - объекты.
Объектно-ориентированное программирование - это методология программирования, которая основана на представлении программы в виде совокупности объектов, каждый из которых является реализацией определенного класса (типа особого вида), а классы образуют иерархию, основанную на принципах наследуемости. При этом объект характеризуется как совокупностью всех своих свойств и их текущих значений, так и совокупностью допустимых для данного объекта действий.
Несмотря на то, что в различных источниках делается акцент на те или иные особенности внедрения и применения ООП, три основных (базовых) понятия ООП остаются неизменными. К ним относятся:
- наследование (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 символов |
Ввод данных |
метод |
Осуществляет ввод данных в поля класса |
|
Вывод данных |
метод |
Осуществляет вывод данных пользователю |
|
Изменение данных |
метод |
Осуществляет редактирование данных |