Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ППП, СОМ, ОLE.doc
Скачиваний:
7
Добавлен:
22.11.2019
Размер:
345.6 Кб
Скачать

. 2.16. Вариант классификации ппп по функциональному назначению

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

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

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

Иными словами, функциональная связь в модели предметной области представляется:

  • набором входных данных;

  • набором выходных данных;

  • обрабатывающим модулем (именем модуля), реализующим эту связь.

Рассматривая отдельный обрабатывающий модуль как функцию

y=f (x)

или как отображение

f: A - > В,

где: А - область определения функции f,

В - область значений функции;

х c X - набор входных данных модуля;

у c Х- набор выходных данных,

(т.е. х и у есть некоторые подмножества множества X),

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

Следовательно, условие реализуемости функциональной связи можно формально определить как предикат Pj(x), который принимает значение "истинно", если связь реализуема, и значение "ложно", если связь не реализуема.

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

Способы применения ппп и задача управления процессами

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

Способы применения существующих в настоящее время ППП весьма разнообразны, однако можно выделить некоторые типовые режимы, определяемые построением самого пакета и особенностями используемой ЭВМ и ОС.

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

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

Большинство ППП, применяемых на персональных ЭВМ, ориентировано на диалоговое взаимодействие с пользователем в ходе решения задач.

3. Простейший диалоговый режим (вариант диалогового взаимодействия) состоит в том, что пользователь инициирует выполнение пакета, вводит задание в форме программы на входном языке и на этом заканчивает управление выполнением пакета. Фактически этот режим отличается от пакетного только возможностью исправления ошибок в ПВЯ, повторного запуска пакета при неудачах.

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

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

  • типами данных в информационной базе пакета;

  • типами допустимых связей по определению;

  • типами допустимых функциональных связей.

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

Комплекс базовых средств системного наполнения пакета, настраиваемый на конкретные средства внешнего управления и конкретные модели предметных областей, часто называют оболочкой пакета. В типовой состав такой оболочки, как правило, входят (рис. 2.17):

Интерфейс пользователя

Ввода-вывода

Управления

Информационный

Справочный

Управляющие модули

Обслуживающие модули

Внешний интерфейс

Обрабатывающие модули

Информационная база;

Рис.2.17. Схема оболочки ППП

- информационная база;

- управляющие программные модули;

- обслуживающие и обрабатывающие программные модули;

- внешний интерфейс и

- интерфейс пользователя.

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

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

Таким образом, говоря о процессе решения прикладных задач с помощью ППП, следует иметь в виду, что используемые для этого данные могут получать новые значения только двумя способами: либо в результате ввода пользователем нового значения (статически), либо в результате выполнения обрабатывающего модуля (динамически).

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

Для решения первого аспекта этой непростой задачи - запуска внешней программы из приложений, написанных на одном из алгоритмических языков, принято использовать специальные функции, а второй аспект рассматриваемой задачи может быть решен с помощью различных стандартных технологий, например: DDE, COM, обмен сообщениями Windows и т.п.