Перепробовал всякое разное для моделирования на UML
Rational Rose - кривой и убогий интерфейс, неудобно и тяжело, отвратительная кодогенерация - использование в проекте такого кода должно было бы убить проект при рождении. Давно бросил
MS Visio - нет поддержки UML2, наплевательское отношения к общепринятым обозначениям, невозможность отображения constraint'ов на вызовах и т.д.
Poseidon - настоящий ТОРМОЗ, но более менее ничего, были проблемы со сменой шрифта на диаграммах
Telelogic Tau - страдает интерфейс.
Altova - пробовал после EA и Visual Paradigm - чего-то не хватило и очень сильно
EA - один из лучших продуктов. В программировании под C# вставлял лишний код финализатора в классы, страдает генерация кода по сравнению с VP при reverse-engineering, не слишком презентабельные диаграммы. Из плюсов - дешево стоит, есть несколько фич (в реальности навряд ли будут использоваться, но звучит круто - типа автопостроение диаграммы последовательности для web-service'а на основе анализа вызова его методов во время работы). Для меня - единственная реальная альтернатива Visual Paradigm'у
Visual Paradigm - по мне, так - лучший продукт. Поддержка UML2, красивые диаграммы, легко строить, легко оформлять (такие диаграммы не стыдно вставить в презентации, а от ТЗ заказчик, обычно, под впечатлением
), всё настраиваемо. Нет ощущения тяжести - user-friendly interface, прекрасная помощь, справочник. В общем на уровне. Из минусов - Professional version стоит раза в 2-3 дороже, чем у EA - около $700-$900 (зависит от типа лицензии).
Все free tools - чего-нибудь да не умеют (например, UML2) либо очень уж неудобные/некрасивые.