Every software application can conceptually be broken up into three layers:the front end, which consists of the user interface and applicationcontrols; the middle tier, which consists of the code; and the back end,which consists of the database, data structures and other assorted gremlins.
When building software, the trick is to design in such a way that when youplace these layers one on top of the other, the parts fit exactly. This isfar more complicated than it sounds, and fairly difficult to do at the bestof times. But don't let that discourage you - a number of tools areavailable to assist in this process...and one of the better ones is called afunctional specification.
A functional specification can substantially simplify and streamline theprocess of application development. Intended to describe how a piece ofsoftware works, it provides a ready reference for software developers andaligns large and disparate development teams to a single goal. In theprocess, it provides technical clarity on how the different components of aparticular applications are to be designed, implemented and integrated witheach other, and (if used correctly) significantly reduces the time and costcomponent of any development exercise.
Intrigued? Wanna meet one of these creatures? Flip the page, and let's getstarted!