Software design specification SDS question ‎

Hi guys,

I need to help our development ‎department in producing a software design specification document for a small control ‎system (PLC) that will be according to the GAMP 4 guideline. Unfortunately I get ‎quite confused with what is exactly required. If someone can give me any details ‎about the SDS and its relationship with the FS or supply any example of SDS ‎document it would truly be much appreciated.‎


You could also combine the SDS and FS and call it an FDS depending on the complexity of the system.

Typically an SDS would drill down to code level and test the actual code associated with the system, where the FS would test the functionality of the code.

Hi Graham,‎

Thank you for your prompt reply. Firstly, I am not sure I quite follow you. When you ‎say “SDS will drill down to the code level and test the actual code associated with the ‎system”. To my understanding the SDS is not a testing (qualification) document but a ‎design one. Secondly, I did read GAMP 4 definition for an SDS document so I am ‎aware of what it’s very generally should be about. My difficulty is to grasp how this ‎document should actually look like. I think something like a possible table of content ‎or an example would really help. Also the GAMP refers to modules and their ‎interface with other modules. For a PLC/HMI system what is a module? is it a valve ‎dynamo? What is meant by interface with other modules? ‎

Any piece of information would be much appreciated ‎

Yes, technically you are correct an SDS is a design document. I have been involved in some projects where the SDS document was used for FAT testing along with the FS document (Automation project). I dont have a typical example of an SDS document but I would treat it as just another validation document and have Introduction, Scope, Purpose, Abbrevations and Definitions and then break down the document into the corresponding modules.

Yes a valve dynamo would be regarded as module. Try and find out the relalktionship between the different modules. For example if the valve dynamo opens/closes does it affect another module. Get the system engineer involved to examine the flow of the code and the best testing methods.

Hope that helps a little

Thanks it does help