Questions and Answers on the RE-Tools

by Sam Supakkul

back to the RE-Tools' Home


Thanks to those who have emailed me these questions. The questions and answers are posted here to benefit others who might be interested. Please feel free to email me any comments or questions to "ssupakkul (at) ieee (dot) org".

  1. Is it possible to create more than one SIG in the same file?
  2. In what situations should I use decomposition relationship?
  3. How can I connect system boundary and a softgoal?

Is it possible to create more than one SIG in the same file?

Yes, you simply use right mouse click on a UML Package or Model. Then under "Add Diagram", select "Softgoal Interdependency Graph" or any diagram you wish to create. Please see this diagram for the screen shot.

Please be aware that if that UML Package or Model already has a diagram, the new elements (e.g. softgoals) you create for the new diagram will be put inside the same UML Package/Model as the elements of the other diagram. If that is not desirable, you could create a new UML Package/Model wherever you like first, then create a new SIG underneath it.

However, having multiple diagrams in the same Package/Model sometimes is useful too. For example, if I want to show a smaller version SIG of an existing SIG to concentrate only on a smaller part of the big SIG, I could create a new SIG in the same Package/Model, then open the existing SIG, select the softgoals and links I want, select Copy, then Paste in the new diagram without having to re-create softgoals and re-type all of the Types and Topics. The new SIG will share the softgoals from the existing SIG. This is a feature of many UML tools, where a model element can have multiple views in different diagrams.

In what situations should I use decomposition relationship?

You would use decomposition relationship to refine/clarify a goal to more specific sub-goals of the same goal type or the same level of abstraction. In the NFR Framework, there are 3 types of softgoals: "NFR softgoal" representing an objective to be achieved, "operationalizing softgoal" representing a solution to achieve an objective where the solution itself becomes an objective to be achieved by more specific operationalizing softgoals, and "claim softgoal" representing an argument for or against another softgoal or link where the claim softgoal itself becomes a goal that can be further supported or countered by other claim softgoals. Decomposition is usually used to refine NFR softgoals or operationalizing softgoals, but not claim softgoals. For example, security NFR softgoal may be AND-decomposed to Confidentiality, Integrity, and Availability NFR softgoals. Please see this security SIG for the AND-decomposition of security NFR softgoal.

Please note that decomposition should decompose a softgoal to the same softgoal type, which means an NFR softgoal should not be decomposed to operationalizing softgoals or vice versa. For example, Confidentiality NFR softgoal should not be decomposed to Authentication, Password, or Biometrics because decomposition is for clarifying a softgoal, not to represent operationalization. To represent operationalization, satisficing contributions are designed for that. For example, Authentication may be linked to Confidentiality NFR softgoal with Make (++) contribution to indicate that Authentication is a very good solution for the Confidentiality security objective. Because Authentication is a high level abstract solution, we can further represent more specific solutions, such as Password (+), CardKey (+), and Biometrics (++) as shown in this security SIG. Please note that, in this case, I would not use OR-decomposition to decompose Authentication to Password, CardKey, and Biometrics because they are at different level of abstraction (Authentication being an abstract solution while Password, CardKey, and Biometrics being more specific/concrete solutions). Another benefit of using satisficing contributions (e.g. ++/+) instead of OR-decomposition is that we can reason more about the operationalization (e.g. Biometrics is a better authentication than Password with ++ and + respectively) while an OR-decomposition could not annotate how well a specific solution is relative to others. On the other hand, decomposition is suitable to for refining a solution to more detailed items of the solution. For example, Access Control can be AND-decomposed to Identification, Authentication, and Authorization because the 3 sub-tasks are details of the solution, not more specific solutions. This aspect of decomposition is a little subtle, please feel to discuss further if you have any comments or questions.

Some more examples are available here.

How can I connect system boundary and a softgoal? I tried to use topic reference to connect system boundary and a softgoal with no success.

Unfortunately, StarUML does not model the system boundary with a model element as required by the UML standard (I believe the UML standard requires system boundary to be a Classifier). In StarUML, the system boundary seems to be just a graphic element that we have no access from the modeling and model extension standpoint. This issue is likely to remain until StarUML conforms to the UML standard. In the meantime, a work around perhaps is to create an NFR softgoal next to the system boundary and manually enter "System" in the softgoal Topic (without a link though unfortunately).

 


© 2009 Sam Supakkul
Updated Sep. 18, 2009