Смекни!
smekni.com

Факультет вычислительной математики и кибернетики (стр. 8 из 15)

Событийно-управляемое программирование основывается на

множестве событий E={ e1, e2, … en } и множестве методов (процедур или функций ) P={ p1, p2, … pn }, запускаемых при активизации соответствующих событий . Более детально это можно выразить следующими соотношениями : e1 -> p1 , e2 -> p2 , … , en -> pn , где активизация события ei предусматривает запуск метода pi ( i=1..n ) . Примерами событий могут быть возникновение какой либо ошибки в процессе выполнении программ , выполнение определенного запланированного условия , выбор элемента меню , активизация командной кнопки , нажатие функциональной клавиши и т.п. . Для описания модели событийно-управляемого программирования идеально подходит теория CSP , представленная в разделе 2.6 .

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

Сохранение целостности базы данных является более характерным

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

Визуальное программирование основано на визуальном представлении

объектов программирования , обеспечивая наиболее естественное

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

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

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

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

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

2.6.2. Visual FoxPro - пример объектно-ориентированной СУБД.

Visual FoxPro [ 7 ] представляет собой принципиально новую версию широко известной СУБД Microsoft FoxPro,которая может функционировать практически во всех версиях операционной системы WINDOWS .

Visual FoxPro обеспечивает совместимость с предыдущими версиями процедурно-ориентированной СУБД FoxPro, позволяя сравнительно просто переносить ранее созданные приложения в среду WINDOWS. Эта СУБД разработана в полном соответствии со стандартами фирмы Microsoft, что позволяет сравнительно легко обмениваться данными с другими приложениями WINDOWS. Кроме этого поддерживается доступ к наиболее популярным SQL-серверам баз данных - Microsoft SQL Server, ORACLE, INFORMIX и к другим , используя стандарт ODBC.

В настоящее время широко используются последние версии Visual FoxPro (6.0 , 7.0 , 8.0 ) .

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

- управляемое программирование, суть которого сводится к определению некоторого множества событий (Click-нажатие левой кнопки мышки , Load- момент загрузки объекта и т .п.), каждое из которых может быть связано с соответствующим программным модулем (методом), запускаемым при активизации соответствующего события . Основные принципы событийно -управляемого программирования наиболее полно реализуются при использовании объектно -

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

заложенные в Visual FoxPro , обеспечивают естественность зрительного восприятия объектов и позволяют существенно повысить эффективность

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

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

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

продукт , удовлетворяющий соответствующим стандартам . Об этом свидетельствует богатый опыт разработки многих приложений объектно-ориентированных СУБД .С другой стороны переход от процедурно -

-ориентированной модели мышления к объектно - ориентированной -

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

Процесс проектирования и разработки приложений в среде СУБД Visual FoxPro начинается с создания проекта (Project), являющегося главным составляющим разрабатываемого приложения . Механизм

развертывания последующих этапов разработки проекта определяется

следующей структурой :

PROJECT ( проект )

DATA ( базы данных )

DOCUMENTS ( документы )

FORMS ( экранные формы )

REPORTS ( формы вывода на печать )

CLASSES ( классы )

CODE ( программы и приложения )

PROGRAMS ( программы )

APPLICATIONS ( приложения )

OTHER ( другие объекты )

MENU ( меню )

TEXT FILES ( текстовые файлы )

База данных определяется структурой :

DATA

DCB-файлы ( контейнеры данных )

DBF - файлы (), входящие в состав

соответствующих контейнеров

FREE TABLES ( свободные таблицы : DBF-файлы, не входящие в

состав ни одного из контейнеров )

В отличие от предыдущих версий в СУБД Visual FoxPro введено понятие

контейнера данных (базы данных ), представляемого в виде структурированного DCB - файла, который включает в себя множество таблиц (DBF -файлов ) , связываемых друг с другом структурно -

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

называются связанными.Все остальные таблицы являются свободными .

В СУБД Visual FoxPro встроен эффективный механизма защиты

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

удаления , вставки и модификации записей таблиц в зависимости от

определяемых условий .

Документы включают в себя экранные формы ( FORMS ) и формы для

вывода на печать (REPORTS).Создание каждого нового документа предусматривает как правило установление связи документа с соответствующими базами данных (DATA ENVIRONMENT) и заполнение документа различными объектами на основе встроенной или определяемой библиотеки классов объектов. Для каждого из объектов устанавливаются свойства (Properties), определяющие различные характеристики объекта (связи с полями таблиц , способ размещения на экране , и т .п.).Кроме этого с каждым объектом можно связать некоторое множество событий и запланировать вызов соответствующих подпрограмм (методов), запускаемых автоматически при возникновении тех или иных запланированных событий .Такая возможность позволяет реализовать принцип событийно-управляемого программирования (Event-Driven Programming), обеспечивающего существенное повышение эффективности технологии производства программ .

Класс объектов представляет из себя некий абстрактный объект , обобщающий свойства соответствующих однотипных объектов