Similar presentations:
Унифицированный язык моделирования UML
1. UML
2.
Унифицированный языкмоделирования UML
• UML (Unified Modeling Language) – язык графического
описания для объектного моделирования
• UML используется для моделирования программного
обеспечения и бизнес-процессов, а также при
проектировании сложных систем
• UML позволяет сконцентрироваться на важных аспектах
архитектуры, а не на ее внешнем представлении
• Наглядность UML позволяет «разговаривать на одном
языке» заказчику и разработчику (системному архитектору
или программисту)
• UML появился в 1994 г., спецификация UML 2.0 была
опубликована в 2005 г.
• Авторами первой версии UML являются Буч, Рамбо и
Якобсон. В настоящий момент разработкой UML занимается
консорциум OMG (Object Management Group)
3.
UML 2.0 – новые возможности• В диаграммах классов был введен новый маркер
допустимости навигации для ассоциаций. Это
позволяет разработчикам отличить случай, когда
навигация явно запрещена, от случая, когда не
принято решение о запрете или разрешении
навигации
• Диаграммы последовательности в UML 2.0
дополнительно позволяют: именовать и ссылаться на
именованные фрагменты взаимодействия, а также
разбивать линии жизни участников с внутренней
структурой на отдельные взаимодействия
внутренних частей в контексте диаграммы
последовательности
• Семантика языка была значительно уточнена и
расширена для поддержки методологии Model Driven
Architecture (MDA)
4. Структурные диаграммы UML
• Class – диаграмма классов• Object – диаграмма объектов
• Component – диаграмма компонент
системы
• Composite structure – диаграмма
составной структуры
• Deployment – диаграмма развертывания
• Package – диаграмма пакетов
5. Диаграммы поведения UML
• Use case – вариант использования• Sequence – диаграмма последовательности
• Communication – диаграмма коммуникации
• Collaboration – диаграмма взаимодействия
• State – диаграмма состояний
• Activity – диаграмма деятельности
• Timing – диаграмма синхронизации
• Interaction overview – диаграмма обзора
взаимодействия
6. Взгляды на архитектуру
словарь,функциональность
Вид с точки зрения
проектирования
поведение
производительность,
масштабируемость,
пропускная
способность
Вид с точки зрения
реализации
сборка системы,
управление
конфигурацией
Вид с точки зрения
вариантов использования
Вид с точки зрения
процессов
Вид с точки зрения
развертывания
топология системы,
распределение,
поставка,
установка
7. Диаграмма деятельности: нотация
Действие илидеятельность
ActionState1
Начальное
состояние
Конечное
состояние
Параллельное
разделение
Решение
Параллельное
соединение
Имя действия
Поток
объектов
Поток
управления
Плавательная
дорожка
Область
расширения
Отдел продаж
Имя
дорожки
Входной набор
Выходной набор
8.
Диаграмма деятельности:пример
Отдел обслуживания клиентов
Отдел продаж
Склад
Заказать товар
Обработать заказ
Подобрать товар
Отгрузить товар
Получить заказ
Выставить счет клиенту
Оплатить счет
Закрыть заказ
9. Нотация диаграмм классов
КлассИнтерфейс
Имя класса
Customer
name
address
phone
birthday
buy()
makeComplaint()
Атрибуты класса
iSecureInformation
«interface»
iPaint
Роль А
Роль Б
Обобщение
Class B
Shape
Зависимость
Class A
Аггрегация
Композиция
University
University
1
Class B
1..*
Rectangle
«interface»
Interface
1
Кардинальные
числа
Реализация
Class A
Имя интерфейса
Операции класса
Ассоциация
Class A
Примечание
(нота)
Faculty
*
Student
10. Примеры диаграмм классов
Компанияaddress
voice
*
1..*
*
1
-Начальник
name
-сотрудник
1
Офис
Штаб-квартира
1
Контактная информация
1..*
1..*
Студент
1..*
-читает
name
courseID
*
iSecureInformation
1..*
Курс
-посещает
name
studentID
Запись кадрового учета
1..*
1..*
Персона
name
employeeID
title
getPhoto()
getSoundBite()
getContactInformation()
getPersonalRecords()
1
0..1
addInstructor()
removeInstructor()
getInstructor()
getAllInstructors()
*
Преподаватель
name
*
1..*
0..1
-декан
1..*
name
address
phone
addStudent()
removeStudent()
getStudent()
getAllStudents()
addDepartment()
removeDepartment()
getDepartment()
getAllDepartments()
name
-работает
*
-состоит из
-обучается в
1
1..*
Отдел
Факультет
Вуз
1
11.
Диаграммапоследовательностей: пример
s : Caller
: Switch
r : Caller
liftReceiver
setDialTone()
Время
tone
*
dialDigit(d)
{dialed – tone < 30 sec}
dialed
routeCall(s,n)
"create"
c : Conversation
ring()
liftReceiver
connect(r,s)
connect(r)
После соединения
абоненты r и s
могут обмениваться
информацией
connect(s)
12. Вариант использования: пример
Система проверки кредитных карточек«uses»
«uses»
Выполнение карточной транзакции
«uses»
Клиент
«extends»
«uses»
Торговые предприятия
«uses»
Обработка счета клиента
«extends»
«uses»
«uses»
Согласование транзакций
«uses»
Индивидуальный клиент
Субсидирующие финансовые институты
Корпоративный клиент
Управление счетами клиентов
13. Rational Unified Process
• RUP (Rational Unified Process) – один из подходов корганизации жизненного цикла программного обеспечения
• RUP предлагает упорядоченный подход к способам
распределения заданий и обязанностей в организации
• RUP – это итерационный процесс, предполагающий
постепенное проникновение в суть проблемы путем
последовательных уточнений и пошагового наращивания
решений
• Присущая итерационному процессу внутренняя гибкость
позволяет включать в бизнес-цели новые требования и
тактические изменения
• Разработка в рамках RUP сконцентрирована на
архитектуре, управляется вариантами использования,
поддерживает объектно-ориентированные методы и
обеспечивает постоянный контроль качества и
управление риском
14. Стадии и итерации RUP
15. UML 2.0 – новые возможности
• В диаграммах классов был введен новый маркердопустимости навигации для ассоциаций. Это позволяет
разработчикам отличить случай, когда навигация явно
запрещена, от случая, когда не принято решение о
запрете или разрешении навигации
• Диаграммы последовательности в UML 2.0 дополнительно
позволяют: именовать и ссылаться на именованные
фрагменты взаимодействия, а также разбивать линии
жизни участников с внутренней структурой на отдельные
взаимодействия внутренних частей в контексте
диаграммы последовательности
• Семантика языка была значительно уточнена и
расширена для поддержки методологии Model Driven
Development (MDD)