Символ діаграми класу UML для функції вищого рівня


13

Як позначити діаграму класів UML, як позначити функцію верхнього рівня, яка не має класу інкапсуляції чи іншої структури?

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

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


Можна моделювати його як staticметод спеціального класу, який називається, наприклад,global
xmojmr

1
Відповіді нижче хороші. Однак, замість того, щоб називати клас або стереотип "глобальним", я думаю, що "StandaloneFunction" краще, оскільки це дуже явно до вашого наміру. Зважаючи на це, IMO ще краще було б поставити функції "верхнього рівня" у добре названий простір імен, який дозволяє організувати функції, а потім дає вам клас для їх розміщення. Таким чином, розміщення функції в просторі імен називається UrlUtilities набагато перевершує те, що це функція "найвищого рівня". Але знову ж таки, на цьому етапі ви можете також поставити його до класу UrlUtilities як статичний метод, який є найкращим варіантом.
Данк

Відповіді:


10

Мова UML не підтримує поняття автономних функцій. У UML всі функції повинні бути частиною класу.

В якості обходу ви можете моделювати свої автономні функції як статичних членів класу, з якими вони тісно пов'язані. Якщо такого класу немає, то ви могли б моделювати ці функції як частину фіктивного класу, як globalклас, про який згадував @xmojmr у коментарях.


7

Створіть стереотип , що ви можете прикріпити до «класу» класифікатора, наприклад, <<global function>>. Потім можна створити єдиний стереотипний "клас" для кожної глобальної функції, що містить одну повністю задану статичну операцію.

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


Мені важко бачити, як ваша відповідь відрізняється від Барта ...
Адам Цукерман

3
@AdamZuckerman - Барт створює єдиний клас під назвою "глобальний", який об'єднує всі глобальні функції, що ускладнює розуміння, яка глобальна функція та залежності застосовуються в даному контексті. Запропонований мною стереотип вказує людині, що читає схему, інтерпретувати клас як функцію. Прямокутник класу (зі стереотипом) представляв би одну функцію, тоді як його залежності представляють залежності цієї однієї функції.
Дуг Кнесек
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.