- •Алгоритмизация и программирование Проектирование программного обеспечения
- •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)
1.. * 1
Кратность полюсов
ассоциации
Имя ассоциации (association name):
элемент необязательный;
имя начинается с большой (прописной) буквы полужирным шрифтом;
Бинарная ассоциация – ассоциация, связывающая два класса
Рефлексивная ассоциация – ассоциация, которая связывает класс с самим собой (частный случай бинарной ассоциации).
Полюс (или Конец ассоциации) (association end) – точка соединения линии ассоциации с классом.
Полюс имеет следующие параметры.
Имя (role), которое определяет роль класса, расположенного на соответствующем полюсе ассоциации.
Имя полюса ассоциации является необязательным параметром.
Имя полюса ассоциации начинается со строчной (маленькой) буквы, и все буквы обычные (нежирные).
Видимость полюса ассоциации устанавливает возможность доступа к соответствующему полюсу ассоциации с других полюсов.
Кратность полюса ассоциации определяет возможное количество экземпляров класса, которое может соотносится с одним экземпляром класса на другом полюсе ассоциации.
Кратность полюсов ассоциации обозначается в виде интервала целых чисел, аналогично кратности атрибутов, но без прямых скобок.
Символ наличия навигации (navigable) изображается с помощью стрелки в форме буквы ”V” на полюсе ассоциации. Наличие стрелки указывает, что класс является доступным для навигации со стороны классов на других полюсах ассоциации
Символ отсутствия навигации (non navigable) изображается с помощью буквы «X” на линии у полюса ассоциации. Наличие этого символа указывает на то, что класс является недоступным для навигации со стороны классов на других полюсах ассоциации.
Строка свойств (property string) записывается в фигурных скобках и служит для указания на наличие дополнительных свойств полюса ассоциации. Список свойств приведен в табл. №
Таблица … Назначение свойств полюсов ассоциаций в UML
№ |
Свойство полюса ассоциации |
Назначение свойства полюса ассоциации |
|
{subsets <имя элемента>} |
Полюс ассоциации представляет собой некоторое подмножество <имя элемента>, в качестве которого может выступать имя полюса ассоциации или атрибута класса |
|
{redefined <имя полюса ассоциации>} |
Полюс ассоциации переопределяет другой Полюс ассоциации с именем <имя полюса ассоциации> |
|
{union} |
Полюс ассоциации является производным и определяется посредством объединения своих подмножеств |
|
{ordered} |
Полюс ассоциации представляет собой некоторое упорядоченное множество |
|
{bag} |
Полюс ассоциации представляет собой мультимножество или совокупность, в которой допускается представлять один и тот же элемент более одного раза |
|
{sequence} или {seq} |
Полюс ассоциации представляет собой некоторую последовательность или упорядоченное мультимножество |
Отсутствие стрелки или символа отсутствия навигации означает, что навигация для соответствующего полюса ассоциации не определена.
Связь это экземпляр ассоциации.
Пример ассоциации с определенной навигацией
Содержит +сторона Многоугольник
Многоугольник Х Линия
1 3 .. * +сторона: Линия[3..*]
а б
Рис. 27 Графическое изображение:
а – бинарной ассоциации с навигацией:
б – эквивалентное ему представление класса с атрибутом
Комментарии к примеру а:
имеет место бинарная ассоциация с названием «Содержит»
один Полюс ассоциации имеет название «сторона»
отсутствует навигация на одной стороне
Пример различных комбинаций наличия и отсутствия навигации у полюсов ассоциации (рис. 28)
ab
A B
1..5 2..*
cd
C X X D
1..5 2..3
ef
E F
1..* 2..3
gh
G X H
1..5 1..3
ij