Book a Demo

Author Topic: Relationship Matrix  (Read 4399 times)

Andrew HALS

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Relationship Matrix
« on: September 24, 2012, 10:36:56 pm »
Is there any way of creating links between individual Requirements and the member function of a class so that the association can be seen in a relationship matrix?

Sunshine

  • EA Practitioner
  • ***
  • Posts: 1353
  • Karma: +121/-10
  • Its the results that count
    • View Profile
Re: Relationship Matrix
« Reply #1 on: September 26, 2012, 10:21:40 am »
Out of the box the easiest thing to do is just create a matrix of class versus requirement.
However if you really want to map class operations to requirements I believe you can create a tag value on a class operation that can reference an object such as a requirement. See EA manual on tags for further information. I've haven't tried this so its just a theory mind you.

Here are a few links
Look for RequirementTypes in this link
http://www.sparxsystems.com/enterprise_architect_user_guide/9.3/standard_uml_models/predefinedreferencedata.html

and look for RefGUIDList in this link
http://www.sparxsystems.com/enterprise_architect_user_guide/9.3/standard_uml_models/predefinedtaggedvaluetypes.html
Not sure 100% sure about a matrix but I'm thinking its not possible to do that with tags.

To auto add tags to operations you can write a javascript/vbscript otherwise you'll have to manually add them.

Do let us know how you get on as I'm sure there are other folk wanting to do the same thing.

Hope that helps  :)
« Last Edit: September 26, 2012, 10:24:22 am by phenzell »
Happy to help
:)

Dermot

  • EA Administrator
  • EA User
  • *****
  • Posts: 591
  • Karma: +7/-0
    • View Profile
Re: Relationship Matrix
« Reply #2 on: September 26, 2012, 03:08:17 pm »
Connect to Element Feature does support linking an Element (Requirement) to Class.Operation - see:
http://www.sparxsystems.com/enterprise_architect_user_guide/9.3/modeling_basics/connect_to_element_feature.html
However, the relationship matrix will only support creation/viewing of Element to Element connectors.

Andrew HALS

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Relationship Matrix
« Reply #3 on: September 27, 2012, 12:49:31 am »
:) Thanks for your help.
I tried using the tagged values approach suggested by Sunshine. I like the easiness of setting the values, but there doesn't seem to be a way to display the values in the Relationship Matrix. You can create a document template that will display the relationships.

I've also looked at the method suggested by Dermot. The links are shown in a Requirements-Class matrix (although the matrix doesn't show individual class operations) and the Traceability views.

However it seems to require placing the class and requirements on the same diagram, creating links between them and then setting the individual relationship for each connection.  I'm finding this quite labour intensive (its a shame that we don't have the option to invoke the 'Link to Element' operation when we  'Add|Create Link').


Sunshine

  • EA Practitioner
  • ***
  • Posts: 1353
  • Karma: +121/-10
  • Its the results that count
    • View Profile
Re: Relationship Matrix
« Reply #4 on: September 28, 2012, 09:28:11 am »
I've been thinking about this traceability of requirements down to class operation level a bit further. If a matrix of class operations vs requirements is created I can imagine the matrix getting quite big, even to such a point that its incomprehensible. I've seen some pretty big matrices of Classes vs Requirements. So maybe to deal with that you could change the mindset slightly. May be have Requirements vs Class matrix at one level then to track down to at a finer grain the operation via details on the class using the tag method suggested above. Dynamically you could track requirements in the tool by viewing the Matrix then select the class and drill down further. In a document you could probably have some RTF report that shows the matrix and then later in the document under a class/operation details identify requirements per operation.
You could reduce the amount of manual effort in creating the links between the class and requirements by writing a script that creates/deletes links according to the links between operations and requirements.

Just a thought to make it work.  ;)
Happy to help
:)

Andrew HALS

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Relationship Matrix
« Reply #5 on: September 28, 2012, 08:51:07 pm »
Yes,
I see where your coming from in terms of complexity.

I think your idea of using a Requirements - class matrix  to show realization links and then using tagged values to show the associations to class operations is the best compromise. It also has the advantage that I can use the matrix to create the links in the first place.

I'm not sure what you're  trying to describe in your suggestion with the scripts.

I'm looking into writing a script that will iterate through the operations in a class and when it finds a tagged value with an association to a requirement it creates a connection with that element.  Is this what you meant?
 :o

qwerty

  • EA Guru
  • *****
  • Posts: 13584
  • Karma: +397/-301
  • I'm no guru at all
    • View Profile
Re: Relationship Matrix
« Reply #6 on: September 28, 2012, 08:57:18 pm »
FWIW: I only create a use case/requirements matrix. Since requirements originally stem from customer's ideas about the product this is best reflected in such a matrix. As development goes on the traceability stretches from UC via collaborations down to classes and operations. It might be necessary to introduce technical UCs on a lower level to cope with internal requirements (design rules, standards, etc.). But this is kept on a different level.

q.