Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Otvety_OOP_2009.doc
Скачиваний:
3
Добавлен:
18.09.2019
Размер:
1.36 Mб
Скачать

20. Призначення та правила побудови діаграми прецедентів uml: типи зв’язків між прецедентами(з прикладами), зображення на діаграмі прецедентів ролей (акторів).

Диаграмма прецедентов – иллюстрация всех прецедентов и их взаимоотношений.

На диаграмме прецедентов (use case diagram) иллюстрируется набор прецедентов системы и исполнителей, а также взаимосвязи между ними. Прецеденты представляются овалами, а исполнители – условными обозначениями. Между прецедентами и исполнителями имеются линии взаимодействия. Для отображения потоков данных и влияющих объектов могут быть использованы стрелки.

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

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

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

В языке UML имеется несколько стандартных видов связей между актерами и прецедентами:

  • отношение ассоциации (association) - это связь между понятиями, отражающая некоторое значимое и полезное отношение между ними;

  • отношение включения (relationship) – устанавливается только между двумя прецедентами и указывает на тот факт, что некоторое заданное поведение для одного прецедента включает в качестве составного фрагмента поведение другого;

  • отношение расширения (include) - определяет взаимосвязь базового прецедента с некоторым другим прецедентом, функциональное поведение которого взаимодействует с базовым не всегда, а только при выполнении некоторых дополнительных условий;

  • отношение обобщения (generalization) – служит для указания того факта, что некоторый прецедент А является специальным случаем варианта прецедента Б.

21. Призначення та правила побудови діаграми класів UML. Як позначаються класи, поля(атрибути) та методи(операції) класів? Як на діаграмі класів позначаються зв’язки між класами(типи зв’язків з прикладами, кратність зв’язку). У яких випадках на діаграмі класів позначаються атрибути зв’язку?

Диаграмма классов иллюстрирует спецификации программных классов и интерфейсов в приложении.

Обычно на такую диаграмму выносится следующая информация:

1.Классы, отношения и атрибуты;

2.Интерфейсы со своими операциями и константами;

3.Методы;

4.Информация о типах атрибутов;

5.Способы навигации;

6.Зависимости.

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

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

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

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

Базовыми отношениями или взаимосвязями, которые могут изображаться на диаграммах классов, являются:

  • отношение ассоциации (association) – соответствует наличию произвольной отношения или взаимосвязи между классами;

  • отношение обобщения (generalization) – отношение между более общим элементом (родительским или предком) и более частным или специальным элементом (дочерним или потомком);

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

  • отношение композиции (composition) – является частным случаем отношения агрегации. Это отношение служит для спецификации более сильной формы отношения «часть-целое», при которой составляющие части тесно взаимосвязаны с целым (части не могут выступать в отрыве от целого);

  • отношение зависимости (dependency) – указывает некоторое семантическое отношение между двумя элементами модели, которое не является отношением ассоциации или обобщения.

22. Різновид діаграм взаємодії. Що спільного і в чому різниця в UML діаграмах послідовності та кооперації? Як на цих діаграмах позначаються об’єкти та класи; передача повідомлень між класами, розгалужені та циклічні повідомлення?

Диаграмма взаимодействий (Interaction diagram) описывает взаимодействия, состоящие из множества объектов и отношений между ними, включая сообщения, которыми они обмениваются.

Диаграммой последовательностей (Sequence diagram) называется диаграмма взаимодействий, акцентирующая внимание на временной упорядоченности сообщений.

Графически такая диаграмма представляет собой таблицу, объекты в которой располагаются вдоль оси X, а сообщения в порядке возрастания времени - вдоль оси Y.

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

Во-первых, на них показана линия жизни объекта. Это вертикальная пунктирная линия, отражающая существование объекта во времени. Большая часть объектов, представленных на диаграмме взаимодействий, существует на протяжении всего взаимодействия, поэтому их изображают в верхней части диаграммы, а их линии жизни прорисованы сверху донизу. Объекты могут создаваться и во время взаимодействий. Линии жизни таких объектов начинаются с получения сообщения со стереотипом create. Объекты могут также уничтожаться во время взаимодействий; в таком случае их линии жизни заканчиваются получением сообщения со стереотипом destroy, а в качестве визуального образа используется большая буква X, обозначающая конец жизни объекта.

Диаграммой кооперации (Collaboration diagram) называется диаграмма взаимодействий, основное внимание в которой уделяется структурной организации объектов, принимающих и отправляющих сообщения. Графически такая диаграмма представляет собой граф из вершин и ребер.

У диаграмм кооперации есть два свойства, которые отличают их от диаграмм последовательностей.

Первое - это путь. Для описания связи одного объекта с другим к дальней концевой точке этой связи можно присоединить стереотип пути (например, local, показывающий, что помеченный объект является локальным по отношению к отправителю сообщения). Имеет смысл явным образом изображать путь связи только в отношении путей типа local, parameter, global и self(но не associations).

Второе свойство - это порядковый номер сообщения. Для обозначения временной последовательности перед сообщением можно поставить номер (нумерация начинается с единицы), который должен постепенно возрастать для каждого нового сообщения ( 2, 3и. т.д.). Для обозначения вложенности используется десятичная нотация Дьюи ( 1 - первое сообщение; 1.1- первое сообщение, вложенное в сообщение 1; 1.2 - второе сообщение, вложенное в сообщение 1и т.д.). Уровень вложенности не ограничен. Для каждой связи можно показать несколько сообщений (вероятно, посылаемых разными отправителями), и каждое из них должно иметь уникальный порядковый номер.

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

Итерация представляет собой повторяющуюся последовательность сообщений. Для ее моделирования перед номером сообщения в последовательности ставится выражение итерации, например * [ i := 1. . n](или просто *, если надо обозначить итерацию без дальнейшей детализации). Итерация показывает, что сообщение (и все вложенные в него сообщения) будет повторяться в соответствии со значением заданного выражения. Аналогично условие представляет собой сообщение, выполнение которого зависит от результатов вычисления некоторого булевского выражения.

  • Для моделирования условия перед порядковым номером сообщения ставится выражение, например [х>0]. У всех альтернативных ветвей будет один и тот же порядковый номер, но условия на каждой ветви должны быть заданы так, чтобы два из них не выполнялись одновременно (не перекрывались).

23. Різновид діаграм поведінки. Що спільного і в чому різниця в UML діаграмах станів та діяльності? Як на цих діаграмах позначаються простий та складений стани об’єктів; прості переходи між станами та паралельні переходи?

Розрізняють діаграми діяльності, діаграми станів, діаграми варіантів використання.

Диаграмма состояний (Statechart diagram) показывает автомат, фокусируя внимание на потоке управления от состояния к состоянию.

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

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

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

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

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

Сложные переходы

Переходы между параллельными состояниями

Введение в рассмотрение параллельного перехода обусловлено необходимостью синхронизировать и/или разделить отдельные подпроцессы на параллельные нити без спецификации дополнительной синхронизации в параллельных подавтоматах. Графически такой переход изображается вертикальной черточкой, аналогично обозначению перехода в известном формализме сетей Петри. Если параллельный переход имеет две или более входящих дуг (а), то его называют соединением (join). Если же он имеет две или более исходящих из него дуг (б), то его называют ветвлением (fork). Текстовая строка спецификации параллельного перехода записывается рядом с черточкой и относится ко всем входящим (исходящим) дугам.

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

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

  Переходы между составными состояниями

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

  Синхронизирующее состояние (synch state) обозначается небольшой окружностью, внутри которой помещен символ звездочки "*". Оно используется совместно с переходом-соединением или переходом-ветвлением для того, чтобы явно указать события в других подавтоматах, оказывающие непосредственное влияние на поведение данного подавтомата.

 

Диаграмма деятельности (Activity diagram) показывает поток переходов от одной деятельности к другой.

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

Діаграма діяльності – це діаграма, на якій показане розкладання деякої діяльності на її складові частини. Ця діаграма схожа на діаграму станів, оскільки у ній також присутні позначення станів і переходів. Кожен стан на діаграмі діяльності відповідає виконанню деякої елементарної операції, а перехід у наступний стан відбувається тільки після завершення цієї операції. Тому діаграми діяльності можна вважати частковим випадком діаграми станів. Простий стан об’єктів позначається на діаграмі прямокутником з закругленими кутами. Всередині цього зображення записується вираз дії, яка повинна бути унікальною у межах однієї діаграми.

Складений стан об’єктів позначається спеціальною піктограмою у нижньому правому куті звичайного символу стану дії. На відміну від діаграми станів, у діаграмі діяльності тільки не тригерні переходи, тобто такі, які виконуються одразу після завершення діяльності або виконанням відповідної дії. Цей перехід переводить діяльність у наступний стан одразу, як тільки закінчиться дія у попередньому стані. На діаграмі такий перехід зображується тонкою лінією зі стрілкою. Якщо таких переходів кілька, то у квадратних дужках над кожним переходом повинна бути записана сторожова умова (умова переходу), причому істинною має бути тільки одна з них. Для паралельних переходів використовується спеціальний символ для розділення і злиття паралельних потоків. Таким символом є пряма риска. Як правило, така риска зображається відрізком горизонтальної лінії, товщина якої декілька ширше за основні суцільні лінії діаграми діяльності. При цьому розділення (concurrent fork) має один вхідний перехід і декілька що виходять, а злиття (concurrent join) має декілька вхідних переходів і що один виходить.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]