Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Генератор меню - диалогового взаимодействия




ИНСТРУМЕНТАЛЬНЫЕ ДИАЛОГОВЫЕ ПРОГРАММНЫЕ СРЕДСТВА ДЛЯ СОЗДАНИЯ ИНФОРМАЦИОННО-РАСЧЕТНЫХ ПРИЛОЖЕНИЙ.

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

Ключевые слова: инструментальные средства, диалоговые системы, технология программирования, информационно-расчетные задачи

Введение.

Одной из характерных особенностей развития средств проектирования и разработки программных комплексов на современном этапе является появление разнообразных эффективно используемых средств автоматизации создания программных приложений. Среди них можно выделить работы по созданию CASE технологий [2], паттернов проектирования [3], и работы по объектно-ориентированным средствам описания моделей программных систем [4,5]. Большая часть этих работ имеет универсальную направленность и как правило не учитывает или недостаточно учитывает специфику предметной области, приводя к

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

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

так называемых информационно-расчетных задач. К информационно –

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

 

Специализированная интегрированная среда разработки.

Понятие интегрированной среды разработки определяется как совокупность средств и методов, предназначенных для автоматизации процессов проектирования и разработки программных приложений. Понятие интегрированной среды, появившееся еще в процедурных системах программирования, впоследствии оказалось очень важным и неотъемлемым атрибутом технологии объектно-ориентированного программирования. Интегрированная среда разработки традиционно включает в себя средства описания и реализации многоуровневых моделей программных систем, различные библиотеки классов, инструментальные средства программирования и генераторы программ. В этом разделе предлагается подход к конструированию специализированной интегрированной среды разработки для информационно-расчетных приложений. В качестве основных компонент упомянутой среды разработки рассматриваются формульный интерпретатор, генераторы экранных форм и меню- диалога, а также специализированная библиотека классов. Реализация всех этих компонент выполнена на основе СУБД Visual FoxPro [1,6] и прошла практическую апробацию на серии коммерческих приложений по автоматизации задач бухгалтерского учета.

Формульный интерпретатор.

Характерной особенностью большинства информационно-расчетных задач является довольно частое изменение методик расчета (например, изменение налоговых ставок, индексация заработной платы, изменение статистических показателей и т.п.). В связи с этим возникает необходимость параметризации формул расчета путем их отделения от программной части, обеспечивающей инвариантность программ по отношению к упомянутым изменениям. Таким образом, при изменении методик расчета достаточно только изменения формул расчета, представляющих параметрическую среду для так называемого формульного интерпретатора. Реализация формульного интерпретатора в СУБД Visual FoxPro основывается на представлении множества формул F в виде таблицы, структура которой определяется кортежем (списком полей): < P_ORDER(N,5), P_COND(С,60), P_OBJ(C,10), P_FORM(C,60), P_COMM(C,80) >, где P_ORDER -порядковый номер формулы, P_COND - логическое выражение, определяющее условие применимости формулы, P_OBJ -наименование объекта присваивания (левая часть формулы - имя поля или имя локальной переменной), P_FORM - выражение, определяющее правую часть формулы, P_COMM- комментарий. Предлагаемая ниже программная конструкция реализует алгоритм формульного интерпретатора (реализация представлена с использованием языка Visual FoxPro).

select T

go top

DO WHILE!eof()

select F

go top

DO WHILE!eof()

vcond=alltrim(P_COND)

vobj=alltrim(P_OBJ)

vform=alltrim(P_FORM)

select T

IF &vcond && Проверка условия применимости формулы

IF UPPER(substr(vobj,1,1))='X'

&vobj=&vform && Если объект-переменная

ELSE

replace &vobj with &vform && Если объект-поле памяти

ENDIF

ENDIF

select F

skip

ENDDO

select T

skip

ENDDO

Приведенная выше программа построена с учетом следующих особенностей:

- вместо множества таблиц в качестве объекта интерпретации

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

- операция присваивания результата вычисления формульного

выражения реализуется по разному в зависимости от того, что из себя представляет объект присваивания (переменную или поле таблицы), поэтому в приведенной выше программе идентификаторы, начинающиеся с буквы x (x1, x2, и т.п.) рассматриваются как переменные, а все остальные - как имена полей интерпретируемой таблицы;

- выполнение программы предусматривает предварительную упорядоченность таблицы формул F по полю P_ORDER.

Генератор экранных форм.

Основой создания генератора экранных форм является спецификация

экранной формы, представляющая из себя множество спецификаций структур таблиц, связанных с соответствующей экранной формой. Спецификация экранной формы определяется как SPEC = {ST1, ST2,…, STn},

где множество T1,T2,…, Tn составлено из всех таблиц, связанных с соответствующей экранной формой, а ST – это спецификация структуры таблицы T. В СУБД Visual FoxPro спецификация структуры таблицы определяется в виде таблицы со следующей структурой:

Field_name(C,10) - имя поля;

Field_type (C,1) - тип поля;

Field_len (N,3) -длина поля;

Field_dec (N,3) -количество цифр после десятичной

точки (если поле имеет тип NUMERIC)

Field_recv (C,80) - имя реквизита

Field_dom (C,80) - область определения поля

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

Генератор меню - диалогового взаимодействия.

Генератор меню – диалога позволяет автоматизировать создание различных меню - диалоговых приложений на основе сценария меню – диалога. Сценарий меню – диалога представляет из себя множество записей S={s1, s2, …,sn}. Каждая запись si = < t, l1, l2,…, lk, m1, m2,…, mk >,(i=1..n), где t – текст меню – диалога, li (i=1..k) – номер записи для меню, отображаемого после выбора i-ого элемента меню, mi (i=1..k) – ссылка на модуль(метод), запускаемый после выбора i-ого элемента меню. В СУБД Visual FoxPro сценарий меню-диалога представляется в виде таблицы со следующей структурой:

TMENU (MEMO) – текст меню;

Link1(N,5),Link2(N,5),Link3(N,5), Link4(N,5),Link5(N,5), Link6(N,5),

Link7(N,5),Link8(N,5),Link9(N,5),Link10(N,5) – номера записей меню, отображаемых после выбора соответствующего элемента меню;

Meth1(MEMO),Meth2(MEMO),Meth3(MEMO),Meth4(MEMO),Meth5(MEMO), Meth6(MEMO),Meth7(MEMO),Meth8(MEMO), Meth9(MEMO), Meth10(MEMO) – ссылки на модули, запускаемые после выбора соответствующего элемента меню.

В данной реализации размер меню ограничен 10-ю элементами. Для эффективного управления сеансом меню – диалога реализованы следующие функции:

stop - функция для завершения сеанса меню-диалога;

reset - функция, позволяющие возвратиться к начальному меню;

back – функция для возврата к предыдущим шагам выполнения

процесса меню- диалога





Поделиться с друзьями:


Дата добавления: 2016-09-06; Мы поможем в написании ваших работ!; просмотров: 645 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Логика может привести Вас от пункта А к пункту Б, а воображение — куда угодно © Альберт Эйнштейн
==> читать все изречения...

4284 - | 4169 -


© 2015-2026 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.