Welcome!

PowerBuilder Authors: Chris Pollach, Yeshim Deniz, Jayaram Krishnaswamy, Kevin Benedict, Avi Rosenthal

Related Topics: PowerBuilder

PowerBuilder: Article

PowerDesigner 8.0 Beta

PowerDesigner 8.0 Beta

PowerDesigner is a very good data modeling tool, but with UML gaining acceptance in many IT shops, Sybase has gradually added object modeling features. In November, they started another beta program named Beluga primarily to add Use Case and Sequence diagrams, but also to fix some problems with packages and enhance the overall user interface. As with previous PowerDesigner betas, Beluga is stable and closer to a shipping product than any other beta I've seen. It should be generally available by the end of February 2001.

I'm using PowerDesigner version 8.0.0 build 132, the first beta release for this version. The system is a fairly stock Windows NT 4.0 system on a Pentium II 400MHz computer with 128MB of RAM. As with most modeling tools, you'll find that things go much smoother with lots of memory and a good video system. Installation and setup were fairly straightforward. I was able to take the defaults all the way through the installation process without any surprises. PowerDesigner doesn't overwrite any systems files and coexists well with other applications.

Getting Started
Here's what you'll find in PD8.0 that wasn't in PD7.5:

General and User Interface

  • Shortcuts are handled better when generating between models. In version 7.5, shortcuts in the Conceptual Data Model (CDM) would generate to copies of the tables in the Physical Data Model (PDM).
  • Extended dependencies are a completely new way to document the links between objects residing in different models.
  • Extended attributes can now be used in the PowerDesigner metamodel, allowing users to create their own data fields for modeled objects.
  • All object property sheets can now be completely customized; specifically, the selection of tabs to display can be changed.
  • The Comparison and Merge dialog boxes now allow preview and printing.
  • The new File object adds Windows-supported documentation directly into the model.
  • Most documentation dialog boxes now allow rich text format (RTF). This means bold, italic, and underlines directly in the description and annotation text.

Object-Oriented Model

  • UML 1.3 standard Use Case Diagram.
  • UML 1.3 standard Sequence Diagram.
  • Association classes to link other classes in the Class Diagram. This is a higher level of functionality than any other UML modeling tool.
  • Javadoc is now supported to reverse- engineer Java comments.
  • Language support now includes C++, IDL, CORBA, and Visual Basic. This builds upon the existing Power- Builder, Java, and XML.
  • A new "procedure" stereotype for operations creates stored procedures when generating to a PDM.
  • Object languages now have definition files that can be merged and compared, just like the database definition files in the PDM.
Shortcut Handling
Previous versions of PowerDesigner had trouble maintaining external shortcuts. Shortcuts are a way to keep a single copy of a central object in one model and refer to it from other models. The other models have a link to the original object rather than a copy of the object, meaning much easier maintenance. The problem was when generating (from conceptual to physical, for instance). For example, if I had a CDM named "A" that had an external shortcut to an entity in another CDM named "B", when "A" was generated to a PDM, the resulting table was duplicated in the "A" and "B" PDMs with no shortcut link. This was a headache trying to maintain the copies. Now, this functionality has been much improved, with the proper links being maintained during generation. When "A" is generated to a PDM, a placeholder will be maintained in "A" until the PDM for "B" is generated. Shortcuts in general are more robust, behaving more reliably than before.

Extended Dependencies
This is a completely new ability to document some user-required link between objects that otherwise could not be associated with each other. For instance, in a multi-DBMS environment, you may maintain a single CDM and two or more PDMs. Using the new File object to display an icon of each file on a single diagram, extended dependency lines can be drawn from the CDM to each PDM (see Figure 1).

The stereotype could be used to put the text "generate" on the line. This would document the fact that all associated PDMs need to be generated at the same time. Without extended dependencies, the user would have to maintain a separate set of documentation about the link (see Figure 2).

Extended Attributes
In PD7.5, there was an attempt to capture extended attribute information in the PDM to handle some database idiosyncrasies. Now in version 8, the interface has been opened up, allowing users to create their own extended attributes, stereotypes, and data types. For instance, if a new maintenance release of your favorite DBMS created new support for computed columns, you could use extended attributes to model them without waiting for Sybase to update the definition file for that DBMS. This is done by editing the database definition and adding one or more extended attributes for the column (see Figure 3).

The data definition language (DDL) section for columns would also need to be changed to add references to the new attributes (now viewed as variables in the database generation process). Now, when editing a column that's to be computed, the extended attribute tab can be used to view and set the attributes. For advanced users, this capability will be very useful, giving them precise control over DDL generation.

However, because of the usefulness of this feature, Sybase added it to all models, so entities and classes can also have extended attributes. This could be used to create new stereotypes in a class diagram or to capture additional business information about an entity.

Property Sheet Customization
Property sheets are the basic method to view and edit an object's definition or properties. The dialog box has a standard set of tabs across the top. The customization button at the lower-left corner of all property sheets can be used to change that display, either to reduce the clutter to only the necessary tabs or to display every possible tab for that object (see Figure 4). The settings are object specific, since each object has different tabs on its property sheet. To make the look of the Entity property sheet consistent in all models, you can customize what's considered the standard set of tabs for Entity property sheets.

Rich Text in Descriptions
One long-standing feature of PowerDesigner has been the ability to enter descriptive text about any object in the model. There have always been two primary places, called Description (for basic descriptive content) and Annotation (for workflow or other procedural content). Historically, this area has been limited to text only. Finally, rich text is supported in these and other documentation locations (see Figure 5). Rich text includes such artifacts as font control, tab stops, bullets, bold, italics, underlining, centered and justified paragraphs, and colors. The toolbar now has Windows-standard buttons, and also keyboard shortcuts (Ctrl-B for Bold).

Use Case and Sequence Diagrams
PD7 started Sybase's venture into object-oriented analysis and design by implementing a UML-standard Class diagram. PD8 builds on this by adding fully functional Use Case and Sequence diagrams.

The Use Case diagram is a commonly used tool to define the interfaces from a system to everything outside that system, either users or other systems (see Figure 6).

An actor symbol (typically a stick figure) identifies something as being outside the system and a use case symbol (typically an ellipse) identifies an exposed interface of the system. Lines connecting these symbols define the relationships and interface dependencies. Documentation can be maintained to describe all defined elements of the system and links can be made to objects in other diagrams or models.

While the Class diagram and Use Case diagram typically do not depict any time dependencies, the Sequence diagram does (see Figure 7). The notation is composed of object symbols (boxes with the name of the object inside) with a vertical "timeline" extending below it. Multiple objects are arranged horizontally and relationships (such as "object A makes a call to object B") are shown as lines connecting the vertical object timelines. Time is understood as going down from the object box through the events in sequence, hence the name of the diagram. Of course, the objects displayed in the sequence diagram can be linked with objects in other diagrams.

By combining the three diagrams, a user can model and describe at a fine level of detail the expected behavior of the system. At each appropriate level, code stubs can be attached and written out later. Existing code can be reverse engineered and put in context with design artifacts and other code to achieve a complete system overview. From a completed set of diagrams, code can be generated and compiled as the data interface layer of the application.

Association Classes
There are times when the association between two classes needs to have attributes and operations of its own, so PowerDesigner now implements association classes, which are attached to the association line itself (see Figure 8). The association class can be an interface or a regular class, depending on the needs of the user.

Object Definition Files
This area is important for both the generation of code and the reverse engineering of existing code. With access to the definition files, users can customize the behavior of PowerDesigner unlike any other tool. As with the PDM database definition files, the user can compare and merge definitions, and create brand new definition files. Figure 9 shows a comparison of C++ and PowerBuilder basic data types.

Many users like to customize the look and feel of an application, and in the case of PowerDesigner, the way that it generates OO code. For instance, the default code to generate for a class operation, before you enter any code of your own, is:

{
// TODO : implement
}
This is to let you know that you need to enter code for the operation. The actual text above is stored in the C++ definition file. You can change that text however you wish, in case you don't like to see "TODO" in your generated code. Of course, once you enter your own code, this default text isn't seen anyway.

Summary
This version of PowerDesigner focuses primarily on the object-oriented aspects of the modeling effort, but certainly includes many features and fixes that data modelers will appreciate. The GUI improvements are useful when needed, but unobtrusive otherwise. The Use Case and Sequence diagrams are good additions to the Class diagram, bringing PowerDesigner closer to being a complete "System Modeling" application.

Many of the changes in Beluga, such as allowing multiple types of diagrams in one model, are setting the stage for future versions. The list of UML diagrams is sure to increase and more model types will be coming soon. Of course, none of the new features are lost in the Repository, which was designed to extend with each new enhancement.

I recommend upgrading from previous versions to 8.0 as soon as it's available, especially if you're primarily doing data modeling. That area within PowerDesigner is extremely stable and robust. For someone shopping around for an object-oriented modeling tool, this may meet your needs. Specifically, not all UML models are currently supported and the new diagrams may be a bit rough in the "dot oh" release. If you're new to modeling tools in general, or are using another tool, you'll want to download the free trial and put it through its paces. For the "newbie", PowerDesigner is one of the easiest and most intuitive products, although a bit pricey. As you discover the functionality of the tool and compare it to other tools, you'll realize the value. For the experienced modeler, you won't find a tool in its price range with more customization and tweaking capabilities.

PowerDesigner version 8.0
Sybase Inc.
6475 Christie Avenue
Emeryville, CA 94608
Phone: 800-8SYBASE
Web: www.sybase.com

Test Environment:
Windows NTT 4.0
Pentium II 400MHZ computer with 128MB of RAM

More Stories By Mike Nicewarner

Mike Nicewarner, a database design manager working in Nebraska and president of the DataModel.Org organization, has been designing databases and modeling enterprise data with PowerDesigner since it was SDP and S-Designor.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.