Для .NET есть NClass. Легкий, без лишних наворотов инструмент для создания диаграммы классов. Я, правда, им пользовался в основном для генерации диаграмм из уже скомпилированных сборок, а не по прямому назначению, так что ручаться за удобство не могу. Но может окажется полезен.
P.S. Сам, если проект более-менее сложный, проектирую пока на листочке. Если что-то попроще, то прямо в коде делаю "набросок" в виде набора интерфейсов (пытаясь учесть возможные варианты расширения, но без особого фанатизма), а затем уже приступаю к реализации. Как-то так.