Отображение
концептуальной модели предметной области в модель базы данных
Источник: Проблемы информатики в образовании, управлении, экономике и технике: Сб. статей Всерос. научно-техн. конф.– Пенза: ПДЗ, 2008. – С. 208-210.
Авторы:
Дрождин В.В., Масленников А.А., Зинченко Р.Е.
Концептуальная модель
предметной области (ПО) представляет
собой систему понятий и отношений между ними [1, 2]. В автоматизированных
информационных системах (АИС) концептуальная модель ПО
служит основой для реализации функциональности (бизнес-логики) системы, а также находит свое отражение в
интерфейсе пользователя. Однако модель данных, используемая для организации
хранилища АИС, в большинстве случаев не совпадает с концептуальной моделью ПО. Это приводит к необходимости реализации отображения
концептуальной модели ПО в
модель базы данных (БД).
Создание АИС, неспособных самостоятельно адаптироваться к изменению внешней
среды, предполагает однократное отображение структуры концептуальной модели ПО
в структуру БД. При этом изменения в ПО, затрагивающие структуру ее концептуальной модели,
в общем случае влекут за собой полное перепроектирование приложения и переход на новую версию
АИС.
АИС, способные в
процессе эксплуатации адаптироваться к изменению внешней среды и повышать
эффективность своего функционирования в стабильных условиях, т.е.
эволюционировать [3], должны поддерживать динамическое преобразование структуры
концептуальной модели ПО, а также схемы БД. При этом целесообразно реализовать
способность АИС к эволюции на уровне используемых моделей, т.е. проектировать
приложение, опираясь на эволюционные модели данных. Подсистема отображения
концептуальной модели ПО в
модель БД (т.е. концептуально-физического отображения) должна поддерживать
эволюционное развитие АИС, т.е., в свою очередь, эволюционировать.
В настоящее время
большинство программных приложений, в том числе АИС, разрабатываются с
применением объектно-ориентированных технологий. При использовании в качестве
хранилища АИС реляционной БД (как это обычно происходит на практике) возникает
проблема согласования реляционного формата данных с объектно-ориентированным
программным кодом. Для облегчения преобразования информации из реляционной
модели данных в объектную модель данных в прикладных программах часто
используют так называемые системы объектно-реляционного отображения, или
ORM-системы (Object-Relational Mapping).
ORM-система обычно реализуется в виде каркаса (framework),
написанного на языке программирования высокого уровня. На том же самом языке
программирования ведется и прикладная разработка.
Применение технологии
ORM при разработке АИС позволяет абстрагировать бизнес-логику и интерфейс
пользователя от источника данных, что делает программное приложение
относительно независимым от используемой системы управления базами данных
(СУБД). Однако существующие реализации технологии ORM не предполагают
динамической адаптации механизма объектно-реляционного отображения к изменению
внешней среды, т.е. к изменению схемы объектной модели слоя бизнес-логики и/или схемы реляционной модели
хранилища. Это обстоятельство препятствует эволюционному развитию АИС в
процессе ее эксплуатации.
Процесс создания АИС
может быть автоматизирован с помощью технологий, обеспечивающих разработку
программного обеспечения (программных систем) с использованием компьютерной
поддержки, т.е. CASE-технологий (Computer-Aided Software/System Engineering). Существующие CASE-технологии ориентированы
как на структурную, так и на объектно-ориентированную разработку программного
обеспечения, и могут применяться на любых этапах процесса разработки.
Современные
CASE-средства, реализующие инструментальную поддержку технологии CASE,
позволяют создавать программные приложения с использованием парадигмы
модельно-ориентированной разработки (или разработки через моделирование), т.е.
технологии MDD (Model-Driven Development).
Технология MDD ориентирована на процесс одновременного создания модели
программного приложения (включая хранилище, бизнес-логику и, возможно,
пользовательский интерфейс) и связанного с ней исходного программного кода. В
процессе модельно-ориентированной разработки любое изменение, вносимое в
исходный программный код, немедленно отражается в модели программной системы, а
любое изменение, вносимое в модель программной системы, немедленно отражается в
исходном программном коде.
Применение
CASE-средств и технологии MDD автоматизирует, стандартизирует и тем самым
повышает эффективность разработки, а также поддержки и сопровождения
программных приложений (предъявляя при этом более высокие требования к
квалификации разработчиков). Однако при этом никакие изменения программной
системы в процессе ее эксплуатации невозможны без участия разработчиков,
сопровождающих систему. Таким образом, технологии CASE и MDD, упрощая
сопровождение программных приложений (в том числе АИС), не решают принципиально
проблему их эволюции в процессе эксплуатации.
Трансляция концептуальной модели ПО в модель БД с применением таких
популярных современных технологий, как ORM и CASE, недостаточно эффективна для
динамической поддержки концептуально-физического отображения в эволюционных АИС
(т.е. АИС, способных изменяться в процессе эксплуатации). Поскольку изменение подсистемы
концептуально-физического отображения должно происходить синхронно с
изменениями в структуре концептуальной модели ПО и схеме БД, то задачу
автоматизации концептуально-физического отображения целесообразно решать на
основе эволюционной модели.
Использование
эволюционных моделей для реализации концептуальной модели ПО, модели БД, а
также модели концептуально-физического отображения обеспечит комплексную
(внутренне согласованную) поддержку эволюции АИС. Способность к эволюционному
развитию позволит АИС адекватно трансформироваться в соответствии с
изменениями, происходящими в ПО.
Библиографический
список
1. Гуков, Л.И., Ломако, Е.И., Морозова, А.В. и др. Макетирование,
проектирование и реализация диалоговых информационных систем. – М.: Финансы и
статистика, 1993.
2. Цаленко,
М.Ш. Моделирование семантики в базах данных. – М.: Наука, 1989.
3. Дрождин,
В.В. Системный подход к построению модели данных эволюционных баз данных //
Программные продукты и системы. – 2007. – № 3. – С. 52 – 55.