8. Принципы структурного проектирования автоматизированных экономических информационных систем (АЭИС)

Скачать доклад: 8. Принципы структурного проектирования автоматизированных экономических информационных систем (АЭИС)

Принципы структурного проектирования автоматизированных экономических информационных систем (АЭИС); структурное проектирование программных компонент; восходящее и нисходящее проектирование АЭИС; общие правила структурного построения

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

Иерархия  .представляет собой свойство упорядоченного множества компонент между которыми установлено отношение приоритета.

Компоненты, между которыми отсутствует предпочтительность, образуют один иерархический уровень. Иерархия предполагает наличие следующих типов подчиненности компонент: - иерархия целей  0системы и ее составляющих, при которых их зачастую противоречивые частные цели должны способствовать достижению основной цели функционирования всей системы; этот тип является наиболее специфичным по существу и методам представления; разнообразие назначений и и областей применения сложных АЭИС затрудняет разработку общих методов декомпозиции целей и их анализа; - иерархия задач и поведения групп системы, обеспечивающих концептуальное единство единство методов и данных, а также возможность последовательного функционального раскрытия системы; этот тип связан с иерархией целей системы и ее структурного построения; структурирование функциональных задач и их иерархического взаимодействия в значительной степени отражается на реализации иерархической структуры АЭИС в целом и на ее структурной декомпозицией на функциональные группы программ; -  1иерархия структуры  0системы и взаимодействия программ и данных, отражающих декомпозицию конкретных компонент комплекса и оформление реализуемых связей между программами и используемыми данными; этот тип наиболее доступен для анализа и имеет важное значение при проектировании сложных АЭИС.

Многоуровневое иерархическое построение сложных систем  .позволяет ограничить и локализовать на каждом из уровней соответствующие ему компоненты. Всем иерархическим системам присущ ряд свойств, важнейшими из которых являются: вертикальная соподчиненность, заключающаяся в последовательном упорядоченном расположении взаимодействующих компонент, составляющих данную АЭИС; право вмешательства и приоритетного воздействия на компоненты любых уровней со стороны компонент более высоких иерархических уровней; взаимозависимость действий компонент верхних уровней от реакций на воздействия и от функционирования компонент нижних уровней, информация от которых передается верхним уровням.

В иерархических структурах АЭИС образуется два потока взаимодействий между компонентами разных уровней: - сверху вниз - координирующие и управляющие воздействия верхних уровней; - снизу вверх - информация о состоянии и реализации предписанных функций компонентами нижних уровней.

Взаимодействие предполагает выбор способа координации и и реализацию координирующих алгоритмов с выработкой соответствующих воздействий. Координируемые компоненты имеют некоторую автономность поведения и подготовки локальных решений. Степень автономности компонент и интенсивность координирующих воздействий устанавливается компромиссом при выделении иерархических уровней.

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

Функциональная иерархия данных отражает "расстояние" между расчетом переменной и ее использованием или условную длительность хранения значений переменной. Переменные или массивы, которые рассчитываются и используются внутри программного модуля, т.е.

являются результатами промежуточных расчетов, называются  1локаль-
 ными. Взаимодействие двух модулей может осуществляться так, что некоторые переменные используются только этими модулями. Такие переменные имеют более широкую область применения и должны храниться все время, пока не будут вызваны взаимодействующие модули; они называются обменными.

Ряд переменных и массивов, используемых многими модулями и группами системы - это  1глобальные  0переменные, характеризуемые наиболее широким использованием и соответствующие высшему иерархическому уровню среди данных. Они объединяются в информационные модули и в основном определяют сложные связи внутри системы или группы программ по получению, использованию и преобразованию информации.

Функциональная иерархия в значительной степени определяет структурное построение массивов данных и их иерархию.

В процессе структурного проектирования подготавливаются правила построения, оформления и постройки программных модулей и типовые структуры массивов данных. Устанавливаются допустимые типы межмодульной связи и структура АЭИС в целом. На основе оценок длительности и частности решения отдельных задач выявляются функциональные алгоритмы с наибольшим потреблением производительности ПЭВМ, формируются дисциплины взаимодействия процессоров и диспетчеризации вызова программ, а также оценивается реализуемость данной АЭИС на выбранном классе ПЭВМ. Предварительное распределение оперативной памяти и памяти команд должно обеспечивать рациональное использование этих ресурсов для решения частных функциональных задач. Формально структурное проектирование состоит из следующих этапов: - определение структуры; - определение структуры модулей; - распределение производительности ПЭВМ; - распределение памяти ПЭВМ; По принципам построения, языку описания, объему и другим характеристикам можно выделить следующие  1иерархические уровни  0программных компонент: - операторов и операндов программы, соответствующие компонентам текста программы на языке программирования; они являются минимальными компонентами, из которых строятся модули (разнообразие операторов сравнительно невелико: 50...100 типов, и каждый оператор реализуется алгоритмом на базе в среднем 1...10 машинных команд); с повышением уровня языка программирования возрастает функциональная сложность операторов; - программных модулей, оформляемых как законченные компоненты текста программы; они решают небольшую функциональную задачу (реализуются 10...100 операторами языками программирования высокого уровня или 100...1000 операторами ассемблера, таким образом программа модуля имеет 100...1000 машинных команд; каждый модуль может использовать на входе около десятков типов переменных, но встречаются программные модули, обрабатывающие несколько десятков типов операндов, количество типов выходных данных несколько меньше; если для решения небольшой функциональной задачи требуется 100 операторов или более, то целесообразно провести декомпозицию задачи на несколько более простых, для реализации каждой из которых модуль реализуется 50...100 операторами); - функциональные группы программ или пакетов прикладных программ формируются на базе десятков модулей и решают сложные автономные функциональные задачи (на их реализацию в ПЭВМ используется около десяти тысяч команд, соответственно возрастает количество используемых типов переменных и разнообразие выходных данных, которое практически полностью определяется особенностями функциональной задачи группы программ; при этом значительно быстрее растет количество типов переменных, обрабатываемых модулями и локализующихся в пределах одного или нескольких модулей); - комплекса программ, оформляемого как завершенное ПС определенного целевого назначения; он создается для решения особенно сложных задач обработки экономической информации или вычислительных задач; в комплексы объединяются несколько или десятки групп программ для решения общей целевой задачи (размеры комплекса программ исчисляются сотнями модулей, десятками и сотнями тысяч машинных команд).

Иерархическое многоуровневой построение АЭИС существенно облегчает организацию их проектирования и эксплуатации, сокращает длительность и стоимость разработки, дает возможность рационально распределять усилия разработчиков по решению частных задач в соответствии с их важностью для основного целевого назначения систем с учетом квалификации каждого специалиста. По количеству компонент на разных уровнях с учетом сложности связей можно оценивать объем выполненной работы и прогнозировать ее перспективы по срокам и трудоемкости, вследствие чего повышается достоверность контроля состояния процесса проектирования.

Многоуровневый иерархический подход позволяет проектировать сложные АЭИС по принципу сверху вниз с позиции назначения и наилучшего решения основной целевой задачи всей системы. Это обеспечивает ее концептуальное единство и возможность рационального распределения ресурсов проектирования по мере декомпозиции компонент. Хотя разделение на иерархические уровни требует некоторых затрат, в целом ресурсы используются более эффективно, чем при отсутствии четкой иерархии за счет построения и упрощения компонент на каждом уровне.

Иногда основному проектированию сверху вниз сопутствует разработка компонент снизу вверх. Разработка начинает с модулей нижнего уровня, далее переходят к разработке модулей следующего уровня иерархии и т.д. Достоинством этого принципа является то, что при переходе к разработке модулей более высокого уровня иерархии модули нижних уровней можно считать готовыми и подключать их к модулям верхнего уровня на стадии отладки. Однако на практике при таком подходе отсутствие целостного взгляда на систему с позиции верхнего уровня, определяющего цели ее создания, не позволяет в ряде случаев принимать верные решения, что приводит повторной разработке или значительной корректировке модулей. Влияние повторной разработке сказывается тем отрицательнее, чем выше уровень иерархии, на котором обнаружена ошибка. Разработка систем по этому принципу возможна лишь для сравнительно небольших групп программ, ограниченных несколькими модулями, когда разработчики способны оценивать в любое время структуру системы в целом, а также структуру и функции отдельных модулей на всех уровнях иерархии.

Общие правила взаимодействия компонент АЭИС состоят в следующем: - должна быть унифицирована структура системы и правил оформления описания каждого аппаратного, программного и информационного модуля; - каждый модуль характеризуется функциональной законченностью, автономностью и независимостью в оформлении от модулей, которые его используют и которые он вызывает; - применяются стандартные правила организации связей по управлению и информации с другими модулями; - система разрабатывается в виде совокупности небольших по количеству операторов (до 100) программных модулей, связанных иерархическим образом, что дает возможность полностью и относительно просто уяснить функцию и правила работы отдельных частей и системы в целом; - должен отсутствовать эффект последействия очередного исполнения программы на последующие исполнения; - регламентировано использование локальных переменных и регистров ПЭВМ, на которых реализуется система.

Перечисленные правила детализируются:

1. Правилами связи модулей по управлению. Передача управления вызываемому модулю всегда осуществляется через его начало, т.е. через первый оператор или команду, а выход из вызываемого модуля всегда происходит через его естественное окончание, т.е. через последний оператор или команду. Модули низших уровней или одного уровня иерархии могут вызываться для исполнения только модулями высших уровней, т.е. модули низших уровней не могут вызывать модули высших уровней, а модули одного уровня - вызывать друг друга.

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

2. Правилами связи модулей по информации. Информация зон глобальных переменных доступна для использования любыми модулями, входящими в ЭИС в соответствии с областью действия зоны глобальных переменных. Локальные переменные доступны лишь в пределах того модуля, в котором они определены или объявлены.

Для взаимодействия вызываемых и вызываемых модулей создаются зоны обменных переменных, информация из которых доступна лишь модулям непосредственно связанным по управлению.

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

3. Организации структуры модуля. Под структурой понимается: Заголовок модуля, содержащий его имя, комментарий и совокупность формальных параметров, если таковые имеются.

Описание глобальных переменных и обменной зоны, характеризующей переменные, которые могут быть переданы программе в качестве фактических параметров.

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