Обзор архитектур прикладных систем

Существует несколько типов архитектур, обычно используемых в существующих системах. Каждая из них хорошо подходит к определённому типу систем. Проектируя систему одного из нижеперечисленных типов, имеет смысл использовать соответствующую архитектуру. Мы рассмотрим следующие типы систем:

- системы пакетной обработки – обработка данных производится один раз для каждого набора входных данных;

- системы непрерывной обработки – обработка данных производится непрерывно над сменяющимися входными данными (рис. 3.4);

- системы с интерактивным интерфейсом – системы, управляемые внешними воздействиями (рис. 3.5);

- системы динамического моделирования - системы, моделирующие поведение объектов внешнего мира;

- системы реального времени – системы, в которых преобладают строгие временные ограничения;

- системы управления транзакциями – системы, обеспечивающие сортировку и обновление данных; имеют коллективный доступ;

- типичной системой управления транзакциями является СУБД.

При разработке системы пакетной обработки необходимо выполнить следующие шаги:

- Разбиваем полное преобразование на фазы, каждая из которых выполняет некоторую часть преобразования; система описывается диаграммой потока данных, которая строится при разработке функциональной модели.

- Определяем классы промежуточных объектов между каждой парой последовательных фаз; каждая фаза знает об объектах, расположенных на объектной диаграмме до и после неё (эти объекты представляют соответственно входные и выходные данные фазы).

- Составляем объектную модель каждой фазы (она имеет такую же структуру, что и модель всей системы в целом: фаза разбивается на подфазы); разрабатываем каждую подфазу.

 

 

Рис. 3.4. Система непрерывной обработки: машинная графика

 

При разработке системы непрерывной обработки необходимо выполнить следующие шаги:

- Строим диаграмму потока данных; активные объекты в её начале и в конце соответствуют структурам данных, значения которых непрерывно изменяются; хранилища данных, связанные с её внутренними фазами, отражают параметры, которые влияют на зависимость между входными и выходными данными фазы.

- Определяем классы промежуточных объектов между каждой парой последовательных фаз; каждая фаза знает об объектах, расположенных на объектной диаграмме до и после неё (эти объекты представляют соответственно входные и выходные данные фазы).

- Представляем каждую фазу как последовательность изменений значений элементов выходной структуры данных в зависимости от значений элементов входной структуры данных и значений, получаемых из хранилища данных (значение выходной структуры данных формируется по частям).

При разработке системы с интерактивным интерфейсом необходимо выполнить следующие шаги:

- Выделяем объекты, формирующие интерфейс.

- Если есть возможность, используем готовые объекты для организации взаимодействия (например, для организации взаимодействия системы с пользователем через экран дисплея можно использовать библиотеку системы X-Window, обеспечивающую работу с меню, формами, кнопками и т.п.).

- Структуру программы определяем по её динамической модели; для реализации интерактивного интерфейса используем параллельное управление (многозадачный режим) или механизм событий (прерывания), а не процедурное управление, когда время между выводом очередного сообщения пользователю и его ответом система проводит в режиме ожидания.

- Из множества событий выделяем физические (аппаратные, простые) события и стараемся при организации взаимодействия использовать в первую очередь их.

 

Рис. 3.5. Система с интерактивным интерфейсом: ATM

При разработке системы динамического моделирования необходимо выполнить следующие шаги:

- По объектной модели определяем активные объекты; эти объекты имеют атрибуты с периодически обновляемыми значениями.

- Определяем дискретные события; такие события соответствуют дискретным взаимодействиям объекта (например, включение питания) и реализуются как операции объекта.

- Определяем непрерывные зависимости (например, зависимости атрибутов от времени); значения таких атрибутов должны периодически обновляться в соответствии с зависимостью.

- Моделирование управляется объектами, отслеживающими временные циклы последовательностей событий.

Разработка системы реального времени аналогична разработке системы с интерактивным интерфейсом.

При разработке системы управления транзакциями необходимо выполнить следующие шаги:

- Отображаем объектную модель на базу данных.

- Определяем асинхронно работающие устройства и ресурсы с асинхронным доступом; в случае необходимости определяем новые классы.

- Определяем набор ресурсов (в том числе – структур данных), к которым необходим доступ во время транзакции (участники транзакции).

- Разрабатываем параллельное управление транзакциями; системе может понадобиться несколько раз повторить неудачную транзакцию, прежде чем выдать отказ.

 



php"; ?>