面向数据流设计方法详解:从DFD到软件结构
需积分: 12 192 浏览量
更新于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到模块结构时,可能会用到一些启发式规则,这些规则可以帮助设计师更好地组织和分配功能,以达到良好的设计效果。
面向数据流的设计方法是一种系统化的设计流程,它利用数据流图的特性来指导软件结构的建立,使得设计更加有条理,有利于系统的理解和维护。通过这种方法,开发者能够更有效地理解并实现复杂系统的需求,确保软件质量。
2022-05-31 上传
2013-06-04 上传
2014-11-18 上传
2010-12-02 上传
2019-08-27 上传
2008-10-04 上传
2011-02-27 上传
zhaoyan0105
- 粉丝: 1
- 资源: 19
最新资源
- 经典单页企业手机门户网站模板
- tinder:此存储库包含使用REACT JS和Firebase构建的tinder-clone
- jk_github
- localfarm.co:在地图上探索农贸市场
- supermarket-pricing
- 换箱多轴钻PLC程序.rar
- 易语言-京东下单 加购 登录 抢购
- 【PyQt6.6.2】【windows版】重新编译QT支持html5视频播放
- statisticker-cs-PallaviZoting:GitHub Classroom创建的statisticker-cs-PallaviZoting
- jdk.zip 1.8 完全ok版
- ProducerAndConsumer:生产者和消费者模型java实现
- ReactNative-Android-MovieDemo:基于react-native-android搭建新闻app
- programming:这是我的语言学习
- brocc:BLAST读取和OTU共识分类器-开源
- LR9Cplus
- tcc-project-template:开始新的 TCC 网络通信项目的骨架