I2SE6--面向数据流图设计._第1页
I2SE6--面向数据流图设计._第2页
I2SE6--面向数据流图设计._第3页
I2SE6--面向数据流图设计._第4页
I2SE6--面向数据流图设计._第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、面向数据流的软件设计方法面向数据流的软件设计方法 1 软件工程导论软件工程导论 之之 面向数据流的软件设计方法面向数据流的软件设计方法 2 n软件设计基础知识 n软件的需求分析及其需求规格说明书(SRS) n软件的SRS - 软件设计信息 n面向数据流的设计方法:提供了方法和策略 面向数据流的软件设计方法面向数据流的软件设计方法 3 l基本概念和软件设计过程 l变换分析方法 l事务分析方法 l启发式设计策略 l设计优化原则 面向数据流的软件设计方法面向数据流的软件设计方法 4 输输入入流流 输输出出流流 变变换换流流 时时间间 外外部部表表示示 内内部部表表示示 信信息息 订订票票员员 订订票

2、票员员 预预定定 机机票票 准准备备 机机票票 记记帐帐 订订票票单单 航航班班目目录录 航航班班号号 航航班班 费费用用 帐帐单单 机机票票 记记帐帐数数据据库库 帐帐目目 n前提 经过评审后的需求模型 - 数据流图 面向数据流的软件设计方法面向数据流的软件设计方法 5 n变换流 信息通常以“外部世界”所具有的形式进入系 统,经过处理后,又以这种形式离开系统 输输入入流流 输输出出流流 变变换换流流 时时间间 外外部部表表示示 内内部部表表示示 信信息息 订订票票员员 订订票票员员 预预定定 机机票票 准准备备 机机票票 记记帐帐 订订票票单单 航航班班目目录录 航航班班号号 航航班班 费费

3、用用 帐帐单单 机机票票 记记帐帐数数据据库库 帐帐目目 面向数据流的软件设计方法面向数据流的软件设计方法 6 事事务务处处理理中中心心 动动作作路路径径 事事务务 n数据沿输入通道到达一个转换,该转换根据 输入流类型和特征在若干动作序列中选择一 条来执行 输入数据(事务) 具有一个转换(事务中心) 一组动作执行路径 面向数据流的软件设计方法面向数据流的软件设计方法 7 n实际上所有的数据流图都是变换流,事务流 是变换流的一种特殊形式 n为什么要将事务型的数据流图独立出来考虑? n大多数系统的数据流途中,事务流和变换流 往往交织在一起 面向数据流的软件设计方法面向数据流的软件设计方法 8 a

4、b c d e q r s p 事事务务处处理理中中心心 面向数据流的软件设计方法面向数据流的软件设计方法 9 n 面向数据流的设计方法的主要过程 确定数据流的类型:变换流还是事务流 划定流界 将数据流图转换为软件结构 通过设计复审和启发式策略精化所得到软件结 构 面向数据流的软件设计方法面向数据流的软件设计方法 10 流流 类类 型型 确确 定定 事事务务 中中 心心和和 动动作作 路路 径径 映映 射射 为为事事 务务 结结构构 确确 定定 输输入入 和和 输输出出 流流界界 映映 射射 为为变变 换换 结结构构 利利 用用 启启发发 式式 策策略略 精精化化 设设 计计 描描 述述 接接

5、口口 和和 数数据据 设设计计 复复 审审 详详 细细 设设计计 精精 化化 数数据据 流流 图图 事事 务务 流流 变变 换换 流流 变变 换换 分分 析析 法法 事事务务分分析析法法 有有 问问 题题 面向数据流的软件设计方法面向数据流的软件设计方法 11 l基本概念和软件设计过程 l变换分析方法 l事务分析方法 l启发式设计策略 l设计优化原则 面向数据流的软件设计方法面向数据流的软件设计方法 12 n基本思想 通过一系列的设计步骤,将变换型的数据流图 映射为软件结构 输入:SRS(数据流图、数据字典、小说明) 输出:软件总体结构 面向数据流的软件设计方法面向数据流的软件设计方法 13

6、n 什么是基本系统模型 基本系统模型即SRS中的顶级数据流图 n 为什么需要对基本系统模型进行复审 对系统规格说明书和SRS进行评估,以确保系 统的输入和输出数据符合实际 面向数据流的软件设计方法面向数据流的软件设计方法 14 n为什么需要复审和精化数据流图 确保DFD给出目标系统正确的逻辑模型 以获得足够详细的DFD 确保DFD中每个转换代表一个规模适中、相对 独立的子功能 面向数据流的软件设计方法面向数据流的软件设计方法 15 n信息流都可用变换流表示,但是如果有明显 的事务流特征,则还应采用事务流的映射方 法 n设计人员负责判定在数据流图中占主导地位 的信息流是变换流还是事务流 面向数据

7、流的软件设计方法面向数据流的软件设计方法 16 划分因人而异,在一般情况下有点出入对整个划分因人而异,在一般情况下有点出入对整个 目标软件系统的影响不是很大目标软件系统的影响不是很大 n输入流处 理部分 n变换中心 n输出流处 理部分 输输入入流流 输输出出流流 变变换换流流 时时间间 外外部部表表示示 内内部部表表示示 信信息息 面向数据流的软件设计方法面向数据流的软件设计方法 17 I D A C E F G H B J 输输出出流流 输输入入流流 变变换换流流 面向数据流的软件设计方法面向数据流的软件设计方法 18 n任务: 导出三个层次结构的软件结构 底层模块:用于输入、输出和计算等基

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

9、映射为软件结构中的 一个模 块 沿着输入流到输出流的方向移动,将每个转换映射为 相 应的模块 n有必要为每一模块写简要的处理说明,包括:进出 模块的信息,模块处理功能的陈述,有关的限制和 约束 面向数据流的软件设计方法面向数据流的软件设计方法 21 I D A C E F G H B J 主主 控控 模模 块块 输输 入入 流流 控控 制制 模模 块块 变变 换换 流流 控控 制制 模模 块块 输输 出出 流流 控控 制制 模模 块块 输输 出出 流流 输输 入入 流流 变变 换换 流流 B D A C E F G H I J 面向数据流的软件设计方法面向数据流的软件设计方法 22 n以“模块

10、化”的思想,对软件结构中的模块 进行拆并,以追求高内聚、低耦合、易实现、 易测试、易维护的软件结构 面向数据流的软件设计方法面向数据流的软件设计方法 23 I D A C E F G H B J 主主 控控 模模 块块 输输 入入 流流 控控 制制 模模 块块 变变 换换 流流 控控 制制 模模 块块 输输 出出 流流 控控 制制 模模 块块 输输 出出 流流 输输 入入 流流 变变 换换 流流 B D A C E F G H I J 面向数据流的软件设计方法面向数据流的软件设计方法 24 I D A C E F G H B J 主主控控模模块块 输输入入流流控控制制模模块块 变变换换流流控控

11、制制模模块块 输输出出流流 输输入入流流 变变换换流流 B D A C E F G H I J 面向数据流的软件设计方法面向数据流的软件设计方法 25 l基本概念和软件设计过程 l变换分析方法 l事务分析方法 l启发式设计策略 l设计优化原则 面向数据流的软件设计方法面向数据流的软件设计方法 26 n当数据流具有明显的事务特征时,应该采用 事务流的分析方法 n基本步骤 步骤1. 复审基本系统模型 步骤2. 复审和精化数据流图 步骤3. 确定数据流图的类型:变换流还是事务 流 面向数据流的软件设计方法面向数据流的软件设计方法 27 n把整个事务型DFD划分为以下三个部分 接受路径部分:接受事务的

12、输入 事务处理中心 动作路径部分 n判定在每一条动作路径上数据流的特征:变 换流或者事务流 面向数据流的软件设计方法面向数据流的软件设计方法 28 A B C D E Q R S P 事事务务处处 理理中中心心 接接受受路路径径部部分分 动动作作路路径径部部分分 面向数据流的软件设计方法面向数据流的软件设计方法 29 A B C D E Q R P 总总 控控 模模块块 输输 入入 控控制制 模模 块块 C C1 Cn 一一 条条 动动作作 路路 径径 事事 务务 处处 理理 中中 心心 散散 转转 面向数据流的软件设计方法面向数据流的软件设计方法 30 A B C D E Q R P 总总

13、控控 模模 块块 B Q C C1 P A R 一一 条条 动动 作作 路路 径径 事事 务务 处处 理理 中中 心心 输输 入入 控控 制制 面向数据流的软件设计方法面向数据流的软件设计方法 31 A B C D E Q R P 总控模块总控模块 B Q C C1 P A R 一条动作路径一条动作路径 事务处事务处 理中心理中心 输入控制输入控制 面向数据流的软件设计方法面向数据流的软件设计方法 32 A B C D E Q R P 总总 控控 模模 块块 B Q C C1 P A R 一一 条条 动动 作作 路路 径径 事事 务务 处处 理理 中中 心心 面向数据流的软件设计方法面向数据流

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

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

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论