Определение пакета прикладных программ.

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

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

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

Можно выделить следующие общие свойства пакета прикладных программ:

во-первых, пакет состоит из нескольких программных единиц;

во-вторых, пакет предназначен для решения задач определенного класса;

в-третьих, в пределах своего класса пакет обладает определенной универсальностью, т.е. позволяет решать практически все задачи данного класса;

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

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

в-шестых, пакет имеет специальные средства помощи и обучения.

ППП можно подразделить на методо-ориентированные пакеты, проблемно-ориентированные пакеты и интегрированные пакеты.

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

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

Интегрированные пакеты представляют собой пакеты широкого назначения, объединяющие: табличный процессор; систему управления базой данных; текстовый редактор; пакет графического отображения данных; средства обмена данными с удаленными абонентами и другие программные средства.Примерами интегрированных пакетов являются MICROSOFTOFFICE, FRAMEWORK,SYMPHONY.

Составные части ППП.

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

ППП выполняет необходимые действия в соответствии с командной информацией, заданной пользователем. Командная (управляющая) информация представляется на формальном, специально разработанном встроенном языке пакета. Задание пользователя, записанное на встроенном языке пакета, называют программой на встроенном языке (ПВЯ). Программа на встроенном языкеприкладной системы, принципиально отличается от программы, написанной на универсальном языке программирования, например,Delphi. Для написания ПВЯ, прежде всего, необходимо досконально знать предметную область и принятую в данной области терминологию. Примером пакета прикладных программ с эффективным встроенным языком, является пакет «1.С Бухгалтерия».

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

во-первых, ведущего блока;

во-вторых, модуля лексического разбора;

в-третьих, модуля синтаксического анализа;

в-четвертых, модуля управления;

в-пятых, информатора;

в-шестых, модуля помощи.

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

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

Модуль синтаксического анализа осуществляет проверку грамматической правильности программы на встроенном языке.

Модуль управления обеспечивает выполнение обращений к обрабатывающим программам.

Информатор предназначен для выдачи сообщений о ходе решения задачи.

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

Программные модули пакета, реализующие алгоритмы обработки данных, затребованные в ПВЯ, называются обрабатывающими модулями.

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

Модель предметной области.

Область деятельности, к которой относятся задачи, решаемые ППП, называется предметной областью пакета.

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

Для разработки пакета прикладных программ предметная область представляется в виде модели.

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

Данное может характеризоваться: именем, типом и значением.

Имя (идентификатор) является уникальным для конкретного данного. Имя может быть дополнено пояснением или содержательным названием, отображающим его роль в предметной области. Содержательное название предназначено для разъяснения пользователю. Например, имя “PRICE” может обозначать реквизит с содержательным названием “ЦЕНА ИЗДЕЛИЯ”.

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

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

Данные связаны между собой и образуют единую структуру. Связи между данными можно подразделить на два вида:

во-первых, связи по определению;

во-вторых, функциональные связи.

Связи по определению представляют собой связи, устанавливаемые при построении модели предметной области пакета. Например, реквизиты в бухгалтерском документе, являются связанными по определению.

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

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

МПО = {X,R,F},

где X- множество данных;

R- множество связей по определению;

F- множество функциональных связей.

Если в процессе выполнения пакета множества X,Rи F остаются неизменными, то такую модель предметной области можно назвать статической.

Если пользователь имеет возможность в процессе работы пакета менять, хотя бы одно из множеств: X,Rили F, то модель предметной области называется динамической. Например, если пользователь имеет возможность определения новых данных или возможность изменения формул расчета, то ППП будет являться пакетом с динамической предметной областью. В качестве примера ППП с динамической предметной областью, можно привести бухгалтерский пакет “1.С Бухгалтерия”.

Каждое данное может относиться только к одному типу, следовательно, множество “X” является объединением непересекающихся подмножеств, содержащих однотипные данные. В подмножество объединяются данные одного типа, например, данные целого типа, данные вещественного типа, массивы некоторого базового типа и т.д.

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

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

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

Третья группа,характеризуется тем, что данное не имеет значения до тех пор, пока пользователь не предпримет действий по определению значения этого данного.

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

Связи между данными, образующие множество связей по определению “R”, отражают взаимосвязь между данными в информационной базе пакета и устанавливаются при разработке информационной базы. В частности, в системе Delphi, данные, объединенные в единую запись, являются связанными по определению.Как правило, при обработке экономической информации, в единую записьобъединяют реквизиты одного документа.

Для данных, входящих в модель предметной области, может быть установлена связь подчинения. Например, если в модели имеется одномерный массив “A” и целое данное “N”, определяющее размерность массива “A”, то можно считать, что данное “A” подчинено данному “N”. Действительно, если значение “N” не определено, то данное “A” также имеет неопределенное значение.

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

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

Функциональные связи реализуются в пакете обрабатывающими модулями. Отдельный обрабатывающий модуль можно рассматривать как функцию

B= f (A),

где

величина «А» представляет собой набор входных данных для конкретного модуля. Данный набор данных является подмножеством множества Х;

величина «В»представляет собой набор выходных данных модуля, который также является подмножеством множества Х.

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

Функциональная связь в модели предметной области представляется следующим образом:

Во-первых, набором входных данных;

Во-вторых, набором выходных данных;

В-третьих, обрабатывающим модулем, реализующим эту связь.

Модель предметной области может быть представлена различными вариантами, в частности:

Во-первых, с помощью таблиц;

Во-вторых, с помощью графа предметной области.

3.1. Табличный вариант модели предметной области

Использование табличного варианта предполагает формирование нескольких таблиц.

1. Таблица данных (элементы множества данных)

Номер П/п Название Данного Имя Данного Тип Данного
Число поставщиков N Целое
Список кодов поставщиков A Вектор из N целых элементов

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

2. Таблица связей по определению (связи подчинения).

Номер п/п. Старшее данное Подчиненные данные
N A

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

3. Таблица задач ( Функциональные связи ).

Номер п/п. Функции обрабатывающего модуля Идентификатор модуля Входные параметры Выходные параметры
Отбор неоплаченных поставок   OTBOR   N,A   M,B

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

Граф предметной области.

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

Например, рассмотрим типичную задачу обработки экономической информации.

Вершинами могут быть обозначены следующие стадии обработки:

1 - начальная стадия;

2 - обеспечение ввода информации;

3 - проверка корректности введенной информации;

4 - получение выходных документов;

5 - завершение работы.

Дугами могут быть обозначены следующие алгоритмы:

1 - ввод с внешнего носителя;

2 - ввод с клавиатуры;

3 - тестирование информации;

4 - просмотр и редактирование информации;

5 - получение выходной формы;

6 - контрольная распечатка файла;

7 - сохранение информации на внешнем носителе.

В этом случае, граф предметной области будет иметь вид

1 3 5

Определение пакета прикладных программ. - student2.ru Определение пакета прикладных программ. - student2.ru Определение пакета прикладных программ. - student2.ru 1 2 3 4 7 5

Определение пакета прикладных программ. - student2.ru о о о о о

2 4 6

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

Для приведенного примера графа предметной области массив будет иметь вид:

GPO

1 2

1 2

2 3

2 3

3 4

3 4

4 5

Наши рекомендации