A functional specification is an external, nontechnical document that states what an application must do without describing internal implementation. It aligns clients and developers around the application’s intended capabilities and supports iterative requirement changes. section 3.7 section 3.9
A functional specification commonly contains:
- A clear problem statement, objectives, and the application name. section 3.7
- Functional and nonfunctional requirements stated strongly with “must” or “shall.” section 3.7
- Use-case diagrams and descriptions that provide context for application behavior. section 3.7 section 3.9
- Optionally, an external test plan describing black-box inputs, actions, and expected results. section 3.7
Book Catalogue
A specification might define an application for storing books in a repository and searching them by target attributes, while leaving implementation choices to the design specification. section 3.7

