Thread: [Doxygen-develop] Feature request/discussion: Trace to requirements
Brought to you by:
dimitri
From: Greg S. <gre...@ya...> - 2007-09-07 03:56:46
|
Hello. I was thinking about creating a tool which would add traceability from code and doxygen pages to "requirements". Requirements traceability analysis (in my professional experience) seems to be a major gap in existing tools out there today. Basically, I'm thinking of adding two tags: @traceTo (output) and @traceFrom (input/source). Perhaps more future advanced requirements would define layers/groups of traces (from Software Designs, Software Requirments, System Requirements, etc). In general, I think this could create: 1) Hyperlinks to source requirements in a page 2) Pages of requirements analysis, specifically: Trace matrix, Code that has no requirements, Code that has no output, etc. I'm still working out how to interface with requirements databases / where the requirements would be stored. But before I started any more in depth research, I figured I would post a query to this mailing list and see if you have either a) thought of this before / started implementing down this road or b) know of others that have. Greg |
From: Randall, L. <l-r...@ti...> - 2007-09-07 15:46:35
|
If you are trying to meet CMMI, you actually need BI-DIRECTIONAL traceability to both requirements and to test cases. (It would be interesting to know if anyone has done this in code.) We could use aliases in code, but that does not address the issue of how one traces from the test case(s), through the code, through the detailed software requirement(s), through the functional requirement, to the conceptual or marketing requirement -- AND the reverse. The solution we implemented is a traceability matrix. Regards,=20 Larry Randall -----Original Message----- From: dox...@li... [mailto:dox...@li...] On Behalf Of Greg Stern Sent: Thursday, September 06, 2007 22:44 To: dox...@li... Subject: [Doxygen-develop] Feature request/discussion: Trace to requirements Hello. I was thinking about creating a tool which would add traceability from code=20 and doxygen pages to "requirements". Requirements traceability analysis (in=20 my professional experience) seems to be a major gap in existing tools out=20 there today. Basically, I'm thinking of adding two tags: @traceTo (output) and @traceFrom (input/source). Perhaps more future advanced=20 requirements would define layers/groups of traces (from Software Designs,=20 Software Requirments, System Requirements, etc). In general, I think this could create: 1) Hyperlinks to source requirements in a page 2) Pages of requirements analysis, specifically: Trace matrix, Code that has=20 no requirements, Code that has no output, etc. I'm still working out how to interface with requirements databases / where the=20 requirements would be stored. But before I started any more in depth=20 research, I figured I would post a query to this mailing list and see if you=20 have either a) thought of this before / started implementing down this road=20 or b) know of others that have. Greg ------------------------------------------------------------------------ - This SF.net email is sponsored by: Splunk Inc. Still grepping through log files to find problems? Stop. Now Search log events and configuration files using AJAX and a browser. Download your FREE copy of Splunk now >> http://get.splunk.com/ _______________________________________________ Doxygen-develop mailing list Dox...@li... https://lists.sourceforge.net/lists/listinfo/doxygen-develop |
From: Randall, L. <l-r...@ti...> - 2007-09-07 15:59:51
|
Well, I "fat fingered" send instead of save... I was going to say that test cases are constantly added, and software requirements may trace to different code in different release streams. =20 Perhaps, rather than trying to maintain a set of "traceability links" in code, we could maintain a unique ID for each "set" of code (i.e., function, feature, API,.....). We could then automate traceability linkages in a database. Other ideas ???? Regards,=20 Larry=20 |
From: Greg S. <gre...@gm...> - 2007-09-14 03:49:32
|
> Larry and others, > > What you stated below brings me to my next / parallel project idea > I have been thinking about. Managing requirements and traceability > is a difficult thing when you get to the concept of platforms, > multiple products which may use the platform to do slightly > different things (and at some point branch off, etc). > > Really what you need is your requirements "branching" and your code > "branching" need to be in sync. The other end of the project I have > been considering is a web-based requirements management system > which would handle this, amongst other things. > > But back to the Doxygen point in hand; at some point, I think you > have to specify for each branch, a code or groups of code root > requirements. Either you do that in the requirements/design > documents or you do it in the code. I think it is better for the > code to know about the requirements rather than the requirements to > "know" about the code. > > However, the "set of code" brings me to the next point I have been > thinking about. Generally when you trace from requirements to code, > you often go through design (software design doc). In my previous > company, we were writing our SDDs in Doxygen and at the end of a > SDD we would list the groups of code that implemented the design. > > So to generalize this, I think @defgroup should be able to trace to > requirements, which means every class in that group will trace to > the requirements that the group traces to. (Which is also one way > to manage what you were stating, then you only have to change the > groups requirement tracing, rather than each class). > > This also brings me to another point: tracing from requirements -> > design -> code -> test. Doxygen can clearly play a strong role in > the code -> test (at least some tests) and I believe naturally > design -> code. What is missing is the requirements -> design or > requirements -> code and knowledge of design -> code. Some options/ > ideas I have been thinking about; one is to add an option to @page > to stated that the page is an SDD and if a class description > references the SDD than it could auto link to the SDD (and create > the trace). Or you could require a special command to trace. > > My next step is to capture all of these ideas down into stories/ > requirements and to start researching the doxygen implementation to > investigate feasibility. > > Let me know if anyone is interested in these project ideas. I > always appreciate a good discussion and viewpoints (and code). > > Greg > > On Sep 7, 2007, at 11:59 AM, Randall, Larry wrote: > >> Well, I "fat fingered" send instead of save... >> >> I was going to say that test cases are constantly added, and software >> requirements may trace to different code in different release >> streams. >> >> Perhaps, rather than trying to maintain a set of "traceability >> links" in >> code, we could maintain a unique ID for each "set" of code (i.e., >> function, feature, API,.....). We could then automate traceability >> linkages in a database. >> >> Other ideas ???? >> >> Regards, >> Larry >> > > Greg Stern > gre...@gm... > > > Greg Stern gre...@gm... |