At work I am responsible for writing specifications quite often and I am also the person who first insisted on getting specifications in the first place. The problem is I am unsure how specifications should look and what they should contain. A lot of the time when my boss is writing the specification (we are both inexperienced in it) they put in table names and things that I don't think belong etc. So what is a good way to learn to write a good spec?
EDIT: Should a functional spec include things like assuming I am specing a web application, the input types (a textbox, dropdown list, etc)?