The PowerDesigner Requirements Model (RQM) is a powerful tool for managing requirements, or anything else you want to keep track of that has a hierarchical structure but doesn’t fit well with any of the other PowerDesigner Models.
For example, take a look at a sample RQM supplied by SAP, in the WebLibrary project, which is usually installed at “C:\Program Files\SAP\PowerDesigner 16\Examples\WebLibrary\WebLibrary.prj“. Here we can see a simple hierarchy of Requirements in the Browser:
The same hierarchy is also visible in a Requirements Document view, like this one:
However, when I’m editing a Requirement via the properties dialogue, I can’t see a list of sub-Requirements. That means I have to use the Browser or a Requirements Document View to work on the sub-Requirements. Most of the time, I’d like to work in a spreadsheet-like view, the same as in any other type of model in PowerDesigner, like this list of Columns in a Table:
I can’t access a list of Requirements via the Model menu, so it doesn’t look like I can use my favourite editing approach – or can I?
The answer is that I can work on such a list – with a very simple model extension, I can add a ‘Sub-Requirements’ tab to the Requirement editor, like this one:
Like any other list of objects in PowerDesigner, I can filter this list, edit single entries, edit multiple entries, change the sequence, and create new entries.
So, how is this possible? Simple, I exposed the existing collection of sub-Requirements on the new tab, by creating a new Form in a model extension.
This isn’t the place for detailed instructions for creating an extension, so I’ll limit this to a few pointers for you:
- “Requirement” is a Metaclass
- You can call the Form anything you like
- “Requirements” is a Collection, not an Attribute
There are probably other areas in PowerDesigner where this technique is useful, let me know if you find one.