传统的软工程方法PPT课件.ppt_第1页
传统的软工程方法PPT课件.ppt_第2页
传统的软工程方法PPT课件.ppt_第3页
传统的软工程方法PPT课件.ppt_第4页
传统的软工程方法PPT课件.ppt_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

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

文档简介

第一部分传统的软件工程方法 第二章系统分析第三章需求分析第四章软件设计第五章软件测试 1 第四章软件设计 4 1软件设计的目标和任务4 2软件的设计基础4 3模块的独立性4 4结构设计中的图形工具4 5概要设计的方法4 6详细设计的描述方法4 7 软件设计说明书 4 8本章重点 2019 12 27 2 结构化设计方法 SD 国际上应用最广 技术上比较完善的系统设计方法 4 5概要设计的方法 结构化设计方法 SD 是以数据流图为基础的 它定义了把数据流图变换成软件结构的不同映射方法 所以这种方法也称为面向数据流的设计方法 2019 12 27 3 面向数据流设计方法的任务 映射DFD软件系统的结构软件系统软件结构的逻辑模型初始结构描述 4 5概要设计的方法 2019 12 27 4 4 5 1数据流图类型 变换型 特点 具有较明显的输入 变换 或称主加工 和输出界面的数据流图 即该类数据流图可明显的分为输入 主加工和输出三部分 2019 12 27 5 4 5 1数据流图类型 事务型 特点 某个加工将它的输入分离成一串发散的数据流 形成许多活动路径 并根据输入的值选择其中的一条路径 2019 12 27 6 T 事务中心 传入 变换 传出 大型系统DFD中 变换型和事务型往往共存 2019 12 27 7 1 区分输入 变换中心 输出部分 在DFD上标明分界线 4 5 2变换分析设计方法 输入边界 从物理输入端开始 一步步的向系统内移动 直到某个数据流不能被看作是系统的输入为止 则这个数据流的前一个数据流就是系统的逻辑输入 离物理输入最远 而仍被看作系统的输入的那个数据流 输出边界 从物理输出端开始 一步步的向系统内移动 同样可以找到逻辑输出 离物理输出最远 而仍被看作系统的输出的那个数据流 主加工 逻辑输入与逻辑输出之间的部分 2019 12 27 8 B C A D E Q P R W U V a b c e d r p u w v 变换中心 输入部分 输出部分 2019 12 27 9 2 第一级分解 建立初始SC框架 设计顶层和第一层模块 变换分析设计方法步骤 2019 12 27 10 MC MT MA ME 第一层 顶层 c e c e u w u w 传送信息 第一级分解后的SC 2019 12 27 11 MC MA1 c e u w c p MA2 Q P R ME1 ME2 e p r r w u w 第一级分解后的SC 另一种画法 2019 12 27 12 3 第二级分解 分解SC各分支 自顶向下分解 设计出每个分支的中 下层模块 变换分析设计方法步骤 2019 12 27 13 输入分支的分解 1 MA C B A b a c E D d e c e 2019 12 27 14 输入分支的分解 2 MA GetC b a c ReadD d e c e BtoC b c d e a b GetE GetB DtoE AtoB ReadD 2019 12 27 15 输出分支的分解 ME W WriteV u u w u v v v PutU UtoV ME U WriteW w w u w u V 1 2 2019 12 27 16 MT P Q R e c p r u w p r 中心加工分支的分解 2019 12 27 17 任何情况下都可使用变换分析方法设计软件结构 但如数据流具有明显的事务特点时 有一个明显的事务中 以采用事务分析方法为宜 4 5 3事务分析设计方法 2019 12 27 18 1 在DFD上确定事务中心 接收部分和发送部分 2 画出SC框架 把DFD上的三部分分别映射为事务控制模块 接收模块和动作发送模块 3 分解细化接收分支和发送分支 完成初始SC 事务分析设计方法步骤 2019 12 27 19 T 事务中心 传入 变换 传出 接收部分 发送部分 事务型DFD的划分 2019 12 27 20 事务控制 接收 顶层 发送 第一层 事务型SC的上层结构 1 2019 12 27 21 事务控制 事务分析 发送 N S图 事务型SC的上层结构 2 2019 12 27 22 P T2 T1 Ti A2 D2 A1 D1 A3 Aj Dk 事务层 操作层 细节层 处理层 动作分支的典型结构 2019 12 27 23 A C1 C2 C3 B D G E J F K L c1 c2 b2 b1 b3 b a c3 d g f j h e k l m 练习 从下DFD导出初始SC 2019 12 27 24 将初始SC根据模块独立性原则进行精化 对模块进行合并 分解修改 调整 得到高内聚 低耦合模块 得到易于实现 易于测试和易于维护的软件结构 产生设计文档的最终SC 4 5 4设计优化 2019 12 27 25 1 模块功能的完善化 2 消除重复功能 3 作用范围应在控制范围内 4 减少高扇出争取高扇入 5 模块大小适中 6 降低模块接口的复杂性 7 模块功能可预测 改进软件结构的指导原则 2019 12 27 26 完整的模块应包括三部分 1 执行规定功能部分 2 出错处理部分 3 需返回给调用者数据时 返回是否正确结束标志 1 模块功能的完善化 2019 12 27 27 A C B C A B C 改进前 改进后 2 消除重复功能 2019 12 27 28 模块的控制范围 控制域 包括模块本身和其下属模块的集合 3 作用范围在控制范围内 模块的作用范围 作用域 指受该模块内一个条件判定影响的所有模块的集合 两者区别 控制域是从结构方面考虑的作用域是从功能方面考虑的 2019 12 27 29 A F B C E M D G 条件判定 模块A的作用范围 A B C D E F 模块的作用范围和控制范围 2019 12 27 31 把一个条件判定的作用范围限制在判定所在模块的控制范围之内 作用域是控制域的子集 作用范围 控制范围原则 2019 12 27 32 判定位置违反了作用范围 控制范围原则 TOP A B C D G E 条件判定 判定的作用范围有一部分 模块C 越出了判定所在模块G的控制范围 GDBC 2019 12 27 33 符合作用范围 控制范围原则 但判定位置太高 TOP A B C D G E 条件判定 TOPBDG TOPBC 2019 12 27 34 符合作用范围 控制范围原则 判定位置适中 TOP A G C D B E 条件判定 BDG BC 2019 12 27 35 符合作用范围 控制范围的理想判定位置 TOP A G E B D C 条件判定 DG DE 2019 12 27 36 1 将包含条件判定的模块合并到它的调用模块中 使判定处于较高位置 2 将接受判定影响的模块下移到控制范围内 3 增加模块的重用性 4 减少高扇出 争取高扇入 修改模块结构方法 2019 12 27 37 模块过大 可理解程度下降模块过小 开销大于有效操作系统接口复杂 5 模块大小适中 2019 12 27 38 接口传递信息应简单且和模块功能一致 6 降低模块接口的复杂性 2019 12 27 39 例 求一元二次方程的根设求根模块调用形式为 1 QUAD ROOT TBL X 传递系数的数组存放根的数组 2 QUAD ROOT A B C ROOT1 ROOT2 A B C为方程系数ROOT1 ROOT2是两个根 2019 12 27 40 模块看成黑盒子 相同输入产生相同输出 其功能为可预测的 模块带有内部状态其功能可能是不可预测的 难理解 难测试 难维护 7 模块功能可预测 2019 12 27 41 详细设计工具 1 图形工具 2 表格工具 3 语言工具 4 6详细设计的描述方法 详细设计给出软件模块结构中各个模块的内部实现过程描述 2019 12 27 42 1 程序流程图 2 盒图 N S图 3 问题分析图 PAD 4 过程设计语言 PDL 伪码 5 判定表 程序设计工具 2019 12 27 43 用方框图代替传统的流程图描述五种基本控制结构的图形构件 1 顺序型 A B C 2 盒图 N S图 2019 12 27 44 A B F 条件 T A F T 条件 then 部分 then 部分 else 部分 If then elseIf then 2 选择型 If then else 2019 12 27 45 A1 值1 A2 An 条件 值2 值n 3 多分支选择型 CASE型 2019 12 27 46 4 WHILE重复型 5 UNTIL重复型 S 循环体 DO WHILEP S 循环体 REPEATUNTILP 先测试循环 后测试循环 循环条件 2019 12 27 47 A1 A2 An 6 并行结构 2019 12 27 48 A C B F X6 T A D 调用结构 7 移出标记 2019 12 27 49 ProblemAnalysisDiagram 基本控制结构 1 顺序结构 2 选择结构 A B C A B T F 条件 3 问题分析图 PAD 2019 12 27 50 WHILEC S UNTILC S 先测试循环 后测试循环 等价的PASCAL语言 REPEATCUNTILS 等价的PASCAL语言 WHILECDOS 3 重复结构 2019 12 27 51 A1 值1 值2 值n A2 An 条件 4 多分支选择型 CASE型 2019 12 27 52 4 7 概要设计说明书 1 1前言1 1目的1 2范围1 3定义 缩写词 略语1 4参考资料2任务概述 项目概述 2 1目标2 2运行环境2 3需求概述2 4条件与限制 2019 12 27 53 4 7 概要设计说明书 2 3总体设计3 1处理流程3 2总体结构和模块外部设计3 3功能分配3 4参考资料4接口设计4 1外部接口4 2内部接口 2019 12 27 54 4 7 概要设计说明书 4 5数据结构设计5 1逻辑结构设计5 2物理结构设计5 3数据结构与程序设计6运行设计6 1运行模块的组合6 2运行控制6 3运行时间 2019 12 27 55 4 7 概要设计说明书 5 7出错处理7 1出错输出信息7 2出错处理对策8安全保密设计9维护设计 2019 12 27 56 4 7 详细设计说明书 1 1前言1 1目的1 2范围1 3定义 缩写词 略语1 4参考资料2总体设计2 1需求概述2 2软件结构 2019 12 27 57 4 7 详细设计说明书 2 3程序说明3 1功能3 2性能3 3输入 输出项目3 4算法

温馨提示

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

评论

0/150

提交评论