Главная | Регистрация | Вход

Главная » 2012 » Июнь » 8 » Применение rational software architect в разработке, управляемой моделями: часть 1. обзор парадигмы разработок
21:32

Применение rational software architect в разработке, управляемой моделями: часть 1. обзор парадигмы разработок





Разработка ПО, управляемая моделями (MDD), - это новая парадигма разработки программного обеспечения, управляемая и поддерживаемая методами архитектуры Model-driven Architecture (MDA) (подход к разработке ПО, созданный командой Object Management Group (OMG). MDA предоставляет ряд рекомендаций для структурирования спецификаций, представленных в качестве моделей, начиная с независимой от платформы модели (PIM), затем при выборе языка программирования исходя из специфики разработки, и наконец, при трансформации модели в одну или несколько моделей, определяемых платформой, в рамках которой они реализуются (PSM). К оличество платформ может быть любым, например: Java ™ 2 Platform, Enterprise Edition (J2EE)™, CORBA или .Net, реализованные на одном из общепринятых языков программирования, таких как Java ™, C# или Python. MDA обычно выполняется при помощи автоматизированного инструментария, например, IBM® Rational® Software Architect. MDD-разработка, основанная на MDA, в основном занимается трансформацией моделей и генерацией кода.

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

Разработка на основе шаблонов помогает решить эту проблему. Шаблон - это решение периодически возникающей проблемы в рамках определенного контекста. Шаблоны инкапсулируют время, труд и знания разработчика, однажды уже понадобившиеся для решения проблемы. Более того, после многократного использования в различных проектах шаблон приобретает статус эталона. Используя шаблон как отправную точку в проектировании, разработчики могут более гибко контролировать генерируемый код, который не ограничен, т.к. основан на абстрактной модели.

Кроме того, MDD может автоматизировать реализацию шаблонов на основе трансформаций, что позволит исключить повторение операций низкоуровневой разработки и отразить в коде опыт разработчиков, что должно повысить совместимость и удобство обслуживания. Модифицированная трансформация быстрее запускается при необходимости сгенерировать артефакты решений, отражающие изменения в архитектуре реализации.

В центре внимания этой статьи - оптимизация MDD и разработки на основе ресурсов как интегрированный подход. С его помощью разработчики сначала создают модель объекта на Универсальном Языке Моделирования (UML), а затем генерируют код из этой UML-модели, применяя инструмент генерации кода, который пользуется репозиторием шаблонов.

UML – открытый стандарт и, фактически, стандарт программного моделирования. UML позволяет задавать, визуализировать и документировать системы ПО. В UML имеется визуальная система обозначений и базовая семантика для моделей ПО, а также стандартный машинно-считываемый формат последовательного упорядочения (serialization), что делает возможной автоматизацию.

Ознакомившись с этой информацией, вы, вероятно, поняли, что для применения этого подхода требуется интегрированная среда разработки (IDE) с поддержкой следующего:

  • Моделирования на основе UML
  • Инфраструктуры шаблонов
  • Функций трансформации модели и генерации кода
  • Инструмента проектирования и разработки для конкретной платформы, а также среды для тестирования элементов

Rational Software Architect – инструмент, обеспечивающий все эти возможности. Это интегрированное средство проектирования и разработки, которое использует преимущества UML-разработки на основе моделей, позволяя создавать приложения и сервисы с практичной архитектурой. С Rational Software Architect вы можете:

  • Усилить открытую и расширяемую платформу моделирования
  • Ускорить моделирование и проектирование ПО
  • Автоматизировать процессы разработки и максимизировать многократное использование ресурсов
  • Повысить производительность при разработке приложений и Web-сервисов

Эта серия статей составлена следующим образом:

Часть 1: Данная статья, дающая общее представление о MDD и о разработке на основе шаблонов

Часть 2 (скоро): Подход к разработке, управляемой моделями и на основе шаблонов, с использованием Rational Software Architect

Часть 3 (скоро): Учебный пример

>

Одна из главных особенностей MDD – использование моделей в качестве ключевых артефактов. Модель – это описание системы с определенной точки зрения, с опущением несущественных деталей, с тем чтобы более четко выделить характеристики, представляющие интерес. В MDD модель должна быть машинно-читаемой, чтобы обеспечить автоматический доступ к ее содержанию, а также генерацию артефактов. Диаграмма на демонстрационной доске может соответствовать остальным критериям, необходимым, чтобы считаться моделью, но только зафиксировав ее в машинно-считываемой форме, вы сможете использовать ее в системе инструментов MDD.

Модели ПО обычно представлены на UML. В UML-моделях детали технического исполнения скрыты, поэтому система может разрабатываться с использованием понятий из области вашего конкретного приложения. При разработке приложения обычно применяется инструмент моделирования на UML, например, Rational Software Architect и концепты, имеющие отношение к области вашего приложения.

Использование UML-моделей в разработке ПО широко применялось и до появления MDD. Наиболее распространены два способа их применения:

  • В качестве набросков, которые дают упрощенное представление о каком-либо аспекте системы
  • В качестве детальных проектов для последующей ручной разработки.

В MDD модели используются не просто как проекты или наброски, а как исходные артефакты, из которых путем трансформаций генерируются эффективные реализации. В MDD подробно описанные предметно-ориентированные модели приложения играют главную роль при разработке новых компонентов ПО. Код и другие артефакты области назначения генерируются с помощью трансформаций, в разработке которых участвуют как специалисты по моделированию, так и специалисты в конкретной области.

>

UML-моделирование – само по себе полезная технология, однако синхронизация моделей и кодов вручную – трудоемкая и чреватая ошибками процедура. MDD автоматизирует процесс разработки, благодаря чему можно сгенерировать любой артефакт, выведенный из данных, содержащихся в модели. Наряду с кодом, сгенерированные путем трансформации артефакты включают в себя, но не ограничиваются следующим:

Документация: В организациях, которые придерживаются формализованного метода разработки, создание документации требует от разработчиков значительных усилий. Известно, как тяжело поддерживать документацию в соответствии с реализацией. При использовании MDD документы генерируются из моделей. Это обеспечивает и совместимость, и возможность доступа к информации внутри моделей, с которыми разработчики ежедневно имеют дело, вместо документов со сложной навигацией. Документацию можно создавать такими инструментами, как Rational Software Architect’s Report Generator, либо с помощью трансформации.

Тестовые артефакты: Можно генерировать базовые средства (harnesses) тестирования (например, с помощью JUnit) из информации, содержащейся в программных моделях.

Скрипты построения и размещения: Основываясь на своем опыте, разработчики построения и размещения могут создавать трансформации для генерации скриптов построения и размещения.

Другие модели: Система включает множество взаимосвязанных моделей на разных уровнях абстракции (анализ, разработка, внедрение), представляющих разные части системы (пользовательский интерфейс (UI), базу данных, бизнес-логику, системное администрирование), имеющих разные функции (повышение безопасности, производительности или способности системы противостоять ошибкам) или разные задачи (тестирование, моделирование внедрения). Во многих случаях можно частично сгенерировать одну модель из другой (например, идти от модели анализа к модели разработки, или от модели приложения к модели тестирования).

>

Еще одна из основных черт MDD – сбор (накопление) опыта. Шаблоны фиксируют лучшие решения периодически возникающих проблем. При MDD-моделировании шаблоны встречаются на всех уровнях абстракции моделирования:

  • Шаблоны архитектуры
  • Шаблоны дизайна
  • Шаблоны реализации

Шаблоны можно составлять для разработки "рецептов" будущих шаблонов для решения более серьезных задач.Шаблоны охватывают передовой опыт соответствующей предметной области.

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

Шаблоны повышают совместимость и качество решений. Это достигается благодаря автоматическим шаблонам реализации с трансформациями в MDD, что исключает многократную низкоуровневую разработку. Чтобы раз за разом не создавать артефакты решений вручную, можно закодировать опыт разработчика непосредственно в трансформации. В итоге вы убиваете сразу двух зайцев: повышается совместимость и удобство обслуживания. Модифицированная трансформация быстрее запускается при необходимости генерировать артефакты решений, отражающие изменения в архитектуре реализации.

>

Рисунок 1 демонстрирует, как с помощью MDD коммерческая проблема преобразовывается в решение ПО. Бизнес-проблема анализируется, а затем применяются общие бизнес-шаблоны. Таким образом, модель разработки частично заполняется, в ней появляются детали конкретной разрабатываемой бизнес-функции. Далее внедряются независимые от платформы шаблоны разработки для трансформации модели разработки в ряд независимых от рабочего цикла компонентов. После этого выбирается исполняемая платформа и специфические для ее рабочего цикла шаблоны применяются для генерации артефактов.


Model-driven and pattern-based development using Rational Software Architect, Part 1: Overview of the model-driven development paradigm with patterns.

  • Применение Rational Software Architect в разработке, управляемой моделями и на основе шаблонов, часть 2 - Инструментальная поддержка разработки, управляемой моделями, в IBM Rational Software Architect: Часть 2 этой серии.

  • Прочитайте о ресурсах многократного использования в этой статье: на сайте developerWorks.

  • Прочитайте о сервис-ориентированной архитектуре SOA на странице Новым пользователям SOA и Web-сервисов на сайте developerWorks.

  • Семинары и обучение на IBM developerWorks Россия.

  • Страница ПО IBM Rational Software Architect: Получите техническую документацию, статьи с ноу-хау, руководства, список файлов для загрузки и информацию о продукте Rational Software Architect.

  • Посмотрите на сайте IBM Решения шаблонов и узнайте, что делает IBM в сфере разработки шаблонов и ресурсов многоразового использования.

  • В разделе Архитектура на сайте developerWorks вы найдете ресурсы для развития своих навыков в архитектуре.

  • Получить продукты и технологии

    • Загрузите бесплатную пробную версию Rational Software Architect v7.

    Обсудить

    Колин Ю

    Колин Ю (Colin Yu) - директор по разработкам репозитория многократно используемых ресурсов для поддержки разработки на базе ресурсов (asset-based development) с помощью платформ Rational Software Development. Ранее он создавал пользовательское ПО, занимался поиском решений для платформ WebSphere Business Integration, а также разрабатывал WebSphere Studio. Его адрес: coliny@ca.ibm.com.

    Помощь по сообщениям о нарушениях

    Спасибо. Эта запись была помечена для модератора.

    >

    Помощь по сообщениям о нарушениях

    Сообщение о нарушении не было отправлено. Попробуйте, пожалуйста, позже.

    >

    developerWorks: вход

    >

    При первом входе в developerWorks для Вас будет создан профиль. Выберите информацию отображаемую в Вашем профиле — скрыть или отобразить поля можно в любой момент.

    Вся введенная информация защищена.

    Выберите ваше отображаемое имя

    При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

    Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

    >

    Вся введенная информация защищена.

    SITE_ID=40

    Zone=Rational

    ArticleID=220023

    ArticleTitle=Применение Rational Software Architect в разработке, управляемой моделями: Часть 1. Обзор парадигмы разработок, управляемых моделями с шаблонами

    publish-date=05152007

    Просмотров: 5117 | Добавил: toblet | Рейтинг: 0.0/0
    Всего комментариев: 0

    Меню сайта

    Мини-чат

    Наш опрос

    Оцените мой сайт
    Всего ответов: 1

    Статистика


    Онлайн всего: 1
    Гостей: 1
    Пользователей: 0

    Форма входа

    Поиск

    Календарь

    «  Июнь 2012  »
    ПнВтСрЧтПтСбВс
        123
    45678910
    11121314151617
    18192021222324
    252627282930

    Друзья сайта

    Copyright MyCorp © 2024 | Бесплатный хостинг uCoz