The User Modeling required for the User Interface Generator for MIH/MDM Server extends the UML tools within RSA. These UML tools already have a lot of funcationality within them so for a user that is new to both User Modeling and the UML tools it can appear a little daughting at first with lots of menu and palette options. Fortunately RSA comes with a couple of features that allow you to simplify what elements appear when creating UML models.
Viewpoints allow you to filter options within the UML editor, for instance remove all of the items from the palette with the exception of the User Model drawer. These can be switched at runtime allowing you to have different viewpoints set up depending on what task you are trying to achieve. To create a new viewpoint for doing User Modeling:
- From the modeling perspective in RSA click on the viewpoints icon:
- Click on "New"
- Give the viewpoint the name "User Modeling"
- By default nothing will be selected. The User Modeling features are not registered with the viewpoints within RSA so by leaving everything deselected you will be able to still access the User Modeling features but have the core UML content filtered out. Click OK.
These steps will show just the core User Modeling features when you use the UML tools within RSA when this viewpoint is selected (using the drop down icon in step 1 above). However, there are two features of the core UML tools that are used by User Modeling but not provided by the User Model palette: creating generalizations (so that you can use inheritance between user objects) and the UML activity support so that you can customize task activities. If you also want to use generalizations or edit task activities you will also need to enable the following entries in your viewpoint (all shown under the "UML Element Build Block" section): UML Action, UML Activity 1 and UML Relationshp 1. The following screenshot shows the palette with these features enabled:
Attribute Type Search Scope
Another area where the UML tools within RSA give users more options than is necessary for doing User Modeling is when searching for the type to set on a user attribute. For instance if you create a new <<user_attribute>> and then click on the "Select Type..." button and search for String you will be offered five options:
Only the top option in this image (String - UMLPrimitiveTypes::String) is valid for a <<user_attribute>> but by default RSA will search to see if there are other type libraries installed but not imported into the current model. To disable this so that only types from the current model (including all of the valid User Modeling types which are imported automatically) are displayed do the following:
- With a <<user_attribute>> selected in the model go to the "Properties" view and click on "Select Type..." on the "General" tab.
- Click on the "Modify Search Scope" button
- Deselect all three options
- Click on OK