Compare 3 UML Modeling Tools
Introduction
The Unified Modeling Language (UML) is a visual language used for constructing, specifying and documenting artifacts of software-intensive systems (Baar, 32; Gollola & Cris, 46). Software designs that are difficult to describe in text alone can be conveyed through diagrams using UML. The modeling provides the benefits of validation, clear communication and visualization (Hiremath 447; Huang, 68). Examples of UML modeling case tools include ArgoUML, Astah, casecomplete, Artisan Studio among many others. We should use UML case modeling tools because of the following reasons; UML is the most commonly standard notation for software design and many people designers are familiar with its usage (Jezequel, Heinrich & Stephen, 45). The models are also portable and can be saved in the standard XML Metadata Interchange (XMI) format which can be read by different UML tools. UML is also flexible in that one can tailor it’s to specific needs using stereotypes and profiles. There are also several tool supports in the market including plug-ins to some popular Integrated Development Environments (IDEs) (Tan, Lun & Yong, 1056). The tools can generate codes, mine requirements, apply design patterns and perform impact analysis among other functions. This research paper compares three UML modeling tools IE: Rational Rose, Magic Draw and Visio.
1. Rational Rose
This software was designed by IBM. It is used to produce visual models of software databases, architectures, reusable assets and application requirements. It can also be used to formulate management-level communications (Baar, 32). It has several product editions such as Rational Rose (RR) developer for Java, RR Technical Developer, RR developer for visual studio, RR enterprise among many others. I will analyze the RR Enterprise in this case.
2. Magic Draw
Magic Draw was developed by No Magic and it performs functions similar to Rational Rose.
3. Visio
Visio was first produced in 1992 and later acquired by Microsoft in 2000. It is part of the Microsoft Office Suite and performs functions almost similar to Rational Rose and Visio.
Tables comparing the 3 products
Discussion if the products offer round trip engineering features
- Rational Rose
It offers round-trip engineering features which enable it to synchronize two or more related software artifacts such as models, source codes, source code, configuration files and other documents (Lemke, 98). The Rational Rose Visual C++ has the Round-trip feature as a main feature. Other features include reverse engineering, code generation and component assignment tool. The round-trip engineering features in Rational Rose are especially suited for data analysts who also benefit from comprehensive database support for object-relational mapping.
- Magic Draw
Magic Draw has one of the best code engineering mechanisms among the UML softwares. The mechanism comes with full round-trip engineering suited for java, C#, C++, COBRA IDL and CL (MSIL) programming languages (Gollola & Cris, 46). It also has a DDL generation, database schema modeling as well as reverse engineering facilities.
- Visio
Allows users to perform round-trip on software with the UML model diagram as well as on databases with the OMR Source Model Diagrams and ER
Other special features of the three softwares
- Rational Rose
The Rational Rose has a simple and friendly GUI whereby if one clicks on the tools button s/he is able to see the possible programming languages that a software designer can use.
- Magic Draw
Magic Draw provides intuitive controls in a well designed Graphic User Interphase (GUI) which allows the users to model having spent very little time learning about its controls.
- Visio
Visio has the ability to link diagrams to dynamic data and make complex data very easy to understand at a glance
Survey
Some of the questions that can be asked to investigate the features and usability of the three UML softwares include
- Have you learnt UML?
- How much programming experience do you have?
- What programming languages do use primarily when working from UML specifications?
- Have you programmed using UML diagrams?
- How would you rate the importance of association between implementation and design?
- Not important
- Somewhat important
- Important
- Very important
- Extremely important
- What methods do you find favorable to use to maintain association between UML designs and their implementation?
- Manually review and update the model
- Using round-trip engineering technique
- No special effort spent on maintaining correspondence
- Reverse engineer the implementation code
- How would you rate the degree of completeness of the given UML designs in describing the systems that are to be developed
Conclusion
Unified Modeling Language (UML) is a visual language that is used to construct, specify and document artifacts of software-intensive systems. Some of the commonest UML softwares are Rational Rose, Magic Draw and Visio. These softwares have varied features but they also have some similarities especially in the types of programming languages that can be used with the softwares. Rational Rose developed by IBM, Magic Draw by No Magic and Visio currently under Microsoft are used to produce visual models for software databases, reusable assets, architectures and other application requirement. Rational Rose has a distinct feature in that it can be used to formulate management-level communications. The three softwares have BPMN and use case diagrams. Magic Draw and Visio have DSL while only Magic Drwa is able to support UPDM. In terms of capabilities, each of the softwares has a distinct strength. Rational Rose is capable if unifying the project team by providing common UML model notation and execution. Magic Draw is versatile but it is most efficient on any machine running on JVM. Visio is actually a part of the Microsoft office suite and it has capabilities to map IT networks. Rational Rose and Visio can be accessed via a cloud computing platform while Magic Draw cannot be accessed via a cloud platform. Visio is friendlier to the PC while Magic Draw is friendly to the MAC. All three have round-trip engineering. They also support several programming languages such as C++, C+, C#, MSIL, java among others. In all Magic Draw has superior features and is the most suitable UML modeling tool.
References
Neuendorf, Dave. "Review Of MagicDraw UML® 11.5 Professional Edition.." The Journal of Object Technology 5.7 (2006): 115. Print.
Tańska, Halina. "Enterprise Architect And Magic Draw UML — Comparing The Abilities Of Case Tools." Technical Sciences 12.-1 (2009): 181-189. Print.
Baar, Thomas. UML 2004: the unified modeling language : modeling languages and applications ; 7th international conference, Lisbon, Portugal, October 11-15, 2004 : proceedings. Berlin: Springer, 2004. Print.
Gogolla, Martin, and Cris Kobryn. UML 2001: the unified modeling language : modeling languages, concepts, and tools : 4th international conference, Toronto, Canada, October 1-5, 2001 : proceedings. Berlin: Springer, 2001. Print.
Hiremath, H. "Object-oriented Modeling Of Construction Processes By Unified Modeling Language." Automation in Construction 13.4 (2004): 447-468. Print.
Huang, Xuedong D.. "Use Of A Unified Language Model." The Journal of the Acoustical Society of America 121.5 (2007): 2493. Print.
Infanti, Eric R.. Microsoft Visio 2002. Indianapolis, IN: Que, 2002. Print.
Jézéquel, Jean, Heinrich Hussmann, and Stephen Cook. UML 2002--the Unified Modeling Language: model engineering, concepts, and tools : 5th International Conference, Dresden, Germany, September 30-October 4,2002 : proceedings. Berlin: Springer, 2002. Print.
Lemke, Judy. Microsoft Office Visio 2007. Redmond, Wash.: Microsoft Press, 2007. Print.
Quatrani, Terry. Visual modeling with Rational Rose 2002 and UML. Boston: Addison-Wesley, 2003. Print.
Tan, H.B.K., Lun Hao, and Yong Yang. "On Formalization Of The Whole-part Relationship In The Unified Modeling Language." IEEE Transactions on Software Engineering 29.11 (2003): 1054-1055. Print.