Программирование на языке UML
Что находится между идеей и кодом? Обзор 14 диаграмм UML / Habr
Цели использования
UML применяется на всех этапах разработки программного обеспечения — от сбора требований до развёртывания и сопровождения
-
Методы композиции и декомпозиции исполняемых UML моделей
В статье рассматриваются способы трансформации исполняемых UML-моделей, которые основаны на композиции или декомпозиции отдельных частей модели и позволяют облегчить понимание модели и упростить работу с ней; предлагаются и обсуждаются новые виды таких трансформаций, иллюстрируется применение преобразований к различным элементам UML-моделей
Конечные автоматы UML
Методы композиции и декомпозиции для конечных автоматов UML
Трансформация Выделение метода для конечных автоматов UML
Выделение в метод возвратной части конечного автомата
Выделение в метод последовательной части конечного автомата
Необходимые условия для выделения части конечного автомата в метод
Трансформация выделение составного состояния для конечных автоматов UML
Выделение составного состояния для скрытия деталей реализации
Метод текстового сравнения переходов
Выделение составного состояния по общему переходу
Выделение составного состояния для моделей, импортированных из SDL
Пример Мобильный телефон
-
Нотация и семантика языка UML
Методология объектно-ориентированного программирования пришла на смену процедурной или алгоритмической организации структуры программного кода, когда стало очевидно, что традиционные методы процедурного программирования не способны справиться ни с растущей сложностью программ и их разработки, ни с повышением их надежности
Методология объектно-ориентированного программирования
Основные этапы развития языка UML
Нотация и семантика языка UML
Общая характеристика моделей объектно-ориентированного анализа и проектирования
Пакеты в языке UML
Канонические диаграммы языка UML
Особенности графического изображения диаграмм языка UML
Рекомендации по графическому изображению диаграмм языка UML
Нотация и семантика языка UML
Диаграмма вариантов использования
Отношения на диаграмме вариантов использования
Дополнительные обозначения языка UML для бизнес-моделирования
Нотация и семантика языка UML
Формализация функциональных требований к системе с помощью диаграммы вариантов использования
Особенности спецификации функциональных требований на диаграмме вариантов использования
Рекомендации по разработке диаграмм вариантов использования
Нотация и семантика языка UML
Класс
Имя класса
Атрибуты класса
Операции класса
Расширение языка UML для построения моделей программного обеспечения и бизнес-систем
Интерфейс
Нотация и семантика языка UML
Отношение ассоциации
Отношение обобщения
Отношение агрегации
Отношение композиции
Рекомендации по построению диаграмм классов
Нотация и семантика языка UML
Кооперация
Объекты и их графическое изображение
Связи на диаграмме кооперации
Сообщения и их графическое изображение
Сообщения и их графическое изображение - 2
Рекомендации по построению диаграмм кооперации
Нотация и семантика языка UML
Объекты и их изображение на диаграмме последовательности
Сообщения на диаграмме последовательности
Ветвление потока управления
Рекомендации по построению диаграмм последовательности
Нотация и семантика языка UML
Диаграмма состояний в контексте конечного автомата
Состояние и его графическое изображение
Переход и событие
Нотация и семантика языка UML
Составное состояние и подсостояние
Исторические состояния
Сложные переходы и псевдосостояния
Рекомендации по построению диаграмм состояний
Нотация и семантика языка UML
Диаграмма деятельности и особенности ее построения
Состояния деятельности и действия
Переходы на диаграмме деятельности
Дорожки
Объекты на диаграмме деятельности
Нотация и семантика языка UML
Диаграмма компонентов и особенности ее построения
Компоненты
Интерфейсы
Зависимости между компонентами
Рекомендации по построению диаграммы компонентов
Нотация и семантика языка UML
Диаграмма развертывания, особенности ее построения
Узел
Соединения и зависимости на диаграмме развертывания
Рекомендации по построению диаграммы развертывания
Нотация и семантика языка UML
Паттерны, их классификация
Паттерны проектирования в нотации языка UML
Паттерн Фасад и его обозначение в нотации языка UML
Паттерн Наблюдатель и его обозначение в нотации языка UML
-
Самоучитель по UML
Появление на рынке программных продуктов первых CASE-средств (Computer Aided Software Engineering) ознаменовало новый этап развития программной инженерии, характерными особенностями которого являются существенное сокращение сроков разработки программных проектов, реализация проектов группой программистов
Методология процедурно-ориентированного
Методология объектно-ориентированного
Методология системного анализа
Самоучитель по UML
Предыстория. Математические основы
Теория множеств
Теория графов
Семантические сети
Диаграммы структурного системного анализа
Диаграммы "сущность-связь"
Диаграммы функционального моделирования
Диаграммы потоков данных
Основные этапы развития UML
Самоучитель по UML
ГЛАВА Диаграмма вариантов использования (use case diagram)
Вариант использования
Актеры
Интерфейсы
Примечания
Отношения на диаграмме вариантов использования
Отношение ассоциации
Отношение расширения
Отношение обобщения
Отношение включения
Пример построения диаграммы вариантов использования
Рекомендации по разработке диаграмм вариантов использования
Самоучитель по UML
ГЛАВА Диаграмма классов (class diagram)
Класс
Имя класса
Атрибуты класса
Операция
Отношения между классами
Отношение зависимости
Отношение ассоциации
Отношение агрегации
Отношение композиции
Отношение обобщения
Интерфейсы .
Объекты
Шаблоны или параметризованные классы
Рекомендации по построению диаграмм классов
Самоучитель по UML
ГЛАВА Диаграмма состояний (statechart diagram)
Автоматы
Состояние
Имя состояния
Список внутренних действий
Начальное состояние
Конечное состояние
Переход
Событие
Сторожевое условие
Выражение действия
Составное состояние и подсостояние
Последовательные подсостояния
Параллельные подсостояния
Историческое состояние
Сложные переходы
Переходы между параллельными состояниями
Переходы между составными состояниями
Синхронизирующие состояния
Заключительные рекомендации по построению диаграмм состояний
Самоучитель по UML
ГЛАВА Диаграмма деятельности (activity diagram)
Состояние действия
Переходы
Дорожки
Объекты
Рекомендации по построению диаграмм деятельности
Самоучитель по UML
ГЛАВА Диаграмма последовательности (sequence diagram)
Объекты
Линия жизни объекта
Фокус управления
Сообщения
Ветвление потока управления
Стереотипы сообщений
Временные ограничения на диаграммах последовательности
Комментарии или примечания
Пример построения диаграммы последовательности
Заключительные рекомендации по построению диаграмм последовательности
Самоучитель по UML
ГЛАВА Диаграмма кооперации (collaboration diagram)
Кооперация
Диаграмма кооперации уровня спецификации
Объекты
Мультиобъект
Активный объект
Составной объект
Связи
Стереотипы связей
Сообщения
Формат записи сообщений
Пример построения диаграммы кооперации
Самоучитель по UML
ГЛАВА Диаграмма компонентов (component diagram)
Компоненты
Имя компонента
Виды компонентов
Интерфейсы
Зависимости
Рекомендации по построению диаграммы компонентов
Самоучитель по UML
ГЛАВА Особенности реализации языка UML в CASE-инструментарии Rational Rose /
Общая характеристика CASE-средства Rational Rose /
Особенности рабочего интерфейса Rational Rose
Главное меню программы
Стандартная панель инструментов
Окно браузера
Специальная панель инструментов
Окно диаграммы
Окно документации
Окно журнала
Начало работы над проектом в среде Rational Rose
Разработка диаграммы вариантов использования в среде Rational Rose
Разработка диаграммы классов в среде Rational Rose
Разработка диаграммы состояний в среде Rational Rose
Разработка диаграммы последовательности в среде Rational Rose
Разработка диаграммы кооперации в среде Rational Rose
Разработка диаграммы компонентов в среде Rational Rose
.. Разработка диаграммы развертывания в среде Rational Rose
-
Язык UML. Руководство пользователя
Экземпляры не существуют сами по себе: они всегда связаны с абстракциями. На языке UML чаще всего моделируют экземпляры классов (называемые объектами), хотя бывают также экземпляры и других сущностей, таких как компоненты, узлы, прецеденты и ассоциации. В UML экземпляр легко отличить от абстракции - для этого надо просто подчеркнуть его имя
Значение моделирования
Принципы моделирования
Объектное моделирование
Глава 2. Введение в язык UML
Обзор UML
UML - это язык
UML - это язык визуализации
UML - это язык специфицирования
UML - это язык конструирования
UML - это язык документирования
Где используется UML
Концептуальная модель UML
Строительные блоки UML
Правила языка UML
Общие механизмы языка UML
Архитектура
Жизненный цикл разработки ПО
Глава 3. Здравствуй, мир!
Ключевые абстракции
Механизмы
Компоненты
Глава 4. Классы
Введение
Термины и понятия
Имена
Атрибуты
Операции
Организация атрибутов и операций
Обязанности
Другие свойства
Словарь системы
Распределение обязанностей в системе
Непрограммные сущности
Примитивные типы
Советы
Глава 5. Отношения
Зависимости
Обобщения
Ассоциации
Простые зависимости
Одиночное наследование
Структурные отношения
Глава 6. Общие механизмы
Примечания
Другие дополнения
Стереотипы
Помеченные значения
Ограничения
Стандартные элементы
Комментарии
Новые строительные блоки
Новые свойства
Новая семантика
Глава 7. Диаграммы
Структурные диаграммы
Диаграммы поведения
Различные представления системы
Различные уровни абстракции
Сложные представления
Глава 8. Диаграммы классов
Содержание
Типичные примеры применения
Простые кооперации
Логическая схема базы данных
Прямое и обратное проектирование
Глава 9. Углубленное изучение классов
Классификаторы
Видимость
Область действия
Абстрактные, корневые, листовые и полиморфные элементы
Кратность
Шаблоны классов
Семантика класса
Глава 10. Углубленное изучение отношений
Реализация
Сети отношений
Глава 11. Интерфейсы, типы и роли
Язык UML. Руководство пользователя
Отношения
Как разобраться в интерфейсе
Типы и роли
Стыковочные узлы системы
Статические и динамические типы
Глава 12. Пакеты
Элементы, принадлежащие пакету
Импорт и экспорт
Группы элементов
Архитектурные виды
Глава 13. Экземпляры
Абстракции и экземпляры
Состояние
Другие особенности
Конкретные экземпляры
Экземпляры-прототипы
Глава 14. Диаграммы объектов
Объектные структуры
Глава 15. Взаимодействия
Контекст
Объекты и роли
Связи
Сообщения
Последовательности
Создание, модификация и уничтожение
Представление
Поток управления
Глава 16. Прецеденты
Прецеденты и актеры
Прецеденты и поток событий
Прецеденты и сценарии
Прецеденты и кооперации
Организация прецедентов
Другие возможности
Поведение элемента
Глава 17. Диаграммы прецедентов
Контекст системы
Требования к системе
Глава 18. Диаграммы взаимодействий
Диаграммы последовательностей
Диаграммы кооперации
Семантическая эквивалентность
Потоки управления во времени
Структура потоков управления
Глава 19. Диаграммы деятельности
Наполнение
Состояния действия и состояния деятельности
Переходы
Ветвление
Разделение и слияние
Дорожки
Траектория объекта
Рабочий процесс
Операция
Глава 20. События и сигналы
Виды событий
Сигналы
События вызова
События времени и изменения
Посылка и получение событий
Семейства сигналов
Исключения
Состояния
Более сложные аспекты состояний и переходов
Подсостояния
Жизненный цикл объекта
Советы
Глава 22. Процессы и нити
Язык UML. Руководство пользователя
Классы и события
Коммуникация
Синхронизация
Представления с точки зрения процессов
Несколько потоков управления
Межпроцессная коммуникация
Глава 23. Время и пространство
Время
Местоположение
Временные ограничения
Распределение объектов
Мигрирующие объекты
Глава 24. Диаграммы состояний
Типичные примеры использования
Реактивные объекты
Прямое и обратное проектирование
Глава 25. Компоненты
Компоненты и классы
Компоненты и интерфейсы
Заменяемость двоичного кода
Виды компонентов
Организация компонентов
Исполняемые программы и библиотеки
Таблицы, файлы и документы
Интерфейс прикладного программирования
Исходный код
Глава 26. Развертывание
Узлы и компоненты
Организация узлов
Соединения
Процессоры и устройства
Распределение компонентов
Глава 27. Кооперации
Структуры
Поведение
Организация коопераций
Реализация прецедента
Реализация операции
Механизм
Глава 28. Образцы и каркасы
Образцы и архитектура
Каркасы
Образцы проектирования
Архитектурные образцы
Глава 29. Диаграммы компонентов
Исполняемая версия
Физическая база данных
Адаптивные системы
Глава 30. Диаграммы развертывания
Типичное применение
Встроенная система
Клиент-серверная система
Полностью распределенная система
Глава 31. Системы и модели
Системы и подсистемы
Модели и представления
Трассировка
Архитектура системы
Системы систем
Переход к UML
Рекомендуемая литература
ЧАСТЬ I. Введение в процесс моделирования
ЧАСТЬ II. Основы структурного моделирования
ЧАСТЬ III. Изучение структурного моделирования
ЧАСТЬ IV. Основы моделирования поведения
ЧАСТЬ V. Более сложные аспекты поведения
ЧАСТЬ VI. Архитектурное моделирование
Приложение А. Нотация UML
Структурные сущности
Поведенческие сущности
Группирующие сущности
Аннотационные сущности
Зависимость
Ассоциация
Обобщение
Расширение
Диаграммы
Приложение С. Рациональный Унифицированный Процесс
Характеристики процесса
Фазы и итерации
Фазы
Итерации
Циклы разработки
Рабочие процессы
Артефакты
Модели
Язык UML. Руководство пользователя
Другие артефакты
Цели
Для кого предназначена эта книга
Как работать с этой книгой
Организация книги и особенности изложения материала
Краткая история UML
Благодарности
Источники дополнительной информации
Принятые в книге обозначения