- 1、本文档共92页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机科学与工程学院 * * 计算机科学与工程学院 * * 举例 计算机科学与工程学院 * * 5. 混合流分析与设计 基本思路: (1)首先利用变换分析方法把软件系统分为输入、变换和输出三部分,由此设计出软件系统的上层构架,例如,顶层和第一层模块; (2)然后根据数据流程图各个部分的结构特点,适当地选择变换分析或事务分析,由此设计出软件系统的下层结构。 计算机科学与工程学院 * * 混合数据流 计算机科学与工程学院 * * 混合型数据流程图映射的软件结构图 计算机科学与工程学院 * * SD的总体过程: “变换” “事务” 精化数据流图 流类型 区分事务中心和数据接收通路 区分输入和 输出分支 映射成事务结构 映射成变换结构 用启发式设计规则精化软件结构 导出接口描述和 全程数据结构 复 查 详细设计 变换分析 事务分析 优化的前题是:“Get it to work, then make it fast.” 计算机科学与工程学院 * * 计算机科学与工程学院 * * 6. 软件模块结构的改进(启发式原则) 模块功能的完善化一个完整的模块应当有以下几部分:① 执行规定的功能的部分;② 出错处理部分。当模块不能完成规定的功能时,必须回送出错标志,出现例外情况的原因。③ 如果需要返回数据给它的调用者,在完成数据加工或结束时, 应当给它的调用者返回一个状态码。 计算机科学与工程学院 * * 消除重复功能,改善软件结构① 完全相似:在结构上完全相似,可能只是在数据类型上不一致。此时可以采取完全合并的方法。② 局部相似:找出其相同部分,分离出去,重新定义成一个独立的下一层模块。还可以与它的上级模块合并。 计算机科学与工程学院 * * 计算机科学与工程学院 * * 模块的作用范围应在控制范围之内 模块的控制范围包括它本身及其所有的从属模块。 模块的作用范围是指模块内一个判定的作用范围,凡是受这个判定影响的所有模块都属于这个判定的作用范围。 如果一个判定的作用范围包含在这个判定所在模块的控制范围之内,则这种结构是简单的,否则,它的结构是不简单的。 计算机科学与工程学院 * * 控制域 M A C B M的控制域为 {M,A,B,C} ? 作用域:M中的一个判定所影响的模块。 例如: A: ………… if …… then goto B1 ………… ………… B: ………… ………… B1: ………… ………… 作用域在控制域内 A: ………… if …… then goto M1 ………… ………… M: ………… ………… M1: goto C1 ………… ………… 作用域超出了控制域 上例中A的作用超出了控制域。改进方法之一,可以把A中的 if 移到M中;方法之二,可以把C移到A下面。 计算机科学与工程学院 * * 尽可能减少高扇出结构,随着深度增大扇入。如果一个模块的扇出数过大,就意味着该模块过分复杂,需要协调和控制过多的下属模块。应当适当增加中间层次的控制模块。 计算机科学与工程学院 * * 避免或减少使用病态联接应限制使用如下三种病态联接:① 直接病态联接 即模块A直接从模块B内部取出某些数据,或者把某些数据直接送到模块B内部。 计算机科学与工程学院 * * ② 公共数据域病态联接 模块A和模块B通过公共数据域,直接传送或接受数据,而不是通过它们的上级模块。这种方式将使得模块间的耦合程度剧增。它不仅影响模块A和模块B,而且影响与公共数据域有关联的所有模块。 ③ 通信模块联接 即模块A和模块B通过通信模块TABLEIT传送数据。从表面看,这不是病态联接,因为模块A和模块B都未涉及通信模块TABLEIT 的内部。然而,它们之间的通信(即数据传送)没有通过它们的上级模块。从这个意义上讲,这种联接是病态的。 计算机科学与工程学院 * * 模块的大小要适中模块的大小,可以用模块中所含语句的数量的多少来衡量。把模块的大小限制在一定的范围之内。通常规定其语句行数在50~100左右,保持在一页纸之内,最多不超过500行。 设计功能可预测的模块,但要避免过分受限制的模块 一个功能可预测的模块,不论内部处理细节如何,但对相同的输入数据,总能产生同样的结果。但是,如果模块内部蕴藏有一些特殊的鲜为人知的功能时,这个模块就可能是不可预测的。对于这种模块,如果调用者不小心使用,其结果将不可预测。 计算机科学与工程学院 * * 如果一个模块的局部数据结构的大小、控制流的选择或者与外界(人、硬软件) 的接口模式被限制死了,则很难适应用户新的要求或环境的变更。 为了能够适应将来的变更,软件模块中局部数据结构的大小应当是
您可能关注的文档
最近下载
- 高中地理三年教学规划.docx VIP
- 金属非金属矿山尾矿库安全质量标准化标准及考核评级办法24.pdf
- 法官违法举报信范文.docx
- 谅解书(范本)( word 版).docx
- 黑龙江省“六校联盟”2025届高三1月联合适应性测试 数学试卷(含答案).pdf
- 40万吨年MDI项目(和山巨力化工)环境影响报告.pdf
- 黑龙江省“六校联盟”2025届高三上学期联合适应性考试数学试题(含答案).pdf VIP
- 福建省高中名校2025学年高三年级第一学期期末数学试卷(附答案)2025.pdf VIP
- 2025高考语文60篇古诗文原文+翻译+赏析+情景默写.pdf VIP
- 掺合料试题带答案.docx VIP
文档评论(0)