UML не поддерживает параметрические методы типа напрямую.
Самое близкое, что вы получите, - это определить вложенный класс, который имеет ограничения типов со стереотипом, который вы будете интерпретировать как означающий, что это параметр типа, и определить операцию Register
в этом отношении.
+---------------------------------------------------+
| «interface» |
| IRegisterable |
+---------------------------------------------------+
| + Register (string username, string passw) : T |
+---------------------------------------------------+
+---------------+ +---------------+
| «abstract» | | «interface» |
| User | | ICanLogin |
+---------------+ +---------------+
. .
/_\ /_\
| .
+-----------+ .............
| .
+-------------------+
| «typeParameter» |
| IRegisterable::T |
+-------------------+
| + new() |
+-------------------+
note: T is a nested class within IRegisterable