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

Ключевые концепции моделирования вариантов использования
Функциональные требования: Функциональные требования — это функции, действия и поведение, которые система должна иметь, чтобы выполнить свою целевую функцию. Моделирование вариантов использования в первую очередь направлено на определение и фиксацию этих требований в структурированной форме.
Точка зрения конечного пользователя: Моделирование вариантов использования начинается с рассмотрения системы с точки зрения людей или сущностей (называемых «актерами»), которые будут взаимодействовать с системой. Крайне важно понимать, как эти актеры будут использовать систему для достижения своих целей или выполнения своих задач.
Взаимодействия: Моделирование вариантов использования акцентирует внимание на фиксации взаимодействий между этими конечными пользователями (актерами) и системой. Речь идет не только о том, что делает система в изоляции, а о том, как она реагирует на действия или запросы пользователей.
Основы вариантов использования:
- Вариант использования — это описание того, как система взаимодействует с одним или несколькими внешними сущностями, называемыми актерами, для достижения конкретной цели.
- Вариант использования может быть записан в текстовой или диаграммной форме в зависимости от уровня детализации и сложности, необходимых для задачи.
- Вариант использования должен фиксировать существенные и релевантные аспекты взаимодействия, такие как предусловия, постусловия, основной поток, альтернативные потоки и исключения.
Что такое диаграмма вариантов использования?
Диаграмма вариантов использования — это графическое представление, используемое в моделировании вариантов использования для визуализации и передачи этих взаимодействий и отношений. На диаграмме вариантов использования актеры обычно изображаются в виде человечков, а варианты использования (конкретные функциональные возможности или особенности) — в виде овалов или прямоугольников. Линии и стрелки соединяют актеров с вариантами использования, показывая, как они взаимодействуют.
-
- Актеры: Это сущности или пользователи за пределами системы, которые взаимодействуют с ней. Это могут быть люди, другие системы или даже внешние аппаратные устройства. Каждый актер имеет определенные роли или обязанности в системе.
- Варианты использования: Варианты использования представляют собой конкретные функциональные возможности или процессы, которые система может выполнять для удовлетворения потребностей актеров. Каждый вариант использования обычно имеет название и описание, что помогает понять, что он выполняет.
- Отношения: Линии и стрелки, соединяющие актеров и варианты использования на диаграмме, показывают, как актеры взаимодействуют с системой через эти варианты использования. Для описания характера этих взаимодействий можно использовать различные типы отношений, такие как ассоциации, отношения расширения и отношения включения.
Как проводить моделирование вариантов использования?
- Чтобы понять вариант использования, необходимо определить актеров и варианты использования, участвующие в системе.
Актер — это внешняя сущность, которая играет роль в взаимодействии с системой. Актером может быть человек, другая система или событие во времени. - Вариант использования — это набор сценариев, описывающих, как система и актер сотрудничают для достижения общей цели1. Сценарий — это последовательность шагов, описывающих, что происходит в конкретной ситуации1.
Актеры в моделировании вариантов использования: - Актеры изображаются в виде человечков на диаграмме вариантов использования.
Актеры могут иметь отношения обобщения, которые указывают на то, что один актер наследует характеристики и поведение другого актера. Например, актер «Студент» может быть обобщением актеров «Бакалавр» и «Магистрант». - Актеры также могут иметь отношения ассоциации, которые указывают на участие актера в варианте использования. Например, актер «Преподаватель» может быть связан с вариантом использования «Выставление оценок».
Связи между актерами и вариантами использования:

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

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











