|
ИНФОРМАЦИОННАЯ СРЕДА ZBASE
- Назначение
Все программы НПП "Логус" сделаны и работают в единой "информационной
среде ZBASE".
Информационная среда ZBASE является собственной разработкой НПП "Логус"
и предназначена для создания и управления сложными информационными
структурами и банками данных (Приложениями).
По существу, ZBASE - это технология разработки Приложений.
В ZBASE для Windows реализованы и существенно развиты все лучшие
архитектурные решения, положенные в основу версий ZBASE для DOS, которые
успешно эксплуатируются с 1990г.
ZBASE - это надстройка над базовыми системами управления базами данных
(СУБД), позволяющая:
- создавать унифицированные и переносимые Приложения;
- не разрабатывать многократно подобные программные структуры (такие
структуры организованы в ZBASE-библиотеках и используются во всех
Приложениях);
- расширить круг задач, решаемых с минимальными затратами на программирование;
- в итоге - ускорить разработку, повысить надежность программ и
обеспечить эффективную возможность модификации Приложений.
- Базовые СУБД
ZBASE разработана с помощью Borland C++ и MS Visual C++, функционирует
под управлением Windows 3.X., Windows 95, Windows NT, Windows 98 и
в локальных сетях Windows NT, одноранговых Windows и Novell NetWare
(3.11 и выше).
В настоящее время, в ZBASE, в качестве базовых СУБД, используются
Btrieve и DAO MS Visual C++ (Access-формат).
- Основные возможности
ZBASE управляет объектами следующих типов:
- Приложения;
- базы данных (БД) и классификаторы;
- Приложения-друзья;
- формы отображения данных;
- отчеты и запросы;
- программы и задания;
- пароли и права доступа.
Разновидности форм отображения данных: табличная; страничная; матричная;
древовидная; диаграммы; с помощью Word, AutoCad, ГИС AcrView.
В ZBASE встроен DBASE-подобный язык программирования с библиотекой,
содержащей около 400 полезных функций.
Основные функции ZBASE:
- все стандартные функции работы с БД: просмотр, добавление, удаление,
модификация, многокритериальный поиск и печать информации;
- организация навигации по связанным Приложениям и БД;
- комплексная обработка информации, в том числе с помощью запросов,
и выдача результатов в виде бланков, таблиц, диаграмм, графиков,
БД;
- контроль правильности вводимой информации и целостности данных,
защита и ограничение доступа к информации.
- импорт/экспорт информации;
- тестирование и восстановление информации.
Основной принцип работы ZBASE с объектами Приложения заключается
в том, что все объекты описываются в исходном состоянии в текстовых
"описателях" (файлах), которые транслируются для работы во внутреннее
представление ZBASE.
- Модель данных
Основой ZBASE является информационный стандарт в стиле постреляционной
модели данных, который введен для баз данных Приложений и предусматривает
следующие возможности описания данных:
- организацию данных по древовидному принципу;
- организацию подчинения баз данных по принципу "главная-подчиненная".
- организацию связей между базами данных: "один-к-одному", "один-к-многим",
"многие-к-многим";
- использование разнообразных типов элементарных данных (чисел,
строк, дат, времен, логических, массивов, текстов, перечислений,
классификаторов, ссылок на файлы).
- организацию автоматически вычисляемых данных (алгоритмов), введение
умалчиваемых и пустых значений;
- задание алгоритмов обработки событий, возникающих при работе с
Приложениями и базами данных, в том числе: условий корректности
вводимой информации и разрешений изменения данных, алгоритмов динамической
модификации данных в зависимости от текущего содержания баз данных;
- защиту информации вплоть до защиты значений полей отдельных записей
БД.
- Зачем нужна ZBASE ?
Во-первых, ZBASE не пытается конкурировать с СУБД FoxPro,
Paradox, Access, и т.п. в части решения задач структурной организации
и управления данными в соответствии с общепринятыми требованиями и
стандартами.
ZBASE использует средства этих СУБД для управления данными.
Во-вторых, процесс создания большей части Приложений с помощью
СУБД все-таки требует программирования на встроенных в СУБД языках
таких основных свойств Приложений, как:
- поддержка структурных связей БД;
- пользовательский интерфейс;
- уникальные алгоритмы обработки и отображения информации;
- и другие нестандартные требования.
Как правило, даже средней сложности Приложение состоит из десятков
БД и классификаторов, между которыми должны быть установлены и автоматически
поддержаны самые причудливые и многоуровневые связи и условности.
При этом пользовательский интерфейс может состоять всего лишь из
двух-трех функциональных команд (мечта пользователя - "одна кнопка").
Не нужно обольщаться, что после приобретения, например, Access, Вы
без программистов или без собственных серьезных программистских усилий
сделаете Приложение, удовлетворяющее Вашим требованиям и удобное в
работе.
В лучшем случае, после приобретения навыков работы с СУБД, Вы сделаете
несколько таблиц, свяжите некоторые из них по кодам объектов, сделаете
красивые формы и отчеты отображения информации для каждой отдельной
таблицы или двух связанных.
И со всем этим "хозяйством" Вы будете работать в стандартном меню
СУБД, состоящем из множества разнообразных и ненужных для повседневной
работы команд. А если Вы научитесь делать (программировать) собственные
меню, то, все-равно, Вам придется прибегать к услугам СУБД для выполнения
множества служебных функций.
Освоив работу с электронными таблицами, Вы будете загонять данные
из БД в таблицы и суммировать их колонки.
А если Вы изучите язык запросов SQL и сможете правильно составить
SQL-запрос к собственной или удаленной БД, то получите таблицу-результат
с отобранной информацией.
А когда количество Ваших таблиц и других объектов перевалит, к примеру,
за 20, Вы будете бороться с ними все свободное время.
И наконец, в-третьих, ZBASE - это надстройка над базовой СУБД,
расширяющая возможности СУБД с целью уменьшения затрат на разработку
и сопровождение Приложений.
БД ZBASE имеют стандарный формат базовой СУБД и могут быть обработаны
с помощью стандартных средств этих СУБД.
Но к этим БД можно приписать более 300 дополнительных стандартных
свойств, которые и определяют поведение Приложения в работе.
Вот только несколько примеров таких свойств:
- задание древовидной структуры БД;
- создание связей и подчинения БД (в том числе для разных Приложений);
- всевозможные способы контроля вводимой информации;
- стандартные алгоритмы обработки информации;
- многоуровневые заголовки табличных форм (Browse);
- поля типа меню (подстановки) и собственное главное меню Приложения.
В Приложениях ZBASE типовые связи между БД формализованы и определяются
на самом низком уровне при создании структур БД Приложения.
Когда есть уникальные алгоритмы работы с информацией, то они реализуются
в ZBASE в виде встроенных в Приложение программных кусков, которые
не определяют Приложение в целом, а только дополняют его возможности.
Все Приложения ZBASE на структурном уровне похожи "как братья- близнецы"
и поэтому легко сопровождаются и модифицируются.
Программировать в ZBASE тоже приходится, но процесс программирования
имеет упорядоченный и строго формализованный характер. Все программы,
обслуживающие Приложение, имеют четкое назначение и место определения.
Благодаря этому сами программы легко сопровождаются и в них труднее,
чем в обычные программы, внести обычный программистский хаос.
Любые Приложения ZBASE потенциально легко взаимостыкуемы, вследствие
их природной однотипной организации.
Трудоемкость разработки Приложений ZBASE составляет 5-20% от трудоемкости
таких же Приложений, но сделанных только срествами базовой СУБД.
- Visual технологии
Современные Visual технологии типа Access, Delphi, Visual Basic,
Visual C++ и т.п. являются модными и эффективными средствами быстрого
создания программ.
Однако, применение Visual накладывает на процесс разработки следующие
основные требования:
- разработчик должен уметь программировать;
- проект разработки должен быть максимально детальным и безошибочным,
особенно, на структурном уровне проекта.
Visual технология устроена так, что модификация готовой программы
- это трудоемкая задача, так как приходится вручную править программные
структуры и коды, которые созданы Visual автоматически. Для многих
программ часто проще сделать все заново. Для больших программ - модификация
превращается в проблему.
Дело в том, что на низком уровне описания структуры Приложения (Database
Scheme) определяется минимальное количество свойств - около 10 свойств
типа связи таблиц, ключевые поля, простые validate и default, форматы
и маски ввода полей, подписи и подстановки.
Подавляющее большинство свойств программы хранится во всевозможных
формах, отчетах, запросах, подстановках, в программных объектах и
других описателях Visual-проекта в виде программ или свойств, доступных
для изменения. Если Вы, например, удаляете или изменяете поле БД,
то нужно ввести соответствующие изменения и проверить работоспосбность
всех объектов, где это поле прямо или косвенно используется. Даже
составить список таких объектов бывает непросто.
Для справки.
Количество свойств СУБД Access:
- форма - около 80;
- поле формы - около 60.
Из них 1/3 (1/2 для поля) - редко используемые свойства и события
(свойства макета, нажатие клавиш и т.п.).
- Программный комплекс "Кедр"
В заключение приводятся характеристики одной из наиболее сложных
систем, созданных с помощью ZBASE.
Система "Кедр" предназначена для комплексной автоматизации природоохранной
деятельности. Система предусматривает сбор экологической информации
в территориально распределенной сети пользователей.
Количественные характеристики:
- взаимосвязанных Приложений - до 20 (поставляются в заказанном
наборе);
- классификаторов - 300;
- БД (таблиц) - 700;
- входных форм - 800;
- отчетов (выходных форм) - 300;
- число взаимных связей между Приложениями - 80;
- общее число объектов, используемых из других Приложений - 1600;
- общее число связей между таблицами - 1600;
- общее число полей во всех БД - 9000;
- общее число свойств всех объектов - 25000 (в том числе программы
обработки событий БД).
Первые версии "Кедра" работали в DOS и были сделаны с помощью ранних
версий ZBASE (СУБД Clipper). Они до сих пор работают в комитетах по
охране окружающей среды.
DOS-версии были успешно перенесены в Windows вместе с накопленной
информацией.
Сейчас идет процесс внедрения и сопровождения "Кедра" в природоохранных
структурах, предприятиях, проектных организациях и т.п. Сопровождение
заключается в обеспечении работоспособности системы у пользователей
на фоне ее постоянных доработок из-за изменения нормативно-методической
базы и введения новых функций и возможностей по заявкам заказчиков.
- Итоги
- Разнообразие свойств ZBASE, вводимых на низком структурном уровне
Приложений, позволяет существенно уменьшить объем дополнительного
программирования (форм и отчетов в том числе) и, в результате:
- получение Приложений в более законченом виде уже на ранних
этапах разработки;
- возможность достаточно оперативного структурного макетирования
будущих программы;
- повышение надежности работы программ;
- уменьшение временных затрат на разработку;
- действительная возможность модификации Приложений.
- Возможность описания Приложения (со всеми своими свойствами, включая
информацию) в текстовом виде делает реальным перенос этих Приложений
на другие платформы.
- Процессы сопровождения и доработок таких Приложений - проще, чем
других, так как степень их "похожести" повышена и большая часть
функций реализована в системной части.
Можно добавить, что кроме "Кедра", НПП "Логус" силами в среднем 10
разработчиков выпустило далеко не один десяток других Приложений.
Это стало возможным, во многом, благодаря применению технологии ZBASE.
|