
- •Алгоритмизация и программирование Проектирование программного обеспечения
- •1. Базовые принципы и понятия технологии разработки сложного по
- •Разработка модели
- •1.2. Методология объектно-ориентированного анализа и проектирования
- •1.3. Концепция разработки архитектур, управляемых моделями
- •2. Основы языка uml
- •Uml модель и ее элементы
- •Отношения
- •Диаграммы
- •1.5. Общие диаграммы
- •1. Диаграммы использования
- •Invoice
- •2. Диаграмма классов
- •4. Диаграмма деятельности
- •Сущность – Вариант использования (use case)
- •Варианты отношения зависимости: расширение и включение Отношение расширения
- •Диаграмма классов
- •1. Диаграмма классов – основная логическая модель проектируемой системы
- •Диаграмма классов
- •2. Класс
- •2.1. Имя класса
- •2.2. Атрибуты класса
- •Кратность
- •2.3.Операции класса
- •1.. * 1
- •I j
- •3.2. N-арная ассоциация
- •3.3. Ассоциация-класс
- •3.4. Квалификатор
- •3.5. Обобщение
- •3.6. Множество обобщений
- •3.7. Агрегация
- •3.8. Композиция
- •1 1 1 1
- •1 2 1 1
- •3.9. Зависимость
- •3.10. Реализация
- •4. Интерфейс
- •IДатчик
- •5. Шаблон
- •5. Диаграмма композитной структуры (composite structure diagram)
- •6. Дополнительные диаграммы структуры
- •7. Диаграмма последовательности (sequence diagram)
Отношения
UML использует четыре основных типа отношения:
зависимость (dependency);
ассоциация (association);
обобщение (generalization);
реализация (realization).
Зависимость – это наиболее общий тип отношения между двумя сущностями. Отношение зависимости указывает на то, что изменение независимой сущности каким-то образом влияет на зависимую сущность.
Графически отношение зависимости изображается в виде пунктирной линии со стрелкой, направленной от зависимой сущности к независимой. (рис. 6).
Пример графического обозначения зависимости:
Зависимость
Parser
Data
зависимая сущность независимая сущность
Рис. 6. Отношение зависимости
_________________________________________________________________________
Ассоциация – непосредственная связь одной сущности с другой (или с другими – ассоциация может быть не только бинарной). Это наиболее часто используемый тип отношения между сущностями.
Графически ассоциация изображается в виде линии с различными дополнениями.
Ассоциация
4
Car
Wheel
связанные сущности
Рис. 7. Отношение ассоциации
Отношение часть-целое является частным случаем ассоциации и называется отношением агрегации.
______________________________________________________________________
Обобщение – это отношение между двумя сущностями, одна из которых является частным (специализированным) случаем другой.
Графически обобщение изображается в виде линии с треугольной не закрашенной стрелкой на конце (рис. 9).
суперкласс
Shape
обобщение
Circle Square
подклассы
Рис. 9. Отношение обобщения
______________________________________________________________________
Отношение реализации – указывает, что одна сущность является реализацией другой. (Используется реже, чем предыдущие три типа отношений, поскольку часто подразумеваются по умолчанию.
Например, класс является реализацией интерфейса.
Графическиреализация
изображается
в виде пунктирной линии с треугольной
не закрашенной стрелкой на конце,
направленной от реализующей сущности
к реализуемой (рис. 10).
«Interface»
Результат Command
сущность
do()
OpenDocCmd CloseDocCmd
Реализующая
сущность
Рис. 10. Отношение обобщения
Диаграммы
Помимо сущностей и отношений, в модели должна быть структура, которая бы помогла ее составлению и пониманию.
Диаграмма UML и есть та основная накладываемая на модель структура, которая позволяет создавать и использовать модели.
Диаграмма (diagram) – это графическое представление некоторой части графа модели.
В UML определен набор рекомендуемых к использованию типов диаграмм, которые получили название канонических типов диаграмм
Типы канонических диаграмм
Таблица 12. Типы и теги диаграмм в UML
№ |
Название диаграммы |
Тег (стандартный) |
Тег (в конспекте) |
|
Диаграмма использования |
user case или uc |
user case |
|
Диаграмма классов |
class |
class |
|
Диаграмма автоматов |
state machine или stm |
state machine |
|
Диаграмма деятельности |
activity или act |
activity |
|
Диаграмма последовательности |
interaction или sd |
sd |
|
Диаграмма коммуникаций |
interaction или sd |
comm |
|
Диаграмма компонентов |
component или cmp |
component |
|
Диаграмма размещения |
не определен |
deployment |
|
Диаграмма объектов |
не определен |
object |
|
Диаграмма внутренней структуры |
class |
class |
|
Обзорная диаграмма взаимодействия |
interaction или sd |
interaction |
|
Диаграмма синхронизации |
interaction или sd |
timing |
|
Диаграмма пакетов |
package или pkg |
package |
Обобщенная иерархия типов диаграмм UML
Общий шаблон представления диаграммы приведен на рис. 14.
Основных элементов два:
наружная рамка;
ярлычок с названием диаграммы.
Название диаграмм записываются в специальном формате, показанном на рис. 14.
<тег>
< Название диаграммы >
Рис. 14. Нотация для диаграммы
Все диаграммы можно условно разбить на две группы:
(Если разделять все UML диаграммы по критерию в каких областях их можно использовать, то в этом случае их можно разделить на две группы:)
общие диаграммы (с 1 по 8 см. табл. 12);
специальные диаграммы (с 9 по 13 см. табл. 12).