voice-push.com

Pushing VoiceXML to the masses!



Home

Blog

VoiceXML
VoiceXML 2.0 & 2.1
VoiceXML 3.0
State Control XML
ASR & TTS
VoiceXML Applications

Video & VoiceXML
Video Apps

VUI vs. GUI
Client vs. Server Apps

Voice User Interfaces
DTMF vs. ASR
Target Audience
Dialog States
Global Commands
Zeroing Out
Personality
NLU vs. Directed Dialogs
Prompts - Wording
Prompts - Snippets
Prompts - Randomising
Prompts - Recording
Grammar Design
Waiting
Error Handling

Project Phases
User Requirements
Technical Spex
VUI Specifications
Development
Going Live!

Links

Contact

Functional/Technical Specifications

There can be some confusion about the difference between functional and technical specifications - and in many cases they are just the one document. However, in theory, there is a difference, even if I'm not too sure about it myself sometimes!

Functional Specifications

Functional specifications are based on the user requirements. In the user requirements the customer has described what they want the caller to be able to do - however, there is no mention of what systems are required to do this. So the customer just says that the caller should be able to buy a subscription to a sports update. There is no mention of what billing systems are required to do this - or how they are going to interact with the application. The user requirements may also state that the caller can activate a new setting in their voicemail - but not what systems are involved.

So first and foremost, the functional specification is an architecural document, describing what systems are required to talk to each other, as well as the interfaces that they will use. Furthermore each individual function that a caller can use is listed with the systems that are required to perform that function.

The call flow logic also belongs in the functional specifications - though much of this is covered in the VUI specification.

Technical Specifications

The tech spex get down to the nitty gritty. This is where you describe the data models that you need. This is where you describe the classes, with their methods and their variables. The tech spex are as close to code as you're going to come without actually programming it. For each function you describe how it will be carried out, what parameters are required, what cases need to be tested and how any errors should be handled.

If you're using UML, then you'll have your class diagrams, with their relationships. You'll also have your sequence diagrams describing in detail the interaction between the active systems.



If you have any comments, ideas, issues, etc. about this topic why not try the voice-push forums






© voice-push.com