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

1.2.Mda-архитектура

В настоящее время существует новейшая технология создания программ­ного обеспечения — Model Driven Architecture.

Model Driven Architecture (MDA) дословно переводится как «архитектура, управляемая моделью». Концепция MDA разрабатывается консорциумом OMG (Object Management Group), в который сегодня входит более 800 компаний — производителей программного и аппаратного обеспечения.

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

1.2.1. Модель приложений и типы моделей

В основе MDA лежит идея выделения в качестве самостоятельного и обя­зательного этапа разработки логики функционирования приложения (бизнес-логики). Согласно концепции MDA разработка приложения должна начинаться с этапа создания модели приложения, которая определяет состав, структуру и поведение будущего программного продукта. Такая модель создается не на языке программирования, а посредством языка унифицированного моделиро­вания (Unified Modelling Language, UML) и является платформенно-независи­мой (Platform Independent Model, PIM), то есть при ее создании разработчик полностью абстрагируется от особенностей конкретных программных и аппа­ратных средств реализации приложения.

На втором этапе, после создания PIM, создаются одна или несколько платформенно-зависимых моделей PSM (Platform Specific Model), которые яв­ляются своеобразными адаптерами, обеспечивающими интеграцию PIM с од­ной или несколькими технологиями разработки программных продуктов. Кроме того, создается специальный набор программных интерфейсов, исполь­зуемый в дальнейшем для взаимодействия данного приложения с другими.

Наконец, на заключительном этапе, на основании PIM и PSM генериру­ется код приложения и, при необходимости, база данных. В случае наличия нескольких PSM процедура генерации может проводиться несколько раз — для каждой из используемых платформ. При этом генерация кода и баз данных осуществляется автоматически, посредством специальных инструментальных программных средств.

Таким образом, в соответствии с концепцией MDA главный акцент при разработке приложений переносится с собственно этапа программирования на этап создания модели. К тому же, создав модель один раз, разработчик полу­чает принципиальную возможность генерации приложений для разных аппа­ратных и программных платформ.

Следует отметить, что MDA не является, по замыслу OMG, конкурентом какой-либо из существующих технологий (платформ) создания приложений (CORBA, .NET, J2EE, Sun ONE и т.д.). MDA находится на более высоком уровне обобщения процесса разработки, позволяя на этапе создания PIM-мо­дели абстрагироваться от этих платформ, на следующем этапе выбрать одну или несколько платформ разработки и создать соответствующий набор PSM-моделей и, наконец, на этапе генерации кода получить приложение, функцио­нирующее на этих платформах. Консорциум OMG полагает, что данный подход можно будет применять не только для существующих в настоящее время тех­нологий разработки, но и для любых будущих технологий при условии созда­ния для них соответствующих адаптеров (PSM-моделей).

Таким образом, OMG считает архитектуру MDA не просто новой техно­логией, а скорее «метатехнологией» создания приложений, которая отныне будет единственно актуальной, независимо от развития и появления новых средств разработки, которые MDA уже «заранее интегрировала» в себя.

Преимущества, которые дает MDA разработчикам, очевидны: локализа­ция всей логики приложения в одном месте (то есть в модели), автоматическая генерация кода и баз данных, а в перспективе — и графического интерфейса пользователя. Если заглянуть дальше, то сценарий создания приложений будет выглядеть примерно так: создается модель, которая поступает на вход специ­альной программы, а на выходе генерируются готовое приложение и база дан­ных. При необходимости изменения вносятся в модель, и затем процедура ге­нерации повторяется, причем без внесения изменений в код приложения. Из этого следует, что само понятие «разработчик программного обеспечения» может при внедрении MDA довольно сильно видоизмениться. Вследствие сме­щения акцента на создание модели разработкой приложений будут заниматься не столько программисты, сколько специалисты, владеющие описываемой предметной областью. При этом языком описания является унифицированный язык моделирования UML.