PowerDesigner 8
Сергій Ляпін
Нині ключовим чинником розробки сучасних інформаційних систем є час. Реалізація складних проектів немислима без застосування CASE-технологій та механізмів групової роботи, які значно скорочують цикл проектування та розробки.
Пакет PowerDesigner компанії Sybase надає унікальну можливість прискорення процесу розробки програмного забезпечення, оскільки поєднує традиційні переваги засобів моделювання реляційних баз даних із новими, продуктивними та ефективними технологіями моделювання у стандарті UML.
На даний момент PowerDesigner є єдиним засобом проектування, що поєднує можливості об'єктно-орієнтованого, концептуального і фізичного моделювання інформаційної системи в єдиному інтегрованому середовищі (рис. 1).
На даний момент продукт підтримує роботу з більш ніж 30 найпопулярнішими СУБД та основними мовами програмування, дозволяючи керуватися єдиною стратегією створення бізнес-логіки та проектування баз даних у гетерогенних обчислювальних системах.
Об'єктно-орієнтоване моделювання
Починаючи з версії 7, PowerDesigner придбав механізм об'єктно-орієнтованого моделювання в стандарті UML 1 . Спочатку було реалізовано лише діаграми класів, а нової версії з'явилися повнофункціональні UseCase- і Sequence-діаграми стандарту UML 1.3.
Діаграми UML дозволяють розробникам зосередитися на проектуванні бізнес-логіки інформаційної системи, будуючи концептуальні моделі (CDM, Conceptual Data Model) та фізичні моделі (PDM, Physical Data Model) на структурах баз даних. Такатрирівнева методологія проектування дозволяє здійснювати весь процес виробництва програмного забезпечення в єдиному інтегрованому середовищі, де кожен рівень логічно пов'язаний з іншим. Діаграми класів можуть бути пов'язані з концептуальними моделями даних, концептуальні моделі даних – з фізичними. Кожен рівень може бути перетворений на інший. Все це дає можливість розробникам баз даних та розробникам додатків використовувати єдине програмне середовище під час роботи над складними проектами (рис. 2).
Діаграми класів можуть створюватися на високому концептуальному рівні з використанням режиму «Аналіз» або специфічнішим чином, якщо робота ведеться з цільовими мовами програмування, такими як Java або PowerBuilder. Діаграми типу UseCase визначають взаємодію інформаційної системи із зовнішніми об'єктами, наприклад, з майбутніми користувачами. А Sequence-діаграми визначають порядок та часові залежності процесів руху та обробки інформації.
Поєднання трьох зазначених діаграм дає чітке уявлення структури та процесів інформаційної системи у стандарті UML.
PowerDesigner є ефективним інструментом моделювання інформаційних систем, який може забезпечити повний цикл проектування - починаючи від побудови об'єктно-орієнтованої моделі бізнесу і закінчуючи генерацією структури даних безпосередньо на сервері бази даних. І на об'єктному рівні, і на рівні схеми бази даних PowerDesigner здатний автоматично генерувати вихідний код класів та скрипти для створення бази даних, що дозволяє об'єднати усі процеси виробництва програмного забезпечення у єдине середовище із зручним графічним візуальним інтерфейсом.
Можливості групової роботи над проектом
Підтримка групової розробки проектів єзавданням першочергового значення для сучасних інформаційних систем. Зараз проекти, як правило, містять сотні та тисячі класів та сутностей. Усі люди, які працюють над проектом, використовують єдиний інтерфейс. Менеджери, бізнес-аналітики, архітектори, програмісти та проектувальники баз даних взаємодіють між собою через PowerDesigner, створюючи єдину злагоджену команду.
Групова робота PowerDesigner реалізована через загальний репозитарій, який може використовуватися на етапах проектування та експлуатації інформаційної системи. Усі учасники проекту тепер можуть спільно працювати над інформаційними моделями, що зберігаються у єдиному репозитарії. Надаючи можливості розмежування прав доступу та повноважень, підтримки повторного використання об'єктів, пошуку об'єктів та керування версіями моделей, репозитарій PowerDesigner фактично є рішенням масштабу підприємства для надійного зберігання та централізованого керування всією інформацією щодо ведення проекту.
Для IT-менеджерів PowerDesigner є ефективним засобом управління всім проектом, який формалізує, спрощує та стандартизує весь процес виробництва програмного забезпечення.
Для бізнес-аналітиків PowerDesigner — засіб об'єктно-орієнтованого та концептуального моделювання бізнес-систем, що дозволяє перевести структуру та бізнес-процеси області, що моделюється, у формальний опис у стандартах UML та ER.
Програмістам та розробникам PowerDesigner пропонує ефективний механізм моделювання у стандарті UML та автоматичного генерування вихідних текстів бізнес-логіки для різних мов програмування. Підтримуються практично всі популярні мови та середовища розробки - Java, C ++, Visual Basic, PowerBuilder, XML. Для Java, PowerBuilder і XML також доступний механізм реверс-інжинірингу 2 .
Проектувальникам баз даних PowerDesigner дає повний контроль над структурою даних та особливостями конкретного сервера баз даних (про підтримку різних СУБД див. кінець статті). Можливості моделей PDM дозволяють проводити аналіз нормалізації структури та оптимізації зберігання даних. Результатом створення фізичної моделі даних є скрипт її створення чи модифікації структури даних на сервері. Якщо необхідно отримати модель даних вже готової бази даних, можна використовувати механізм реверс-инжиниринга моделі з урахуванням її структури.
Концептуальне та фізичне проектування моделей даних
Проектування моделей даних у PowerDesigner засноване на популярній методології Джеймса Мартіна, яка використовує класичні поняття «сутності» та «зв'язку», але запроваджує два рівні подання даних: концептуальну та фізичну моделі. Такий поділ дозволяє значно спростити етап проектування. Концептуальна модель дозволяє розробнику зосередитися лише на об'єктах (сутності) інформаційної системи та на зв'язках між ними, не замислюючись про численні параметри, пов'язані з фізичною реалізацією (про механізми цілісності посилання, про оптимізацію зберігання даних на пристроях тощо). Хоча багато термінів, що стосуються об'єктно-орієнтованих моделей, наприклад успадкування і залежність між об'єктами, використовуються і в концептуальних моделях, проте йдеться вже більше про модель даних, ніж про діаграму об'єктів.
CDM забезпечує чітке уявлення інформаційної системи, не прив'язуючи її до конкретної СУБД. Тому єдина CDM-діаграма може бути асоційована з кількома фізичними моделями для різних платформ баз даних (рис. 3).
Подібний механізм не означає ускладненняпроцесу проектування, оскільки CDM-і PDM-моделі тісно пов'язані і внесення змін до однієї з них призводить до зміни іншої діаграми.
Можливості розширення та налаштування моделей
При реалізації складних проектів розробникам у часто необхідно мати власний репозитарій об'єктів чи сутностей інформаційної системи як у стадії проектування, і на стадії експлуатації інформаційної системи. PowerDesigner має тут значні переваги.
На кожному рівні (OOM, CDM, PDM) об'єкт інформаційної системи можна характеризувати розширеними атрибутами. Цей потужний механізм дозволяє розширити стандартний репозитарій — аж до можливості його використовувати під час експлуатації готової системи. Такими атрибутами можуть бути формати представлення даних, шаблони та сценарії поведінки клієнтських додатків тощо. У період проектування ці атрибути можна використовувати при документуванні або генерації проекту.
Для моделей можна створювати власні стереотипи та типи даних. Стереотипи можуть задавати, наприклад, типи класів в об'єктно-орієнтованій моделі: прості Java-класи або EJB3-компоненти. При цьому PowerDesigner, залежно від значення стереотипу, може генерувати різні вихідні коди. Всі подібні розширення та атрибути користувача зберігаються у відкритому репозитарії проекту і доступні для розробників.
Будь-яка інформаційна система є сукупністю інформаційних об'єктів, зв'язків між цими об'єктами та бізнес-логіки. Однак для зберігання даних, як правило, як і раніше використовуються класичні реляційні СУБД. Для концептуального моделювання бізнес-логіки найбільше підходять об'єктно-орієнтовані методи, створення моделей даних — реляційні. Об'єктно-орієнтоване програмування та реляційні моделі, які раніше здавалися абсолютно несумісними одна з одною, тепер чудово поєднуються у середовищі PowerDesigner 8. Для цього навіть використовується спеціальний термін – об'єктно-реляційні системи. На рис. 4 наведено приклад такої моделі проектування з використанням Enterprise Java Beans 3 - компонентів як реалізацію бізнес-логіки системи.