Re: Q: Solutions for requirements tracing (to design, code, and test items)



Responding to Vecerina...

In a tiny-team project, I need to put in place a formal
documentation of requirements, and in particular their
traceability to the design&code + their coverage in the
tests.

I have previously been doing this the hard way (spread***
and text editor), but maintenance of traceablility is
time-consuming. I also know of some large enterprise tools
such as the IBM/Rational Requisite Pro.

As you point out, there are lots of tools around for requirements management. Alas, they tend to be pricey because the task is nontrivial.


I would like to find a lightweight solution that I can
easily implement. Requirements management is no big deal
(I am both the customer and the designer), it is really
the traceability and report-generation I'm interested in:
- base management of a list of requirements
(I don't need a full revision-control system, I'd rather
have a lightweight solution and track the document
in my existing revision-control system).

I would suggest use cases for a lightweight approach because they provide a higher granularity for management that is amenable to version control.

- generation of requirement documents: in a printable form
for formal approval -- ideally injecting the contents
into a template I can define myself.

This is the way translation tools like PathMATE handle documentation. They can turn an OOA model solution into, say, MS Word documentation just as easily as they generate 3GL code. And you can provide your own templates. But such tools have even greater impact on the development process than requirements management tools. B-)

- ability to have "requirement tags" (unique and stable
IDs) that I will be able to trace/refer to in the
design/implementation documentation and the code.

If you are doing UML models for the design, most drawing tools allow the application of such tags to model elements fairly painlessly. (And UML itself provides rudimentary mapping of use cases to model elements.) Now that OMG is standardizing tools through MDA, most UML drawing tools offer an XMI or equivalent access to the tool repository to extract the tags and their association with model elements. (In fact, such tags are now a primary mechanism for MDA Marking Models.)

- ability to verify/document the coverage of the
requirements by a system validation test procedure.

If you employ use cases and UML, this becomes fairly standard as described above.

Are you a user of a solution that you would recommend?

If you are using UML and a commercial drawing tool that is MDA-compliant, you should be able to write your own tool to access tags and model elements and format simple documentation without a lot of difficulty. The quality will be limited only by your diligence in provide tags to the model elements.

If you don't use UML or a commercial drawing tool, you will have a problem because you would have to provide more infrastructure. One approach would be to provide comment tags in the 3GL sources and use a perl script to "walk" the sources to provide the documentation. This sounds easier than it actually is because of the need to identify the particular code elements with specific requirements. For example, if you don't embed the source element identity in the comment, your script would have to parse the source itself to determine that identity. There are also issues are organizing the sequence for "walking" the sources.

What approach are you taking in your projects?

PathMATE. B-)


*************
There is nothing wrong with me that could
not be cured by a capful of Drano.

H. S. Lahman
hsl@xxxxxxxxxxxxxxxxx
Pathfinder Solutions -- Put MDA to Work
http://www.pathfindermda.com
blog: http://pathfinderpeople.blogs.com/hslahman
(888)OOA-PATH



.