Працюючи з IBM Rational XDE DeveloperPlus. NET

Зміст



Вступ


У даній статті представлено короткий огляд основних можливостей IBM Rational XDE Developer.NET, Який підготовлений на основі досвіду практичної роботи з продуктом.

Передбачається, що читач вже має деякий досвід роботи в середовищі IBM Rational Rose, а також трохи знайомий з Round-Trip підходом, що забезпечує синхронізацію моделей та коду в ході розробки інформаційних систем.

IBM Rational XDE Developer.NET – Інструмент, який додає потужні можливості візуального моделювання в межах середовища розробки Microsoft Visual Studio.NET. XDE Developer.NET інтегрується в Visual Studio.NET у вигляді своєрідного Add-In. Подібна інтеграція створює відчуття роботи з цілісним інструментом, що дозволяє усунути необхідність перемикання між різними засобами, уникнути проблем імпорту та експорту даних. Таким чином, XDE Developer є важливим компонентом інтегрованої робочого середовища проекту, яка може включати також інші продукти IBM Rational та інших виробників.

На поточний момент (листопад, 2003р.) Компанією IBM Rational визначено такі основні редакції XDE Developer:


Round-Trip розробка з XDE DeveloperPlus.NET


У даному розділі мова піде про можливості XDE DeveloperPlus.NET при використанні підходу Round-Trip, основною особливістю якого є ітеративне нарощування функціонала системи, що розробляється: доопрацювання моделі системи паралельно відображаються в коді, а зміни коду переносяться в модель.

Підхід Round-Trip дозволяє:

Рис. 1. Середа Visual Studio. NET з інтегрованим XDE DeveloperPlus.

Елементи управління XDE DeveloperPlus органічно доповнюють стандартний інтерфейс середовища Visual Studio.NET, В числі цих додатків:


Актуальність моделі при зміні коду і, навпаки, актуальність коду при зміні моделі підтримується за допомогою процесу синхронізації. Якщо зараз відбувається синхронізація коду і моделі, то в статусному рядку Visual Studio.NET легко побачити відсоток виконання операції та характерну іконку (на рис. 2 показана іконка для XDE DeveloperPlus v2003).

Рис. 2. Частина статусного рядка Visual Studio. NET при йде процесі синхронізації.

При синхронізації XDE DeveloperPlus самостійно визначає, що і де було змінено. Якщо Ви внесли зміни в моделі, то процес синхронізація відобразить їх у коді, якщо змінено код – відповідні модифікації будуть виконані в моделі.

Доступні такі типи синхронізації: ручна та автоматична. При ручній після внесення змін в коді або моделі слід активізувати відповідний елемент управління і лише тоді запуститься процес синхронізації. Автоматична синхронізація запускається за конкретних умов, визначених розробником. Ці умови визначаються у вікні "Options" (див. рис. 3), яке може бути відкрито з допомогою пункту головного меню "Tools / Options …".

Рис. 3. Вікно налаштування умов автоматичної синхронізації.

На дереві зліва в цьому вікні слід активізувати вузол "Rational XDE / Round-Trip Engineering" і в лівій частині будуть доступні опції синхронізації. Щоб включити автоматичну синхронізацію, слід активувати перемикач "Automatic Synchronization". У цьому випадку процес синхронізації коду з моделлю буде запускатися кожен раз при:


На відміну від Rose в XDE DeveloperPlus вже не існує строгого поділу діаграм за типами: тепер можна створити єдину діаграму та визначити на ній будь-які елементи з Toolbox (рис. 4). При цьому коректність створення елементів на таких діаграмах лежить тепер на совісті розробника.

Рис. 4. Спільне використання нотацій діаграм класів та розгортання.

Взагалі, якщо є утруднення з визначенням конкретного типу діаграми, то стосовно цієї ситуації слід створити діаграму типу "Free Forms" і розташовувати на ній різнотипні елементи UML.

Додавання та редагування класів, їх методів і атрибутів може виконуватися, як стандартними способами Visual Studio.NET (З використанням, наприклад, вікна "Solution Explorer"), так і прямо на діаграмах класів (рис. 5).

Рис. 5. Візуальне проектування архітектури класів.

Працюючи з Microsoft Visual Studio.NET і IBM Rational XDE DeveloperPlus, Поступово забуваєш про те, що це продукти різних компаній: настільки гармонійно вони доповнюють один одного. Візуальне моделювання і кодування тепер представляють собою єдиний інтегрований процес, що є важливою перевагою для розробника.

Дослідження коду


За допомогою IBM Rational XDE DeveloperPlus дуже легко і зручно досліджувати код розробляється інформаційної системи та структуру використовуваних бібліотек. Зворотне проектування (Reverse Engineering) проекту Visual Studio.NET призводить до того, що в моделі створюється, так звана, посилальна модель, у якій висвітлюються ці бібліотеки. Це дозволяє досліджувати бібліотечні класи, їхні методи, атрибути та інші елементи, представлені у вікні "Model Explorer" у вигляді ієрархічної структури (рис. 6).

Рис. 6. Дослідження бібліотчених класів.

Дуже зручною є можливість дослідження класів, пов'язаних відносинами з деяким існуючим класом, створеним розробником. Виклик контекстного меню будь-якого існуючого класу "Add Related Shapes … "(взагалі, таким чином можна досліджувати будь-які об'єкти моделей, пов'язані відносинами) на діаграмі призводить до появи однойменного вікна (рис. 7), в якому можна налаштувати фільтр для відбору тільки необхідних пов'язаних об'єктів.

Рис. 7. Вибір пов'язаних об'єктів для відображення на діаграмі.

Тут можна вибрати об'єкти, які пов'язані з поточним тільки певними типами відносин, певними спрямованістю ("Expand Direction") і рівнем вкладеності ("Expand to N Levels"). Наприклад, визначення 2 рівнів вкладеності призведе до відображення групи об'єктів, пов'язаних з поточним, і об'єктів пов'язаних з об'єктами вказаної групи. Зразковий вид такої діаграми, одержаної для деякого класу CircForm, можна спостерігати на рис. 8.

Рис. 8. Відображення пов'язаних класів першого рівня вложженності.

Розробка власної нотації моделювання


UML є специфічною мовою, нотація якого може бути при необхідності удосконалено користувачем. Робиться це за допомогою визначення нових стереотипів для існуючих елементів. При цьому XDE Developer дозволяє визначити власні іконки для елементів з конкретними стереотипами.

У порівнянні з Rose в XDE Developer значно спростилося визначення нових та зміна існуючих іконок. Тепер це легко робиться прямо в середовищі XDE Developer. Єдине, що треба зробити поза середовищем – намалювати необхідну іконку за допомогою улюбленого графічного редактора.

Припустимо, що ми хочемо визначити для актора "Система перевірки даних кредитної картки" на рис. 9 стереотип "External System" і відобразити з допомогою трохи відрізняється іконки. Цей актор характеризує деяку зовнішню систему, у якої в процесі роботи розробляється нами інформаційна система (наприклад, невеликий віртуальний магазин) буде запитувати необхідні дані при верифікації платежу клієнта.

Рис. 9. Діаграма прецедентів до визначення стереотипу "External System"

Для створення нового стереотипу слід виділити деякого актора на діаграмі і у вікні його властивостей для властивості "Stereotype" відкрити вікно визначення стереотипів (рис.10). Тут я опускаю деякі дрібниці редагування списку стереотипів, які легко можуть бути вивчені в ході практичної роботи з продуктом і читанні його документації.

Рис. 10. Створення стереотипу "External System" для актора.

У даному вікні можна визначити різні іконки для представлення елемента з конкретним стереотипом у вікні "Model Explorer" (поле "Explorer Icon") і на діаграмах (поле "Shape Image").

Слід зазначити, що для стандартних стереотипів, визначених за замовчуванням, можна тільки змінювати іконки. Видаляти їх або змінювати назву середовище не дозволить.

Нова діаграма прецедентів після виконання описаних дій може виглядати приблизно так, як це відображено на рис.11.

Рис. 11. Діаграма прецедентів після визначення стереотипу "External System".

Очевидно, що набагато простіше змінювати іконки стереотипів UML саме таким чином, ніж ред INI файли, як це до сих пір робиться в Rose.

Використання зразків (patterns)


В огляді по XDE Developer не можна не відзначити можливості продукту з використання зразків.

У XDE DeveloperPlus v2003 .NET всі зразки зберігаються в бібліотеках, що представляють собою звичайний файл моделі з розширенням WDX. І хоча можна створювати власні бібліотеки, за умовчанням вже доступна GoF бібліотека, спроектована так званої Групою чотирьох (Gang of Four), до якої належать такі відомі фахівці в цій галузі, як Ерік Гамма (Erich Hamma), Річард Хелм (Richard Helm), Ральф Джонсон (Ralph Johnson) і Джон Вліссідес (John Vlissides). Бібліотека створена на основі їх публікації "Design Patterns: Elements of Reusable Object-Oriented Software" (Addison-Wesley, 1995).

Розглянемо роботу із зразками на самому, мабуть, простому прикладі – застосуємо зразок Singleton. Застосування даного зразка до певного класу гарантує, що в будь-який час може бути створений лише один його примірник. Наприклад, якщо це клас деякого вікна, то не може бути створено більше одного його примірника. А при спробі створити інше вікно такого ж класу просто буде повертатися посилання на існуюче.

Створимо новий проект у Visual Studio .NET типу "Windows Application" на мові C #. У такому проекті спочатку визначено єдиний клас Form1. Це клас головного вікна програми. Виконаємо Reverse Engineering цього проекту за допомогою XDE DeveloperPlus. Все це робиться стандартним чином і, думаю, що немає сенсу детально описувати зазначені дії. Наша мета-застосувати зразок Singleton до класу Form1.

Перемістимо клас Form1 з вікна "Model Explorer" на будь-яку діаграму моделі (можна створити для цього діаграму класів). B Toolbox знаходимо групи зразків "GoF Pattern Library for CSharp v2_5" і перетаскиваем мишею зразок Singleton прямо на клас Form1 (рис. 12).

Рис. 12. Мишею перетаскиваем зразок Singleton на клас Form1.

Середовище ще задасть кілька запитань, на які можна відповідати ствердно. Кінцевим результатом застосування зразка Singleton буде наступна структура класів (рис. 12).

Рис. 13. Структура класів після застосування зразка Singleton.

Тепер клас Form1, як вже було сказано, є класом, для якого не може існувати одночасно більше двох екземплярів. Клас Client – клас деякого абстрактного об'єкта, який здійснює створення цього вікна. Створення нового екземпляра Form1 можливо лише через використання методу GetUniqueInstance (). Цей метод або створює нове вікно класу Form1, якщо його не існує, або повертає посилання на існуюче вікно, якщо воно вже створено. Конструктор Form1 тепер має видимість private і використовувати його для створення вікна не можна. Тут слід зазначити, що відбувається створення не тільки класів, але і заповнення деяких методів необхідної функціональністю, визначеної для даного зразка. Зокрема, вищезгаданий метод GetUniqueInstanse () не є порожнім.

Дуже важливо, що XDE DeveloperPlus дозволяє розробити власну бібліотеку зразків для використання їх в поточних і майбутніх проектах. Це дає можливість поширювати вдалі архітектурні рішення. На Rational Developer Network – віртуальної мережі користувачів продуктів Rational існує цілий розділ, присвячений обміну зразками. Тут можна знайти досить багато готових рішень, які вже пройшли випробування в реальних проектах і є результатом довгої і напруженої роботи з пошуку оптимального шляху.

Технічні дані


Тепер трохи про основні технічні даних XDE DeveloperPlus для платформи. NET, які, на мій погляд, можуть бути корисні в якості додаткової інформації:


















Інтеграція з інструментами Rational Suite Enterprise
  • ClearCase
  • Rose
  • RequisitePro
  • SODA
  • Project Console
  • PurifyPlus (інтеграція з Visual Studio. NET прямо)
  • Вимоги до апаратного забезпечення
  • Pentium III 500MHz (рекомендується Pentium III 1 GHz або вище)
  • RAM – мінімум 512 MB (рекомендується 1 GB)
  • HDD – мінімум 500MB для середовища, 100 MB для проектів (рекомендується 2-5 GB)
  • Відео – мінімальний дозвіл: 800 x 600, 256 кольорів (рекомендуються 1024 x 768, 16-бітові кольори або вище)
  • По-крайній мірі, 2-х кнопкова миша
  • Підтримувані СУБД
  • IBM DB2 5.x, 6.x, 7.x, 8.x
  • IBM DB2 MVS 5.x, 6.x, 7.x
  • Microsoft SQL Server 6.x, 7.x, 2000.x
  • Oracle 7.x, 8.x, 9.x
  • Sybase Adaptive Server 12.x
  • Операційні системи
  • Windows 2000 Professional, SP2 or SP3
  • Windows 2000 Server, SP2 or SP3
  • Windows 2000 Advanced Server, SP2 or SP3
  • Windows XP Professional, SP1
  • Платформи
  • Platforms:
  • Microsoft Visual Studio .NET 2002
  • Microsoft Visual Studio .NET 2003

  • Висновок


    Інтеграція Microsoft Visual Studio і Rational XDE DeveloperPlus, Поза всякими сумнівами, є великим досягненням компанії IBM Rational – учасники проекту по створенню інформаційної системи на платформі. NET отримують потужний інструментарій для більш ефективної організації процесу розробки. Крім того, цей інструментарій може бути тісно інтегрований з іншими засобами IBM Rational, Які в сукупності дозволяють забезпечити весь комплекс завдань з управління проектами зі створення інформаційних систем.

    Проте, слід чітко розуміти, що ефективність процесу розробки підвищується не просто завдяки використанню передового інструментарію, а в результаті правильного його використання. Існує безліч прикладів, коли впровадження сучасного інструментарію розробки не призводило до підвищення ефективності проекту, а іноді навіть знижувало її. Тому, перш ніж переходити на нові методи роботи, ми рекомендуємо провести аналіз бізнес-перспектив таких змін. Такий аналіз звичайно проводиться за допомогою пілотних проектів. Окрім фахівців організації, зацікавленої у впровадженні нових підходів до розробки, у пілотному проекті, як правило, беруть участь технічні консультанти компаній, які професійно займаються консалтингом у цій галузі і мають величезний досвід у проведенні подібних робіт.

    Схожі статті:


    Сподобалася стаття? Ви можете залишити відгук або підписатися на RSS , щоб автоматично отримувати інформацію про нові статтях.

    Коментарів поки що немає.

    Ваш отзыв

    Поділ на параграфи відбувається автоматично, адреса електронної пошти ніколи не буде опублікований, допустимий HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

    *

    *