Sparx Systems Forum

Enterprise Architect => General Board => Topic started by: Kamal Hammoutene on August 23, 2010, 06:20:28 pm

Title: Indirect traceability made more visible
Post by: Kamal Hammoutene on August 23, 2010, 06:20:28 pm
Hi all,

I did quite extensive searches in the EA documentation but I didn't find any solution to my problem:

Imagine that I have a High-level user requirement (HLUR) which is realised by a Use Case (UC1), which is itself implemented by a Use Case (UC2). The dependency can be as deep as needed.

Is it possible to know directly that if I change HLUR, I might have to change UC2?

I know that the hierarchy window is giving this information the user has to open each dependent object until he finds the impact object he is interested in.

I have also checked the reports (implementation and dependency) but they didn't contain what I am looking for.

Thanks for your help
Title: Re: Indirect traceability made more visible
Post by: Geert Bellekens on August 23, 2010, 06:34:05 pm
Kamal,

I don't think EA will be able to give you that information out of the box, but here's what I would try (in this order):

- Look at 3th party addins to see if any of those offer this
- Write an SQL search that gives you the information you need
- Write an addin that shows you this information

Geert
Title: Re: Indirect traceability made more visible
Post by: Kamal Hammoutene on August 23, 2010, 10:16:27 pm
Quote
Kamal,

I don't think EA will be able to give you that information out of the box, but here's what I would try (in this order):

- Look at 3th party addins to see if any of those offer this
- Write an SQL search that gives you the information you need
- Write an addin that shows you this information

Geert

How difficult would it be to write a SQL query?
Title: Re: Indirect traceability made more visible
Post by: Geert Bellekens on August 23, 2010, 10:50:44 pm
Can't be that hard.
I guess it would go something like

Code: [Select]
select uc2.ea_guid as CLASSGUID,uc2.object_type as CLASSTYPE,uc2.name as UC2_Name, uc1.Name as UC1_Name, hlur.Name as HLUR_Name
from t_object uc2
join t_connector c1 on  c1.Start_Object_ID = uc2.Object_ID
join t_object uc1 on c1.End_Object_ID = uc1.Object_ID and uc1.Object_Type = 'UseCase'
join t_connector c2 on c2.Start_Object_ID = uc1.Object_ID
join t_object hlur on c2.End_Object_ID = hlur.Object_ID
where hlur.Name like '<Search Term>'
and uc2.Object_Type = 'UseCase'

If you work with .eap files you'll have to add some brackets around the joins (MS Access syntax  ::))
You can use wildcardcharacters either in the search box (* for Access, % for "real" databases) or in the where clause as you seem fit. EA will replace <Search Term> with whatever you type in the search box.

Geert