- •1. Введение(3-4 мин.)
- •2. Основные типы диаграмм (20-25 мин.)
- •2.1. Class Diagram
- •2.2. Object Diagram
- •2.3. Use Case Diagram
- •2.4. State Machine Diagram
- •2.5. Sequence Diagram
- •2.6. Activity Diagram
- •2.7. Communication Diagram
- •2.8. Component Diagram
- •2.9. Deployment Diagram
- •2.10. Composite Structure Diagram
- •2.11. Interaction Overview Diagram
- •2.12. Timing Diagram
- •2.13. Package Diagram
- •4. Визуализация классов (10-15 мин.)
- •5. Работа со связями (10-15 мин.)
- •6. Агрегация, композитные объекты, интерфейсы и реализации (10-15 мин.)
- •8. Выводы.
2.12. Timing Diagram
Временная диаграмма определяет поведение различных объектов в пределах временной шкалы. Она обеспечивает визуальное представление изменения состояний объекта и взаимодействий во времени.
2.13. Package Diagram
Существует возможность организовывать элементы диаграмм в группы с помощью пакетов Основная идея пакета – объединить элементы в рамках общей сущности, представляемой в виде папки с закладкой. Например, если некоторые классы или компоненты являются частью отдельной подсистемы, их можно объединить в пакет.
3. ООП и UML (10-15 мин.)
Объекты, структура: атрибуты + поведение. Абстракция – выделение важных и нужных свойств и операций объекта. Наследование (подклассы/суперкласс). Полиморфизм (операция имеет одно и то же название в разных классах). Инкапсуляция (при выполнении операции объектом сами эти операции скрыты), интерфейс. Передача сообщений.
Ассоциации
Объекты обычно связаны между собой некоторым образом. Двунаправленные ассоциации. Кратность (количество объектов одного класса, связанных с объектом ассоциированного класса).
Агрегация
Агрегация – отношение типа «часть - целое». Одним из типов агрегации является композиция – тип агрегации, предполагающий тесную связь между объектом-агрегатом и составляющими его компонентами. Главная особенность композиции – компонент существует в виде такового только в рамках композитного объекта.
4. Визуализация классов (10-15 мин.)
Обозначение класса, пакета. Класс с полным именем.
Атрибут – свойство класса. Описывает перечень знаний, в рамках которых указываются свойства объектов этого класса. Атрибуты каждого объекта класса принимают конкретные значения. В изображении класса можно указывать тип для каждого значения атрибута, а также значение атрибута по умолчанию.
Операции – это то, что может выполнять класс, либо то, что другой класс может выполнять над данным классом. В скобках, следующих за именем операции можно указать параметр операции и его тип. Можно указать возвращаемое значение и его тип. Перечисленные фрагменты информации об операции наз. сигнатуры.
Иногда перечисляют лишь некоторые атрибуты или операции (список сопровождается многоточием (…)).
Если имеющийся список атрибутов и операций слишком велик, можно уточнить информацию с помощью ключевого слова (<<стереотипа>>).
Обязанность – это описание выполняемой классом функции, для которой и предназначены его атрибуты и операции. Это неформальный способ исключить двусмысленность описания.
Ограничение – текст в {}, задающий несколько правил класса, к которому он относится.
Комментарии, присоединенные к классу.
5. Работа со связями (10-15 мин.)
Если классы концептуально взаимодействуют друг с другом, то такое взаимодействие называется ассоциацией. Когда класс ассоциируется с другим, каждый из них играет свою роль в этой ассоциации. Такие роли можно показать на диаграмме под линией ассоциации возле обозначения класса, выполняющего соответствующую роль.
Иногда ассоциация между двумя классами должна удовлетворять некоторому правилу. Оно заключается в размещении ограничения возле линии ассоциации. {надпись над линией} или –--{или}---- между двумя ассоциациями.
Классы ассоциации. Ассоциация может иметь атрибуты и операции. В этом случае можно говорить о классе ассоциации. Для отображения класса ассоциации используются обозначения обычного класса с добавлением -----, соединяющего его с линией ассоциации.
Связь является экземпляром ассоциации. Она соединяет объекты. При изображении связи ее имя подчеркивается, как и имена объектов.
Кратность. Квалификатор ассоциации: если кратность ассоциации описывается отношением «один ко многим», возникает проблема поиска. Если объект одного класса для выполнения отведенной ему роли в ассоциации должен выбрать конкретный объект другого класса, то он может сделать это на основе некоторого заданного атрибута. Этот атрибут представляет собой идентификатор. В UML идентифицирующая информация называется квалификатором. Он обозначается небольшим прямоугольником, который прилегает к обозначению одиночного класса в отношении «один ко многим».
Иногда класс ассоциирован сам с собой. Этот вариант отношений (рефлексивная ассоциация), может возникнуть тогда, когда объекты класса выполняют несколько ролей.
В UML для наследования используется термин обобщение. Один класс может наследовать атрибуты и операции другого. Родительский класс является более общим по отношению к дочернему. Линия с незакрашенным треугольником на конце, указ. на родительский класс. Класс без родителя – базовый. Несколько родителей –множественное наследование. Абстрактные классы?
Другой тип взаимосвязи – зависимость. Наиболее общим случаем зависимости является использование одного класса в сигнатуре операции другого класса. Обозначается пунктирной линией, направленной от зависимого класса.