Абстрактные актеры и прецеденты — КиберПедия 

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

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

Абстрактные актеры и прецеденты

2022-12-30 108
Абстрактные актеры и прецеденты 0.00 из 5.00 0 оценок
Заказать работу

Правила построения диаграммы прецедентов допускает размещение на ней абстрактных прецедентов и абстрактных актеров.

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

Рисунок 3.2. Пример абстрактного прецедента

Абстрактным актером называется актер, который не может иметь экземпляров. Например, в компании может быть несколько разновидностей служащих: служащий, работающий на ставку, служащий с почасовой оплатой, служащий, принятый на испытательный срок. Все актеры имеют общие свойства, фиксируемые на диаграмме путем введения абстрактного актера “Служащий” и указания отношения между ними, как показано на рис. 3.3.

Рисунок 3.3. Пример абстрактного актера

Абстрактные актеры не могут иметь экземпляров, а значит, не могут инициировать прецеденты. Поэтому абстрактные актеры не связываются с прецедентами.

Обратите внимание, что имена абстрактных актеров и прецедентов, впрочем, как и имена всех абстрактных элементов языка UML, пишутся курсивом.

На практике абстрактные актеры приводятся на диаграмме прецедентов нечасто. Еще реже применяются абстрактные прецеденты.

Примечания

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

 

Рисунок 3.4. Пример использования примечаний

Отношение ассоциации

Язык UML определяет несколько типов отношений для описания взаимодействия различных элементов диаграммы. Основными типами используемых отношений диаграммы прецедентов являются следующие:

· отношение ассоциации (association relationship);

· отношения расширения (extend relationship);

· отношение включения (include relationship);

· отношение обобщения (generalization relationship).

Отношение ассоциации – одно из фундаментальных отношений языка UML, используемое в той или иной форме при создании всех канонических диаграмм языка. В общем случае оно обозначает наличие некоторого “знания” у связанных элементов друг о друге. Если ассоциация является направленной, то элемент, от которого отношение исходит, “знает” об элементе к которому отношение направлено.

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

Строго говоря, отношение ассоциации между актером и прецедентом является отношением коммуникации (communication relationship), получаемым из отношения ассоциации путем наложения на него стереотипа “коммуникация” (“communication”). Получаемое таким образом отношение указывает, какую конкретно роль играет актер при взаимодействии с системой, связывая его с соответствующим прецедентом, а значит, должно было бы иметь вид, приведенный на рис. 3.5.

Рисунок 3.5. Отношение коммуникации между актером и прецедентом

Однако, на практике такой подход не получил распространения. Отношения между актером и прецедентом изображается без указания стереотипа, а в различных источниках отношение называют как отношением ассоциации [1], так и отношением коммуникации [3]. Будем называть отношение между актером и прецедентом отношением ассоциации, но придерживаться более узкого определения, сформулированного выше.

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

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

 Рисунок 3.6. Направленные и ненаправленные ассоциации

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

Рисунок 3.7. Кратность отношения ассоциации

Кратность, указанная в форме “*” означает, что каждый отдельный клиент может оформить на себя несколько кредитов. При этом их число не известно, заранее ничем не ограничено и может быть равно 0, т.е. некоторые клиенты могут не брать кредитов вовсе.

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

Наиболее распространенными формами кратности для отношения ассоциации на диаграмме прецедентов являются следующие.

· Целое неотрицательное число, включая 0. Предназначено для указания кратности, которая является строго фиксированной для участвующего в отношении элемента. Иными словами количество экземпляров элемента участника ассоциации строго равно указанному числу.

· Два целых неотрицательных числа, записанные в форме “первое число.. второе число”. Такая запись означает множество целых неотрицательных чисел, следующих в возрастающем порядке с шагом приращения 1. При этом первое число должно быть строго меньше второго в арифметическом смысле и может быть равно 0. В этом случае количество отдельных экземпляров элемента участника ассоциации равно некоторому заранее заданному числу из указанного диапазона целых чисел.

· Два символа, записанные в форме “первое число.. *”. При этом первый символ является целым неотрицательным числом или 0, а второй – специальным символом “*”. Символ “*” означает произвольное конечно целое неотрицательное число, значение которого неизвестно на момент задания отношения ассоциации.

· Единственный символ “*” используется как сокращенная альтернатива записи “0.. *”. В этом случае количество отдельных экземпляров элемента может быть любым целым неотрицательным числом. При кратности отношения равной 0, отношение ассоциации для данного элемента может вовсе не иметь места.

Если кратность отношения ассоциации не указана, она по умолчанию принимается равной единице.

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

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

Отношение расширения

Отношение расширения всегда является направленным и образуется путем наложения стереотипа “extend” (“расширяет”) на отношение зависимости. Его формальное определение выглядит следующим образом. Если имеет место отношение расширения, направленное от прецедента А к прецеденту В, это означает, что свойства экземпляра прецедента В могут быть дополнены, благодаря наличию свойств у расширяющего прецедента А.

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

Рисунок 3.8. Отношение расширения

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

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

На рисунке 3.9. приведен пример использования отношения расширения.

Рисунок 3.9. Пример использования отношение расширения

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

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

Отношение включения

Отношение включения всегда является направленным и образуется путем наложения стереотипа “include” (“включает”) на отношение зависимости. Его формально определение выглядит следующим образом. Отношение включения, направленное от прецедента А к прецеденту В, указывает, что каждый экземпляр прецедента А включает в себя функциональные свойства прецедента В.

Отношение изображается пунктирной стрелкой и направлено к прецеденту, включаемому в более общий, как показано на рис. 3.10.

Рисунок 3.10. Отношение включения

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

Пример использования отношения включения приведен на рис. 3.11.

 Рисунок 3.11. Пример использования отношения включения

Рассматривая Web-ориентированную систему, позволяющую работать с электронной почтой, основной сервис можно сформулировать как “Чтение и отправка электронной почты”. Однако, доступ к нему возможен лишь после авторизации пользователя в системе, что показано путем введения прецедента “Авторизоваться”, включаемого в базовый прецедент.


Поделиться с друзьями:

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

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

Папиллярные узоры пальцев рук - маркер спортивных способностей: дерматоглифические признаки формируются на 3-5 месяце беременности, не изменяются в течение жизни...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.028 с.