Программы для облегчения проектирования программ?
Выполнил несколько проектов в Enterprise Architect. Плюсы:
1. внятный учёт требований к ПО, позволяющий реально понять какой реквест чем реализуется;
2. связка с контролем версий, можно хотя бы понять что когда и как менялось;
3. реально выполним round-trip (генерация/реверс/генерация), не без проблем конечно, но другими средствами я вообще не смог добиться на своём шарпе;
Минусы:
1. плохо работает с женериками, генерация возможна, реверс - нет, он их не видит;
2. некоторая тормознутость;
3. сложно с масштабными диаграммами, но может просто у меня монитор  маленький
Проектирование
Планирование и отслеживание:
IBM Rational Requisite Pro
IBM Rational/Telelogic DOORS
Borland Caliber RM
Sybase PowerDesigner
...