What's the difference between a functional specification and a function model? Don't they represent the same thing - what the product will do?

1 Answer 1


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.

  • Thanks for your help, just one question, in a functional specification how do you decompose a requirement without specifying how? Jul 4, 2022 at 8:17
  • 1
    It depends where you draw the line between what and how. This allows you various depths of decomposition. But just to be clear, there isn't a clear line of demarcation between the two. It's usually a matter of "fixing down the details". If you have fixed something down, then most likely your decomposition ended up with a solution that satisfies the need or resolves the requirement. If you still haven't fixed down a solution, then you most likely need to decompose things into its components, look at them individually, reach a solution for each, and so on.
    – Bogdan
    Jul 4, 2022 at 19:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.