Many modern applications are being developed based on object-oriented principles such as classes, methods, and inheritance. One of the advantages of object orientation is how well it lends itself to a notational representation of these principles. New versions of object-oriented CASE tools are beginning to address new languages such as Java.
CASE tools offer many benefits for developers building large-scale systems.
As spiraling user requirements continue to drive system complexity to new levels, the CASE tools enable us to abstract away from the entanglement of source code, to a level where architecture and design become more apparent and easier to understand and modify. The larger a project, the more important it is to use CASE technology. As developers interact with portions of a system designed by their colleagues, they must quickly seek a subset of classes and methods and assimilate an understanding of how to interface with them. In a similar sense, management must be able, in a timely fashion and from a high level, to look at a representation of a design and understand what's going on. For these reasons, CASE tools coupled with methodologies give us a way of representing systems too complex to comprehend in their underlying source code or schema-based form.