面向数据流设计方法详解:从DFD到软件结构

需积分: 12 2 下载量 51 浏览量 更新于2024-08-02 收藏 400KB PPT 举报
"软件工程课件第九章 面向数据流的设计方法" 面向数据流的设计方法是软件工程中一种重要的结构化设计方法,主要基于数据流图(Data Flow Diagram, DFD)来构建软件系统的结构。这种方法将复杂的系统分解为可管理的部分,通过两种主要的结构形式——变换型结构和事务型结构,来清晰地描述系统功能。 1. 基本概念 SD(结构化设计)以数据流图为工具,通过不同的映射策略将DFD转化为软件的模块结构。DFD描绘了系统中数据的流动路径和处理过程,分为两种类型:变换型数据流和事务型数据流。变换型结构通常用于数据的输入、处理和输出过程,而事务型结构则适用于处理一系列独立的、有选择性的事务。 2. 变换型结构与事务型结构 - 变换型结构:由输入、变换中心和输出三部分组成,核心是变换中心,它接收输入数据,进行处理,并产生输出。例如,一个文件格式转换系统,输入是某种格式的文件,经过转换处理后,输出为另一种格式的文件。 - 事务型结构:包含输入、事务中心和输出,主要用于处理多条可能的事务路径。事务中心接受输入,根据条件选择执行相应的操作,然后输出结果。例如,银行自动取款机系统,用户的选择(如存款、取款、查询余额等)就是事务,系统会根据用户的选择执行相应操作。 3. 设计步骤 面向数据流的设计方法通常包括以下步骤: - (1) 精化DFD:对初步的数据流图进行细化,增加细节,使其更准确地反映系统需求。 - (2) 确定DFD类型:识别数据流图中的变换型和事务型结构。 - (3) 映射到模块结构:将DFD的各个部分映射到软件的模块结构中,形成系统的上层模块设计。 - (4) 逐步分解:基于DFD逐步分解高层模块,设计出下层的子模块。 - (5) 精化模块结构:根据模块独立性原则优化模块设计,提高模块的内聚性和耦合度。 - (6) 模块接口描述:详细描述模块之间的交互,确保模块间的通信清晰无误。 4. 流类型 在设计过程中,需要区分不同类型的流,包括输入流、输出流、交换流以及内部和外部表示。这有助于明确数据的流向和处理过程,确保设计的合理性。 5. 启发式规则 在映射DFD到模块结构时,可能会用到一些启发式规则,这些规则可以帮助设计师更好地组织和分配功能,以达到良好的设计效果。 面向数据流的设计方法是一种系统化的设计流程,它利用数据流图的特性来指导软件结构的建立,使得设计更加有条理,有利于系统的理解和维护。通过这种方法,开发者能够更有效地理解并实现复杂系统的需求,确保软件质量。