41 • иерархия структуры КП и взаимодействия программ и данных, отражающая декомпозицию конкретных компонент комплекса и оформление реализуемых связей между программами и используемыми данными. Иерархия целей программ является наиболее специфичной по существу и по методам представления. Разнообразие назначений и областей применений сложных ПС затрудняет разработку общих методов декомпозиции целей и их анализа. Ниже подразумевается наличие иерархии целей программ, но конкретно она не рассматривается. Иерархия задач связана с иерархией целей системы и ее структурного построения. Структурирование функциональных задач и их иерархического взаимодействия в значительной степени отражается на реализации иерархической структуры КП в целом и на его структурной декомпозиции на функциональные группы программ. Иерархия структуры КП наиболее доступна для изучения и имеет важное значение при проектировании и анализе сложных КП. Она инвариантна к целевому назначению в пределах определенных классов сложных программ. Ниже основное внимание уделяется принципам структурного построения КП и меньше иерархии задач и функциональному взаимодействию крупных программных компонент. Многоуровневое иерархическое построение сложных программ позволяет ограничить и локализовать на каждом из уровней соответствующие ему компоненты. Нижнему иерархическому уровню представления программ соответствуют программные и информационные модули (модули данных). Эти компоненты (10... 100 модулей) объединяются в группы программ определенного функционального назначения с автономной целевой задачей. Несколько (5...20) групп программ образуют комплекс программ. В особо сложных случаях возможно создание системы программ из нескольких взаимодействующих комплексов. Всем иерархическим системам (в частности, КП) присущ ряд свойств, важнейшими из которых являются: • вертикальная соподчиненность, заключающаяся в последовательном упорядоченном расположении взаимодействующих компонент, составляющих данный КП; • право вмешательства и приоритетного воздействия на компоненты любых уровней со стороны компонент более высоких иерархических уровней; • взаимозависимость действий компонент верхних ур овней от р еакций на воздействия и от функционирования компонент нижних уровней, информация о которых передается верхним уровням. В результате в иерархических структурах КП образуется два потока взаимодействий между компонентами разных уровней: сверху вниз |
1.2.3. Модульно-иерархическое построение ПО Для обеспечения взаимодействия программных и информационных компонент (модулей) в едином комплексе используются многоуровневые иерархические структуры [11]. Иерархия представляет собой свойство упорядоченного множества компонент, между которыми установлено отношение приоритета. Компоненты, между которыми отсутствует предпочтительность, образуют один иерархический уровень. Иерархия КП предполагает наличие следующих типов подчиненности компонент [12]: иерархия целей КП и его составляющих, при которых их зачастую противоречивые частные цели должны способствовать достижению основной цели функционирования всего комплекса; иерархия задач и поведения групп программ, обеспечивающая концептуальное единство комплекса программ и данных и возможность последовательного функционального раскрытия комплекса; иерархия структуры КП и взаимодействия программ и данных, отражающая декомпозицию конкретных компонент комплекса и оформление реализуемых связей между программами и используемыми данными. Иерархия целей программ является наиболее специфичной по существу и по методам представления. Разнообразие назначений и областей применений сложных ПС затрудняет разработку общих методов декомпозиции целей и их анализа. Ниже подразумевается наличие иерархии целей программ, но конкретно она не рассматривается. Иерархия задач связана с иерархией целей системы и ее структурного построения. Структурирование функциональных задач и их иерархического взаимодействия в значительной степени отражается на реализации иерархической структуры КП в целом и на его структурной декомпозиции на функциональные группы программ. Иерархия структуры КП наиболее доступна для изучения и имеет важное значение при проектировании и анализе сложных КП. Она инвариантна к целевому назначению в пределах определенных классов сложных программ. Ниже основное внимание уделяется принципам структурного построения КП и меньше иерархии задач и функциональному взаимодействию крупных программных компонент. 32 Многоуровневое иерархическое построение сложных программ позволяет ограничить и локализовать на каждом из уровней соответствующие ему компоненты. Нижнему иерархическому уровню представления программ соответствуют программные и информационные модули (модули данных). Эти компоненты (10... 100 модулей) объединяются в группы программ определенного функционального назначения с автономной целевой задачей. Несколько (5...20) групп программ образуют комплекс программ. В особо сложных случаях возможно создание системы программ из нескольких взаимодействующих комплексов. Всем иерархическим системам (в частности, КП) присущ ряд свойств, важнейшими из которых являются: вертикальная соподчиненность, заключающаяся в последовательном упорядоченном расположении взаимодействующих компонент, составляющих данный КП; право вмешательства и приоритетного воздействия на компоненты любых уровней со стороны комонент более высоких иерархических уровней; взаимозависимость действий компонент верхних уровней от реакций на воздействия и от функционирования компонент нижних уровней, информация о которых передается верхним уровням. В результате в иерархических структурах КП образуется два потока взаимодействий между компонентами разных уровней: сверху вниз координирующие и управляющие воздействия верхних уровней; снизу вверх информация о состоянии и реализации предписанных функций компонентами нижних уровней. Взаимодействие предполагает выбор способа координации и реализацию координирующих алгоритмов с выработкой соответствующих воздействий. Координируемые компоненты имеют некоторую автономность поведения и подготовки локальных решений. Степень автономности компонент и интенсивность координирующих воздействий устанавливается компромиссом при выделении иерархических уровней. Взаимодействие компонент в пределах уровня целесообразно максимально ограничивать, что позволяет упростить общее координирование компонент и проводить его только по вертикали. Компоненты нижних уровней влияют на вышестоящие непосредственно, поставляя информацию о своем состоянии и результатах функционирования, а также косвенно, подготавливая возможные решения для их выбора на более высоких уровнях. Информация о результатах функци33 |