Rational Rose для розробників. Частина 3

Частина 2

"Сім разів виправ, – десять налагодити …" –
улюблене заняття розробника …


Загальне


У попередніх частинах статті ми досить багато часу приділили такому потужному інструменту як Rational Rose, причому намагалися розгледіти даний продукт очима розробника (постановника). Досить докладно розглянули процес проектування як прямого, так і зворотного на мові С + +. Природно, що не вдалося покрити повністю всі можливості пакета, тому що в цьому випадку довелося б писати цілу книгу. На жаль, під час написання третьої частини даної статті (такий же описової як і всі попередні) вийшла в світ російською мовою чудова книга з проектування та кодогенераціі ("UML і Rational Rose ". У. Боггс, М. Боггс. Дану книгу можна придбати в нашому магазині www.itshop.ru). Стало бути 3 частина буде останньою описовою частиною …


Інші частини плануються вже не в описовому форматі, а в проблематичному; кожна стаття буде заснована на конкретній проблемі проектування або аналізу, а також взаємодії Rational Rose з іншими продуктами компанії Rational. Наприклад, в одній з найближчих частин ми торкнемося інтеграцію Rose з ClearCase і Requisite Pro. Також чекає свого низка стаття з інтеграції з Visual Studio.


Складні матерії


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

Для початку коротко проаналізуємо можливості Rational Rose в генерації та візуалізації різних асоціацій, зв'язків і класів.


Однонаправлені асоціації


Для створення такого зв'язку Rose генерує спеціальні атрибути. Природно, що при подібній асоціації зв'язок генерується тільки для одного класу. При цьому Rose генерує закритий атрибут (Private). В іншому генерація відбувається так само як і у спадкуванні (зв'язок показується стрілкою Unidirectional Association). Нижче показано картинка відносини і код, згенерований Rose (далі в статті також буде використовуватися такий самий підхід: опис зв'язку, малюнок зв'язку, згенерований файл заголовка).

Малюнок 6


Код спеціально наведений повністю, щоб можна було б оцінити розмах Rose в плані генерації складних зв'язків. Лаконічним завершення даного виду зв'язку можна вважати зв'язок один до …. У нашому випадку 1 до 6


При цьому код буде виглядати наступним чином:


ФАЙЛ NEWSTRING.h


*
*
*
private: //## implementation
// Data Members for Associations
//## Association: <unnamed>%39FD4614028A
/ / # # Begin NewString:: <the_String>% 39FD461502A0.role preserve = no
public: String {1 -> 6RHN}
String *the_String[6];
//## end NewString::<the_String>%39FD461502A0.role
// Additional Implementation Declarations
//## begin NewString%39FD296801A9.implementation preserve=yes
//## end NewString%39FD296801A9.implementation
*
*
*


Таким же чином можна згенерувати будь-який вид зв'язку. Скажімо, розробнику нічого не заважає визначити зв'язок 6 до 6 або 10 до 10. Код, що згенерував системою, при цьому буде виглядати як "положено" …


Висновок


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


Потужні виразні властивості в Rational Rose поєднуються з гнучкою системою підказок і налаштувань. Так, наприклад, Rose дозволяє проводити не тільки зручність настройки інструментальної панелі (ця можливість стала давно тривіальною, і розглядати її як щось видатне немає необхідності), але і що дуже важливо – налаштовувати на свій розсуд зовнішній вигляд діаграм, для яких відсутня картинка.


Внутрішнє улаштування Rose дозволяє змінювати системний файл "defaultstereotypes.ini", в якому містяться найменування зумовлених стереотипів з посиланнями на відповідні картинки. Так, якщо користувача не влаштовує картинка, то він спокійно може замінити посилання на свій графічний файлу. Правда при цьому слід враховувати, що всі малюнки повинні зберігатися тільки в форматі WMF, і мати довжину не більше 512 байт.


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


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

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

Ваш отзыв

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

*

*