Определение прецедентов использования

Для описания функциональных требований к системе используется моделирование прецедентов. Разработку спецификаций программной системы начинают с анализа требований к функциональности, указанных в техническом задании. В процессе анализа выявляют внешних пользователей разрабатываемой программной системы и перечень отдельных аспектов ее поведения в процессе взаимодействия с конкретными пользователями (отдельные физические лица, взаимодействующие системы, источники и потребители информации различной физической природы). Функциональные требования к системе документируются во время разработки с помощью модели прецедентов использования, которая иллюстрирует планируемые функции системы (прецеденты использования), их окружение (актеров) и связи между ними [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].

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

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

 
< Пред   СОДЕРЖАНИЕ     След >