Since the formal release of UML in 1997, a large number of commercial UML modeling CASE tools have appeared. This provides us with a lot of options and requires us to select the correct UML modeling tool to better adapt to our business and software application development needs, do a lot of research to achieve the best ROI. In this article, we will compare the UML modeling capabilities, two-way engineering features, and project lifecycle support of the two CASE tools: Enterprise impact ect (EA) of sparx systems) professional v.3.51 and IBM Rational Rose enterprise v.2002.
Why do we need the UML modeling CASE tool?
Today, system building becomes more and more complex. UML modeling CASE tools provide many benefits for project-related personnel (such as project managers, analysts, designers, architects, and developers. The UML modeling CASE tool allows us to apply standardized object-oriented analysis and design methods and theories, stay away from obscure source code, and make building and design more intuitive, it is easier to understand and modify layers. In large projects, the use of CASE tools is more important. Use the CASE tool:
* With the use case model, business/system analysis can capture business/system requirements.
* The design model made by the designer/architect can clearly express the interaction between objects or subsystems at the same layer of different layers (typical UML diagrams such as class diagrams and interaction diagrams ).
* Developers can quickly transform models into a runable application, find subsets of classes and methods, and understand how they interact.
Models are seen as blueprints and final manuals for building systems. Similarly, modeling is a kind of ability to consider a design expression and understand how it runs at a high level and in an appropriate form.
Out of these motives, the uml case tool and the corresponding methodology provide us with a way to describe the system because the system is too complex to understand the underlying source code, at the same time, it allows us to develop the right software solutions faster and cheaper.
Of course, we should consider the case tool's differences in UML modeling capabilities, project lifecycle support, Bidirectional Engineering, data modeling, performance, price, support, and usability. This article will explore the similarities and differences between Rose and EA in UML modeling, project lifecycle support, and two-way engineering, hoping to help you select the right tool in your project.
UML Modeling Features
The UML standard consists of three parts: Construct blocks (such as objects, classes, messages), and construct relationships (such as associations and generalization) and graphs (such as activity diagrams) between blocks ). The UML profile uses the UML scalability mechanism to extend standard UML symbols, namely, constructor, annotation value and constraints. Both EA professional v.3.51 and Rational Rose v.2002.05 support the eight standard UML diagrams in the nine types of UML 1.4 Diagrams-Use Case Diagrams, class diagrams, sequence diagrams, collaboration diagrams, activity diagrams, and state diagrams, implementation diagram (Component) diagram, deployment diagram, and several UML profiles. if necessary, you can use a collaboration diagram to create an object diagram. The difference only exists in some features supported when creating a UML diagram (table 1) and extending UML profiles.
UML diagram
|
Function |
EA |
Rose |
Use case diagram
|
Establish the boundaries of the descriptive domain |
Yes |
No. However, some work uses text or packages. |
Sequence Collaboration
|
Conversion between a sequence diagram and a collaboration Diagram |
No |
Yes |
Sequence
|
Change the message range |
Yes |
No |
Sequence
|
Display message level Number |
Yes |
No |
Sequence Collaboration
|
Create an object in the browser |
Yes |
No |
Sequence
|
Focus of management controls |
Easy |
Difficult |
All
|
Graph attributes |
Yes |
No |
Table 1. UML modeling comparison between EA and Rose
Enterprise effecect
There is a general UML profile mechanism used to load and run different profiles. Enterprise effecect specifies an XML file in a specific format for UML profiles. In Rational Rose, an additional item needs to be generated. Table 2 shows the availability of UML profiles in EA and Rose.
UML profiles |
EA |
Rose |
Business Process Modeling
|
Support for Eriksson-penker Business Process Modeling Extension |
Use UML activity diagram |
Business Modeling
|
No |
Yes |
Data Modeling
|
Yes |
Yes |
User Experience Modeling
|
Yes |
No |
Web Modeling
|
Yes |
Yes |
XML DTD
|
No |
Yes |
Table 2. UML profile comparison between EA and Rose
Bidirectional Engineering
Two-way engineering includes forward engineering-from model to code and reverse engineering-from code to model. Once the design is complete, the model (design model and data model) information can be used to generate the source code of a specific programming language or the DDL script of the database. When developers Add/modify code or database implementations, the design and data model can be consistent through two-way engineering synchronization code or DDL scripts. Table 3 shows the features of EA and Rose bi- Al engineering.
Language |
EA |
Rose |
Ansi c ++
|
Yes |
Yes |
Visual c ++
|
No |
Yes |
VB6
|
Yes |
Yes |
Java
|
Yes |
Yes |
C #
|
Yes |
No |
VB. NET
|
Yes |
No |
Delphi
|
Yes |
No. |
J2EE/EJB
|
No |
Yes |
CORBA
|
No |
Yes |
Ada83, ada95
|
No |
Yes |
Database |
Yes. A forward project from the data model to the DDL script. Reverse Engineering of ODBC Data Source |
Yes. DB2, Oracle, SQL 92, SQL Server, Sybase |
Com
|
No |
Yes. Only Reverse Engineering |
Web Applications
|
No |
Yes |
Table 3. Bidirectional Engineering of EA and Rose
The source code file of the class generated by EA is placed in the same package. Rational Rose involves more specific projects in VC ++ or VB. Rational Rose can also create classes through the wizard and provide code templates, which can greatly increase the number of source code generation. In addition, both EA and Rose can apply the design pattern. When using EA, you must create your own mode, while rose provides 20 gof design modes in Java.
Project Lifecycle Support
The case tool should support all team members to complete their tasks. EA integrates a large number of functions to support the project lifecycle, while Rose is mainly a modeling tool that can be integrated with other rational or third-party tools, such as requisitepro, test Manager, soda, MS word, MS project to achieve the same goal. Table 4 compares the functions supported by EA and rose in different subjects.
Project subject
|
EA |
Rose |
Business Modeling
|
Yes. use UML profile to Model Business Processes |
Yes. Use the business case model |
Demand management
|
Yes. functional and non-functional requirements; Requirement tracking matrix |
Merge requisitepro |
Analysis and Design
|
Yes UML class diagram and interaction diagram. You can add some prototypes as needed, such as <layer >>,< Use Case implementation> |
Yes The UML class diagram and interaction diagram framework wizard provides a series of templates to construct models. |
Implementation
|
See table 3 Suitable for C ++, VB, C #, and VB. NET Projects |
See table 3 Supports most languages except. net |
Test
|
Yes |
No. Quality Impact ECT provides unit tests, but it requires other rational tools, such as test Manager and robot. |
Version Control
|
Not directly supported. Use control units for future release plans. |
Integrate the corresponding SCC Version Control Application |
Project Management
|
Risk Management Resource allocation Project Budget |
No |
Web Publishing
|
Yes
|
Yes |
Generate Reports
|
Yes |
No. Use soda |
Multi-User collaboration
|
Yes |
Yes |
Table 4 support for project lifecycle by EA and Rose
Conclusion
In general, EA and Rose have similar functions in terms of UML modeling capabilities. Both EA and Rational Rose support eight of the nine types of UML diagrams. From table 1, we can see that EA is more user-friendly than Rose, especially in sequence diagrams. In two-way engineering, rose supports more languages than EA, except C # and VB.. Net (in fact, another rational tool-rational xde. net is.. NET environment ). Table 4 states that EA is a better choice than Rose in terms of project lifecycle support. Although you can purchase other rational tools to help it, most companies do not consider it an acceptable solution when considering cost issues. Of course, this is also an important factor to consider when you need some other specific functions that are not supported by tools or are not supported by third-party tools. In this regard, Rational Rose has gained wider support.
Finally, after a series of comparisons of the same type, is the cost also different? Yes-a big difference! The cost of Rose alone is 28 times that of EA. If you want to compare the project lifecycle support, if you are a rose user, you will have to purchase a complete set of products bound to rational, such as requisite pro, soda, and test Manager. Although additional tools provide richer functions than similar EA tools, the basic functions of EA are sufficient for most of the time. When writing this article, the cost of EA Enterprise Edition (the top version supports SQL back-end) is $179.00 (cost 111.58), while the cost of Rational Rose Enterprise Edition is $5024 (cost 3140 ), the total fee for the entire development kit (rational Developer Suite) is $8976 (cost 5610 ).
This article from: http://www.sawin.cn/doc/SoftMethod/UML/umltools2.htm