Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Внутреннее проектирование и разработка программных средств.docx
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
87 Кб
Скачать
☆

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Имя (идентификатор) является уникальным для конкретного данного. Имя может быть дополнено пояснением или содержательным названием, отображающим его роль в предметной области. Содержательное название предназначено для разъяснения пользователю. Например, имя “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),

где

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

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

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

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

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

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

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

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

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

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