ArticleslgStudy

mathematics

Functional specification

Functional specification is a mathematics topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand Functional specification rather than just read about it. In short: A functional specification (also, functional spec, specs, functional specifications document (FSD), functional requirements specification) in systems engineering and software development is a document that specifies the functions that a system or component must perform (often part of a requirements specification) (ISO/IEC/IEEE 24765-2010). The documentation typically describes what is needed by the system user as we…

Functional specification — main illustration
Functional specification — illustration

Key takeaways

  • Functional specification belongs to mathematics; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect Functional specification to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of Functional specification from memory before moving on to harder problems.

Reference excerpt

A functional specification (also, functional spec, specs, functional specifications document (FSD), functional requirements specification) in systems engineering and software development is a document that specifies the functions that a system or component must perform (often part of a requirements specification) (ISO/IEC/IEEE 24765-2010). The documentation typically describes what is needed by the system user as well as requested properties of inputs and outputs (e.g. of the software system). A functional specification is the more technical response to a matching requirements document, e.g. the product requirements document "PRD". Thus it picks up the results of the requirements analysis stage. On more complex systems multiple levels of functional specifications will typically nest to each other, e.g. on the system level, on the module level and on the level of technical details.

Overview A functional specification does not define the inner workings of the proposed system; it does not include the specification of how the system function will be implemented. A functional requirement in a functional specification might state as follows:

When the user clicks the OK button, the dialog is closed and the focus is returned to the main window in the state it was in before this dialog was displayed. Such a requirement describes an interaction between an external agent (the user) and the software system. When the user provides input to the system by clicking the OK button, the program responds (or should respond) by closing the dialog window containing the OK button.

Functional specification topics

Purpose There are many purposes for functional specifications. One of the primary purposes on team projects is to achieve some form of team consensus on what the program is to achieve before making the more time-consuming effort of writing source code and test cases, followed by a period of debugging. Typically, such consensus is reached after one or more reviews by the stakeholders on the project at hand after having negotiated a cost-effective way to achieve the requirements the software needs to fulfill.

To let the developers know what to build. To let the testers know what tests to run. To let stakeholders know what they are getting.

Process In the ordered industrial software engineering life-cycle (waterfall model), functional specification describes what has to be implemented. The next, systems architecture document describes how the functions will be realized using a chosen software environment. In non industrial, prototypical systems development, functional specifications are typically written after or as part of requirements analysis. When the team agrees that functional specification consensus is reached, the functional spec is typically declared "complete" or "signed off". After this, typically the software development and testing team write source code and test cases using the functional specification as the reference. While testing is performed, the behavior of the program is compared against the expected behavior as defined in the functional specification.

Methods One popular method of writing a functional specification document involves drawing or rendering either simple wire frames or accurate, graphically designed UI screenshots. After this has been completed, and the screen examples are approved by all stakeholders, graphical elements can be numbered and written instructions can be added for each number on the screen example. For example, a login screen can have the username field labeled '1' and password field labeled '2,' and then each number can be declared in writing, for use by software engineers and later for beta testing purposes to ensure that functionality is as intended. The benefit of this method is that countless additional details can be attached to the screen examples.

Examples of functional specifications Advanced Microcontroller Bus Architecture Extensible Firmware Interface Multiboot specification Real-time specification for Java Single UNIX Specification

Types of software development specifications Bit specification (disambiguation) Design specification Diagnostic design specification Product design specification Software requirements specification

See also Benchmarking Software development process Specification (technical standard) Software verification and validation

References

External links Painless Functional Specifications, 4-part series by Joel Spolsky

Illustrations

Functional specification: Systems engineering model of specification and levels of development. During system development a series of specifications are generated to describe the system at different levels of detail. These program unique specifications form the core of the configuration baselines. As shown here, in addition to referring to different levels within the system hierarchy, these baselines are defined at different phases of the design process. Note: There is one minor (and ironic) typo in the image above. SI&T is "system integration and test" not "system integration and text".
Systems engineering model of specification and levels of development. During system development a series of specifications are generated to describe the system at different levels of detail. These program unique specifications form the core of the configuration baselines. As shown here, in addition to referring to different levels within the system hierarchy, these baselines are defined at different phases of the design process. Note: There is one minor (and ironic) typo in the image above. SI&T is "system integration and test" not "system integration and text".

Worked examples

Example 1 — a first encounter with Functional specification

Start with the simplest possible case. Write down what Functional specification claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In mathematics, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to Functional specification before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about Functional specification ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of Functional specification

In research
Functional specification appears in mathematics research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses Functional specification in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
Functional specification is common in secondary-school and first-year university syllabi. It links to neighbouring topics Software design, Software documentation, Systems engineering, so understanding it makes those chapters shorter.
In everyday life
Look for Functional specification outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “Functional specification” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study Functional specification in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what Functional specification means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain Functional specification out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is Functional specification in simple terms?

A functional specification (also, functional spec, specs, functional specifications document (FSD), functional requirements specification) in systems engineering and software development is a document that specifies the functions that a system or component must perform (often part of a requirements…

Why does Functional specification matter?

Because it connects several mathematics ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study Functional specification?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on Functional specification.

Tags

  • Software design
  • Software documentation
  • Systems engineering

Keep exploring