Hey guys, I have created a piece of software that connects to a wii remote and detects hand gestures. The results trigger a command to a robot via infrared. So it is basically a simple game. The proigram done, I now need to establish a list of Functional and Non-Functional requiremnts for my Requiremntes specification.

I am lost, I am trying to break everything down, but the examples online are hard to understand. Is there a technique used for figuriung these things out? Surely there must be a way to learn and know quite quickly which functions are wqhich, and what exactly are the functions.

Any advice is appreciated as I am slightly confused on the matter.

Thanks!

Hi,

Usually I consider a Functional Requirement as something that the system actually does, for example the input and output of the system or things like: "the system will have a contingency structure on the database so that whenever there is an error the intput data will not be lost", "the system will enroll a user using the following data: social security number, full name, address and date of birth", "the system will include a web based component that will allow users to make queries based on a given social security number".

As for the Non Funcitional Requirements I consider them as everything else that is relevant to the system itself, but does not specify what it actually does, for example: "the system shall be written on C# using the .NET Framework 3.5", "the web based component of the system will use HTTPS", "the system will take no longer than 10 seconds to enroll a new user".

This is how I usually think about requirements, however I am not sure if this the right way to do it (although I really hope I am not doing this wrong for the past 2 years).

Cheers,
Komyg

Thanks a lot Komyg that certainly cvlears things up a bit for me. So the nonfunctional things are the constraints of the software, things which it must be, and the functional tings are the things it it s free to do.

Thanks a lot!

This article has been dead for over six months. Start a new discussion instead.