What's the difference between a functional specification and a function model? Don't they represent the same thing - what the product will do?
A functional specification says WHAT a system or function should do. When you write a functional specification document you describe NEEDS without going into details of HOW you will achieve that.
A function model is a functional specification but now you already go into details about the HOW you will implement the NEEDS because you need to build a model. Also, the language in the function model is more restrictive and structured than what you might have available in the general functional specification concept.
To give an example, I could write a functional specification document to describe what a process should do with plain English, or I could model the same process with BPMN (Business Process Model and Notation) in a structured manner using standard symbols and conventions.
In other words, a function model is a functional specification, but a functional specification isn't necessarily a function model.