Rational Rose on objektorienteeritud UML (Unified Modeling Language) tarkvaraarenduse vahend, mis on mõeldud ettevõtte tasemel tarkvararakenduste visuaalseks modelleerimiseks ja komponentide konstrueerimiseks. Just nagu teatrilavastaja toob lavale moodulitest koosneva teatritüki, nii kasutab tarkvaralooja Rational Rose’i selleks, et visuaalselt luua (modelleerida) rakendusprogrammi raamistikku (plokkskeemi), kus on järjestusdiagrammil klassid näitlejatega (kriipsujukud), juhtumielemendid (ovaalid), objektid (ristkülikud) ja sõnumid/suhted (nooled) ning kasutab selle diagrammi ehitamiseks pukseeritavaid (drag-and-drop) sümboleid.
Rational Rose dokumenteerib diagrammi nii, nagu see on konstrueeritud ning seejärel genereerib koodi projekteerija valitud programmikeeles (C++, Visual Basic, Java, Oracle8, CORBA või Data Definition Language).
Rational Rose’i kaks populaarsemat omadust on võimalus kasutada iteratiivarendust (iterative development) ja pendelprojekteerimist (round-trip engineering). Iteratiivarendus ehk evolutsiooniline arendus tähendab seda, et uusi rakendusi on võimalik luua astmeliselt, nii et ühe iteratsiooni väljund saab järgmise sisendiks (erinevalt jugaarendusest, kus kogu projekt valmib ühekorraga algusest lõpuni, enne kui see antakse kasutajale üle testimiseks). Kui programmeerija hakkab aru saama, kuidas komponendid omavahel suhtlevad, võimaldab Rational Rose läbi viia pendelprojekteerimist, kus minnakse tagasi ja ajakohastatakse mudeli ülejäänud osi nii, et kindlustada koodi kooskõlalisus.
Rational Rose on laiendatav allalaaditavate lisadega (add-in) ja kolmandate osapoolte loodud partnerrakendustega. See toetab COM/DCOM (ActiveX), JavaBeans ja CORBA komponendistandardeid
|