Цель работы:
- изучение диаграмм вариантов использования,
- изучение их применения в процессе постановки задачи.
1. Диаграммы вариантов использования (use-case diagrams)
Одна из моделей формализации процесса постановки целей и задач проекта была предложена фирмой Rational и вошла в стандарт языка UML. Для этого применяются диаграммы вариантов использования (use-case), иногда называемые диаграммами прецедентов. Вариант использования представляет собой типичное взаимодействие пользователя и проектируемой системы. Варианты использования характеризуются рядом свойств:
- вариант использования охватывает некоторую очевидную для пользователей функцию;
- вариант использования может быть как небольшим, так и достаточно крупным;
- вариант использования решает некоторую дискретную задачу пользователя.
В простейшем случае вариант использования создается в процессе обсуждения с пользователями тех вещей, которые они хотели бы получить от системы. При этом каждой отдельной функции, которую они хотели бы реализовать, присваивается некоторое имя и записывается ее краткое текстовое описание.
Это все, что необходимо в фазе анализа. Знание некоторых деталей может потребоваться, если предполагается, что данный вариант использования содержит важные архитектурные ответвления. Большинство вариантов использования может быть детализировано во время конкретной итерации в процессе проектирования.
Действующие лица могут играть различные роли по отношению к варианту использования. Они могут применять его результаты или сами непосредственно в нем участвовать.
Хорошим источником для идентификации вариантов использования служат внешние события. Для этого необходимо перечислить все происходящие во внешнем мире события, на которые система должна реагировать. Какое-либо конкретное событие может повлечь за собой реакцию системы, не требующую вмешательства пользователей, или, наоборот, вызвать чисто пользовательскую реакцию. Идентификация событий, на которые необходимо реагировать, поможет идентифицировать варианты использования.
Таблица 10.1. Описание кнопок панели инструментов диаграмм вариантов использования Rational Rose
Кнопка | Описание | Название |
|
Выбор элемента модели | Sekection Tool |
Добавление пакета | Packege | |
Вариант использования | Use Case | |
Действующее лицо | Actor | |
Однонаправленная связь | Unidirectional Association | |
Зависимость | Dependency | |
Наследование | Generalization | |
Ввод текста | Text Box | |
Комментарий | Note | |
Связь комментария с элементом | Abchor Note to Item |
Создание модели вариантов использования
Упражнение 1. Создание действующих лиц в среде Rational Rose
Для того чтобы поместить действующее лицо в браузер:
- Щелкните правой кнопкой мыши по пакету представления вариантов использования в браузере.
- Выберите пункт New/Actor в открывшемся меню.
- В браузере появится новое действующее лицо под названием NewClass. Слева от его имени вы увидите пиктограмму действующего лица UML.
- Выделив новое действующее лицо, введите его имя.
- После создания действующих лиц сохраните модель под именем coursereg(analysis) с помощью пункта меню File / Save.
Результат выполнения упражнения показан на рис 10.2.
Рис. 10.2. Представление действующих лиц в браузере
Варианты использования
Исходя из потребностей действующих лиц выделяются следующие варианты использования:
- Login (Войти в систему).
- Register for Courses (Зарегистрироваться на курсы).
- View Report Card (Просмотреть табель успеваемости).
- Select Courses to Teach (Выбрать курсы для преподавания).
- Submit Grades (Проставить оценки).
- Maintain Professor Information (Вести информацию о профессорах).
- Maintain Student Information (Вести информацию о студентах).
- Close Registration (Закрыть регистрацию).
Упражнение 2. Создание вариантов использования в среде Rational Rose
Для того чтобы поместить вариант использования в браузер:
- Щелкните правой кнопкой мыши по пакету представления вариантов использования в браузере.
- Выберите в появившемся меню пункт New / Use Case.
- Новый вариант использования под названием NewUseCase появится в браузере. Слева от него будет видна пиктограмма варианта использования UML.
- Выделив новый вариант использования, введите его название.
Результат выполнения упражнения показан на рис. 10.3
Рис. 10.3. Представление вариантов использования в браузере
Диаграмма вариантов использования
Создайте диаграмму вариантов использования для системы регистрации. Требуемые для этого действия подробно перечислены далее. Готовая диаграмма вариантов использования изображена на рис. 5.
В среде Rose диаграммы вариантов использования создаются в представлении вариантов использования. Главная диаграмма (Main) предлагается по умолчанию. Для моделирования системы можно затем разработать необходимое количество дополнительных диаграмм.
Для того чтобы получить доступ к главной диаграмме вариантов использования:
- Откройте данное представление, щелкнув по значку «+» рядом с представлением вариантов использования в браузере.
- Откройте главную диаграмму, дважды щелкнув мышью. Строка заголовка изменится, включив фразу [Use Case Diagram: Use Case view / Main].
Для создания новой диаграммы вариантов использования:
- Щелкните правой кнопкой мыши по пакету представления вариантов использования в браузере.
- Выберите пункт New / Use Case Diagram из всплывающего меню.
- Выделив новую диаграмму, введите ее имя.
- Дважды щелкните по названию этой диаграммы в браузере, чтобы открыть ее.
Упражнение 3. Построение диаграммы вариантов использования
- Откройте диаграмму вариантов использования Main.
- Перетащите действующее лицо или вариант использования мышью из браузера на диаграмму вариантов использования.
- С помощью кнопки Unidirectional Association (Однонаправ-* ленная ассоциация) панели инструментов нарисуйте ассоциации между действующими лицами и вариантами использования как показано на рис.10.4.
- Сохраните диаграмму.
- Наличие общего варианта использования Login для трех действующих лиц позволяет обобщить их поведение и ввести новое действующее лицо Any User. Модифицируйте диаграмму вариантов использования как показано на рис. 10.5.
- Ассоциации между действующими лицами необходимо нарисовать с помощью кнопки Generalisation на панели инструментов.
Рис. 10.4. Диаграмма вариантов использования для системы регистрации
Рис. 10.5. Модифицированная диаграмма вариантов использования для системы регистрации
Упражнение 4. Добавление описаний к вариантам использования
- Выделите в браузере вариант использования Register for Courses.
- В окне документации (пункт Open Specification) введите следующее описание к этому варианту использования: «This use case allows a student to register for courses in the current semester» («Этот вариант использования дает студенту возможность зарегистрироваться на курсы в текущем семестре»).
- Создайте с помощью MS Word три текстовых файла с описаниями вариантов использования Login (Войти в систему), Register for Courses (Зарегистрироваться на курсы) и Close Registration (Закрыть регистрацию).
Вариант использования Login
Краткое описание. Данный вариант использования описывает вход пользователя в систему регистрации курсов.
Основной поток событий
Данный вариант использования начинает выполняться, когда пользователь хочет войти в систему регистрации курсов.
- Система запрашивает имя пользователя и пароль.
- Пользователь вводит имя и пароль.
- Система проверяет имя и пароль, после чего открывается доступ в систему.
Альтернативные потоки
Неправильное имя/пароль. Если во время выполнения Основного потока обнаружится, что пользователь ввел неправильное имя и/или пароль, система выводит сообщение об ошибке. Пользователь может вернуться к началу Основного потока или отказаться от входа в систему, при этом выполнение варианта использования завершается.
Предусловия
Отсутствуют.
Постусловия
Если вариант использования выполнен успешно, пользователь входит в систему. В противном случае состояние системы не изменяется.
Вариант использования Register for Courses
Краткое описание. Данный вариант использования позволяет студенту зарегистрироваться на конкретные курсы в текущем семестре. Студент может изменить свой выбор (обновить или удалить курсы), если изменение выполняется в установленное время в начале семестра. Система каталога курсов предоставляет список всех конкретных курсов текущего семестра.
Основной поток событий
Данный вариант использования начинает выполняться, когда студент хочет зарегистрироваться на конкретные курсы или изменить свой график курсов.
- Система запрашивает требуемое действие (создать, обновить, удалить график).
- Когда студент указывает действие, выполняется один из подчиненных потоков (создать, обновить, удалить или принять график),
Создать график
- Система выполняет поиск в каталоге курсов доступных конкретных курсов и выводит их список.
- Студент выбирает из списка 4 основных и 2 альтернативных курса.
- После выбора система создает график студента.
- Выполняется подчиненный поток «Принять график».
Обновить график
- Система выводит текущий график студента.
- Система выполняет поиск в каталоге курсов доступных конкретных курсов и выводит их список.
- Студент может обновить свой выбор курсов, удаляя или добавляя конкретные курсы.
- После выбора система обновляет график.
- Выполняется подчиненный поток «Принять график».
Удалить график
- Система выводит текущий график студента.
- Система запрашивает у студента подтверждения удаления графика.
- Студент подтверждает удаление.
- Система удаляет график. Если график включает конкретные курсы, на которые записался студент, он должен быть удален из списков этих курсов.
Принять график
Для каждого выбранного, но еще не «зафиксированного» конкретного курса в графике система проверяет выполнение студентом предварительных требований (прохождение определенных курсов), факт открытия конкретного курса и отсутствие конфликтов графика. Затем система вносит данные о студенте в список выбранного конкретного курса. Курс фиксируется в графике, и график сохраняется в системе.
Альтернативные потоки
Сохранить график
В любой момент студент может вместо принятия графика сохранить его. В этом случае шаг «Принять график» заменяется на следующий:
- «Незафиксированные» конкретные курсы помечаются в графике как «выбранные».
- График сохраняется в системе.
Не выполнены предварительные требования, курс заполнен или имеют место конфликты графика.
Если во время выполнения подчиненного потока «Принять график» система обнаружит, что студент не выполнил необходимые предварительные требования, или выбранный им конкретный курс заполнен, или имеют местр конфликты графика, то выдается сообщение об ошибке. Студент может либо выбрать другой конкретный курс и продолжить выполнение варианта использования, либо сохранить график, либо отменить операцию, после чего основной поток начнется с начала.
График не найден. Если во время выполнения подчиненных потоков «Обновить график» или «Удалить график» система не может найти график студента, то выдается сообщение об ошибке. После того как студент подтвердит это сообщение, основной поток начнется с начала.
Система каталога курсов недоступна. Если окажется, что невозможно установить связь с системой каталога курсов, то будет выдано сообщение об ошибке. После того как студент подтвердит это сообщение, вариант использования завершится.
Регистрация на курсы закончена. Если в самом начале выполнения варианта использования окажется, что регистрация на текущий семестр закончена, будет выдано сообщение, и вариант использования завершится.
Удаление отменено. Если во время выполнения подчиненного потока «Удалить график» студент решит не удалять его, удаление отменяется, и основной поток начнется сначала.
Предусловия
Перед началом выполнения данного варианта использования студент должен войти в систему.
Постусловия
Если вариант использования завершится успешно, график студента будет создан, обновлен или удален. В противном случае состояние системы не изменится.
Вариант использования Close Registration
Краткое описание. Данный вариант использования позволяет регистратору закрывать процесс регистрации. Конкретные курсы, на которые не записалось достаточного количества студентов, отменяются. В расчетную систему передается информация о каждом студенте по каждому конкретному курсу, чтобы студенты могли оплатить курсы.
Основной поток событий
Данный вариант использования начинает выполняться, когда регистратор запрашивает прекращение регистрации.
- Система проверяет состояние процесса регистрации. Если регистрация еще выполняется, выдается сообщение, и вариант использования завершается.
- Для каждого конкретного курса система проверяет, ведет ли его какой-либо профессор и записалось ли на него не менее трех студентов. Если эти условия выполняются, система фиксирует конкретный курс в каждом графике, который включает данный курс.
- Для каждого студенческого графика проверяется наличие в нем максимального количества основных курсов; если их недостаточно, система пытается дополнить альтернативными курсами из списка данного графика. Выбирается первый доступный альтернативный курс. Если таких курсов нет, то никакое дополнение не происходит.
- Система закрывает все конкретные курсы. Если в каком-либо конкретном курсе оказывается менее трех студентов (с учетом добавлений, сделанных в п.З), система отменяет его и исключает из каждого содержащего его графика.
- Система рассчитывает плату за обучение для каждого студента в текущем семестре и направляет информацию в расчетную систему. Расчетная система посылает студентам счета для оплаты с копией их окончательных графиков.
Альтернативные потоки
Конкретный курс никто не ведет. Если во время выполнения основного потока обнаруживается, что некоторый конкретный курс не ведется никаким профессором, то этот курс отменяется. Система исключает данный курс из каждого содержащего его графика.
Расчетная система недоступна. Если невозможно установить связь с расчетной системой, спустя некоторое установленное время система вновь попытается связаться с ней. Попытки будут повторяться до тех пор, пока связь не установится.
Предусловия
Перед началом выполнения данного варианта использования регистратор должен войти в систему.
Постусловия
Если вариант использования завершится успешно, регистрация закрывается. В противном случае состояние системы не изменится.
Упражнение 5. Прикрепление файла к варианту использования
- Щелкните правой кнопкой мыши по варианту использования.
- В открывшемся меню выберите пункт Open Specification.
- Перейдите на вкладку файлов.
- Щелкните правой кнопкой мыши по белому полю и из открывшегося меню выберите пункт Insert File.
- Укажите созданный ранее файл и нажмите на кнопку Open, чтобы прикрепить файл к варианту использования.
В результате представление вариантов использования в браузере примет следующий вид:
Рис. 10.6. Представление вариантов использования в браузере
Удаление вариантов использования и действующих лиц. Существуют два способа удалить элемент модели - из одной диаграммы или из всей модели. Для удаления элемента модели из диаграммы:
- Выделите элемент на диаграмме.
- Нажмите на клавишу Delete.
- Обратите внимание, что хотя элемент и удален с диаграммы, он остался в браузере и на других диаграммах системы.
Для удаления элемента из модели:
- Выделите элемент на диаграмме.
- Выберите пункт меню Edit > Delete from Model или нажмите сочетание клавиш CTRL + D.
Контрольные вопросы
- В чем смысл варианта использования?
- Каково назначение диаграмм вариантов использования?
- Назовите основные свойства вариантов использования.
- Назовите основные компоненты диаграмм вариантов использования.
- Что такое «действующее лицо»?
- Какую роль могут играть действующие лица по отношению к варианту использования?
- Каким образом анализ внешних событий позволяет определить варианты использования системы?