Охарактеризуйте мову uml та її призначення. Які діаграми для подання моделі складної системи надає uml, дайте коротку характеристику діаграм. Для чого на діаграмах uml застосовується мова ocl. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Охарактеризуйте мову uml та її призначення. Які діаграми для подання моделі складної системи надає uml, дайте коротку характеристику діаграм. Для чого на діаграмах uml застосовується мова ocl.



UML (1997 р.) – це мова для визначення, візуалізації і конструювання артефактів програмних систем (артефакт – діаграма або документ, що описує певне поняття). Це система позначень (включаючи семантику), призначена для моделювання систем на основі об'єктно-орієнтованого підходу.

Це важливий виробничий стандарт для об'єктно-орієнтованого моделювання.

UML предоставляет такие диаграммы для представления моделей сложной системы:

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

- Диаграммы кооперации (взаимодействий) – иллюстрируют процесс обмена сообщениями между экземплярами (и классами) в модели классов.

- Диаграмма классов иллюстрирует спецификации программных классов и интерфейсов в приложении. Обычно на такую диаграмму выносится следующая информация: 1. Классы, отношения и атрибуты; 2. Интерфейсы со своими операциями и константами; 3. Методы; 4. Информация о типах атрибутов; 5. Способы навигации; 6. Зависимости. В отличие от концептуальной модели диаграммы классов отображают определения программных сущностей, а не понятия предметной области.

Язык объектных ограничений (Object Constraint Language, OCL) представляет собой некоторый формальный язык для описания ограничений, которые могут быть использованы при определении различных компонентов языка UML. Язык OCL может быть использован для решения следующих задач:

o описание инвариантов классов и типов в диаграмме классов;

o описание пред- и постусловий в операциях и методах;

o описание сторожевых условий элементов модели;

o навигация по структуре модели;

o спецификация ограничений на операции.

Язык OCL является типизированным языком. Базовым элементом языка OCL является выражение, которое строится по определенным правилам.

 

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

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

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

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

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

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

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

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

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

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

 

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

 

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

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

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

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

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

3. Методы;

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

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

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

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

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

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

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

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

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

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

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

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

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

 

Різновид діаграм взаємодії. Що спільного і в чому різниця в 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]. У всех альтернативных ветвей будет один и тот же порядковый номер, но условия на каждой ветви должны быть заданы так, чтобы два из них не выполнялись одновременно (не перекрывались).

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

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

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

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

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

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

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

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

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



Поделиться:


Последнее изменение этой страницы: 2021-12-07; просмотров: 55; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.221.13.173 (0.032 с.)