软件工程第5章总体设计最新汇编.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
软件工程第5章总体设计最新汇编

解决方案: 把模块A中的判定移到模块M中; 把模块G移到模块A下面,作为他的下级模块。 5. 力争降低模块接口的复杂程度 模块接口复杂是软件发生错误的一个主要原因。应该仔细设计模块接口,使得信息传递简单并且和模块的功能一致。 例:解一元二次方程的函数 QUAD_ROOT(TBL,X) 其中数组TBL传送方程的系数 数组X送回求得的根 QUAD_ROOT(A,B,C,ROOT1,ROOT2) 6. 设计单入口单出口的模块 不要使模块间出现内容耦合。 7. 模块功能应该可以预测 功能可预测:如果一个模块可以当做一个黑盒子,相同的输入产生相同的输出,这个模块的功能就是可以预测的。 架构视图是对于从某一视角或某一点上看到的系统所做的简化描述,描述中涵盖了系统的某一特定方面,而省略了于此方面无关的实体。 5.4 描绘软件结构的图形工具 5.4.1 层次图和HIPO图 1. 层次图(H图) 层次图用来描绘软件功能的层次结构。很适于在自顶向下设计软件的过程中使用。 层次图和层次方框图的区别: 层次图 层次方框图 作用 描绘软件结构 描绘数据结构 矩形框 模块 数据元素 连线 调用关系 组成关系 在线问卷调查系统的层次图 转换 从数据流图导出层次图: 数据流图的结构: 层次结构 变换型( Transform)结构 事务型(Transaction)结构 这三种结构可以分别通过层次转换、变换分析和事务分析方法导出标准形式的结构图。 层次转换:高层可以对应模块结构的层次,但中低层对应关系不明显。 变换分析:用来描述输入、处理、输出数据流。 事务分析:用来描述多种事务类型的处理。 变换分析 对线性结构的DFD作分析,步骤: 划分数据流图的输入、主加工和逻辑输出 套用固定格式生成第1、2层模块结构图 对第2层模块进一步分解,构造完整的模块结构图 第1步 划分输入、处理(加工)、输出 原始数据 机内数据 正确数据 解 格式化解 输出解 逻辑输入 (物理输入) (物理输出) P1 读入 数据 P2 编辑 数据 P3 求解 P4 编辑 格式 P5 打印 输出 逻辑输出 第2步 构造第1、2层模块 第3步 继续分解 事务分析 对并行结构的DFD进行分析,如:根据输入数据判断业务类型,不同业务的具体处理过程有区别。 Q内容 B结果 C结果 B数据 A结果 清单 原始输入 A数据 P内容 C数据 R内容 决定 事务类型 打印 更新内容 事务A 事务B 事务C 更新P 更新Q 更新R 上图存在控制耦合,消除后: 层次的对应关系 数据流图的层次和结构图的层次存在一定的对应关系,但不是机械照搬。 M32 ........... ... .............. ............... .............. .............. P1.4 根据课本36-37页的数据流图得: 变换型例题1:下面以某个“学生档案管理系统”为例,对其进行总体设计。已知该系统的数据流图如下图所示。 区分数据流图中的输入流、变换流和输出流,得到该系统具有边界的数据流图,如下图所示。 经分析,得到学生档案管理系统的系统结构图,如下图所示。 由于使用系统时需要对用户的身份进行验证,因此可对“统计分析数据”等模块进行进一步的细分。对初步得到的系统结构图进行优化,可以进一步得到该系统优化的系统结构图,如下图所示。 变换型例题2:将下列数据流图映射为软件结构图 2. HIPO图 HIPO图是美国IBM公司发明的“层次图+输入/处理/输出图”的英文缩写。 为了能使HIPO图具有可追踪性,在H图(层次图)里除了最顶层的方框之外,每个方框都加了编号。 和H图中每个方框相对应,应该有一张IPO图描绘这个方框代表的模块的处理过程。模块在H图中的编号便于追踪了解这个模块在软件结构中的位置。 5.4.2 结构图 Yourdon提出的结构图是进行软件结构设计的另一个有力工具。 基本符号: 方框代表一个模块; 方框之间的直线表示模块的调用关系; 尾部是空心圆箭头表示传递的是数据; 尾部是实心圆箭头表示传递的是控制信息。 产生最佳解的一般结构图 附加符号: 选择调用:判定为真时调用A,为假时调用B。 循环调用:模块M循环调用模块A、B、C。 注意: 层次图和结构图并不严格表示模块的调用次序; 层次图和结构图并不指明何时调用下层模块; 层次图和结构图只表明一个模块调用那些模块,没有表示模块内还有没有其他成分; 通常用层次图作为描绘软件结构的文档; 由层次图导出结构图的过程,可以作为检查设计正确性和评价模块独立性的好方法。 本章小结 评价: 系统中至少必须存在这种耦合。一般说来,一个系统内可以只包含数据耦合。 数据耦合是理想的目标。 维护更容易,对一个模块的

文档评论(0)

wyjy + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档