Добавлен: 28.03.2023
Просмотров: 50
Скачиваний: 2
Таблица 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» и в «Параметрах документа» убрать галочку «Автоматически присваивать имена…»
Рис. 6 - Категории шаблонов Visio 2010
Рис. 7 - Шаблоны в категории «Программы и базы данных»
Чтобы создать новый класс, нужно перетащить стереотип «Класс» с панели инструментов на лист (рис. 8).
Рис. 8 – Создание класса
Двойным щелчком мыши вызовем свойства класса и зададим его имя (Рис. 9). Затем на вкладке «Атрибуты» создадим атрибуты класса (зададим имя, тип данных, видимость и кратность), а на вкладке «Операции» - методы класса, и подтвердим изменения нажатием кнопки ОК (Рис. 10). Аналогично можно создать несколько классов.
Рис. 9 – Свойства класса
Рис. 10 – Атрибуты класса
Чтобы соединить два класса связью - композиция, перетащим стереотип «Композиция» или «Двуместная ассоциация» на изображение первого класса. Затем второй конец связи перетащим на изображение второго класса (Рис. 11).
Рис. 11 - Создание композиции
Двойным щелчком мыши вызовем «Свойства ассоциации» и выберем нужные значения в столбцах «Агрегат» и «Кратность» (Рис. 12). Подобным образом можно создать все связи между классами.
Рис. 12 - Свойства связи
На рис.13 приведена диаграмма классов.
В третьей части курсовой работы были рассмотрены этапы создания диаграммы классов, а также разработана диаграмма классов, средствами MS Visio 2010.
Рис. 13 – Диаграмма классов «Бензозаправка»