Transcript for:
Requirements Traceability Notes

this video is going to show how we can trace between requirements but also trace from the requirements down to the source code what we're going to see is a number of different levels of requirements so system level requirements tracing down the high level requirements that are going to trace down to low level requirements and from the little comments down to the source code and what we want to ensure is that every low level every high low requirement has been implemented but also we want to be able to look and understand well why is this function here and we want to be able to have this upstream traceability to a lower requirement then up to high level requirements all the way to our system level requirements now a spark important here is that we have a a project and inside that project I have of course on some source code some C code in this particular case and I also have a number of requirements I have the requirements in various different tools but what I'm going to demonstrate today is the requirements in Word and Excel so let's take a look at these documents let's start with our system level requirements and in this particular case these are in word and what we're going to see is we've used styles in order to be able to identify the various information that we want to import so as we can see we have requirement ID requirement text making it very easy to pass this document and import the various requirements that's the first document then we have the high level requirements again these have been done in this case in Word and once again if we take a look at the styles we can see we have a new style and this time it's traceability data and this is giving us the upstream traceability to the appropriate system level requirement the final level of requirements is in Excel and if we take a look here we can see very clearly we have a number of columns with our requirement ID and name for the requirement the body or description and then we have a reference up to what high love requirements these level of requirements satisfy and then finally we have an additional field which I've called reference I could have called that source code mapping because it's in fact is well what functioned needs to be created in order to be able to to satisfy this lower level requirement so let's go and actually import these into our tool here which is TB manager an inside TB manager we can see we've laid out the structure of system level requirements and then the hilar requirements tracing to those system of acquirements low level requirements tracing to the high level comments and out of scope for this video a moment but we have low level tests and high level tests so I could very simply right click on here and import from various different tools in this case we have our requirements in Word and Excel so let's go and find our system level requirement and let's go an import from that document let me just maximize this and what we have is we have two rules the first rule is for requirement ID style the second is the requirement text style and we've got some very simple regular expressions allowing us in order to be able to pass that and find our requirements there we can see we found six requirements so let's import these into TV manager and now we can see we have these six system level requirements well let's go and drag those onto this particular view and there we've got our system of requirements now let's bring in the next level which is the high level requirements so I'm going to go back to this view there we have our hydroponics let's go and import these once again I'm just going to maximize the screen here in this case we have three rules this time the third rule is using the stop traceability beta and a regular raishin in order be able to extract the the reference and if we preview this we're going to be able to see it finds all these high-level quirements and this time we have a link up to the system level requirement so once again let's import this into the tool and it's found the links and so it's nested the appropriate high level requirements underneath the system level requirement let's go back to our relationships view and this time we can see why is this system look highly required here and we can see it traces up to this system the requirement if I clicked on a system level requirement we can see the downstream traceability to a high level requirements now let's go to the low level requirements so once again we'll find the appropriate document this time it's an Excel document let's go and take a look at see how this has been mapped and here we can see we're mapping each column to the requirement number common name by taking this field here which is our source code mapping and we're mapping that to something called a reference so let's go and import this let's do a preview first there we can see we have the reference so this is implying that this is the function that is going to affect lis need to be created and mapped to this lower requirements here okay let's import that and once again we can see it's importing these requirements and then afterwards you can it is nested underneath the appropriate high-level requirement so if we go back to our relationships view we can now see why is this particular low-level point here we have the upstream traceability and also we have that the downstream traceability so finally let's go to the the source code and if I go to the source code view here we can see we have all the various functions and I can perform the the mapping simply by dragging and dropping function onto the low-level requirement if I now go back to my relationships view we can see why is this function here and we can traces very clearly to a lower requirement up to a highly requirement all the way to our system live requirement well that's just one function I could do the same for all the functions but if we go to our requirement grid we're going to be able to see we've actually imported the requirements with that information about what function needs to be mapped to the low level requirement so we can automate this mapping to do so we need to first of all go and export the source description and then we need to export the project we've done so far and we're going to export this into what we call a a TBM spec file it's just an XML file and I'm going to replace that and then what we need to do is we need to run a Python script so I have a Python script here that's going to generate the mapping information between the low-level requirements and the actual procedure that we need to map to that little requirement so that's been automated and so now I'm going to be able to go and import that file we've just created so let's import the mapping TBM spec this now contains this mapping information so I'm going to go in it import that and what we're now going to see if we go to the relationships view is we have all the mapping between the Lola requirements and the source code so what I could do is I could say well let's highlight all the low-level requirements so that's just going from a and select them and instantly we can see we have two issues the first issue is we have some code here that doesn't trace do any low level requirement so in this particular case we're missing a low-level climate it could also mean that we have additional functionality that should be there also we were able to see that a cup to these particular functions there is no low level associated requirement so effectively this is more serious we're missing functionality well I could also seen by going to this particular view and saying I want to see the traceability between my high level requirements and my low level requirements so I can simply right click on here and I can generate a traceability matrix to in this particular case the low level requirements and here I've got an HTML document and I can see very clearly the coverage that I've obtained and highlighted in red we can see we have these two highly requirements that are not covered by any loan of requirements I could also see the same information here inside a traceability matrix and again color coded in red here to show the two highly requirements that have no mapping to any low level requirements okay so hopefully that's given you a good overview of how we can trace requirements all the way down to the source code and if you'd like more information then please don't hesitate to to contact us at LD rate thank you