Скачиваний:
118
Добавлен:
02.05.2014
Размер:
160.77 Кб
Скачать
  1. Требования к программе.

  1. Программа должна уметь определять тип карты, срок действия и блокировку. При возникновении ошибок выдавать соответствующие предупреждения.

  2. Выдавать приглашения для ввода PIN кода и сообщать о его корректности. Контролировать длину вводимого кода.

  3. Контролировать количество попыток ввода кода. Если было 3 неудачных попытки, карта должна быть заблокирована и возвращена владельцу.

  4. При успешном вводе PIN кода, определяется сумма на карте и если ее не достаточно для оплаты, сообщить об этом и вернуть карту владельцу.

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

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

  7. После того как сработает датчик, начинается отчет времени (15 сек.). По истечении времени турникет возвращается в начальное состояние.

Прецеденты, представленные на Use case diagram

  1. Проверить карту: Проверяется тип карты (должен быть равен 3), срок использования и флаг блокировки. Если хотя бы одно из свойств не отвечает требуемому, то карта возвращается владельцу и работа завершается.

  2. Проверить PIN код: Проверить корректность введенного водителем PIN кода. Дается 3 попытки. После этого карта блокируется и возвращается владельцу. После проверки посылается сигнал для продолжения работы.

  3. Снять деньги с карты: После проверки кода с карты снимается 50 единиц. Карта достается и отправляется сигнал о продолжении работы.

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

  5. Отправить сигнал разрешения проезда: Отправляется сигнал на турникет, который разрешает открыть шлагбаум и начать отчет времени.

  1. Описание диаграмм.

    1. Use case diagram.

Описание.

Задачи водителя: 1. Вставить карту. 2. Ввести PIN код. 3. Проехать через турникет.

Задачи блока управления: 1. Считать и проверить карту. 2. Проверить введенный водителем PIN код. 3. Снять деньги с карты. 4. Сохранить время получения средств в специальный файл. 5. Отправить сигнал на турникет о разрешении проезда.

3.2. Sequence diagram

Описание.

Водитель вставляет карту. 2. Блок управления считывает параметры карты во внутреннюю память и проверяет необходимые атрибуты. 3. Блок управления выдает приглашение о вводе PIN кода на монитор. 4. Водитель вводит код. 5. Блок управления проверяет код. 6. Блок управления снимает необходимую сумму с карты. 6. Блок управления посылает сигнал на турникет о разрешении проезда. 7. Карта возвращается водителю.

3.3.Activity diagram

Описание.

Блок управления ожидает ввода карты. Если на турникете срабатывает датчик от проезда машины. На турникет посылается сигнал закрытия шлагбаума.

После ввода карты происходит ее проверка. Затем вводится PIN код. Далее снимается необходимая сумма с карты. Посылается сигнал на турникет об открытии шлагбаума. После того как автомобиль начинает движение (срабатывает датчик), начинается отсчет времени 15 сек. По окончании проезда турникет возвращается в исходное состояние.

3.4.Class diagram

Класс TProcessor содержит переменную класса TCard и использует класс формы (монитора) для вывода сообщений и другой информации.

4. Описание классов.

4.1 Класс TCard.

fTypeOfCard тип integer. Содержит тип карты. Верный тип карты должен быть равен 3.

fPIN тип integer. Содержит PIN код. Состоит из 4-х цифр.

fDateLimit тип TDateTime. Содержит срок использования карты.

fBlocked тип Boolean. Содержит флаг блокировки карты.

fSumma тип integer. Сумма средств на счете владельца.

    1. Класс TProcessor.

fTryCount тип integer. Содержит количество попыток. При превышении 3 карта будет заблокирована.

fCard тип TCard. Содержит переменную, в которой содержатся все данные текущей карты.

CheckPIN(PIN:integer). Функция проверки введенного кода (передается в переменной PIN). Если код верный возвращается TRUE, иначе FALSE.

LoadAndCheckCard(fFile:integer;FileName:string). Функция загрузки карты во внутреннюю переменную и проверка необходимых атрибутов. Возвращает TRUE если карту удалось загрузить и все показатели атрибутов в норме, иначе FALSE.

GetMoney(). Функция снимает деньги с карты, если операция прошла успешно возвращает TRUE. Если на карте недостаточно средств возвращает FALSE.

BlockCard(). Устанавливает в карте атрибут блокировки в TRUE и сохраняет.

Соседние файлы в папке Курсовая работа - Разработка программного продукта