I2SE6--面向数据流图设计

上传人:n**** 文档编号:50707951 上传时间:2018-08-10 格式:PPT 页数:41 大小:505.50KB
返回 下载 相关 举报
I2SE6--面向数据流图设计_第1页
第1页 / 共41页
I2SE6--面向数据流图设计_第2页
第2页 / 共41页
I2SE6--面向数据流图设计_第3页
第3页 / 共41页
I2SE6--面向数据流图设计_第4页
第4页 / 共41页
I2SE6--面向数据流图设计_第5页
第5页 / 共41页
点击查看更多>>
资源描述

《I2SE6--面向数据流图设计》由会员分享,可在线阅读,更多相关《I2SE6--面向数据流图设计(41页珍藏版)》请在金锄头文库上搜索。

1、第6讲 面向数据流的软件设计方法软件工程导论 之用工程化的方法来开发软件用工程化的方法来开发软件1面向数据流的软件设计方法前言n软件设计基础知识n软件的需求分析及其需求规格说明书(SRS)n软件的SRS - 软件设计信息n面向数据流的设计方法:提供了方法和策 略2面向数据流的软件设计方法本讲内容l基本概念和软件设计过程l变换分析方法l事务分析方法l启发式设计策略l设计优化原则3面向数据流的软件设计方法面向数据流设计基本概念和过程n前提 经过评审后的需求模型 - 数据流图4面向数据流的软件设计方法数据流的类型n变换流 信息通常以“外部世界”所具有的形式进入系统 ,经过处理后,又以这种形式离开系统

2、5面向数据流的软件设计方法事务型的数据流图n数据沿输入通道到达一个转换,该转换根 据输入流类型和特征在若干动作序列中选 择一条来执行 输入数据(事务) 具有一个转换(事务中心) 一组动作执行路径6面向数据流的软件设计方法数据流图类型的特点n实际上所有的数据流图都是变换流,事务 流是变换流的一种特殊形式 n为什么要将事务型的数据流图独立出来考 虑?n大多数系统的数据流途中,事务流和变换 流往往交织在一起7面向数据流的软件设计方法混合型数据流图8面向数据流的软件设计方法面向数据流的软件设计过程n 面向数据流的设计方法的主要过程 确定数据流的类型:变换流还是事务流 划定流界 将数据流图转换为软件结构

3、 通过设计复审和启发式策略精化所得到软件结 构9面向数据流的软件设计方法10面向数据流的软件设计方法本讲内容l基本概念和软件设计过程l变换分析方法l事务分析方法l启发式设计策略l设计优化原则11面向数据流的软件设计方法变换分析方法n基本思想 通过一系列的设计步骤,将变换型的数据流图 映射为软件结构 输入:SRS(数据流图、数据字典、小说明) 输出:软件总体结构12面向数据流的软件设计方法步骤1. 复审基本系统模型n 什么是基本系统模型 基本系统模型即SRS中的顶级数据流图n 为什么需要对基本系统模型进行复审 对系统规格说明书和SRS进行评估,以确保系 统的输入和输出数据符合实际13面向数据流的

4、软件设计方法步骤2. 复审和精化数据流图n为什么需要复审和精化数据流图 确保DFD给出目标系统正确的逻辑模型 以获得足够详细的DFD 确保DFD中每个转换代表一个规模适中、相对 独立的子功能14面向数据流的软件设计方法步骤3. 确定数据流图的类型n信息流都可用变换流表示,但是如果有明 显的事务流特征,则还应采用事务流的映 射方法n设计人员负责判定在数据流图中占主导地 位的信息流是变换流还是事务流15面向数据流的软件设计方法划分因人而异,在一般情况下有点出入对整个 目标软件系统的影响不是很大步骤4. 划分输入流、输出流边界n输入流处 理部分n变换中心n输出流处 理部分16面向数据流的软件设计方法

5、划分流界例子17面向数据流的软件设计方法步骤5. 执行一级分解n任务: 导出三个层次结构的软件结构 底层模块:用于输入、输出和计算等基本功能 中间层模块:协调、控制底层模块的工作 高层模块:用于协调和控制所有的从属模块n原则 在确保完成系统功能并保持低耦合度、高内聚度的情 况下尽可能的减少模块数目n一级分解的结果可以用层次图、结构图等来表示18面向数据流的软件设计方法一级分解例子 19面向数据流的软件设计方法步骤6. 执行二级分解n任务 把DFD中每个转换映射为软件结构中的模块n方法 从变换中心边界开始沿输入、输出通道向外移动,把 输入、输出通道中的每个转换映射为软件结构中的 一 个模块 沿着

6、输入流到输出流的方向移动,将每个转换映射为 相应的模块n有必要为每一模块写简要的处理说明,包括:进 出模块的信息,模块处理功能的陈述,有关的限 制和约束20面向数据流的软件设计方法21面向数据流的软件设计方法步骤7. 精化软件结构改良软件质量n以“模块化”的思想,对软件结构中的模块 进行拆并,以追求高内聚、低耦合、易实 现、易测试、易维护的软件结构22面向数据流的软件设计方法23面向数据流的软件设计方法24面向数据流的软件设计方法本讲内容l基本概念和软件设计过程l变换分析方法l事务分析方法l启发式设计策略l设计优化原则25面向数据流的软件设计方法事务分析方法n当数据流具有明显的事务特征时,应该

7、采 用事务流的分析方法n基本步骤 步骤1. 复审基本系统模型 步骤2. 复审和精化数据流图 步骤3. 确定数据流图的类型:变换流还是事务 流26面向数据流的软件设计方法步骤4.识别事务流各个组成部分n把整个事务型DFD划分为以下三个部分 接受路径部分:接受事务的输入 事务处理中心 动作路径部分n判定在每一条动作路径上数据流的特征: 变换流或者事务流27面向数据流的软件设计方法事务型DFD划分例子28面向数据流的软件设计方法步骤5.把事务型DFD映射为软件结构29面向数据流的软件设计方法步骤6.分解精化事务结构以及每个动 作路径30面向数据流的软件设计方法步骤7. 精化初步软件结构31面向数据流

8、的软件设计方法32面向数据流的软件设计方法本讲内容l基本概念和软件设计过程l变换分析方法l事务分析方法l启发式设计策略l设计优化原则33面向数据流的软件设计方法启发式设计策略n改造软件结构,降低耦合度,提高内聚度 如果在几个模块中发现共有的子功能,一般应 该将该子功能独立出来作为一个模块,以提高 模块的独立性 合并那些具有较多的控制信息传递的模块以降 低模块之间的耦合度34面向数据流的软件设计方法减少扇出,追求高扇入n 一个好的软件结构通常顶层扇出较高,中 间层扇出较低,底层又高扇入到公共模块 中去35面向数据流的软件设计方法使任一模块的作用域在其控制域内n作用域是指受模块内部判定影响的所有模

9、 块n控制域是指其所有的下属模块36面向数据流的软件设计方法其他启发式设计策略n降低模块接口复杂度和冗余度,提高协调 性 模块接口应尽可能简单并与模块功能相一致如 : Sort(Data; Number) -Sort(Data)n模块功能可预测,避免对模块施加过多限 制 模块的功能可预测是指输入恒定,则输出恒定n追求单入口、单出口的模块n为满足设计和可移植性要求,把某些软件 用包 封装起来37面向数据流的软件设计方法本讲内容l基本概念和软件设计过程l变换分析方法l事务分析方法l启发式设计策略l设计优化原则38面向数据流的软件设计方法设计优化原则n在先不考虑时间复杂度的情况下设计并精化软件 结构n借用CASE工具模拟分析运行性能,定位低效率 的部分n详细设计时对耗时的模块进行仔细的推敲,以减 少模块的运行开销n用高级语言编写n对大量占用CPU资源的模块必要时用低级语言重 新进行编码,以提高效率39面向数据流的软件设计方法本讲小结l基本概念和软件设计过程l变换分析方法l事务分析方法l启发式设计策略l设计优化原则40面向数据流的软件设计方法思考题n你觉得在进行软件设计时,除了上述启发 式设计策略和优化原则之外,还应考虑那 些问题?41面向数据流的软件设计方法

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 电子/通信 > 综合/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号