Наша совместная команда Banwar.org

Связаться с нами

  • (097) ?601-88-87
    (067) ?493-44-27
    (096) ?830-00-01

Статьи

Sybase Power Designer: схеми в стандарті UML і багато іншого

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

Зараз існує колекція програм, здатних самостійно формувати вихідний програмний код, але для цього потрібно вміти формулювати ідеї, користуючись стандартними схематичними описами.

Якщо процес створення вихідного коду людина може і не довірити машині, то спілкуватися з колегами по проекту йому все одно доведеться. А щоб процес взаємодії був приємним і продуктивним, давно вже придумали уніфікована мова моделювання - UML (Unified Modeling Language). Знати UML і розуміти схеми, відповідні даному стандарту, - такий же плюс для розробника, як і добре володіти англійською мовою. Всякий раз, коли вам потрібно схематично позначити свої технічні ідеї, вкрай бажано, щоб ви робили це саме в стандарті UML, і тоді ваші думки знайдуть універсальний вид і для машин, і для людей (включаючи навіть начальників).

Компанія Sybase має в своєму списку, мабуть, самий передовий і популярний в даний час програмний продукт, який стане в нагоді на всіх етапах розробки, починаючи з первинного аналізу завдань проекту та закінчуючи реалізацією. Це ПО дозволяє наочно оформляти практично будь-які концепції - від системи управління великим підприємством до дрібного програмного модуля. Більш того, завдяки наявності безлічі найпростіших графічних елементів, Power Designer цілком здатний замінити такі продукти, як Microsoft Visio, і звичайно ж перевершує по багатьом статтям утиліти начебто Umbrello.

Програма однаково успішно працює в Windows XP і Windows 7. Віконний інтерфейс програми простий і інтуїтивно зрозумілий - основний упор зроблений на функціональність.

Для початку давайте складемо просту діаграму діяльності (Activity Diagram) для опису роботи міжміського карткового таксофону (рис. 2). Це пристрій можна сміливо віднести до класу вбудованих процесорних систем.

Така діаграма діяльності нагадує просту блок-схему, орієнтовану на динамічну поведінку. Тут дуже зручно показувати розгалуження різних послідовностей, що набагато складніше зробити в діаграмі послідовності (Sequence diagram).

Взагалі, користуючись засобами Sybase Power Designer, нескладно створювати схеми, які повністю відповідають правилам UML, але можна і відходити в бік від стандартів, причому настільки, наскільки зажадають конструктивні міркування. Інструмент досить гнучкий, і відповідальність в значній мірі лежить на розробнику.

Розглянемо ще один приклад - намалюємо дуже просту діаграму класів для опису структури даних клієнтського дзвінка, здійсненого через таксофон. І в цьому випадку будемо орієнтуватися на мову C #. Спочатку опишемо простий клас TCall для дзвінка без використання чіп-карти - наприклад, безкоштовний дзвінок (структура, що має на увазі подальше ускладнення). А потім, доповнивши структуру дзвінка і додавши необхідні поля і методи, створимо клас TPayCall і вкажемо стрілкою на батьківський клас TCall (рис. 3). Тепер у вкладці властивостей Preview для класу TPayCall в автоматично сформованому початковому тексті (на мові C #) з'явиться вказівка ​​на спадкування класу TCall. Крім того, отриманий вихідний текст дозволяється ще й редагувати.

Створимо і третій клас - TCalls (масив дзвінків), що описує пакет клієнтських дзвінків. Після чого перевіримо зворотний ефект, додавши в вихідний текст цього класу запис:

private TPayCall [] self;

На схемі сама спливе зв'язок класу TCalls з класом TPayCall, точніше, асоціація (association), а ще точніше - бінарна асоціація.

Цікаво, що на вкладці View кожного класу під час налаштування параметрів генерації вихідного коду допустимо окремо вказати версію MS Visual Studio 2005 або 2008. На тій же сторінці View при натисканні на кнопку Edit with або + E запускається MS Visual Studio c поточним даним класом всередині тимчасового файлу .

А зараз нове чудо. У пункті головного меню Tools виберемо Generate Object Oriented Model і визначимо будь-який інший мову, крім уже використаного C #. Програма створить зовні повну копію вихідної схеми, але при більш пильному розгляді легко помітити акуратну заміну типів атрибутів і операцій на ті, що відповідають потрібної мовної парадигми. Отже, і в розділі View будь-якого класу на новій схемі також з'явиться вихідний текст на обраною мовою.

Тепер всі наші три класи в форматі C # вставимо в файл Programm.cs і спробуємо заново отримати схему, прочитавши файл з Power Designer і використовуючи пункт меню File • Reverse Engineer. Вийде вже знайома схема, але в більш строгому вигляді.

Робота з базами даних

Досліджувана версія Power Designer дозволяє працювати з живими базами даних трьома способами: через ODBC, через JDBC або через рідні драйвери. Причому в програмі декларована підтримка багатьох діалектів реляційних моделей СУБД - список типів СУБД, для яких можна розробляти проекти, набагато довше, ніж перелік прямих підключень через рідні драйвери. Таким чином, навіть коли ви працюєте через ODBC, є можливість уточнити ситуацію, вказавши точну тип СУБД (якщо ви знайдете його в списку), щоб програма знала, з яким синтаксисом метаданих їй доведеться мати справу.

Ясно, що Power Designer дозволяє здійснювати різні перетворення в відношенні як ступеня абстракції схем (порівняйте, наприклад, фізичну діаграму і логічну модель даних), так і мов програмування (C #, C ++, Java, Visual Basic, XML). До сих пір ми розглядали ці чудові властивості в контексті окремої програмної суті. А при роботі з реляційними базами даних є можливість перевіряти Power Designer на живому прикладі. Виберемо готову тестову базу даних з однієї СУБД і спробуємо перенести її в іншу СУБД засобами Power Designer. Для цього створимо ODBC-підключення до тестової базі даних СУБД FireBirdSQL Server (попередньо встановивши сам ODBC-драйвер з сайту www.firebirdsql.org).

Визначимо тип СУБД для того, щоб програма правильно сприйняла наш джерело. Викличемо вікно настройки File • Reverse Engineer • DataBase і в поле DBMS з довгого списку СУБД виберемо потрібний варіант - вкажемо програмі, яким саме типом даних ми вважаємо наш джерело. Все одно доведеться звернутися (в нашому випадку) до джерела ODBC, однак потрібно уточнити вибір: InterBase 6.x або ODBC 3.0? Забігаючи вперед, слід зазначити, що в другому випадку Power Designer не "побачить» тригери бази даних, тому вкажемо СУБД InterBase. В результаті програма видала 10 помилок, однак намалювала все, що змогла, включаючи процедури, тригери і навіть один перегляд View

В реальності такого результату буває цілком достатньо, тому що міграція проекту, як правило, вимагає додаткової «роботи напилком». Крім того, багато проблем зазвичай знаходиться десь на стику предметної області та синтаксису. А тепер застосуємо цю фізичну модель даних (Physical Data Model) до іншої СУБД, наприклад до PostgreSQL 8 (www.postgresql.org.), І подивимося, що ж вийде.

Спочатку для вже встановленої СУБД PostgreSQL створимо нову базу даних з ім'ям test і відповідне ODBC-з'єднання, а потім на основі існуючої фізичної моделі зробимо нову в форматі PostgreSQL (Tools-Generate Physical Data Model ... • PostgreSQL 8).

Приступимо до генерації бази. Вибираємо пункт DataBase • Generate DataBase ... і вказуємо попередньо створений джерело ODBC для PostgreSQL. В результаті виходить структура з таблицями, переглядами і індексами. Очевидно, що це далеко не все, що у нас було спочатку, наприклад, синтаксис тригерів виявився невідповідним, але все одно це якийсь результат.

Що ще вміє Power Designer

Всі типи схем і елементи схем в Power Designer є складовою частиною загального концептуального підходу, який допомагає розробнику акуратно переносити свої ідеї від схеми до схеми.

У кожного компонента можна виділити два найважливіших пункту у властивостях меню: Format, з приблизно однаковим набором властивостей графічного відображення елемента, і Properties, де зберігається корисна інформація, що стосується прикладної теми елемента. Причому творці продукту пішли назустріч користувачеві і зробили набори таких «предметних» властивостей максимально зручними для редагування.

Будь-яка область людської діяльності може бути описана схемою, і Power Designer - зайве тому підтвердження

Втім, даний продукт не обмежується набором програмно-технічних шаблонів для створення програмного забезпечення, він дозволяє створювати абсолютно різні схеми, пов'язані з будь-якою галуззю. Більшість елементів самі по собі підтримують плавне масштабування, дозволяють замінювати картинку за умовчанням, на зображення з зовнішніх джерел. Але і це не все! У додатку є своя галерея приємних глянцевих значків, про яку багато хто так довго мріяли

Творити в Power Designer просто і зручно, а коли справа стосується таких абстракцій, як програмна архітектура, то можна зайнятися підбором значків і кольорів - часом захоплюючий процес творчості займає багато часу, але цього можна і не помітити ( Мал. 4 ).

недоліки

Як і будь-яке ПЗ, Sybase Power Designer має свої недоліки. Так, дещо спантеличує панель компонентів для редагування поточної схеми - закрити її легко клацанням миші, а ось як відкрити, відразу і не збагнеш.

Прикро, що немає версії даної програми для Linux. Втім, деяким користувачам при дуже великому бажанні вдавалося запустити її в цій ОС.

Хоча сама Power Designer і складається практично цілком із загальноприйнятих стандартів, все ж шкода, що відсутня відповідна література російською мовою, яка допомагає глибше вивчити програму, але це взагалі характерно для всієї лінійки продуктів Sybase.

Ще один невеликий недолік - не передбачено плавне масштабування на екрані редагованої схеми. Є тільки фіксований ряд, проте особисто мене, наприклад, він не влаштував.

А найголовніша, на мій погляд, і досить дивна недоробка - не підтримує .NET 3.5, але ж пора б вже!

Мал. 1. Схема побудови таксофонної системи для надання універсальних послуг зв'язку, створена в Sybase Power Designer, зрозуміла і розробнику, і замовнику

Мал. 4. Power Designer дозволяє наочно відобразити будь-яку концепцію, комбінуючи різні рівні абстракції

Якщо процес створення вихідного коду людина може і не довірити машині, то спілкуватися з колегами по проекту йому все одно доведеться. А щоб процес взаємодії був приємним і продуктивним, давно вже придумали уніфікована мова моделювання - UML (Unified Modeling Language).

Sybase Power Designer: схеми в стандарті UML і багато іншого

Новости

Banwar.org
Наша совместная команда Banwar.org. Сайт казино "Пари Матч" теперь доступен для всех желающих, жаждущих волнения и азартных приключений.