Rational Rose é uma ferramenta de design de software de Linguagem Unificada de Modelação (UML) orientada a objectos, destinada à modelação visual e construção de componentes de aplicações de software de nível empresarial. Da mesma forma que um diretor teatral bloqueia uma peça, um designer de software usa Rational Rose para criar visualmente (modelar) o framework para uma aplicação bloqueando classes com atores (figuras de pau), usar elementos de caixa (ovais), objetos (retângulos) e mensagens/relacionamentos (setas) em um diagrama seqüencial usando símbolos de arrastar e soltar. Rational Rose documenta o diagrama à medida que ele está sendo construído e depois gera código na escolha do designer de C++, Visual Basic, Java, Oracle8, Corba ou Linguagem de Definição de Dados.