'

ЛЕКЦИЯ 4 УПРАВЛЕНИЕ ППП

Понравилась презентация – покажи это...





Слайд 0

ЛЕКЦИЯ 4 УПРАВЛЕНИЕ ППП ВХОДНОЙ ЯЗЫК ППП ПОНЯТИЕ ОБОЛОЧКИ ПАКЕТА ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ ФУНКЦИИ ОБСЛУЖИВАЮЩИХ МОДУЛЕЙ


Слайд 1

ВХОДНОЙ ЯЗЫК ППП В современных ППП, ориентированных на пользователей-непрограммистов, чаще всего применяются языки табличного типа (шаблон или форма), командного типа и языки типа меню, наиболее общим можно считать язык типа Q&A (вопрос-ответ).


Слайд 2

ВХОДНОЙ ЯЗЫК ППП


Слайд 3

ВОПРОС-ОТВЕТ Структура диалога типа “вопрос-ответ” (Q&A) основана на аналогии с обычным интервью. Система берет на себя роль интервьюера и получает информацию от пользователя в виде ответов на вопросы.


Слайд 4

ВОПРОС-ОТВЕТ Это наиболее известная структура диалога; все диалоги, управляемые компьютером, в той или иной степени состоят из вопросов, на которые пользователь отвечает. Однако в структуре Q&A этот процесс выражен явно.


Слайд 5

ВОПРОС-ОТВЕТ В каждой точке диалога система выводит в качестве подсказки один вопрос, на который пользователь дает один ответ. В зависимости от полученного ответа система может решить, какой следующий вопрос задавать. Структура Q&А предоставляет естественный механизм ввода как управляющих сообщений (команд), так и данных.


Слайд 6

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


Слайд 7

ВОПРОС-ОТВЕТ Диалог в виде вопросов и ответов в достаточной степени обеспечивает поддержку пользователя, так как даже краткий наводящий вопрос при разумном построении может быть самопоясняющим.


Слайд 8

ВОПРОС-ОТВЕТ Структура Q&A не гарантирует минимального объема ввода, оцениваемого по количеству нажатий клавиш, однако при подходящем подборе сокращений можно уменьшить любую избыточность.


Слайд 9

ВОПРОС-ОТВЕТ Структура Q&А обладает одним существенным недостатком. Даже если ввод происходит достаточно быстро, для человека, который уже знает, какие вопросы задает система и какие ответы нужно на них давать, отвечать на всю серию вопросов довольно утомительно.


Слайд 10

ВОПРОС-ОТВЕТ тем не менее у нее имеются определенное достоинство: Эта структура может удовлетворить требования различных пользователей и типов данных.


Слайд 11

ВОПРОС-ОТВЕТ В частности, такая структура особенно уместна при реализации диалога с множеством “ответвлений”, т.е. в тех случаях, когда на каждый вопрос предусматривается большое число ответов, каждый из которых влияет на то, какой вопрос будет задан следующим. По этой причине структура Q&A часто используется в экспертных системах.


Слайд 12

ШАБЛОН В шаблоне вводимая пользователем информация представляется в виде одной или нескольких таблиц. Форма таблицы, возможно с заполненными отдельными графами или позициями, выводится на экран, и пользователь должен занести необходимую информацию в клетки таблицы.


Слайд 13

ШАБЛОН


Слайд 14

ШАБЛОН Такая форма представления информации может оказаться удобной для ввода значений данных. Вариантом табличного подхода является предоставление пользователю списка вопросов, на которые он должен ответить (заполнить предложенную анкету).


Слайд 15

ШАБЛОН На практике формы используются в основном там, где учет какой-либо деятельности требует ввода достаточно стандартного набора данных. Человек, заполняющий форму, может выбирать последовательность ответов, временно пропускать некоторый вопрос, возвращаться назад для коррекции предыдущего ответа и даже “порвать бланк” и начать заполнять новый. Он работает с формой до тех пор, пока не заполнит ее полностью и не передаст системе.


Слайд 16

ШАБЛОН Программная система может проверять каждый ответ непосредственно после ввода или выждать и вывести список ошибок только после заполнения формы целиком. В некоторых системах информация, вводимая пользователем, становится доступной пакету только после нажатия клавиши “ввод” по окончании заполнения формы.


Слайд 17

ШАБЛОН Вопрос о том, надо ли проверять ответ непосредственно или отложить проверку до окончания ввода всех ответов, решить непросто: сообщения об ошибках, выводимые непосредственно после ответа, могут отвлечь внимание, но могут оказать и положительное влияние.


Слайд 18

ШАБЛОН Вообще в тех случаях, когда информация для ввода выбирается из некоторого целостного документа, проверку лучше отложить до конца заполнения формы, чтобы не прерывать процесс ввода; если же такой целостности нет, то проверку следует выполнять сразу после ввода ответа (после заполнения очередного поля).


Слайд 19

ШАБЛОН Если встретилась какая-либо ошибка, приложение не должно заново выводить пустую форму; выводится форма с предыдущими ответами и допущенными ошибками. Новый “бланк” выдается лишь в случае соответствующего запроса пользователя. Таким образом, эту структуру уместно применять там, где источником данных служит существующая входная (“бумажная”) форма документа.


Слайд 20

ШАБЛОН Не обязательно, чтобы внешний вид этих форм совпадал (это даже может ухудшить восприятие данных на экране), но все вводимые элементы данных должны располагаться в том же относительном порядке и иметь такой же формат, что и в исходном документе.


Слайд 21

ШАБЛОН Часто все необходимые единицы ввода нельзя отобразить одновременно в пределах одного экрана (пли окна), и их необходимо разделить на группы, которые отображаются на последовательности экранов (окон). Важно, чтобы это разбиение сохраняло логические связи и не приводило к разделению связанных частей документа.


Слайд 22

ШАБЛОН Структура диалога на основе экранной формы обеспечивает высокий уровень поддержки пользователя: для каждого вопроса формы могут быть предусмотрены сообщения об ошибках и справочная информация. Пользователю можно также оказать помощь, включив некоторые элементы формата ответа в вопрос или в поле.


Слайд 23

КОМАНДНЫЙ ЯЗЫК Для упрощения и ускорения работы пользователя в некоторых ППП используют упрощенную форму командного языка, в которой каждая команда задается нажатием одной-двух клавиш. Это целесообразно, когда работа с пакетом состоит из ограниченного набора действий, выполняемых за доли секунды, а большинство команд не требует явного задания операндов. Типичным примером таких пакетов являются текстовые редакторы.


Слайд 24

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


Слайд 25

Меню


Слайд 26

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


Слайд 27

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


Слайд 28

ПОНЯТИЕ ОБОЛОЧКИ ПАКЕТА Анализ модели предметной области и функций управляющих и обслуживающих модулей не требовал обращения к содержательной интерпретации предметной области пакета.


Слайд 29

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


Слайд 30

КЛАСС АБСТРАКТНЫХ МОДЕЛЕЙ ПРЕДМЕТНОЙ ОБЛАСТИ Определяется: типами данных в информационной базе пакета; типами допустимых связей по определению; типами допустимых функциональных связей.


Слайд 31

КЛАСС АБСТРАКТНЫХ МОДЕЛЕЙ ПРЕДМЕТНОЙ ОБЛАСТИ Для каждого класса абстрактных моделей предметной области могут быть разработаны различные варианты базовых программных средств, различающиеся реализациями интерфейса пользователя и средствами внешнего управления.


Слайд 32

ОБОЛОЧКА ПАКЕТА Комплекс базовых средств системного наполнения пакета, настраиваемый на конкретные средства внешнего управления и конкретные модели предметных областей, можно назвать оболочкой пакета


Слайд 33

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


Слайд 34

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


Слайд 35

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ Анализ алгоритмов управления ППП показывает, что независимо от процедурной или проблемной ориентации внешнего управления пакетом, применения командного входного языка или системы меню, выполнение управляющих функций включает вызов той или иной управляющей или обрабатывающей подпрограммы - программного модуля с передачей в этот модуль фактических параметров, часть из которых играет роль входных данных, а остальные представляют переменные-результаты, для которых вычисляются новые значения.


Слайд 36

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ В обычной прикладной программе для этого достаточно написать оператор вызова подпрограммы, например, CALL P(X,Y,Z) - при программировании на ПЛ/1, просто p(x,y,z) - при программировании на Паскале или вызов функции t=f (x,y,z) - на языке Си. Вызываемая подпрограмма связывается с вызывающей через аппарат передачи параметров, а также может использовать внешние (в Паскале - глобальные) переменные.


Слайд 37

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ Целесообразно различать обрабатывающие модули ППП, вызываемые всегда с одним и тем же набором фактических параметров, и модули, которые могут вызываться с различными наборами фактических параметров.


Слайд 38

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ Если ППП использует динамическую модель предметной области и пользователь может определять новые данные в процессе работы с пакетом, для отдельных модулей вообще нельзя перечислить заранее возможные наборы фактических параметров. Методы динамического управления памятью, предполагают обращение ко всем данным не по их именам, а по указателям (ссылкам) на данные.


Слайд 39

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ особенности вызова программных модулей в ППП требуют специальных приемов организации обращения к обрабатывающим и некоторым обслуживающим модулям.


Слайд 40

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ Сущность этих приемов обычно сводится к тому, чтобы часть действий по передаче фактических параметров в подпрограммы, выполняемых средствами языка программирования (обеспечиваемых при компиляции программы), выполнять управляющими модулями пакета, а подпрограммы вызывать с постоянными именами фактических параметров, причем все фактические параметры задаются указателями на соответствующие данные.


Слайд 41

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ Для этого в пакете предусматриваются специальные процедуры подготовки обращений к подпрограммам, формирующие списки фактических параметров на основе информации из модели предметной области и указаний пользователя пакета.


Слайд 42

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ Возможны различные варианты реализации процедур подготовки обращений к подпрограммам. Например, может быть выделена специальная область связи с подпрограммами, в которую пересылаются все данные, используемые как фактические параметры, и размещаются там в заранее определенном для каждой подпрограммы порядке, а в саму подпрограмму передается только указатель на эту область связи.


Слайд 43

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ Этот вариант требует дополнительных затрат памяти для области связи и операций пересылки в эту область входных параметров, а после выполнения подпрограммы - пересылки ее результатов на отведенные места в памяти. Этот недостаток частично компенсируется возможностью сохранить старые значения данных при возникновении в подпрограмме особых ситуаций.


Слайд 44

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ Другой подход состоит в формировании массива указателей на фактические параметры, в подпрограмму передается имя этого массива или указатель на него и, возможно, число фактических параметров.


Слайд 45

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ Второй вариант позволяет избежать дополнительных затрат памяти и времени, но при ошибочных ситуациях в подпрограммах не гарантирует сохранность старых значений данных.


Слайд 46

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ В результате успешного вызова обрабатывающего модуля или модуля ввода данных происходит изменение состояния модели предметной области, которое должно быть надлежащим образом зарегистрировано. Возникновение ошибочной ситуации в обрабатывающем модуле также может вызвать изменение состояния модели предметной области, если вследствие ошибки портятся какие-либо данные.


Слайд 47

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ. Операции при вызове Проверка допустимости вызова модуля в текущем состоянии модели предметной области, в частности контроль наличия значений у всех входных параметров модуля. Проверка, выделена ли память для размещения результатов модуля (при динамическом управлении памятью). Подготовка списка (массива) указателей на фактические параметры или пересылка параметров в область связи. В общем случае вызов обрабатывающего модуля в ППП требует выполнения следующих операций.


Слайд 48

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ. Операции при вызове Собственно вызов программного модуля. Проверка успешности вызова модуля (отсутствие ошибочных ситуаций). Изменение состояния модели предметной области в зависимости от успешности вызова модуля. Если фактические параметры передавались через область связи и вызов модуля был успешным, то пересылка результатов обращения к модулю на закрепленные за ними места в памяти.


Слайд 49

ОСОБЕННОСТИ ВЫЗОВА ОБРАБАТЫВАЮЩИХ МОДУЛЕЙ Реализация того или иного варианта подготовки параметров для вызова модуля требует соответствующего построения самого модуля. Конкретные правила программирования обрабатывающих модулей зависят от способа передачи параметров и используемого языка программирования.


Слайд 50

ФУНКЦИИ ОБСЛУЖИВАЮЩИХ МОДУЛЕЙ. общий перечень функций интерфейс с пользователем, в том числе справочный интерфейс, интерфейс по управлению, по вводу-выводу данных и информационный интерфейс; внешний интерфейс, т.е. обмен данными с файлами и базами данных, внешними по отношению к ППП; выполнение согласующих функций для связи управляющих модулей с обрабатывающими.


Слайд 51

ФУНКЦИИ ОБСЛУЖИВАЮЩИХ МОДУЛЕЙ Эти функции различаются объектами обслуживания, используемыми данными и алгоритмами реализации.


Слайд 52

ФУНКЦИИ ОБСЛУЖИВАЮЩИХ МОДУЛЕЙ Наряду с обслуживающими модулями, обращение к которым происходит в процессе работы пакета, во многих пакетах целесообразно иметь автономные обслуживающие программы,


Слайд 53

ФУНКЦИИ ОБСЛУЖИВАЮЩИХ МОДУЛЕЙ функциями автономных обслуживающих программ должны быть: настройка программ пакета на конкретные условия применения; преобразование файлов с выходной информацией для согласования их с входными файлами других пакетов; подготовка файлов с входными данными для пакета.


Слайд 54

ФУНКЦИИ ОБСЛУЖИВАЮЩИХ МОДУЛЕЙ Необходимость в тех или иных функциях, особен-ности их реализации в значительной степени зависят от назначения пакета, вида и формы представления информа-ции о модели предметной области пакета, структуры и функций управляющей части пакета, особеннос-тей программирования обрабатывающих модулей. Отнесение той или иной функции к обслуживающей, управляющей или обрабатывающей условно и определяется решением разработчика пакета.


×

HTML:





Ссылка: