Write a design specification

A design specification describes the overall functionality of your module and documents the specific routines available to the user, the supporting database tables used to implement the routines, error messages, and the environment used to build the module.

A design specification also documents implementation details that the module customer does not need to know, such as internal support routines.