візуальне моделювання

Візуальне моделювання збільшує рівень абстракції

Модель є спрощеним уявленням системи. Вона показує суттєві боку системи з певної точки зору і приховує несуттєві деталі. Моделі можуть надати допомогу в такий спосіб:

Важливість моделей зростає при збільшенні складності систем. Наприклад, собачу будку можна побудувати без моделювання. Однак при переході до будинків і далі до хмарочосів потреба в моделюванні стає чітко вираженою.

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

Деякі приклади моделей:

  • Варіанти для однозначного визначення поведінки
  • Діаграма класів і діаграми моделювання даних для фіксації ескізу
  • Діаграми переходів станів для моделювання динамічної поведінки

Моделювання допомагає колективу візуалізувати, сконструювати і документувати структуру і поведінку системи, що не загубившись в її складності.

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

Сьогодні в багатьох проектах використовуються об'єктно-орієнтовані мови програмування з метою створення багаторазових, що допускають зміни і стійких систем. Для отримання цих переваг навіть більш важливим є застосування в ескізі об'єктної технології. У Rational Unified Process (RUP) створюється об'єктно-орієнтована модель проектованої системи, яка є основою для реалізації.

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

Зворотне проектування також можна використовувати для створення моделей проектованих систем на основі існуючих реалізацій. Це можна використовувати для оцінки існуючих реалізацій.

"Проектування в обох напрямках" поєднує прийоми випереджаючого і зворотного проектування, забезпечуючи отримання погодженого ескізу і коду. У поєднанні з ітераційним процесом і відповідними інструментами таке проектування забезпечує синхронізацію ескізу і коду в кожній ітерації.

Перед побудовою системи дуже важливо зафіксувати вимоги. Вказівка ​​вимог за допомогою точної і однозначної моделі дозволяє гарантувати, що всі зацікавлені особи розуміють вимоги і згодні з ними.

Модель, яка відокремлює внутрішнє поведінку системи від її реалізації, дозволяє сфокусуватися на призначення системи, не вникаючи в деталі реалізації.

У RUP застосовується Unified Modeling Language (UML) - узгоджена нотація, яку можна використовувати і для проектування системи, і для бізнес-проектування. Стандартна нотація виконує наступні ролі (див. [BOO95]):

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