Book a Demo

Author Topic: Usage Tracking  (Read 5617 times)

ttlproject

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Usage Tracking
« on: September 06, 2005, 07:33:40 am »
In EA 4.5 you can track the use of elements, this appears to related to specific elements on diagrams only.  For example a class on a sequence diagram.  Is it possible to actually track the usage of methods, requirements or other items that are not specifically objects placed on a diagram.  What I'm looking to do is track the specific usage of a member function a class down to a sequence diagram.  We can then determine if that function is redundant.  Also requirements can be mapped onto use cases etc.  I'm looking to try and track which requirements are used i.e. met and which are not?

Thanks,
Gavin

thomaskilian

  • Guest
Re: Usage Tracking
« Reply #1 on: September 06, 2005, 09:21:40 am »
Requirements vs. Use Cases can be tracked via the relationship Matrix. Operations are not supported. I remember someone having asked for that, but can't remember who and what the state is.

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Usage Tracking
« Reply #2 on: September 06, 2005, 12:47:14 pm »
Quote
Requirements vs. Use Cases can be tracked via the relationship Matrix. Operations are not supported. I remember someone having asked for that, but can't remember who and what the state is.
This is due to the fact that EA only allows the Relationship matrix to link EA.Elements to EA.Elements (that is, shapes to shapes).

While this is less than UML allows, UML doesn't (as yet) allow linkages to Features (such as operations).

However, with a bit of automation, you could get around this limitation.
1) If you write some automation to create zero or more nested activities under each Class - each activity being named for, and representing, the Class Operation, you can then link the Activities to other EA.Elements, either directly or via the Relationship Matrix
2) I'd also put in a Nesting Relationship between the Activity (client) and Class (supplier) just to be safe - since EA doesn't do this for you (like some other tools).
3) You can then use the Relationship Matrix to create your relationships
4) Make the Class a composite Class so it has its own diagram
5) Drag the Class and use Insert Related elements to show the Operational Activities (for redundant checking, you could label the Nesting relationship with «operational».
6) For each activity, use Insert Related elements to visualise the relationships you created earlier
7) If you are feeling particularly energetic, create relationships between the Class and the Requirements, marking them "derived" and setting the target multiplicity to the count of operations that link to that Requirement.

It sounds like a lot of work, but it is all automatable.  I did something very similar in Rose and it was Very Enlightening.

HTH,
Paolo

BTW,  when you've written the code, post it on the User Group site... ;D
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

ttlproject

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Usage Tracking
« Reply #3 on: September 07, 2005, 01:01:59 am »
Thanks for the info.

We already use the relationship matrices for EA Elements.  The question really came from requirement tracking and auditing, we wanted to see which requirements have been met and which haven't.  

In the EA Model we have added all of our requirements, then to state which one is statisfied by which use case we have dragged requirements and dropped them onto the required use case(s).  

However we have several hundred requirements, a fair amount of use cases, several hundred classes, 30+ components and developers in various locations.  This sometimes can be easily missed out.  For auditing purposes we'd like to track which requirements have been satisfied and which have not.

The same applies for member functions, we'd like to be able to audit the model and determine if a member function isn't used then remove it.

Thanks,
Gavin

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Usage Tracking
« Reply #4 on: September 07, 2005, 01:09:51 am »
Quote
Thanks for the info.

We already use the relationship matrices for EA Elements.  The question really came from requirement tracking and auditing, we wanted to see which requirements have been met and which haven't.  

In the EA Model we have added all of our requirements, then to state which one is satisfied by which use case we have dragged requirements and dropped them onto the required use case(s).  

However we have several hundred requirements, a fair amount of use cases, several hundred classes, 30+ components and developers in various locations.  This sometimes can be easily missed out.  For auditing purposes we'd like to track which requirements have been satisfied and which have not.

The same applies for member functions, we'd like to be able to audit the model and determine if a member function isn't used then remove it.

Thanks,
Gavin
Gavin,
Sorry to labour the point, but why doesn't what I've suggested fit the bill (at least conceptually).  I'll grant that there's some effort involved, but keeping track of that many things is not trivial.  I've found having an automaton do the checking is "the only way to fly...
Apart from trying to "con" you into doing the hard work for me ;D, this was exactly the route I was planning to take to solve this problem, so I'd like to know where it's conceptually invalid.

Paolo
Inconsistently correct systems DON'T EXIST!
... Therefore, aim for consistency; in the expectation of achieving correctness....
-Semantica-
Helsinki Principle Rules!

mikewhit

  • EA User
  • **
  • Posts: 608
  • Karma: +0/-0
  • Accessing ....
    • View Profile
Re: Usage Tracking
« Reply #5 on: September 07, 2005, 01:10:28 am »
I have found that EA does not have good methods for coverage and traceability - needed for requirements and testing, apart from anything else.

If people keep making suggestions and requests, perhaps this will be addressed.

ttlproject

  • EA Novice
  • *
  • Posts: 4
  • Karma: +0/-0
    • View Profile
Re: Usage Tracking
« Reply #6 on: September 07, 2005, 01:17:10 am »
In relation to the automation, i've not done any in EA before, I'm actually looking into it now.

Again thanks for the info i'll let you know how I get on with the automation.

Thanks,
Gavin

sargasso

  • EA Practitioner
  • ***
  • Posts: 1406
  • Karma: +1/-2
  • 10 COMFROM 30; 20 HALT; 30 ONSUB(50,90,10)
    • View Profile
Re: Usage Tracking
« Reply #7 on: September 07, 2005, 04:40:27 pm »
Quote
For auditing purposes we'd like to track which requirements have been satisfied and which have not.

Even at the reqt-usecase realisation level I get problems with partial realisation.  Yes, I know that this is often the result of malformed requirements, but I dont write the requirement.   :-/

Quote
The same applies for member functions, we'd like to be able to audit the model and determine if a member function isn't used then remove it.

IME, removing it from the model isn't as big a problem as removing it from the d**n code!  :'(


bruce
"It is not so expressed, but what of that?
'Twere good you do so much for charity."

Oh I forgot, we aren't doing him are we.