- •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-1Т для определения архитектуры пользовательского интерфейса, — создание оконного интерфейса на основе набора конструктивных элементов [12]. Пользовательский интерфейс конструируется из элементов различных типов, каждый из которых визуализирует часть модели данных по заданным правилам.
Среди множества конструктивных элементов, из которых строится интерфейс пользователя, учитывая специфику данного класса систем, т.е. обработку данных и учет ст«иистики, мы выделяем несколько наиболее часто встречающихся элементов:
список, отображающий множество объектов;
карточка, позволяющая посмотреть и отредактировать свойства одного объекта;
форма-статистика, отображающая статистические данные в виде таблицы;
форма-отношение, реализующая связь «многие ко многим»;
иерархический список, представляющий иерархию однородных объектов в виде дерева.
Благодаря тому, что пользовательский интерфейс состоит из элементов предопределенных типов, становится возможным строить его на базе модели предметной области, используя для этого соответствующие мастера (wizards) и генераторы [12].
С помощью мастера можно создать элемент интерфейса ка ос ноне информации, содержащейся в модели предметной области, шаблона для данного типа элемента и информации, внесенной пользователей в интерактивном режиме. Настройка экранных форм в процессе генерации — конструирование внешнего вида интерфейса, определение свойств полей и т.д. — обеспечивает гибкость генераторов, позволяет пользователю создавать экраны, максимально удовлетворяющие его требованиям.
Модель сгенерированного экрана (включая сделанные пользователем настройки) сохраняется в репозитории, в модели классов. После генерации всех экранов приложения в модели классов будет находиться схема интерфейса, содержащая описание всех сгенерированных экранов и переходов между ними. В дальнейшем она может быть использована при перегенерацни приложения. Существует набор массовых генераторов, создающих не один, а сразу несколько экранов на основе только модели интерфейса, что удобно для поддержки итеративного характера разработки интерфейса.
Генерация
По созданным моделям генерируются следующие компоненты системы:
база данных;
программный интерфейс базы данных;
пользовательский интерфейс в виде набора экранных форм.
База данных
Для генерации базы данных создана надстройка к CASE-пакету REAL — генератор базы данных. Эго единственный из генераторов, который не зависит от языка реализации системы — база данных создается посредством предложений языка SQL/DDL [52], причем настройка на конкретный диалект этого языка производится с помощью специального файла конфигурации.
По каждому классу модели данных в базе данных создается таблица. Исключением являются абстрактные классы — т.с. классы, у которых не может быть экземпляров, кроме экземпляров их наследников, lfo абстрактным классам генерируются хранимые запросы, выбирающие все экземпляры данного класса, собирая через конструкцию UNION языка SQL информацию из таблиц всех его наследников.
При генерации в каждой таблице создастся уникальный идентификатор объекта
поде ID, оно же становится первичным ключом. Это поле заполняется автоматически при создании каждой новой записи класса и впоследствии не может быть изменено.
Атрибуты класса переходят в поля сснггвстствуюшей классу таблицы или запроса. При этом используется название атрибута и его тип. Кроме того, при генерации базы данных используется информация о предопределенных объектах - по каждому такому объекту создаегся запись в соответствующей таблице.
