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

Пояснение:
- Актеры:
Администратор(адм)Ресепшн(рек)
- Варианты использования:
Обслуживание списка велосипедов(ВИ1)Обслуживание списка клиентов(ВИ2)Обработка запросов(ВИ3)Выдать велосипед(ВИ4)Обработка возврата велосипеда(ВИ5)Найти велосипед(ВИ6)Распечатать чек(ВИ7)
- Связи:
- В
Ресепшнучаствует вОбработка запросов,Выдача велосипеда, иОбработка возврата велосипеда. - Система
Администраторучаствует вОбновление списка велосипедовиОбновление списка клиентов. - Система
Выдача велосипедаслучаи использования включаютОбработка запросовслучаи использования. - Система
Обработка возврата велосипедаслучаи использования включаютПечать чекаслучаи использования. - Система
Выдача велосипедаслучаи использования расширяютОбновление списка клиентовслучаи использования. - Система
Поиск велосипедаиспользование случая включено вПоддерживать список велосипедов,Поддерживать список клиентов,Обрабатывать запросы, иВыдать велосипед.
- В
Описания случаев использования
Помимо диаграммы, важно документировать случаи использования с описаниями. Описание случая использования обычно включает:
- Название случая использования: Название случая использования.
- Актеры: Актеры, участвующие в случае использования.
- Цель: Цель или назначение случая использования.
- Обзор: Краткое описание того, что происходит в случае использования.
- Типичный ход событий: Пошаговое описание обычного хода событий.
- Альтернативные ходы: Описания любых альтернативных или исключительных ходов событий.
Пример: описание случая использования выдачи велосипеда
Случай использования: Выдать велосипед
Актеры: Регистратор
Цель: Выдать велосипед в аренду
Обзор: Когда клиент приходит в магазин, он выбирает велосипед для аренды. Официант ищет велосипед в системе и сообщает клиенту, сколько будет стоить аренда велосипеда на определенный период. Клиент платит, получает чек и уходит с велосипедом.
Типичный ход событий:
- Клиент выбирает велосипед.
- Официант вводит номер велосипеда.
- Система отображает сведения о велосипеде, включая дневную ставку аренды и залог.
- Клиент указывает продолжительность аренды.
- Официант вводит продолжительность аренды.
- Система отображает общую стоимость аренды.
- Клиент соглашается с ценой.
- Официант вводит данные клиента.
- Система отображает данные клиента.
- Клиент платит полную стоимость.
- Официант фиксирует сумму оплаты.
- Система печатает чек.
Альтернативные сценарии:
- Шаги 8 и 9: данные клиента уже есть в системе, поэтому официанту нужно только ввести идентификатор, и система покажет данные клиента.
- Шаги 7–12: клиент может не согласиться с ценой и прекратить сделку.
Сценарий использования «Выдать велосипед»: подробное объяснение
Сценарий использования «Выдать велосипед» в системе аренды велосипедов Wheels представляет процесс аренды велосипеда клиенту. Этот сценарий включает несколько взаимодействий между официантом и системой для достижения цели выдачи велосипеда. Ниже мы объясним последовательность событий в сценарии «Выдать велосипед» и как он связан со сценариями «включить» и «расширить».
Участники:
- Официант: Основной участник, который взаимодействует с системой для выдачи велосипеда.
Цель:
- Выдать велосипед клиенту.
Обзор:
Когда клиент приходит в магазин, он выбирает велосипед для аренды. Официант ищет велосипед в системе и сообщает клиенту, сколько будет стоить аренда велосипеда на определенный период. Клиент платит, получает чек и уходит с велосипедом.
Типичный ход событий:
- Клиент выбирает велосипед: Клиент выбирает велосипед из доступных вариантов.
- Регистратор вводит номер велосипеда: Регистратор вводит номер велосипеда в систему.
- Система отображает сведения о велосипеде: Система отображает сведения о велосипеде, включая дневную ставку аренды и залог.
- Клиент указывает срок аренды: Клиент указывает, на какой срок он хочет арендовать велосипед.
- Регистратор вводит срок аренды: Регистратор вводит срок аренды в систему.
- Система отображает общую стоимость аренды: Система рассчитывает и отображает общую стоимость аренды велосипеда.
- Клиент соглашается с ценой: Клиент подтверждает, что согласен с стоимостью аренды.
- Регистратор вводит данные клиента: Регистратор вводит данные клиента в систему.
- Система отображает данные клиента: Система отображает введённые данные клиента для проверки.
- Клиент платит общую стоимость: Клиент производит оплату.
- Регистратор фиксирует сумму оплаты: Регистратор фиксирует оплату в системе.
- Система печатает чек: Система генерирует и печатает чек для клиента.
Связи с другими вариантами использования:
- Включает связи:
- Обработка запросов: Вариант использования «Выдача велосипеда» включает вариант использования «Обработка запросов». Это означает, что каждый раз, когда выдается велосипед, система должна обрабатывать запросы о наличии велосипеда и его стоимости. Поток событий в варианте использования «Выдача велосипеда» всегда включает обработку запросов.
- Найти велосипед: Сценарий «Выдача велосипеда» включает сценарий «Поиск велосипеда». Это означает, что сотрудник кассы будет использовать систему для поиска сведений о велосипеде на основе введенного номера велосипеда. Это необходимый шаг при выдаче велосипеда.
- Отношения расширения:
- Поддержание списка клиентов: Сценарий «Выдача велосипеда» расширяет сценарий «Поддержание списка клиентов». Это означает, что в процессе выдачи велосипеда система может потребовать добавить нового клиента или обновить сведения о существующем клиенте. Это расширение условное и происходит только при необходимости.
Последовательность событий с использованием сценариев включения и расширения:
- Клиент выбирает велосипед: Клиент выбирает велосипед.
- Сотрудник кассы вводит номер велосипеда: Сотрудник кассы вводит номер велосипеда.
- Включение: Поиск велосипеда: Система находит сведения о велосипеде на основе введенного номера.
- Система отображает сведения о велосипеде: Система отображает сведения о велосипеде, включая дневную ставку аренды и залог.
- Включение: Обработка запросов: Система обрабатывает запросы о наличии велосипеда и его стоимости.
- Клиент указывает срок аренды: Клиент указывает срок аренды.
- Сотрудник кассы вводит срок аренды: Сотрудник кассы вводит срок аренды.
- Система отображает общую стоимость аренды: Система рассчитывает и отображает общую стоимость аренды.
- Клиент соглашается с ценой: Клиент подтверждает стоимость аренды.
- Сотрудник кассы вводит данные клиента: Сотрудник кассы вводит данные клиента.
- Расширение: Поддержание списка клиентов: Если клиент новый или требуется обновить его данные, система добавит или обновит информацию о клиенте.
- Система отображает данные клиента: Система отображает введенные данные клиента для проверки.
- Клиент оплачивает общую стоимость: Клиент производит оплату.
- Регистратор фиксирует сумму оплаченную: Регистратор фиксирует оплату.
- Система печатает чек: Система генерирует и печатает чек для клиента.
Сценарий «Выдача велосипеда» — это комплексный процесс, включающий несколько взаимодействий между регистратором и системой. Использование связей «включает» с сценариями «Поиск велосипеда» и «Обработка запросов» гарантирует, что необходимые шаги по поиску информации о велосипеде и обработке запросов всегда выполняются. Связь «расширяет» с сценарием «Обслуживание списка клиентов» позволяет условно добавлять или обновлять данные клиента, обеспечивая гибкость в процессе выдачи велосипедов. Понимание этих связей помогает создать надежную и ориентированную на пользователя систему, эффективно соответствующую функциональным требованиям системы проката велосипедов Wheels.
Заключение
Диаграммы вариантов использованияявляются важными инструментами в процессе разработки программного обеспечения, особенно в области объектно-ориентированной разработки. Они предоставляют четкое и краткое визуальное представление о том, как пользователи (актеры) взаимодействуют с системой для достижения конкретных целей (вариантов использования). Определяя актеров, варианты использования и их взаимосвязи, разработчики могут эффективно моделировать и передавать функциональные требования системы.
В контексте системы проката велосипедов Wheels мы продемонстрировали, как создаватьдиаграмм вариантов использованиякоторые отражают взаимодействие между различными актерами (регистратор и администратор) и функциональностью системы (например, поддержание списков велосипедов и клиентов, обработка запросов, выдача велосипедов и обработка возвратов велосипедов). Мы также показали, как интегрировать связи типа «включает» и «расширяет» для представления общих и дополнительных поведений соответственно.
Диаграммы вариантов использования вместе с их описаниями служат основой для дальнейших разработочных мероприятий, включая создание других моделей UML и последующую реализацию системы. Следуя шагам, описанным в этом руководстве, разработчики могут убедиться, что у них полное понимание требований системы, и могут эффективно передавать эти требования заинтересованным сторонам.
В заключение, овладение созданием и интерпретациейдиаграмм вариантов использованияявляется критически важным для любого разработчика программного обеспечения, стремящегося создавать надежные, ориентированные на пользователя системы. С практикой эти диаграммы становятся незаменимыми инструментами для моделирования, документирования и проверки функциональных требований любого проекта программного обеспечения.
Эта статья также доступна на Deutsch, English, Español, فارسی, Français, Bahasa Indonesia, 日本語, Polski, Portuguese and Việt Nam










