- •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 с.
Диаграммы классов uml
Для хранения информации о модели интерфейса в REAL-IT используются диаграммы классов UML, которые сохраняются в репозитории проекта в CASE- пакеге REAL. При этом каждому окну ставится в соответствие отдельный класс, а связи между окнами переходят в ассоциации между классами. Набор классов и ассоциаций описывает макромодсль интерфейса Микромодель окна сохраняется в свойствах класса.
Иногда в окно требуется вставить целиком содержимое другого окна - например, u JANUS карточка класса-предка вставляется в карточку наследника, а в REAL-IT в окно-карточку могут быть вставлены встроенные списки. При этом вложенное окно перестает быть окном - у него нет рамки, заголовка, некоторых кнопок, отвечающих за его функциональность как отдельного окна (например, кнопки «Закрыть»). Тем не менее, у него есть своя микромодель, и его удобно реализовывать как отдельную компоненту, которая генерируется самостоятельно (отдельно от объемлющего окна) и встраивается в объемлющее окно как единое целое. Мы будем считать такие компоненты также элементами макромодели. При этом отношение вложения для компонент в модели классов отображается как отношение агрегирования. Для удобства наложения мы будем называть все компоненты интерфейса экранными формами. Каждое окно состоит либо из одной экранной формы, либо из нескольких связанных экранных форм. В последнем случае одна из форм считается главной - т.е. она должна агрегировать другие формы. На рис. 4.1 приведен пример диграммы классов, соответствующей макромодели интерфейса.
Рисунок
4.1 Диаграмма классов мол ели интерфейса
Шаблоны экранных форм
Как уже было сказано, модель данных неоднозначно определяет пользовательский интерфейс системы. Экранные формы, визуализирующие фрагмент модели данных, могут использовать какую-то определенную часть информации из модели и по-разному представлять ее. Однако при этом интерфейс не должен быть хаотичным, иначе его освоение потребует больших усилий со сгороны пользователя, т.е. он должен состоять из взаимосвязанных элементов, примем количество типов этих элементов и видов связей между ними должно быть достаточным, но не слишком большим.
На макроуровне следование этому принципу приводит нас к тому, что каждая экранная форма создается на основе шаблона, параметризуемого, с одной стороны, фрагментом модели данных (набором используемых классов и их связей), а, с другой стороны, - дополнительными настройками разработчик.!. Кроме того, шаблон определяет возможные связи данной формы с другими формами.
Набор шаблонов определяет мстамодсль макроуровня интерфейса, или макрометамодель. Именно она описывает структурное разнообразие интерфейса - из экранных форм каких типов он состоит, какими информационными потоками эти формы Moryi быть связаны между собой, как могут конструироваться окна из отдельных форм. В свою очередь, для каждого типа форм генераторы задают метамодель микроуровня форм этого типа, или микрометамодель. Именно она определяет разнообразие визуализации отдельных элементов данных внутри экранной формы.
Макрометамодель интерфейса REAL IT в настоящий момент содержит три типа форм:
список, отображающий множество объектов6;
карточка, позволяющая посмотреть и отредактировать свойства одного объекта;
форма-отношение, реализующая связь «многие ко многим» между классами модели данных.
Формы этих типов могут быть связаны следующим образом:
Список с карточкой для просмотра и редактирования элемента списка. Позволяет пользователю просматривать'рсдактировать информацию об
отдельном объекте, а также создавать новые обьекты. В настоящий момент связи этого вида генераторами REAL-IT реализуются только как возможность вызова из окна-списка окна-карточки.
Карточка со списком или отношением для связанных объектов. Позволяет из карточки объекта переходить к просмотру/редактированию его связей с другими объектами. Связи этого вида можно инкапсулировать в составное окно - т.е. можно сгенерировать окно, состоящее in карточки и связанных с нею списков.
Отдельные элементы одного окна с другим окном - например, возможность вызова списка или карточки из фильтра (об этом будет сказано ниже).
Следует отметить, что перечисленный набор типов окон не охватывает все разнообразие экранных форм, которые могут быть полезны при создании пользовательского интерфейса информационной системы. Например, в него не вошли такие типы экранных форм, как статистические таблицы, деревья, позволяющие отображать иерархический набор объектов. Не все виды связей между экранными формами могут бы:ь инкапсулированы в одно окно (например, нельзя создать окно со списком и встроенной в этот список карточкой). Микрометамодели отдельных типов окон также могут быть расширены (например, использованием переключателей (элементы управления типа Radiobutton) для выбора одного из значений перечислимого типа).