结构化方法是运用最为普遍,同时也是最为成熟的一种软件开发技术。在数据处理领域,结构化一词最早出现于程序设计,即结构化程序设计。结构化的含义是指用一组标准的准则和工具从事某项工作。结构是指系统内各个组成要素之间的相互联系、相互作用的框架。结构化系统分析与设计方法提出了一组提高软件结构合理性的准则,如分解与抽象、模块独立性、信息隐蔽等。针对软件生存周期不同的阶段,对应有结构化分析(structure analysis, SA)、结构化设计(structure design, SD)和结构化程序设计(structure programming, SP)等方法。
结构化分析是一种面向数据流的设计方法,目的是通过对现有系统(或处理流程)的分析,理解系统的逻辑功能,为结构化设计打下基础,它采用自顶向下、逐层分解的策略,建立系统的处理流程,所用的主要描述工具有:数据流图(data flow diagram, DFD)、数据字典(data dictionary, DD)、结构化语言(structured language)、决策树(decision tree)、决策表(decision tables)。
结构化设计以结构分析的结果,即逻辑功能和数据流关系为基础,根据数据流图和数据字典等,借助于标准的设计准则和图表工具,通过“自上而下”和“自下而上”的反复,逐层把系统划分为多个大小适当,功能明确,具有一定独立性,并容易实现的模块,从而把复杂系统的设计转变为多个简单模块的设计。该方法尤其适用于以变换型结构或事务型结构为目标的系统。