Home arrow Practices arrow Page 2 - Writing A Functional Specification

Getting Formal - Practices

Writers hate coding, and developers hate writing. And never thetwain shall meet...except, perhaps, in a functional specification. More,inside.

  1. Writing A Functional Specification
  2. Getting Formal
  3. Of Time And Talent
  4. Laying The Foundations
  5. I, User
  6. The Screening Process
  7. The Color Purple
  8. Hitting The High Notes
  9. Sealed With A Kiss
By: Deepa L, (c) Melonfire
Rating: starstarstarstarstar / 73
April 25, 2003

print this article


According to http://www.whatis.com/, a functional specification is "...aformal document used to describe in detail for software developers aproduct's intended capabilities, appearance, and interactions withusers...". Webopedia at http://www.webopedia.com/has a similar definition- it calls a functional specification "...a formal description of a softwaresystem that is used as a blueprint for implementing the program...".

A functional specification is written primarily for the development team,with the objective of providing the members of that team with all theinformation they need to begin designing an application. It aims atoutlining the entire experience of the application, without really gettinginto the details of implementation, thereby providing the developers with acomprehensive knowledge base and reference for any and all questionsconcerning the project. The idea here is for the kinks in the design to beworked out at a conceptual level, and (more importantly) for the customer toget a clear idea of what the deliverable is and how it will work.

Once finalized and approved by the customer, the functional specificationcan be used by a software developer to create a detailed software designdocument, which contains high-level architectural diagrams of the system,together with descriptions of the components used and their relationshipsvia a modeling language. Application development then becomes a matter ofimplementing what has been frozen in the specification.

The level of detail in this document varies from project to project andcompany to company, and depends on the level of complexity inherent in theproject, and the amount of time and staff available to compile the dataobtained into a structured report. If you're an independent developer or aproject manager with a small team, you might prefer a smaller, simplerdocument; if, on the other hand, you have a full-fledged team behind you,work in a large, process-driven organization and/or have a complex projectto tackle, you might prefer a document that drills down to the very lastlevel of detail.

>>> More Practices Articles          >>> More By Deepa L, (c) Melonfire

blog comments powered by Disqus
escort Bursa Bursa escort Antalya eskort


- Calculating Development Project Costs
- More Techniques for Finding Things
- Finding Things
- Finishing the System`s Outlines
- The System in So Many Words
- Basic Data Types and Calculations
- What`s the Address? Pointers
- Design with ArgoUML
- Pragmatic Guidelines: Diagrams That Work
- Five-Step UML: OOAD for Short Attention Span...
- Five-Step UML: OOAD for Short Attention Span...
- Introducing UML: Object-Oriented Analysis an...
- Class and Object Diagrams
- Class Relationships
- Classes

Developer Shed Affiliates


Dev Shed Tutorial Topics: