Рисунок 14 – Создание отношения включения
Система обеспечивает автоматическую выдачу билетов с использованием точки доступа и мобильных устройств, оснащенных модулем беспроводной связи. Система должна осуществлять проверку доступа студента к билетам только с использованием одного мобильного устройства. Для составления пар студент-устройство используются ФИО студента и MAC-адрес устройства. Преподаватель должен иметь информацию о том, какой студент вытянул какой вопрос, и время, в которое было произведено это действие. Доступ к экзаменационным билетам должен быть только у студентов группы, указанной преподавателем и допущенных к экзамену. Преподаватель должен иметь возможность допускать студентов до экзамена и разрешать сдавать экзамен студентам из другой группы в виде исключения. После регистрации студента и его мобильного устройства система выдает случайный, еще не занятый, билет, и при последующих обращениях с мобильного устройства выдает тот же самый билет.
В процессе проведения экзамена студент может вытянуть билет позволяющий получить оценку автоматически (без ответа на вопросы). Для этого в течение семестра использовалась система промежуточной оценки остаточных знаний, результатом работы которой являются 4 пары тема - оценка. Весь курс разбит на 10 тем, таким образом, чтобы ответив на любой вопрос из темы в течение семестра, можно было получить оценку за всю тему. Для вычисления автоматической оценки на основе выбранного билета система должна проверить в какие темы попадают вопросы, выбранного билета, и сопоставить их с оценками, полученными студентом, вытянувшим билет.
Определение рамок системы
Для, того чтобы яснее очертить рамки проектируемой системы определим те функции, которые она не должна выполнять, т.е. определим внешних вспомогательных исполнителей:
Система не отвечает за процессы подключения и аутентификации мобильных устройств студентов, за это отвечают протоколы безопасности беспроводных сетей;
Система не отвечает за сопоставление конкретных МАС адресов и адресов мобильных устройств в сети IP, за это отвечают протоколы DHCP и ARP, реализованные в рамках операционной системы или роутера (точки доступа);
Система не отвечает за визуализацию содержимого экзаменационного билета, это выполняет браузер на мобильном устройстве.
Таким образом, внешними вспомогательными исполнителями являются: операционная система, беспроводной роутер, браузер мобильного устройства.
Для того чтобы не упустить некоторые не очевидные моменты в процессе определения основных исполнителей и задач полезно ответить на следующие вопросы:
Кто запускает и выключает систему?
Кто является системным администратором?
Кто осуществляет управление пользователями и безопасностью?
Относится ли время к числу исполнителей, другими словами, должна ли система выполнять какие-либо действия в ответ на события времени?
Существует ли процесс мониторинга, благодаря которому система перезапускается в случае сбоя?
Кто контролирует деятельность и производительность системы?
Как выполняется обновление программного обеспечения?
Кто анализирует журналы регистрации? Можно ли обеспечить удаленный доступ к ним?
Могут ли в качестве исполнителей выступать внешние программы или автоматические системы?
Кого следует уведомлять при ошибках или сбоях системы?
Составим перечень исполнителей и задач в виде таблицы:
Исполнитель |
Задачи |
Студент |
Регистрируется на экзамене Получает билет |
Преподаватель |
Включает и выключает систему Уточняет участие студента в сдаче экзамена Анализирует информацию о вытянутых билетах Анализирует информацию о времени получения билетов |
Ассистент (деканат) |
Формирует списки студентов |
Система промежуточной оценки знаний |
Предоставляет информацию для выставления автоматической оценки за экзамен |
Как правило, каждой задаче пользователя соответствует один прецедент. Его имя должно начинаться с существительного, описывающего действие. Из таблицы выше, можно сделать вывод, что в разрабатываемой системе присутствует два основных исполнителя: Студент и Преподаватель. Поэтому в качестве прецедентов определим те, которые соответствуют задачам основных исполнителей. (Регистрация на экзамене, Получение билета, Допуск на экзамен, Вызов на собеседование, Собеседование на экзамене)
В качестве примера, рассмотрим развернутое описание прецедента Получение билета.
Прецедент П1. Получение билета
Рамки. Система поддержки проведения экзамена.
Уровень. Задача, определенная пользователем.
Основной исполнитель. Студент.
Заинтересованные лица и их требования.
Студент. Хочет получить билет и узнать о возможности выставления автоматической оценки. Все это он хочет проделать без лишних волнений и не отвлекая остальных участников экзамена;
Преподаватель. Хочет быстро определить, кому и какую оценку можно поставить автоматически;
Деканат. Хочет получить аккуратно заполненные ведомости о проведении экзамена.
Студент сообщает системе о своем желании получить билет;
Система проверяет факт выдачи билета студенту во время его предыдущих обращений;
Система случайным образом выбирает билет, который до этого ни разу не был выбран и делает пометку о том, что билет занят конкретным студентом;
Система запоминает время начала подготовки студента;
Система определяет номер темы, к которой относится вопрос, выбранного билета;
Система определяет оценку, которую можно поставить автоматически за данный вопрос на основании информации полученной от системы промежуточной оценки знаний;
Система повторяет пункты 5 и 6 для всех вопросов, выбранного билета;
Система формирует билет в виде возможном для отображения и передает его на мобильное устройство;
Студент получает на экране мобильного устройства все вопросы и автоматические оценки и начинает готовиться к ответу.
2-4а. При повторном обращении студента к системе для получения билета:
Система определяет, какой билет был выдан студенту при его первом обращении.
4а. Если в системе не осталось ни одного билета, который еще ни разу не был выдан:
Система сообщает студенту о том, что необходимо подождать, пока билеты не освободятся;
Система сообщает преподавателю о том, что свободных билетов нет и конкретный студент не может начать подготовку к ответу;
Система завершает обслуживание студента.
Специальные требования
На 3 шаге основного сценария необходимо обеспечить, чтобы у разных студентов выполнивших одновременное обращение к системы были разные билеты
Список технологий и типов данных
Для возможности работы с более широким кругом различных устройств содержание билетов должно формироваться в виде html разметки.
В качестве CASE-средства в данном описании будет использоваться Visual Paradigm. Диаграмма прецедентов может выглядеть так, как показано на рисунке 15.
Рисунок 15 – Диаграмма прецедентов
На этой диаграмме основные исполнители показаны слева, а вспомогательные справа. Связь взаимодействия может соединять так же и двух исполнителей, и два прецедента. Однако для этого вводятся специальные виды взаимодействия: обобщение, расширение и включение (использование этих типов связи в рамках анализа начальной фазы не является желательным).
Какие символы являются стандартными представлениями актёра?
Каким символом изображается прецедент?
Какое значение имеет стрелка, изображенная на линии, связывающей актёра и прецедент?
Какие актёры вовлечены в выполнение прецедента Use Case E?
В каком количественном отношении находятся сценарии и прецеденты?
В каком отношении находятся понятия прецедента и кооперации?
Что такое прецедент?
Какой смысл вкладывают в понятие актёра?
В каких отношениях могут состоять прецеденты?
Какие актёры вовлечены в выполнение прецедента Use Case E?
Предусловия. Студент зарегистрировался на экзамене и имеет допуск.
Результаты (Постусловия). Студенту предоставлен случайный и еще не занятый билет. Зафиксировано время получения билета. Определены автоматические оценки за каждый вопрос в полученном билете.
В чем состоит смысл операции расширения прецедента?
Что описывается в дополнительном разделе прецедента, отделенном от его названия горизонтальной линией?
Как на диаграммах прецедентов изображается включение прецедентов?
в виде зависимости со стереотипом <<include>>;
в виде зависимости со стереотипом <<inside>>;
в виде зависимости со стереотипом <<within>>;
в виде зависимости со стереотипом <<switch on>>;
в виде зависимости со стереотипом <<contain>>.