Sure, by all means; clear, specific requirements that precisely define are very welcome.
Then, once you've done that, recognise that what comes in will not match what you said and you can either have software that doesn't do what the users need and want it to do, or software that accepts input that doesn't quite match requirements.