To successfully build the software capturing the user requirements calls for two key components – Functional Specifications and Design Specifications.
Functional Specifications, as the term connotes, are the specifications that a user would want the software to provide. To be truly purposeful, the functional requirements must cover the nature of product construction, process details and system features and inclusion of illustrative diagrams and flowcharts will be a great help.
Design Specifications are the type of design that the user will find friendly and comfortable to operate. The Design specifications should ideally include the various software and user interfaces explained with screen shots or other visual aids to make concepts easily comprehensible to the intending user.