Определение прецедентов использования
Для описания функциональных требований к системе используется моделирование прецедентов. Разработку спецификаций программной системы начинают с анализа требований к функциональности, указанных в техническом задании. В процессе анализа выявляют внешних пользователей разрабатываемой программной системы и перечень отдельных аспектов ее поведения в процессе взаимодействия с конкретными пользователями (отдельные физические лица, взаимодействующие системы, источники и потребители информации различной физической природы). Функциональные требования к системе документируются во время разработки с помощью модели прецедентов использования, которая иллюстрирует планируемые функции системы (прецеденты использования), их окружение (актеров) и связи между ними [14].
Прецеденты - это подробные процедурные описания вариантов использования системы всеми заинтересованными лицами, а также внешними системами, т.е. всеми, кто (или что) может рассматриваться как актеры (асФгБ), иначе - действующие лица. По сути, прецеденты - это своего рода алгоритмы работы с системой с точки зрения внешнего мира. Прецеденты являются основой функциональных требований к системе. Они позволяют описывать границы проектируемой системы, ее интерфейс, а затем выступают в качестве основы для тестирования системы заказчиком с помощью приемочных тестов.
Актеры не являются частью системы, они представляют любые объекты, взаимодействующие с системой (пользователи, датчики, другие системы и др.). Актер может:
- • только вводить информацию в систему;
- • только получать информацию от системы;
- • вводить и получать информацию от системы.
Актеры выявляются на основании изучения предметной области, для которой предназначена разрабатываемая система, а также по результатам общения с заказчиком системы и экспертами. Для определения актеров в системе можно использовать следующие вопросы.
- • Кто заинтересован в данных требованиях?
- • Где будет применяться данная система?
- • Кто выигрывает от использования системы?
- • Кто обеспечивает систему информацией и применяет эту информацию, а также удаляет ее?
- • Кто занимается поддержкой системы?
- • Использует ли система внешние ресурсы?
- • Выполняет ли один человек несколько ролей?
- • Выполняют ли несколько человек одну и ту же роль?
- • Взаимодействует ли система с уже действующими системами?
Модель прецедентов использования - это диалог между актерами
и системой. Прецеденты использования представляют функциональность системы, т.е. то, какие возможности система предоставляет актерам. Набор прецедентов использования системы охватывает все способы ее применения.
Прецедент использования - это последовательность выполняемых системой транзакций, приводящих к измеримому результату, важному для конкретного актера.
Для определения прецедентов использования в системе можно использовать следующие вопросы.
- • Какую задачу выполняет каждый актер?
- • Будет ли актер создавать, сохранять, изменять, удалять или считывать информацию из системы?
- • В каком из прецедентов использования будет создаваться, сохраняться, изменяться, удаляться или считываться эта информация?
- • Потребуется ли актеру уведомлять систему о внезапных внешних изменениях?
- • Необходимо ли оповещать актеров о наступлении каких-либо событий в системе?
- • Какой прецедент использования будет поддерживать систему?
- • Могут ли все функциональные требования быть выполнены с помощью прецедентов использования?
В зависимости от цели выполнения конкретной задачи различают следующие варианты диаграмм использования:
- • основные, обеспечивающие выполнение функций проектируемой системы;
- • вспомогательные, обеспечивающие выполнение настроек системы и ее обслуживание;
- • дополнительные, служащие для удобства пользователя (реализуются в том случае, если не требуют серьезных затрат каких-либо ресурсов ни при разработке, ни при эксплуатации).
В качестве примера рассмотрим построение диаграмм вариантов использования для проведения анализа функциональных требований и пользователей системы тестирования, которая является модулем обучающей системы. Система тестирования прежде всего требуется следующим заинтересованным лицам:
- • обучаемому (студенту);
- • составителю тестов (преподавателю);
- • преподавателю, принимающему экзамен;
- • сотруднику деканата, осуществляющему контроль за успеваемостью;
- • администратору сети и баз данных учебного заведения.
На начальном этапе создания системы можно ограничиться только двумя важными для разработчика системы ролями действующих лиц:
- • роль студента (тестируемого);
- • роль администратора (он же преподаватель, он же составитель тестов).
Соответственно основные прецеденты (варианты использования) для системы тестирования следующие.
Прецедент для студента:
• П1 - пройти тестирование.
Прецеденты для администратора:
- • П2 - создать (изменить) тест;
- • ПЗ - просмотреть результаты тестирования;
- • П4 - добавить (изменить) пользователей и др.
Каждый вариант использования можно описать кратко или подробно. Краткая форма содержит название, действующие лица, тип варианта (основной, вспомогательный, дополнительный) и его краткое описание. Для примера составим краткое описание варианта использования для прецедента П1 в форме следующей таблицы (табл. 5.1).
Таблица 5.1. Вариант использования для прецедента П1
Название варианта |
Прохождение теста |
Цель |
Получение оценки |
Действующие лица (актеры) |
Студент |
Краткое описание |
Регистрация студента, запуск теста, выбор ответа из нескольких предложенных или ввод ответа, завершение теста, получение оценки |
Подробное описание варианта использования для прецедента П1 может быть выглядеть следующим образом (табл. 5.2).
Таблица 5.2. Вариант использования Прохождение теста
Действия исполнителя |
Отклик системы |
1. Студент вводит свои данные (ФИО, группа), т.е. регистрируется в системе |
2. Система создает на диске файл с результатом тестирования и предлагает выбрать тест |
3. Студент выбирает тест |
4. Система запускает тест |
5. Студент последовательно отвечает на вопросы |
6. Система регистрирует правильные и неправильные ответы |
7. Студент завершает тестирование |
8. Система подсчитывает процент правильных ответов |
9. Студент ожидает результата |
10. Система демонстрирует результат и предлагает его сохранить |
11. Студент решает, сохранить результат или нет |
12. Если выбрано сохранение, система запи-сывает результат в файл |
13. Студент завершает работу |
14. Система завершает работу |
Для большей наглядности используют диаграммы вариантов использования. При этом используются обозначения, которые приведены на рис. 5.22. ((а) - актер, б) - вариант использования, в) - связь).



Рис. 5.22. Диаграмма варианта использования
Для приведенного описания прецедентов диаграмма может выглядеть так, как показано на рис. 5.23.
Естественно, все варианты использования сразу определить, как правило, не удается: новые варианты постоянно фиксируются по ходу разработки системы и даже в процессе эксплуатации. Но чем больше вариантов выявлено в процессе уточнения спецификаций, тем лучше, так как при этом получают более точную модель предметной области, что уменьшает вероятность ее пересмотра при добавлении функций.
Концептуальная модель (англ. - Conceptual model) - это определенное множество понятий и связей между ними, являющихся структурой рассматриваемой области. На диаграммы такой модели будут смотреть, их будут обдумывать, но с самой моделью ничего делать не будут. Это не означает, что модель не нужна, это означает, что модель используется только для управления мыслительным процессом, для понимания. Поэтому такие модели называются концептуальными [15].

Рис. 5.23. Диаграмма использования для прецедента П1