Creating the Specification for Tasmanian Traders

Before any code was written for Tasmanian Traders, a specification detailing the system requirements, functionality, and appearance was written, revised, and refined. The specification is over 30 pages long and includes the following required elements.

  • Functionality
    The application provides order entry functionality, which must include features that make it possible for users to create new orders; add items to orders directly or select items from previous orders; and calculate line item extensions, subtotals, and order totals adjusted for discounts and freight. The application must provide security by requiring users to log onto the application before seeing or editing data.
  • Excluded Functionality
    The application will not manage accounts receivable, billing, or inventory.
  • Interface Requirements
    The interface must meet Windows standards. It should be as attractive and intuitive as possible. These subjective interface requirements were difficult to specify in detail. Consequently, they underwent quite a few changes through the development cycle.
  • International Requirements
    Because the application will be localized into multiple languages, coding must conform to standards required by the internal localization tools.
  • Visual FoxPro Features
    As a sample, the application must illustrate many of the new features of Visual FoxPro, demonstrate how to coordinate menus and toolbars, and provide sample reports.
  • System Requirements
    The application must run with the minimum processor and memory requirements that Visual FoxPro requires, and in a screen display of 640 x 480 pixels.

In refining the specification, prototypes of the main forms in the application were developed quickly, without functional code. These prototypes were used to demonstrate several usage scenarios to clients. Client feedback about the interface and the functionality was then incorporated into the specification.

As development progressed, client feedback was incorporated directly into the application without being added to the specification document first. The finished Tasmanian Traders application is noticeably different from the application described in the original specification.

See Also

Solutions Samples | Tasmanian Traders Sample | Designing the Tastrade Database | Designing and Creating the Tasmanian Trader Classes | Writing, Testing, and Debugging Tasmanian Traders | Tasmanian Traders Class Libraries