Введение

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

Предыстория

Анализ вариантов использования — основной метод сбора требований к использованию для новой программы или задачи. Основные цели анализа вариантов использования: проектирование системы с точки зрения пользователя, описание поведения системы на языке пользователя и определение всех внешне наблюдаемых функций. Другая задача анализа вариантов использования — чёткое определение: системных требований, способов использования системы, ролей пользователей в системе, действий системы в ответ на действия пользователя, результатов, получаемых пользователем, и ценности, которую клиент или пользователь получит от системы.

Процесс

Анализ вариантов использования состоит из нескольких шагов.

Реализация

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

Описание

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

Классы анализа

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

Ответственность

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

Поведение

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

Механизмы

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