A storyboard is a technique used to rehearse typical customer scenarios before the application is built. It could consist of hand-drawn overheads used in a presentation to the team building the requirement document, including the customers. The storyboard conveys a rough idea of the application's behavior, the application's interaction with the customer, and visible components.
The typical scenarios of the system are rehearsed in this draft fashion. Often, significant errors can be caught and prevented before they propagate into other phases of the project. Alternatively, the storyboard might be a GUI-only version of the application where pictures of the output screens are presented. These GUI-only screens have no underlying application code but give an idea of what the customer will see and feel while running the application. The GUI builder in NextStep is a good example of a tool that generates high quality storyboards of an application complete with limited functionality and application stubs. An application stub contains only the interfaces and needs associated algorithms and data structures to complete the application functionality. In this case, if the storyboard is acceptable, then the application stubs can be implemented. See [#!Shurtleff94!#] and [#!Andriole87!#].