UML позволяет вам указать сигнатуру метода и сгруппировать методы в классы, но он вообще ничего не говорит о том, какой код вы используете в качестве реализации. Если это то, что вы подразумеваете под «поведением», я не думаю, что UML решает это вообще на уровне класса.
Еще хуже на уровне пользовательского интерфейса. У меня сложилось впечатление, что UML совершенно не подходит для определения пользовательских интерфейсов.
Я думаю, что усилия, необходимые для встраивания всего в UML, больше или равны кодированию приложения, с дополнительным бременем инструментов UML, заключающимся в плохих IDE и невозможности доказать правильность UML так, как вы можете с помощью модульного тестирования.
UML сильно перепродан, ИМО. Я считаю это удобным обозначением для неформального общения между разработчиками, не более того. Он никогда не был и не будет объектно-ориентированным эквивалентом технических чертежей.