Competitive Engineering: A Handbook for Systems Engineering, Requirements Engineering, and Software Engineering Using Planguage

Function specifications define the business we are in . Functions are what a system does. Functions must be distinguished from how well a system performs (the stakeholder performance attributes, such as quality) and from how much a system costs (the resources expended).
Manual Dialing:
Type: Function Requirement.
Description: The user capability, by any available means {finger on key, voice, name list}, to select or provide and, transmit a {telephone or internet} {number or address} and any other required symbols, to reach and access any available services. It specifically includes any keying or other activity needed in connection with communication, such as accessing lists. It specifically excludes any non-communication activity such as game playing.
Functions must also be distinguished from design ideas (how a system is going to achieve its requirements). [1] It is all too easy to mix them up but, if you do, you cheat yourself of the results you might get from a better design idea. The test is simple. Ask "Why this {function or design idea}?" If the answer is "because that is what our system must have to be our system at all," you are probably talking about a function: something so fundamental that it is not for the systems engineer to modify or choose.
If the answer to "Why?" is "in order to get a performance improvement" or "for cost reduction," then that specification...