OpenU.Ru
Именованный маркер, который ссылается на место или множество мест в последовательности
поведения варианта использования,
куда можно внести дополнительное поведение. Объявить в варианте использования
точку расширения, - значит подготовить его к возможности расширения.
Вставляемый сегмент представляет собой последовательность поведения из расширяющего
варианта использования (связанного с базовым отношением расширения). В отношении
расширения содержится список имен точек расширения, который указывает, куда
могут вводиться дополнительные сегменты расширяющего варианта использования,
несущие в себе дополнительное поведение.
См. extend; use case.
Семантика
У точки расширения есть имя и ссылка на множество, состоящее из одного или
нескольких мест в последовательности поведения варианта использования. Она может
также ссылаться на место, находящееся между двумя шагами в поведении варианта
использования. Кроме того, она может ссылаться на множество дискретных мест
или на область в последовательности поведения (под этим подразумевается множество
всех мест между шагами в этой последовательности).
Место - это состояние конечного автомата, описывающего вариант использования
или его эквивалент в другом описании - между двумя утверждениями в списке или
между двумя сообщениями во взаимодействии.
Отношение расширения содержит необязательное условие и список ссылок точек расширения,
число которых совпадает с количеством сегментов расширяющего варианта использования.
Если при выполнении экземпляром варианта использования базового варианта условие
удовлетворено, выполняется расширяющий сегмент.
Месторасположение точки расширения можно менять, не затрагивая при этом ее индивидуальность.
Использование именованных точек расширения помогает отделить спецификацию расширенных
вариантов поведения от деталей внутреннего устройства базового варианта использования.
Базовый вариант использования можно менять или перегруппировывать, не затрагивая
расширения. Более того, точку расширения можно передвинуть в базовом варианте
таким образом, что не будут задеты ни отношение расширения, ни расширяющий вариант
использования. Как и во всех случаях с использованием модульности, такая независимость
может быть достигнута только при правильном выборе точек расширения.
Нотация
Точки расширения варианта использования можно поместить в виде списка в раздел
под названием extension points (точки расширения). Точки расширения должны ссылаться
на места в последовательности повеления варианта использования. Конечный результат
состоит в том, чтобы точки расширения служили метками состояний,
утверждений и областей в последовательности поведения. Однако это не значит,
что эти точки должны изначально присутствовать в тексте последовательности поведения.
Точки расширения - это имена, с помощью которых можно определить места, в которых
будет осуществляться введение дополнительного поведения. Инструмент моделирования
может обозначить точку расширения в тексте последовательности поведения, не
изменяя его, либо же у него может быть отдельная таблица с именами точек расширения.
В любом случае результатом является размещение имен точек расширения между несколькими
шагами в последовательности поведения. В примере псевдокода с рис. 99 имя точки
расширения, взятое в угловые кавычки, ссылается на место в последовательности
поведения. Существует много различных видов синтаксиса, с помощью которых можно
определять месторасположение точек расширения. Выбор зависит от того языка,
который определяет последовательность поведения. На рисунке показан всего лишь
пример, и этот способ далеко не единственный.
Рис. 99. Объявление точек расширения