rational-rsa

IBM rational software architect: missing "dependency" relationship


I use IBM rational software architect version 8.0.4.

The problem I encounter is:

In a RUP analysis model I create an UML package ("System model"). Then I create an Use Case diagram in the package. From "Use Case" palette I create two package elements in the diagram ("ATM System") and ("Bank System").

Then I try to create a dependency relationship between them, but I can not do it. If I drag a line from ATM System and then I stop at the empty space I get two options ("Create Reference To", "Create Note Attachment To"). But I know that there should be an option "Create Dependency To" and it is not here.

So how to make that option appear or how to make a dependency without that?


Solution

  • I suspect you have used the RUP Analysis model template. Model templates allow you to add capabilities (and constraints) to the model elements that can be used on a diagram. You can fix this in two ways:

    The first is to create a model using the General->Blank Package template which has no constraints. To create the model, go to File->New->UML Model, keep the default of Standard Model then select a General->Blank Package. Then create your packages and the dependency in a Class diagram and copy and paste the package and the dependency into a Use Case diagram.

    The second is to alter the capabilities on your original model. Select the model in the Project Explorer view, and look at the properties View. In the properties View, select the Capabilities section and expand the section entitled UML Element Building Blocks - and make sure UML Dependency is ticked. Now you should be able to add a dependency between packages (you may need to right-button on the diagram and select Filter->Show/Hide Relationships to see it).

    This may seem an odd way to do this - but the different templates are used to constrain what can be added to a diagram, to make sure your diagram is correct (according to a standard you set, or is set for you).

    You may also want to think about what you are trying to represent in your diagram. Showing packages (to represent systems) is not typically used in a Use Case diagram. You may want to look at some of the other diagrams to represent these concepts. If you need to show your ATM and Bank systems - it may be better to represent these as subsystems (we can have a deeper discussion about this but it is a bit off-topic).

    I hope that helps.