Предисловие

Структура книги
Рекомендации по изучению языка UML
Благодарности
Часть I. Основы UML

Глава 1. Введение

1.1. Методология процедурно-ориентированного программирования
1.2. Методология объектно-ориентированного программирования
1.3. Методология объектно-ориентированного анализа и проектирования
1.4. Методология системного анализа и системного моделирования

Глава 2. Исторический обзор развития методологии объектно-
ориентированного анализа и проектирования сложных систем
2.1. Предыстория. Математические основы
Теория множеств
Теория графов
Семантические сети
2.2. Диаграммы структурного системного анализа
Диаграммы "cущность-связь"
Диаграммы функционального моделирования
Диаграммы потоков данных
2.3. Основные этапы развития UML

Глава 3. Основные компоненты языка UML

3.1. Назначение языка UML
3.2. Общая структура языка UML
3.3. Пакеты в языке UML
3.4. Основные пакеты метамодели языка UML
Пакет Основные элементы
Пакет Элементы ядра
Пакет Вспомогательные элементы
Пакет Механизмы расширения
Пакет Типы данных
Пакет Элементы поведения
Пакет Общее поведение
Пакет Кооперации
Пакет Варианты использования
Пакет Автоматы
Пакет Общие механизмы
Пакет Управление моделями
3.5. Специфика описания метамодели языка UML
3.6. Особенности изображения диаграмм языка

Часть II. Диаграммы концептуального, логического и физического моделирования

Глава 4. Диаграмма вариантов использования (use case diagram)

4.1. Вариант использования
4.2. Актеры
4.3. Интерфейсы
4.4. Примечания
4.5. Отношения на диаграмме вариантов использования
Отношение ассоциации
Отношение расширения
Отношение обобщения
Отношение включения
4.6. Пример построения диаграммы вариантов использования
4.7. Рекомендации по разработке диаграмм вариантов использования

Глава 5. Диаграмма классов (class diagram)

5.1. Класс
Имя класса
Атрибуты класса
Операция
5.2. Отношения между классами
Отношение зависимости
Отношение ассоциации
Отношение агрегации
Отношение композиции
Отношение обобщения
5.3. Интерфейсы
5.4. Объекты
5.5. Шаблоны или параметризованные классы
5.6. Рекомендации по построению диаграмм классов

Глава 6. Диаграмма состояний (statechart diagram)

6.1. Автоматы
6.2. Состояние
Имя состояния
Список внутренних действий
Начальное состояние
Конечное состояние
6.3. Переход
Событие
Сторожевое условие
Выражение действия
6.4. Составное состояние и подсостояние
Последовательные подсостояния
Параллельные подсостояния
6.5. Историческое состояние
6.6. Сложные переходы
Переходы между параллельными состояниями
Переходы между составными состояниями
Синхронизирующие состояния
6.7. Заключительные рекомендации по построению диаграмм состояний

Глава 7. Диаграмма деятельности (activity diagram)

7.1. Состояние действия
7.2. Переходы
7.3. Дорожки
7.4. Объекты
7.5. Рекомендации по построению диаграмм деятельности

Глава 8. Диаграмма последовательности (sequence diagram)

8.1. Объекты
Линия жизни объекта
Фокус управления
8.2. Сообщения
Ветвление потока управления
Стереотипы сообщений
Временные ограничения на диаграммах последовательности
Комментарии или примечания
8.3. Пример построения диаграммы последовательности
8.4. Заключительные рекомендации по построению диаграмм последовательности

Глава 9. Диаграмма кооперации (collaboration diagram)

9.1. Кооперация
Диаграмма кооперации уровня спецификации
9.2. Объекты
Мультиобъект
Активный объект
Составной объект
9.3. Связи
Стереотипы связей
9.4. Сообщения
Формат записи сообщений
9.5. Пример построения диаграммы кооперации
9.6. Заключительные рекомендации по построению диаграмм кооперации

Глава 10. Диаграмма компонентов (component diagram)

10.1. Компоненты
Имя компонента
Виды компонентов
10.2. Интерфейсы
10.3. Зависимости
10.4. Рекомендации по построению диаграммы компонентов

Глава 11. Диаграмма развертывания (deployment diagram)

11.1. Узел
11.2. Соединения
11.3. Рекомендации по построению диаграммы развертывания

Часть III. Средства реализации CASE-технологий

Глава 12. Особенности реализации языка UML в CASE-инструментарии Rational Rose 98/2000

12.1. Общая характеристика CASE-средства Rational Rose 98/2000
12.2. Особенности рабочего интерфейса Rational Rose
Главное меню программы
Стандартная панель инструментов
Окно браузера
Специальная панель инструментов
Окно диаграммы
Окно документации
Окно журнала
12.3. Начало работы над проектом в среде Rational Rose
12.4. Разработка диаграммы вариантов использования в среде Rational Rose
12.5. Разработка диаграммы классов в среде Rational Rose
12.6. Разработка диаграммы состояний в среде Rational Rose
12.7. Разработка диаграммы последовательности в среде Rational Rose
12.8. Разработка диаграммы кооперации в среде Rational Rose
12.9. Разработка диаграммы компонентов в среде Rational Rose
12.10. Разработка диаграммы развертывания в среде Rational Rose
Заключение
Приложение. Язык объектных ограничений
Выражения языка OCL
Основные типы значений и операций в языке OCL
Операции над отдельными типами значений
Операции с действительными числами
Операции с целыми числами
Операции со строками
Операции с Булевыми выражениями
Операция @pre для указания предшествующих элементов
Допустимые выражения в языке OCL
Неопределенные значения выражений
Совокупности допустимых значений в языке OCL
Операции над совокупностями значений
Операция выбора select
Операция исключения reject
Операция формирования совокупности collect
Операция "для всех" forAll
Операция "существует" exists
Другие операции над совокупностью значений
Некоторые операции с множествами, последовательностями и комплектами
Операции преобразования типов
Примеры записи выражений языка OCL
Определение значения переменной
Определение возраста сотрудника
Определение кратности значений
Определение совокупности инвариантов
Глоссарий
Список литературы