Главная страница
О программе
Описание SDP программирования
Скачать SDP
Сотрудничество
Разработка приложений
Купить программу
Обучение
Гостевая
Контакты
Тренажер английского языка




Описание программирования в SDP

Оглавление

Введение

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Итак, создание качественной структуры данных – это 80% от трудозатрат на реализацию всего проекта. Кроме этого остается внести в SDP правила взаимосвязи данных для этого есть специальные окна в SDP.

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

Вот и все, остальное за Вас сделает сама SDP.

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

Оглавление