软件工程8(二).pptVIP

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

* ****** 那么理想的情况,应该使判定的作用范围和判定所在模块的控制范围尽可能地吻合。 如改进后的理想模块,上图所示 从以上比较中可知,在一个设计得很好的系统模块结构图中,所有受一个判定影响的模块应该都从属于该判定所在的模块,最好局限于作出判定的那个模块本身及它的直接下属模块。如上图。 从该例子中可以的出:应该将与判定有影响的模块调整到上属模块所控制的范围之内。所以,大家应对模块的作用范围与模块的控制范围之间的关系要有所了解,以便对SC图做进一步的改进。 * 作用范围是一个与条件判定相联系的概念。 如:在上图中,为了确定需要计算工资工人属于哪一类,如果在“取得工资数据” 模块中加入判定工资类型的语句,显然,此时,判定的作用范围将超出“ 取得工资” 模块的控制范围(即只包含它自己本身!) ,为此违反了两个关系的原则,一个明显的不良后果是,在 “取得工资数据” 和计算实发工资“ 的两个模块中,都要将对 ”工资类型“ 进行重复的判定。 修正的方法是,应在“计算实发工资”模块内设有一判定语句,以判断包含在“工资数据”中的“工资类别”。 这样,哪一类的 “实发工资模块” 就会执行,将直接依赖于判定的结果。。我们把这个 “实发工资”的模块称为这一判定的作用范围。 * * 较好的软件模块结构,平均扇出是3-4。 另外,一个模块的扇入越大,则共享该模块的上级模块数目也就越多。但如果一个模块的扇入太大,例如超过8, 而它又不是公用模块,则说明该模块可能具有多个功能。在这种情况下应当对它 进一步分析并将其功能分解。 如上面的左下图所示,模块Q的扇入数是9,它又不是公用模块,通过分析得知它是3功能的模块。对它进行分解,增加三个中间模块Q1,Q2,Q3,而把真正公用部分提取出来留在Q中,使它成为这三个中间模块的公用模块,使各模块的功能单一化,从而改善模块结构。如右下图所示。 经验证明,一个 设计得好的软件模块结构,通常上层扇出比较高,中间层扇出较少,底层扇入到有高扇入的公用模块中。 * 模块的大小,可以 用模块中所含语句的数量的多少来衡量。经验表明:通常一个模块中语句的行数应在50-100行左右,最多不得超过500行。 实际上,体积大的模块往往是由于分解不充分,因此可以对功能进一步分解,生成一些下级模块或同级模块。反之,对于体积过小的模块也可以考虑是否可能与调用它的上级模块合并。 * 1、功能应该可预测的模块。 例如, A---------为不及格成绩处理模块。 。。。。。。 。。。。 2、避免过分受限制的模块。 例如,对于数组长度的使用限制,在成绩 处理中,由于要处理各班级人数不等,所以数组长度的定义应该随着学生人数的不同而确定。不同 * 图3.28修改贷款文件DFD 修改记录 写记录 卡片 编辑卡片 检查顺序 检查次序 账号相等 错误 顺序卡片 修改信息 旧记录 顺序记录 要修改的记录 不修改的记录 已修改的记录 新记录 抽出修改 抽出编辑 顺序卡片 修改信息 2 3 4 5 6 7 9 编辑卡片加工分解 主加工是?? 报告 报告 修改信息 顺序记录 新记录 修改贷款文件的DFD图 需求分析结果 — DFD 图 答案 主加工 图3.29模块结构图 贷款文件 管理系统 取顺序 记录 修改 记录 打印 报告 打印 记录 比较 账号 取修改 信息 读旧 记录 检查 顺序 取 卡片 读卡片 检查顺序 卡片 卡片 顺序 卡片 旧记录 旧记录 顺序记录 顺序记录 顺序卡片 顺序卡片 已修改 编辑 卡片 “编辑卡片”应继续向下分解,是典型的“事务处理”型的DFD图。 写 记录 写记录 旧记录 不修改的记录 已修改的记录 新记录 修改记录 卡片 编辑卡片 检查顺序 检查次序 账号相等 错误 顺序卡片 修改信息 顺序记录 要修改的记录 报告 转换后的模块图如图所示。 将DFD图转换为模块结构图 已编辑卡片 三、软件模块结构的改进 一、 模块功能的完善化 执行指定的功能部分 出错处理的部分。 练习:将DFD用变换分析和事务型 分析导出初始MSC c1 a A C1 C2 C3 B D G E J F K L c2 b2 b1 b3 b c3 d g f j h e k l m * * 初始MSC 系统 主加工 Put k Get d D Get c Put l K F E J G Write m L B to c Get

文档评论(0)

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

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

1亿VIP精品文档

相关文档