Что такое 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 позволяет заранее определить проблемные области проекта и снизить неправильное понимание требований, что в конечном счете улучшает качество продукта и устраняет сложности при его разработке.
![Юлия Татаринова Юлия Татаринова](https://www.gravatar.com/avatar/acefb2981e05cd6939dbeba5beb7a295?d=https%3A%2F%2Fstatic.leadstartup.ru%2Fimages%2Femoji-icons%2Fpng%2F094-user.png&s=112)
Как проводится анализ Use Case
Анализ Use Case проводится следующим образом:
Идентификация акторов. Перед анализом прецедента использования важно определить действующих лиц, для которых создается программное обеспечение или приложение. Акторами могут быть как люди, так и другие компоненты большой системы, в которую встраивается ПО.
Определение функций. После определения акторов важно понять, какие действия должно осуществлять программное обеспечение, чтобы удовлетворять потребности акторов.
Создание диаграммы. Важно представить все существующие Use Case в виде диаграмм, в которых будут указаны отдельные прецеденты использования и акторы, с которыми связаны Use Case.
Описание Use Case. Каждый сценарий должен быть описан максимально подробно. Для этого необходимо описать шаги, которые выполняют акторы и система. После этого необходимо расписать, каким образом взаимодействуют программа и акторы и что получают пользователи по итогу работы ПО.
Анализ данных. Важно определить, какие именно данные должна получить система для работы и какую информацию она выдает после завершения определенных алгоритмов. Это помогает проанализировать, какие именно данные будут нуждаться в обработке и каким образом обработка этих данных производится.
Определение требований. После анализа Use Case можно определить итоговые требования пользователей к ПО. Именно эти требования нужно использовать в дальнейшем при разработке программы или приложения, которое будет выпущено на рынок.
![Юлия Татаринова Юлия Татаринова](https://www.gravatar.com/avatar/acefb2981e05cd6939dbeba5beb7a295?d=https%3A%2F%2Fstatic.leadstartup.ru%2Fimages%2Femoji-icons%2Fpng%2F094-user.png&s=112)
Как проверить корректность Use Case
Корректность Use Case можно проверить следующим образом:
Соответствие бизнес–требованиям. При проверке Use Case необходимо убедиться, что прецедент использования соответствует потребностям бизнеса и его целям.
Полнота и точность описания. Важно убедиться, что все действия акторов описаны подробно и четко. Из описания Use Case должно быть понятно, как именно акторы взаимодействуют с программой и каким образом удовлетворяются их потребности.
Правильность последовательности действий. Описание сценария должно быть выполнено таким образом, чтобы последовательность действий акторов и программы соответствовала логике процессов.
Наличие акторов. При проверке корректности Use Case важно удостовериться, что в нем указаны все акторы, которые взаимодействуют с ПО.
Корректность пред- и постусловий. При проверке Use Case важно убедиться, что его описание включает все условия, которые важно выполнить до или после прецедента использования, и что все условия соответствуют требованиям.
![Юлия Татаринова Юлия Татаринова](https://www.gravatar.com/avatar/acefb2981e05cd6939dbeba5beb7a295?d=https%3A%2F%2Fstatic.leadstartup.ru%2Fimages%2Femoji-icons%2Fpng%2F094-user.png&s=112)
Как связать Use Case с требованиями к системе
Анализ Use Case помогает уточнить требования, которые выдвигаются к ПО при его разработке. При анализе прецедента использования можно выявить функциональные и нефункциональные запросы пользователей, которые выстраиваются на основе предварительно созданных пользовательских сценариев. При анализе прецедента использования можно найти те сценарии, в которых упоминаются пропущенные при общем анализе требования, и в дальнейшем улучшить приложение.
Чтобы связать пользовательские сценарии с требованиями к приложению или программе, можно использовать следующие методы:
Определение акторов. Чтобы определить итоговые требования к проекту, важно проанализировать Use Case и выделить тех акторов, которые будут постоянно взаимодействовать с ПО. После этого важно обозначить их роли и определить, как именно они будут взаимодействовать с системой, а после связать эти роли с требованиями к системе.
Выявление основных функций. Для каждого Use Case важно определить те функции, которыми будут пользоваться акторы. В соответствии с необходимыми функциями необходимо скорректировать требования к системе.
Создание шаблонов требований. При создании требований можно использовать типичные формулировки, которые позволят выработать стандарты обработки Use Case и выработать на их основе требования к программе или приложению.
![Юлия Татаринова Юлия Татаринова](https://www.gravatar.com/avatar/acefb2981e05cd6939dbeba5beb7a295?d=https%3A%2F%2Fstatic.leadstartup.ru%2Fimages%2Femoji-icons%2Fpng%2F094-user.png&s=112)
Какие инструменты помогают создавать и управлять Use Case
При создании и управлении Use Case можно использовать следующие инструменты:
CASE–среды (Computer-Aided Software Engineering). Эти программы помогают создавать и управлять прецедентами использования. В них можно сразу создавать все необходимые диаграммы, определять связи между акторами и ПО и добавлять комментарии и дополнительную информацию к каждому Use Case.
Системы отслеживания ошибок. Системы трекинга ошибок помогают определить проблемы при разработке ПО на основе Use Case. В таких программах можно указывать, какие ошибки обнаружены в процессе работы над приложением, уточнять статус работы над ними и оставлять комментарии, которые будут видеть все члены команды разработчиков и другие интерессанты.
Коллаборативные платформы. Это сервисы, которые позволяют отдельным разработчикам и аналитикам скооперироваться и совместно работать над ПО и Use Case. Внутри таких программ можно создавать диаграммы прецедентов использования, редактировать их в реальном времени и анализировать результаты работы совместно даже в том случае, если члены команды работают удаленно.
![Юлия Татаринова Юлия Татаринова](https://www.gravatar.com/avatar/acefb2981e05cd6939dbeba5beb7a295?d=https%3A%2F%2Fstatic.leadstartup.ru%2Fimages%2Femoji-icons%2Fpng%2F094-user.png&s=112)
Как применить Use Case в Agile-разработке
В Agile–проектах Use Case помогает достичь следующего:
Определение требований. В процессе работы над Use Case команда разработчиков и аналитиков устанавливает требования к функциональности и внешнему виду ПО, ожидаемые результаты от его выхода на рынок. Четкое понимание того, что должно получиться в результате работы над программой, позволяет разработчикам сконцентрироваться на воплощении целей в жизнь.
Повышение уровня коммуникации. Use Case помогают выстроить конструктивное общение между отдельными членами команды и другими заинтересованными лицами. Прецеденты использования позволяют выработать понимание, что именно необходимо добавить в систему и какие функции имеют особенную важность для пользователей.
Определение рисков. В процессе анализа Use Case можно выявить те сложности, с которыми столкнется команда разработчиков при реализации существующей идеи. Это позволяет заранее выбрать способы уменьшения рисков или альтернативные пути удовлетворения пожеланий пользователей.
Use Case помогает понять, чего именно хотят будущие пользователи программы или приложения и каким образом их требования лучше удовлетворить. Благодаря использованию этого метода анализа можно создать интуитивно понятный интерфейс, который будет закрывать все потребности пользователя и оставлять ему положительное впечатление. В результате клиенты охотнее будут пользоваться приложением и дольше будут использовать его.
Use Case помогает также протестировать функциональность системы на основе пользовательских сценариев. Тестирование по прецедентам использования помогает понять логику пользователя и выявить те недочеты, которые незаметны при других видах тестирования.
![Юлия Татаринова Юлия Татаринова](https://www.gravatar.com/avatar/acefb2981e05cd6939dbeba5beb7a295?d=https%3A%2F%2Fstatic.leadstartup.ru%2Fimages%2Femoji-icons%2Fpng%2F094-user.png&s=112)
Какие ошибки часто допускают при создании Use Case
При создании Use Case часто встречаются следующие ошибки:
Неверное определение акторов. Первым шагом в процессе создания сценариев использования приложения становится подбор тех, кто будет им пользоваться. Если вы неправильно определили целевую аудиторию, точно понять, какие функции для нее будут необходимы, будет сложно.
Недостаточное описание Use Case. При описании сценариев действия важно создать полноценное описание работы приложения и действий пользователя. Это позволяет точно понять, чего именно нужно добиться при разработке и какими именно способами пользователь получит удовлетворение своих потребностей.
Сложный технический язык. При создании Use Case важно использовать максимально простой язык для того, чтобы описание действий актора и откликов программы было понятно всем интерессантам.
Отсутствие контекста. При написании Use Case важно учитывать контекст взаимодействия пользователя с программой и то, в каких именно условиях происходит это взаимодействие. Если вы не понимаете условия работы пользователя с ПО, вы не сможете понять, какие именно требования существуют у клиента и как именно должна быть спроектирована программа.
![Юлия Татаринова Юлия Татаринова](https://www.gravatar.com/avatar/acefb2981e05cd6939dbeba5beb7a295?d=https%3A%2F%2Fstatic.leadstartup.ru%2Fimages%2Femoji-icons%2Fpng%2F094-user.png&s=112)
Как оценить эффективность использования Use Case в проекте
Для оценки Use Case используются следующие способы:
Сравнение. При проверке сценариев использования важно оценить, насколько полученные Use Case соответствуют первоначальным требованиям к проекту. Его можно считать удачным, если сравнение выявило минимальные и несущественные отклонения от первоначальных требований, а Use Case позволяет достичь поставленных перед ПО задач.
Анализ рисков. Use Case несет в себе определенные риски. Так, при его создании существует вероятность неправильного определения анкоров или недостаточной функциональности программы. По результатам анализа рисков можно понять, насколько эти факторы были учтены при работе над сценарием использования программы.
Опросы. После создания Use Case можно провести опрос пользователей. Из анкетирования будет понятно, насколько хорошо используются конкретные Use Case и каким образом они соответствуют фактическому использованию программы.
Метрики. При внедрении Use Case можно установить метрики, которые позволят в дальнейшем определить его эффективность. Такими показателями могут стать время выполнения задач, количество допущенных ошибок или итоговый уровень удовлетворенности пользователей.
![Юлия Татаринова Юлия Татаринова](https://www.gravatar.com/avatar/acefb2981e05cd6939dbeba5beb7a295?d=https%3A%2F%2Fstatic.leadstartup.ru%2Fimages%2Femoji-icons%2Fpng%2F094-user.png&s=112)