- •Черновик системотехническое проектирование
- •Компоненты проектирования иус Исходные данные для проектирования иус
- •Риск проекта иус
- •Компоненты проектирования. Стадии разработки, модели представления, уровни детализации Функциональные спецификации (фс) в проектировании систем
- •Компоненты проектирования ис
- •Информационно-логическая модель иус Общая схема информационно-логической модели. Определение структуры иус
- •Модели представления иус
- •Функциональная модель иус Описание функциональной модели (фм) Основные виды элементов фм
- •Диаграммы потоков действий-данных (модель деМарко)
- •Стратегии построения схем требований действий
- •Основные схемы декомпозиции действий и данных фм
- •Общая схема разработки функциональной модели
- •Функциональная модель области деятельности Модели данных Иерархия моделей данных
- •Некоторые концептуальные модели данных
- •Модель с классификацией информационных объектов
- •Нормализация концептуальной модели данных и целостность данных. Нормальные формы модели данных
- •Параметризация модели данных.
- •Пример нормализации реляционной модели
- •Пример нормализации функциональной модели данных.
- •Ссылочная целостность
- •Агрегирование объектов в предметные базы данных.
- •Концептуальные модели предметной области на основе логики предикатов
- •Сравнение различных моделей данных концептуального уровня.
- •Методики конструирования моделей данных Методика построения локальных моделей данных на основе выделения баэовых действий.
- •Методика построения локальных моделей данных на основе выделения баэовых объектов.
- •Методика раэработки типов данных на основе синтаксиса языка управления эаданиями.
- •Определение объекта.
- •Определение атрибута
- •Спецификация атрибутов
- •Объекты модели представления
- •События
- •Различные подходы к событийному управлению
- •Генераторы событий и процедуры формирования событий
- •Внешние события
- •Спецификация использования события
- •Спецификация предоставления события
- •Состояния
- •Спецификация автоматов с использованием механизма событий
- •Структура модулей Описание структуры модулей
- •Область видимости и время жизни переменных и констант
- •Процедуры
- •Пакеты, модуль (Unit)
- •Задачи и обмены Вэаимодействия задач
- •Пользовательский интерфейс
- •Конструирование последовательных управляющих структур
- •Приемы структурирования для последовательных управляющих структур
- •Логика модулей
- •Методика раэработки логики модулей на основе автоматной модели
- •Таблицы решений
- •Проектирование логики на основе асинхронных взаимодействий Базовые варианты обработки точек входа
- •1. Фиксированный порядок обработки входов.
- •2. Селективный выбор входов.
- •3. Селективный выбор с механизмом защиты.
- •4. Селективный выбор с выделением лимита времени.
- •5. Ответ всем запросившим.
- •6. Фиксированный порядок с использованием атрибута входа "count.
- •Логика асинхронных взаимодействий.Доступ к переменн-
- •Примеры конструирования логики с использованием асинхронных взаимодействий
- •Прочность и сцепление компонентов иус
- •Анализ информационной связности действий
- •Анализ функциональной связности систем
- •Анализ функциональной связности данных
- •Анализ информационной связности систем
- •Распределение обработки данных на основе анализа структур иус Формы распределенных данных
- •Синхронные и несинхронные данные Обеспечение синхронности данных
- •Регламент
- •Компоновка распределенной обработки
- •Анализ функциональных потребностей пользователей.
- •Анализ информационных потребностей пользователей.
- •Компоновка функциональных возможностей арм
- •Распределение данных по арм
- •Доступ к данным в локальной сети
Таблицы решений
См [2]
Программирование, управляемое событиями (событийное управление)
Классы, события, свойства события, обработчики событий (Evant Handler), потоки
Классы событий (after, befor, OnChange,OnCreate,OnClick, OnActivate............)
Определение событий
Обработка событий
Общая схема событийного управления
События сервера базы данных
Проектирование логики на основе асинхронных взаимодействий Базовые варианты обработки точек входа
В качестве основы для разработки логики будем рассматривать модель, используемую для описания задач в языке Ада. Задача характеризуется спецификацией задачи и "телом" задачи. В спецификации указывается имя задачи и те "услуги", которые она может оказать через "точки входа" (entry). В "теле" задачи (task body) указывается последовательность операторов для выполнения этих услуг.
Пример: описания задачи "А", имеющей точку входа "а".
task A is
{ спецификация задачи}
entry a(...) { спецификация точки входа, предоставляемой задачей А}
end
task body A is
{ тело задачи}
{операции}
accept a(...) do ..... end {обработка точки входа}
{вызовы других задач}
{операции}
end
Ключевым моментом при описании взвимодействия задач между собой является "механизм рандеву", который обеспечивает возможность их асинхронно-параллельного взаимодействия. С точки зрения рандеву всегда рассматривается пара задач, одна вызывающая, а другая вызываемая.
Пример: задача А вызывает точку входа "в" задачи В.
task A is task B is
end entry E(...)
end
task body A is task body B is
{операции} {операции}
B.E(...) {вызов точки входа} accept E(...) do...end {обработка точки входа}
end end
В данном примере задача А вызывающая, а задача В вызываемая.
Механизм рандеву заключается в том, что вызывающая задача "встречается" с вызываемой и затем ждет пока вызываемая задача обслужит (примет) этот вызов. Если вызываемая задача занята своей работой, или взаимодействует с другой задачей, то вызывающая задача должна ждать. Это вариант классического или безусловного рандеву. Возможно также другое поведение вызывающей задачи, с точки зрения ожидания обслуживания.Рассмотрим эти варианты.
Варианты обращения задачи А ко входу "W" задачи В:
1. Безусловный вызов-обозначение В.W. Если задача В занята своей работой или взаимодействует с другой задачей ( не с А), то задача А будет ждать, может быть бесконечно долго, пока задача В ее обслужит. На входе "W" задачи В может образовы-
ваться очередь из задач, ожидающих обслуживания. Очередь обслуживается по принципу FIFO (first-infirst-out).
Достоинства: нет потерь вызовов.
Недостаток: время ожидание обслуживания может быть бесконечно.
2. Условный вызов- обозначение
select
B.W
else
ALT-ACTION
end select
Если задача В занята своей работой, или взаимодействует с другой задачей (не с А), то задача А не ждет обслужтвания, а выполняет некоторое альтернативное действие (ALT-ACTION).
Достоинства: время ожидания обслуживания равно нулю.
Недостаток: возможна потеря вызовов.
3. Временной вызов- обозначение
select
В.W
or
delay T
ALT-ACTION
end select
Если задача В занята своей работой, или взаимодействует с другой задачей (не с А), то задача А ждет в течение времени Т, если за это время задача В не освободилась, то задача А выполняет некоторое альтернативное действие (ALT-ACTION). На входе
"W" задачи В при временных вызовах может образовываться очередь.
Достоинства: время ожидания обслуживания не превышает время Т.
Недостаток: возможна потеря вызовов.
С точки зрения вызываемой задачи возможны различные варианты обработки вызовов по различным входным точкам. Рассмотрим эти варианты, считая что задача В имеет две входные точки "w" и "r":