Шаг 145.
Унифицированный язык моделирования UML.
Понятие варианта использования

    На этом шаге рассмотрим понятие варианта использования.

    Ни одна грамотно построенная система не существует в изоляции: она взаимодействует с действующими лицами (людьми или системами), которые используют ее для достижения некоторой цели, ожидая от нее определенного поведения. Вариант использования специфицирует это ожидаемое поведение субъекта (системы или ее части), – он описывает последовательности действий, включая их варианты, которые субъект осуществляет для достижения действующим лицом определенного результата.

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

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

    Хорошо структурированные варианты использования описывают только существенные аспекты поведения и не являются ни слишком обобщенными, ни чересчур подробными.

    Важнейшая особенность разработки вариантов использования состоит в том, что вы не специфицируете конкретный способ их реализации. Например, поведение банкомата можно описать посредством вариантов взаимодействия с ним пользователей, но вам необязательно при этом знать, что у него внутри.

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

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

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

    Вариант использования предполагает взаимодействие действующих лиц и системы или другого субъекта. Действующее лицо представляет собой логически связанное множество ролей, которые играют пользователи системы во время взаимодействия с ней. Действующими лицами могут быть как люди, так и автоматизированные системы. Например, при моделировании работы банка процесс обработки займов включает в себя, помимо всего прочего, взаимодействие клиента с сотрудником кредитного отдела.

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

    Всякий вариант использования должен выполнять некоторый объем работы. С точки зрения действующего лица он делает нечто представляющее определенную ценность: например, вычисляет результат, создает новый объект или изменяет состояние другого объекта. В примере с работой банка процесс обработки заявки на ссуду приводит к подписанию расходного документа и материализуется в виде некоторой суммы денег, вручаемой клиенту.

    Вы можете применять варианты использования ко всей системе или к ее частям, в том числе к подсистемам и даже к индивидуальным классам и интерфейсам. В каждом случае варианты использования не только представляют желаемое поведение этих элементов, но также могут служить основой сценариев тестирования на различных этапах разработки. Далее, в применении к подсистемам это отличный источник регрессионных тестов, а в применении к системе в целом – комплексных и системных тестов. Варианты использования и действующие лица в UML изображаются, как показано на рис. 1.


Рис.1. Действующие лица и варианты использования

    Эта нотация позволяет визуализировать определенный вариант использования в контексте других и отдельно от его реализации.

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

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


Рис.2. Простое и квалифицированное имена

    В имени варианта использования могут присутствовать любые буквы латинского алфавита и цифры в неограниченном количестве, а также большинство знаков препинания (за исключением таких как двоеточие, которое используется для разделения имен варианта использования и включающего его пакета). Имя может занимать несколько строк. На практике для именования вариантов использования используются короткие глагольные конструкции в действительном залоге, обозначающие некоторое поведение из словаря моделируемой системы.

    На следующем шаге рассмотрим понятие действующего лица в UML.




Предыдущий шаг Содержание Следующий шаг