Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Diploma Prokopenko / 002 Раздел 2.docx
Скачиваний:
13
Добавлен:
06.06.2015
Размер:
496.2 Кб
Скачать
    1. Возможности и специфика Borland mda, преимущества для разработчиков как причины выбора этого инструментария для разработки

Для различных программных продуктов компании Borland конкретные наборы возможностей технологии BMDA довольно сильно различаются. Но есть основные возможности, которые являются общими для всех продуктов компании Borland, поддерживающих разработку MDA-приложений. К таким возможностям можно отнести следующее:

    • Создание UML-моделей. Для этих целей используется встроенный UML-редактор (текстовый или графический).

    • Автоматическая генерация программного кода на языке Object Pascal.

    • Автоматическая генерация структуры реляционных баз данных. Структура (схема) базы данных генерируется на основе созданной модели.

    • Поддержка модификации базы данных с сохранением информации (Database Evolution), специальный инструментарий позволяет изменить (естественно, в допустимых пределах и в зависимости от выбранной СУБД) схему базы данных без потери уже имеющихся данных.

    • Возможность хранения базы данных в XML-документе без использования СУБД.

    • Использование OCL (Object Constraint Language) в качестве основного средства формирования информационного интерфейса между различными уровнями приложения (СУБД, бизнес-уровень, графический интерфейс).

Принципиальным моментом при использовании BMDA является трехуровневая схема создания приложения, которая включает уровень данных, бизнес-уровень и графический интерфейс пользователя. И в данном случае это не абстракция, а реальность, воплощенная в конкретные наборы компонентов BMDA, с которыми имеет дело разработчик. Так, если обычно при создании приложения баз данных в Delphi визуальные компоненты (сетки, окна редактирования и т. д.) подключаются к полям или таблицам БД, то при работе с BMDA все они подключаются к промежуточному слою ­ объектам бизнес-уровня. Формирование бизнес-уровня приложения ­ одна из основных функции Borland MDA. Другая основная функция ­ обеспечение взаимодействия между бизнес-уровнем и уровнем данных (СУБД) ­ объектно-реляционное отображение и взаимодействие. Это взаимодействие включает автоматическую, прозрачную для разработчика, трансляцию OCL в операторы SQL, выполнение операций с таблицами БД и т. д.

И, наконец, основное отличие Borland MDA от упомянутых выше CASE-средств ­ BMDA функционирует не только на этапе разработки приложения, но и на этапе его исполнения. Любое CASE-средство, сколь бы оно ни было совершенным, предназначено для реализации только этапов проектирования и моделирования. Оно, конечно, может включать в себя также возможности генерации кода и генерации базы данных. Но после запуска приложения CASE-система уже не функционирует, ее «присутствия» уже, по сути, нет. Функционирование BMDA коренным образом отличается. Сохраняя модель приложения в исполняемом файле, BMDA на этапе выполнения приложения использует ее с целью управления бизнес-уровнем, контроля целостности объектного пространства, управления взаимодействием бизнес-уровня с уровнем данных и графическим интерфейсом. Здесь необходимо отметить, что эта особенность BMDA является достаточно специфичной и отличающей эту технологию от остальных. Способность BMDA сохранять «знание» модели на этапе исполнения позволяет отнести эту технологию к «интерпретаторам». Однако это не совсем соответствует истине, поскольку BMDA также обладает возможностью генерации кода. Но BMDA ­ это и не генератор кода. В дальнейшем будет продемонстрировано, что при использовании отдельных версий BMDA (в частности, Bold for Delphi) в ряде случаев вообще необязательно генерировать код классов модели.

Резюмируя вышесказанное, можно попытаться дать следующее определение технологии Borland MDA:

Borland MDA ­ это, с одной стороны, технология и среда разработки, позволяющая на этапе создания формировать объектное пространство (бизнес-уровень) и реализовывать бизнес-логику приложения, а с другой ­ программная система, обеспечивающая на этапе выполнения функционирование бизнес-уровня и его интеграцию с СУБД (уровнем данных) и графическим интерфейсом пользователя.

Ограничиваясь перечислением лишь основных достоинств Borland MDA, можно указать такие преимущества, которые появляются у разработчиков при использовании этой технологии:

    • Единый подход ко всем этапам разработки ­ от проектирования модели до разработки приложения, заключающийся в том, что разработчик на всех этапах работает с одними и теми же сущностями ­ объектами модели. Здесь отсутствует разрыв между красивой схемой-моделью и программированием приложения СУБД, так как разработчик «не опускается» на уровень базы данных, он даже может не знать, какова структура БД и какие таблицы в ней присутствуют. Разработчик всегда использует те имена и сущности, которые он сам включил в модель.

    • Полностью устраняется этап «ручного» создания базы данных. Все таблицы, поля, индексы, ключи генерируются автоматически в соответствии с моделью. Для использования конкретной СУБД достаточно подключить и настроить один из адаптеров баз данных, входящих в состав BMDA. Есть возможность создания собственных адаптеров баз данных.

    • Модификация базы данных превращается в тривиальный процесс ­ после внесения необходимых изменений в модель достаточно просто сгенерировать новую базу данных. Становится не принципиально, какую именно СУБД использовать: при смене СУБД само приложение и его код не меняются.

    • Использование языка OCL позволяет полностью абстрагироваться от SQL-диалекта конкретной СУБД. Язык SQL в ряде случаев становится практически ненужным и используется достаточно редко, хотя возможность его задействования сохраняется.

Borland MDA, интегрируясь в среду Borland Delphi, предоставляет разработчику полный набор визуальных и невизуальных компонентов, достаточный для реализации «объектного пространства» (Object Space) приложения. Поэтому разработчик получает возможность работать не на уровне кода и таблиц БД, а на уровне объектов внутри этого объектного пространства.

Другими словами, используя Borland MDA, разработчик:

    • не создает базу данных, а формирует модель приложения на языке UML;

    • работает не с таблицами, полями и ключами базы данных, а с объектами созданной им модели приложения ­ классами и их атрибутами;

    • подключает визуальные компоненты для отображения данных не к таблицам БД, а к объектам модели;

    • не пишет запросы на языке SQL, а формирует предложения на гибком и мощном диалекте языка OCL.