Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Архитектура, управляемая моделью (курсовая)

Архитектура, управляемая моделью (курсовая), страница 8

PDF-файл Архитектура, управляемая моделью (курсовая), страница 8 Распределённые ИС и базы данных (5773): Курсовая работа - 9 семестр (1 семестр магистратуры)Архитектура, управляемая моделью (курсовая): Распределённые ИС и базы данных - PDF, страница 8 (5773) - СтудИзба2015-08-23СтудИзба

Описание файла

PDF-файл из архива "Архитектура, управляемая моделью (курсовая)", который расположен в категории "". Всё это находится в предмете "распределённые ис и базы данных" из 9 семестр (1 семестр магистратуры), которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. Архив можно найти в разделе "курсовые/домашние работы", в предмете "распределённые ис и базы данных" в общих файлах.

Просмотр PDF-файла онлайн

Текст 8 страницы из PDF

Это позволит быстро развернуть новые системы с новойтехнологией, базируясь на ранее спроектированных PIM.Функциональная совместимостьМежду различными PSM, сгенерированными от одного PIM, могутсуществовать отношения. Такие отношения называются мостами. Если PSMпредназначеныдляразныхплатформ,онине имеютвозможностинепосредственно взаимодействовать друг с другом. Так или иначе,необходимо трансформировать понятия с одной платформы в понятия,используемые в другой платформе. Под этим и понимают функциональнуюсовместимость. MDA решает эту проблему, генерируя не только PSM дляразличных платформ, но и необходимые мосты между ними.

Если имеетсявозможность получения двух различных PSM из одной PIM, то, по идее, всяинформация, нужная для обеспечения взаимодействия между ними,доступна. Для каждого элемента в одном PSM мы знаем, от которогоэлемента в PIM он был сгенерирован. Также мы знаем, что от этого жеэлемента PIM был сгенерирован соответствующий элемент во второй PSM.Исходя из этого, можно сделать вывод о соответствии друг другу элементовразличных PSM. Кроме того, так как нам известны все технические детали51платформ обеих PSM (иначе, мы, возможно, не выполнили преобразованияPIM к PSM), у нас есть вся информация для генерации моста между этимидвумя моделями.Возьмем, например, две PSM: первую, ориентированную на Java ивторую - на модель реляционной базы данных.

В PIM определен элемент«Клиент».Разработчикзнает,ккакомуJava-классудолженбытьпреобразован этот элемент. Он также имеет представление о таблице в базеданных, которая должна соответствовать этому элементу. Создание мостамежду Java-классом и таблицей в базе данных не составит особого труда. Дляполучения объекта из базы данных, мы запрашиваем таблицу, полученную отэлемента «Клиент», и инициализируем Java-класс. Чтобы сохранить объект,мы берем информацию из Java-класса и записываем ее в таблицу «Клиент».Межплатформенная функциональная совместимость так же может бытьреализована с помощью инструментов, которые генерируют не только самиPSM, но и мосты между ними.

Так же могут быть сгенерированы мосты надругие платформы. Таким образом, внезапная смена платформы не приведет52к катастрофическим последствиям и не сделает необходимым полноепереписывание системы.ДокументацияPIM является абстракцией гораздо более высокого уровня, чем код. PIMиспользуется, чтобы генерировать PSM, которые поочередно используютсядля генерации код. Модель - точное представление кода. Таким образом, PIMвыполняет функцию высокоуровневой документации, которая необходимадля любой программной системы.Разница в том, что PIM не «забрасывают» после первого написания.Чтобы внести какое-либо изменение в систему, разработчик должен изменитьPIM.

Далее по цепочке изменяются PSM и код. На все эти изменения уходиточень мало времени. В идеале должны быть разработаны инструменты,способные поддерживать обратную связь между PSM и PIM. При измененииPSM они должны автоматически отражать эти изменения на PIM.Конечно, кроме PIM остается доступной и обычная, традиционнаядокументация. Разработчикам всегда может понадобиться задокументироватькакую-либо дополнительную информацию о системе, которая была былишнейвPIM.Примеромтакогодополненияможетслужитьаргументирование корректности разработанной PIM [13].53ПримерыРассмотрим два маленьких примера применения концепции MDA.Сами примеры не сложны, даже в каком-то смысле тривиальны. Они непоказывают преимущества MDA в полной мере.

Их задача – показать, какприменять концепцию MDA на конкретных примерах. В обоих примерахакцент делается на высоко-уровневую PIM, созданную на UML, и на PSMболее низкого уровня.Публичные и частные атрибутыВ первом примере рассматривается преобразование между двумя UMLмоделями. PIM трансформируется в PSM, рассчитанную на Java. Главное вэтом примере - преобразование публичных атрибутов в соответствующие имget- и set- методы. Класс «Клиент» содержит три атрибута: название, имя идата рождения. Все атрибуты публичные. В высоко-уровневой PIM можноиспользовать публичные атрибуты. Они лишь означают, что элемент имееткакие-то атрибуты и они могут быть изменены впоследствии.В PSM мы моделируем исходный код вместо бизнес-концепции.Использованиепубличныхатрибутовсчитаетсяплохимтоном.инкапсулировать публичные атрибуты, а изменять и получать их черезспециальные методы.54Все атрибуты частные и доступ к «Клиенту» осуществляется черезчетко-определенные операции.

Это позволяет только объекту «Клиент»управлять своим использованием и изменением атрибутов.Обе модели полезны, так как представляют разные уровни информациидля разных разработчиков. Однако между этими моделями есть явная связь.Описание трансформации из PIM в PSM включает несколько правил:o Для каждого класса с именем className в PIM должен существоватьпорожденный класс с таким же именем в PSMo Для каждого атрибута с именем attributeName из класса в PIMпорожденный класс в конечной модели должен включать:o частные атрибуты с такими же именами;o публичный метод с именем атрибута и приставкой get. Типвозвращаемого значения соответствует типу атрибута;o публичная операция с именем атрибута и приставкой set.Возвращаемоезначениеотсутствует.Типпараметрасоответствует типу атрибута.У этого правила преобразования есть отражение - правило, котороепреобразовывает аспект PSM в PIM:55o Для каждого класса с именем className в PSM есть класс-прородительс таким же именем в PIMТак как в этом примере мы знаем, что конечной платформой являетсяJava, мы сразу можем описать правила преобразования, по которым PSMбудет преобразована в код.

В конечном итоге, мы получим исходный код изPIM, применив две трансформации: из PIM в PSM и из PSM в исходный код.СвязиМожно расширить рассмотренный пример большим количествомклассов и ввести связи между ними.На рисунке добавлены два класса «Заказ» и «Предмет». Модельпоказывает, что «Клиент» может иметь несколько «Заказов», и к каждомузаказумогутотноситьсянесколько«Предметов».ВPSMпослепреобразования публичных атрибутов нужно заменить связи междууказанными классами чем-либо, присутствующем в конечном языкепрограммирования.

Естественно, для того, чтобы отобразить ассоциации сразмерностью больше единицы, приходится использовать набор классов.Дополнительные правила преобразования:o Для связи в PIM должно быть доступно следующее в PSM:56o В классах на обоих концах связи должен присутствовать частныйатрибут, с именем другого класса, участвующего в связи;o Тип этого атрибута - класс со стороны конца связи, если ихнесколько - набор классов;o для добавленного атрибута должны быть определены методыset и get.o Для направленной связи вышеупомянутое справедливо только длякласса, из которого выходит стрелка.Преобразование, которое содержит правила преобразования, как дляатрибутов, так и для связей в PSM, показано на следующем рисунке:Здесь PSM более отличается от PIM, чем в первом примере.

Сложнеепонять связи между классами. Если в нашем распоряжении есть только PSM,то можно видеть, что «Заказ» связан с «Клиентом» по полю «Клиент».Размерность связи может равняться нулю или единице. Мы не сможемпонять, направленная это связь или нет. Связь между «Заказом» и«Предметом» потеряна полностью, потому что в Java нет ограничений на типэлемента в функции setItems класса «Заказ», а класс «Предмет» не содержитссылки на «Заказ». Определение обратной трансформации становитсяневозможным.57В вышеупомянутом правиле было выбрано наличие операцийприсвоения для атрибутов.

В этом случае тип параметра – множество.Например, метод setOrders (o: Set) в классе «Клиент». Альтернативойявляется только ввод операции addOrder (o: Set). Это облегчит добавлениеединичных заказов. Выбор делается человеком или самим инструментом.Часторазработчикухочетсяиметьполностьюконтролироватьпреобразование. Например ему хочется заменить тип Set на HashSet и ввестиобе операции: setOrders и addOrder.

В этом случае ему придется вручнуюменять правила преобразования [14].58Перспективы развития MDAЕсли развитие MDA будет успешно продолжаться, то, возможно, черезнесколько лет этап написания кода системы полностью выпадет из процессаразработки. Внимание будет уделяться описанию моделей и правилпреобразования между ними.Насамом ли деле MDA так хорош? Действительно, тот факт, чтополная версия рабочей программы автоматически генерируется из модели,вызывает определенный скептицизм. Но подход MDA уже сегодняшнейступениразвитияможетобеспечитьпреимуществавмобильности,производительности и платформенном взаимодействии. Кроме того, еслиобратиться к истории, в 60-х годах, при переходе с ассемблерных языков напроцедурные многие специалисты так же скептически относились к этомунововведению.Ониобъяснялиэтонесовершенствомтогдашнихкомпиляторов и рядом других причин, действительно имевших место в товремя.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5184
Авторов
на СтудИзбе
435
Средний доход
с одного платного файла
Обучение Подробнее