Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
097715 / ОО проектирование приложений с использованием UML (ПЗ).doc
Скачиваний:
57
Добавлен:
12.06.2015
Размер:
19.01 Mб
Скачать

1.4. Bold — реализация mda в Delphi

В настоящее время, производители программного обеспечения уже разработали несколько инструментов для реализации MDA-технологии в различных средах программирования. Среди этих инструментов имеется и программный продукт для реализации MDA в Delphi. Шведская компания BoldSoft MDE Aktiebolag, активный участник консорциума OMG, создала первую версию программного продукта Bold for Delphi в 1999 году, а в 2000-м в состав Borland Enterprise Studio 6 вместе с Delphi 6 вошла доработанная и расширенная версия Bold 3. В сентябре 2002 года в состав Delphi 7 Studio Architect вошла версия 4 Bold этого продукта. В начале октября фирма Borland приобрела шведскую компанию BoldSoft, так что в настоящее время Bold является продуктом фирмы Borland.

Основные возможности Bold for Delphi:

  • встроенный текстовый редактор UML-моделирования для создания моделей приложения;

  • возможность импорта и экспорта UML-моделей из Rational Rose — CASE-средства компании Rational Software;

  • автоматическая генерация баз данных практически для всех реляционных СУБД, существующих в настоящее время (доступных через интерфейсы BDE, ADO, dbExpress);

  • поддержка модификации базы данных с сохранением информации (DataBase Evolution);

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

  • поддержка подмножества языка UML;

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

  • автоматическая генерация экранных форм для просмотра и редактирования данных;

  • поддержка создания многозвенных приложений и тонких клиентов на базе DCOM.

Даже перечисленных основных возможностей продукта более чем достаточно для кардинального сокращения трудозатрат на создание приложений баз данных практически любой сложности. По отзывам разработчиков, применение Bold позволяет сократить время разработки приложений баз данных в 5-10 раз.

На практике использование Bold дает следующие преимущества:

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

  • модификация базы данных превращается в тривиальный процесс — после внесения необходимых изменений в модель следует только сгенерировать новую базу данных;

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

  • автоматически генерируемые экранные формы избавляют разработчика от необходимости рутинного кодирования графического интерфейса для ввода и редактирования данных. При этом автоматически задействуется интерфейс drag&drop для перемещения мышью необходимых данных между таблицами.

Используя Bold, разработчик:

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

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

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

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

В этом случае разработка ведется на бизнес-уровне.

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

Bold работает не только на этапе разработки приложения, но и на этапе его исполнения. Именно это качество позволяет называть Bold инструментом реализации MDA. Любое CASE-средство, сколь бы совершенным оно ни было, предназначено для реализации только этапов проектирования и моделирования. Оно, конечно, может включать также возможности генерации кода и генерации базы данных, но после запуска приложения CASE-система уже не функционирует, ее «присутствие» на этом этапе по сути уже не ощущается. Функционирование же Bold коренным образом отличается от функционирования других CASE-средств: сохраняя модель приложения в исполняемом файле, Bold на этапе выполнения приложения использует эту модель для управления бизнес-уровнем, для контроля целостности объектного пространства, для управления взаимодействием бизнес-уровня с уровнем данных и графическим интерфейсом.

Bold — это не генератор кода, хотя такая возможность в него заложена. При использовании Bold в принципе не обязательно генерировать код классов модели.

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