
- •Объектно-ориентированный анализ: моделирование мира в состояниях содержание
- •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 Альтернативное представление и автоматизация
Иерархическое представление на мво
По соглашению МВО планируется с наиболее хорошо осведомленными и мощными объектами, расположенными вверху страницы, и с менее осведомленными объектами, находящимися ниже. Это обеспечивает приблизительное иерархическое представление объектов, не противоречащее линиям поведения взаимодействия событий, требуемым системой.
Самый низкий уровень. На самом низком уровне мы помещаем объекты с ограниченным знанием о цели системы. Эти объекты, подобно Клапану, просто покорно реагируют на события. Объекты на самом низком уровне соответствуют исполнителям в терминологии проектирования [2]. В системах реального времени такие объекты служат для того, чтобы делать невидимыми подробности сигнального интерфейса для аппаратных средств, они соответствуют парнасовским виртуальным устройствам [3].
Самый высокий уровень. На самом высоком уровне мы помещаем объекты, которые содержат в себе назначение и цель системы, подобно объекту Порция.
Рис.5.1.1.Модель взаимодействия объектов для микроволновой печи
Рис 5.2.1 Схематическое изображение части предприятия по производству соков.
Эти объекты порождают события, проводящие объекты более низкого уровня через их жизненные циклы, и получают события снизу, когда экземпляр более низкого уровня достиг определенного состояния. Объекты на самом высоком уровне соответствуют воздействующим объектам в трминологии объектно-ориентированного проектирования.
Рис.2.5.2. Информационная модель для предприятия по производству соков. Представленная здесь диаграмма разделена на два фрагмента. Объекты Бак и Путь По Трубам приводятся на обеих частях диаграммы.
Рис.5.2.3. Модель взаимодействия объектов для предприятия по производству соков.
Средние уровни. Средние уровни МВО составляются из объектов, имеющих отношение к подпроцессам, взаимодействию людей пли оборудования, полезным конфигурациям более низких объектов (таких, как Путь По Трубам) и ролям объектов (таким, как Входной Клапан Бака). Объекты среднего уровня иногда рассматривают как посредников, поскольку они действуют под влиянием других объектов: когда объект среднего уровня принимает событие сверху, он обычно порождает событие для других объектов ниже его.
5.3 Схемы взаимодействий
Несмотря на то что любой компонент на МВО может в принципе взаимодействовать с любым другим компонентом, наблюдают лишь небольшое количество схем взаимодействий. Для того чтобы описать эти схемы, нам необходимо сначала видеть различия между типами событий.
Типы событий
Внешнее событие – это событие, которое порождается внешней сущностью (терминатором) и принимается моделью состояний в системе. Существует два вида внешних событий.
Незапрашиваемое событие – внешнее событие, которое не было вызвано некоторым предыдущим действием системы. Например, В1: Создать порцию в баке - незапрашиваемое: оно порождается оператором, когда он хочет создать порцию. Система не побуждает оператора делать это и, следовательно, не имеет никакого предупреждения о наступлении события.
Запрашиваемое событие – внешнее событие, которое порождено в ответ на какую-то предыдущую деятельность системы. Например, если команда (событие) о закрытии послана на физический вентиль, ответное событие "клапан сейчас закрыт" - это запрашиваемое событие.
Внутреннее событие – это событие, которое порождается моделью состояний внутри системы.
Схема верхнего управления
В схеме верхнего управления, показанной на рис.5.3.1, объект верхнего уровня принимает незапрашиваемое событие от операторов (или подобных интеллектуальных внешних объектов), чтобы инициализировать значимые воздействия для системы как единого целого. В этой ситуации объект верхнего уровня, по всей вероятности, работает подобно объекту Порция, делегируя работу вниз по МВО посредством внутренних событий. Пока процесс продолжается, объекты как верхнего, так и среднего уровня могут запрашивать у оператора дополнительную информацию. В этом случае объекты верхнего и среднего уровня будут принимать запрашиваемые события, которые позволят им продолжать работу.
Рис.5.3.1. Взаимодействие верхнего управления на МВО
Схема нижнего управления
Если незапрашиваемое событие направлено на объект нижнего уровня, принимающий объект обычно имеет достаточный контекст, для того чтобы определить соответствующую реакцию. Вероятно, объект нижнего уровня добавит некоторую информацию к данным пришедшего события и создаст внутреннее событие для объекта(ов) более высокого уровня(ей). Это будет продолжаться до тех пор, пока не будет достигнут объект с достаточными знаниями и контекстом. В этой точке может быть определено, что необходимо выполнить для того чтобы система реагировала соответствующим образом. Затем принимающий объект будет делегировать работу вниз Эта схема показана на рис.5.3.2.
Рис.5.3.2. Взаимодействие нижнего управления на МВО.