
- •Объектно-ориентированный анализ: моделирование мира в состояниях содержание
- •1 Краткий обзор объектно-ориентированного анализа
- •1.1 Установка для анализа
- •1.2 Информационные модели
- •1.3 Модели состояний
- •1.4 Модели процессов
- •1.5 Рабочие продукты ооа
- •1.6 Краткое содержание
- •2 Концепции информационного моделирования
- •2.1 Объекты Понятие объекта
- •Идентификация объектов
- •Описания объектов
- •2.2 Атрибуты Понятие атрибута
- •Домены и значения атрибутов
- •Идентификаторы
- •Представление
- •Табличная интерпретация
- •Типы атрибутов
- •Описание атрибутов и доменов
- •Правила атрибутов
- •2.3 Связи Понятие связи
- •Представление
- •Безусловные связи
- •Условные формы
- •Описания связи
- •2.4 Формализация связи
- •2.5 Композиция связей
- •2.6 Подтипы и супертипы
- •2.7 Рабочие продукты
- •3 Жизненные циклы объектов
- •3.1 Модели поведений в реальном мире
- •3.2 Жизненные циклы и диаграмма переходов в состояния
- •Жизненные циклы кок модели состояний
- •Завершение предписанного интервала для приготовления пищи.
- •Координация жизненных циклов
- •Модели состоянии против конечных автоматов
- •3.3 Состояния
- •Номера и названия состояний
- •Состояние создания
- •Заключительное состояние
- •Текущее состояние
- •Данные события
- •Данные событий и состояния
- •Абстрагирование событий из инцидентов
- •Спецификация события против экземпляров события
- •3.5 Действия Действия и экземпляры
- •Что может делать действие
- •Что должно делать действие
- •Описание действия
- •Действия, события и время
- •Запоминание событий
- •3.6 Переходы и таблица переходов в состояния Правила переходов
- •Наполнение ячеек
- •Роль таблицы переходов в состояния
- •3.7 Таймеры Понятие таймера
- •Условные обозначения псевдокода для Таймеров
- •Использование таймера
- •3.8 Общие формы жизненных циклов
- •3.9 Формирование жизненных циклов
- •3.10 Жизненные циклы для подтипов и супертипов
- •Миграция подтипов
- •Немигрирующие подтипы
- •3.11 Когда формируются жизненные циклы
- •3.12 Анализ отказов Анормальное поведение
- •Анализ отказов в ооа
- •Отказы во внешнем процессе и интерфейсном оборудовании
- •Идентификации отказов посредством ооа моделей
- •Заключительное замечание
- •3.13 Рабочие продукты Модели состояний
- •Список событий
- •4 Динамика связей
- •4.1 Динамика связей
- •4.2 Жизненные циклы связей
- •4.3 Динамические связи вне жизненных циклов
- •4.4 Конкурирующие связи: монитор Конкуренция в реальном мире
- •Конкуренция в ооа
- •Мониторы
- •Выбор экземпляра
- •4.5 Общий случай конкурирующей связи
- •4.6 Конкурирующие связи с жизненными циклами экземпляров
- •4.7 Советы по моделированию
- •5 Динамики систем
- •5.1 Модель взаимодействия объектов
- •5.2 Иерархическое представление объектов Интеллект, контекст и цель
- •Иерархическое представление на мво
- •5.3 Схемы взаимодействий
- •Типы событий
- •5.4 Каналы управления Понятие канала управления
- •Время и канал управления
- •Применение
- •5.5 Имитирование
- •Установление состояния системы
- •Выполнение имитирования
- •5.6 Как рассматривать время Интерпретации параллелизма
- •Правила времени ооа
- •Правила относительно действий
- •Правила непротиворечивых данных
- •Правила событий
- •5.7 Многократное управление
- •Определение частоты
- •6 Модели процессов
- •6.1 Определение действия
- •6.2 Диаграммы потоков данных действий
- •Процессы и потоки данных
- •Устойчивые данные
- •Получаемые события
- •Порождаемые события
- •Идентификаторы процессов
- •Потоки данных между процессами
- •Таймеры
- •Уничтожение экземпляров
- •Потоки управления
- •Неустойчивые данные
- •6.4 Многократное использование процессов
- •Критерии многократного использования
- •Что это значит: быть процессом ?
- •6.5 Формирование и определение процессов
- •Типы процессов
- •Аксессоры
- •Генераторы событий
- •Преобразования
- •Проверка
- •Когда объект имеет две модели состояний
- •6.6 Наименование и описание процессов
- •Аксессоры
- •Описание
- •Генераторы событий
- •Преобразования
- •Проверки
- •6.7 Таблица процессов состояний
- •6.8 Модель доступа к объектам Синхронное взаимодействие против асинхронного
- •Представление
- •6.9 Рабочие продукты
- •7 Домены
- •7.1 Понятие домена
- •7.2 Типы доменов
- •Прикладные домены
- •Сервисные домены
- •Архитектурный домен
- •Домены реализации
- •7.3 Мосты Мосты, пользователи и исполнители (клиенты и сервера)
- •Предложения и требования
- •7.4 Определение доменов Домены
- •Тестирование доменов
- •7.5 Использование ооа с множественными доменами Порядок работы
- •Работа над отчетом
- •8 Управление большим доменом
- •8.1 Понятие подсистемы
- •8.2 Начальное определение подсистем Проблема начальной инициализации
- •Заключительные замечания
- •8.3 Анализ большого домена
- •Уникальная идентификация элементов модели
- •Связи между подсистемами
- •Дублирование объектов
- •Расщепленные кластеры
- •Трудно поддающиеся контролю и обработке большие подсистемы
- •Приведение в порядок имен и описаний подсистем
- •8.4 Модели доменового уровня
- •Модель связей подсистем
- •Модель взаимодействий подсистем
- •Модель доступа к подсистемам
- •8.5 Проектная матрица Что представляет проектная матрица
- •Деятельность при анализе
- •8.6 Записная книжка подсистемы
- •1.4 Проектная матрица
- •9 Преобразование объектно-ориентированного анализа в объектно-ориентированное проектирование
- •9.1 Введение
- •Принцип проектирования
- •Терминология
- •9.2 Краткий обзор проектирования
- •9.3 Механизм конечного автомата архитектуры
- •Инкапсулированные данные
- •Теория операции: прохождение конечного автомата
- •Теория операции: инициализация
- •9.4 Класс Таймер
- •9.5 Диаграммы классов для прикладных классов Образцы
- •Пассивные классы
- •Компоненты экземпляра
- •Активные классы
- •Определительные классы
- •9.6 Наследование
- •Установление структуры данных
- •Подтип-Супертип
- •Сервисные домены
- •9.7 Схемы структуры класса для прикладных классов
- •9.8 Основная программа
- •Инициализация
- •Внешние события
- •Поток управления
- •Таймеры
- •9.9 Расширение и использование архитектуры Варьирование
- •Рабочие продукты
- •Многозадачный режим
- •9.10 Рекурсивное проектирование
- •Структурные элементы и правила архитектуры
- •Правила преобразования: от прикладных моделей к архитектуре
- •Правила преобразования: от архитектуры к реализации
- •A. Oodle: He зависимая от языка нотация для объектно-ориентированного проектирования
- •1.1 Что представлять
- •1.2 Стиль представления
- •Возможность ручного изображения
- •Никаких излишних различий
- •Однократный просмотр против многократных
- •Насыщенность информации
- •Правила непротиворечивости
- •Правила включения
- •Никаких сложных требований относительно размещения
- •Альтернативные представления
- •2 Компоненты нотации
- •3 Диаграмма класса
- •3.1 Назначение
- •3.2 Символика Класс
- •Логические компоненты
- •Общедоступные операции
- •Параметры
- •Базис операции и упорядочивание воков
- •Отсрочка
- •Связывание во время компиляции против связывания во время выполнения
- •Имена модулей
- •Первичные модули
- •Внешние модули
- •Данные экземпляра
- •Другие устойчивые данные
- •Полиморфизм
- •Исключения
- •4.3 Обсуждение
- •5 Диаграмма зависимостей
- •5.1 Зависимость
- •Пользователь-исполнитель (клиент-сервер)
- •Назначение диаграммы
- •5.2 Символика
- •5.3 Альтернативные представления и автоматизация
- •6 Диаграмма наследования
- •6.1 Назначение
- •6.2 Символика
- •6.3 Альтернативное представление и автоматизация
Время и канал управления
Схема канала управления может использоваться для анализа времени, требуемого системе, чтобы отреагировать на незапрашиваемое событие. Для более детального обсуждения нам сначала необходима некоторая терминология.
-
Время, на протяжении которого экземпляр занимает состояние, составляется из времени действия и времени задержки.
-
Время действия - это время, требуемое для выполнения действия.
-
Время задержки - это время, на протяжении которого экземпляр остается в этом состоянии после завершения действия.
Время задержки иногда может быть полностью определено экземпляром и состоянием: требуется 10 мин для обслуживания Клиента б и 6 мин, чтобы обслужить Клиента 10. В качестве альтернативы время задержки может определяться взаимодействиями между конечными автоматами: продолжительность времени, необходимая Клиенту 10 для нахождения в состоянии Ожидает Клерка, - нуль, но фактическое время задержки для этого состояния может быть значительно больше, в зависимости от занятости клерка.
Для описания времени каналов управления на схеме
-
аннотируют каждое состояние его временем действия;
-
если время задержки состояния определяется исключительно экземпляром и состоянием, аннотируют переход из этого состояния со свойственным временем задержки;
-
если время задержки состояния определяется взаимодействиями между конечными автоматами, символ конденсатора помещают на переходе из того состояния.
Рис.5.4.2. Схема канала управления для проблемы Клерк - Клиент.
Время, требуемое для реагирования на незапрашиваемое событие КТ1 (появление Клиента 10) теперь может быть вычислено из схемы. Так как этот канал управления расщепляется на две ветви, мы собираем данные в трех частях.
Общий сегмент. Эта порция канала управления начинается с наступления КТ1 и заканчивается Определителем, выполняющим действие состояния Определение. Допустим, что клиент 10 появился, когда клерк обслуживал Клиента 9 в течение 7 мин. Тогда время, требуемое для общего сегмента:
Левая ветвь. Левая ветвь этого канала управления начинается, когда Клиент 10 выполняет действие состояния Обслуживается, и заканчивается, когда он завершает действие удовлетворен. Время, требуемое для этой ветви:
Клиент 10 Обслуживается время действия 0:01
Клиент 10 Обслуживается время задержки 6:00
Клиент 10 Удовлетворен время действия 0:04
Итого 6:05
Правая ветвь. Правая ветвь начинается, когда клерк выполняет действие состояния Обслуживание и заканчивается, когда он завершает действие Ожидания. Время, требуемое для этой ветви:
Клерк Обслуживание время действия 0:01
Клерк Обслуживание время задержки 6:00.
Клерк Завершение обслуживания время действия 0:06
Клерк Завершение обслуживания время задержки 0:00
Клерк Ожидание время действия 0:01
Итого 6:08
Тогда общее время реагирования для незапрашиваемого события КТ1 - 9:26 для ответа по левой ветви и 9:29 – для ответа по правой.