Research Report
A Comparison of UML CASE ToolsLouisiana Tech University (Main Campus)
Computer Science 532, Section 001
October 26, 2004
Jeremiah S. Hill
Abstract
Computer Aided Software Engineering (CASE) tools are critical to modern software engineering techniques. A CASE tool is considered to be any software application that assists the software engineering process [1]. The particular focus of this paper is on comparing three of the most popular UML CASE tools used in industry. I first give a brief discussion about the importance of CASE tools to the software engineering process. I then look at three of the leading programs that are on the market: Rational Rose, Borland Together, and Visual Paradigm.
Introduction
Since the early days of software engineering, there has been a search for tools that provide computer assistance to the design process. Initially, the focus was on coding tools like debuggers, compilers, and editors [1]. As the ideas of software engineering progressed, people began to realize the importance of computer assistance in other areas of the design process. In fact, the SEI defines a CASE tool as “a computer-based product aimed at supporting one or more software engineering activities within a software development process” [1]. Modeling and diagramming tools, code repositories, analysis tools, and change management tools are just a few of the tools that software engineers began to rely heavily upon during the design process. When an organization decides to implement a well-designed CASE tool, they almost always see a drastic improvement in productivity [2]. A CASE tool promotes software reuse, improves software quality, reduces maintenance costs, and aids in the management process [1-3]. They often provide an easy and effective way to document the project both visually and textually [3, 5]. As technology evolves, software development will become more complex, while at the same time, development time will become shorter and shorter [3]. CASE tools will become absolutely critical to the development process. Even now, the efficiency and benefits of using CASE tools in the design process is so great that it is almost unheard of to attempt the design process without a variety of CASE tools to assist you.
UML CASE Tools
“The Unified Modeling Language™ (UML™) is the industry-standard language for specifying, visualizing, constructing, and documenting the artifacts of software systems” [4]. UML is essentially a graphical way of modeling a software engineering project. Several authors compare UML to a project “blueprint”. The “blueprint” takes into account the various levels of construction and architecture and displays the information in a way that is understood by all. UML modeling provides a universal method to share information between the different workers in a software engineering project. A UML CASE tool is simply a tool that is used to aid in the modeling and diagramming involved in a UML representation of a system. A UML CASE tool should provide the ability to create any standard UML notation. Most UML CASE tools also allow you to define your own custom notation through drawing and diagramming tools. As we will soon see, almost all of the commercial UML CASE tools provide code generation that allows the user to create UML diagrams and models and then automatically generate actual code from it. Reverse generation may also be included where UML diagrams and models can be constructed directly from the code. Even if this code generation/regeneration is not included, UML CASE tools are extremely important to the software engineer. A good UML CASE tool should equip the user will all the functionality necessary to build a complete UML representation of the system that is being designed. With this visual “blueprint” of the system, the software engineer can check the design against the requirements even before the coding begins [4, 8]. In the following sections, we will look at three of the leading commercial UML CASE tools that are used in industry.
Rational Rose
UML was first created back in the 90’s by Rational’s own Grady Booch, Ivar Jacobson, and James Rumbaugh. It is no surprise then that Rational Rose has become one of the top UML CASE tools used in industry. The Rose software package includes all the basic tools needed to model a system using the UML notation. Use Case, Class, Object, Sequence, Collaboration, Statechart, Activity, Component, and Deployment diagrams are some of the standard UML artifacts that can be created using Rational Rose. Rose also comes with a code generator that takes certain artifacts and generates an actual code framework in Java, C++ or Visual Basic [4]. Reverse generation is also included where actual code can be written and the UML diagrams generated automatically from the code. This can be a really handy feature used to reverse engineer code or merge existing code into a new software engineering project. Another powerful feature of Rational Rose is its scripting engine. This powerful scripting engine can be used to customize the development process. Scripts can be written to handle very specific tasks, and is often used in the testing process of software engineering to test and debug the software [4].
Borland Together
Borland Together has become one of the leading UML CASE tools in industry. It supports the same UML diagrams and basic UML functionality as Rational Rose, but it also includes some unique features of its own. Instead of reverse engineering the code to generate the UML diagrams, Borland Together simply tracks the actual code and links the visual diagrams to represent the system [5]. What the software is doing is “parsing the code and maintaining an internal object model (with instantiated objects to represent every class, operation, local variable and even “for” loop)” [5]. If a change is made textually to the code, it is also made visually. The “togetherness” of the textual and visual representation of the system is the key to fast and accurate development. When changes are made to the code during testing and debugging, it is immediately made to the UML representation [5]. Another feature of Borland Together is its ability to use audits and metrics to ensure the quality and correctness of the code [6]. “Together provides comprehensive unit testing, audits, and metrics that allow teams to find errors early in development. These capabilities directly support improved team productivity, giving
developers the tools they need to more easily and cost-effectively address potential development roadblocks” [6].
Visual Paradigm
Visual Paradigm, a small company from Hong Kong, has recently received tremendous popularity for its easy-to-use UML CASE tool. As with Rational Rose and Borland Together, Visual Paradigm supports the entire UML notation needed for a software engineering project. It also supports code generation and regeneration to convert back and forth from code to UML diagrams. Visual Paradigm also supports several unique features such as automatic diagram layout, textual analysis, and integration with many of the popular IDEs and Microsoft Office [7]. Automatic diagram layout is just a feature that lets you choose an orthogonal or hierarchical layout with the click of a button. The textual analysis feature is an especially proficient tool used for ”identifying candidate classes from the problem statement and identifying the collaborations and responsibilities between objects” [7]. This is really helpful when attempting to uncover the use cases and requirements of a software engineering project. The ability to integrate the UML models with Microsoft Office is also a very handy feature of Visual Paradigm. It allows you to do things like paste a diagram into Microsoft Word and then go back and edit the diagram later directly in the Word document [7].
Conclusions
Rational Rose, Borland Together, and Visual Paradigm all prove to be good UML CASE tools capable of reproducing any standard UML notation that is currently used in software engineering. Each of the tools provides both code generation and regeneration where UML diagrams can be derived from the code and vice versa. Because of the company’s dominant role in UML notation and standards, Rational Rose will always be the primary standard for a UML CASE tool. Its strongest feature is its scripting engine which allows advanced users to completely customize the tool [4]. Borland Together provides a similar functionality with its ability to add audits and metrics to for error-checking and quality assurance. Its unique ability to link the both the visual and textual model of the system helps to keep the actual project code in sync with the UML model [5, 6]. With Visual Paradigm, the emphasis is on ease-of-use. It appears that Visual Paradigm is the most robust of the three UML CASE tools. It allows code generation for a wider variety of languages and is compatible with a number of the popular IDEs, including Borland JBuilder and IBM WSAD [7]. Its ability to perform a textual analysis to gain diagram information along with its automatic diagram layout, makes Visual Paradigm the most accommodating UML CASE tool on the market.
References
[1] SEI White Paper, What is a CASE Environment?, Carnegie Mellon University, 9 August 2004
[2] UMSL White Paper, CASE Tools and the Productivity Paradox, University of Missouri St. Louis, 13 August 2000.
[3] A. Sitiol, CASE Technology, Research and Development, SCOReD 2002.
[4] http://www-306.ibm.com/software/rational/
[5] http://www.haywood-associates.co.uk/together.jsp
[6] http://www.borland.com/together/
[7] http://www.visual-paradigm.com/productinfovpumlce.php
[8] http://www.omg.org/gettingstarted/what_is_uml.htm
- 6 -