Рассмотрим, что такое use case, разберем, как его использовать и как правильно создавать сценарии для эффективного анализа и разработки продуктов.
Use Case простыми словами
Use case (или сценарий использования) — это описание того, как пользователь взаимодействует с системой, чтобы достичь цели. Сценарий помогает понять, какие шаги должен сделать пользователь и какие действия должна выполнить система в ответ.
В восьмидесятых годах прошлого века педагог Якобсон придумал, как описывать взаимодействие системы и человека с помощью use case. Эти кейсы показывают, как пользователи (акторы) с помощью системы достигают своих целей.
Его идеи стали основой для многих современных методов разработки программ. Use case помогают понять, что нужно пользователям, и сделать разработку более ориентированной на их нужды.
Из чего состоит Use Case
Use case состоит из нескольких частей. Рассмотрим их на примере покупки в онлайн-магазине:
- Название. Короткое и понятное. Описывает то, что делает пользователь. Например, заказ товара.
- Акторы. Люди, которые контактируют с системой. Например, покупатель.
- Предусловия. То, что должно быть выполнено перед началом сценария. Например, покупатель вошел в систему.
- Основной поток. Шаги, которые выполняет пользователь для достижения своей цели. Например:
- покупатель выбирает товар;
- покупатель добавляет товар в корзину;
- покупатель оформляет заказ.
- Альтернативные потоки. Другие возможные пути, которые может выбрать пользователь. Например, если товар отсутствует на складе:
- покупатель получает уведомление о нехватке товара;
- покупатель может выбрать другой товар или вернуться позже.
- Постусловия. Результаты, которые должны быть достигнуты после завершения сценария. Например, заказ создан и покупатель получил подтверждение.
Этапы написания Use Case
В разработке программного обеспечения use case показывает, как пользователь применяет систему для достижения своей цели. Это помогает понять, что нужно системе и как она должна работать. Рассмотрим основные этапы написания use case.
-
Определите границы системы
Сначала решите, какие функции и процессы будут внутри системы, а какие — нет. Это поможет сосредоточиться на том, что важно для пользователей.
-
Найдите акторов
Акторы — это те, кто будет взаимодействовать с системой: пользователи, администраторы. Перечислите всех акторов.
-
Определите цели
Для каждого актора определите его цели или задачи. Это то, что он хочет сделать с помощью системы. Например, создать учетную запись или купить товар. Четко сформулируйте эти цели.
-
Опишите сценарии
Для каждого актора опишите, как он взаимодействует с системой в use case. Сценарий — это последовательность шагов, которые нужно сделать для достижения цели. Опишите основной и альтернативный сценарии, которые показывают разные варианты действий.
-
Определите предпосылки и постусловия
Укажите условия, которые необходимо выполнить до начала сценария (предпосылки) и после его завершения (постусловия). Это поможет установить правильный контекст.
-
Подробно опишите шаги
Каждый шаг опишите подробно. Укажите, что делает актор и как система реагирует. Описание должно быть точным и последовательным, чтобы все поняли, как должна работать система.
-
Проверьте и подтвердите
После написания сценария обсудите его с другими участниками проекта. Проверьте, логичен ли сценарий и не упустили ли вы что-то важное. Это поможет убедиться, что use case отражает реальные потребности пользователей.
-
Задокументируйте и поддерживайте
Запишите use case в удобном формате и сделайте его доступным для всех участников проекта. Регулярно обновляйте use case, чтобы он соответствовал актуальным изменениям в системе.
Если вы сначала анализируете, а потом принимаете решения, легко решаете логические задачи, то курс «Аналитик данных» с нуля от Skypro — для вас. Вы изучите, как прогнозировать экономические показатели бизнеса и разрабатывать гипотезы для роста на основе данных. Опытные кураторы разберут все детали, а специалисты центра карьеры помогут найти работу после обучения.
Рекомендации по написанию Use Case
✅ Используйте простой язык. Избегайте сложных терминов и технических деталей. Пишите так, чтобы любой человек мог понять сценарий.
✅ Фокусируйтесь на пользователе. Всегда помните, что описываете действия и потребности пользователя. Это помогает создать сценарий, который действительно отражает реальную работу системы.
✅ Будьте конкретны. Избегайте общих фраз и расплывчатых описаний. Точно указывайте, что и когда делает пользователь.
✅ Оптимизируйте структуру. Разделите сценарий на логические части: цель, действия, реакция системы, альтернативы. Это улучшит восприятие информации.
✅ Проверяйте и уточняйте. Попросите коллег или пользователей проверить написанный use case. Их комментарии помогут уточнить и улучшить сценарий.
Модели использования Use Case
Обычно модели — это диаграммы, которые показывают взаимодействие между пользователями и системой.
Основные элементы диаграммы:
- Актор. Пользователь, который взаимодействует с вашей системой.
- Система. Программное обеспечение или приложение, с которым взаимодействует актор.
- Use Case. Действие или серия действий, которые выполняет актор для достижения своей цели.
- Связи. Линии, которые показывают взаимодействие между актором и use case.
Представим, что вы разрабатываете приложение для онлайн-заказа пиццы. Давайте рассмотрим один из возможных сценариев — «Заказ пиццы».
Шаги пользователя:
- Открывает приложение.
- Выбирает категорию «Пицца».
- Выбирает конкретную пиццу из списка.
- Добавляет пиццу в корзину.
- Переходит в корзину и подтверждает заказ.
- Вводит данные для доставки.
- Подтверждает оплату.
Диаграмма использования use case:
Пример текстового Use Case
Название: Заказ такси через мобильное приложение.
Роль пользователя: Пассажир.
Основной сценарий
Шаг | Действующее лицо | Действие |
1. | Пассажир | Открывает мобильное приложение |
2. | Система | Загружает главную страницу с картой |
3. | Пассажир | Вводит адрес назначения |
4. | Система | Отображает введенный адрес на карте |
5. | Пассажир | Выбирает тип автомобиля |
6. | Система | Отображает стоимость поездки |
7. | Пассажир | Нажимает кнопку «Заказать» |
8. | Система | Начинает поиск свободного автомобиля |
9. | Пассажир | Отслеживает перемещение автомобиля на карте |
10. | Система | Отображает информацию о принятом заказе |
11. | Пассажир | Садится в такси |
12. | Система | После поездки списывает оплату |
13. | Пассажир | Оставляет оценку и отзыв |
14. | Система | Сохраняет оценку и отзыв в базе данных |
Ожидаемый результат: Пассажир успешно заказывает такси через приложение, добирается до места назначения, оставляет оценку качеству сервиса.
Альтернативные сценарии
Отмена заказа
Шаг | Действующее лицо | Действие |
1. | Пассажир | Отменяет заказ через приложение |
2. | Система | Подтверждает отмену и сообщает о возможных штрафах |
Изменение пункта назначения
Шаг | Действующее лицо | Действие |
1. | Пассажир | Изменяет пункт назначения в процессе поездки |
2. | Система | Пересчитывает стоимость поездки и информирует водителя |
Этот формат показывает, что делает пользователь и что делает система на каждом шаге процесса заказа такси.
Любите находить интересные подходы к решению задач и тестировать их? Принимаете решения, опираясь на собранные данные? Обучитесь профессии «Интернет-маркетолог» в онлайн-университете Skypro. Вы освоите анализ аудитории конкурентов и протестируете разные гипотезы для улучшения маркетинговых кампаний.
Польза Use Case
Кому нужен Use Case
✅ Разработчикам. Программисты используют use case для создания и тестирования программного обеспечения. Он помогает им видеть, какие функции нужно реализовать и как пользователи будут взаимодействовать с продуктом.
✅ Аналитикам. Бизнес-аналитики применяют use case, чтобы выявить требования к продукту. Он помогает понять потребности клиентов и на их основе формулировать задачи для разработчиков.
✅ Менеджерам проектов. Руководители проектов используют use case, чтобы планировать и контролировать работу. Он помогает отслеживать прогресс и убедиться, что продукт соответствует ожиданиям клиентов.
✅ Пользователям. Конечные пользователи часто участвуют в разработке use case: они лучше всех знают свои потребности и могут дать ценную информацию, как будут использовать продукт.
Где нужен Use Case
✅ В IT. Компании, которые занимаются разработкой программного обеспечения, активно используют use case на всех этапах разработки — от планирования до тестирования.
✅ В стартапах. Новые компании и проекты часто применяют use case для быстрой и точной разработки продукта, соответствующего требованиям рынка.
✅ В крупных корпорациях. Большие компании с разными продуктами и услугами используют use case для улучшения процессов и удовлетворения потребностей клиентов.
Когда нужен Use Case
✅ На этапе планирования. В самом начале проекта use case помогает определить, какие функции и задачи должен выполнять продукт. Это основа для дальнейшей работы.
✅ В процессе разработки. Разработчики и тестировщики постоянно обращаются к use case, чтобы убедиться, что они движутся в правильном направлении и не упустили важные детали.
✅ При тестировании. Use case помогает проверять, как продукт работает в реальных условиях. Тестировщики используют для создания сценариев, тестирования и выявления ошибок.
✅ После запуска продукта. Даже после выхода продукта на рынок use case остается полезным. Он помогает поддерживать и обновлять продукт и добавлять новые функции.
В чём ограничения Use Case
Use case — это метод описания требований к системе, который помогает понять, что пользователи хотят сделать с помощью программы. Он полезен, но у него есть свои ограничения. Давайте разберемся какие.
🔺 Недостаточная детализация. Use case описывает действия на высоком уровне, часто упускает детали. Это может запутать разработчиков и пользователей, и они столкнутся с трудностями при реализации требований.
🔺 Проблемы с описанием альтернативных событий. Use case хорошо работает для предсказуемых действий пользователей, но не учитывает ошибки системы, неожиданные вводы данных или внешние воздействия. Для таких случаев нужны дополнительные методы описания.
🔺 Трудности с моделированием сложных взаимодействий. Когда системы становятся сложными, use case может не справиться с описанием всех взаимодействий между компонентами. Это может привести к упрощению модели, что не всегда отражает реальную работу системы.
🔺 Неудобство для описания нефункциональных требований. Use сase фокусируется на том, что система должна делать, но не учитывает такие аспекты, как производительность, безопасность и удобство использования. Это может привести к игнорированию важных характеристик системы.
🔺 Трудности в поддержке и обновлении. В больших проектах поддерживать актуальность use case сложно. Из-за изменений в требованиях или системе часто приходится пересматривать и переписывать use case — это занимает много времени и сил.
🔺 Зависимость от опыта автора. Качество use case зависит от опыта человека, который их пишет. Неопытный аналитик может упустить важные детали или неправильно понять требования — это приведет к созданию некорректных сценариев.
Главное о Use Case
🟣 Use case объясняет, как пользователь пошагово работает с системой для достижения конкретной цели. Эти кейсы показывают, как акторы используют систему для достижения целей, и помогают сделать разработку более ориентированной на их нужды.
🟣 Когда пишете use case, важно наметить границы системы, найти акторов, установить их цели, описать сценарий взаимодействия, определить предпосылки и постусловия, подробно описать шаги, проверить и подтвердить сценарий и поддерживать его актуальность.
🟣 Модели и диаграммы использования use case — инструменты разработки удобных и функциональных приложений. Они помогают лучше понять взаимодействие пользователя с системой, выявить важные функциональные требования и избежать ошибок на этапе разработки.
🟣 Use case помогает разработчикам, аналитикам, менеджерам и пользователям работать вместе над созданием качественного продукта. Важно применять use case на всех этапах разработки. Понимание этой концепции сделает работу эффективной и удовлетворит потребности клиентов.
🟣 Use Case — полезный инструмент, но он имеет ограничения: не всегда дает достаточно деталей, плохо справляется с неожиданными событиями и сложными взаимодействиями, не описывает нефункциональные требования. Чтобы получить полное и точное представление о системе и требованиях, нужно использовать use case вместе с другими методами.
Добавить комментарий