Описание прецедента «разрешение на проход»
Сводка:Турникет пропускает пассажира.
Предусловие:Пользователь успешно авторизирован в системе и приемник карт разрешил проход пассажира.
Описание:
1)Пассажир получил разрешение на проход от системы;
2)Зажечь разрешающий индикатор;
3)Пассажир прошел через турникет и сработала оптическая система;
4)Обработать сигналы от оптической системы и зарегистрировать проход пассажира;
5)Сменить индикатор.
Альтернативы:
1)Если пассажир не получил разрешение на проход, никаких действий не совершать;
2)Если по истечению пяти секунд не зарегистрировано ни одного срабатывания оптической системы, то принудительно сменить индикатор на запрещающий и завершить обработку пассажира.
Постусловие:Пассажир пропущен.
Прецедент | Краткое описание |
Авторизация пользователя в системе | Производит поиск пользователя в системе, выводит баланс карты и срок её действия. |
Включение индикатора Стоп | Включает запрещающий индикатор турникета. |
Разрешение прохода (индикатор) | Включает разрешающий индикатор турникета. |
Работа оптической системы учета прохода пассажира | Обнаруживает срабатывания датчиков присутствия, выводит сигналы о проходе пассажира или «зайца» |
Отсчет времени | Измеряет форму протекания вычислительных характеристик и регулирует их скорость и протяженность. (Дает пассажиру время пройти, прежде чем турникет закроется.) |
Перекрытие доступа | Программное и физическое перекрытие прохода турникета. |
Обработка опт. датчиков | Проверяет присутствие человека в зоне прохода во время, когда не происходит обработка пассажира турникетом. (Для зайцев и бабушек) |
Проскочил «заяц» | Передает обработчику сигнал о том, что проскочил «заяц» для блокирования доступа к проходу и подачи звукового сигнала. |
Подача звукового сигнала | Подает звуковой сигнал. |
Сбой | Сообщает обработчику об ошибке. |
Экстренная остановка системы | Переводит турникет в режим ошибки. |
Цели построения диаграммы прецендентов:
1) Определение общих принципов и контекста моделируемой предметной области на начальных этапах проектирования.
2) Сформулировать общие требование к функциональному поведению проектируемой области.
3) Разработать исходную концептуальную модель для ее следующей детализации.
4) Подготовка исходной документации для взаимодействия с заказчиком.
Используются обозначения:
Действующее лицо (actor, актер) – тот кто со своим запросом обращается к проектируемому программному комплексу.
Действующее лицо имеет 3 разновидности: человек, какое-то техническое устройство, для управления которым создается ПК, другой ПК, внешний к данному.
Варианты использования описывают отношения:
Отношение ассоциации: служит для обозначения специфической роли актера в отдельном варианте использования, т.е. какую конкретную роль играет актер при взаимодействии с экземпляром варианта использования.
Отношение обобщения: служит для указания факта, что некоторый вариант использования может быть обобщен до другого варианта использования.
Отношение расширения: определяет связь одного варианта использования с более общим.
Отношение включения: показывает, что некоторый вариант использования включает в себя подварианты.
Диаграмма классов
Рис. 1.2. Диаграмма классов
Класс- это абстрактное описание множества объектов с одинаковыми свойствами. Класс включает атрибуты (свойства, характеристики объектов) и методы (действия над объектами этого класса). Модификатор доступа для атрибутов и методов – public, privat.
Таблица описания класса «система обработки»
Табл.1.2
Параметр | Значение |
комментарий | Класс, который представляет собой описание работы обработчика турникета. |
атрибуты | Номер карты: int /хранит номер карты База данных /хранит даннные пассажиров Валидация данных: bool /успешна или нет Результат проверки карты: int /дополнительные данные |
Параметр | Значение |
комментарий | Класс, представляющий собой систему обработки. |
операции | Сверить карту(): int /сверяет данные карты Подтвердить проверку карты(): int /вывести результат проверки |
Класс «турникет»
Параметр | Значение |
комментарий | |
атрибуты | Номер карты: int /хранит номер карты Баланс карты: int /хранит баланс карты Проход разрешен: bool /результат проверки карты |
Параметр | Значение |
комментарий | |
операции | Считать карту(in Данные карты:real): int/считывает данные карты Отправить данные в систему обработки(): void /отправляет данные карты Подтвердить баланс и оплату(): int /подтверждает баланс карты и списание поездки Проинформировать пользователя(): int /об успешном списании поездки |
Класс «механизм перекрытия»
Параметр | Значение |
комментарий | |
атрибуты | Чтение сигналов с оптодатчиков: int /снятие сигнала с датчиколв Вывод сбоя: bool / был ли сбой (да/нет) |
Параметр | Значение |
комментарий | |
операции | Прочитать данные с оптодатчиков(in Сигнал:int): int /читает и обрабатывает данные с карты Вывести сбой(): bool /обрабатывает сбой |
Класс «пассажир»
Параметр | Значение |
комментарий | |
атрибуты | Приложить карту: bool /приложил карту или нет Получить сигнал на проход: bool /получил или нет Пройти: bool /прошёл или нет |
Диаграмма деятельности
Рис.1.3. Диаграмма деятельности
Диаграмма действий - специальная форма диаграммы состояний, которая отображает последовательность выполнения действий во времени. Диаграмма действий в общем случае используется для отображения любых последовательных действий для обработки данных, но чаще всего применительно к объектам, классам, пакетам и операциям.
В нашем случае диаграмма действий показывает процесс обработки прохода для пассажира (чтение данных карты, разрешение на проход...).
Диаграмма взаимодействий
Рис. 1.4. Диаграмма взаимодействий
Диаграмма сообщений отображает взаимодействие объектов.
В нашем случае данная диаграмма отображает взаимодействие (передачу сообщений) между сотрудниками кафедры физического воспитания. Между пассажиром и турникетом.
Диаграмма состояний
Рис. 1.5. Диаграмма состояний
Диаграмма состояний выражает поведение объекта через состояния и переходы состояний.
В нашем случае данная диаграмма показывает состояние проверки данных проездной карты пассажира.
Диаграмма состояний необходима для описания динамического поведения классов, если эти классы могут находиться в разных состояниях. Одна диаграмма соответствует одному классу.
В любой момент времени класс может находиться в одном состоянии. Переход от одного состояния в другое - скачкообразный. Переход должен сопровождаться изменением значения хотя бы одной переменной из данных класса. Классы могут переходить из одного состояние в другое самостоятельно или под внешним воздействием. Переход класса из одного состояния в другое – событие (event).
Событие = условие возникновения + параметры.
Диаграмма взаимодействия ролей
Рис.2.1. Диаграмма сообщений роли
Диаграмма сообщений роли отображает взаимодействия в концепции ролей.
В нашем случае диаграмма показывает взаимодействие пассажира с приёмником карт.
Диаграмма коопераций
Рис.2.2. Диаграмма коопераций
Диаграмма коопераций отображает взаимодействие между объектами. Она является прямым отображением модели взаимодействия объектов.
В нашем случае диаграмма показывает взаимодействие всех объектов системы.
В ходе работы программы объекты обмениваются сообщениями.
Сообщение –это передача информации от одного объекта к другому.
Рассмотрим 2 аспекта: 1) временной – в какой очередности сообщения передаются между объектами; 2) структурный – как сообщения могут быть переданы между объектами. По сути передача сообщения означает, что объект одного класса вызывает метод объекта другого класса. Обычно на диаграмме указывают объекты, а не классы. Но если все объекты ведут себя идентично, то можно написать имя класса (:имя класса). Каждый объект обладает линией жизни. Если она заканчивается крестиком, то в этот момент времени объект уничтожается. Если на ней нарисован прямоугольник, то это значит, что объект в это время действует.
Диаграмма коопераций – вариант диаграммы последовательности откуда исключено время.
Диаграмма коопераций ролей
Рис.2.3.Диаграмма коопераций ролей
Диаграмма коопераций ролей отображает взаимодействия между ролями. Она является прямым отображением модели взаимодействия классификаторов-ролей внутри кооперации.
В нашем случае диаграмма описывает взаимодействие пассажира и приемника карт.
Диаграмма компонентов
Рис.3.1. Диаграмма компонентов
Диаграмма компонентов отображает зависимость между программными компонентами. Элементы, которые составляют программные компоненты и элементы, которые реализуют эти компоненты, могут быть отображены на диаграмме компонентов.
В нашем случае диаграмма компонентов отображает программные и аппаратные компоненты конкретной реализации системы «Турникет метро».
Диаграмма компонентов описывает особенности физического представления системы, позволяет определить архитектуру разрабатываемой системы.
Компонента – единица физической реализации системы. Все классы нужно прикрепить к компонентам и все компоненты к узлам обработки. Компоненты взаимодействуют с собой через интерфейс (обозначается кружочком, присоединяется сплошной линией).
Диаграмма развертывания
Рис.3.2. Диаграмма развертывания
Диаграмма развертывания отображает аппаратные элементы компьютера, другие устройства и программные компоненты, а также процессы и объекты, которые им назначены.
В нашем случае данная диаграмма показывает связь имеющихся компонентов турникета.
Диаграмма развертывания применяется для представления общей конфигурации системы и содержит распределение компонентов системы по отдельным узлам системы. Кроме того показывает наличие физических соединений.
Узел – некоторый физически существующий элемент системы, обладающий некоторым вычислительным ресурсом. Узел изображается в виде куба.