第6讲面向数据流的软件设计方法课件

上传人:沈*** 文档编号:243906680 上传时间:2024-10-01 格式:PPT 页数:42 大小:842.62KB
返回 下载 相关 举报
第6讲面向数据流的软件设计方法课件_第1页
第1页 / 共42页
第6讲面向数据流的软件设计方法课件_第2页
第2页 / 共42页
第6讲面向数据流的软件设计方法课件_第3页
第3页 / 共42页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,Copyright Xinjun Mao,面向数据流的软件设计方法,*,第,6,讲,面向数据流的软件设计方法,毛新军 教授,xjmao,计算机科学与技术系,602,教研室,0731-(45)73649,软件工程导论 之,用工程化的方法来开发软件,Copyright Xinjun Mao,1,面向数据流的软件设计方法,第6讲 面向数据流的软件设计方法毛新军 教授软件工程导论,前言,软件设计基础知识,软件的需求分析及其需求规格说明书(SRS),软件的SRS - 软件设计信息,面向数据流的设计方法:提供了方法和策略,Copyright Xinjun Mao,2,面向数据流的软件设计方法,前言软件设计基础知识Copyright Xinjun Ma,本讲内容,基本概念和软件设计过程,变换分析方法,事务分析方法,启发式设计策略,设计优化原则,Copyright Xinjun Mao,3,面向数据流的软件设计方法,本讲内容基本概念和软件设计过程Copyright Xinj,面向数据流设计基本概念和过程,前提,经过评审后的需求模型,-,数据流图,Copyright Xinjun Mao,4,面向数据流的软件设计方法,面向数据流设计基本概念和过程前提Copyright Xin,数据流的类型,变换流,信息通常以“外部世界”所具有的形式进入系统,经过处理后,又以这种形式离开系统,Copyright Xinjun Mao,5,面向数据流的软件设计方法,数据流的类型变换流Copyright Xinjun Mao,事务型的数据流图,数据沿输入通道到达一个转换,该转换根据输入流类型和特征在若干动作序列中选择一条来执行,输入数据(事务),具有一个转换,(,事务中心,),一组动作执行路径,Copyright Xinjun Mao,6,面向数据流的软件设计方法,事务型的数据流图数据沿输入通道到达一个转换,该转换根据输入流,数据流图类型的特点,实际上所有的数据流图都是变换流,事务流是变换流的一种特殊形式,为什么要将事务型的数据流图独立出来考虑?,大多数系统的数据流途中,事务流和变换流往往交织在一起,Copyright Xinjun Mao,7,面向数据流的软件设计方法,数据流图类型的特点实际上所有的数据流图都是变换流,事务流是变,混合型数据流图,Copyright Xinjun Mao,8,面向数据流的软件设计方法,混合型数据流图Copyright Xinjun Mao8面,面向数据流的软件设计过程,面向数据流的设计方法的主要过程,确定数据流的类型:变换流还是事务流,划定流界,将数据流图转换为软件结构,通过设计复审和启发式策略精化所得到软件结构,Copyright Xinjun Mao,9,面向数据流的软件设计方法,面向数据流的软件设计过程 面向数据流的设计方法的主要过程C,Copyright Xinjun Mao,10,面向数据流的软件设计方法,Copyright Xinjun Mao10面向数据流的软,本讲内容,基本概念和软件设计过程,变换分析方法,事务分析方法,启发式设计策略,设计优化原则,Copyright Xinjun Mao,11,面向数据流的软件设计方法,本讲内容基本概念和软件设计过程Copyright Xinj,变换分析方法,基本思想,通过一系列的设计步骤,将变换型的数据流图映射为软件结构,输入:,SRS(,数据流图、数据字典、小说明,),输出:软件总体结构,Copyright Xinjun Mao,12,面向数据流的软件设计方法,变换分析方法基本思想Copyright Xinjun Ma,步骤1. 复审基本系统模型,什么是基本系统模型,基本系统模型即,SRS,中的顶级数据流图,为什么需要对基本系统模型进行复审,对系统规格说明书和,SRS,进行评估,以确保系统的输入和输出数据符合实际,Copyright Xinjun Mao,13,面向数据流的软件设计方法,步骤1. 复审基本系统模型 什么是基本系统模型Copyri,步骤2. 复审和精化数据流图,为什么需要复审和精化数据流图,确保,DFD,给出目标系统正确的逻辑模型,以获得足够详细的,DFD,确保,DFD,中每个转换代表一个规模适中、相对独立的子功能,Copyright Xinjun Mao,14,面向数据流的软件设计方法,步骤2. 复审和精化数据流图为什么需要复审和精化数据流图C,步骤3. 确定数据流图的类型,信息流都可用变换流表示,但是如果有明显的事务流特征,则还应采用事务流的映射方法,设计人员负责判定在数据流图中占主导地位的信息流是变换流还是事务流,Copyright Xinjun Mao,15,面向数据流的软件设计方法,步骤3. 确定数据流图的类型信息流都可用变换流表示,但是如果,划分因人而异,在一般情况下有点出入对整个目标软件系统的影响不是很大,步骤4. 划分输入流、输出流边界,输入流处理部分,变换中心,输出流处理部分,Copyright Xinjun Mao,16,面向数据流的软件设计方法,划分因人而异,在一般情况下有点出入对整个目标软件系统的影响不,划分流界例子,Copyright Xinjun Mao,17,面向数据流的软件设计方法,划分流界例子Copyright Xinjun Mao17面,步骤5. 执行一级分解,任务,:,导出三个层次结构的软件结构,底层模块:用于输入、输出和计算等基本功能,中间层模块:协调、控制底层模块的工作,高层模块:用于协调和控制所有的从属模块,原则,在确保完成系统功能并保持低耦合度、高内聚度的情况下尽可能的减少模块数目,一级分解的结果可以用层次图、结构图等来表示,Copyright Xinjun Mao,18,面向数据流的软件设计方法,步骤5. 执行一级分解任务: 导出三个层次结构的软件结构C,一级分解例子,Copyright Xinjun Mao,19,面向数据流的软件设计方法,一级分解例子 Copyright Xinjun Mao19,步骤6. 执行二级分解,任务,把,DFD,中每个转换映射为软件结构中的模块,方法,从变换中心边界开始沿输入、输出通道向外移动,把输入、输出通道中的每个转换映射为软件结构中的 一个模块,沿着输入流到输出流的方向移动,将每个转换映射为 相应的模块,有必要为每一模块写简要的处理说明,包括:进出模块的信息,模块处理功能的陈述,有关的限制和约束,Copyright Xinjun Mao,20,面向数据流的软件设计方法,步骤6. 执行二级分解任务Copyright Xinjun,Copyright Xinjun Mao,21,面向数据流的软件设计方法,Copyright Xinjun Mao21面向数据流的软,步骤,7.,精化软件结构改良软件质量,以“模块化”的思想,对软件结构中的模块进行拆并,以追求高内聚、低耦合、易实现、易测试、易维护的软件结构,Copyright Xinjun Mao,22,面向数据流的软件设计方法,步骤7. 精化软件结构改良软件质量以“模块化”的思想,对软件,Copyright Xinjun Mao,23,面向数据流的软件设计方法,Copyright Xinjun Mao23面向数据流的软,Copyright Xinjun Mao,24,面向数据流的软件设计方法,Copyright Xinjun Mao24面向数据流的软,本讲内容,基本概念和软件设计过程,变换分析方法,事务分析方法,启发式设计策略,设计优化原则,Copyright Xinjun Mao,25,面向数据流的软件设计方法,本讲内容基本概念和软件设计过程Copyright Xinj,事务分析方法,当数据流具有明显的事务特征时,应该采用事务流的分析方法,基本步骤,步骤,1.,复审基本系统模型,步骤,2.,复审和精化数据流图,步骤,3.,确定数据流图的类型:变换流还是事务流,Copyright Xinjun Mao,26,面向数据流的软件设计方法,事务分析方法当数据流具有明显的事务特征时,应该采用事务流的分,步骤4.识别事务流各个组成部分,把整个事务型,DFD,划分为以下三个部分,接受路径部分:接受事务的输入,事务处理中心,动作路径部分,判定在每一条动作路径上数据流的特征:变换流或者事务流,Copyright Xinjun Mao,27,面向数据流的软件设计方法,步骤4.识别事务流各个组成部分把整个事务型DFD划分为以下三,事务型DFD划分例子,Copyright Xinjun Mao,28,面向数据流的软件设计方法,事务型DFD划分例子Copyright Xinjun Ma,步骤,5.,把事务型,DFD,映射为软件结构,Copyright Xinjun Mao,29,面向数据流的软件设计方法,步骤5.把事务型DFD映射为软件结构Copyright X,步骤,6.,分解精化事务结构以及每个动作路径,Copyright Xinjun Mao,30,面向数据流的软件设计方法,步骤6.分解精化事务结构以及每个动作路径Copyright,步骤7. 精化初步软件结构,Copyright Xinjun Mao,31,面向数据流的软件设计方法,步骤7. 精化初步软件结构Copyright Xinjun,Copyright Xinjun Mao,32,面向数据流的软件设计方法,Copyright Xinjun Mao32面向数据流的软,本讲内容,基本概念和软件设计过程,变换分析方法,事务分析方法,启发式设计策略,设计优化原则,Copyright Xinjun Mao,33,面向数据流的软件设计方法,本讲内容基本概念和软件设计过程Copyright Xinj,启发式设计策略,改造软件结构,降低耦合度,提高内聚度,如果在几个模块中发现共有的子功能,一般应该将该子功能独立出来作为一个模块,以提高模块的独立性,合并那些具有较多的控制信息传递的模块以降低模块之间的耦合度,Copyright Xinjun Mao,34,面向数据流的软件设计方法,启发式设计策略改造软件结构,降低耦合度,提高内聚度Copy,减少扇出,追求高扇入,一个好的软件结构通常顶层扇出较高,中间层扇出较低,底层又高扇入到公共模块中去,Copyright Xinjun Mao,35,面向数据流的软件设计方法,减少扇出,追求高扇入 一个好的软件结构通常顶层扇出较高,中间,使任一模块的作用域在其控制域内,作用域是指受模块内部判定影响的所有模块,控制域是指其所有的下属模块,Copyright Xinjun Mao,36,面向数据流的软件设计方法,使任一模块的作用域在其控制域内作用域是指受模块内部判定影响的,其他启发式设计策略,降低模块接口复杂度和冗余度,提高协调性,模块接口应尽可能简单并与模块功能相一致如:,Sort(Data; Number) -,Sort(Data),模块功能可预测,避免对模块施加过多限制,模块的功能可预测是指输入恒定,则输出恒定,追求单入口、单出口的模块,为满足设计和可移植性要求,把某些软件用包 封装起来,Copyright Xinjun Mao,37,面向数据流的软件设计方法,其他启发式设计策略降低模块接口复杂度和冗余度,提高协调性C,本讲内容,基本概念和软件设计过程,变换分析方法,事务分析方法,启发式设计策略,设计优化原则,Copyright Xinjun Mao,38,面向数据流的软件设计方法,本讲内容基本概念和软件设计过程Copyright Xinj,设计优化原则,在先不考虑时间复杂度的情况下设计并精化软件结构,借用,CASE,工具模拟分析运行性能,定位低效率的部分,详细设计时对耗时的模块进行仔细的推敲,以减少模块的运行开销,用高级语言编写,对大量占用,CPU,资源的模块必要时用低级语言重新进行编码,以提高效率,Copyright Xinjun Mao,39,面向数据流的软件设计方法,设计优化原则在先不考虑时间复杂度的情况下设计并精化软件结构,本讲小结,基本概念和软件设计过程,变换分析方法,事务分析方法,启发式设计策略,设计优化原则,Copyright Xinjun Mao,40,面向数据流的软件设计方法,本讲小结基本概念和软件设计过程Copyright Xinj,思考题,你觉得在进行软件设计时,除了上述启发式设计策略和优化原则之外,还应考虑那些问题?,Copyright Xinjun Mao,41,面向数据流的软件设计方法,思考题你觉得在进行软件设计时,除了上述启发式设计策略和优化原,Q & A,An Introduction to Software Engineering,Practice, Practice, and Practice,Copyright Xinjun Mao,42,面向数据流的软件设计方法,Q & AAn Introduction to Softwa,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!