Вернуться в библиотеку

Отображение концептуальной модели предметной области в модель базы данных

Источник: Проблемы информатики в образовании, управлении, экономике и технике: Сб. статей Всерос. научно-техн. конф.– Пенза: ПДЗ, 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.