Database modeling tools: detailed tutorial on powerdesigner and Rose

Source: Internet
Author: User

Http://tech.it168.com/a2009/0115/263/000000263185.shtml

I. Their origins


As the world's two most famous case tools, Rational Rose and powerdesigner are well known. Rose was the fist product of rational, the world's largest CASE tool provider at that time. The UML modeling language was invented by three giants booch, Rumbaugh and jacbson of rational. Later, rational was acquired by IBM, therefore, Rose is born from a famous family and married to a Hao family. Powerdesigner also has a interesting history. The author Wang Xiaoyu is a Chinese, with SDP software in France.
When the company was working, it was not possible to find a useful CASE tool, so it was just as free to launch it. After AMCs * designor came out, it was a hit, I sold a "Paris paper expensive" in France, and then the SDP was acquired by powersoft. In the same year, Sybase, the big yellow bird, eats the powersoft, so powerdesigner is also amazing, starlight.

However, the two took a very different star route. When Rose came out, it took UML object-oriented modeling and then developed to database modeling, while powerdesigner did the opposite, first, it was a pure database modeling tool. Later, it moved into object-oriented modeling, business logic modeling, and demand analysis modeling, and eventually became the star of "Three Views.

Due to the influence of the first impression, rose often gives the impression that it is only an object-oriented analysis and design tool, while powerdesigner still gives the impression on database modeling tools. In fact, the current rose and powerdesigner can both perform database modeling or object-oriented modeling, but there is only a strong emphasis on support.

Ii. Differences between the two

Although rose and powerdesigner have become the stars of high concentration in the field of project analysis and design, but for the specific tool used, different companies, different people, out of cost, habits or personal preferences often have their own judgment. Because I have been asked to use rose or powerdesigner for analysis and design work in different companies, I have a more detailed experience for them.

Rose adopts a big, comprehensive, and all-in-one strategy. Instead of clearly separating database design and object-oriented design, rose only distinguishes different directories. Powerdesigner divides the two into independent model files, corresponding to different design environments, and establishes associations between models through conversion tools between models. Even for the database design model, powerdesigner also needs to select a specific database product and its version, so that the work environment is sensitive to the specific database. So Rose is big, while powerdesigner is more precise and specific. Rose's reverse engineering, document output, code generation, and other input and output functions are hard and monotonous, powerdesigner is in reverse engineering, in particular, Document Output and code generation provide fine-grained control, giving users a high degree of freedom.

There are many improvements to the Operation Experience of rose, which tends to make users use the mouse
To operate the keyboard
Operation Support is not good. Powerdesigner has a high score in user experience, and most operations can be completed through the keyboard. With full familiarity with its shortcut keys, powerdesigner will give the designer a feeling of going through the cloud, user interaction is more user-friendly. In addition, rose often occupies more resources and is prone to abnormal exit. powerdesigner is lightweight and stable. Therefore, my personal experience for both is "Rose clumsy, PD lisuo ". The following describes a series of differences between Rose and powerdesigner. We believe that you can use these comparisons to get a glimpse of the difference and provide a reference when choosing tools.

Iii. Differences between model organization and hierarchy

1. The model organization Rose puts the database model and the object model together. During data table model design, there is no characteristic. Powerdesigner separates the two. The hierarchical relationship between the two models is: workspace> model type> language/database model> package> folder> digoal> design element. When creating a model file, you will be asked to select the model type. After selecting the model type, you can also select the language and version-related sub-categories under the model type. Different design models correspond to different stages of software engineering. For example, the business model and Demand Model belong to the project demand stage, while the object model belongs to the outline and detailed design stage, and the database model belongs to the detailed design stage. Although there is a strong internal relationship between them, the difference is also obvious. To put the two together, it is like putting the monkey and the orangutan in the same cage, in order to take into account and balance the two, the result is that neither of them is well supported.

Figure 1 new model window (PD)

Figure 2 new model window (Rose)

Powerdesinger supports database modeling and object-oriented model conversion through model conversion tools. However, rose cannot convert objects to tables or tables to objects.




2. The workspace powerdesigner has the concept of a workspace. Multiple design model files can be opened in a workspace at the same time, while rose can only open one design file at the same time, if you need to refer to other Rose design models, you need to turn off the existing models repeatedly and open the reference model, which seems to be relatively inefficient in design. The difference between the two is similar to the difference between eclipse and JBuilder. eclipse can open multiple projects at the same time, while JBuilder can only open one project at the same time.

3. The design interface powerdesigner's design interface can be moved up and down, while rose can only move to the right, down, in addition. Powerdesigner can zoom in the model element multiple times, while rose can only zoom in to a normal multiple. However, the overview tool of Rose allows users to quickly locate specific areas in the design area, it is a bit similar to the small map commonly used in the game interface, which is quite good;

Figure 3 Overview tool (Rose)

In powerdesigner, you can use the F8 shortcut to view the digoal overview chart, but you have to zoom in to locate the Location Area.

4. Support for models and languages

Strength and breadth of support for the design model

Powerdesigner's support for object model and database modeling is almost the same. In addition, it also supports analysis and design of conceptual model, business model, demand model, XML model, information flow model, and free model. However, the support for the following models is relatively Elementary, and in actual applications, these models are rarely used. The highlight of powerdesigner is the design of database modeling and object models.

For database models, powerdesigner supports more than 20 types of databases. It also provides separate support for different versions of the same database to provide database and version-related designs when designing database models. For object-oriented models, powerdesigner supports 11 mainstream languages and provides separate support for Java 5.0.

Rose is basically an object model design tool with rough support for database models. embedded products only support Oracle 8 databases, the support for other database designs must be obtained by installing plug-ins and the physical storage of the database
Parameters and other fine-grained Content support rough. Rose's object model mainly supports Java, Vc, and VB.

Java support

Rose provides better support for the Java language, not only for JDK of different versions (but rose 2003 does not support JDK 5.0 ), it also provides embedded support for specific Java products and design patterns (such as EJB, CORBA, Servlet, and gof), which are directly reflected in the Rose main menu. Because of this, the heavy historical burden on Rose, such as language-level things like EJB and CORBA, is easy to change and constantly updated, when the status and impact of these products have been reduced, it is a challenge for designers to give up and ensure version compatibility.

Powerdesigner only supports language-level Object Design and does not involve specific products within the language. Secondly, because its design work area is related to the specific model type and language classification, rather than directly providing support in the main menu, powerdesigner is more calm during the upgrade.

This is also the reason why powerdesigner can be upgraded at a rate of one version every year, and Rose has been put into the market for the new version after version 2003. Otherwise, it will take the financial resources of IBM, R & D capabilities will not respond slowly to the market.

5. Comparison of Input and Output Functions

Reverse Engineering

From the reverse engineering function of converting program code to design model, Rose is more like an IDE, which performs deep semantic check on program code that requires reverse engineering operations, if a class other than the class library is referenced by the program code, the reverse engineering will fail, and the window will remain unresponsive for a long time before the report fails.

Powerdesigner only performs a simple syntax check on the program code that requires reverse engineering. This simple syntax check does not involve packages and associations between classes. It only checks whether the class name matches the class file name, check whether the syntactic content such as "}" is missing. Even if an error exists, powerdesigner allows you to ignore the error and continue reverse engineering operations. This Loose Restriction brings great convenience.

Figure 4 reverse engineering failure selection (PD)

After the error is ignored, powerdesigner tries its best to fix the error. For example, if the corresponding "}" is missing in the code, it will be filled in. The class name and file name are inconsistent, and the class file name will be ignored to keep the class name unchanged.

Rose has been promoting the idea of two-way communication between IDE and Design Engineering: After completing the Model Design in rose, it exports the code used by IDE. After the IDE code is adjusted, it reverse engineering to Rose. The concept is beautiful and attractive, but in implementation, few development teams often do this. Generally, the CASE tool is only used in the analysis and design phase, and even a large proportion of designers only use it as a drawing tool.

After entering the coding development stage, a large number of classes and methods not involved in the design will be added. if you reverse these non-skeleton things to the case tool, instead, it will make the original clear design confused. Therefore, even if the original analysis model needs to be adjusted during encoding, the design model is usually manually adjusted instead of being synchronized through reverse engineering. After all, the analysis design is skeleton-oriented, encoding is flesh-and-blood, and the two have different attributes. If you really need frequent code and UML conversion, it is best to use a tool similar to together, which is embedded into the IDE to make code and model conversion convenient and convenient.

Document export Function

Powerdesigner provides fine-grained control over document export. You can not only set content items contained in the document, but also set the format of content items. For example, whether the exported table structure includes items such as name, data type, and remarks, the width proportion, color, and font size of these items in the table column are different.

Powerdesinger 12.0 also adds a milti-model report model that integrates and exports multi-model documents. It allows you to generate a unified document using multiple models as input to separate model design by stages, the purpose of unified integration of documents.

Since the export settings of the powerdesigner document are very fine, it is not easy to set a document export mode. In view of this, powerdesinger provides three common export templates, you can also define your own templates. Templates can be used to quickly export the design model documents.

Rose does not have the concept of an export template, and cannot set export items and formats. You can only publish model documents in the built-in mode of Rose.

Code Export

When exporting the code of the design model, powerdesigner provides fine-grained control, not only on the object level, but also on the code level (for example, whether to generate the code for the field remarks, the foreign key code is declared in the table body Code or in the external Declaration of the table body), and Rose does not provide code export control, and can only export the code in the way it is set in the system.

Figure 5 database model export settings (PD)

Generate Test Data

Powerdesigner can generate a batch of test data for a data table, and you can also create rules for generating test data. This function facilitates the development and testing of the initial project. Rose does not provide similar functions.

 


Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.