Аннотация: В данной статье рассмотрен процесс создания базы данных с использованием CASE-средства Allfusion Process+Data Modeler, описаны основные этапы разработки: моделирование бизнес-процессов, создание логической и физической моделей данных, а также экспорт базы данных в MS SQL Server.
Ключевые слова: сельская библиотека, контекстная диаграмма, декомпозиция, Allfusion Process Modeler, BPwin, IDEF0, Allfusion Data Modeler, модель данных, ERwin, база данных, IDEF1x, сущность, связь, атрибут.
УДК 004.6
Саликов Валентин Александрович,
доцент кафедры автоматизированных систем
обработки информации
Днепропетровского национального
университета им. О. Гончара
Сторчак Светлана Александровна,
студент 4-го курса кафедры АСОИ
Днепропетровского национального
университета им. О. Гончара
Salikov V.A.,
Scd, associate professor
Storchak S.A.,
student
National University of Olesia Gonchar
СОЗДАНИЕ БАЗЫ ДАННЫХ СЕЛЬСКОЙ БИБЛИОТЕКИ ПО ТЕХНОЛОГИИ ALLFUSION PROCESS+DATA MODELER
DATABASE CREATION FOR VILLAGE LIBRARY USING ALLFUSION PROCESS+DATA MODELER
Аннотация: В данной статье рассмотрен процесс создания базы данных с использованием CASE-средства Allfusion Process+Data Modeler, описаны основные этапы разработки: моделирование бизнес-процессов, создание логической и физической моделей данных, а также экспорт базы данных в MS SQL Server.
Ключевые слова: сельская библиотека, контекстная диаграмма, декомпозиция, Allfusion Process Modeler, BPwin, IDEF0, Allfusion Data Modeler, модель данных, ERwin, база данных, IDEF1x, сущность, связь, атрибут.
Summary: Article describes database creation process using Allfusion Process+Data Modeler. The main steps of developing such as business process modeling, logical and physical data models creation and database export to MS SQL Server were examined.
Key words: village library, context diagram, decomposition, Allfusion Process+Data Modeler, BPwin, IDEF0, ERwin, Database, IDEF1X, entity, relationship, attribute.
В настоящее время для создания информационных систем (ИС) применяют как объектно-ориентированную методологию на основе стандарта UML, так и структурную на основе стандарта IDEF [1,2,3]. Язык UML, появившийся много позднее IDEF, тем не менее, не вытеснил окончательно из применения IDEF. CASE-средства компании СA Allfusion Process+Data Modeler (ранее BPwin + ERwin), поддерживающие стандарт IDEF, популярны в среде разработчиков и продолжают развиваться и совершенствоваться. Возможности экспорта бизнес-моделей из BPwin в среду моделирования данных ERwin отсутствуют как у Rational Rose, так и у Power Designer [2,3,4]. Рассмотрим для примера задачу разработки ИС для сельской библиотеки.
Одним из направлений улучшения работы небольших, но многочисленных сельских библиотек является внедрение достижений информационных технологий [5]. Каждая сельская библиотека, как правило, имеет в наличии тысячи книг и обслуживает сотни читателей с разнообразными запросами. Для управления делопроизводством в таких библиотеках нужны простые в использовании и полезные в применении ИС. Покажем, как можно создать базу данных (БД) ИС библиотеки с применением Allfusion Process+Data Modeler.
Разработка БД включает два этапа: 1. Функциональное моделирование в BPwin деятельности библиотеки в стандарте IDEF0 и экспорт стрелок в среду ERwin [1, 4]. 2. Создание логической и физической моделей данных в ERwin на основе IDEF1x, кодогенерация и преобразование моделей в БД на сервере MS SQL Server.
Представим задачу моделирования сельской библиотеки в виде следующей контекстной диаграммы (см. рис. 1). Данная библиотека обслуживает запросы
Рисунок 1. Контекстная диаграмма IDEF0 сельской библиотеки
читателей из имеющихся книжных фондов и проводит плановые мероприятия под контролем сельского совета. Необходимые детали этой деятельности вскрываются на дочерних диаграммах с помощью декомпозиции работ. Напомним, что имена всех стрелок работ (особенно, входных и выходных) определяют претендентов на включение в состав сущностей [4]. После проведения декомпозиции контекстной диаграммы можно увидеть основные работы сельской библиотеки: «Реализация ежегодной программы деятельности», «Регистрация читателя», «Обслуживание читательского запроса», «Регистрация новых книг» и «Регистрация новых периодических изданий» (см. рис. 2). Также на данном уровне можно проследить обязанности сотрудников библиотеки.
Библиотекарь регистрирует новых клиентов и занимается приемом/выдачей книг и периодики. Заведующий сектором комплектования и обработки литературы также участвует в обслуживании читателей, предоставляя им затребованную информацию, библиографические списки и т.д. Кроме того, он регистрирует новые поступления литературы, выполняет библиографическую работу. Директор библиотеки контролирует выполнение ежегодной программы, а библиотекарь и заведующий сектором комплектования, выполняя свои прямые обязанности, тем самым участвуют в её реализации.
Рисунок 2. Модель деятельности библиотеки на верхнем уровне декомпозиции
Детальное представление работы «Обслуживание читательского запроса» происходит на следующем уровне (см. рис. 3). Полученный от читателя запрос (устный или письменный) сначала анализируется, а затем сотрудники приступают к его выполнению. Выдачу литературы или её прием проводит библиотекарь, фиксируя факт получения или возврата книги/периодического издания в читательском формуляре. В случае, если затребованный экземпляр фонда находится у другого читателя, то библиотекарь оформляет бронирование или вносит указанную книгу в заказ на пополнение фонда. Полное представление о глубине и полноте декомпозиции дает диаграмма дерева узлов на рис. 4. В том случае, когда заказчик считает достаточно полным комплект полученных диаграмм IDEF0, можно выполнять фильтрацию и экспорт имен стрелок в ERwin. После проведения экспорта получается набор несвязанных сущностей без атрибутов - модель состава данных [4]. Состав и число атрибутов каждой сущности определяется практическими интересами заказчика.
Рисунок 3. Декомпозиция работы «Обслуживание читательского запроса»
Рисунок 4. Диаграмма дерева узлов для модели IDEF0 сельской библиотеки
Излишнее число атрибутов порождает не нужный избыток информации, а неполный состав атрибутов влечет недостаток информации. Каждой сущности нужно назначить ключевой атрибут (PK)). Для создания логической модели данных необходимо в составе данных определить зависимые и независимые сущности и образовать между ними реляционные отношения по правилам [1]. Рекомендуется созданные связи поименовать и задать кратности отношений. При создании связей происходит миграция ключевых полей и образуются внешние ключи (FK). Полученная таким образом ER-диаграмма и является логической моделью данных (см. рис. 5). Типы данных атрибутов пока не заданы и зависят от выбранного сервера.
На стадии формирования физической модели данных из списка предложенных ERwin серверов (более 20) выбирают один, и для работы с ним
Рисунок 5. Логическая модель данных
в модели данных всем атрибутам сущностей назначают типы данных сервера. Одновременно определяется длина данных. На рис. 6 приведен вид полученной модели данных. На основе физической модели данных в ERwin можно сгенерировать предварительный SQL-скрипт и выполнить проверку кода. В случае отсутствия ошибок на выбранном сервере нужно создать пустую БД.
Рисунок 6. Физическая модель данных
Сельская_библиотека.db0 и в меню “Tools” ERwin запустить команду «Generate. В открывшемся диалоговом окне следует указать параметры подключения к серверу и кнопкой «Connect» установить соединение. В итоге
Рисунок 7. Схема базы данных на сервере MS SQL Server
на сервере можно увидеть схему нашей БД с незаполненными таблицами (см. рис. 7). С целью проверки заданных типов и длины данных рекомендуется заполнить эти таблицы пробными записями. Для примера на рис. 8 приведена одна заполненная таблица нашей БД. Окончательно экранные формы данных
Рисунок 8. Вид таблицы БД на сервере для сущности “Книга”
БД для пользователей ИС формируются на стадии создания приложений клиента [2]. Эту разработку можно выполнить, например, в среде PowerBuilder.
В заключение, выражаем надежду, что приведенные материалы привлекут внимание не только работников библиотек и студентов, но и профессиональных разработчиков.
Литература