| By Mike Nicewarner | Article Rating: |
|
| February 1, 2001 12:00 AM EST | Reads: |
9,952 |
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.
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:
{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.
// TODO : implement
}
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
Published February 1, 2001 Reads 9,952
Copyright © 2001 SYS-CON Media, Inc. — All Rights Reserved.
Syndicated stories and blog feeds, all rights reserved by the author.
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.
- Why SOA Needs Cloud Computing - Part 1
- Cloud Expo and The End of Tech Recession
- The Transition to Cloud Computing: What Does It Mean For You?
- A Rules Engine Built in PowerBuilder
- Sybase Named “Silver Sponsor” of iPhone Developer Summit
- How PowerBuilder Got Its Groove Back
- The Cloud Has Cross-Border Ambitions
- Ulitzer Names The World's 30 Most Influential Virtualization Bloggers
- Ulitzer Named "New Media" Partner of Greatly Anticipated iStrategy Event in Berlin
- Risks and Enterprise Mobility?
- Steps for Success in Enterprise Mobility?
- Are Mobile Luddites Resisting Mobility?
- The Difference Between Web Hosting and Cloud Computing
- Sybase CTO to Speak at 4th International Cloud Computing Expo
- Why SOA Needs Cloud Computing - Part 1
- Cloud Expo and The End of Tech Recession
- The Transition to Cloud Computing: What Does It Mean For You?
- Five Reasons to Choose a Private Cloud
- Seeding The Cloud: The Future of Data Management
- The Threat Behind the Firewall
- Economy Drives Adoption of Virtual Lab Technology
- Tips for Efficient PaaS Application Design
- A Rules Engine Built in PowerBuilder
- Sybase Named “Silver Sponsor” of iPhone Developer Summit
- Where Are RIA Technologies Headed in 2008?
- PowerBuilder History - How Did It Evolve?
- The Top 250 Players in the Cloud Computing Ecosystem
- Custom Common Dialogs Using SetWindowsHookEx
- DDDW Tips and Tricks
- OLE - Extending the Capabilities of PowerBuilder
- DataWindow.NET How To: Data Entry Form
- Book Excerpt: Sybase Adaptive Server Anywhere
- Sybase ASE 12.5 Performance and Tuning
- Working with SOA & Web Services in PowerBuilder
- Office 2003 Toolbar: A New Look For Your Old PowerBuilder App
- Dynamically Creating DataWindow Objects































