Слайд 1WORK WITH UML
УНИВЕРСАЛЬНЫЙ ЯЗЫК МОДЕЛИРОВАНИЯ (UML)
Studybook
for students
Author Dudnik Oxana
Слайд 2Язык UML - это графический язык моделирования
общего назначения,
предназначенный для спецификации,
визуализации, проектирования
и документирования всех артефактов, создаваемых
при разработке программных систем.
Слайд 3UML: Строительные блоки
Существует три вида строительных блоков UML:
Сущности (Elements)
Отношения (Relationships)
Диаграммы (Diagrams)
Слайд 4
Сущности (Elements) - это абстракции;
отношения объединяют эти абстракции
друг с
другом;
а диаграммы группируют совокупность
связанных сущностей
посредством отношений.
Слайд 5
UML: Сущности
Выделяют всего четыре типа сущностей (Elements):
Структурные
Поведенческие
Группирующие
Аннотационные
Слайд 6Структурные
Эти сущности подобны существительным в языке.
1.Класс-
Совокупность объектов с общими атрибутами, операциями,
отношениями и семантикой. Графически класс обозначается в виде прямоугольника с тремя полями: имя класса, атрибуты (свойства) класса и операции (методы) класса.
Слайд 72. Интерфейс
Совокупность операций, которые определяют сервис класса или компонента. Графически интерфейс
также обозначается в виде прямоугольника с тремя полями: имя интерфейса, его атрибуты и операции. Над именем интерфейса дополнительно указывается слово "интерфейс" ("interface").
Слайд 83.Кооперация (Collaboration)
Определяет взаимодействие и представляет собой совокупность ролей и других элементов,
которые работают совместно для обеспечения кооперативного поведения, большего, чем сумма всех элементов. Графически кооперация обозначается в виде пунктирного эллипса.
Слайд 94.Прецедент (Use case)
Описание последовательности действий, выполняемых системой для получения наблюдаемого результата,
значимого для актера. Графически прецедент обозначается в виде эллипса, внутри которого указано имя прецедента.
Слайд 105.Активный класс
Класс, представители которого являются активными объектами и вовлечены в один
или несколько процессов или потоков и могут инициировать деятельность по контролю.
Слайд 11
6.Компонент
Физическая заменяемая часть системы, которая соответствует и обеспечивает реализацию набора
интерфейсов.
Слайд 12
7.Узел (Node)
Физический элемент, который существует во время выполнения программы и
представляет собой вычислительный ресурс, обладающий некоторым объемом памяти и способностью обрабатывать данные.
Слайд 13Поведенческие
Определяют динамическую составляющую элементов UML.
1.Автомат
Определяет последовательность состояний, через которые объект
или взаимодействие проходят на протяжении своего жизненного цикла в ответ на различные события, а также его реакции на эти события.
2.Взаимодействие
Состоит из набора сообщений, которыми обмениваются объекты в рамках конкретного контекста для достижения определенной цели.
Слайд 14Группирующие
1.Пакет
Универсальный механизм организации элементов в группы.
Слайд 15Аннотационные
Примечание
Просто символ для обозначения комментариев, закрепленных за другими элементами
или совокупностями элементов.
Слайд 16UML: Отношения
Зависимость
Ассоциация
Агрегирование
Композиция
Обобщение
Реализация
Слайд 171.Зависимость
Зависимость - это семантическое отношение между двумя сущностями, при котором изменение
в одной сущности может оказать влияние на семантику другой сущности. Стрелка показывает направление зависимости. На диаграмме MyClass1 находится в зависимости от MyClass2. Изменения в MyClass2 оказывают влияние на MyClass1.
Слайд 182.Ассоциация
Ассоциация - структурное отношение, описывающее совокупность связей между объектами. На каждом
конце ассоциации может быть кратность, указывающая, сколько объектов должно соответствовать каждому объекту на противоположном конце ассоциации.
1 Один и только один
0..* или * Ноль, один, или много
1..* Один или много
a..b Между a и ba,ba или b
Ассоциация может быть направленной или ненаправленной . Ненаправленная ассоциация означает, что не было принято решение относительно направленности или двунаправленности ассоциации. На рисунке отображена ненаправленная ассоциация.
Слайд 20Различают два типа ассоциаций:
Агрегирование
Агрегирование отражает отношение между целым и частью. Агрегирование
обозначается на одном конце ассоциации, в то время как второй конец остается немаркированным. На рисунке, Myclass2 является частью Myclass1.
Слайд 21Композиция
также отражает отношение между целым и частью, но является более
сильной формой агрегирования. Композиция обладает дополнительным ограничением - объект может быть частью только одного композита, а композит, в свою очередь, отвечает за время жизни всех своих составных частей - а именно, за их создание и уничтожение. На рисунке, MyClass1 не может существовать без MyClass2.
Слайд 223.Обобщение
Обобщение - это отношение типа "родитель-потомок". MyClass2 - суперкласс (родитель), а
MyClass1 - подкласс (потомок). На языке программирования Java, обобщение реализуется посредством дочерних объектов с использованием зарезервированного слова extends.
Слайд 234.Реализация
Реализация - это отношение между интерфейсом и реализованным классом. В языке
Java реализация выполняется реализацией интерфейса с использованием зарезервированного слова implements.
Слайд 24UML: Диаграммы
В данной работе обсуждаются следующие UML диаграммы:
Диаграмма прецедентов
Диаграмма классов
Диаграмма пакетов
Диаграмма
взаимодействий
Диаграмма состояний
Диаграмма деятельности
Диаграмма компонентов
Диаграмма развертывания