С.В.Горин, А.Ю.Тандоев, Фирма АлконсСофт
1. Введение
В условиях рынка все большее число компаний осознают преимущества использования
информационных систем (ИС). В некоторых случаях ИС - это не только набор услуг, но и важнейший
компонент бизнеса, как, например, система резервирования билетов или средства предоставления
финансовой информации. Чтобы получить выгоду от использования информационной системы, ее
следует создавать в короткие сроки и с уменьшенными затратами. Информационная система должна
быть легко сопровождаемой и управляемой.
Создание информационной системы предприятия - достаточно сложный и многоступенчатый процесс,
который, весьма часто, содержит фазу информационного моделирования. Информационная модель -
это спецификация структуры данных и бизнес правил (правил предметной области).
2. Информационное моделирование
В данной статье мы рассмотрим некоторые аспекты информационного моделирования и его
автоматизации с использованием CASE-средства ERwin 2.5 фирмы LogicWorks.
ERwin - средство разработки структуры базы данных (БД). ERwin сочетает графический интерфейс
Windows, инструменты для построения ER-диаграмм, редакторы для создания логического и
физического описания модели данных и прозрачную поддержку ведущих реляционных СУБД и
настольных баз данных. С помощью ERwin можно создавать или проводить обратное проектирование
(реинжиниринг) баз данных.
Предыдущие версии ERwin - 1.5 и 2.1 - завоевали все возможные призы среди программ своего
класса, в том числе DBMS Readers' Choice в 1992, 1993, 1994, 1995 годах, Software Development
Productivity Award 1993, Data Based Advisor Readers' choice 1992 и 1994. Текущая версия продукта -
2.5.
Реализация моделирования в ERwin базируется на теории реляционных баз данных и на методологии
IDEF1X.
Методология IDEF1X была разработана для ВВС США и теперь используется, в частности, в
правительственных, аэрокосмических и финансовых учреждениях, а также в большом числе частных
компаний.
Методология IDEF1X определяет стандарты терминологии, используемой при информационном
моделировании, и графического изображения типовых элементов на диаграммах.
Возможны две точки зрения на информационную модель и, соответственно, два уровня модели.
Первый - логический (точка зрения пользователя) - описывает данные, задействованные в бизнесе
предприятия. Второй - физический - определяет представление информации в БД. ERwin объединяет их
в единую диаграмму, имеющую несколько уровней представления .
3. Реляционные базы данных
В реляционной модели все данные представляются как факты о сущностях и связях. Например,
система резервирования билетов содержит информацию о сущностях "пассажир" и "рейс". Между
сущностями определяются функциональные связи. Продолжая пример, между сущностями "пассажир"
и "рейс" определяется связь "перевозит" ("рейс" "перевозит" много "пассажиров").
Сущность - это, например, человек, место, вещь, событие, концепция, о которых хранится
информация. Сущности именуются обычно существительными, такими как "покупатель", "компьютер",
"служащий", "продажа".
Более точно, сущность - это множество индивидуальных объектов - экземпляров, причем все эти
объекты являются различными.
Связь - это функциональная зависимость между сущностями. Например, "служащий" совершает
"продажи".
Каждая сущность обладает атрибутами. Атрибут - это свойство объекта, характеризующее его
экземпляр. Сущность "служащий" может иметь атрибуты "имя", "дата рождения" и т.д.
Общепринятым видом графического изображения реляционной модели данных является ER-
диаграмма. На такой диаграмме сущности (таблицы) изображаются прямоугольниками, возможно,
соединенными между собой линиями (связями). Такое графическое представление облегчает
восприятие структуры базы данных по сравнению с текстовым описанием.
4. Сущности и атрибуты в реляционной модели
Таблицы в реляционной СУБД состоят из строк данных, однородных по своей природе. Другими
словами, каждая строка таблицы описывает один экземпляр некоторой сущности, причем набор
атрибутов каждого экземпляра постоянен.
Предположим, в базе данных хранится информация о служащих. Таблица "покупатель" содержит 3
колонки и 4 строки:
Имя | Адрес | Идент. карты |
---|---|---|
Сидоров | 1 улица 8 марта | 444444 |
Иванов | 2 улица 8 марта | 222222 |
Петров | 3 улица 8 марта | 333333 |
Павлов | 4 улица 8 марта | 111111 |
5. Связи в реляционной модели
Если между некоторыми сущностями существует связь, то факты из одной сущности ссылаются или
некоторым образом связаны с фактами из другой сущности. Поддержание непротиворечивости
функциональных зависимостей между сущностями называется ссылочной целостностью. Поскольку
связи содержатся "внутри" реляционной модели, реализация ссылочной целостности может
выполняться как приложением, так и самой СУБД (с помощью механизмов декларативной ссылочной
целостности, триггеров).
Проектирование модели в ERwin наглядно представляет ограничения ссылочной целостности в
независимом от СУБД виде. В то же время для выбранной целевой СУБД ERwin автоматически
генерирует нужные элементы ссылочной целостности - внешние и альтернативные ключи, триггеры,
ограничения.
6. Моделирование в ERwin
Место ERwin в информационном моделировании
Процесс построения информационной модели состоит из следующих шагов:
В ERwin существуют два уровня представления и моделирования - логический и физический .
Логический уровень означает прямое отображение фактов из реальной жизни. Например, люди,
столы, отделы, собаки и компьютеры являются реальными объектами. Они именуются на естественном
языке, с любыми разделителями слов (пробелы, запятые и т.д.). На логическом уровне не
рассматривается использование конкретной СУБД, не определяются типы данных (например, целое
или вещественное число) и не определяются индексы для таблиц.
Целевая СУБД, имена объектов и типы данных, индексы составляют второй (физический) уровень
модели ERwin.
ERwin предоставляет возможности создавать и управлять этими двумя различными уровнями
представления одной диаграммы (модели), равно как и иметь много вариантов отображения на
каждом уровне.
Диаграмма ERwin строится из трех основных блоков - сущностей, атрибутов и связей. Если
рассматривать диаграмму как графическое представление правил предметной области, то сущности
являются существительными, а связи - глаголами.
Выбор между логическим и физическим уровнем отображения осуществляется через линейку
инструментов или меню. Внутри каждого из этих уровней есть следующие режимы отображения:
Основные инструменты создания модели доступны как из меню, так и через окно инструментов. С их
помощью создаются независимые и зависимые сущности, идентифицирующие и неидентифицирующие
связи, полные и неполные категории, неспецифические связи и текстовые элементы.
Нажатием мыши над сущностью производится вход в один из многочисленных редакторов
ERwin:
На диаграмме сущность изображается прямоугольником. В зависимости от режима представления
диаграммы прямоугольник может содержать имя сущности, ее описание, список ее атрибутов и другие
сведения.
Горизонтальная линия прямоугольника разделяет атрибуты сущности на два набора - атрибуты,
составляющие первичный ключ в верхней части и прочие (не входящие в первичных ключ) в нижней
части.
Сущность представляет собой множество реальных или абстрактных объектов, например, люди,
места, события, факты, которые имеют общие характеристики. Сущность - это логическое понятие.
Сущности соответствует таблица в реальной СУБД. В ERwin сущность визуально представляет три
основных вида информации:
Связь - это функциональная зависимость между двумя сущностями (в частности, возможна связь
сущности с самой собой). Например, важно знать фамилию сотрудника, и не менее важно знать, в
каком отделе он работает. Таким образом, между сущностями "отдел" и "сотрудник" существует связь
"состоит из" (отдел состоит из сотрудников). Связь - это понятие логического уровня, которому
соответствует внешний ключ на физическом уровне. В ERwin связи представлены пятью основными
элементами информации:
Рис.1. Обозначения мощности связи в нотации IE
Имя связи на логическом уровне представляет собой "глагол", связывающий сущности. Физическое
имя связи (которое может отличаться от логического) для ERwin означает имя ограничения (constraint)
или индекса.
Все объекты модели ERwin могут редактироваться средствами, принятыми в Windows - группировка,
копирование, удаление, перемещение, использование системного буфера. Установка цветов и
шрифтов осуществляется в удобных диалогах.
Компоненты модели, представленные текстом (имена сущностей, атрибутов, текстовые элементы)
могут редактироваться непосредственно на экране.
Альтернативный ключ - это атрибут (или группа атрибутов), несовпадающий с первичным ключом и
уникально идентифицирующий экземпляр сущности. Например, для сущности служащий
(идентификатор служащего, фамилия. имя, отчество) группа атрибутов "фамилия", "имя", "отчество"
может являться альтернативным ключом (в предположении, что на предприятии не работают полные
тезки).
Для альтернативного ключа, как и для первичного, ERwin автоматически создает индексы при
генерации БД.
Атрибуты, составляющие альтернативный ключ, однозначно (уникально) идентифицируют
экземпляры сущности. В ERwin можно также составлять группы атрибутов, которые не
идентифицируют уникально экземпляры сущности, но часто используются для доступа к данным. Для
каждой такой группы атрибутов ERwin создает неуникальные индексы.
Одни и те же атрибуты сущности могут входить в несколько различных групп ключей.
Зависимая сущность может наследовать один и тот же внешний ключ от более чем одной родительской
сущности, или от одной и той же родительской сущности через несколько связей. Если не введены
различные роли для такого множественного наследования, ERwin считает, что в зависимой сущности
атрибуты внешнего ключа появляются только один раз.
Унификация - это объединение двух или более групп атрибутов внешних ключей в один внешний
ключ (группу атрибутов), в предположении, что значения одноименных атрибутов в дочерней
сущности всегда одинаковы.
Рассмотрим пример: сущность "сотрудник" имеет первичный ключ "код сотрудника" и связан
идентифицирующей связью с сущностями "супруга" и "дети". При этом происходит миграция
первичного ключа в зависимые сущности. В свою очередь, сущность "супруга" связана
неидентифицирующей связью с сущностью "дети". Имеются два пути миграции ключа, однако в
сущности "дети" атрибут "код сотрудника" появляется один раз в качестве элемента первичного
ключа.
Существуют случаи, когда унификация атрибутов дает неверный с точки зрения предметной области
результат. Для отмены унификации для атрибутов вводятся имена ролей.
Некоторые сущности определяют целую категорию объектов одного типа. В ERwin в таком случае
создается сущность для определения категории и для каждого элемента категории, а затем вводится
для них связь категоризации. Родительская сущность категории называется супертипом, а дочерние -
подтипом.
Например, сущность "сотрудник" может содержать данные как о штатных работниках, так и о
временно нанятых. Первые и вторые имеют различные, частично пересекающиеся наборы атрибутов
(минимальное пересечение подтипов составляет первичный ключ). Общая часть этих атрибутов,
включая первичный ключ, помещается в сущность-супертип "сотрудник".
Различная часть (например, данные почасовой оплаты для временных работников и данные о
зарплате и отпуске для штатных работников) помещается в сущности-подтипы.
В сущности-супертипе вводится атрибут-дискриминатор, позволяющий различать конкретные
экземпляры сущности - подтипа.
В зависимости от того, все ли возможные сущности-подтипы включены в модель, категорийная связь
является полной или неполной. Продолжая пример, если супертип может содержать данные об
уволенных сотрудниках, то эта связь - неполной категоризации, так как для него не существует записи
в сущностях - подтипах.
В ERwin полная категория изображается окружностью с двумя подчеркиваниями, а неполная -
окружностью с одним подчеркиванием.
Ссылочная целостность - это обеспечение требования, чтобы значения внешнего ключа экземпляра
дочерней сущности соответствовали значениям первичного ключа в родительской сущности.
Ссылочная целостность может контролироваться при всех операциях, изменяющих данные
(INSERT/UPDATE/DELETE). Средства контроля ссылочной целостности в ERwin включают
автоматическую генерацию триггеров и использование механизмов декларативной ссылочной
целостности (для тех СУБД, которые поддерживают данные механизмы).
Для каждой связи на логическом уровне могут быть заданы требования по обработке операций
INSERT/UPDATE/DELETE для родительской и дочерней сущности. ERwin представляет следующие
варианты обработки этих событий:
Обычно модели ERwin сохраняются на диск в виде файла. Имеется возможность хранить модель в
целевой СУБД. Для этого с помощью самого ERwin в целевой СУБД создается метабаза ERwin. В
этой базе данных сохраняется информация модели. В частном случае базой данных могут быть и
dBase-файлы, с которыми ERwin работает через ODBC.
Рассмотрим цикл разработки на примере, приведенном в статье Кодда [1].
Коротко напомним содержательную сторону задачи. Ведется учет служащих. Для каждого служащего
хранится информация о детях и о списке занимавшихся этим служащим должностей. Для должностей
хранится информация по установленным должностным окладам.
Сначала создадим логический уровень модели. Для этого зададим режим отображения сущностей
(Display/Entity Level). Создадим при помощи линейки инструментов сущности "служащий", "дети",
"история работы", "история зарплаты". Будем именовать сущности на русском языке.
Выбрав каждую сущность, зададим для нее подробное описание на русском языке в редакторе "Entity
Definition". Это описание появится в отчетах ERwin и может быть отображено на диаграмме.
Укажем связи между сущностями. Например, "служащий" связан идентифицирующей связью "является
родителем" с сущностью "дети". Описание связи вводится в редакторе "Editor/Relationship".
Результат работы отображен на диаграмме ERwin (рис. 2).
Рис. 2. Диаграмма уровня сущности
Теперь перейдем в режим задания атрибутов (Display/Atribute Level). В редакторе "Entity/Attribute"
зададим на русском языке имена ключевых и неключевых атрибутов. Заметим, что для дочерней
сущности "дети" ключевой атрибут "номер служащего" не указывается вручную. ERwin обеспечивает
его миграцию из родительской сущности. То же происходит с другими дочерними сущностями.
Для атрибута "имя" сущности "служащий" укажем, что он является альтернативным ключом (будем
считать, что у всех служащих уникальные имена/фамилии). Для этого после имени атрибута поместим
указатель AK1 в скобках.
Результат работы отображен на диаграмме ERwin (рис. 3) в нотации IDEF1X.
Рис. 3. Диаграмма уровня атрибутов в нотации IDEF1X
Вид той же диаграммы в нотации IE (Information Engineering) показан на рис.4.
Рис. 4. Диаграмма уровня атрибутов в нотации IE
Так как имена атрибутов и сущностей задавались нами на русском языке, для перехода к физическому
уровню модели следует поставить им в соответствие идентификаторы таблиц, колонок и ограничений,
удовлетворяющие правилам целевой СУБД (обычно это означает использование латинских букв,
цифр и некоторых специальных символов).
В редакторе "Database Schema" указываем для каждой сущности соответствующее имя таблицы.
Затем в редакторе "Attribute Definition" задаем имена колонок таблиц, соответствующие атрибутам
сущностей. ERwin и здесь обеспечивает миграцию имен колонок в подчиненные таблицы.
На этом этапе можно воспользоваться и редактором "Extended Attributes" для определения
расширенных атрибутов PowerBuilder (формата отображения, маски редактирования, правила
контроля, выравнивания, заголовков и комментариев).
В редакторе "Relationship Definitions" указывается физическое имя связи, которое соответствует
имени ограничения (constraint), создаваемого ERwin в базе данных.
Теперь все готово к созданию БД и нужно выбрать целевую СУБД (если этого не было сделано
раньше). Выберем, например, Sybase System 10.
В редакторе SYBASE Database Schema задаем типы данных для колонок таблиц.
Диалог, в котором происходит выбор типа данных, приведен на рис.5.
Рис. 5. Определение физической модели
Теперь можно перейти к созданию базы данных. Для этого выполняется команда "Sybase schema
generation". ERwin построит пакет SQL-предложений генерации базы данных. На рис.6 показан диалог выбора параметров генерации пакета для генерации БД.
На рисунке видно, что может быть задан фильтр (генерация не всех таблиц), пакет SQL-предложений
можно просмотреть (preview), распечатать, сохранить в файл (report), выполнить генерацию
(generate).
Рис. 6. Выбор параметров генерации базы данных
7. Расширенные функции ERwin
Обратное проектирование, то есть восстановление информационной модели по существующей базе
данных, используется при выборе оптимальной платформы (rightsizing) для существующей настольной
(desktop) базы данных или базы данных на mainframe, а также при расширении (или модификации)
существующей структуры, которая была построена без необходимой сопроводительной
документации. После завершения процесса восстановления модели ERwin автоматически
"раскладывает" таблицы на диаграмме. Теперь можно выполнять модификации уже с использованием
логической схемы - добавлять сущности, атрибуты, комментарии, связи и т.д. По завершении
изменений одна команда - синхронизировать модель с базой данных - актуализирует все проведенные
изменения.
Построение модели может быть выполнено как на основании данных каталога базы данных, так и на
основании пакета операторов SQL, с помощью которого была создана база данных.
В процессе разработки информационной системы может возникнуть ситуация, когда структура базы
данных и информационная модель не соответствуют друг другу. ERwin предоставляет возможность
привести их в соответствие.
Для этого предусмотрена функция синхронизации с базой данных. После подключения к СУБД
предлагается список несоответствий между существующей структурой данных и моделью. Например,
если в базе данных создана новая таблица, то ERwin предложит провести включение ее в модель.
Если в модель добавлена новая таблица, ERwin предложит создать ее в реальной базе данных.
Аналогично, при добавлении колонок в базе данных или в модели ERwin предлагает провести
соответствующие операции по синхронизации. Процедура выбора синхронизируемых таблиц
показана на рис.7.
Рис. 7. Выбор синхронизируемых таблиц
ERwin "знает" о таких особенностях хранения данных в отдельных СУБД, как сегменты (в Sybase) и
табличное пространство (в Oracle). Информация о физическом размещении может быть включена в
модель и использована при прямом и обратном проектировании.
ERwin поддерживает прямой интерфейс с основными СУБД: DB2 версии 2 и 3, Informix версий 5.1,
6.0, 7.1, Ingres, NetWare SQL, ORACLE версий 6 и 7, Progress, Rdb версий 4 и 6, SQL/400 версий 2 и
3, SQLBase версий 5 и 6, SQL Server версий 4 и 6, Sybase версии 4.2, Sybase System 10 и 11, Watcom
SQL. Отметим, что поддерживаются как самые современные, так и предыдущие версии основных
СУБД (рис.8).
Рис. 8. Выбор СУБД для создания модели
ERwin поддерживает также настольные (desktop) СУБД: Microsoft Access, FoxPro, Clipper, dBASE III,
dBASE IV и Paradox.
Проектирование на физическом уровне выполняется в терминах той базы данных, которую
предполагается использовать в системе. Важно, что ERwin "известны" соответствия между
возможностями СУБД различных производителей, вследствие чего возможно преобразование
физической схемы, спроектированной для одной СУБД, в другую.
Для создания физической структуры БД может быть запрошена генерация DDL-скрипта (data
definition language). При этом используется диалект SQL для выбранного типа и версии сервера. Хотя
сгенерированный код не нуждается в модификации, имеется возможность его сохранить в файл или
распечатать.
ERwin выпускается в нескольких различных редакциях, ориентированных на наиболее
распространенные средства разработки 4GL. В числе поддерживаемых средств - PowerBuidler фирмы
Powersoft, SQL Windows фирмы Gupta, Visual Basic фирмы Microsoft, Oracle*CASE фирмы
Oracle.
Средства двунаправленного взаимодействия ERwin с базой данных обеспечивают управление
информацией, ориентированной как на серверную, так и на клиентскую часть. Например, для
PowerBuilder можно просматривать/редактировать расширенные атрибуты в редакторах ERwin.
Ориентация ERwin на средства 4GL позволяет задать для будущих приложений большинство
параметров, непосредственно связанных с базой данных, уже на стадии проектирования
информационной модели.
Покажем принципы организации такого взаимодействия на примере PowerBuilder.
PowerBuilder создает в базе данных несколько внутренних таблиц для хранения своего репозитария
(расширенных атрибутов для datawindow). Использование расширенных атрибутов гарантирует
сохранение стиля отображения одних и тех же колонок базы данных для всех приложений,
создаваемых рабочей группой. В расширенных атрибутах задаются такие параметры, как формат
отображения, стиль редактирования, выражение проверки на корректность, начальное значение,
выравнивание, ширина и высота элемента отображения, метка для формы редактирования, заголовок
для табличного отображения.
Для расширенных атрибутов допустимы те же операции синхронизации, что и для всей модели, то есть
описания могут быть загружены в базу данных и, наоборот, созданные из среды PowerBuilder
описания расширенных атрибутов могут быть загружены из базы данных в ERwin для
модификации.
Пример определения расширенных атрибутов показан на рис.9.
Рис. 9. Задание расширенных атрибутов PowerBuilder
Функция ERwin по генерации DataWindow позволяет сгенерировать прототипы окон данных
будущего приложения уже на стадии создания информационной модели. Для создания Data Windows
предлагается Wizard, с помощью которого указывается стиль окна и выбранные колонки
таблиц.
ERwin реализует собственный макроязык для подготовки прототипов триггеров и процедур. Схема
использования прототипов заключается в подготовке шаблона для различных типов триггеров
(например, триггер, реализующий логику каскадного удаления - ON DELETE CASCADE). Базовые
шаблоны встроены в ERwin, но пользователь может определить свои собственные шаблоны и
использовать их вместо стандартных.
Макроязык шаблонов реализует большое количество макросимволов, ссылающихся на различные
объекты базы данных, например:
%Action /* ERwin Builtin %Datetime */ /* %Parent %VerbPhrase %Child ON PARENT DELETE CASCADE */ delete %Child from %Child,deleted where /* %%JoinFKPK(%Child,deleted," = "," and") */ %JoinFKPK(%Child,deleted," = "," and")В модели, приведенной выше для связи positions - salary_track будет сгенерирован следующий прототип триггера:
DELETE /* ERwin Builtin Fri Jun 02 17:12:09 1995 */ /* positions приносила доход salary_track ON PARENT DELETE CASCADE */ delete salary_track from salary_track, deleted where /* %%JoinFKPK(%Child,deleted," = "," and") */ salary_track.empl_id = deleted.empl_idВсе макрофункции, которые могут использоваться в триггерах, могут использоваться также и в процедурах. Существенно, что процедуры, как и триггеры, связываются с таблицей.
В ERwin поддерживаются два типа правил (проверок допустимости значений) и начальных (по
умолчанию) значений. Правило и умолчание может быть указано для проверки со стороны клиента
(например, в PowerBuilder) и со стороны сервера.
При задании правила или умолчания для клиентской части эти атрибуты переносятся в репозитарий
средства 4GL.
На рис.10 показан диалог для задания значений по умолчанию,
устанавливаемых в PowerBuilder. Заметьте, что в одном и том же диалоге задаются умолчания,
подставляемые как на стороне клиента, так и на стороне сервера (в данном случае - Sybase).
Рис. 10. Определение умолчания для PowerBuilder
Часто используемые комбинации свойств можно поименовать. Такая комбинация свойств,
называемая доменом, может наследоваться. Например, можно определить домен "Дата" для
отображения всех колонок с датами в приложении в одном стиле, домен "Дата рождения ребенка"
наследует все атрибуты от домена "Дата" и вносит дополнительный атрибут - цвет отображения.
Пример определения домена показан на рис.11.
Рис. 11. Определение домена
Назначение доменов для сервера аналогично назначению доменов для клиента. Различие заключается
в том, что правила и начальные значения для сервера определяются в генерации схемы базы данных, а
аналогичные атрибуты для клиента - сохраняются в репозитарии средства 4GL.
Другое назначение доменов для сервера - определение пользовательских типов данных.
Пользовательскому типу данных ставится в соответствие тип, "известный" СУБД. При выполнении
синхронизации с базой данных для СУБД, поддерживающих пользовательские типы, выполняется
соответствующие команды. Например, для Sybase выполняется команда:
sp_addtype person_name, "char(64)", "NOT NULL"
По завершении работы над информационной моделью, как правило, распечатываются логический и
физический уровни диаграммы, а также отчет по соответствиям сущность-таблица, атрибут-имя
колонки, сущность-атрибуты. Диаграмма физической модели является необходимым, почти
достаточным и очень удобным материалом для разработчиков программ. Дополнительная
информация для группы разработчиков прикладных программ содержится в отчете "имена таблиц и
колонок", который может быть легко построен с помощью ERwin. Выбор режима построения отчета
показан на рис.12.
Рис. 12. Варианты выдачи отчета
Сгенерированный отчет может быть сохранен на диск (колонки разделяются запятыми,
выравниваются или разделяются табуляцией), или передан в текстовый процессор (или электронную
таблицу) через интерфейс DDE.
Для подготовки развитых отчетов может быть использован специальный генератор отчетов фирмы
Logic Works - RPTwin, который интегрирован с ERwin. Пример конструирования отчета в RPTwin
приведен на рис.13.
Рис. 13. Конструирование отчета в RPTwin
Диаграммы информационных моделей современных информационных систем обычно весьма велики,
вследствие чего работать со всей диаграммой достаточно сложно как на стадии проектирования
информационной модели, так и при разработчикам прикладного программного обеспечения. ERwin
дает возможность работать не со всей диаграммой, а с логически законченной группой сущностей,
называемой предметной областью (Subject Area). Переключение отображения с одной предметной
области на другую производится выбором из раскрывающегося списка.
Например, рассмотрим информационную модель для некоторого абстрактного предприятия. В
информационной системе задействованы бухгалтерия, склад, кадры. В этом рассмотренные в первом
примере сущности (сотрудник, история работы, доход) могут быть выделены в отдельную предметную
область "кадры".
Такой подход обладает рядом важных преимуществ. Во-первых, группа разработчиков программного
обеспечения снабжается диаграммой той предметной области, с которой она работает. Во-вторых, при
разработке информационной модели проектировщик может удалить с экрана уже спроектированные
блоки, чтобы они не загромождали диаграмму. В-третьих, использование предметных областей
стимулирует структурный подход к разработке информационной модели, то есть выделение
логических блоков с последующей их детальной разработкой.
Уровень детализации диаграммы информационной модели может изменяться проектировщиком.
Например, могут отображаться только имена сущностей (таблиц), может быть включено/выключено
отображение мощности связи, может быть включено/выключено отображение альтернативных
ключей, может отображаться физическая или концептуальная модель. Для удобства проектировщика
предусмотрена возможность присвоить имя группе параметров отображения. Определенные
пользователем имена показываются на экране в виде закладок, что обеспечивает переключение с
одного режима отображения на другой одним щелчком мыши.
Проектировщик информационной модели имеет возможности использовать цветовое и шрифтовое
выделение для различных компонентов диаграммы. Выделение может быть выполнено как для всей
модели (например, все внешние ключи отображать синим цветом), так и для отдельного компонента
(одна таблица, все атрибуты таблицы, один атрибут таблицы, одна связь и т.д.). Использование
цветового и шрифтового выделения на диаграмме информационной модели делает ее более наглядной
и позволяет проектировщику обратить внимание читателей диаграммы на ее отдельные
элементы.
8. Новые возможности версии 2.5
С начала 1996 года распространяется версия ERwin 2.5, в которой реализован ряд новых
функций:
9. Заключение
Применение ERwin существенно повышает эффективность деятельности разработчиков
информационных систем. Перечислим кратко основные получаемые преимущества:
10. Список литературы
Сергей Викторович Горин
Андрей Юрьевич Тандоев
Фирма АлконсСофт
тел. (095) 362-5138, 918-1380, 362-7443