SlideShare ist ein Scribd-Unternehmen logo
1 von 26
Downloaden Sie, um offline zu lesen
ПОСТРОЕНИЕ
UML ДИАГРАММ
Тришина Екатерина
O ЧЕМ БУДЕТ РАССКАЗАНО
➤ Что такое UML?
➤ Виды диаграмм и особенности использования
➤ Генерация диаграмм из кода
➤ Сравнение инструментов
ЧТО ТАКОЕ UML?
➤ UML - это графический язык моделирования общего
назначения.
ЗАЧЕМ ИСПОЛЬЗОВАТЬ ДИАГРАММЫ?
➤ Основная цель диаграмм - визуализация
разрабатываемой системы с разных точек зрения.
Диаграмма - в самом общем смысле некоторый срез
системы.
ОСНОВНЫЕ ГРУППЫ ДИАГРАММ
➤ статическая
➤ динамическая
➤ физическая
ДИАГРАММА КЛАССОВ
ДИАГРАММА ОБЪЕКТОВ
ДИАГРАММЫ ВЗАИМОДЕЙСТВИЯ
➤ диаграммы последовательностей
➤ диаграммы коопераций
ДИАГРАММА ПОСЛЕДОВАТЕЛЬНОСТИ
ДИАГРАММА КООПЕРАЦИИ
ДИАГРАММА ПРЕЦЕДЕНТОВ
ДИАГРАММА СОСТОЯНИЙ
ДИАГРАММЫ ДЕЯТЕЛЬНОСТИ
ДИАГРАММА КОМПОНЕНТОВ
ДИАГРАММА РАЗВЕРТЫВАНИЯ
ГЕНЕРАЦИЯ ДИАГРАММ ИЗ КОДА
➤ Objective-C: Doxygen, OmniGraffle
➤ Swift: отсутствует
DOXYGEN
OMNIGRAFFLE
СРАВНЕНИЕ РЕДАКТОРОВ ДЛЯ ПОСТРОЕНИЯ ДИАГРАММ
➤ startUML
➤ draw.io
➤ Lucidchart
➤ GraphViz
STARUML
DRAW.IO
LUCIDCHART
GRAPHVIZ
ПЛЮСЫ ИСПОЛЬЗОВАНИЯ ДИАГРАММ
➤ наглядность
➤ помощь в проектировании
➤ документирование
➤ model driven development
МИНУСЫ ИСПОЛЬЗОВАНИЯ ДИАГРАММ
➤ дополнительное время
➤ трудозатратно
БОНУС
➤ Шпаргалка по обозначениям в диаграммах классов
http://programador.ru/uml-class-diagram-relation/

Weitere ähnliche Inhalte

Mehr von RAMBLER&Co

Mehr von RAMBLER&Co (20)

RDSDataSource: Основы LLVM
RDSDataSource: Основы LLVMRDSDataSource: Основы LLVM
RDSDataSource: Основы LLVM
 
Rambler.iOS #9: Анализируй это!
Rambler.iOS #9: Анализируй это!Rambler.iOS #9: Анализируй это!
Rambler.iOS #9: Анализируй это!
 
Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?
Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?
Rambler.iOS #9: Нужны ли бэкенд-разработчики, когда есть Swift?
 
Rambler.iOS #9: Life with out of memory
Rambler.iOS #9: Life with out of memoryRambler.iOS #9: Life with out of memory
Rambler.iOS #9: Life with out of memory
 
RDSDataSource: Чистые тесты на Swift
RDSDataSource: Чистые тесты на SwiftRDSDataSource: Чистые тесты на Swift
RDSDataSource: Чистые тесты на Swift
 
RDSDataSource: OCLint
RDSDataSource: OCLintRDSDataSource: OCLint
RDSDataSource: OCLint
 
RDSDataSource: App Thinning
RDSDataSource: App ThinningRDSDataSource: App Thinning
RDSDataSource: App Thinning
 
RDSDataSource: Мастер-класс по Dip
RDSDataSource: Мастер-класс по DipRDSDataSource: Мастер-класс по Dip
RDSDataSource: Мастер-класс по Dip
 
RDSDataSource: YapDatabase
RDSDataSource: YapDatabaseRDSDataSource: YapDatabase
RDSDataSource: YapDatabase
 
Rambler.iOS #8: Чистые unit-тесты
Rambler.iOS #8: Чистые unit-тестыRambler.iOS #8: Чистые unit-тесты
Rambler.iOS #8: Чистые unit-тесты
 
Rambler.iOS #8: Сервис-ориентированная архитектура
Rambler.iOS #8: Сервис-ориентированная архитектураRambler.iOS #8: Сервис-ориентированная архитектура
Rambler.iOS #8: Сервис-ориентированная архитектура
 
Rambler.iOS #8: Make your app extensible with JavaScriptCore
Rambler.iOS #8: Make your app extensible with JavaScriptCoreRambler.iOS #8: Make your app extensible with JavaScriptCore
Rambler.iOS #8: Make your app extensible with JavaScriptCore
 
Rambler.iOS #8: Как не стать жертвой бэкендеров
Rambler.iOS #8: Как не стать жертвой бэкендеровRambler.iOS #8: Как не стать жертвой бэкендеров
Rambler.iOS #8: Как не стать жертвой бэкендеров
 
RDSDataSource: iOS Reverse Engineering for inexperienced
RDSDataSource: iOS Reverse Engineering for inexperiencedRDSDataSource: iOS Reverse Engineering for inexperienced
RDSDataSource: iOS Reverse Engineering for inexperienced
 
RDSDataSource: Автогенерация документации для SDK
RDSDataSource: Автогенерация документации для SDKRDSDataSource: Автогенерация документации для SDK
RDSDataSource: Автогенерация документации для SDK
 
RDSDataSource: Плюрализация в iOS
RDSDataSource: Плюрализация в iOSRDSDataSource: Плюрализация в iOS
RDSDataSource: Плюрализация в iOS
 
RDSDataSource: Promises
RDSDataSource: PromisesRDSDataSource: Promises
RDSDataSource: Promises
 
RDSDataSource: Flux, Redux, ReSwift
RDSDataSource: Flux, Redux, ReSwiftRDSDataSource: Flux, Redux, ReSwift
RDSDataSource: Flux, Redux, ReSwift
 
Rambler.iOS #7: Построение сложного табличного интерфейса
Rambler.iOS #7: Построение сложного табличного интерфейсаRambler.iOS #7: Построение сложного табличного интерфейса
Rambler.iOS #7: Построение сложного табличного интерфейса
 
Rambler.iOS #7: Прием платежей по банковским картам в iOS приложении
Rambler.iOS #7: Прием платежей по банковским картам в iOS приложенииRambler.iOS #7: Прием платежей по банковским картам в iOS приложении
Rambler.iOS #7: Прием платежей по банковским картам в iOS приложении
 

RDSDataSource: Построение UML диаграмм