- •3.6 Заключение 59
- •Глава 1. Определение и виды информационных систем
- •Виды ис
- •Функциональность информационных систем, ориентированных на данные
- •Глава 2. Технология real-it
- •Моделирование схемы данных
- •Описание ограничений целостности
- •Описание экземпляров
- •Создание представлений
- •Расширение uml для моделирования представлений
- •Создание экранов
- •Генерация
- •База данных
- •Программный интерфейс базы данных
- •Экранные формы
- •Заключение
- •Глава 3. Язык описания расширенных ограничений ссылочной целостности
- •Пример диаграммы классов с ограничениями
- •Альтернативные подходы
- •Контекстные ограничения
- •Нотация
- •Семантика
- •Базовая модель Определение 1
- •Модель с отрицаниями Определение 7
- •Модель с ограничениями на отдельные объекты Определение 11
- •3.6 Заключение
- •Глава 4. Разработка пользовательского интерфейса
- •Модельно-ориентированные подходы к разработке пользовательского интерфейса
- •Визуальное моделирование при разработке web-приложений
- •Моделирование интерфейса в real-гг
- •Порядок использования модели интерфейса
- •Диаграммы классов uml
- •Шаблоны экранных форм
- •Разработка отдельных типов экранных форм
- •4.3.1 Список
- •Определение набора столбцов
- •Моделирование фильтров
- •Карточка
- •Форма - отношение
- •Заключение
- •Глава 5. Поддержка итеративной разработки
- •Альтернативные подходы
- •Поддержка «ручных» изменений кода
- •Возможные решения
- •Анализ возможных решений
- •Предлагаемое решение
- •Программный интерфейс базы данных
- •Изменение расположения и размеров элементов управления
- •Изменение поведении элементов интерфейса
- •Изменение визуального представления (замена и добавление элементов управления)
- •Составление сложной формы из нескольких сгенерированных
- •Сохранение содержимого базы данных при обновлении ее схемы
- •Заключение
- •Глава 6. Реализация
- •База данных
- •Архитектура приложения
- •Оптимизация выборки данных
- •Учет зависимостей между полями
- •Отложенная инициализация закладок
- •Передача дополнительной информации между формами
- •Генераторы
- •Заключение
- •Глава 7. Направления дальнейших исследований
- •Моделирование расширенных ограничений ссылочной целостности
- •Моделирование пользовательского интерфейса
- •Распределение прав доступа в терминах модели системы
- •Разработка семейств информационных систем
- •Использование модели бизнес-процессов для реализации системы
- •0. Для профессионалов: Пер. С англ. — сПб: Питер, 2000. — 864 с.
Архитектура приложения
Приложение, созданное с помощью REAL-IT/VB, состоит из запускающего модуля (ЕХЕ-файла) и набора ActiveX-компонент, реализующих функциональность приложения. На рис.6.1 и:юбражена общая схема приложения, описывающая его компоненты и связи между ними.
Рисунок
6.1 ApiMTttciypa приложении в
REAL-ПТУВ
Все используемые компоненты можно разделить на три уровня11:
Уровень общих библиотек (Common Runtime). Этот уровень включает в себя библиотеки, разработанные в нашем коллективе, которые, однако, могут использования в приложениях, реализованных без использования REAL-ГТ.
Уровень библиотек REAL-ГГ (REAL-IT Runtime). В этот уровень входят библиотеки поддержки выполнения приложений, создаваемых с помощью REAL-IT.
Уровень приложения (Application). Сюла входит компоненты конкретного приложения.
Опишем подробнее компоненты каждого из уровней.
Уровень общих библиотек
UniScrv — библиотека, содержащая различные функции, расширяющие возможности стандартных библиотек Visual Basic (функции для работы с коллекциями, системным реестром, файловой системой и т.д.).
UniMcnu - библиотека, предоставляющая возможности настраивать меню во время работы программы.
UniControls - библиотека, содержащая дополнительные элементы управления.
Уровень библиотек REAL-1T
UniDbApi - библиотека, инкапсулирующая работу с базой данных.
UniWord - библиотека, инкапсулирующая работу с документами MS Office. Позволяет разработчикам писать приложения, не заботясь о версии офиса, динамически формировать документы на основе шаблонов ит.д.
UniGen - основная библиотека динамической поддержки REAHT/VB. Содержит всю стандартную функциональность пользовательского интерфейса приложения, включая реализацию поведения для всех типов экранных форм.
UniMigrator - библиотека, осуществляющая стандартные действия по переносу данных при изменении схемы данных.
Уровень приложения
ApplicationAPI - содержит классы, позволяющие работать с записями в таблицах базы данных в объектно-ориентированном стиле (DAO). Генерируется по модели данных.
ApplicationApiEx - содержит классы, содержащие информацию о «стандартном» представлении данных в пользовательском интерфейсе. Генерируется по модели данных.
ApplicalionForms - Одна или несколько библиотек, содержащих экранные формы. Каждая форма создается с помощью генератора форм REAL-ГГ. Каждая библиотека может регистрировать свои формы в общем реестре и создавать пункты меню для их вмлова.
Applicationlogic - набор библиотек, содержащих классы и методы, реализующие бизнес-логику системы, не покрываемую REAL-IT. В простых приложениях, реализующих только учет данных, таких библиотек может не быть вовсе.
ApplicationMigrator - библиотека, реализующие специфические преобразования данных, при переносе их в базу другой версии. Библиотека может отсутствовав, ссли нет необходимости в миграции данных или ссли данные не требуют специфических преобразований, не поддерживаемых компонентой UniMigrator.
ApplicationEXL модуль, осуществляющий запуск приложения.
Приложение, выполненное в рамках REAL-IT/VB, использует метафору многодокументного интерфейса (MDI), т.е. все «рабочие» экранные формы представляются формами, плавающими внутри общего родительского окна, как изображено на рис. 6.2.
К сожалению. Visual Baste ис позволяет выносить дочерние окна в отдельные библиотеки, в то же время размещение всех экранных форм в одной компоненте противоречит компопектному подходу и затрудняет разработку больших приложении 11<тому было принято решение реализовывать экранные формы в виде элемешоп управления ActiveX. При этом запускающее приложение содержит пан ной и дочернее окно, а при создании нового дочернего окна на нно загружается элемент управления, реализующий требуемую экранную
Вам Смтхтг**
Cocat*
Ымтуск
Cr**ecr**toi
Cec«*ic Лгать
Ckhs
Ow-
А^<тм|
Попьч С*оЛлм| Пи>+«**«—*| Аф»св1с*»с*в4с*юм)
Немцам | С#ко*| Оц»«и)
Г
гимн I Сгц QM»e
[ %«Ы? A£g««"
1
Д*>.у*е*т* по
Ймгмтъ
Риоиоь
*>.2 Кил приложения REAL-IT/VB
Кижлля из компонент, содержащих экранные формы, умеет регистрировать эти ф1>рмы в приложении и добавлять в меню и панель инструмеетов соответствующие нункш для вызова этих форм (это относится, в первую
очередь, к спискам и отношениям, поскольку карточки обычно вызываются из списков, а не напрямую из меню). Запускающее приложение при старю передаст в UniGcn конфигурационный файл, содержащий список компонент с формами. Все компоненты из этого списка загружаются, добавляя свои команды в меню. Кроме того, компоненты REAL-IT (UniGcn, UniDbApi) также добавляют в меню свои пункты. Такая структура позволяет создавать разные версии приложения дня разных пользователей, управляя конфигурацией этих версий через один конфигурационный файл, включая туда те или иные компоненты. Конечно, некоторые компоненты могут быть связаны между собой, вызывая формы друг друга. Такие связи разрешаются динамически. Отдельный случай — составные формы (карточки со встроенными списками), они требуют статического связывания.
При этом запускающее приложение содержит некоторые общие элементы - окно-заставку, окно «О программе», иконку приложения и т.д.
