Я только слышал о программах вроде Rational Rose, предназначенных для построения архитектуры программы, классов и вообще для управления процессом создания ПО.
Кто может посоветовать доступные, хорошие книги на эту тему, чтобы разобраться в этой области? Может быть, есть хорошие статьи на эту тему? Хочется понять, как в теории должен происходить процесс разработки ПО, какие есть общепринятые подходы в этой области, что позволяют делать программы вроде Rational Rose.