Как обозначить диаграмму классов UML как функцию верхнего уровня, которая не имеет инкапсулирующего класса или другой структуры?
например, у меня есть функция, используемая для извлечения данных из URL. Поскольку это функция (в математическом смысле) только ее параметров и общего глобального состояния, функция не помещается в класс, а остается в качестве метода верхнего уровня.
Однако теперь мне нужно создать диаграмму UML для программы, использующей ее, и я не могу найти ничего о том, как обозначить функцию верхнего уровня. Как мне это сделать?
static
метод специального класса, который называется напримерglobal
Ответы:
Язык UML не поддерживает понятие автономных функций. В UML все функции должны быть частью класса.
В качестве обходного пути вы можете смоделировать свои автономные функции как статические члены класса, с которым они тесно связаны. Если такого класса нет, вы можете смоделировать эти функции как часть фиктивного класса, как
global
класс, упомянутый @xmojmr в комментариях.источник
Создайте стереотип , что вы можете прикрепить к «классу» классификатора, например,
<<global function>>
. Затем вы можете создать один стереотипный «класс» для каждой глобальной функции, содержащей одну полностью указанную статическую операцию.Стереотип, который я предлагаю, говорит человеку, читающему диаграмму, интерпретировать классификатор как функцию. Прямоугольник (со стереотипом) на данной диаграмме будет представлять отдельную функцию, в то время как ее зависимости представляют зависимости этой отдельной функции.
источник