User Interface Specifaction (UIS)

This document describes exactly what the user interface is going to do, what it looks like, and how the user interacts with the program. The UIS does not describe how the interface is implemented. Nor does it describe what the program does behind the interface. Rather, the UIS focuses in detail specifically on the user interface itself. For a GUI, the UIS would define the components and all options on a MenuBar, all of the MenuBar headings, all of the submenus, and all of the options of those submenus. The UIS may describe the functionality of each of the mouse buttons, if appropriate. The UIS also describes the presentation of data, be it graphics, text, or a combination. The UIS should be understandable to the user. The UIS should contain drawings or screen captures of prototype interaces.

For non-GUI applications, the user interface may be either a Command Line Interface (CLI) for which the UIS could be similar to a UNIX man page, or could be an Application Programmatic Interface (API). An API is really nothing more than a collection of library routines that allow you to link and/or layer software components. For an API, the UIS consists of a definition of the calling interfaces, names of routines or object methods, parameters, and descriptions of what they will do.


The UIS has:

  •  description of the complete user interface, CLI, or API
  •  what the user interface looks like to the user
  •  how the user interface behaves
  •  how the user interacts with the system
  •  if GUI, names for all of the interactive components, from the mouse to buttons to menus and scrollbars, and pictures of what the interface should look like
  •  if CLI, flags and arguments, inputs and outputs as in a UNIX man page
  •  if API, complete description of the link/call interface

The UIS does not have:

  • implementation details
  • coverage of the mechanics beneath the user interface