Similar presentations:
Введение в UML
1.
Введение в UML2. Язык UML
UML (Unified Modeling Language — унифицированный языкмоделирования) — язык графического описания для объектного
моделирования в области разработки программного обеспечения,
для моделирования бизнес-процессов, системного проектирования и
отображения организационных структур.
UML является языком широкого профиля, это — открытый стандарт,
использующий графические обозначения для создания абстрактной
модели системы, называемой UML-моделью.
UML был создан для определения, визуализации, проектирования и
документирования, в основном, программных систем.
UML не является языком программирования, но на основании UMLмоделей возможна генерация кода.
UML вобрал в себя черты нотаций Грейди Буча (Grady Booch), Джима
Румбаха (Jim Rumbaugh), Айвара Якобсона (Ivar Jacobson) – книги 1991
года, первая версия языка появилась в 1996 г.
UML в первую очередь - это спецификации, то есть подробное
описание системы, которое полностью определяет ее цель и
функциональные возможности
2
3. Язык UML
34. Язык 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
1011. Диаграмма прецедентов (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