Перейти к содержимому
Read this post in: de_DEen_USes_ESfr_FRid_IDjapl_PLpt_PTru_RUvizh_CNzh_TW
Home » UML » Полное руководство по моделированию вариантов использования

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

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

Это техника, используемая в разработке программного обеспечения и системной инженерии для описания функциональных требований системы. Она направлена на понимание и документирование того, как система должна работать с точки зрения конечных пользователей. По сути, она помогает ответить на вопрос: «Что должна делать система, чтобы удовлетворить потребности и цели своих пользователей?»

What is Use Case Diagram?

Ключевые концепции моделирования вариантов использования

Функциональные требования: Функциональные требования — это функции, действия и поведение, которые система должна иметь, чтобы выполнить свою целевую функцию. Моделирование вариантов использования в первую очередь направлено на определение и фиксацию этих требований в структурированной форме.

Точка зрения конечного пользователя: Моделирование вариантов использования начинается с рассмотрения системы с точки зрения людей или сущностей (называемых «актерами»), которые будут взаимодействовать с системой. Крайне важно понимать, как эти актеры будут использовать систему для достижения своих целей или выполнения своих задач.

Взаимодействия: Моделирование вариантов использования акцентирует внимание на фиксации взаимодействий между этими конечными пользователями (актерами) и системой. Речь идет не только о том, что делает система в изоляции, а о том, как она реагирует на действия или запросы пользователей.

Основы вариантов использования:

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

Что такое диаграмма вариантов использования?

Диаграмма вариантов использования — это графическое представление, используемое в моделировании вариантов использования для визуализации и передачи этих взаимодействий и отношений. На диаграмме вариантов использования актеры обычно изображаются в виде человечков, а варианты использования (конкретные функциональные возможности или особенности) — в виде овалов или прямоугольников. Линии и стрелки соединяют актеров с вариантами использования, показывая, как они взаимодействуют.

 

    • Актеры: Это сущности или пользователи за пределами системы, которые взаимодействуют с ней. Это могут быть люди, другие системы или даже внешние аппаратные устройства. Каждый актер имеет определенные роли или обязанности в системе.
    • Варианты использования: Варианты использования представляют собой конкретные функциональные возможности или процессы, которые система может выполнять для удовлетворения потребностей актеров. Каждый вариант использования обычно имеет название и описание, что помогает понять, что он выполняет.
    • Отношения: Линии и стрелки, соединяющие актеров и варианты использования на диаграмме, показывают, как актеры взаимодействуют с системой через эти варианты использования. Для описания характера этих взаимодействий можно использовать различные типы отношений, такие как ассоциации, отношения расширения и отношения включения.

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

  1. Чтобы понять вариант использования, необходимо определить актеров и варианты использования, участвующие в системе.
    Актер — это внешняя сущность, которая играет роль в взаимодействии с системой. Актером может быть человек, другая система или событие во времени.
  2. Вариант использования — это набор сценариев, описывающих, как система и актер сотрудничают для достижения общей цели1. Сценарий — это последовательность шагов, описывающих, что происходит в конкретной ситуации1.
    Актеры в моделировании вариантов использования:
  3. Актеры изображаются в виде человечков на диаграмме вариантов использования.
    Актеры могут иметь отношения обобщения, которые указывают на то, что один актер наследует характеристики и поведение другого актера. Например, актер «Студент» может быть обобщением актеров «Бакалавр» и «Магистрант».
  4. Актеры также могут иметь отношения ассоциации, которые указывают на участие актера в варианте использования. Например, актер «Преподаватель» может быть связан с вариантом использования «Выставление оценок».

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

Use Case Diagram - Website _ Structuring use cases with extend and ...

  • Варианты использования могут иметьвключатьсвязи, которые указывают, что один вариант использования включает поведение другого варианта использования как часть своей нормальной работы. Например, вариант использования входа в систему может быть включен многими другими вариантами использования, которые требуют аутентификации.
    • Связь включения — это зависимость между двумя вариантами использования, при которой один вариант использования (базовый) включает поведение другого варианта использования (включаемого) как часть своей нормальной работы.
    • Связь включения изображается пунктирной стрелкой со стереотипом «включить» от базового варианта использования к включаемому.
    • Связь включения может использоваться для повторного использования общей функциональности, упрощения сложных вариантов использования или абстрагирования деталей низкого уровня
  • Варианты использования также могут иметьрасширятьсвязи, которые указывают, что один вариант использования добавляет опциональное или исключительное поведение к другому варианту использования при определенных условиях. Например, вариант использования отмены бронирования может расширять вариант использования бронирования, если пользователь решит отменить свою бронь.
    • Связь расширения — это зависимость между двумя вариантами использования, при которой один вариант использования (расширение) добавляет некоторое опциональное или исключительное поведение к другому варианту использования (базовому) при определенных условиях.
    • Связь расширения изображается пунктирной стрелкой со стереотипом «расширить» от расширения к базовому варианту использования.
    • Связь расширения может иметь точку расширения, которая представляет собой место в базовом варианте использования, куда может быть вставлено расширение.
    • Точка расширения может быть помечена именем и условием

Создание эффективных вариантов использования:

  • Определение границ системы:
    • Граница системы — это прямоугольник, охватывающий варианты использования и показывающий границы системы.
    • Граница системы помогает различать, что находится внутри системы (варианты использования), и что находится вне системы (актеры).
    • Граница системы должна быть четко обозначена названием системы и ее версией1.
  • Определение целей и сценариев вариантов использования:
    • Цель варианта использования — это утверждение, которое кратко описывает, что достигается вариантом использования для актера.
    • Цель варианта использования должна быть конкретной, измеримой, достижимой, релевантной и проверяемой.
    • Сценарий варианта использования — это последовательность шагов, описывающих, как актер и система взаимодействуют для достижения цели.
    • Сценарий варианта использования должен быть полным, последовательным, реалистичным и отслеживаемым.
  • Написание четких и кратких описаний вариантов использования:
    • Описание варианта использования — это текстовый документ, содержащий дополнительные сведения о варианте использования, такие как предусловия, постусловия, основной поток, альтернативные потоки и исключения.
    • Описание варианта использования должно быть ясным и кратким, использовать простой и точный язык, избегать жаргона и неоднозначности, а также соблюдать единый формат.
    • Описание варианта использования также должно быть логичным и всесторонним, охватывая все возможные сценарии, результаты и вариации, а также отвечая на все соответствующие требования.
  • Шаблоны случаев использования и документация:
    • Шаблон случая использования — это стандартизированный формат, который помогает организовать и представить информацию о случае использования в последовательной и структурированной форме.
    • Шаблон случая использования может включать различные разделы, такие как имя случая использования, идентификатор, цель, участники, приоритет, предположения, предусловия, постусловия, основной поток, альтернативные потоки, исключения и т.д.
    • Документация по случаям использования — это совокупность случаев использования, описывающих функциональность системы с разных точек зрения.
    • Документация по случаям использования может использоваться для различных целей, таких как коммуникация, проверка, верификация, тестирование, сопровождение и т.д.

Лучшие практики моделирования случаев использования:

  • Некоторые лучшие практики моделирования случаев использования:
    • Определите ключевых заинтересованных сторон и их цели, и вовлеките их в процесс разработки случаев использования
    • Используйте подход сверху вниз подход для выявления и приоритизации наиболее важных случаев использования
    • Используйте конвенцию именования которая является последовательной, значимой и описательной для случаев использования и участников
    • Используйте диаграммы и текстовые описания для взаимного дополнения и предоставления различных уровней детализации
    • Используйте связи такие как расширение, включение и обобщение, чтобы показать зависимости и общие черты между случаями использования
    • Проверьте и подтвердите случаи использования с заинтересованными сторонами и убедитесь, что они соответствуют требованиям системы

Моделирование случаев использования с использованием шаблона случаев использования

Описание проблемы: система университетской библиотеки

Система университетской библиотеки сталкивается с рядом операционных проблем, которые влияют на ее эффективность и качество обслуживания, предоставляемого студентам, преподавателям и персоналу. Эти проблемы включают:

  1. Ручные процессы выдачи и возврата книг: Библиотека полагается на бумажные процессы для выдачи книг, их возврата и отслеживания дат возврата. Этот ручной подход подвержен ошибкам, что приводит к расхождениям в ведении учета и периодическим спорам между персоналом библиотеки и пользователями.
  2. Управление инвентарем: Текущая система управления обширной коллекцией книг и материалов устарела. Отсутствие эффективной системы управления инвентарем затрудняет поиск конкретных предметов, что вызывает раздражение у посетителей библиотеки и необоснованные задержки.
  3. Отслеживание пени за просроченные книги: Отслеживание и сбор пеней за просроченные книги — сложные задачи. Персонал библиотеки не имеет автоматизированной системы для контроля дат возврата и точного начисления штрафов. Это приводит к потере доходов и неудобствам для пользователей.
  4. Управление учетными записями пользователей: Учетные записи пользователей, включая выдачу и управление библиотечными картами, основаны на ручных процессах. Это приводит к задержкам в предоставлении доступа к библиотечным ресурсам для новых студентов и сложностям в обновлении информации о пользователях для действующих членов.
  5. Ограниченная доступность: Текущая система библиотеки не предоставляет онлайн-доступ для пользователей, чтобы искать книги, делать резервации или продлевать сроки пользования выданными книгами удаленно. Это ограничение мешает удобству и доступности, которые ожидают современные студенты и преподаватели.
  6. Неэффективное распределение ресурсов: Персонал библиотеки часто сталкивается с трудностями при оптимизации распределения ресурсов, таких как книги, журналы и учебные места. Отсутствие данных в реальном времени и аналитики затрудняет принятие обоснованных решений о распределении ресурсов.
  7. Пробелы в коммуникации: Между персоналом библиотеки и пользователями существует разрыв в коммуникации. Пользователи часто не осведомлены о правилах библиотеки, новых поступлениях или изменениях в режиме работы, что приводит к недопониманию и раздражению.
  8. Проблемы безопасности: Система библиотеки не имеет достаточных мер безопасности для защиты персональных данных пользователей и предотвращения кражи или несанкционированного доступа к библиотечным ресурсам.

Эти проблемы в совокупности приводят к неоптимальному опыту использования библиотеки как для персонала библиотеки, так и для пользователей. Устранение этих проблем и модернизация системы университетской библиотеки является необходимым условием для предоставления эффективных услуг, повышения удовлетворенности пользователей и улучшения общего академического опыта в академическом сообществе.

Вот список кандидатов на использование системы университетской библиотеки на основе описанной проблемы:

  1. Регистрация пользователей и управление учетными записями:
    • Создание учетной записи пользователя
    • Обновление информации о пользователе
    • Удаление учетной записи пользователя
    • Выдача библиотечных карт
  2. Управление книгами:
    • Добавление новых книг в инвентарь
    • Обновление информации о книге
    • Удаление книг из инвентаря
    • Поиск книг
    • Проверка наличия книги
    • Бронирование книг
    • Продление выданных книг
    • Обработка возврата книг
  3. Управление инвентарем:
    • Каталогизация и классификация книг
    • Управление экземплярами книг
    • Отслеживание местоположения книги
    • Сверка инвентаря
  4. Управление пени за просрочку:
    • Расчет пени за просрочку
    • Уведомление пользователей о просроченных книгах
    • Принятие оплаты пени за просрочку
  5. Онлайн-доступ и поиск:
    • Поиск книг в интернете
    • Постановка книг на хранение
    • Запрос доставки книги
    • Продление книг онлайн
  6. Распределение ресурсов и бронирование:
    • Бронирование учебных мест
    • Выделение учебных материалов (например, книги для бронирования)
    • Управление бронированием учебных мест
  7. Связь:
    • Уведомление пользователей о правилах библиотеки
    • Объявить о поступлении новых поступлений
    • Предоставить информацию о режиме работы
  8. Безопасность:
    • Аутентификация и авторизация пользователей
    • Безопасность данных и конфиденциальность
  9. Отчетность и аналитика:
    • Генерировать отчеты об использовании
    • Анализировать тенденции поиска
    • Предсказывать спрос на конкретные материалы
  10. Услуги межбиблиотечного абонемента:
    • Запрашивать материалы из других библиотек
    • Управлять запросами на межбиблиотечный абонемент
  11. Управление библиотечным персоналом:
    • Аутентификация и авторизация персонала
    • Обучение и адаптация
    • График работы персонала
  12. Услуги доступности:
    • Предоставлять услуги пользователям с особыми потребностями (например, материалы в шрифте Брайля)
    • Поддержка вспомогательных технологий
  13. Бронирование ресурсов и выдача:
    • Бронировать аудио- и видеооборудование
    • Выдавать оборудование
  14. Рекомендации по библиотечным ресурсам:
    • Предложить книги и ресурсы на основе предпочтений пользователя
  15. Работа с библиотекой и семинары:
    • Организация и продвижение библиотечных семинаров и мероприятий

Эти кандидатные случаи использования охватывают широкий спектр функций, которые решают проблемы, выявленные в описании проблемы. Они служат основой для дальнейшего анализа, проектирования и разработки системы университетской библиотеки с целью повышения ее эффективности и удовлетворенности пользователей. Конкретные случаи использования, которые необходимо приоритизировать и реализовать, будут зависеть от требований системы и потребностей заинтересованных сторон.

Шаблон случая использования:

Вот шаблон случая использования и пример взятия книги из университетской библиотеки в табличной форме:

Название случая использования Взять книгу
Идентификатор случая использования UC001
Основной актер Студент
Второстепенные актеры Библиотекарь, система учета книг
Предусловия – У студента есть действующая библиотечная карта.
– Книга доступна в библиотечном фонде.
Постусловия – Книга помечена как выданная в системе.
– У студента есть книга в наличии.
Основной поток 1. Описание: Студент хочет взять
книгу из университетской библиотеки.
2. Действия актера:
– Студент представляет свою библиотечную карту
библиотекарю.
– Библиотекарь сканирует библиотечную карточку, чтобы
проверить ее действительность.
– Студент предоставляет название или ISBN книги,
которую он хочет взять напрокат.
– Библиотекарь ищет книгу в библиотечном каталоге
для этой книги.
– Библиотекарь подтверждает наличие книги.
– Библиотекарь выдает книгу студенту
студенту.
– Студент берет книгу и уходит из
библиотеки.
3. Действия системы:
– Система проверяет действительность библиотечной карточки.
– Система обновляет статус книги на
«выдана».
– Система фиксирует дату возврата книги
по выдаче.
– Система выдает квитанцию за
операцию.
4. Альтернативные сценарии:
– Если библиотечная карточка студента недействительна, библиотекарь информирует студента, и сценарий завершается.
библиотекарь информирует студента, и сценарий завершается.
сценарий завершается.
– Если запрашиваемая книга недоступна, библиотекарь информирует студента, и сценарий завершается.
библиотекарь информирует студента, и сценарий завершается.
сценарий завершается.
Расширения – Если у студента есть просроченные книги, появляется уведомление
отправляется студенту.
– Если студент хочет продлить книгу, он может
запросить продление через веб-сайт библиотеки.
Специальные требования – Система должна иметь защищенную базу данных
владельцев библиотечных карт.
– Сроки возврата и пени за просрочку должны рассчитываться и
внедряться системой.

Пример использования: получение книги из университетской библиотеки

Название использования Взять книгу
Идентификатор использования UC001
Основной участник Студент
Второстепенные участники Библиотекарь, система учета книг
Предварительные условия – У студента есть действующая библиотечная карта.
– Книга доступна в библиотечном фонде.
Постусловия – Книга помечена как выданная в системе.
– У студента есть книга в наличии.
Основной поток 1. Описание: Студент хочет взять в аренду
книгу из университетской библиотеки.
2. Действия участника:
– Студент показывает свою библиотечную карточку
библиотекарю.
– Библиотекарь сканирует библиотечную карточку, чтобы
проверить ее действительность.
– Студент предоставляет название или ISBN книги,
которую он хочет взять напрокат.
– Библиотекарь ищет книгу в каталоге библиотеки
для этой книги.
– Библиотекарь подтверждает наличие книги.
– Библиотекарь выдает книгу студенту
студенту.
– Студент берет книгу и уходит из
библиотеки.
3. Действия системы:
– Система проверяет действительность библиотечной карточки.
– Система обновляет статус книги на
«выдана».
– Система фиксирует дату возврата книги
по займу.
– Система выдает квитанцию за
операцию.
4. Альтернативные сценарии:
– Если библиотечная карточка студента недействительна, библиотекарь информирует студента, и сценарий завершается.
библиотекарь информирует студента, и сценарий завершается.
сценарий завершается.
– Если запрашиваемая книга недоступна, библиотекарь информирует студента, и сценарий завершается.
библиотекарь информирует студента, и сценарий завершается.
сценарий завершается.
Расширения – Если у студента есть просроченные книги, отправляется уведомление
студенту.
– Если студент хочет продлить книгу, он может
запросить продление через веб-сайт библиотеки.
Специальные требования – Система должна иметь защищенную базу данных
владельцев библиотечных карт.
– Сроки возврата и пени за просрочку должны рассчитываться и
внедряться системой.

Приведенные выше таблицы представляют шаблон и пример использования в структурированной и организованной форме, что облегчает чтение и понимание ключевых элементов использования.

Гранулярность использования

Определение гранулярности использования: Гранулярность использования относится к степени детализации и структурированности в спецификациях использования. По сути, она описывает, насколько тонко вы разбиваете функциональность системы при документировании использования. Проще говоря, речь идет о том, насколько сильно или слабо вы разбиваете использование на более мелкие части или шаги.

Значение гранулярности использования:

  1. Улучшение коммуникации: Гранулярность использования играет ключевую роль в улучшении коммуникации между различными заинтересованными сторонами, участвующими в проекте программного обеспечения, такими как бизнес-аналитики, разработчики, тестировщики и конечные пользователи. Когда использование четко определено и соответствующим образом гранулировано, все могут лучше понять функциональность и требования системы.
  2. Планирование проекта: Уровень гранулярности использования влияет на планирование проекта. Меньшие, более детализированные случаи использования облегчают оценку времени и усилий, необходимых для выполнения задач разработки. Это помогает менеджерам проектов создавать более точные графики проектов и распределение ресурсов.
  3. Ясность и точность: Достижение правильного уровня гранулярности гарантирует, что случаи использования ясны и точны. Если случаи использования слишком высокого уровня и абстрактны, они могут не содержать необходимых деталей для эффективной разработки. Напротив, чрезмерно детализированные случаи использования могут стать неподвластными контролю и трудными в управлении.

Пример: Давайте проиллюстрируем гранулярность использования на примере функциональности «Регистрация пользователя» в приложении электронной коммерции:

  • Высокая гранулярность: Единственный случай использования под названием «Регистрация пользователя» охватывает весь процесс регистрации с начала до конца. Он включает каждый шаг, например, ввод личной информации, создание пароля, подтверждение пароля и отправку формы регистрации.
  • Средняя гранулярность: Случаи использования делятся на более мелкие и более узконаправленные части. Например, «Ввести личную информацию», «Создать пароль» и «Отправить регистрацию» могут быть отдельными случаями использования. Каждый из них фокусируется на конкретном аспекте регистрации пользователя.
  • Низкая гранулярность: Наименьший уровень гранулярности может включать разбиение действий внутри одного шага. Например, «Ввести личную информацию» может быть дополнительно разбито на «Ввести имя», «Ввести фамилию», «Ввести адрес электронной почты» и так далее.

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

В своей книге «Письмо эффективных сценариев использования» Аластер Кокберн предлагает простую аналогию, чтобы помочь нам визуализировать различные уровни достижения целей. Он предлагает рассматривать эти уровни с помощью аналогии моря

Different levels of details of use case

Ссылки:

  1. Что такое диаграмма сценариев использования? (visual-paradigm.com)
  2. Что такое спецификация сценария использования?

 

Добавить комментарий