- •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 с.
Форма - отношение
Кафедры на специальности [Отношение]
Детальность
-гдры
на специальности
'2СН0Г*<И
гт;офиэмки
небесной
мехам*ки
Свободные
оьешей а/тсбры и теории чис*л высшей геометра ОЫЧМСЛИГСЛЬНОЙ NVirCMOTHKM гицюзэсюмехами^и гцц>а*гру сети йиффврвнциа^ь^ уравнений тФосг4ати<.и исс лсдовомия опера» .и* г*зте*лап*ес*сго лн&шзс MaTovjTVf^cr.crn ЭВМ
мдтег*ат^есх; и фх?ики нет
общей Г*ЗТС* • ЗГЖИ и 1**С«Х|.ЮТ1*.И о6ше^&:ж .«I *1 скал системкм* о fifor* р дммирог .,иия статклк-^г •'.ж о .♦осенив тесрет и идо.лаагсй мехами
ткгрГтич-ско**' к ^гривтики • кр. и ! ей и математике
jTCCfVM чтчглптм zl
Зекр«*ть
Рисунок 4.4 Пример форим-от неимения
При моделировании данных могут встречаться различные виды ассоциаций, как бинарные («один ко многим», «один к одному», «многие ко многим»), так и тернарные (связывающие более двух классов8).
При переходе от модели сущность-связь к реляционной модели ассоциации «многие ко многим» и тернарные ассоциации обычно реализуются отдельными таблицами.
Модель классов UML позволяет моделировать ассоциации «.многие ко многим», но не содержит специальных средств для моделирования тернарных ассоциаций. При создании модели данных в технологии REAL-ГГ ассоциации «многие ко многим» и тернарные ассоциации предлагаегся моделировать отдельными классами (мы будем называть их классами-отношениями или просто отношениями). Для выделения классов-отношений метамодсль расширена свойством класса «Является отношением»9, которое может принимать значение «Истина» или «Ложь». Если значения этого свойства не установлено разработчиком, то класс считается отношением, ссли он удовлетворяет следующим условиям: у него нет ни одного атрибута, он не наследуется от другого класса, и у него есть две или более ассоциаций «многие к одному».
Поскольку отношения реализованы классами, то для них можно создать такой же интерфейс, как и для обычных классов - т.е. набор списков и карточек. Однако подобный интерфейс не всегда будет удобен для пользователя ИС. Поскольку эти классы являются вспомогательными и соответствуют связям, а не объектам предметной области, то создание для них списков и карточек может вызвать у пользователя непонимание.
Можно выделить два способа представления отношений «многие ко многим», часто встречающихся в интерфейсах информационных систем:
Табличный. Отношение представляется в виде таблицы: строки таблицы соответствуют объектам одного класса, столбцы - объектам второго класса, в ячейках отражается наличие или отсутствие ассоциации между соответствующей парой объектов.
Списочный. Фиксируется объект одного из классов, а все объекты второго класса отображаются в двух списках списке объектов, связанных ассоциацией с зафиксированным, и списке объектов, которые могут быть с ним связаны. Перемещение объекта из одного списка в другой означает создание или удаление экземпляра ассоциации.
Достоинством первого способа является его наглядность. Кроме того, если отношение содержит какие-либо собственные свойства, их можно отображать в ячейках таблицы. Недостатком этого способа является то, что площадь отображаемой таблицы растет квадратично от количества объектов, и при большом количестве объектов просматривать таблицу становится затруднительно.
Достоинством второго способа является то, что с отношением удобно работать даже при большом количестве объектов. Кроме того, этот способ можно обобщить для случая тернарных ассоциаций - если ассоциация связывает объекты N классов, то можно зафиксировать объекты N-1 класса, а объекты оставшегося классз отобразить в списках. Недостатком этого способа является его асимметричность, поскольку один из классов, входящих в отношение, является выделенным и отображается в виде списков, а не фиксируется, как остальные. Это означает, что в большинстве случаев приходится создавать несколько форм для одного отношения, по одной на каждый из входящих в отношение классов.
В REAL-IT в настоящий момент реализован второй способ представления отношений (рис.4.4). При моделировании формы разработчик указывает, какой из классов отображается в списках. Как и при моделировании списковых форм, можно указать представление для списков, а также набор дополнительных фильтров для всех классов, входящих в отношение.