UML
Структурные диаграммы UML
Диаграммы поведения UML
Взгляды на архитектуру
Диаграмма деятельности: нотация
Нотация диаграмм классов
Примеры диаграмм классов
Вариант использования: пример
Rational Unified Process
Стадии и итерации RUP
UML 2.0 – новые возможности
831.50K
Category: softwaresoftware

Унифицированный язык моделирования 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)
English     Русский Rules