Welcome to Telelogic Product Support
  Home Downloads Knowledgebase Case Tracking Licensing Help Telelogic Passport
Telelogic DOORS (steve huntington)
Decrease font size
Increase font size
Topic Title: Tracing Source Code to Requirements
Topic Summary: Can it be done? Is it worth the effort?
Created On: 26-May-2005 02:59
Status: Post and Reply
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
Quick Reply Quick Reply
Subscribe to this topic Subscribe to this topic
E-mail this topic to someone. E-mail this topic
Bookmark this topic Bookmark this topic
View similar topics View similar topics
View topic in raw text format. Print this topic.
 26-May-2005 02:59
User is offline View Users Profile Print this message


Brant Stoner

Posts: 30
Joined: 2-Aug-2004

I've been thinking about ways to trace our source code up to our SRS requirements. I have an idea of how it might be done, using some (or probably "a whole bunch of") DXL and an extra module. I was just curious if anyone else has tried to accomplish this, and whether or not the effort drove them into a mad, foaming stupor. The idea I have would make the process fairly automated, so our programmers wouldn't have to manually sprinkle comments around in the source code. This is all preliminary, though, and I'd like your guys' take on it before I pour too much more effort into the research and design (actually, I'm just lazy).

Any thoughts on tracing code up to requirements?

Thanks,
Brant
Report this to a Moderator Report this to a Moderator
 16-Jun-2005 16:51
User is offline View Users Profile Print this message


Adam Ninnemann

Posts: 1
Joined: 16-Jun-2005

Brant,

Tracing code to SRS requirements could be a rather daunting task much in part because code is always changing. What I would reccomend is using a tool such as Rational Rose to create class diagrams for your code and then by using Telelogics tool (http://www.telelogic.com/products/doorsers/doors/roselink.cfm) you can link your class diagrams to your SRS documents. And anytime you update your class diagram you have the option of updating the DOORs module with the new changes. If you are looking for lower level traceabilty let me know, I have some ideas for this as well - I would type more but the caffine hasn't started working yet.

Hope this helps.

-Adam

Edited: 16-Jun-2005 at 16:53 by Adam Ninnemann
Report this to a Moderator Report this to a Moderator
 15-Jul-2005 07:05
User is offline View Users Profile Print this message


Greg Lacefield

Posts: 13
Joined: 23-Oct-2003

Telelogic's Tau product will allow you to trace diagrams, classes, almost anything, back to your requirements. But that's for low-level requirements or design tracing.

For source code traceability, we simply have a formal Source Code module whereby each object represents a single source code file, using the name of the file for the Object Text. That's the level to which we trace. Same thing for Test Procedures. Good luck to you if you need finer trace resolution for your code, and don't hesitate to post your solution back here!
Report this to a Moderator Report this to a Moderator
 19-Jul-2005 15:19
User is offline View Users Profile Print this message


Brant Stoner

Posts: 30
Joined: 2-Aug-2004

Thanks for the responses. In the spirit of getting started, we had decided to take Greg's approach....to a slightly more detailed level. Each object is a code function, and filenames are object headers. We had thought about purchasing Tau, but we blew all our money on DOORS, Change/Synergy and CM/Synergy.

My grand plan was to somehow extend Greg's method to use triggers to synchornize the actual source code with the "source code" module. So, at some point in modifying the code or requirements, DOORS would inspect the code and compare it to the "source code module". The plan was to have a DXL script (several, probably....) modify the source code by embedding XML-like comments in function headers noting the object IDs of the requirements the code meets. For example, if I created a link between the "getVoltage()" function object in the "source code" module and some SRS requirement, a script would trigger and that script would go find the "getVoltage" function in the actual source code, and add something like:
quote:

/*
<doors>
<requirements>
<req>SRS-1234</req>
<req>SRS-5678</req>
</requirements>
</doors>
*/

to the function header. The tagging would also make it easier for DOORS to find and modify existing "links", such that if SRS-1234 was deleted, the script could find it in the source code and remove it.

I really don't have a clue if something like this is even remotely feasible, but thought I'd look into it. So far I haven't figured out too much....
Report this to a Moderator Report this to a Moderator
 8-Sep-2008 22:10
User is offline View Users Profile Print this message


Dominique Uhlmann

Posts: 8
Joined: 20-Apr-2005

AT Raytheon, because we were an CMM Level 3 and working on safety critical code, we had to trace from SRS to Design, and thence from Design to Code.
This included Top Level Design (or Class Diagrams in the uML world).

Since the devil is in the detail, this is critically important and some bugs can be prevented this way. However, I would suggest that you trace DOWNWARD from the SRS to the Design and thence down to code. Much easier and less 'creative' or involving activities that might involve fantasy.
Report this to a Moderator Report this to a Moderator
 8-Sep-2008 22:13
User is offline View Users Profile Print this message


Dominique Uhlmann

Posts: 8
Joined: 20-Apr-2005

Since this was posted awhile ago, I'd be interested in what you did.
I'm just importing the SDDS (Software Detailed Design Specs) into DOORS and tracing FROM the SRS down to the SDDS. Since the SDDS is nicely partitioned with the Class Diagram name as the first part of the paragraph, it's relatively simple so long as you remember that it's a many to many trace.
Report this to a Moderator Report this to a Moderator
 8-Sep-2008 22:14
User is offline View Users Profile Print this message


Dominique Uhlmann

Posts: 8
Joined: 20-Apr-2005

Adam I would be interested in getting your thoughts on traces to lower level requirements. For MILSTAR, we had to insert into the header of our source code, all the SRS requirements that traced to that code.

It really wasn't very difficult since we were already tracing from the SRS to the SDS
Report this to a Moderator Report this to a Moderator
 13-Sep-2008 17:40
User is offline View Users Profile Print this message


Shaohua Cheng

Posts: 3
Joined: 5-May-2008

Tracing Source Code to Requirements is helpful for our work.
I think it would be very simple if DOORS could provide the interface to Eclipse,one of the most popular develop environment. Then we can import the code in Eclipse to DOORS just like from word to DOORS.

And now most of my work is to generate traceability bewteen requirement document and design document/code document. So In my mind, DOORS is just a text management tool.
Report this to a Moderator Report this to a Moderator
 13-Sep-2008 19:51
User is offline View Users Profile Print this message


Pekka Mäkinen

Posts: 276
Joined: 18-Mar-2004

There is already (at least) one Eclipse-DOORS integration, look DoorKeeper at

http://www.embeddedplus.com/Em...sDoorKeeperEclipse.php

-------------------------
Pekka.Makinen@softqa.fi
SoftQA Oy -http://www.softqa.fi/
Report this to a Moderator Report this to a Moderator
 16-Sep-2008 12:11
User is offline View Users Profile Print this message


Matthew Thomas

Posts: 15
Joined: 14-Feb-2008

Another proven way, is to use a code-generative UML modelling tool like Telelogic Rhapsody with its requirements' Gateway add-on. That way, all development artefacts are driven from (and therefore traceable from) requirements. See:
http://modeling.telelogic.com/...ody/add-on/gateway.cfm
Report this to a Moderator Report this to a Moderator
Statistics
20925 users are registered to the Telelogic DOORS forum.
There are currently 1 users logged in.
The most users ever online was 15 on 15-Jan-2009 at 16:36.
There are currently 0 guests browsing this forum, which makes a total of 1 users using this forum.
You have posted 0 messages to this forum. 0 overall.

FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.