Rational XDE Professional для .NET 2.1

Брайан Ноис

Проектирование и моделирование должно быть важной частью любого процесса разработки. Самым большим недостатком, присущим большинству компаний, является характерный разрыв между процессом проектирования/моделирования и собственно написанием программного кода продукта. Несмотря на то, что большинство продуктов не оправдывают ожиданий в этом отношении, Rational XDE Professional для .NET реализует взаимодействие между проектированием и программированием лучше любого другого инструмента, который когда-либо приходилось видеть или использовать автору этой статьи. Версия 2.1 поддерживает платформы C# и VB .NET, а также содержит некоторые новые возможности характерные для разработки приложений на платформе ASP.NET.

Продукт Rational XDE Professional для .NET интегрируется в Visual Studio .NET как часть среды разработки, предоставляя гораздо более естественный подход для программистов. Используя данный продукт, можно начать с написания программного кода и быстро создать элементы модели. Или наоборот, можно начать с элементов модели и затем создать программный код. Кроме того, можно одновременно синхронизировать модель и программный код. Данный продукт облегчает адаптацию единого языка моделирования (UML, Unified Modelling Language), значительно упрощая итеративный обмен данными между программным кодом и моделью. Так как теперь элементы и диаграммы модели просто являются некоторой частью проекта VS .NET, то UML становится еще одним дополнительным ракурсом рассмотрения продукта и для него больше не требуется сопровождение отдельной сущности.

Доступное моделирование

Rational XDE Professional позволяет начать использовать UML, не углубляясь в подробные сведения об этом языке. С его помощью можно быстро создавать элементы модели на основе программного кода и представлять их в виде диаграмм, для визуализации отношений и синтаксиса в UML. Также можно начинать проектирование в терминах UML и затем, подобно другим UML-инструментам, преобразовать результаты к необходимому методу проектирования.

XDE также имеет встроенные мастера подсказок, которые помогают добавлять классы, события, свойства и другие артефакты, используя синтаксис и словарь, характерный для конкретно выбранного языка (VB .NET или C#). Например, мастер добавления свойств позволит сделать любое свойство статическим или наоборот. Кроме того, он поможет объявить ассоциированное поле приватного элемента. Также мастер добавляет код к получателю и установщику свойств во время генерации кода таким образом, что тот получает и устанавливает значение ассоциированного поля с корректными модификаторами в данной декларации (см. рисунок 1). Как и в случае с VS .NET создание кодов для различных языков не являются полностью эквивалентным. Хотя функциональные возможности VB .NET являются нововведением данной версии XDE, VB .NET имеет недоступную в C# возможность, связанную с автоматизацией добавления методов интерфейса к использующим их классам.

Рис. 1. XDE содержит мастеры, которые помогают задавать элементы модели для проекта, например, ориентированные на конкретный язык синтаксис и словарь. Например, в VB-проекте можно задать свойство с именем Hosts, которое замещает свойство базового класса и создает новое ассоциированное приватное поле с именем "_hosts", что отражается в соответствующих UML-элементах.

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

Диаграммный интерфейс и средства для создания и упорядочивания диаграмм являются наиболее удобными инструментами по сравнению с аналогичными продуктами. Настройка диаграмм средствами XDE также максимально упрощена. Сама UML-модель представлена в виде плавающего окна Model Explorer, подобного окнам Solution Explorer и Class View, которое подключается в том же самом месте. Она не только включает в себя элементы модели данного проекта, но также автоматически вычисляет ссылки к .NET Framework и другим библиотекам классов независимых поставщиков, позволяя добавлять их в модель. Инструментальная панель образов, которая позволяет использовать методы "drag-and-drop" для диаграмм, инструменты Model Explorer и Properties Window, сами диаграммы и все опции, доступные из контекстных меню, предоставляют множество способов проектирования данной модели.

Моделирование Web-приложений

Другой интересной особенностью Rational XDE Professional является предоставление некоторых специальных возможностей по моделированию приложений ASP.NET. Динамическая генерация кода, выполняемая при открытии Web-страницы сервера ASP.NET, может быть быстро представлена в виде статической диаграммы. Модель, используемая по умолчанию при перетаскивании какого-либо элемента со страницы сервера на диаграмму, является канонической формой, описанной Джимом Коналеном в книге "Построение Web-приложений с помощью UML (Addison-Wesley)". Это позволяет разработчикам отобразить на одной диаграмме класс code-behind, ASPX-форму, HTML-интерфейс клиента, сгенерированный за время работы, а также представленную браузером клиентскую HTML-форму (см. Рисунок 2).

Рис. 2. При перетаскивании элемента "Серверная страница с Code Behind" на диаграмму, можно получить быстрое и полное архитектурное отображение того, что происходит со страницей: статически, в данном коде, и динамически, при выполнении.

XDE также содержит великолепную возможность для определения и использования шаблонов в процессе проектирования. Шаблоны позволяют совместно использовать не только программный код, но также документацию, проекты и знания более высокого уровня. XDE имеет мастеры подсказок для всех хорошо известных Gang-of-Four (GOF) шаблонов. Компания Rational способствует развитию сообщества по обмену разработками для создания новых шаблонов, которые доступны на сайте http://www.rational.net. Одним из интересных шаблонов, доступных на данном сайте, является шаблон WebServiceWrapper, который позволяет быстро создавать упаковщики для библиотек классов, которые нужно представить в качестве Web-службы.

Очень сложно по достоинству оценить такой сложный продукт как Rational XDE в таком коротком обзоре. В целом, XDE производит приятное впечатление. Тесная интеграция данного инструмента с VS .NET IDE значительно уменьшает концептуальный разрыв между проектированием и написанием программного кода, что не только точнее соответствует процессу мышления программиста, но и делает процесс моделирования более доступным. Являясь новым продуктом, XDE имеет несколько шероховатостей. Например, загадочные сообщения об ошибках при попытке выполнить запрещенные операции перетаскивания. Тем не менее, среди аналогичных продуктов Rational XDE Professional является лучшим инструментом UML-моделирования для разработки платформе .NET.

Также доступны версии Rational XDE для Java и Professional Plus, что позволяет разработчикам одновременно использовать версии данного продукта как для .NET, так и для Java. Сравнительный анализ свойств версий приведен в таблице по адресу http://www.rational.com/products/xde/matrix.jsp.


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=4686