




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第6讲面向数据流的软件设计方法,软件工程导论之,用工程化的方法来开发软件,面向数据流的软件设计方法,2,前言,软件设计基础知识软件的需求分析及其需求规格说明书(SRS)软件的SRS-软件设计信息面向数据流的设计方法:提供了方法和策略,面向数据流的软件设计方法,3,本讲内容,基本概念和软件设计过程变换分析方法事务分析方法启发式设计策略设计优化原则,面向数据流的软件设计方法,4,面向数据流设计基本概念和过程,前提经过评审后的需求模型-数据流图,面向数据流的软件设计方法,5,数据流的类型,变换流信息通常以“外部世界”所具有的形式进入系统,经过处理后,又以这种形式离开系统,面向数据流的软件设计方法,6
2、,事务型的数据流图,数据沿输入通道到达一个转换,该转换根据输入流类型和特征在若干动作序列中选择一条来执行输入数据(事务)具有一个转换(事务中心)一组动作执行路径,面向数据流的软件设计方法,7,数据流图类型的特点,实际上所有的数据流图都是变换流,事务流是变换流的一种特殊形式为什么要将事务型的数据流图独立出来考虑?大多数系统的数据流途中,事务流和变换流往往交织在一起,面向数据流的软件设计方法,8,混合型数据流图,面向数据流的软件设计方法,9,面向数据流的软件设计过程,面向数据流的设计方法的主要过程确定数据流的类型:变换流还是事务流划定流界将数据流图转换为软件结构通过设计复审和启发式策略精化所得到软
3、件结构,面向数据流的软件设计方法,10,面向数据流的软件设计方法,11,本讲内容,基本概念和软件设计过程变换分析方法事务分析方法启发式设计策略设计优化原则,面向数据流的软件设计方法,12,变换分析方法,基本思想通过一系列的设计步骤,将变换型的数据流图映射为软件结构输入:SRS(数据流图、数据字典、小说明)输出:软件总体结构,面向数据流的软件设计方法,13,步骤1.复审基本系统模型,什么是基本系统模型基本系统模型即SRS中的顶级数据流图为什么需要对基本系统模型进行复审对系统规格说明书和SRS进行评估,以确保系统的输入和输出数据符合实际,面向数据流的软件设计方法,14,步骤2.复审和精化数据流图,
4、为什么需要复审和精化数据流图确保DFD给出目标系统正确的逻辑模型以获得足够详细的DFD确保DFD中每个转换代表一个规模适中、相对独立的子功能,面向数据流的软件设计方法,15,步骤3.确定数据流图的类型,信息流都可用变换流表示,但是如果有明显的事务流特征,则还应采用事务流的映射方法设计人员负责判定在数据流图中占主导地位的信息流是变换流还是事务流,面向数据流的软件设计方法,16,划分因人而异,在一般情况下有点出入对整个目标软件系统的影响不是很大,步骤4.划分输入流、输出流边界,输入流处理部分变换中心输出流处理部分,面向数据流的软件设计方法,17,划分流界例子,面向数据流的软件设计方法,18,步骤5
5、.执行一级分解,任务:导出三个层次结构的软件结构底层模块:用于输入、输出和计算等基本功能中间层模块:协调、控制底层模块的工作高层模块:用于协调和控制所有的从属模块原则在确保完成系统功能并保持低耦合度、高内聚度的情况下尽可能的减少模块数目一级分解的结果可以用层次图、结构图等来表示,面向数据流的软件设计方法,19,一级分解例子,面向数据流的软件设计方法,20,步骤6.执行二级分解,任务把DFD中每个转换映射为软件结构中的模块方法从变换中心边界开始沿输入、输出通道向外移动,把输入、输出通道中的每个转换映射为软件结构中的一个模块沿着输入流到输出流的方向移动,将每个转换映射为相应的模块有必要为每一模块写
6、简要的处理说明,包括:进出模块的信息,模块处理功能的陈述,有关的限制和约束,面向数据流的软件设计方法,22,步骤7.精化软件结构改良软件质量,以“模块化”的思想,对软件结构中的模块进行拆并,以追求高内聚、低耦合、易实现、易测试、易维护的软件结构,面向数据流的软件设计方法,25,本讲内容,基本概念和软件设计过程变换分析方法事务分析方法启发式设计策略设计优化原则,面向数据流的软件设计方法,26,事务分析方法,当数据流具有明显的事务特征时,应该采用事务流的分析方法基本步骤步骤1.复审基本系统模型步骤2.复审和精化数据流图步骤3.确定数据流图的类型:变换流还是事务流,面向数据流的软件设计方法,27,步
7、骤4.识别事务流各个组成部分,把整个事务型DFD划分为以下三个部分接受路径部分:接受事务的输入事务处理中心动作路径部分判定在每一条动作路径上数据流的特征:变换流或者事务流,面向数据流的软件设计方法,28,事务型DFD划分例子,面向数据流的软件设计方法,29,步骤5.把事务型DFD映射为软件结构,面向数据流的软件设计方法,30,步骤6.分解精化事务结构以及每个动作路径,面向数据流的软件设计方法,31,步骤7.精化初步软件结构,面向数据流的软件设计方法,32,面向数据流的软件设计方法,33,本讲内容,基本概念和软件设计过程变换分析方法事务分析方法启发式设计策略设计优化原则,面向数据流的软件设计方法
8、,34,启发式设计策略,改造软件结构,降低耦合度,提高内聚度如果在几个模块中发现共有的子功能,一般应该将该子功能独立出来作为一个模块,以提高模块的独立性合并那些具有较多的控制信息传递的模块以降低模块之间的耦合度,面向数据流的软件设计方法,35,减少扇出,追求高扇入,一个好的软件结构通常顶层扇出较高,中间层扇出较低,底层又高扇入到公共模块中去,面向数据流的软件设计方法,36,使任一模块的作用域在其控制域内,作用域是指受模块内部判定影响的所有模块控制域是指其所有的下属模块,面向数据流的软件设计方法,37,其他启发式设计策略,降低模块接口复杂度和冗余度,提高协调性模块接口应尽可能简单并与模块功能相一致如:Sort(Data;Number)-Sort(Data)模块功能可预测,避免对模块施加过多限制模块的功能可预测是指输入恒定,则输出恒定追求单入口、单出口的模块为满足设计和可移植性要求,把某些软件用包封装起来,面向数据流的软件设计方法,38,本讲内容,基本概念和软件设计过程变换分析方法事务分析方法启发式设计策略设计优化原则,面向数据流的软件设计方法,39,设计优化原则,在先不考虑时间复杂度的情况下设计并精化软件结构借用CASE工具模拟分析运行性能,定位低效率的部分详细设计时对耗时的模块进行仔细的推敲,以减少模块的运行开销用高级语言编写对大量占用CPU资源的模
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 二零二五年度数据中心基础设施建设材料采购合同范本
- 二零二五年度安全生产标准化管理体系优化服务合同
- 二零二五版智慧交通基础设施建设项目合同
- 二零二五年农业技术保密合同协议
- 二零二五年度便利店加盟合同中关于财务结算规定
- 2025版彩钢瓦施工全过程质量控制与验收服务协议
- 二零二五年城市绿化工程安装服务外包专项合同
- 2025版拆除工程拆除物检测与鉴定服务合同
- 二零二五年度城市更新改造BT项目合作协议
- 2025版茶叶仓储物流服务合同高效版
- 思维导图画出好作文宣讲公开课获奖课件省赛课一等奖课件
- 新办公楼会议室音视频系统施工方案
- 第10课《我们不乱扔》(教学设计)-部编版道德与法治二年级上册
- 专题01 三角形【11个考点知识梳理、题型解题方法、专题过关】(原卷版)
- 2023-2024学年山东省济宁市高二下学期7月期末考试物理试题(解析版)
- 第14章第1节热机-课件(共21张课件)-人教版初中物理九年级全一册.课件
- 2025届浙江省乐清市知临中学高一数学第一学期期末检测试题含解析
- 食用菌厂房建设合同范本
- 湖南省五市十校2024-2025学年高一数学上学期第一次12月联考试题
- 北京市西城区北京市第四中学2024-2025学年七年级上学期分班考数学试卷
- 《论语》全文带拼音有注释(完整版)
评论
0/150
提交评论