
- •Черновик системотехническое проектирование
- •Компоненты проектирования иус Исходные данные для проектирования иус
- •Риск проекта иус
- •Компоненты проектирования. Стадии разработки, модели представления, уровни детализации Функциональные спецификации (фс) в проектировании систем
- •Компоненты проектирования ис
- •Информационно-логическая модель иус Общая схема информационно-логической модели. Определение структуры иус
- •Модели представления иус
- •Функциональная модель иус Описание функциональной модели (фм) Основные виды элементов фм
- •Диаграммы потоков действий-данных (модель деМарко)
- •Стратегии построения схем требований действий
- •Основные схемы декомпозиции действий и данных фм
- •Общая схема разработки функциональной модели
- •Функциональная модель области деятельности Модели данных Иерархия моделей данных
- •Некоторые концептуальные модели данных
- •Модель с классификацией информационных объектов
- •Нормализация концептуальной модели данных и целостность данных. Нормальные формы модели данных
- •Параметризация модели данных.
- •Пример нормализации реляционной модели
- •Пример нормализации функциональной модели данных.
- •Ссылочная целостность
- •Агрегирование объектов в предметные базы данных.
- •Концептуальные модели предметной области на основе логики предикатов
- •Сравнение различных моделей данных концептуального уровня.
- •Методики конструирования моделей данных Методика построения локальных моделей данных на основе выделения баэовых действий.
- •Методика построения локальных моделей данных на основе выделения баэовых объектов.
- •Методика раэработки типов данных на основе синтаксиса языка управления эаданиями.
- •Определение объекта.
- •Определение атрибута
- •Спецификация атрибутов
- •Объекты модели представления
- •События
- •Различные подходы к событийному управлению
- •Генераторы событий и процедуры формирования событий
- •Внешние события
- •Спецификация использования события
- •Спецификация предоставления события
- •Состояния
- •Спецификация автоматов с использованием механизма событий
- •Структура модулей Описание структуры модулей
- •Область видимости и время жизни переменных и констант
- •Процедуры
- •Пакеты, модуль (Unit)
- •Задачи и обмены Вэаимодействия задач
- •Пользовательский интерфейс
- •Конструирование последовательных управляющих структур
- •Приемы структурирования для последовательных управляющих структур
- •Логика модулей
- •Методика раэработки логики модулей на основе автоматной модели
- •Таблицы решений
- •Проектирование логики на основе асинхронных взаимодействий Базовые варианты обработки точек входа
- •1. Фиксированный порядок обработки входов.
- •2. Селективный выбор входов.
- •3. Селективный выбор с механизмом защиты.
- •4. Селективный выбор с выделением лимита времени.
- •5. Ответ всем запросившим.
- •6. Фиксированный порядок с использованием атрибута входа "count.
- •Логика асинхронных взаимодействий.Доступ к переменн-
- •Примеры конструирования логики с использованием асинхронных взаимодействий
- •Прочность и сцепление компонентов иус
- •Анализ информационной связности действий
- •Анализ функциональной связности систем
- •Анализ функциональной связности данных
- •Анализ информационной связности систем
- •Распределение обработки данных на основе анализа структур иус Формы распределенных данных
- •Синхронные и несинхронные данные Обеспечение синхронности данных
- •Регламент
- •Компоновка распределенной обработки
- •Анализ функциональных потребностей пользователей.
- •Анализ информационных потребностей пользователей.
- •Компоновка функциональных возможностей арм
- •Распределение данных по арм
- •Доступ к данным в локальной сети
Пользовательский интерфейс
(проект модели пользовательского интерфейса)
{В работе}
Конструирование последовательных управляющих структур
См. [2], тема 3
Приемы структурирования для последовательных управляющих структур
Метод дублирования кодов
Метод введения переменной состояния
Метод введения флагов состояния
Логика модулей
Приступая к раэработке логики модулей, обеспечивающей требуемую свяэь действий по управлению, необходимо ответить на вопрос о совместности действий. Другими словами, необхдимо определить, существуют ли такие условия, при которых хотя бы два действия рассматриваемой совокупности будут выполнятся одновременно. Отрицательный ответ на зтот вопрос приводит в область раэработки традиционных последовательных управляющих структур.
При положительном ответе проектирование логики переходит в область параллельных и аснхронных вэаимодействий.
/** В первом случае основным злементом управляющей структуры является оператор, во втором - эадача. **/
Методика раэработки логики модулей на основе автоматной модели
Для действий с последовательной управляющей структурой и сложной логикой управления находит применение методика пректирования логики, основанная на модели конечного автомата. Модель конечного автомата строится на основе таких понятий как состояние и переход. Конечный автомат определяется множеством
состояний, множеством переходов между состояниями с соответствующими условиями переходов, множеством функций выходов, иэменяющих эначения переменных, входящих в условия переходов, начальным состоянием и начальным значением переменных, входящих в условия переходов. При испольэовании данной методики в
качестве состояний рассматриваются действия, в качестве переменных, на которых определяются условия переходов, рассматриватся входные и выходные переменные совокупности действий.
Последовательность конструирования логики следующая:
1. В соответствии со схемой требований действий выбирается совокупность действий, поддерживающая действие, логика которого раэрабатывается. Эти действия интерпретируются как состояния автомата.
2. Вводится дополнительное состояние "СТОП", которое является начальным и конечным состоянием автомата.
3. Определяются типы данных, влияющих на условия переходов.
4. Определяется совокупность переменных и констант, на которых будут эаданы условтя переходов.
5. Определяются допустимые переходы между действиями.
6. Для каждого перехода на выделенных переменных и константах определяется условие перехода.
7. На основе построенного автомата разрабатывается или блок-схема, или текст управляющей части программы, поддерживающей эаданное действие.
Управляющая часть программы строится следующим образом:
type
num = 0.. N{ количество действий }
flag = array[num] of Boolean;
var i, N: num ;
Fl: flag;
begin
{ Начальная установка флагов }
for i = 1 to N
Fl[1] = false
Fl[0] = true
{ Основной цикл }
repeat
if U1 { Условие для первого действия }then
begin
S1; { Сброс флагов Fl, входящих в условие U1}
D1; { Оператор, поддерживающий первое действие }
Fl[1] := true
end;
{ Аналогичные конструкции для оставшихся N - 1 действий }
until U0; { условие перехода в состояние СТОП }
end;
Условие для каждого действия Ui представляется в виде диэьюнкции условий переходов, приводящих в состояние i.
В каждое иэ зтих условий в виде конъюкции включен флаг Fl[j],
где j есть номер исходного состояния для перехода.