- •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 с.
Моделирование расширенных ограничений ссылочной целостности
В качестве основного направления дальнейшего развития данного подхода можно выделить использование рекурсивных связей между объектами при описании контекста ограничения. Рассмотрим, например, класс «Сотрудник», экземпляры которого могут быть связаны друг с другом ассоциацией «подчиненный - непосредственный начальник». Можно ввести между сотрудниками отношение «подчиненный - начальник», считая начальниками сотрудника его непосредственного начальника, а также всех его начальников. Такие отношения мы будем называть транзитивными ассоциациями. Использование транзитивных ассоциаций позволит описывать широкий класс ограничений, которые невыразимы другим способом - для рассмотренного в главе 3 примера это может быть, в частности, запрет на циклы в графе подчиненности (сотрудник не может быть одновременно начальником и подчиненным другого сотрудника).
Поддержка транзитивных ассоциаций требует введения соответствующих расширения для их описания и изображения на диаграммах. Кроме того, должны быть разработаны механизмы реализации ограничений, использующих такие ассоциации, поскольку соответствующие запросы будут невыразимы в рампах языка SQL-93. Хотя стандарт SQL-99 уже содержит средства для описания подобного рода запросов, но внедрение этого стандарта в промышленность идет пока достаточно медленно.
Моделирование пользовательского интерфейса
Дальнейшее развитие модели интерфейса может идти, в первую очередь, за счет добавления новых элементов в его макромегамодель, т.е. за счет появление новых типов форм и новых возможностей но построению составных форм. К тинам форм, широко использующимся в современных системах, но не нашедших пока своего отражения в модели, можно отнести иерархические списки и статистические огчеты. Что же касается составных форм, то, папример, было бы полезно иметь возможность создавать форму, состоящую из списка и карточки, отображающей свойства выбранного элемента этою списка.
Распределение прав доступа в терминах модели системы
В большинстве промышленных информационных систем, включающих в себя взаимодействие с внешними агентами (пользователями, администраторами, другими системами), требуется разграничение прав доступа к ресурсам для разных агентов. Реализация такого разграничения может быть различной для разных систем и различных программно-аппаратных платформ, в частности это может быть генерация SQL-опера торов GRANT, дающих права от дельным пользователям и их группам на таблицы базы данных, или генерация команд операционной системы, определяющих права доступа к файлам.
CASE-средство, ориентированное на создание информационных систем, должно давать возможность описывать распределение прав между пользователями системы с помощью высокоуровневых средств моделирования, что позволит при настройке системы под конкретную платформу генерировать права на таблицы баз данных автоматически, а не делать это для каждой платформы вручную.
При этом схема распределения прав должна соответствовать семантике проекта: если пользователь может обращаться к функции, для работы которой требуются, например, права на чтение из какой-то таблицы базы данных, то такие права надо ему предоставить (если права мы можем определять, например, только на таблицы и только для пользователей), если же при дальнейшей работе нал проектом эта функция изменится и таблица окажется ей не нужна, то пользователь должен быть лишен прав на нее (если он не использует эту таблицу через другую функцию).
Кроме того, даже пользователи, выполняющие однотипные действия, должны иметь разные права в соответствии со сферой своей компетенции - например, инспектор огдела кадров должен иметь доступ к данным сотрудников только тех подразделений, за которые он отвечает, и т.д. При этом, в случае хорошо нормализованной базы, данные о сотруднике обычно хранятся в большом количестве связанных между собой таблиц.
Таким образом, распределение прав является достаточно сложной задачей, тссно связанной со структурой системы, которая обычно представляется в виде визуальных моделей. Это создаст предпосылки для включения в REAL-IT соответствующей методики и набора инструментальных средств, и в настоящее время ведутся работы в этом направлении [3,8].