Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
12-Pitannya_MAPZ_do-ispitu_-2015 (1).doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
5.63 Mб
Скачать
  1. Архітектура програмного проекту, керована моделями. Концепція mda.

Архитектура, управляемая моделью (Model Driven Architecture, MDA) — создаваемая консорциумом OMG разновидность концепции «Разработка, управляемая моделями»: модельно-ориентированного подхода к разработке программного обеспечения. Его суть состоит в построении абстрактной метамодели управления и обмена метаданными (моделями) и задании способов ее трансформации в поддерживаемые технологии программирования (JavaCORBAXML и др.). Создание метамодели определяется технологией моделирования MOF (Meta Object Facility), являющейся частью концепции MDA. Название концепции не совсем удачно, так как она определяет вовсе не архитектуру а именно метод разработки программного обеспечения.

Для конструирования программного приложения должна быть построена подробная, формально точная модель, из которой потом может быть автоматически генерирован исполняемый программный код приложения.[1]

Основные шаги разработки:

  • Сначала разрабатывается модель предметной области проектируемого приложения, полностью независимая от имплементирующей технологии. Она называется Platform Independent Model (PIM).

  • Затем PIM автоматически трансформируется специальным инструментом в платформо-зависимую модель (Platform Specifical Model, PSM).

  • PSM переводится в исходный код на соответствующем языке программирования.

Такова схема в идеальном OMG-мире. В реальных современных проектах часть бизнес-логики приходится реализовать вручную. Но поскольку этот код отделен от генерированного системой, большой проблемы это не представляет.[1]

Примером реализации MDA можно считать технологию CASEBERRY и платформу Flexberry, разрабатываемую с её помощью.

В основе разработки лежит UML-модель, создаваемая при помощи собственного инструмента создания UML-диаграмм. Есть возможность генерации как Windows, так и Web-приложений на языке C#. Генерируемый код делится на 2 части: первую часть генератор кода будет перезаписывать при внесении изменений в модель, вторая часть останется для него неприкасаемой. Таким образом, можно наращивать функциональность создаваемого приложения параллельно с внесением изменений в модель, при этом функциональность не будет утеряна при перегенерации кода.

Бизнес-логика вынесена в отдельный проект, для её реализации создаются заготовки, значительно облегчающие её (бизнес-логики) добавление.

  1. Складові Model Driven Architecture, їх призначення.

Архитектура MDA предлагает новый интегральный подход к созданию многоплатформенных приложений и базируется на трех основных элементах:

               UML(Unified Modelling Language) ­ унифицированный язык моделирования;

               MOF (MetaObject Facility) ­ абстрактный язык для описания информации о моделях (язык описания метамоделей);

               CWM (Common Warehouse Metamodel) ­ общий стандарт описания информационных взаимодействий между хранилищами данных.

Рис. 1 Схема взаимодействия MDA с программными технологиями

На центральном уровне структуры находится собственно MDA, которая «разворачивается» наружу посредством второго уровня, содержащего вышеперечисленные базовые составляющие ­ UML, MOF и CWM, ­ и на третьем, внешнем уровне представлены некоторые из широко известных в настоящее время программных платформ разработки: CORBA, XML, .NET, JAVA. Отметим, что на этом внешнем уровне, по замыслу OMG, могут и должны быть размещены, в принципе, и все возможные будущие технологии разработки. Этим подчеркивается тот факт, что OMG считает архитектуру MDA не просто новой технологией, а скорее «метатехнологией» создания приложений. Последняя отныне будет и единственно актуальной — вне зависимости от развития и появления новых средств разработки, которые MDA уже «заранее интегрировала» в себя.

 

Преимущества, которые дает архитектура MDA:

·               Кардинальное повышение производительности разработки (устраняется этап «ручного» программирования).

·               Документированность и легкость сопровождения.

·               Централизация логики функционирования.

·               Облегчение доступности и управляемости разработки (UML-диаграммы, представленные в графическом виде, являются достаточно наглядными и по существу не требуют знания программирования или теоретических основ разработки реляционных баз данных).

 

Легко видеть, что само понятие «разработчик программного обеспечения» может при внедрении MDA довольно сильно видоизмениться. Со смещением акцента на создание модели разработкой приложений будут заниматься не столько программисты, сколько специалисты, владеющие описываемой предметной областью. Возможно, что также в какой-то степени «пострадает» традиционное деление специалистов на разработчиков баз данных и разработчиков приложений баз данных. Как будет показано в следующих главах, уже сейчас возможно при разработке MDA-приложений практически полностью абстрагироваться от знания конкретной СУБД; более того, во многих случаях нет необходимости и использовать язык SQL, поскольку рассматриваемые в этой книге инструменты MDA предоставляют возможность работать на более «высоком» уровне (бизнес-уровне), где становится абсолютно не важным знание конкретной структурной схемы базы данных или состава полей ее таблиц.

Однако программисты-разработчики вряд ли останутся без работы, так как, с одной стороны, создание MDA-инструментария само по себе является чрезвычайно интересной, сложной и объемной задачей для них. А с другой стороны, внедрение MDA уже сейчас избавляет и самих программистов от рутинной работы, передавая большую ее часть искусственному программному интеллекту — инструментам реализации MDA.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]