Glossary: Structured Software Design

Any disciplined approach to software design that adheres to specified rules based on principles such as modularity, top-down design, and stepwise refinement of data, system structure, and processing steps.

Structured software designs normally include the following components:

Requirements analysis: A document that defines the actual requirements of the software including inputs and outputs, user interfaces, navigation, reporting, and software integration definitions.

Process flow (software flowchart): Software process flow is normally illustrated in a software flowchart. This drawing shows each software element and its relationship to other components of the custom software application.

Database definition: A document listing actual data requirements, database table designs, index structures, and table relationships. May also include referential integrity specifications. This document is especially important for custom software development projects.

User interface: A definition of the user interface requirements containing screen layouts, data elements, sequence of entry, and error reporting requirements. In custom business software applications the interface may also specify fonts, colors, and screen organization to create a seamless appearance when joined with the business software application.

Reporting requirements: Details of reports and queries required by the software application. In addition to actual report content, should also contain special requirements such as print preview and any specialized output such as PDF, HTML, etc. Internetsoftware applications may also contain special requirements for document transport and internet security.