Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие по циклу лабораторных работ Технологии разработки программного обеспечения .doc
Скачиваний:
204
Добавлен:
06.03.2016
Размер:
3.8 Mб
Скачать
      1. Технология eco

Корпорация Borlandразработала собственную версию («реализацию») концепцииMDA, которая называетсяBorlandMDA (BMDA). Сегодня вместо терминаBMDAприменяется новый термин ECO. Технология ECO (Enterprise Core Objects)ключевые корпоративные объекты, – реализующая концепцию MDA, стала наиболее важным улучшением последних версий среды Delphi. Она представлена в Delphi 2006 в виде третьей версии ЕСО III. Каждый компонент ЕСО представляет собой своеобразную программную «обертку» положений концепции MDA. Он является промежуточным слоем между средствами визуального проектирования программных моделей и их конкретной реализацией на языках программирования Delphi и C#.

Технология ЕСО переводит процесс согласования требований на модельный уровень. Диаграммы UML обычно хорошо воспринимаются и заказчиком, и исполнителем. Поэтому, хотя использование визуального языка моделирования в MDA не обязательно, почти 100% проектов MDA создаются с применением языка UML.

Построение готового приложения происходит в несколько этапов. Сначала строятся платформно-независитмые модели PIM (Platform Independent Model), затем выполняется их перенос в платформно-специфичные модели PSM (Platform Specific Model). Доступные на сегодняшний день продукты автоматизируют эти шаги на 50-70%. Перенос моделей PSM в код конкретного языка программирования автоматизирован почти на 100%.

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

Физические объекты, структура которых описана с помощью языка UML, а особенности существования – с помощью языка OCL, функционируют в процессе работы приложения в специально выделенной области оперативной памяти, так называемом объектном пространстве. Технология ЕСО способна автоматически отображать модель не только в программный код, но и в код на языке SQL. Он генерируется для построения схемы базы данных, хранящей копию объектного пространства. Поддержка разных СУБД является в ЕСО одной из ключевых технологий. С ее помощью удается сохранять текущее состояние объектного пространства приложения в базе данных и затем, после перезапуска приложения, загружать его и продолжать работу с прерванного места.

Среда Delphi на основе подготовленной модели автоматически формирует схему базы данных с учетом версии и специфики конкретной СУБД. Она автоматически создает в ней все таблицы, нужные для хранения объектного пространства и взаимосвязей между классами, даже если это требует введения дополнительных таблиц. По мере совершенствования модели следует периодически синхронизировать схему базы данных с внесенными в модель модификациями – для этого достаточно нажать одну кнопку. Такой процесс называется в технологии ЕСО эволюционным развитием базы данных.

Стыковка объектного пространства с пользовательским интерфейсом реализуется в ЕСО с помощью дескрипторов. Дескриптор ЕСО – это стыковочная точка (компонент промежуточного уровня), связывающая с помощью выражений OCL элементы модели UML (классы) с программным кодом и внутренней структурой обычного приложения Delphi. Дескрипторы задают способы формирования наборов объектов в объектном пространстве по критериям, заданным выражениями OCL. Они также обеспечивают доступ к ним элементов пользовательского интерфейса, а программному коду предлагают ссылки на объекты ЕСО.

Как правило, ручное кодирование на языке Delphi требуется, если классы модели, построенной с помощью технологии ЕСО, включают методы, которые необходимо запрограммировать явно.

Серьезную роль в создании приложений ЕСО играет язык OCL. Он предоставляет программные средства обращения к пространству ЕСО и содержит средства создания, модификации и уничтожения объектов, навигации по этому простран­ству и выполнения всевозможных вычислительных задач.