
- #POWERDESIGNER OBJECT NAME AND VERSION SOFTWARE#
- #POWERDESIGNER OBJECT NAME AND VERSION LICENSE#
Because while they are rather limited in PowerDesigner (no entity types or attribute groups), they are most useful when they provide a single point to change definitions of common attributes. This sort of misses the point of data domains.
Create a unique data domain for each attribute. I dare you to try it with a non-trivial model and then generate a working physical model out of it.
I have seen them, with their entity types derived from the Object supertype and each other, six hierarchical layers deep.
Model the entire Logical Data Model as a hierarchy of subtypes. And when the screams died down, you realized you didn’t have a current backup. And then you pressed “save” automatically, because by now it’s a reflex. Your gorgeous, handcrafted model could use a minor improvement and you used auto-layout. Use auto-layout without a current back-up. It’s not as bad as it was when you were still using version 16.5.0, with repository and projects, but still. Because it hurts when you lose hours of work through a crash. After you work with PowerDesigner for a while, you will learn to save often. The PowerDesigner auto-save function is nonexistent. No more models that are impossible to check out or check in. No more disappearing models, or graphics. Half the bugs I found in PowerDesigner went away when I stopped using projects and moved to workspaces. And projects are buggy, especially when interacting with the repository. Sure, they’re good for having a dependency graph view. Only consider this if you have an agreed-upon folder structure and even then I recommend you don’t do this. While PowerDesigner does this automatically once you start creating mappings, there is no need to refer to models outside the scope of the folder, as this will render the models almost impossible to deploy without heaps of pop-ups asking about other models that you have not yet stored in the right location (and don’t even know where they should be located). If you must do this, make sure it’s an all or nothing proposition: either hide all standard attributes, or none. Unless you use an extension to automate setting/un-setting this and also indicate this visually, it can create no end of trouble when the model shows tables and columns but leaves out certain columns that then get deployed anyway. Hide attributes on entities by hiding them. If this is a risk, appoint a designated datamodeller for such a model. Also, it is much better to split up your models so as to avoid getting in a situation with 10 people working on the same model. As this functionality does not cooperate with replication or extensions that use that, there is little point in it once you evolve beyond the basics. There is only one part of the repository that is actually semi-useful, which is the indication whether your model is out of date versus the repository version. If you must compare models, you can do that from within PowerDesigner with very little effort – without losing parts of your model on the check-in/check-out. #POWERDESIGNER OBJECT NAME AND VERSION SOFTWARE#
The other functionality can be done better, cheaper and with less frustration and bugs by just using standard version control software (TFS, git, etc.). You can buy this from I-Refact or other parties. You are better off spending some money on creating an extension to generate a model export to your own repository. It looks nice, like a venus flytrap, and then it sucks you in and eats you for breakfast. However, if you avoid some practices and adopt others, using PowerDesigner is a breeze.
#POWERDESIGNER OBJECT NAME AND VERSION LICENSE#
The repository is still buggy, projects are a recipe for pain, and let’s not start a discussion on license prices – we’d still be here next year. As many users can testify, the version 16 release has been quite buggy in the beginning, only stabilizing a bit more with 16.5. However, that does not mean the tool is perfect. Many people consider PowerDesigner to be the de facto standard datamodelling tool.