Book a Demo

Author Topic: Relationship Matrix with multiple targets or updated table from SQL query  (Read 5023 times)

TRad

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
I have been trying to make a requirements traceability verification matrix (and other traceability matrices).  From all my searching, it seems this can't be done directly in the EA Relationship Matrix.  (question has been asked and looked at often: https://sparxsystems.com/forums/smf/index.php/topic,30219.msg220720.html#msg220720).  I have written a SQL query to give me what I am looking for, but I have to use this as a fragment in a custom report.  I just want to be able to keep updating this table to view from within the model.  SQL code is below, but I do not know how to get a table in a diagram to use this.  Alternatively, if anyone has figured out how to have multiple targets for a source in a Relationship Matrix, I can make that work.

This is what shows up from code below (in a table, but I don't know how to get that to show up on this post):

| Requirement ID  | Requirement Text | Verification Method | Test Level | Test Case | Test Responsibility | Test Verdict |
|        001              |  The system shall. |   Inspection             | Bench      | Sample TC|   Someone             | pass           |


Code: [Select]
SELECT ReqID.Value AS ReqID, ReqText.Notes AS ReqText, ReqVfy.Value AS ReqVfy, TestLevel.Value AS TestLevel, TestCase.Name AS TestCase, TestResponsibility.Value AS TestResponsibility, TestVerdict.Value AS TestVerdict
FROM (((((t_objectproperties AS ReqVfy
INNER JOIN (t_objectproperties AS ReqText
INNER JOIN (t_object AS [ReqPackage(RWPResp)]
INNER JOIN t_objectproperties AS ReqID ON [ReqPackage(RWPResp)].Object_ID = ReqID.Object_ID) ON ReqText.Object_ID = [ReqPackage(RWPResp)].Object_ID) ON ReqVfy.Object_ID = [ReqPackage(RWPResp)].Object_ID)
INNER JOIN t_connector AS ReqTestCnctr ON [ReqPackage(RWPResp)].Object_ID = ReqTestCnctr.End_Object_ID)
INNER JOIN t_object AS TestCase ON ReqTestCnctr.Start_Object_ID = TestCase.Object_ID)
INNER JOIN t_objectproperties AS TestLevel ON TestCase.Object_ID = TestLevel.Object_ID)
INNER JOIN t_objectproperties AS TestResponsibility ON TestCase.Object_ID = TestResponsibility.Object_ID)
INNER JOIN t_objectproperties AS TestVerdict ON TestCase.Object_ID = TestVerdict.Object_ID
WHERE ((([ReqPackage(RWPResp)].Package_ID)=104) AND (([ReqPackage(RWPResp)].Object_Type)="Requirement") AND ((ReqID.Property)="id") AND ((ReqText.Property)="text") AND ((ReqVfy.Property)="verifyMethod") AND ((ReqTestCnctr.Stereotype)="verify") AND ((TestLevel.Property)="Test_Level") AND ((TestResponsibility.Property)="Test_Responsibility") AND ((TestVerdict.Property)="Verdict"));

TIA for taking a look.

TRad

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Maybe this was too obvious for everyone else so no answers :-X.  Phoned a friend and found the answer in ModelView element.  Whew! :)