- ••Работу с языком UML существенно облегчает последовательное использование общих механизмов, перечисленных ниже:
- •Спецификации UML
- •Принятые деления
- •Стереотип
- •Помеченное значение
- •Ограничения
- •Механизмы расширения. Пример
- •Диаграммы
- •Диаграмма классов
- •Диаграмма классов
- •Диаграмма объектов
- •Диаграммы прецедентов
- •Диаграмма прецедентов
- •Диаграммы взаимодействий
- •Диаграмма последовательности
- •Диаграмма кооперации
- •Диаграммы состояний
- •Диаграмма состояний
- •Диаграмма деятельности
- •Диаграмма деятельности
- •Диаграмма компонентов
- •Диаграмма компонентов
- •Диаграмма развертывания
- •Диаграмма развертывания
- •Архитектура системы
- •Моделирование системной архитектуры
- ••Вид с точки зрения прецедентов (Use case view) охватывает прецеденты, которые описывают поведение
- ••Вид с точки зрения проектирования (Design view) охватывает классы, интерфейсы и кооперации, формирующие
- ••Вид с точки зрения процессов (Process view) охватывает нити и процессы, формирующие механизмы
- •Процессы
- ••Вид с точки зрения реализации (Implementation view) охватывает компоненты и файлы, используемые для
- ••Вид с точки зрения развертывания (Deployment view) охватывает узлы, формирующие топологию аппаратных средств
•Работу с языком UML существенно облегчает последовательное использование общих механизмов, перечисленных ниже:
•спецификации (Specifications);
•дополнения (Adornments);
•принятые деления (Common divisions);
•механизмы расширения (Extensibility mechanisms).
Спецификации UML
•Спецификации UML создают семантический задний план, который полностью включает в себя составные части всех моделей системы, согласованные между собой.
Box
StartPoint : TPoint
Width : Integer
Height : Integer
Redraw()
MovTo(NewPoint : TPoint)
Resize(w : Integer, h : Integer)
Подробная спецификация класса
Принятые деления
•Прежде всего, существует разделение на классы и объекты
|
|
Jan : Customer |
|||||
|
|
|
|
|
|
|
|
Customer |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
: Customer |
|
|||
Name |
|
|
|
|
|||
|
|
|
|
|
|
|
|
Adress |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Phone |
|
|
|
|
|
|
|
|
|
|
|
Elyse |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
•Еще одним вариантом членения является деление на интерфейс и его реализацию
SpellingWisard.dll
ISpeling
IUnknown
Интерфейсы и реализации
Стереотип
•Стереотип (Stereotype) расширяет словарь UML, позволяя на основе существующих блоков языка создавать новые, специфичные для решения конкретной проблемы.
T_Control |
T_Entity |
T_Boundary |
|
T_Resource |
|
|
|
Помеченное значение
•Помеченное значение (Tagged value) расширяет свойства строительных блоков UML, позволяя включать новую информацию в спецификацию элемента.
Ограничения
•Ограничения (Constraints) расширяют семантику строительных блоков UML, позволяя определять новые или изменять существующие правила.
Механизмы расширения. Пример
Диаграммы
UML выделяют девять типов диаграмм:
•диаграммы классов
•диаграммы объектов;
•диаграммы прецедентов;
•диаграммы последовательностей;
•диаграммы кооперации;
•диаграммы состояний;
•диаграммы действий;
•диаграммы компонентов;
•диаграммы развертывания.
Диаграмма классов
•На диаграмме классов показывают классы, интерфейсы, объекты и кооперации, а также их отношения. При моделировании объектно- ориентированных систем этот тип диаграмм используют чаще всего. Диаграммы классов соответствуют статическому виду системы с точки зрения проектирования. Диаграммы классов, которые включают активные классы, соответствуют статическому виду системы с точки зрения процессов.
Диаграмма классов
<<enum>>
Т_Должн
ассистент ст. преподаватель доцент профессор
<<enum>>
T_УчСт
к.т.н. к.ф.-м.н. к.п.н. д.т.н. д.ф.-м.н. д.п.н
<<enum>>
T_УчЗв
доцент
профессор
<<enum>>
Т_ЦИКЛЫ
гуманитарных и соц-эконом мат. и естеств.науч. общепрофессиональн. специальные
Персона
Фамиллия : String Имя : String Отчество : String Адрес : T_ADR Телефон : Integer
T_ADR
Индекс : T_POSTIDX Город : String
Улица : String Дом : String Квартира : Integer
<<type>>
T_POSTIDX { 6-значное десятичное число }
|
|
|
|
Студенты |
|
|
|
|
|
Номер зачетки : String |
|
|
|
|
|
|
|
Преподаватели |
|
|
1 |
|
|
|
|
||||
Должность : Т_Должн |
|
|
1..n |
|
|
Уч.степень : T_УчСт |
|
|
|
|
|
Уч. звание : T_УчЗв |
+руководитель |
|
|||
Разряд : Integer |
|
1 |
|
|
|
ставка : Double |
|
|
|
|
|
|
|
|
Староста |
|
|
|
|
|
|
|
|
1..n |
1..n |
|
|
|
|
|
|
|
|
|
Ведут занятия
Аспиранты
Форма обучения : Т_ФормОбуч Дата поступления : Date
0..n 0..n
0..n
|
|
|
|
1..n |
1 |
|
|
|
|
|
|
|
|
|
|
1 |
|
0..n |
|
|
|
|
|
|
|||
|
|
|
|
Группа |
|
|
|
|
|
|
|
<<enum>> |
|
|
|
Название : String |
|
|
|
|
|
|
|
Т_ФормОбуч |
|||
|
|
Форма обучения : Т_ФормОбуч |
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
Очная |
||||
|
|
Число студ : Integer |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
Заочная |
||||
|
|
|
|
|
|
|
|
|
|
|
|
||
1..n |
|
|
|
1..n |
|
|
|
1 |
|
|
|||
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
Специальность |
|
|||
Дисциплины |
|
|
|
|
|
|
|
|
|
|
|||
|
|
0..n |
|
|
|
|
|
|
Номер : Integer |
|
|||
Номер : Integer |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
Название : String |
|
||||
Название : String |
|
|
|
|
|
|
1..n |
|
|
||||
|
1..n |
|
|
|
|
Факультет |
|
||||||
Курс : Integer |
|
|
|
|
|
|
|
|
|||||
Цикл : Т_ЦИКЛЫ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Дисциплины-Специальности |
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
Кол-во часов |
|
|
|
|
|
|
|
|
|
|
|
|
|
Кол-во семестров |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|