Functional Specification

A formal description of a software system that is used as a blueprint for implementing the program. At minimum, a functional specification should precisely state the purpose (e.g., the function) of the software. Depending on the software engineering methodology used, the functional specification might also provide implementation details, such as how the project is divided into modules and how the different modules interact. In addition, a functional specification often describes the software from the user’s perspective — how the user interfaceappears and how a user would use the program to perform specific functions.

A functional specification is often called a functional spec, or just spec.

Webopedia Staff
Webopedia Staff
Since 1995, more than 100 tech experts and researchers have kept Webopedia’s definitions, articles, and study guides up to date. For more information on current editorial staff, please visit our About page.

Top Articles

List of Windows Operating System Versions & History [In Order]

The Windows operating system (Windows OS) refers to a family of operating systems developed by Microsoft Corporation. We look at the history of Windows...

How to Create a Website Shortcut on Your Desktop

Website Shortcut on Your Desktop reviewed by Web Webster   This Webopedia guide will show you how to create a website shortcut on your desktop using...

What are the Five Generations of Computers? (1st to 5th)

Reviewed by Web Webster Each generation of computer has brought significant advances in speed and power to computing tasks. Learn about each of the...

Hotmail [Outlook] Email Accounts

Launched in 1996, Hotmail was one of the first public webmail services that could be accessed from any web browser. At its peak in...

CRM Manager

A customer relationship management (CRM) manager is a person that oversees all customer...

AdamLocker Ransomware

AdamLocker ransomware, or RW.adm_64, is a screen-locking virus designed to prevent access to...

SHA-256

SHA-256 is an algorithm used for hash functions and is a vital component...