
,
Содержание.
Задание
Требования к программе
Описание диаграмм
Диаграмма использования
Диаграмма последовательности
Диаграмма активности
Диаграмма классов
Описание классов
Класс TCard
Tprocessor
Tform
Руководство пользователя
Задание.
Вариант 8. Турникет платной автомагистрали
Требуется разработать программное обеспечение встроенного процессора турникета для въезда на платную автомагистраль.
При помощи турникета контролируется проезд машин на платную автомагистраль и взимается плата за проезд. Турникет имеет приемник банковских карт, приемник наличных денег, устройство для перекрывания доступа, таймер, три оптических датчика для определения проезда машины, устройство подачи звуковых сигналов, индикаторы «Проезд» и «Стоп».
В начальном состоянии турникета зажжен индикатор «Стоп», индикатор «Проезд» потушен. Если один из датчиков посылает сигнал, то проезд через турникет сразу же перекрывается, и подается предупредительный звуковой сигнал. Для проезда водитель должен поместить карту в приемник карт. Турникет считывает с нее данные. После распознавания типа пластиковой карточки, турникет выдает на дисплей приглашение ввести персональный код. Персональный код представляет собой четырехзначное число. Затем турникет проверяет правильность введенного кода. Если код указан неверно, водителю предоставляются еще две попытки для ввода правильного кода. В случае повторных неудач карта возвращается, и сеанс обслуживания заканчивается.
Если данные не удается считать, или карта просрочена, или заблокирована, то карта возвращается водителю, и турникет остается в исходном состоянии. В другом случае с карты списывается сумма въезда на платную автомагистраль, карта возвращается из приемника, «Стоп» гаснет, зажигается индикатор «Проезд», и мАшина может проехать через турникет. Получив от одного из датчиков сигнал, турникет ожидает время, отведенное на проезд (15 секунд), после чего он возвращается в начальное состояние.
Турникет заносит в свою память время всех оплаченных проездов. В конце рабочего дня он передает всю информацию, накопленную за день, в свою бухгалтерию.
Требования к программе.
Программа должна уметь определять тип карты, срок действия и блокировку. При возникновении ошибок выдавать соответствующие предупреждения.
Выдавать приглашения для ввода PIN кода и сообщать о его корректности. Контролировать длину вводимого кода.
Контролировать количество попыток ввода кода. Если было 3 неудачных попытки, карта должна быть заблокирована и возвращена владельцу.
При успешном вводе PIN кода, определяется сумма на карте и если ее не достаточно для оплаты, сообщить об этом и вернуть карту владельцу.
Если средств на карте достаточно, то снимается необходимая сумма. Время платежа записывается в специальный файл, который в конце дня отправляется в бухгалтерию.
После снятия денег с карты, турникету посылается сигнал для открытия ворот.
После того как сработает датчик, начинается отчет времени (15 сек.). По истечении времени турникет возвращается в начальное состояние.
Прецеденты, представленные на Use case diagram
Проверить карту: Проверяется тип карты (должен быть равен 3), срок использования и флаг блокировки. Если хотя бы одно из свойств не отвечает требуемому, то карта возвращается владельцу и работа завершается.
Проверить PIN код: Проверить корректность введенного водителем PIN кода. Дается 3 попытки. После этого карта блокируется и возвращается владельцу. После проверки посылается сигнал для продолжения работы.
Снять деньги с карты: После проверки кода с карты снимается 50 единиц. Карта достается и отправляется сигнал о продолжении работы.
Сохранить данные: После снятия денег с карты, время операции записывается в файл, который в конце дня должен быть отправлен в бухгалтерию.
Отправить сигнал разрешения проезда: Отправляется сигнал на турникет, который разрешает открыть шлагбаум и начать отчет времени.