Cтраница 3
Мы рассмотрели методы проектирования программных структур универсального типа, пригодные для достаточно широких классов программ. Хотя каждый из них и не позволяет решить всех проблем проектирования, но в значительной степени их упрощает. Даже при наличии детальной и эффективной технологии для типичного класса программ, разрабатываемых в организации, всегда может возникнуть потребность разработки программы, выходящей за пределы типичного класса. В этом случае владение универсальными методами проектирования необходимо. Следует только помнить, что универсальность каждого метода относительна, и надо всегда проверить, насколько правомерно его применение к конкретной задаче. [31]
Небольшой размер программных модулей в современных программных структурах, слабая связность программных модулей, оформление текстов с учетом удобства их корректировки, библиотечная организация хранения материала, организация проверки программ сверху вниз повышают эффективность применения интерактивных методов. [32]
Используемые традиционные модели основаны на комбинации линейных функциональных и программных структур, которые различаются в зависимости от вида и типа входящих элементов. Структуры в качестве элементов включают персонал и службы аппарата управления. К персоналу управления относятся руководители ( линейные - ЛР, функциональные - ФР, руководители программ - ПР), специалисты и исполнители. [33]
![]() |
Программный вывод результатов из программных модулей. [34] |
Применительно к рассмотренным на рис. 4.7 программным структурам следует сделать одно важное замечание, которое касается отличий MathCAD 7.0 Pro от последующих версий. Приведенный вариант структур модулей приемлем для любой из версий отличий MathCAD Pro. В то же время, для MathCAD 7.0 Pro ввод нескольких исходных данных для цикла допустимо осуществлять в одну строку через запятые. [35]
Более своеобразен случай, в котором основными компонентами программной структуры являются процедуры. В этом случае действия, необходимые для решения задачи, распределяют между процедурами, вызов которых в алгол-программе осуществляют операторами процедуры. Ввод данных и выдачу результатов следует производить средствами алгол-программы, а не процедур или средствами только одной из процедур. [36]
Мы не намерены приводить подробности указанных решений для данной программной структуры. Вместо этого мы оставляем их ( а также полное удовлетворение от их реализации) целиком читателю. [37]
Заполненные элементы матрицы указывают на наличие элемента в программной структуре, пустые - на отсутствие такого элемента. Черта над словом приход или расход означает отсутствие соответствующего подмножества. [38]
Если в качестве организационного подхода используется жесткая матрица или программная структура, то перед менеджером программы встает вопрос о размещении персонала программы. При этом существуют два противоположных подхода: члены команды могут быть полностью изолированы от текущих операций в подразделениях либо продолжают работать на своих рабочих местах. [39]
Предпосылкой обеспечения полноты средств решения оптимизационных задач и единства программных структур в комплексе ДИСО является фундаментальный характер трех математических моделей оптимизации, выбранных в качестве основы всех средств комплекса. Ниже приводится описание этих моделей в их иерархии, возникающей благодаря тому, что методы одного класса могут порождать подчинеппые задачи другого класса. Цель этого описания - дать читателю общее представление о структуре оптимизационных моделей, которые лежат в основе рсгис ния чрезвычайно широкого класса прикладных задач. Заметим кстати, что численные методы оптимизации являются одним из наиболее сложных разделов современной прикладной математики. [40]
Приведенные выше сведения представляют основу для более полного понимания программных структур во время исполнения. Здесь мы рассмотрим только исполнение однозадачной программы языка Ада. Вначале мы рассмотрим состояние программы после ее компиляции и до начала исполнения. Один узел ориентированного графа является специальным, он представляет корневой узел программы. Корневой узел соответствует структуре объекта, представляющего домен, в котором должна исполняться начальная ( стартерная) задача программы. Ссылки внутри этой корневой структуры указывают на подструктуры, такие, как, например, другие объекты типа домен, представляющие различные пакеты, которые могут быть вызваны во время исполнения. [42]
Если в качестве организационного подхода используется жесткая матрица, или программная структура, перед менеджером программы встает вопрос о размещении персонала программы. Существует два противоположных подхода. Члены команды могут быть полностью изолированы от текущих операций в подразделениях либо продолжать работать на своих рабочих местах. [43]
При этом способе вызываемая программа может входить в ту же программную структуру, что и вызывающая. В простейшем случае вызова ( когда вызывающая и вызываемая программы фактически представляют собой части некоторой большой программы) для передачи параметров используются регистры или общие области памяти, а вызываемой программе соответствует в очереди диспетчера та же запись, что и вызывающей. В некоторых системах между вызываемой и вызывающей программами возникают значительно более сложные отношения, на которых мы остановимся несколько позже. [44]
На рис. 2.4 представлена конфигурация аппаратного оборудования, не рис. 2.5 - программная структура системы. [45]