
- •Учебный курс
- •Проблема: Как представить архитектуру программной системы?
- •Архитектура программной системы в нотации UML
- •Диаграмма классов — основная логическая модель проектируемой системы
- •Характеристики классификатора
- •Основные обозначения на диаграмме
- •Варианты графического изображения класса на диаграмме классов
- •Атрибут (attribute) класса
- •Вид видимости
- •Проблема интерпретации видимости в языка UML
- •Элементы записи атрибута
- •Элементы записи атрибута
- •Модификатор атрибута
- •Значения модификатора атрибута
- •Значения модификатора атрибута
- •Кратность
- •Примеры записи атрибутов
- •Операции класса
- •Формат записи операции класса
- •Параметры операции
- •Параметры операции
- •Параметры операции
- •Свойства операций
- •Предусловие (precondition) операции
- •Постусловие (postcondition) операции
- •Примеры записи операций:
- •Отношения на диаграмме классов
- •Ассоциация
- •Строка свойство (property string)
- •Строка свойство (property string)
- •Ассоциация с навигацией и эквивалентное ему представление класса с атрибутом
- •Варианты изображения навигации и кратности у концов ассоциации
- •Исключающая ассоциация между тремя классами
- •Пример тернарной ассоциации
- •Пример 4-арной ассоциации
- •Ассоциация класс (association class)
- •Примеры ассоциации класса и рефлексивной ассоциации
- •Обобщение (generalization)
- •Примеры отношения обобщения
- •Множественное наследование – в языке UML разрешено
- •Множество обобщения (generalization set)
- •Примеры ограничений на множество обобщения
- •Агрегация (aggregation)
- •Пример отношения агрегации
- •Композиция (composition)
- •Пример отношения композиции
- •Варианты обозначения композиции
- •Интерфейс (interface)
- •UML Profile for Software Development Processes
- •Квалификатор (qualifier)
- •Шаблон (template)
- •Самостоятельное задание №2

Строка свойство (property string)
{redefined <имя конца ассоциации>} – конец ассоциации переопределяет другой конец ассоциации с именем <имя конца ассоциации>
{union} – конец ассоциации является производным и определяется посредством объединения своих подмножеств
{ordered} – конец ассоциации представляет собой некоторое упорядоченное множество
{bag} – конец ассоциации представляет собой мультимножество или совокупность, в которой допускается представлять один и тот же элемент более одного раза
{sequence} или {seq} – конец ассоциации представляет собой некоторую последовательность или упорядоченное мультимножество

Ассоциация с навигацией и эквивалентное ему представление класса с атрибутом
М н о г о у г о л ь н и к |
С о д е р ж и т |
+ с т о р о н а |
Л и н и я |
|
|
|
|||
1 |
3 . . * |
|||
|
|
М н о г о у г о л ь н и к
+ с т о р о н а : Л и н и я [ 3 . . * ]

Варианты изображения навигации и кратности у концов ассоциации
|
a |
|
|
A |
|
||
|
|
||
|
1 |
. . 5 |
|
|
|
c |
|
C |
X |
||
|
1 |
. . 5 |
|
|
|
e |
|
E |
|
||
|
1 |
. . 5 |
|
|
|
g |
|
G |
|
||
1X. . 5 |
|||
|
|||
|
i |
|
|
I |
|
||
|
|
||
|
1 . . 5 |
|
b |
|
|
B |
|
|
|
|
2 . . 3 |
|
|
d |
|
|
. .X3 |
D |
|
2 |
|
|
|
f |
|
|
F |
|
2 |
. . 3 |
|
|
h |
|
|
H |
|
|
|
|
2 |
. . 3 |
|
|
j |
|
|
J |
|
|
|
|
2 |
. . 3 |
|

Исключающая ассоциация между тремя классами
|
|
1 |
Ф и з и ч е с к о е |
|
|
И м |
е е т |
л и ц о |
|
|
|
|||
|
|
|||
{ o r |
d 1e .r.e* d } |
|
{ x o r } |
|
|
|
|||
|
|
|||
|
|
|||
|
|
|
||
|
|
|
||
С ч е т в б а н к е |
|
|
||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
{ o r d1 e. .r*e d }
И м е е т |
1 |
|
|
Ю р и д и ч е с к о е |
|||
|
|
||
|
|
л и ц о |
|
|
|
|

Пример тернарной ассоциации

Пример 4-арной ассоциации
|
Ф |
у т б о л |
ь н а я |
|
|
|
к о м |
а н д а |
|
|
|
|
|
|
+ с о п |
е р н и |
к |
1 |
|
+ с е з о н |
И |
г р а |
+ в с т р е ч а |
|
||
Г о д |
Д а т а |
||||||
|
|
|
|||||
|
|
|
|
|
|||
* { o r d e r e d } |
|
|
|
{ o r d e r e d } * |
|||
|
|
|
|
|
+ с о п е р |
н и к |
1 |
|
|
|
|
|
|
Ф |
у т б о л ь н а я |
|
|
|
к о м |
а н д а |
|
|
|
|

Ассоциация класс (association class)
– элемент модели, который имеет свойства как ассоциации, так и класса, и предназначенный для спецификации дополнительных свойств ассоциации в форме атрибутов и, возможно, операций класса.
Ф у т б о л ь н а я |
+ с о п е р н и к - 1 |
|
+ с о п е р н и к - 2 |
Ф у т б о л ь н а я |
|
|
|
||
к о м а н д а |
|
|
|
к о м а н д а |
1 |
|
1 |
||
|
||||
|
|
|
||
|
|
|
|
|
|
И г р а |
|
|
+ в с т р е ч а : Д а т а |
|
+ |
с е з о н : Г о д |
+ м е с т о : S t r in g |
|
+ |
р е з у л ь т а т : I n t e g e r [ 2 ] { o r d e r e d } |
|
|

Примеры ассоциации класса и рефлексивной ассоциации

Обобщение (generalization)
– таксономическое отношение между более общим классификатором (родителем или предком) и более специальным классификатором (дочерним или потомком)
К л а с с - п р е д о к |
|
П р я м о у г о л ь н и к |
||
|
|
|
||
|
|
|
|
|
|
|
|
+ и м я : S t r in g |
|
|
|
|||
|
|
|
+ ц в е т З а л и в к и : C o lo r |
|
|
|
|||
|
|
|
+ в ы с о т а : I n t e r g e r = 5 |
|
|
|
|
+ ш и р и н а : I n t e r g e r |
|
|
|
|
/ п л о щ а д ь : I n t e r g e r { r e a d O n ly } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
К л а с с - п о т о м о к
( а )
К в а д р а т
+ id { r e d e f in e s и м я }
+ в ы |
с |
о т а = 7 |
/ ш и |
р |
и н а |
|
|
|
|
|
( б ) |

Примеры отношения обобщения
Геометрическая
фигура
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Прямоугольник |
|
Окружность |
|
Треугольник |
|||||
|
|
|
|
|
|
|
|
|
|
Геометрическая
фигура
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Прямоугольник |
|
Окружность |
|
Треугольник |
|||
|
|
|
|
|
|
|
|