Computer Aided Software Engineering tools address the front-end of the software development life cycle starting with requirements analysis, definition, and tracking. Most CASE tools provide one or more methods of program modeling, typically based on either an object-oriented or structured programming paradigm. One of the best CASE tools for the Unified Modeling Language (UML) is Rational Rose, developed by Rational Software, which just happens to be the creator of UML. Rational Software has captured a large share of the UML tool market, and according to IDC's May 1998 report has more market share than the next three vendors (Select, Cayenne, and Platinum) combined.
Rational Rose includes support for C++, Java, Visual Basic, and Ada languages. Some of its other popular features include:
support for UML modeling
component-based development
visual Differencing tool
Corba/IDL generation
Database Schema Generation (DDL code)
MS repository integration
Multiple diagram types including Use Case, Sequence, Collaboration, Class, State, and Component diagrams