- •А.1. Стратегический анализ бизнес-процессов
- •А.1.1. Моделирование стратегических бизнес-процессов
- •А.1.2.Promet
- •А.1.3. Другие методы стратегического моделирования бизнес-процессов
- •А.2. Моделирование на разных уровнях представленияAris а.2.1. Моделирование на уровне функционального представления
- •А.2.1.1. Определение требований на уровне функциональной модели
- •А.2.1.1.1. Структура функций
- •А.2.1.1.2. Последовательности процедур
- •А.2.1.1.3. Типы обработки
- •А.2.1.1.4. Модели решений
- •A.2.1.1.5. Объединение определения требований на уровне функциональной модели
- •А.2.1.2. Конфигурирование функций
- •А.2.1.3. Определение требований на уровне функциональной модели
- •А.2.1.3.1. Проектирование модулей
- •А.2.1.3.2. Мини-спецификация
- •А.2.1.3.3. Представление выхода
- •А.2.1.4. Реализация на уровне функциональной модели
- •А.2.2. Моделирование представления организации
- •А.2.2.1. Определение требований на уровне организационной модели
- •А.2.2.1.1. Организационные структуры (иерархические организации)
- •А.2.2.1.2. Ролевая концепция
- •А.2.2.2. Конфигурирование организационной структуры
- •А.2.2.3.Спецификация проекта на уровне организационной модели
- •А.2.2.3.1. Топология сети
- •А.2.2.3.2. Типы компонентов
- •А.2.2.4. Реализация на уровне организационной модели
- •А.2.3. Моделирование на уровне представления данных
- •А.2.3.1. Определение требований на уровне модели данных
- •А.2.3.1.1. Макроописание
- •А.2.3.1.2. Микроописания
- •А.2.3.2. Конфигурирование данных
- •А.2.3.3. Спецификация проекта в рамках модели данных
- •А.2.3.3.1. Создание отношений
- •А.2.3.3.2. Нормализация — денормализация
- •А.2.3.3.3. Условия целостности
- •А.2.3.3.4. Логические пути доступа
- •А.2.3.3.5. Схема базы данных
- •А.2.3.4. Реализация на уровне модели данных
- •А.2.4. Моделирование на уровне выходов
- •А.2.4.1. Определение требований на уровне модели выходов
- •А.2.4.2. Конфигурирование выходов
- •А.З. Моделирование отношений между разными типами представлений (модель управления)
- •А. 3.1. Отношения между функциями и организацией
- •А.З.1.1. Моделирование определения требований а.З.1.1.1. Диаграммы связи функция-организация
- •А.3.1.1.2. Диаграмма взаимодействия
- •А.3.1.2. Конфигурирование
- •А.3.1.3. Спецификация проекта
- •А.3.2. Отношения между функциями и данными
- •А.3.2.1. Моделирование определения требований а.3.2.1.1. Установление связей между функциями и данными а.3.2.1.1.1. Объектно-ориентированные диаграммы классов
- •А.3.2.1.1.2. Диаграммы привязки функций
- •А.3.2.1.1.3. Поток данных
- •А.3.2.1.1.4. Ассоциация экранов
- •А.3.2.1.2. Управление посредством событий и сообщений
- •А.3.2.1.2.1. Правило суд
- •A.3.2.1.2.2. Событийные диаграммы процессов (сдп)
- •А.3.2.1.2.3. Диаграммы состояний
- •А.3.2.1.2.4. Управление посредством сообщений
- •А.3.2.1.2.5. Связывание объектно-ориентированного моделирования и сдп
- •А.3.2.2. Конфигурирование
- •А.3.2.3. Спецификация проекта а.3.2.3.1. Связывание модулей с базами данных
- •А.3.2.3.1.1. Привязка схемы
- •А.3.2.3.1.2. Выведение структур управления
- •А.3.2.3.1.3. Транзакции баз данных
- •А.3.2.3.2. Управление посредством триггеров
- •А.3.2.3.3. Объектно-ориентированная спецификация проекта
- •А.3.2.3.3.1. Общая детализация
- •А.3.2.3.3.2. Связи с базами данных
- •А.3.2.4. Описание реализации
- •Void cirle::radius (int newradius)
- •А.3.3. Отношения между функциями и выходом
- •А.3.3.1. Моделирование на уровне определения требований
- •А.3.4. Отношения между организационной структурой и данными
- •А.3.4.1. Моделирование определения требований
- •А.3.4.2. Конфигурирование
- •А.3.4.3. Спецификация проекта а.3.4.3.1. Детализация полномочий
- •А.3.4.3.2. Распределенные базы данных
- •А.3.5. Отношения между организационной структурой и выходом
- •А.3.5.1. Моделирование определения требований
- •А.2.5.2. Конфигурирование
- •А.3.6. Отношения между данными и выходом
- •А.3.6.1. Моделирование определения требований
- •А.3.6.2. Конфигурирование
- •А.3.7. Объединение всех представленийAriSв полную модель
- •А.3.7.1. Моделирование определения требований
- •А.3.7.1.1. Модели процессов
- •А.3.7.1.2. Бизнес-объекты
- •А.3.7.2. Конфигурирование
- •А.3.7.2.1. Конфигурирование на базе моделей бизнес-процессов
- •А.3.7.2.2. Конфигурирование бизнес-объектов
- •А.3.7.3. Спецификация проекта
- •Б. Процедурные модели и приложенияAris
- •Б.1. Реализация стандартного программного обеспечения с помощью моделейAris
- •Б.1.1. Разрешение критических вопросов при управлении стандартным проектом
- •Б.1.2. Aris Quickstep for r/3
- •Б. 1.3.QuickstepforR/3: описание фаз реализацииSap
- •Б.1.4. Резюме
- •Б.2. Реализация системworkflowс помощью моделейAris
- •Б.2.1. Факторы успеха при реализации системworkflow
- •Б.2.2. Процедурная модельAriSдля реализацииworkflow
- •Б.З. Разработка систем на базе модели с использованием инфраструктурыArisFramework
- •Б.3.1. Общая процедурная модель
- •Б.3.2. Процедурная модель для моделирования целевых концепций
- •Б.4. Объектно-ориентированная разработка систем с помощью унифицированного языка моделирования (uml)
- •Б.4.1. Разработка и описание процедурных моделей
- •Б.4.2. Фазы процедурной модели
- •Б.4.3. Перспективы
А.3.2.3.1.3. Транзакции баз данных
Обновление баз данных основано на концепции транзакций, свойства которых описываются термином ACID (A - атомарность, С - согласованность, I - изолированность, D - долговечность). Транзакции включают серию операций базы данных, которая — с точки зрения приложения — не должна прерываться. Это означает, что с точки зрения приложений согласование базы данных производится лишь в том случае, если транзакция доведена до конца. В случае же ошибки выполняется «откат», т.е. данные возвращаются в состояние, предшествовавшее транзакции. Это свойство транзакций называется атомарностью. База данных обновляется лишь при условии успешного завершения транзакции.
Помимо атомарности, означающей, что транзакции не могут прерываться, администрирование их должно обеспечивать согласованность, т.е. транзакции должны переводить базу данных из одного согласованного состояния в другое согласованное состояние.
Еще одним фактором является изолированность, предполагающая, что частичные результаты могут не передаваться другим приложениям в процессе транзакции. Долговечность (или персистентность) означает, что результат успешно выполненной транзакции сохраняется в целости и может быть модифицирован или обновлен только новыми транзакциями.
Транзакции характеризуются понятиями «начало транзакции» и «конец транзакции». В рамках этих двух этапов может заключаться любое число команд записи в файл или чтения. Транзакции также используются в качестве единиц для измерения числа этапов восстановления данных.
С точки зрения проектирования программ, транзакции могут интерпретироваться как модули, поэтому на рис. 123 мы вводим ТРАНЗАКЦИИ как конкретизацию понятия МОДУЛЬ. На стадии спецификации проекта мы говорили, что модули можно связывать друг с другом в сети. Та же ситуация и здесь.

Рис. 123. Концепция транзакций
Несколько операций базы данных группируются в одну транзакцию, в результате чего ОПЕРАЦИЯ БАЗЫ ДАННЫХ (БД) превращается в ассоциацию между ТИПОМ ОПЕРАЦИИ БД (как в процессе чтения или записи в файл), соответствующей ТРАНЗАКЦИЕЙ и упоминавшимся ранее ИНФОРМАЦИОННЫМ ОБЪЕКТОМ.
А.3.2.3.2. Управление посредством триггеров
Базы данных являются не только средством для пассивного хранения корпоративных данных. К ним также подсоединяются компоненты, реагирующие на определенные события и действия, связанные с приложениями. Эти компоненты инициируют обновление базы данных (активные системы баз данных) и называются триггерами. Понятие «триггер» мы ввели в разделе А.2.3.3.3, когда рассматривали условия целостности при спецификации проекта на уровне модели данных.
Триггеры могут активизировать функции приложений. Например, если в системе планирования складских материалов непрерывно контролируется наличие той или иной детали, то при наступлении события «минимальный уровень запасов не поддерживается» инициируется заказ на закупку.
Говоря кратко, триггеры состоят из описания инициирующих событий, контролируемых условий и действий, инициируемых в случае, если эти условия удовлетворяются. Действия представляют собой операции (т.е. транзакции) обновления данных. Более точно, в соответствии с механизмом событие/триггер (ЕТМ) (Kotz. Triggermechanismus in Datenbanksystemen. 1989, с. 54) триггером называется пара действий, состоящая из результата и собственно действия {Т = (Е,А)}. Таким образом, действие А выполняется, как только происходит событие типа Е.
Например, если в процессе разработки продукта по завершении этапа «фаза проектирования 1» запускается процедура проверки результата, то триггер будет выглядеть следующим образом:
EVENT end_of_design_phase_l (design object: DB_ID);
ACTION verification_procedure_A (verif_obj: DB_ID)
=<Verification of verif_obj>;
TRIGGER Tl =
ON end_of_design_phase_l
DO verification_procedure_A (design_object);
(Kotz. Triggermechanismus in Datenbanksystemen. 1989, c. 64).
Здесь к событиям и действиям привязываются идентификаторы различных обрабатываемых объектов. В данном примере проектируемый объект именуется design_object (с идентификатором базы данных DB_ID), а объект, подлежащий проверке действием, именуется verification_object (с идентификатором базы данных DB_ID).
Раздельное описание событий, действий и триггеров обеспечивает различным триггерам доступ к одним и тем же событиям и описаниям действий. В то же время параметризация событий и действий позволяет реализовать различные процедуры управления, несмотря на идентичные базовые описания.
Поскольку приведенный здесь синтаксис относится к уровню спецификации проекта, он не зависит от особенностей триггеров, используемых в конкретных системах баз данных или средах программирования.
Механизм событие/триггер (ЕТМ) можно непосредственно связать с СДП, так как события уже введены, а действия соответствуют функциональным модулям. Триггеры характеризуют контекст между Е и А, совпадая с линиями соединений между событиями и функциями СДП.
Процессы, разработанные в виде СДП, могут быть трансформированы в нотации триггерного управления. Необходимо только дополнить диаграммы СДП символами, принятыми на уровне спецификации проекта. Сюда входит идентификация событий, триггеров и сообщений, соответствующих действиям.
На рис. 124 концепция триггеров представлена в виде метамодели, где класс СОБЫТИЕ является связующим звеном с уровнем определения требований.

Рис. 124. Структура концепции триггеров
Помимо внешних событий, существуют также внутренние события, обусловленные приложениями, например, подтверждение заказа. Конкретные моменты времени также могут описывать события, например, когда определенные действия выполняются по истечении каждого часа. Поскольку само время тоже можно описать как класс, сделав его информационным объектом, обозначение событий на уровне определения требований может быть использовано и для триггеров, описываемых здесь. Одно событие может инициироваться несколькими триггерами, а один триггер может инициироваться несколькими событиями.
После инициации того или иного триггера различные состояния базы данных могут проверяться в соответствии с правилами, описанными для триггеров. На это указывает ассоциация УСЛОВИЯ, связывающая ТРИГГЕР с ИНФОРМАЦИОННЫМ ОБЪЕКТОМ.
Если условия удовлетворяются, один триггер может инициировать одну или несколько транзакций. И наоборот, одна транзакция может быть инициирована различными триггерами. Скажем, при проверке складских запасов активизирующим событием может служить определенный момент времени (например, ежечасно проверяется наличие на складе некоего минимума запасов). Другим событием может быть бухгалтерская проводка складского запаса.
