【教学课件】第6讲面向数据流的软件设计方法.ppt

上传人:牧羊曲112 文档编号:5659278 上传时间:2023-08-06 格式:PPT 页数:42 大小:761KB
返回 下载 相关 举报
【教学课件】第6讲面向数据流的软件设计方法.ppt_第1页
第1页 / 共42页
【教学课件】第6讲面向数据流的软件设计方法.ppt_第2页
第2页 / 共42页
【教学课件】第6讲面向数据流的软件设计方法.ppt_第3页
第3页 / 共42页
【教学课件】第6讲面向数据流的软件设计方法.ppt_第4页
第4页 / 共42页
【教学课件】第6讲面向数据流的软件设计方法.ppt_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《【教学课件】第6讲面向数据流的软件设计方法.ppt》由会员分享,可在线阅读,更多相关《【教学课件】第6讲面向数据流的软件设计方法.ppt(42页珍藏版)》请在三一办公上搜索。

1、Copyright Xinjun Mao,1,第6讲 面向数据流的软件设计方法,毛新军 教授计算机科学与技术系602教研室 0731-(45)73649,软件工程导论 之,用工程化的方法来开发软件,Copyright Xinjun Mao,2,前言,软件设计基础知识软件的需求分析及其需求规格说明书(SRS)软件的SRS-软件设计信息面向数据流的设计方法:提供了方法和策略,Copyright Xinjun Mao,3,本讲内容,基本概念和软件设计过程变换分析方法事务分析方法启发式设计策略设计优化原则,Copyright Xinjun Mao,4,面向数据流设计基本概念和过程,前提经过评审后的需求

2、模型-数据流图,Copyright Xinjun Mao,5,数据流的类型,变换流信息通常以“外部世界”所具有的形式进入系统,经过处理后,又以这种形式离开系统,Copyright Xinjun Mao,6,事务型的数据流图,数据沿输入通道到达一个转换,该转换根据输入流类型和特征在若干动作序列中选择一条来执行输入数据(事务)具有一个转换(事务中心)一组动作执行路径,Copyright Xinjun Mao,7,数据流图类型的特点,实际上所有的数据流图都是变换流,事务流是变换流的一种特殊形式 为什么要将事务型的数据流图独立出来考虑?大多数系统的数据流途中,事务流和变换流往往交织在一起,Copyri

3、ght Xinjun Mao,8,混合型数据流图,Copyright Xinjun Mao,9,面向数据流的软件设计过程,面向数据流的设计方法的主要过程 确定数据流的类型:变换流还是事务流 划定流界 将数据流图转换为软件结构 通过设计复审和启发式策略精化所得到软件结构,Copyright Xinjun Mao,10,Copyright Xinjun Mao,11,本讲内容,基本概念和软件设计过程变换分析方法事务分析方法启发式设计策略设计优化原则,Copyright Xinjun Mao,12,变换分析方法,基本思想通过一系列的设计步骤,将变换型的数据流图映射为软件结构 输入:SRS(数据流图、

4、数据字典、小说明)输出:软件总体结构,Copyright Xinjun Mao,13,步骤1.复审基本系统模型,什么是基本系统模型 基本系统模型即SRS中的顶级数据流图 为什么需要对基本系统模型进行复审 对系统规格说明书和SRS进行评估,以确保系统的输入和输出数据符合实际,Copyright Xinjun Mao,14,步骤2.复审和精化数据流图,为什么需要复审和精化数据流图 确保DFD给出目标系统正确的逻辑模型 以获得足够详细的DFD 确保DFD中每个转换代表一个规模适中、相对独立的子功能,Copyright Xinjun Mao,15,步骤3.确定数据流图的类型,信息流都可用变换流表示,但

5、是如果有明显的事务流特征,则还应采用事务流的映射方法设计人员负责判定在数据流图中占主导地位的信息流是变换流还是事务流,Copyright Xinjun Mao,16,划分因人而异,在一般情况下有点出入对整个目标软件系统的影响不是很大,步骤4.划分输入流、输出流边界,输入流处理部分变换中心输出流处理部分,Copyright Xinjun Mao,17,划分流界例子,Copyright Xinjun Mao,18,步骤5.执行一级分解,任务:导出三个层次结构的软件结构底层模块:用于输入、输出和计算等基本功能中间层模块:协调、控制底层模块的工作高层模块:用于协调和控制所有的从属模块原则在确保完成系统

6、功能并保持低耦合度、高内聚度的情况下尽可能的减少模块数目一级分解的结果可以用层次图、结构图等来表示,Copyright Xinjun Mao,19,一级分解例子,Copyright Xinjun Mao,20,步骤6.执行二级分解,任务把DFD中每个转换映射为软件结构中的模块方法从变换中心边界开始沿输入、输出通道向外移动,把输入、输出通道中的每个转换映射为软件结构中的 一个模块 沿着输入流到输出流的方向移动,将每个转换映射为 相应的模块有必要为每一模块写简要的处理说明,包括:进出模块的信息,模块处理功能的陈述,有关的限制和约束,Copyright Xinjun Mao,22,步骤7.精化软件结

7、构改良软件质量,以“模块化”的思想,对软件结构中的模块进行拆并,以追求高内聚、低耦合、易实现、易测试、易维护的软件结构,Copyright Xinjun Mao,25,本讲内容,基本概念和软件设计过程变换分析方法事务分析方法启发式设计策略设计优化原则,Copyright Xinjun Mao,26,事务分析方法,当数据流具有明显的事务特征时,应该采用事务流的分析方法基本步骤步骤1.复审基本系统模型步骤2.复审和精化数据流图步骤3.确定数据流图的类型:变换流还是事务流,Copyright Xinjun Mao,27,步骤4.识别事务流各个组成部分,把整个事务型DFD划分为以下三个部分 接受路径部

8、分:接受事务的输入 事务处理中心 动作路径部分判定在每一条动作路径上数据流的特征:变换流或者事务流,Copyright Xinjun Mao,28,事务型DFD划分例子,Copyright Xinjun Mao,29,步骤5.把事务型DFD映射为软件结构,Copyright Xinjun Mao,30,步骤6.分解精化事务结构以及每个动作路径,Copyright Xinjun Mao,31,步骤7.精化初步软件结构,Copyright Xinjun Mao,32,Copyright Xinjun Mao,33,本讲内容,基本概念和软件设计过程变换分析方法事务分析方法启发式设计策略设计优化原则,

9、Copyright Xinjun Mao,34,启发式设计策略,改造软件结构,降低耦合度,提高内聚度如果在几个模块中发现共有的子功能,一般应该将该子功能独立出来作为一个模块,以提高模块的独立性合并那些具有较多的控制信息传递的模块以降低模块之间的耦合度,Copyright Xinjun Mao,35,减少扇出,追求高扇入,一个好的软件结构通常顶层扇出较高,中间层扇出较低,底层又高扇入到公共模块中去,Copyright Xinjun Mao,36,使任一模块的作用域在其控制域内,作用域是指受模块内部判定影响的所有模块控制域是指其所有的下属模块,Copyright Xinjun Mao,37,其他启

10、发式设计策略,降低模块接口复杂度和冗余度,提高协调性模块接口应尽可能简单并与模块功能相一致如:Sort(Data;Number)-Sort(Data)模块功能可预测,避免对模块施加过多限制模块的功能可预测是指输入恒定,则输出恒定追求单入口、单出口的模块为满足设计和可移植性要求,把某些软件用包 封装起来,Copyright Xinjun Mao,38,本讲内容,基本概念和软件设计过程变换分析方法事务分析方法启发式设计策略设计优化原则,Copyright Xinjun Mao,39,设计优化原则,在先不考虑时间复杂度的情况下设计并精化软件结构借用CASE工具模拟分析运行性能,定位低效率的部分详细设

11、计时对耗时的模块进行仔细的推敲,以减少模块的运行开销用高级语言编写对大量占用CPU资源的模块必要时用低级语言重新进行编码,以提高效率,Copyright Xinjun Mao,40,本讲小结,基本概念和软件设计过程变换分析方法事务分析方法启发式设计策略设计优化原则,Copyright Xinjun Mao,41,思考题,你觉得在进行软件设计时,除了上述启发式设计策略和优化原则之外,还应考虑那些问题?,Copyright Xinjun Mao,42,Q&A,An Introduction to Software Engineering,Practice,Practice,and Practice,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号