Язык UML
Язык UML
Язык UML
Язык UML
Проектирование UML
Терминология и нотация UML
Программное обеспечение UML
Виды диаграмм UML 2.3
Диаграмма прецедентов (use case diagram)
Диаграмма прецедентов (use case diagram)
Диаграмма прецедентов (use case diagram)
Диаграмма прецедентов (use case diagram)
Диаграмма прецедентов (use case diagram)
Диаграмма прецедентов (use case diagram)
Диаграмма прецедентов (use case diagram)
Диаграмма прецедентов (use case diagram)
Диаграмма классов (class diagram)
Диаграмма классов (class diagram)
Диаграмма классов (class diagram)
Диаграмма классов (class diagram)
Диаграмма классов (class diagram)
Диаграмма классов (class diagram)
Диаграмма классов (class diagram)
Диаграмма классов (class diagram)
Расширения языка UML
Диаграмма состояний (State Machine diagram)
Диаграмма состояний (State Machine diagram)
Диаграмма состояний (State Machine diagram)
Диаграмма состояний (State Machine diagram)
Диаграмма деятельности (Activity diagram)
Диаграмма деятельности (Activity diagram)
Диаграмма деятельности (Activity diagram)
Диаграмма деятельности (Activity diagram)
Диаграммы взаимодействия
Диаграмма последовательности действий
Диаграмма последовательности действий
Диаграмма последовательности действий
Диаграмма последовательности действий
Диаграмма последовательности действий
Диаграмма последовательности действий
Диаграмма кооперации
Диаграмма кооперации
Диаграмма кооперации
Диаграмма кооперации
Диаграммы реализации
Диаграмма развертывания
1.78M
Category: programmingprogramming

Введение в UML

1.

Введение в UML

2. Язык UML

UML (Unified Modeling Language — унифицированный язык
моделирования) — язык графического описания для объектного
моделирования в области разработки программного обеспечения,
для моделирования бизнес-процессов, системного проектирования и
отображения организационных структур.
UML является языком широкого профиля, это — открытый стандарт,
использующий графические обозначения для создания абстрактной
модели системы, называемой UML-моделью.
UML был создан для определения, визуализации, проектирования и
документирования, в основном, программных систем.
UML не является языком программирования, но на основании UMLмоделей возможна генерация кода.
UML вобрал в себя черты нотаций Грейди Буча (Grady Booch), Джима
Румбаха (Jim Rumbaugh), Айвара Якобсона (Ivar Jacobson) – книги 1991
года, первая версия языка появилась в 1996 г.
UML в первую очередь - это спецификации, то есть подробное
описание системы, которое полностью определяет ее цель и
функциональные возможности
2

3. Язык UML

3

4. Язык UML

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

5. Язык UML

Спецификация — это декларативное описание того, как нечто
устроено или работает:
То описание, которое имеет в виду действующее лицо,
являющееся источником спецификации (например, заказчик);
То описание, которое имеет в виду действующее лицо,
являющееся потребителем спецификации (например,
разработчик);
То описание, которое объективно обусловлено природой
специфицируемого объекта.
Модели UML допускают представление в форме картинок, причем эти
картинки наглядны, интуитивно понятны, практически однозначно
интерпретируются и легко составляются.
5

6. Проектирование UML

В оригинале данное назначение UML определено с помощью слова
“construct”.
Одним из назначений UML является, например, создание таких
моделей, для которых возможна автоматическая генерация
программного кода (или фрагментов кода) соответствующих
приложений.
Возможен и обратный процесс: автоматическое построение модели по
коду готового приложения.
Модели UML являются артефактами, которые можно хранить и
использовать как в форме электронных документов, так и в виде
твердой копии.
В частности, специфицировано представление моделей UML в форме
документов в формате XML.
Другими словами, модели UML являются документами, которые,
например, могут печатать картинки или генерировать
человекочитаемое текстовое описание.
Буквально для каждой линии или фигуры на диаграмме можно ввести
текст, который поясняет смысл и назначение именно этой линии или
фигуры.
6

7. Терминология и нотация UML

Оригинальная терминология UML не всегда последовательна и
довольно запутана.
«Нотация» = «синтаксис» (для ЯП).
В UML используется четыре вида элементов нотации:
Фигуры: "плоские прямоугольники, эллипсы, ромбы и т.д. Но есть
одно исключение - на диаграмме развертывания для обозначения
узлов инфраструктуры применяется "трехмерное"изображение
параллелепипеда. Это единственное исключение из правил. Внутри
любой фигуры могут помещаться другие элементы нотации.
Линии: своими концами они должны соединяться с фигурами.
Применяется два типа линий - сплошная и пунктирная. Линии могут
пересекаться, хотя таких случаев следует по возможности избегать.
Значки,
Надписи.
В изображении фигур и значков нет каких-то жестких требований, и
разработчики CASE-средств для UML-проектирования используют это,
применяя различные стили рисования, заливку фигур цветом, тени и т.д.
7

8.

Концептуальная модель UML
сущности
отношения
диаграммы
•структурные
•зависимость
•классов;
•поведенческие
•ассоциация
•объектов;
•группирующие
•аннотационные
•обобщение
•реализация
Диаграмма в UML - это графическое
представление набора элементов в виде
связанного графа с вершинами (сущностями) и
ребрами (отношениями).
•прецедентов;
•последовательностей
•кооперации;
•состояний;
•действий;
•компонентов;
•развертывания;
•…
8

9. Программное обеспечение UML

К пакетам для построения UML-диаграмм можно отнести:
IBM Rational Rose;
Visual Paradigm
Borland Together;
Gentleware Poseidon;
Microsoft Visio;
Telelogic TAU G2.
В UML используются следующие виды диаграмм:
Structure Diagrams:
• Class diagram
• Component diagram
• Composite structure diagram
Collaboration (UML2.0)
• Deployment diagram
• Object diagram
• Package diagram
• Profile diagram (UML2.2)
Behavior Diagrams:
• Activity diagram
• State Machine diagram
• Use case diagram
Interaction Diagrams:
Communication diagram (UML2.0) /
Collaboration (UML1.x)
Interaction overview diagram (UML2.0)
Sequence diagram
Timing diagram (UML2.0)
Структурные диаграммы:
• Диаграмма классов
• Диаграмма компонентов
• Диаграмма композитной/составной структуры
Диаграмма кооперации (UML2.0)
• Диаграмма развёртывания
• Диаграмма объектов
• Диаграмма пакетов
• Диаграмма профилей (UML2.2)
Диаграммы поведения:
• Диаграмма деятельности
• Диаграмма состояний
• Диаграмма прецедентов/вариантов использования
Диаграммы взаимодействия:
Диаграмма коммуникации (UML2.0) /
Диаграмма кооперации (UML1.x)
Диаграмма обзора взаимодействия (UML2.0)
Диаграмма последовательности
Диаграмма синхронизации (UML2.0)
9

10. Виды диаграмм UML 2.3

10

11. Диаграмма прецедентов (use case diagram)

Описывает функциональное назначение системы, т.е. то, что
система будет делать в процессе своего функционирования;
Является исходной концептуальной моделью системы в процессе ее
проектирования и разработки.
Цели:
1. определить общие границы и контекст моделируемой предметной
области на начальных этапах проектирования;
2. сформулировать общие требования к функциональному
проектированию системы;
3. разработать исходную концептуальную модель системы для ее
последующей реализации;
4. подготовить документацию для взаимодействия разработчика
системы с ее заказчиком и пользователями.
Проектируемая система представляется в виде множества
сущностей или акторов (действующих лиц), взаимодействующих с
системой с помощью так называемых вариантов использования
(прецедентов).
Основными компонентами диаграммы являются:
актеры
прецеденты
отношения
11

12. Диаграмма прецедентов (use case diagram)

Актор (actor) - это множество логически связанных ролей,
исполняемых при взаимодействии с прецедентами или
сущностями (система, подсистема или класс). Актором
может быть человек или другая система, подсистема или
класс, которые представляют нечто вне сущности.
Акторы не являются частью системы - любая внешняя по
отношению к моделируемой системе сущность, которая:
взаимодействует с системой,
и использует ее функциональные
возможности для достижения определенных
целей или решения частных задач.
Прецеденты описывают взаимодействие пользователя и
системы.
Каждый прецедент включает:
функцию взаимодействия;
всё взаимодействие или его небольшую часть;
включает одного или несколько действующих лиц:
участвуют, пользуются результатами;
перечисляют задачи в рамках данного взаимодействия.
Клиент банка
12

13. Диаграмма прецедентов (use case diagram)

Прецедент (use case) - описание отдельного аспекта поведения
системы с точки зрения пользователя (Г. Буч).
Прецедент - описание множества последовательных событий (включая
варианты), выполняемых системой, которые приводят к наблюдаемому
актором результату.
Прецедент представляет поведение сущности,
описывая взаимодействие между акторами и
системой.
Прецедент не показывает, "как" достигается
некоторый результат, а только "что" именно
выполняется.
Один актор может взаимодействовать с
несколькими вариантами использования и
наоборот.
2 варианта использования, определенные для
одной и той же сущности, не могут
взаимодействовать друг с другом, т.к. любой из
них самостоятельно описывает законченный
вариант использования этой сущности.
13

14. Диаграмма прецедентов (use case diagram)

Как определить акторов?
Кто заинтересован в данных требованиях?
Где будет применятся данная система?
Кто выигрывает от использования системы?
Кто обеспечивает систему информацией, применяет и удаляет её?
Кто занимается поддержкой системы?
Использует ли система внешние ресурсы?
Выполняет ли один человек несколько ролей?
Взаимодействует ли система с другими системами?
Как определить прецеденты?
Какую задачу выполняет каждый из актеров?
Будет ли кто-то из актеров создавать, сохранять, изменять, удалять
информацию из системы?
Где будет создаваться, сохраняться, изменяться, удаляться
информация?
Потребуется ли актеру уведомлять систему о внешних изменениях?
Необходимо ли оповещать актеров о наступлении каких-либо событий
в системе?
14

15. Диаграмма прецедентов (use case diagram)

Виды отношений:
1. ассоциативное отношение (отношение ассоциации, association
relationship),
2. отношение расширения (extend relationship),
3. отношение обобщения (generalization relationship),
4. отношение включения (include relationship).
Отношение ассоциации
Отношение между прецедентом и актором, отражающее связь
между ними.
Оно устанавливает, какую конкретную роль играет актор при
взаимодействии с экземпляром прецедента.
Обозначение: в виде прямой линии. Могут быть дополнительные
обозначения (кратность связи, направление связи, наименование
связи).
1..*
Студент
Сдать зачет
15

16. Диаграмма прецедентов (use case diagram)

Отношение расширения
Определяет взаимосвязь базового прецедента с некоторым другим
прецедентом, функциональное поведение которого задействуется
базовым не всегда, а только при выполнении некоторых
дополнительных условий.
Стрелка указывает на базовый прецедент.
<<extend>>
Сдать зачет
Отношение обобщения
Взять индивидуальную
ведомость
Служит для указания того факта, что некоторый прецедент А может
быть обобщен до прецедента Б (или актор А может быть обобщен
до актора Б).
Стрелка указывает в сторону родительского прецедента (актора).
Сдать зачет по системному
моделированию
Сдать зачет по предмету
ИЛИ
Студент 2
курса
Студент
16

17. Диаграмма прецедентов (use case diagram)

Отношение включения
Указывает, что некоторое заданное поведение для одного
прецедента включается в качестве составного компонента в
последовательность поведения другого прецедента.
Защитить все
лабораторные работы
Пройти промежуточное
тестирование
Сдать итоговый тест
<<include>>
<<include>>
<<include>>
Сдать зачет по системному
моделированию
Реализовать в форме
печати чека с указанием
реквизитов
Получение справки о
состоянии счета
Примечание как элемент диаграммы прецедентов
Примечание (Note) в языке UML предназначено для включения в
модель произвольной текстовой информации, имеющей
непосредственное отношение к контексту разрабатываемого
проекта.
Примечание может относиться к любому элементу диаграммы.
17

18. Диаграмма прецедентов (use case diagram)

Пример ДП для процесса оформления заказа на
покупку товара
Обеспечить покупателя
информацией
Заказать товар со склада
Согласовать условия
оплаты
<<include>>
<<include>>
<<include>>
1..*
1..*
Продавец
Оформить заказ на покупку
товара
Покупатель
<<extend>>
Оформить заказ на покупку
компьютера
Запросить каталог товаров
18

19. Диаграмма классов (class diagram)

Является центральным звеном ООА/П.
Содержит информацию об объектах системы и статических связях
между объектами.
Отражает декларативные знания о предметной области.
Оперирует понятиями:
класс,
объект,
отношение,
пакет.
Класс – это множество объектов, которые обладают одинаковой
структурой, поведением и отношениями с объектами из других
классов.
Имя_класса
Имя_класса
атрибуты класса
Имя_класса
атрибуты класса
операции класса()
Простейший вид класса состоит только из
секции имени
Класс с указанием атрибутов (переменных)
Полное описание класса, состоящее из 3
разделов (секций) – секции имени, секции
атрибутов, секции операций
19

20. Диаграмма классов (class diagram)

Имя класса должно быть уникально.
Имя класса должно начинаться с заглавной буквы.
Класс может не иметь экземпляров или объектов. В этом случае он
называется абстрактным классом, а для обозначения его имени
используется курсив.
Атрибут = свойство, которое является общим для всех объектов
данного класса.
Общий формат записи атрибутов:
<квантор видимости> <имя атрибута> [кратность]: <тип атрибута> =
<исходное значение> {строка-свойство}
Квантор видимости может принимать одно из следующих значений:
+, #, - , ~.
«+» - атрибут с областью видимости типа общедоступный (public).
«#» - атрибут с областью видимости типа защищенный (protected).
«-» - атрибут с областью видимости типа закрытый (private).
«~» - атрибут с областью видимости типа пакетный (package).
Имя атрибута является единственным обязательным (и уникальным!)
элементом в синтаксическом обозначении атрибута:
должно начинаться со строчной буквы;
по практическим соображениям записывается без пробелов.
20

21. Диаграмма классов (class diagram)

Кратность атрибута характеризует общее количество конкретных атрибутов
данного типа, входящих в состав отдельного класса.
Формат: [нижняя граница . . верхняя граница]
Примеры: [0..1], [0..*], [1..3,5..7]
Тип атрибута - выражение, определяемое некоторым типом данных (например,
в зависимости от языка программирования).
В простейшем случае – осмысленная строка текста.
Пример:
цвет: Color
имяСотрудника[1..2]: string;
видимость: bool
Исходное значение - служит для задания некоторого начального значения в
момент создания отдельного экземпляра класса .
Пример:
цвет: Color = (255, 0, 0)
имяСотрудника[1..2]: String = ‘Иван Иванов’;
видимость: Boolean = истина
Строка-свойство - служит для указания дополнительных свойств атрибута,
которые могут характеризовать особенности изменения значений атрибута в
ходе выполнения соответствующей программы
Пример: заработнаяПлата: Currency = $500 {frozen}
21

22. Диаграмма классов (class diagram)

Операции класса Представляют собой некоторый сервис, который
предоставляет каждый экземпляр класса или объект по требованию своих
клиентов.
Правила записи операций:
<квантор видимости> <имя операции> (список параметров): <выражение типа
возвращаемого значения> {строка-свойство}
Список параметров является перечнем разделенных запятой формальных
параметров, каждый из которых, в свою очередь, может быть представлен в
следующем виде:
<вид параметра> <имя параметра> : <выражение типа> = <значение
параметра по умолчанию>
Строка-свойство служит для указания значений свойств, которые могут быть
применены к данной операции.
Например, для указания последовательности действий будет использована
строка-свойство вида {concurrency = имя} ,
где имя может принимать одно из следующих значений:
sequential (последовательная),
concurrent (параллельная),
guarded (охраняемая)
+нарисовать (форма : Многоугольник = прямоугольник, цветЗаливки :
Color = (0, 0, 255));
-изменитьСчетКлиента (номерСчета : int) : Currency;
#выдатьСообщение() : {‘Ошибка деления на ноль’}.
22

23. Диаграмма классов (class diagram)

Базовыми отношениями на диаграмме классов являются:
отношения ассоциации (association);
отношения обобщения (generalization);
отношения агрегации (aggregation);
отношения композиции (composition);
отношения зависимости (dependency).
Отношение ассоциации свидетельствует о наличии произвольного
отношения между классами.
Имя ассоциации
Содержит
1
3..*
Многоугольник
Сторона
Кратность
ассоциации
23

24. Диаграмма классов (class diagram)

Отношение обобщения является отношением классификации между
более общим элементом (родителем или предком) и более частным
или специальным элементом (дочерним или потомком).
Геометрическая фигура
Прямоугольник
Окружность
Треугольник
Отношение агрегации применяется для представления системных
взаимосвязей типа «часть-целое».
Персональный компьютер
Системный блок
Монитор
Клавиатура
Принтер
24

25. Диаграмма классов (class diagram)

Отношение композиции является частным случаем отношения
агрегации. Части не могут выступать в отрыве от целого, т.е. с
уничтожением целого уничтожаются составные части.
Окно программы
Заголовок
Главное
меню
Рабочая
область
Полоса
прокрутки
Отношение зависимости используется в такой ситуации, когда
некоторое изменение одного элемента модели может потребовать
изменения другого элемента.
Класс А
Класс Б
Клиент
зависимости
Источник
зависимости
25

26. Диаграмма классов (class diagram)

Пакеты служат для группировки элементов модели.
Любой пакет владеет своими элементами .
Любой элемент может принадлежать только одному
пакету.
имя пакета
Пример диаграммы классов
26

27. Расширения языка UML

•Управляющий класс (control) – отвечает за координацию
действий других классов.
NewClass
•Класс-сущность (entity) содержит информацию, которая должна
храниться постоянно и не уничтожаться с уничтожением объектов
данного класса или прекращением работы моделируемой системы.
•Граничный класс (boundary) – располагается на границе
NewClass2
системы с внешней средой, но является составной частью
системы.
•Интерфейс - в контексте языка UML является специальным
случаем класса, у которого имеются только операции и отсутствуют
NewClass3
атрибуты.
ДатчикТем
пературы
27

28. Диаграмма состояний (State Machine diagram)

Диаграммы UML, отражающие
поведение элементов модели
Диаграмма
последовательности
(временной аспект)
Диаграмма
деятельности
Диаграмма кооперации
(информационное
взаимодействие)
Диаграмма состояний. Описывает все возможные
состояния, в которых может находиться объект, а также
процесс смены состояний в результате наступления
некоторого события
• Основные компоненты диаграммы состояний:
• состояния;
• переходы.
28

29. Диаграмма состояний (State Machine diagram)

Имя состояния – законченное
предложение, начинается с заглавной
буквы
Секция имени
Наименование
состояния
Ожидает
В качестве имени состояния
используют глагол (звенит)
или причастие (занят)
Список внутренних действий:
Формат:
<метка действия ‘/’ выражение действия>
Перечень меток в языке UML фиксирован:
entry;
exit;
do;
include.
Список внутренних
действий
Список внутренних
действий
Ввод пароля
entry / сделать
символы невидимыми
символ / получить
символ
exit / сделать символы
видимыми
29

30. Диаграмма состояний (State Machine diagram)

Начальное и конечное состояние:
Начальное состояние указывается обязательно и оно должно быть
одно.
Конечных состояний может или не быть, или может быть несколько.
Переход – отношение между двумя последовательными
состояниями, которое указывает на факт смены одного
состояния другим.
Синтаксическая метка перехода состоит из трех частей, каждая
из которых является необязательной:
<событие> [<условие>] / <действие>
30

31. Диаграмма состояний (State Machine diagram)

Пример диаграммы состояний
Дозвон и разговор с абонентом
Время ожидания
истекло
[ прошло 15 сек. ]
do/ издавать звук_сигнал
Тоновый сигнал
поднять трубку / подать тон-сигнал
do/ издавать тон-сигнал
набор цифры( n )[ номер неполный ]
Ожидание
[ прошло 15 сек. ]
набор цифры( n )
Набор
номера
[ номер полный ]
повесить трубку / разъединиться
Занято
[ номер занят ]
do/ выполнить соединение
do/ издавать короткие гудки
Абонент не
берет трубку
Соединение
[ номер свободен ]
[ прошло 30 сек. ]
запрос на окончание разговора[ подтвержедние ] / закончить разговор
Разговор
запрос ответа[ разговор доступен ]
Звонок у абонента
do/ издавать звонок
31

32. Диаграмма деятельности (Activity diagram)

Отражает динамику системы и представляет собой схемы
потоков управления в системе от действия к действию, а также
параллельные действия и альтернативные потоки.
В контексте языка UML деятельность представляет собой
некоторую совокупность отдельных вычислений, выполняемых
автоматом.
Основные элементы диаграмм деятельности:
- деятельность (действие)
- переход
- элемент выбора
- линия синхронизации (линейка синхронизации).
Действие - исполнение определенного поведения в потоке
управления системой
Имя может быть записано на
естественном языке
Налить
кофе
… или на языке
программирования
y:=y+1
32

33. Диаграмма деятельности (Activity diagram)

Элементы выбора позволяют задавать альтернативные пути
потока управления.
Условие – логическое выражение, которое может принимать
значение true или false.
Условие 2
Условие 1
Пример ветвления переходов
Преобразовать уравнение к
каноническому виду
Вычислить
дискриминант
[ дискриминант>=0 ]
[ дискриминант<0 ]
Вычислить корни
квадратного уравнения
33

34. Диаграмма деятельности (Activity diagram)

Линии перехода (синхронизации) могут иметь несколько
входящих линий и 1 исходящую, либо 1 вход и несколько
выходов.
Группа действий между дорожками выполняется
соответствующим подразделением
34

35. Диаграмма деятельности (Activity diagram)

Пример диаграммы деятельности
Подготовка
участка
Подведение
электрической линии
Прокладка
электропроводки
Установка
осветительных ламп
Возведение стен и
фундамента
Возведение
крыши
Отделочные
работы
35

36. Диаграммы взаимодействия

Диаграмма классов представляет собой логическую модель
статического представления моделируемой системы.
Однако элементы системы всегда взаимодействуют между
собой.
В языке UML это взаимодействие элементов
рассматривается в информационном аспекте, т.е. объекты
обмениваются некоторой информацией.
Диаграммы взаимодействий являются моделями,
описывающими поведение взаимодействующих групп
объектов.
Рассмотрим 2 вида диаграмм взаимодействий:
1. диаграммы последовательности действий – sequence
diagram;
2. диаграммы кооперации (кооперативные диаграммы) –
collaboration diagram
36

37. Диаграмма последовательности действий

Диаграммы последовательности действий отображают
взаимодействие объектов, упорядоченное по времени.
Основными компонентами диаграмм последовательности
действий являются:
Объекты;
Линия жизни;
Сообщения.
Объект – экземпляр класса.
Имя класса
объектА: КлассВ
: КлассС
Имя объекта
объектD
Объектсирота
37

38. Диаграмма последовательности действий

Графические элементы диаграммы последовательности
объектА:
КлассВ
объектС
Фокус
управления
Сообщение
:КлассD
Линия
жизни
Символ
уничтожения
объекта
38

39. Диаграмма последовательности действий

Линия жизни и фокус управления
объектА:
КлассВ
объектС
Объект С инициирует
создание анонимного
объекта из класса D
:КлассD
39

40. Диаграмма последовательности действий

Сообщение представляет собой законченный фрагмент
информации, который отправляется одним объектом
другому.
Прием сообщения инициирует выполнение определенных
действий.
3 разновидности сообщений:
а) используется для вызова
процедур, выполнения операций
или обозначения отдельных
вложенных потоков управления
•Начало этой стрелки
соприкасается с фокусом
управления объекта-клиента,
который инициирует сообщение.
•Конец стрелки соприкасается
с линией жизни объекта, который
принимает сообщение и
выполняет в ответ определенные
действия.
б) используется для
обозначения простого
асинхронного сообщения,
которое передается в
произвольный момент
времени.
• Передача
такого сообщения обычно
не сопровождается
получением фокуса
управления объектомполучателем.
в) используется для
возврата из вызова
процедуры
•Примером может
служить
простое сообщение о
завершении
вычислений без
предоставления
результата расчетов
объекту-клиенту.
40

41. Диаграмма последовательности действий

Сообщение представляет собой законченный фрагмент
информации, который отправляется одним объектом другому.
Прием сообщения инициирует выполнение определенных
действий.
3 разновидности сообщений:
а) используется для вызова
процедур, выполнения операций
или обозначения отдельных
вложенных потоков управления
•Начало этой стрелки
соприкасается с фокусом
управления объекта-клиента,
который инициирует сообщение.
•Конец стрелки соприкасается
с линией жизни объекта, который
принимает сообщение и
выполняет в ответ определенные
действия.
б) используется для
обозначения простого
асинхронного сообщения,
которое передается в
произвольный момент
времени.
• Передача
такого сообщения обычно
не сопровождается
получением фокуса
управления объектомполучателем.
в) используется для возврата
из вызова процедуры
•Примером может служить
простое сообщение о
завершении вычислений без
предоставления результата
расчетов объекту-клиенту.
ИмяОбъекта4 :
ИмяКласса4
Сообщение, отправленное самому себе – рефлексивное
(саморегулирование).
4:
41

42. Диаграмма последовательности действий

Пример диаграммы последовательности
с: Телефонный
аппарат
: Коммутатор
d: Телефонный
аппарат
а: Абонент
поднятьТрубку()
*[i:=1..n]
наборЦифры(i)
b: Абонент
тонСигнал()
наборНомера()
[номер полный]
вызовАбонента(b)
звонок()
создать()
: Разговор
начатьРазговор()
подтвердить()
закончитьРазговор()
повеситьТрубку()
поднятьТрубку()
начатьРазговор()
закончитьРазговор()
уничтожить()
повеситьТрубку()
42

43. Диаграмма кооперации

Поведение системы описывается на уровне отдельных
объектов, которые обмениваются между собой сообщениями,
чтобы достичь определенной цели или реализовать
некоторый вариант использования.
Кооперация (collaboration) - служит для обозначения
множества взаимодействующих с определенной целью
объектов в общем контексте моделируемой системы.
Основные компоненты диаграммы кооперации:
объекты;
связи;
сообщения.
Объект является отдельным экземпляром класса, который
создается на этапе реализации модели (выполнения
программы)
Виды объектов
Активный объект
Пассивный объект
Составной объект
Мультиобъект
43

44. Диаграмма кооперации

Мультиобъект представляет собой множество объектов,
которые могут быть образованы на основе класса.
: Мультиобъект
В контексте языка UML объекты делятся на активные и
пассивные.
Активный объект имеет свой собственный поток управления
и может инициировать деятельность по управлению другими
объектами.
: ТекстовыйРедактор
1:
выбратьПринтер() : Принтер
2: печатать(документ)
: Принтер
44

45. Диаграмма кооперации

Составной объект предназначен для
представления объекта, имеющего сложную
структуру и внутренние потоки управления.
Основное отличие между диаграммой
последовательности и кооперации
На диаграмме кооперации изображаются только
такие отношения между объектами, которые
играют роль информационных каналов при
взаимодействии.
На диаграмме кооперации не указывается время
в виде дополнительного измерения.
Таким образом, в диаграмме последовательности
делается акцент на временной аспект, в
диаграмме кооперации – на статическое
взаимодействие объектов системы.
а: Графическое
окно
: Строка
заголовка
: Полоса
прокрутки
: Рабочая
область
45

46. Диаграмма кооперации

Пример диаграммы кооперации
2: тонСигнал()
: Коммутатор
4: наборНомера()
с: Телефонный
аппарат
1: поднятьТрубку()
3 *[i:=1..n]:
наборЦифры(i)
5 [номер полный]:
вызовАбонента(b)
6: звонок()
9:подтвердить()
8: создать()
: Разговор
d: Телефонный
аппарат
10а:
начатьРазговор()
7: поднять
Трубку()
10b: начатьРазговор()
а: Абонент
b: Абонент
46

47. Диаграммы реализации

Диаграммы
реализации
Диаграммы
развертывания
Диаграммы
компонентов
Диаграмма компонентов разрабатывается для следующих целей:
визуализация общей организации структуры исходного кода программы;
спецификация исполнимого варианта программной системы;
представление концептуальной и физической схем баз данных.
Компонент служит для обозначения элементов физического
представления модели и может реализовывать некий набор
интерфейсов.
Main.cpp
Dialog.dll
Каталог
Main.exe
Index.html
Context.hlp
47

48. Диаграмма развертывания

Диаграмма размещения = диаграмма развертывания = диаграмма
внедрения
Цели построения диаграммы развертывания:
указать размещение исполнимых компонентов программной системы по
отдельным физическим узлам;
показать физические связи между всеми узлами реализации системы
на этапе ее исполнения;
выявить узкие места системы и реконфигурировать ее топологию для
достижения наилучшей производительности.
Узел представляет собой
некоторый физически
Удаленный
Сервер
существующий элемент
терминал
Сеть
банка
системы, обладающий
некоторым вычислительным
ресурсом.
Принтер
Диаграмма развертывания
банкомата
Устройство
показывает наличие физических чтения
соединений – маршрутов
Устройство
получения наличных
передачи информации между
аппаратными устройствами,
Экран
задействованными в
банкомата
реализации системы.
48
English     Русский Rules