Справка
x
Поиск
Закладки
Озвучить книгу
Изменить режим чтения
Изменить размер шрифта
Оглавление
Для озвучивания и цитирования книги перейдите в режим постраничного просмотра.
UML. Проектирование систем реального времени, параллельных и распределенных приложений
ЧАСТЬ II. COMET - метод архитектурного проектирования и моделирования параллельных объектов с применением UML
Предыдущая страница
Следующая страница
Table of contents
Предисловие
ЧАСТЬ I. Нотация UML, концепции проектирования, технологии, жизненные циклы и методы
+
ЧАСТЬ II. COMET - метод архитектурного проектирования и моделирования параллельных объектов с применением UML
-
Глава 6. Введение в метод COMET
6.1. Жизненный цикл разработки объектно-ориентированного ПО в методе COMET
6.1.1. Моделирование требований
6.1.2. Аналитическое моделирование
6.1.3. Проектное моделирование
6.1.4. Инкрементное конструирование ПО
6.1.5. Инкрементная интеграция ПО
6.1.6. Комплексное тестирование
6.2. Сравнение жизненного цикла COMET с другими процессами разработки ПО
6.2.1. Сравнение жизненного цикла COMET с USDP
6.2.2. Сравнение жизненного цикла COMET со спиральной моделью
6.3. Модель требований, аналитическая и проектная модели
6.3.1. Виды деятельности при моделировании требований
6.3.2. Виды деятельности при аналитическом моделировании
6.3.3. Виды деятельности при проектном моделировании
6.4. Основы COMET
6.4.1. Разработка модели требований
6.4.2. Разработка аналитической модели
6.4.3. Разработка проектной модели
6.5. Резюме
Глава 7. Моделирование прецедентов
7.1. Прецеденты
7.2. Актеры
7.3. Актеры, роли и пользователи
7.4. Выявление прецедентов
7.5. Документирование прецедентов в модели прецедентов
7.6. Примеры прецедентов
7.6.1. Прецедент "Снять Деньги"
7.6.2. Прецедент "Получить Справку"
7.6.3. Прецедент "Перевести Деньги"
7.7. Отношения прецедентов
7.7.1. Отношение расширения
7.7.2. Отношение включения
7.7.3. Некоторые рекомендации
7.8. Пакеты прецедентов
7.9. Резюме
Глава 8. Статическое моделирование
8.1. Ассоциации между классами
8.1.1. Изображение ассоциаций на диаграммах классов
8.1.2. Кратность ассоциаций
8.1.3. Другие ассоциации
8.1.4. Атрибуты связи
8.1.5. Классы-ассоциации
8.2. Иерархии композиции и агрегирования
8.3. Иерархия обобщения/специализации
8.4. Ограничения
8.5. Статическое моделирование и язык UML
8.5.1. Статическое моделирование предметной области
8.6. Статическое моделирование контекста системы
8.6.1. Внешние классы
8.6.2. Пример разработки диаграммы классов контекста системы с внешними классами
8.6.3. Актеры и внешние классы
8.6.4. Пример разработки диаграммы классов контекста системы на основе рассмотрения актеров
8.7. Статическое моделирование сущностных классов
8.8. Резюме
Глава 9. Разбиение на классы и объекты
9.1. Критерии разбиения на объекты
9.2. Категории классов приложения
9.3. Структурирование категорий объектов
9.4. Внешние и интерфейсные классы
9.4.1. Категории внешних классов
9.4.2. Идентификация интерфейсных классов
9.5. Интерфейсные объекты
9.5.1. Объекты интерфейса устройства
9.5.2. Объекты интерфейса пользователя
9.5.3. Объекты интерфейса системы
9.5.4. Изображение внешних и интерфейсных классов
9.6. Сущностные объекты
9.7. Управляющие объекты
9.7.1. Объекты-координаторы
9.7.2. Управляющие объекты, зависящие от состояния
9.7.3. Объекты-таймеры
9.8. Объекты прикладной логики
9.8.1. Объекты бизнес-логики
9.8.2. Объекты-алгоритмы
9.9. Подсистемы
9.9.1. Пакеты для изображения подсистем
9.9.2. Вопросы, связанные с разбиением на подсистемы
9.10. Резюме
Глава 10. Конечные автоматы и диаграммы состояний
10.1. Конечные автоматы
10.2. События и состояния
10.2.1. События
10.2.2. Состояния
10.3. Конечные автоматы и объекты
10.4. Примеры диаграмм состояний
10.4.1. Пример диаграммы состояний счета
10.4.2. Пример диаграммы состояний банкомата
10.4.3. Пример диаграммы состояний системы круиз-контроля
10.5. События и условия
10.6. Действия
10.6.1. Деятельности
10.6.2. Действия при входе и выходе
10.7. Моделирование различных аспектов системы
10.8. Иерархические диаграммы состояний
10.8.1. Иерархическая декомпозиция состояний
10.8.2. Агрегирование переходов состояний
10.9. Параллельные диаграммы состояний
10.10. Рекомендации по разработке диаграмм состояний
10.11. Построение диаграмм состояний на основе прецедентов
10.12. Пример разработки диаграммы состояний на основе прецедента
10.12.1. Прецедент "Управление Скоростью"
10.12.2. Разработка диаграммы состояний
10.12.3. Рассмотрение альтернативных внешних событий
10.12.4. Разработка иерархической диаграммы состояний
10.12.5. Разработка ортогональной диаграммы состояний
10.13. Резюме
Глава 11. Динамическое моделирование
11.1. Моделирование взаимодействий объектов
11.1.1. Диаграммы кооперации
11.1.2. Диаграммы последовательности
11.1.3. Сравнение диаграмм последовательности и кооперации
11.1.4. Прецеденты и сценарии
11.1.5. Обобщенные и конкретные формы диаграмм взаимодействия
11.2. Сообщения-метки на диаграммах взаимодействия
11.2.1. Порядковая нумерация сообщений
11.2.2. Описание последовательности сообщений
11.3. Динамический анализ
11.4. Динамический анализ, не зависящий от состояния
11.5. Пример динамического анализа, не зависящего от состояния
11.6. Динамический анализ, зависящий от состояния
11.6.1. Определение объектов и взаимодействий
11.6.2. Исполнение диаграммы состояний
11.6.3. Рассмотрение альтернативных последовательностей
11.7. Пример динамического анализа, зависящего от состояния: банковская система
11.7.1. Главная последовательность
11.7.2. Альтернативные последовательности
11.8. Пример динамического анализа, зависящего от состояния: система круиз-контроля
11.9. Резюме
Глава 12. Проектирование архитектуры системы
12.1. Архитектурные стили
12.1.1. Архитектура клиент-сервер
12.1.2. Архитектура с несколькими уровнями абстракции
12.1.3. Архитектура взаимодействующих задач
12.1.4. Смешение архитектурных стилей
12.2. Декомпозиция системы
12.3. Рекомендации по выявлению подсистем
12.4. Консолидированные диаграммы кооперации
12.5. Архитектура подсистем
12.6. Разделение обязанностей при проектировании подсистем
12.7. Критерии разбиения на подсистемы
12.8. Примеры разбиения на подсистемы
12.9. Статическое моделирование на уровне проектирования
12.10. Резюме
Глава 13. Проектирование архитектуры распределенных приложений
13.1. Конфигурируемые архитектуры и программные компоненты
13.2. Шаги проектирования распределенного приложения
13.3. Декомпозиция системы
13.3.1. Проектирование распределенных подсистем
13.3.2. Агрегированные и составные подсистемы в COMET
13.3.3. Проектирование конфигурируемых распределенных подсистем
13.3.4. Критерии конфигурируемости распределенных компонентов
13.4. Проектирование интерфейсов подсистем
13.4.1. Слабо связанный (асинхронный) обмен сообщениями
13.4.2. Сильно связанный (синхронный) обмен сообщениями
13.4.3. Обмен сообщениями между несколькими клиентами и сервером
13.4.4. Коммуникации типа подписка/извещение и групповой обмен сообщениями
13.4.5. Коммуникации с участием брокера
13.4.6. Коммуникации с обговариванием условий
13.5. Управление транзакциями
13.5.1. Протокол двухфазной фиксации в системах обработки транзакций
13.5.2. Вопросы проектирования транзакций
13.6. Проектирование серверных подсистем
13.6.1. Последовательная серверная подсистема
13.6.2. Параллельная серверная подсистема
13.7. Распределение данных
13.7.1. Распределенный сервер
13.7.2. Репликация данных
13.8. Конфигурирование системы
13.8.1. Вопросы конфигурирования системы
13.8.2. Пример конфигурирования целевой системы
13.9. Резюме
Глава 14. Разбиение на задачи
14.1. Вопросы разбиения на параллельные задачи
14.2. Категории критериев разбиения на задачи
14.3. Критерии выделения задач ввода/вывода
14.3.1. Характеристики устройств ввода/вывода
14.3.2. Асинхронные задачи интерфейса с устройствами ввода/вывода
14.3.3. Периодические задачи интерфейса с устройством ввода/вывода
14.3.4. Пассивные задачи интерфейса с устройствами ввода/вывода
14.3.5. Задачи-мониторы ресурсов
14.4. Критерии выделения внутренних задач
14.4.1. Периодические задачи
14.4.2. Асинхронные задачи
14.4.3. Управляющие задачи
14.4.4. Задачи интерфейса пользователя
14.4.5. Множественные однотипные задачи
14.5. Критерии назначения приоритетов задачам
14.5.1. Критические по времени задачи
14.5.2. Некритические по времени расчетные задачи
14.6. Критерии группировки задач
14.6.1. Темпоральная группировка
14.6.2. Последовательная группировка
14.6.3. Группировка по управлению
14.6.4. Группировка по взаимному исключению
14.7. Пересмотр проекта путем инверсии задач
14.7.1. Инверсия нескольких экземпляров задачи
14.7.2. Инверсия последовательных задач
14.7.3. Темпоральная инверсия задач
14.8. Разработка архитектуры задач
14.8.1. Начальная диаграмма параллельной кооперации
14.9. Коммуникации между задачами и синхронизация
14.9.1. Слабо связанный (асинхронный) обмен сообщениями
14.9.2. Сильно связанный (синхронный) обмен сообщениями с ответом
14.9.3. Сильно связанный (синхронный) обмен сообщениями без ответа
14.9.4. Синхронизация по событию
14.9.5. Взаимодействие задач с помощью скрывающего информацию объекта
14.9.6. Пересмотренная диаграмма параллельной кооперации
14.10. Спецификация поведения задачи
14.10.1. Пример спецификации поведения для задачи "Банковский Сервер"
14.10.2. Пример спецификации поведения для задачи "Интерфейс Устройства Считывания Карточек"
14.11. Резюме
Глава 15. Проектирование классов
15.1. Проектирование классов, скрывающих информацию
15.2. Проектирование операций классов
15.2.1. Проектирование операций классов на основе модели взаимодействия
15.2.2. Проектирование операций классов на основе конечного автомата
15.2.3. Проектирование операций классов на основе статической модели
15.3. Классы абстрагирования данных
15.3.1. Пример класса абстрагирования данных
15.4. Классы интерфейса устройства
15.4.1. Проектирование операций классов интерфейса устройств
15.4.2. Классы интерфейса устройства ввода
15.4.3. Классы интерфейса устройства вывода
15.5. Классы, зависящие от состояния
15.6. Классы, скрывающие алгоритмы
15.7. Классы интерфейса пользователя
15.8. Классы бизнес-логики
15.9. Классы-обертки базы данных
15.10. Внутренние программные классы
15.11. Применение наследования при проектировании
15.11.1. Иерархии классов
15.11.2. Абстрактные классы
15.11.3. Полиморфизм и динамическое связывание
15.12. Примеры наследования
15.12.1. Примеры суперклассов и подклассов
15.12.2. Пример полиморфизма и динамического связывания
15.12.3. Пример наследования абстрактному классу
15.13. Спецификация интерфейса класса
15.13.1. Пример спецификации интерфейса класса
15.14. Резюме
Глава 16. Детальное проектирование ПО
16.1. Проектирование составных задач
16.1.1. Отношения между задачами и классами
16.1.2. Разделение обязанностей между задачами и классами
16.1.3. Темпоральная группировка и объекты интерфейса устройств
16.1.4. Группировка по управлению и объекты, скрывающие информацию
16.2. Синхронизация доступа к классам
16.2.1. Пример синхронизации доступа к классу
16.2.2. Операции класса абстрагирования данных
16.2.3. Синхронизация методом взаимного исключения
16.2.4. Синхронизация нескольких читателей и писателей
16.2.5. Синхронизация нескольких читателей и писателей с помощью монитора
16.2.6. Синхронизация нескольких читателей и писателей без ущемления писателей
16.3. Проектирование разъемов для межзадачных коммуникаций
16.3.1. Проектирование разъема, реализующего очередь сообщений
16.3.2. Проектирование разъема, реализующего буфер сообщений
16.3.3. Проектирование разъема, реализующего буфер сообщений с ответом
16.3.4. Проектирование кооперативных задач с использованием разъемов
16.4. Логика упорядочения событий
16.4.1. Пример логики упяорядочения событий для задач отправителя и получателя
16.5. Резюме
Глава 17. Анализ производительности проекта параллельной системы реального времени
17.1. Теория планирования в реальном времени
17.1.1. Планирование периодических задач
17.1.2. Теорема о верхней границе коэффициента использования ЦП
17.1.3. Теорема о времени завершения
17.1.4. Строгая формулировки теоремы о времени завершения
17.1.5. Планирование периодических и апериодических задач
17.1.6. Планирование с синхронизацией задач
17.2. Развитие теории планирования в реальном времени
17.2.1. Инверсия приоритетов
17.2.2. Обобщенная теорема о верхней границе коэффициента использования ЦП
17.2.3. Обобщенная теорема о времени завершения
17.2.4. Планирование в реальном времени и проектирование
17.2.5. Пример применения обобщенной теории планирования в реальном времени
17.3. Анализ производительности с помощью анализа последовательности событий
17.4. Анализ производительности с помощью теории планирования в реальном времени и анализа последовательности событий
17.5. Пример анализа производительности с помощью анализа последовательности событий
17.6. Пример анализа производительности с применением теории планирования в реальном времени
17.7. Анализ производительности по теории планирования в реальном времени и анализа последовательности событий
17.7.1. Эквивалентная апериодическая задача
17.7.2. Назначение других приоритетов
17.7.3. Детальный анализ апериодических задач
17.8. Пересмотр проекта
17.9. Оценка и измерение параметров производительности
17.10. Резюме
ЧАСТЬ III. Примеры проектирования параллельных приложений, распределенных приложений и приложений реального времени
+
Глоссарий
Библиография
Предметный указатель
Данный блок поддерживает скрол*