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

Введение в метод и модель вариантов использования приведено в статье «Варианты использования (статья не восстановлена после взлома блога)» цикла «Методы сбора требований«.

Построение модели вариантов использования – итеративный процесс определения границ системы и актеров, выявления вариантов использования и объектов системы, детализации вариантов использования.

Границу системы называют также контекстом системы (subject) – определяется тем, кто/что использует систему (актёры) и какие преимущества система им предлагает (варианты использования). Актёры располагаются вне контекста, а варианты использования – внутри контекста системы.

Шаги построения модели ВИ (рассмотрены подроно ниже по тексту):

  • Определение границ (контекста) системы и выявление актёров;
  • Выявление вариантов использования;
  • Уточнение/детализация описаний вариантов использования;
  • Повторение шагов 1-3 до стабилизации границ системы, актёров и ВИ.

Критерии корректности модели ВИ:

  • Модель ВИ понятна?
  • Изучив модель ВИ, удалось ли сформировать понимание функций системы и связи между ними?
  • Отражены все функциональные требования?
  • Содержит ли модель ВИ описание избыточного поведения?
  • Приемлемо ли существующее деление модели на пакеты ВИ?

1. Определение границ системы: выявление актёров и их задач

Следует определить границу между системой и внешним миром – определить, что является частью системы и что находится вне границ системы. Взаимодействие с внешним миром осуществляется посредством интерфейсов.

При определении границ и актеров системы создается артефакт – «диаграмма ВИ».

Важно различать роль и сущность – одна и та же сущность может играть несколько ролей по отношению к системе. Актёры представляют роли, используемые людьми/сущностями, а не конкретных людей/сущности.

При выявлении актёров важно помнить:

  • Актер всегда внешний по отношению к системе;
  • Актер представляет роли людей/сущностей, а не их самих;
  • У каждого актера может быть множество ролей;
  • У каждого актера должно быть короткое осмысленное понятное имя.

Типы актёров:

  • Пользователи;
  • Другие системы;
  • Приборы.

Для выявления актёров следует получить ответы на следующие вопросы:

  • Какова Ваша задача в контексте использования системы?
  • Какая задача более высокого уровня приводит к необходимости выполнения этой задачи?
  • Какова более глобальная задача?
  • Каковы цели этих задач?

Вопросы, которые помогут не упустить важные моменты:

  • Кто/что использует систему?
  • Какие роли они играют во взаимодействии?
  • Кто/что запускает/выключает систему?
  • Кто/что будет поставлять, использовать, удалять информацию системы?
  • Какие внешние системы будут взаимодействовать с системой?
  • Где будет использоваться система?
  • Откуда система получает информацию?
  • Кто будет управлять системой?
  • Кто будет устанавливать/сопровождать систему?
  • Кто будет управлять пользователями и безопасностью?
  • Кто является администратором системы?
  • Кто контролирует деятельность и производительность системы?
  • Как выполняется обновление ПО?
  • Кто анализирует журналы регистрации? Можно ли обеспечить удаленный доступ к ним?
  • Происходит ли что-нибудь в точно установленное время («время» как исполнитель)?
  • Существует ли процесс мониторинга, благодаря которому система перезапускается в случае сбоя?

Список выявленных актёров оформляется в виде следующей таблицы:

Наименование Описание Задачи («варианты использования»)
[Наименование актёра] [Краткое описание актёра в 1-2 строки] [Задачи актёра, которые предполагается решать с помощью создаваемой системы]

Впоследствии последний столбец можно переименовать в «Варианты использования». Большинство инструментальных средств, поддерживающих  UML, позволяет выгрузить в Word таблицу актёров и выполняемых ими ВИ.

Критерии корректности списка актёров:

  • Были вывялены все актёры?
  • Каждый актёр вовлечен хотя бы в 1 ВИ?
  • Каждый актёр действительно представляет собой роль? Нужно ли объединить или разделить какие-то роли?
  • Играют ли 2 каких-либо актёра одну и ту же роль по отношению к ВИ?
  • У всех актёров интуитивно-понятные и осмысленные имена? Заказчик и пользователи одинаково понимают их суть по именам?

2. Выявление вариантов использования

Обычно каждой задаче актёра/пользователя соответствует один ВИ уровня элементарного бизнес-процесса. Исключение – ВИ пяти задач «Управление чем-либо» (создание, просмотр, изменение, удаление, восстановление).

Выявление ВИ – итеративный процесс поэтапного уточнения.

Для выявления ВИ и объектов системы следует получить ответы на следующие вопросы:

  • Какие функциональные возможности понадобятся конкретному актеру от системы?
  • Система сохраняет/извлекает информацию? Если да, то какой актер инициирует это действие? (аналогично для других функций системы);
  • Что происходит, когда система изменяет состояние? Какой актер получает об этом уведомление?
  • Какие внешние события оказывают влияние на систему? Как система узнает об этих событиях?
  • С какими внешними системами взаимодействует система?
  • Какие отчеты генерирует система? Кто инициирует генерацию отчетов?

Список выявленных вариантов использования оформляется в виде следующей таблицы:

Наименование Описание Актёры
[Наименование ВИ] [Краткое описание ВИ] [Актёры, участвующие в ВИ]

Критерии корректности перечня вариантов использования:

  • Каждый ВИ используется хотя бы 1 актёром?
  • Имеются ли ВИ со схожим поведением/потоками?
  • У всех ВИ интуитивно-понятные смысловые имена? Наименования настолько понятны настолько, что не смогут быть спутанными на более поздней стадии?
  • Все ли классы модели предметной области вовлечены хотя бы в 1 вариант использования? Если нет, то, возможно, следует дополнить перечень ВИ?
  • Заказчики и пользователи одинаково понимают наименования и описания ВИ?

3. Уточнение/детализация описаний ВИ

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

  • уточнение деталей функционального поведения системы – именно утончение последовательности действий, а не разбиение действий на более мелкие;
  • фиксация поведения в виде текстовых/графических описаний ВИ с позиции пользователя;
  • определение (идейно) экранов взаимодействия пользователь-система при необходимости.

Критерии корректности описаний ВИ:

  • Ясно ли, кто инициирует исполнение ВИ?
  • Ясна ли цель ВИ?
  • Даёт ли краткое описание ВИ ясное понимание назначения ВИ?
  • Ясно ли, как и когда поток ВИ начинается и заканчивается?
  • Последовательность взаимодействий между актёром и ВИ удовлетворяет ожиданиям пользователей?
  • Ясны ли действия актёра, формат его взаимодействия и обмениваемая информация?
  • Не слишком сложны ли некоторые ВИ?

Структура описания вариантов использования приведена в одноименной статье.

Оставить ответ