Book a Demo

Author Topic: Requirement->Use Case->Activity Diagram Trac  (Read 11505 times)

TonyD

  • EA Novice
  • *
  • Posts: 10
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Requirement->Use Case->Activity Diagram Trac
« on: November 13, 2007, 10:54:12 pm »
Hi
I have modeled my requirements (from a requirements spec), have created Use Case diagrams, and have created Activity Diagrams to explore each of the Use Cases.  My question is, how do people handle the many to 1 to many traceability relationships that comes from tracing requirement to activity via the Use Case.

To explain further, I have requirements that say things to the effect of "shall create suppliers", "shall modify suppliers", etc.  I have a Use Case diagram with a "Manage Suppliers" Use Case, and I have a Manage Suppliers Activity diagram that contains activities like Create Supplier, Modify Supplier etc.  Handling traceability via the Use Case loses the information of which Activity satisfies which requirement, so is it acceptable practice to trace directly from requirement to activity?

Thanks,
Tony

Paolo F Cantoni

  • EA Guru
  • *****
  • Posts: 8626
  • Karma: +259/-129
  • Inconsistently correct systems DON'T EXIST!
    • View Profile
Re: Requirement->Use Case->Activity Diagram
« Reply #1 on: November 14, 2007, 02:50:42 am »
You've hit the nail on the head, Tony!

From the activity if you can't transitively locate the exact set of requirements you implement, then you have to do it directly (in addition to the n:1:m mapping).

You could create a small automaton that could follow the links back, provide you with the set of requirements it found from your n::1:m mapping and then create the ones you selected for you...

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

«Midnight»

  • EA Guru
  • *****
  • Posts: 5651
  • Karma: +0/-0
  • That nice Mister Grey
    • View Profile
Re: Requirement->Use Case->Activity Diagram
« Reply #2 on: November 14, 2007, 04:33:56 am »
Ever so right guys.

This also holds true for other means of elaborating use cases: state models, sequence diagrams, or whatever. In fact, we could see the logic presented so far as a specific case of the general n:x:m mapping.

Regardless, so feature support for recognizing and documenting such mappings in EA sounds like a useful feature. While it is not 'core' UML, but it would be nice to the fact that EA already has a level of formal support for requirements beyond that mandated by UML.

Just tossing in my 0.02 CAD (a decidedly unpredictable value of late).

David
No, you can't have it!

HydraKeven

  • EA User
  • **
  • Posts: 20
  • Karma: +0/-0
  • Personal Text!  All my posts are personal text...
    • View Profile
Re: Requirement->Use Case->Activity Diagram
« Reply #3 on: November 19, 2007, 03:37:57 pm »
As a software engineering practice, there are well documented methods for doing this.  The fact that they are ignored by many of these UML CASE tools boggles the mind.  My only explanation is that they see the UML as a means to an end as opposed to a common language tool to help organize a project within a documentation standard.  See my post on Software Engineering Standards IEEE SRS.

You are basically asking for an SRS.  The SRS provides a means for organizing these things.  It is generally up to the document writer to provide forward and back references between the requirements.

However, it "seems" fairly straight forward to automate the links through requirement decomposition and provide the documentation and the appropriate reference links.  Or a dependency diagram for them.

A Traceability Matrix or Dependency Diagram is generally used to view the decomposition of requirements in the SRS.

TonyD

  • EA Novice
  • *
  • Posts: 10
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Requirement->Use Case->Activity Diagram
« Reply #4 on: November 19, 2007, 03:52:42 pm »
Thanks HydraKeven
I am very familiar with SRS's, but am just starting to use UML, so was trying to determine how to handle the traceability issue using the tool, rather than a manual matrix which in my experience is always a pain in the rear to maintain.
My requirements are already in an SRS, but I was hoping to use the tool in place of a document.

HydraKeven

  • EA User
  • **
  • Posts: 20
  • Karma: +0/-0
  • Personal Text!  All my posts are personal text...
    • View Profile
Re: Requirement->Use Case->Activity Diagram
« Reply #5 on: November 19, 2007, 04:09:01 pm »
I am sooooo right with you.  Doesn't it seem awkward that they don't implement the modeling system following some kind of documentation standard.  Everything seems mishmashed with all the "models" being thrown together.

I'm working on creating an SRS documentation template, but I'm also concerned with the structural layout within EA.  How do you link "top level" requirements to the Use Case requirements to Feature requirements in EA?

TonyD

  • EA Novice
  • *
  • Posts: 10
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Requirement->Use Case->Activity Diagram
« Reply #6 on: November 19, 2007, 05:48:20 pm »
I've put the requirements in the tool.  I drag the requirement onto the Use Case diagram and create a 'realise' relationship, then delete the requirement from the diagram.  This doesnt delete it from the model so the traceability matrix still shows the relationship.  You can do the same to your 'feature' requirements.

I'm now tracing my requirements to the Use Case AND to the individual Activities within the Use Case.  I also add a trace for the Use Case to the Activity (as this doesnt seem to happen automatically).  I plan on tracing Test Cases back to the activity, which will also give me the link back to Use Case and requirement.  Simple - I think  ;)

HydraKeven

  • EA User
  • **
  • Posts: 20
  • Karma: +0/-0
  • Personal Text!  All my posts are personal text...
    • View Profile
Re: Requirement->Use Case->Activity Diagram
« Reply #7 on: November 20, 2007, 05:40:26 pm »
So, by deleting the req in the tool, you don't keep a requirements aggregation tree?  Do you have a good reason for this?  This would give you a nice visual "trace" representation.

I have been thinking about creating the Req Aggregation tree and linking (by way of "realize", as EA doesn't give you a choice) to the other model elements, one-to-one.  I'm assuming I can use this diagram to specify a document template for the SRS keying off the "realized" items to place them in the various sections of the doc.

I'm not holding my breath, though.

The problems crop up at the class level as there are no Attribute/Method/Instance/Event objects for requirements links.

TonyD

  • EA Novice
  • *
  • Posts: 10
  • Karma: +0/-0
  • I love YaBB 1G - SP1!
    • View Profile
Re: Requirement->Use Case->Activity Diagram
« Reply #8 on: November 20, 2007, 09:47:21 pm »
I still have the 'tree' in the model via the relationship matrix, but I dont need a diagram of it (my project is already cluttered enough).

I think the problem is there are some many different ways of achieving things.  This is a good thing, but as a newbie its difficult to decide on the most appropriate way.  I'm sure I'll do it differently next time around.

KP

  • EA Administrator
  • EA Expert
  • *****
  • Posts: 2919
  • Karma: +55/-3
    • View Profile
Re: Requirement->Use Case->Activity Diagram
« Reply #9 on: November 21, 2007, 01:55:20 pm »
Quote
I have been thinking about creating the Req Aggregation tree and linking (by way of "realize", as EA doesn't give you a choice) to the other model elements, one-to-one.

The connectors offered by the quicklinker are not the only ones you can use, just a list of commonly used ones. If you want to create an aggregation between a requirement and a use case, you may: the aggregation connector is in the "Custom Relationships" toolbox which is opened automatically on opening a Requirements diagram.
The Sparx Team
[email protected]

HydraKeven

  • EA User
  • **
  • Posts: 20
  • Karma: +0/-0
  • Personal Text!  All my posts are personal text...
    • View Profile
Re: Requirement->Use Case->Activity Diagram
« Reply #10 on: November 21, 2007, 03:11:57 pm »
Thanks, KP.  That is nice and helpful.  Documenting this would be nice, also.

I checked out the Relationship Matrix report when I made these connections manually.  I can use "all" or select one type for the matrix.  A good additional feature would be to allow for a subset of selected types.  Maybe even connection types, too.

Even better would be to use the Requirements Model diagram to generate the profile for the Relationship Matrix report based on the elements it contains.  By necessity, each type would be in both the Source and Target types.  For my "requirements" purposes, only aggregate connections are needed, but allowing multiple connection types could also be helpful.

Is there a way to specify this (multiple types) manually by editing a matrix profile or some such?