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

Проектирование диаграммы классов «Бензозаправка»

Содержание:

ВВЕДЕНИЕ

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

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

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

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

Предметом исследования является бензозаправка.

Для достижения поставленной цели необходимо решить

следующие задачи:

- Проанализировать выбранную сущность, выделить наиболее

значимые ее составляющие;

- Установить характер связей между составляющими;

- Построить диаграмму классов, отражающую установленные взаимосвязи;

- Сделать выводы о полученных результатах;

1. АНАЛИЗ ПРЕДМЕТНОЙ ОБЛАСТИ

1.1. Автозаправочная станция. Классификация.

Термин Автозаправочная станция или АЗС можно описать двумя способами:

- Автозаправочная станция – это разновидность малой распределительной нефтебазы, обеспечивающей топливом автомобили.

- Автозаправочная станция (АЗС) – комплекс зданий, сооружений и оборудования, ограниченный участком площадки и предназначенный для заправки транспортных средств (кроме гусеничного транспорта) моторным топливом и маслом.

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

Согласно НПБ 111-98. Автозаправочные станции. Требования пожарной безопасности с изменениями: № 1 от 02.07.1999 г., № 2 от 08.11.2000 г., № 3 от 20.07.2001 г., № 4 от 23.05.2002г. АЗС классифицируются:

  1. По конструктивному
  • Исполнению
  • Стационарные (Традиционные)
  • Блочные
  • Контейнерные
  • Модульные
  • Передвижные 
  1. По функциональному назначению
  • Общего пользования
  • Ведомственные (заправочные пункты)
  1. По способу размещения резервуаров
  • С подземным расположением
  • С наземным расположением
  • С расположением на транспортном средстве 
  1. По типу расположению на местности
  • Дорожные
  • Городские
  • Сельские
  • Речные
  1. По нормативным  параметрам типовых проектов
  • По числу топливозаправочных колонок
  • По числу заправок в часы пик
  • По количеству заправляемых машин в сутки
  • По общей вместимости резервуаров

После рассмотрения типов классификаций АЗС, для полного понимания необходимо каждой из них дать определение.

Вначале рассмотрим характеристику типов в классификации по конструктивному.

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

Топливозаправочный пункт - АЗС, размещаемая на территории предприятия и предназначенная для заправки транспортных средств только этого предприятия.

Традиционная АЗС - АЗС представляющая собой комплекс оборудования, специально сконструированного, смонтированного и используемого для приема, хранения и заправки транспортных средств (т.н. технологическая система) только жидким моторным топливом и характеризуется подземным расположением резервуаров и их разнесением с топливораздаточными колонками (ТРК).

Блочная АЗС - АЗС, технологическая система которой отличается от традиционной АЗС только размещением ТРК над блоком хранения топлива, выполненном как единое заводское изделие.

Контейнерная АЗС - технологическая схема которой предназначена для заправки транспортных средств только жидким моторным топливом и характеризуется надземным расположением резервуаров и размещением ТРК в контейнере хранения топлива, выполненном как единое заводское изделие.

Контейнерные АЗС подразделяются на 2 типа:

  • тип А — если общая вместимость резервуаров АЗС более 20 м3;
  • тип Б — если общая вместимость резервуаров АЗС не более 20 м3.

Модульная автозаправочная станция — АЗС с надземным расположением резервуаров для хранения топлива, технологическая схема которой характеризуется разнесением ТРК и контейнера хранения топлива, выполненного как единое заводское изделие.

Модульные АЗС, расположенные вне населенных пунктов и предприятий, подразделяются на два типа:

  • тип А — общая вместимость резервуаров от 40 до 100 м3;
  • тип Б — не более 40 м3.

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

По функциональному назначению:

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

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

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

1.2. АРХИТЕКТУРА АЗС И ЕГО СОСТОВЛЯЮЩИХ

Разобравшись с основными классификациями АЗС перейдем непосредственно к его архитектуре.

Из сущности АЗС, можно выделить основные составляющие следующего вида:

  • Резервуары АЗС;
  • Товары;
  • Автоматы для заправки автомобилей;
  • Сотрудники АЗС;
  • Клиенты;
  • Система пожаротушения.

Резервуары для хранения топлива делятся на:

В зависимости от места расположения:

  • подземные;
  • надземные.

От расположения:

  • горизонтальные;
  • вертикальные.

От количества камер:

  • однокамерные;
  • многокамерные.

К характеристикам резервуаров относятся:

  • рабочее давлении, Мпа;
  • пробное давление при гидроиспытаниях;
  • вместимость;
  • внутренний диаметр;
  • длина;
  • ширина;
  • высота;
  • уровень засыпки;
  • толщина корпуса;

Так же резервуары имеют такие свойства как «наименование» и «изготовитель».

Согласно ГОСТу 32513-2013 Топлива моторные. Бензин неэтилированный. Технические условия устанавливаются следующие марки бензинов:

АИ-80, АИ-92, АИ-95 и АИ-98 экологических классов К2, К3, К4, К5.

В таблице 1 представлены физико-химические и эксплуатационные показатели бензинов.

Таблица 1

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

Значение для марки

Метод испытания

АИ-80

АИ-92

АИ-95

АИ-98

1 Октановое число, не менее:

по исследовательскому методу

80,0

92,0

95,0

98,0

По ГОСТ 32339, ГОСТ 8226

по моторному методу

76,0

83,0

85,0

88,0

По ГОСТ 32340, ГОСТ 511

2 Концентрация свинца, мг/дм, не более

5

По ГОСТ EN 237, ГОСТ 32350, ГОСТ 28828

3 Концентрация смол, промытых растворителем, мг/дм (мг/100 см) бензина, не более

50 (5)

По ГОСТ 1567 или ГОСТ 32404

4 Индукционный период бензина, мин, не менее

360

По ГОСТ 4039, стандартам [1]-[4]*

________________
* См. раздел Библиография. - Примечание изготовителя базы данных.

5 Массовая доля серы, мг/кг, не более, для экологического класса:

К2

500

По стандарту [5], ГОСТ 32139, ГОСТ ISO 20846, стандартам [6]-[10]

К3

150

По ГОСТ ISO 20884, ГОСТ ISO 20846, стандартам [6], [8]-[10]

К4

50

По ГОСТ ISO 20884, ГОСТ ISO 20846, стандартам [6], [8]-[10]

К5

10

По ГОСТ ISO 20884, ГОСТ ISO 20846, стандартам [6], [9]

6 Объемная доля бензола, %, не более, для экологических классов:

По ГОСТ 32507 (метод Б), ГОСТ 29040, ГОСТ EN 12177

К2

5

К3, К4, К5

1

7 Объемная доля углеводородов, %, не более, для экологических
классов К3, К4, К5:

По ГОСТ 32507 (метод Б), ГОСТ 31872, по стандартам [11]-[13]

олефиновых

18,0

ароматических

35,0 (42,0 - экологический класс К3)

8 Массовая доля кислорода, %, не более, для экологических классов К3, К4, К5

2,7

По ГОСТ EN 13132, ГОСТ 32338, ГОСТ EN 1601, стандартам [11]-[13]

9 Объемная доля оксигенатов, %, не более, для экологических классов К3, К4, К5:

По ГОСТ EN 13132, ГОСТ 32338, ГОСТ EN 1601, стандартам [11], [12]

метанола

1,0

этанола

5,0

изопропилового спирта

10,0

трет-бутилового спирта

7,0

изобутилового спирта

10,0

эфиров ( и выше)

15,0

других оксигенатов (с температурой конца кипения не выше 210 °С)

10,0

10 Испытание на медной пластинке (3 ч при 50 °С)

Класс 1

По ГОСТ 6321, ГОСТ 32329, ГОСТ ISO 2160

11 Внешний вид

Чистый, прозрачный

Визуально по 8.2 настоящего стандарта

12 Плотность при 15 °С, кг/м

725,0-780,0

По ГОСТ 31072, ГОСТ 31392, по стандартам [14]-[18]

13 Концентрация марганца, мг/дм, не более

Отсутствие

По стандарту [19]

14 Концентрация железа, мг/дм, не более

Отсутствие

По ГОСТ 32514

15 Объемная доля монометиланилина, %, не более, для экологических классов:

По ГОСТ 32515

К2

1,3

К3, К4

1,0

К5

Отсутствие

Так бензозаправки предоставляют клиентам заправиться дизельным топливом.

Согласно ГОСТ 305-2013. Топливо дизельное имеет следующие требования к топливу (см. Таблицу 2, где «Значение для марки» Л- летнее, Е- межсезонное, З-зимнее, А-арктическое):

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

Значение для марки

Метод испытания

Л

Е

З

А

1. Цетановое число, не менее

45

По ГОСТ 32508 (на установке типа CFR), ГОСТ 3122, стандартам [1]-[4]

2. Фракционный состав:

По ГОСТ ISO 3405, ГОСТ 2177 (метод А)

50 % перегоняется при температуре, °С, не выше

280

280

280

255

95 % перегоняется при температуре, °С, не выше

360

360

360

360

3. Кинематическая вязкость при 20 °С, мм2/с (сСт)

3,0-6,0

3,0-6,0

1,8-5,0

1,5-4,0

По ГОСТ 33, стандартам [5], [6]

4. Температура вспышки, определяемая в закрытом тигле, °С, не ниже:

По ГОСТ ISO 2719, ГОСТ 6356

для тепловозных и судовых дизелей и газовых турбин

62

62

40

35

для дизелей общего назначения

40

40

30

40

5. Массовая доля серы, мг/кг, не более

2000

По стандарту [7], ГОСТ 32139, по стандарту [8], ГОСТ 19121, стандартам [9]-[13]

500

По ГОСТ ISO 20846, стандартам [8]-[13]

6. Массовая доля меркаптановой серы, %, не более

0,01

По ГОСТ 17323

7. Массовая доля сероводорода

Отсутствие

По ГОСТ 17323

8. Испытание на медной пластинке

Выдерживает.
Класс 1

По ГОСТ 6321, ГОСТ ISO 2160, ГОСТ 32329

9. Содержание водорастворимых кислот и щелочей

Отсутствие

По ГОСТ 6307

10. Кислотность, мг КОН на 100 см3 топлива, не более

5

По ГОСТ 5985

11. Йодное число, г йода на 100 г топлива, не более

6

По ГОСТ 2070

12. Зольность, %, не более

0,01

По ГОСТ 1461, стандартам [14], [15]

13. Коксуемость, 10%-ного остатка, %, не более

0,20

По ГОСТ 32392, ГОСТ 19932

14. Общее загрязнение, мг/кг, не более

24

По стандарту [16]

15. Содержание воды, мг/кг, не белее

200

По стандарту [17]

16. Плотность при 15 °С, кг/м3, не более

863,4

863,4

843,4

833,5

По стандартам [18]-[22]

17. Предельная температура фильтруемости, °С, не выше

минус 5

минус 15

минус 25

-

По ГОСТ 22254, ГОСТ EN 116

-

-

минус 35

минус 45

Автоматы для произведения заправки условно можно подразделить на:

  • автоматы для заправки стандартного топлива и ДТ;
  • автоматы для заправки газа;
  • автоматы для заправки электрокаров.

Сотрудников АЗС можно подразделить на:

  • менеджер;
  • оператор;
  • заправщик.

В обязанности заправщиков входит произведения заправки автомобилей клиентов и заправка резервуаров с топлевом.

Обязанностями менеджеров являются общий контроль ситуации на АЗС.

В обязанности операторов входит:

  • продажа товаров;
  • приготовление фастфуда;

Товары можно разделить на:

  • топливо;
  • сопутствующие товары для автомобиля (моторное масло, очистители, ароматизаторы, дистиллированная вода и т.п.);
  • товары пищевого блока (шоколадные батончики, напитки, выпечка и т.п.);
  • товары пищевого блока, изготовляемые на АЗС (хот доги, бургеры и т.п.).

Системы пожаротушения на АЗС можно разделить на:

  • первичные средства пожаротушения;
  • стационарные установки пожаротушения;

К первичным средствам относятся:

  • ящик с песком;
  • углекислотные огнетушители;
  • порошковые огнетушители ручные и передвижные.

Стационарные установки так же разделяются по видам на:

  • газовые и порошковые системы;
  • аэрозольные системы пожаротушения.

2. СОСТАВЛЕНИЕ ДИАГРАММЫ КЛАССОВ ВЫБРАННОЙ СУЩНОСТИ.

2.1. ИСХОДНЫЕ ДАННЫЕ ДЛЯ ПОСТРОЕНИЯ ДИАГРАММЫ КЛАССОВ

Для построения диаграммы классов была выбран бензозаправка со следующими характеристиками:

  • АЗС данной сети бензозаправок предоставляют клиентам возможность заправляться следующими видами бензина: АИ-92,АИ-95,АИ-98,ДТ;
  • бензозаправки данной сети не являются автоматическими, поэтому на АЗС присутствуют все виды персонала: менеджеры, операторы, заправщики;
  • присутствует возможность получения всех видов товаров;
  • присутствуют все виды систем пожаротушения;
  • присутствуют все виды топливных резервуаров;
  • автоматы для заправки исключительно для бензина и ДТ.

Построение диаграммы проводилось в среде построения UML диаграмм StarUML.

2.2. ДИАГРАММА КЛАССОВ ИССЛЕДУЕМОЙ СУЩНОСТИ

Диаграмма UML исследуемой сущности имеет следующий вид:

Рис.1 Итоговая диаграмма сущности «бензозаправка»

При разработке диаграммы акцент был сделан на работе с клиентом бензозаправке. Использовались связи Directed Association и Generalization.

Теперь перейдем непосредственно к рассмотрению частей сущности «бензозаправка».

Вначале разберем часть сущности «Автоматы для заправки». Часть диаграммы классов отвечающая за данный класс представлена на Рис.2.

Рис.2 Классы автоматов для заправки

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

Сам же класс FillingMachineFuel по мимо свойств класса родителя имеет свойство Tank типа FuelTank, то есть с каким топливным резервуаром работает данный автомат.

Так же класс FillingMachineFuel имеет 2 метода: fuelPumping(FuelTank), checkAvailability(FuelTank).

Метод fuelPumping(FuelTank) предназначен для того чтобы выкачивать из используемой цистерны топливо.

Метод checkAvailability(FuelTank) предназначен для проверки наличия топлива в используемом резервуаре.

Далее опишем часть сущности «Системы пожаротушения». Часть диаграммы классов представлена на Рис.3.

Рис.3 классы систем пожаротушения

Класс FireExtinguishingSystem является основным классом систем пожаротушения бензозаправки.

В свойства данного класса входят:

  1. Name – наименование системы пожаротушения;
  2. Type – какой применяется тип пожаротушения;
  3. Substance – какое вещество применяется в данной системе. Данное свойство имеет тип класса extinguishingАgent. Это класс веществ, используемых в системах пожаротушения. В данном классе прописаны основные свойства данных веществ: Name – наименование вещества, modeApplication – способ применения и composition содержащий в себе состав вещества.

Метод extinguish() реализует механизм пожаротушения автоматическими системами пожаротушения.

Следующими будут описаны части сущности «Топливные резервуары» и «Товары». Данные классы отображены на Рис.4.

Рис.4

Класс FuelTank представляет собой класс топливных резервуаров.

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

  • workingPressure – рабочее давление резервуара;
  • innerDiameter – диаметр внутренней окружности;
  • length – длина;
  • width – ширина;
  • height – высота;
  • levelBackfilling - уровень наполненности резервуара;
  • thicknessShell – толщина оболочки;
  • type - тип резервуара;
  • currentOccupation – расположение резервуара;
  • FuelType – тип топлива, которое хранится в резервуаре. Данное свойство имеет тип класса Fuel, который является наследником класса товаров Goods.

Класс Goods представляет собой основой класс товаров. Свойствами класса являются поля, описывающие основные свойства товара:

  • Name – наименование товара;
  • Receiptdate – дата поступления;
  • ExpirationDate – срок годности;
  • Purveyor – поставщик;
  • Price – стоимость товара за единицу измерения;
  • Units – единица измерения.

Данный класс является классом родителем для классов, описывающих основные категории товаров бензозаправки:

  • класс Fuel – описывающий топливо;
  • класс GoodsForCar – описывает товары для автомобилей;
  • класс GoodsForPerson – описывает товары для клиентов;
  • класс FastFood – описывает еду быстрого приготовления, изготавливаемую на бензозаправке.

Данные классы по мимо свойств класса родителя содержат собственные свойства, которые сейчас рассмотрим:

Свойства класса Fuel:

    • AmountTank – количество данного топлива в резервуарах;
    • TypeFuel – тип топлива.

Свойств класса GoodsForCar:

  • QuantityInStock – количество товаров на складе;
  • mountInHall – количество товара в зале, на витринах.

Свойств класса GoodsForPerson:

  • uantityInStock – количество товаров на складе;
  • mountInHall – количество товара в зале, на витринах.

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

Свойства класса FastFood:

  • composition: string[1..*] – представляет собой массив ингредиентов;
  • recipe – поле содержащее рецепт приготовления;
  • cookingTime – время на приготовления блюда.

Теперь рассмотрим основную составляющую диаграммы: классы сотрудников и клиентов. Часть основной диаграммы, в которой отображены данные классы представлена на Рис.5.

Рис.5

Вначале рассмотрим класс Client. Так как клиенты люди, то данный класс является наследником абстрактного класса Person, в свойства которого входят: Name – имя человека, Age – возраст, и метод eating – то есть прием пищи.

Свойства класса Client:

    • VehicleClient: Vehicle – свойство является объектом класса Vehicle и отвечает за средство передвижения клиента;
    • Скрытое свойство money – описывающее количество денежных средств у клиента.

По мимо свойств объект Client обладает рядом методов:

    • PurchaseGoods(in Goods, in CountGoods, in money, in Employer) – метод оплаты товара бензозаправки. В данный метод передаются товар, его количество, деньги клиента, и объект сотрудник с которым происходит данный расчет.
    • RefuelingMachine(in Vehicle, in Fuel, in FillingMachine) – метод заправки автомобиля. В случае если сотрудник с должностью «заправщик» не может выполнить эту функцию клиент сам производит подготовительные мероприятия для заправки автомобиля. В данный метод передается средство передвижения клиента, товар «топливо», и автомат с помощью которого будет производиться заправка.
  • extinguish(in FireExtinguishingSystem) – в случае крайней необходимости клиент может осуществлять тушение пожара с помощью средств пожаротушения бензозаправки, которые являются параметром данного метода.

Теперь перейдем к семейству классов сотрудники. Данное семейство классов содержит класс родитель Emloyer, который является наследником класса Person, и 3 класса потомка: operator, manager,refueler которые соответствуют каждой должности на заправке.

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

Свойства класса Employer:

    • Position – должность занимаемая сотрудником;
    • Salary – скрытое свойство заработной платы сотрудника;
    • ModeOfOperation – режим работы сотрудника

Методы класса Employer:

    • Work – общий метод подразумевающий выполнения общих обязанностей сотрудников;
    • extinguish(in FireExtinguishingSystem) – метод аналогичный такому же методу в классе Client, реализовывающий механизм пожаротушения с помощью средств пожаротушения бензозаправки.

Теперь перейдем к классам наследникам.

Класс operator не имеет своих свойств, но есть индивидуальные методы:

    • SaleOfGoods(in Goods, in Client) – метод продажи товара клиенту. В данный метод передается товар и клиент с которым производится расчет.
  • Cooking(in fastfood, in Client) – метод реализует механизм изготовления фастфуда и выдачу его клиенту. Соответственно в этот метод передается объект заказанного fastfood и клиент , который оформил заказ.

У класса manager есть 1 дополнительный метод:

ControlWorkers() – который реализовывает механизм контроля работы сотрудников бензозаправки.

Класс refueler имеет два дополнительных метода:

  • RefuelingMachine(in Vehicle, in Fuel, in FillingMachine) – который осуществляет механизм заправки клиента. В метод передается объекта класса «средство передвижения», товар топливо, автомат с помощью которого будет осуществляться заправка.
  • refuelingTank(in FuelTank, in Fuel) – данный метод осуществляет механизм заправки резервуаров привезенным топливом. Параметрами данного метода являются объекты типа «Топливный резервуар» и «Топливо».

ЗАКЛЮЧЕНИЕ

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

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

СПИСОК ИСПОЛЬЗУЕМЫХ ИСТОЧНИКОВ

  1. http://www.intuit.ru/studies/courses/1007/229/lecture/5956
  2. https://www.personalazs.ru/documentation/safety/characteristic_azs/
  3. http://proofoil.ru/Petrochemical/Petrochemical1.html
  4. ГОСТ 305-2013. Топливо дизельное
  5. ГОСТ 32513-2013 Топлива моторные. Бензин неэтилированный. Технические условия