
Види діаграм
Основою UML є діаграмна структура. Кожен вид діаграм є типом моделей, що реалізовує певну точку зору на програмну систему. Види діаграм не є строго обов'язковими в UML – їх можна перемішувати, створювати свої власні види діаграм. Проте стандартні види діаграм є певним надбанням програмної інженерії, оскільки відображають досвід багатьох дослідників і практиків.
Структурні діаграми:
діаграми класів (class diagrams) призначені для моделювання структури об'єктно-орієнтованих додатків класів, їх атрибутів і заголовків методів, наслідування, а також зв'язків класів один з одним;
діаграми компонентів (component diagrams) використовуються при моделюванні компонентної структури розподілених додатків; всередині кожна компонента може бути реалізована за допомогою безлічі класів;
діаграми об'єктів (object diagrams) застосовуються для моделювання фрагментів працюючої системи, відображуючи ті, що реально існують в runtime екземпляри класів і значення їх атрибутів;
діаграми композитних структур (composite structure diagrams) використовуються для моделювання складових структурних елементів моделей – кооперацій, композитних компонент і так далі;
діаграми розгортання (deployment diagrams) призначені для моделювання апаратної частини системи, з якою ПЗ безпосередньо зв'язано (розміщено або взаємодіє);
діаграми пакетів (package diagrams) служать для розбиття об'ємних моделей на складові частини, а також (традиційно) для угрупування класів модельованого ПЗ, коли їх надто багато.
Діаграми поведінки:
діаграми активностей (activity diagrams) використовуються для специфікації бізнес-процесів, які повинно автоматизувати ПЗ, котре розробляється, а також для задавання складних алгоритмів;
діаграми випадків використання (use case diagrams) призначені для "витягування" вимог з користувачів, замовника і експертів предметної області;
діаграми кінцевих автоматів (state machine diagram) застосовуються для задавання поведінки реактивних систем;
діаграми взаємодій (interaction diagram):
діаграми послідовностей (sequence diagram) використовуються для моделювання часових аспектів внутрішніх і зовнішніх протоколів ПЗ;
діаграми схем взаємодії (interaction overview diagram) служать для організації ієрархії діаграм послідовностей;
діаграми комунікацій (communication diagrams) є аналогом діаграм послідовностей, але по-іншому зображаються (у звичній, графській манері);
тимчасові діаграми (timing diagrams) є різновидом діаграм послідовностей і дозволяють в наочній формі показувати внутрішню динаміку взаємодії деякого набору компонент системи.
Приклади. Центральним видом діаграм є діаграми класів.
Рис. 4.2. Пример диаграмм классов
Ще один вид структурних діаграм – діаграми розміщень, пример представлен ниже.
Рис. 4.3. Пример диаграмм размещений
Отметим также еще один важный вид диаграмм UML – диаграммы компонент (пример представлен на рис. 4.4).
Рис. 4.4. Пример диаграмм компонент
Интересен также вариант диаграмм композитных структур – сложные компоненты для систем реального времени и телекоммуникаций. Пример представлен ниже.
Рис. 4.5. Пример диаграмм композитных структур
Ниже приводятся примеры на поведенческие диаграммы UML. Диаграммы конечных автоматов позволяют создавать полные спецификации поведения телекоммуникационных, событийно-управляемых алгоритмов и автоматически генерировать по этим описаниям программный код. Пример такой диаграммы для класса COperator представлена ниже.
Рис. 4.6. Пример диаграмм конечных автоматов
Еще один важный вид диаграмм – диаграммы последовательностей. Они позволяют задавать главные ветки сложных телекоммуникационных алгоритмов, а также рисовать цепочки вызовов для объектно-ориентированных приложений, которые программируются в терминах объектов, но проектируются часто в терминах цепочек вызовов.
Рис. 4.7. Пример диаграмм последовательностей