Открытая коллекция знаний

OpenU.Ru

Справочник UML. Объектно-ориентированное проектирование.

use case generalization (обобщение варианта использования)

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

Семантика

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

Рис. 188. Обобщение варианта использования
Прямой потомок наследует последовательность поведения своего прямого предка и может вносить в него дополнительное поведение (рис. 189). Потенциально и прямой потомок, и прямой предок допускают создание экземпляром (если только они не абстрактны). Различные специализации одного н того же предка независимы друг от друга, в отличие от отношения расширения, и котором расширения неявно модифицируют один и тот же базовый вариант использования. Внести в вариант использования-потомок ноши; поведение можно, либо добавив дополнительные шаги в последовательность поведения, наследованную от прямого предка, либо объявив в потомке отношения расширения и включения. Если вариант исиользования-предок абстрактен, и последовательности его поведения могут находиться незаконченные фрагменты, которые должны предоставляться его потомками. Потомок может изменять существующие шаги, унаследованные от прямого предка, однако, как и в случае с переопределением методов, такой возможностью нужно пользоваться с осторожностью, так, чтобы не нарушалась суть (intent) предка. Отношение обобщения служит для связи варианта использования-потомка и его прямого предка. При этом потомок имеет доступ к атрибутам, определенным в варианте использования-предке, и может их изменять.
Правило подстановки для вариантов использования означает, что и последовательность поведения прямого потомка должна входить последовательность поведения его прямого предка. При этом прямой потомок может чередовать унаследованные шаги последовательности поведения с дополнительными шагами.
Для того чтобы использовать с вариантом использования множественное наследование, необходимо явно специфицировать, как именно чередуются последовательности поведения прямых предков, чтобы получилась последовательность поведения прямого потомка.
Обобщение вариантов использования может также задействовать механизм закрытого наследования (это дает возможность иметь общую с базовым вариантом программную реализацию, однако не подразумевает полной подстановочности). Впрочем, этой возможностью лучше не пользоваться слишком часто.
Поведение варианта использования прямого предка Verity Identity (Проверить идентификацию)
Вариант использования прямого предка абстрактен, поэтому последовательности поведения у него нет
Конкретный потомок должен предоставлять поведение, как это показано ниже
Поведение варианта использования прямого потомка Check Password (Проверить пароль):
Obtai password from master database
Ask use tof password
Usef supplies password
Check password against user entry
Поведение варианта использования прямого потомка Retina Scan (Проверить сетчатку глаза);
Obtam retinal signature from master database
Scan users retina and obtain signature
Compare master sifjnature against scanned signature
Рис. 189. Последовательности поведения дли варианта использования-пряного предкa и варианта использования-прямого потомка

Нотация

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

Пример

На рис. 188 изображен абстрактный вариант использования Verify identity (Проверить идентификацию) и его специализации в виде двух конкретных вариантой использования, чье поведение показано на рис. 189.

Алфавитный указатель