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

2.2.2 Диаграмма классов

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

За координацию действий других классов системы управления турникетом отвечает управляющий класс «Контроллер турникета».

Выделим так называемые пограничные классы – устройства турникета, которые непосредственно взаимодействуют с пассажиром: «Устройство чтения карточки», «Устройство индикации прохода», «Устройство подачи звуковых сигналов», «Датчики движения», «Устройство перекрывания доступа», «Таймер». Перечислим их атрибуты и опреации (Таблицы 5-14).

Таблица 5 - Операции класса «Устройство чтения карточки»

прочитать идентификатор карточки()

Каждая карточка метрополитена имеет уникальный идентификатор. Устройство чтения считывает идентификатор, передает на контроллер метро, где устанавливается действительность карточки.

вернуть карточку()

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

Таблица 6 - Операции класса «Устройство индикации прохода»

зажечь индикатор «Проход»()

Загорается, когда пассажиру открывается доступ в метро.

зажечь индикатор «Стоп»()

Горит, когда турникет находится в обычном состоянии (закрытый доступ).

Таблица 7 - Операции класса «Устройство подачи звуковых сигналов»

подать предупредительный звуковой сигнал()

Подает звуковой сигнал, когда открывается доступ в метро.

Таблица 8 - Операции класса «Датчики движения»

определить проход пассажира()

Все три датчика движения регистрируют проход пассажира через турникет.

послать сигнал о проходе()

Датчики посылают сигнал о проходе(принимается сигнал только от одного датчика).

Таблица 9 - Операции класса «Устройство перекрывания доступа»

открыть доступ()

Открывает доступ в метро в случае успешной транзакции.

перекрыть доступ()

Перекрывает доступ в случае истечения 5 секунд или прохода пассажира (обычное состояние турникета).

Таблица 10 - Операции класса «Таймер»

отсчитывать 5 секунд()

После списания единицы с карты открывается доступ в метро и запускается таймер, отсчитывающий 5 секунд (время, отведенное на проход пассажира).

фиксировать время прохода()

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

Нам понадобится класс-сущность «Транзакция турникета», который создается классом «Контроллер турникета», в нем в течение всего времени работы турникета хранится необходимая информация.

Таблица 11 - Атрибуты класса «Транзакция банкомата»

идентификатор карточки

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

Integer

количество единиц

Личный баланс пассажира, с которого за каждый проход списывается одна единица.

Integer

срок годности

Каждая каточка действительна только в определенный период времени.

Date

время прохода

Фиксируется таймером для учетности, передается в АСУ метрополитена.

Date

Таблица 12 - Операции класса «Транзакция банкомата»

создать новую транзакцию()

Создает новую транзакцию.

закрыть транзакцию()

Закрывает транзакцию.

Так как каждый турникет связан с главной программой управления метро, добавим два класса типа интерфейс: «Контроллер метрополитена» и «АСУ метрополитена».

Таблица 13 - Операции класса «Контроллер метрополитена»

проверить идентификатор карточки(идентификатор карточки : Integer)

Идентификатор карточки проверяется на подлинность.

проверить количество единиц(количество единиц : Integer)

Проверяет, остались ли единицы на балансе клиента.

проверить срок годности(срок годности : Date)

Проверяет, не вышел ли срок действия карты.

уменьшить количество единиц на 1(количество единиц : Integer)

За каждый проход через турникет с пассажира взимается плата в 1 единицу.

Таблица 14 - Операции класса «АСУ метрополитена»

принять информацию о времени проходов за день (время прохода : Date)

В конце дня турникет отправляет информацию о всех проходах пассажиров.

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

Рисунок 2 - Диаграмма классов для модели управления турникетом