- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
浙江工商大学-软件工程导论_6_详细设计
6.5.1 McCabe方法 图6.15程序流程图映射成流图 用任何方法表示的过程设计结果,都可以翻译成流图。 图6.16是用PDL表示的处理过程及与之对应的流图。 6.5.1 McCabe方法 图6.16 由PDL翻译成的流图 当过程设计中包含复合条件时,生成流图的方法稍微复杂一些。所谓复合条件,就是在条件中包含了一个或多个布尔运算符(逻辑OR,AND,NAND,NOR)。 在这种情况下,应该把复合条件分解为若干个简单条件,每个简单条件对应流图中一个结点。 包含条件的结点称为判定节点,从每个判定结点引出两条或多条边。图6.17是由包含复合条件的PDL片断翻译成的流图。 6.5.1 McCabe方法 图6.17 由包含复合条件的PDL映射成的流图 2. 计算环形复杂度的方法 环形复杂度定量度量程序的逻辑复杂度。 利用流图,可以用下述3种方法中的任何一种来计算环形复杂度。 (1) 流图中的区域数等于环形复杂度。 (2) 流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数。 (3) 流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目。 6.5.1 McCabe方法 (1) 流图中的区域数等于环形复杂度;V(G)=4 (2) 流图G的环形复杂度V(G)=E-N+2,其中,E是流图中边的条数,N是结点数;E=11,N=9,V(G)=4 (3) 流图G的环形复杂度V(G)=P+1,其中,P是流图中判定结点的数目;P=3,V(G)=4。 3. 环形复杂度的用途 程序的环形复杂度取决于程序控制流的复杂程度,也即是取决于程序结构的复杂程度。 当程序内分支数或循环个数增加时,环形复杂度也随之增加,因此它是对测试难度的一种定量度量,也能对软件最终的可靠性给出某种预测。 McCabe研究大量程序后发现,环形复杂度高的程序往往是最困难、最容易出问题的程序。实践表明,模块规模以V(G)≤10为宜,也就是说,V(G)=10是模块规模的一个更科学更精确的上限。 6.5.1 McCabe方法 Halstead方法是根据程序中运算符和操作数的总数来度量程序的复杂程度。 令N1为程序中运算符出现的总次数,N2为操作数出现的总次数,程序长度N定义为:N=N1+N2。 详细设计完成之后,可以知道程序中使用的不同运算符(包括关键字)的个数n1,以及不同操作数(变量和常数)的个数n2。Halstead给出预测程序长度的公式如下:H=n1log2 n1+n2 log2n2 多次验证都表明,预测的长度H与实际长度N非常接近。 6.5.2 Halstead方法 Halstead还给出了预测程序中包含错误的个数的公式如下:E=N log2 (n1+n2)/3000 有人曾对从300条到12000条语句范围内的程序核实了上述公式,发现预测的错误数与实际错误数相比误差在8%之内。 6.5.2 Halstead方法 详细设计阶段的关键任务是确定怎样具体地实现用户需要的软件系统,以便将来编写出的程序: 可读性好 容易理解 容易测试 容易修改和维护 是详细设计阶段最重要的目标。 结构化设计可以帮助人们实现上述目标。 6.6 小结 人机界面设计是接口设计的一个重要的组成部分。人机界面的质量直接影响用户对软件产品的接受程度。 人机界面设计是一个迭代过程。 过程设计应该在数据设计、体系结构设计和接口设计完成之后进行,它的任务是设计解题的详细步骤(即算法),它是详细设计阶段应完成的主要工作。 过程设计的工具可分为图形、表格和语言3类,这3类工具各有所长,读者应该能够根据需要选用适当的工具。 6.6 小结 当应用领域中信息有清楚的层次结构,可采用面向数据结构的设计方法完成过程设计。 例如Jackson结构程序设计技术。 使用环形复杂度可以定量度量程序的复杂程度,实践表明,环形复杂度V(G)=10是模块规模的合理上限。 6.6 小结及作业 * 前面介绍的结构化设计是一种面向数据流的设计方法。下面介绍两种其它的设计方法---Jackson方法与LCP方法,它们都是面向数据结构的独立的系统设计方法。它们作为辅助的设计方法,配合SD方法使用. * * * 计划:第二十八讲到此为止。 * * * * * * * (1)按照在数据结构图中的层次,在程序结构图的相应层次,为每对有对应关系的数据单元,画一个处理框; (2)根据输入数据结构中剩余的每一个数据单元所处的层次,在程序结构图的相应层次,分别为它们画上对应的处理框; (3)根据输出数据结构中剩余的每一个数据单元所处的层次,在程序结构图的相应层次,分别为它们画上对应的处理框. 按上述规则得到程序结构图如下: * 6.3.3 PAD图 任务1 任务2 任务3 顺序结构 WHILE型条件 循环体 先判
您可能关注的文档
- 波的衍射 用的 3-4.ppt
- 泛亚的诞生 - 副本.pptx
- 注册咨询工程师继续教育 发展规划编制.docx
- 法律保护我们的生命健康权39p.ppt
- 法制:市场经济的护卫者》.ppt
- 泉工VI提案.ppt
- 注电基础资料-普通化学.ppt
- 泰国攻略,曼谷,沙美岛,大城,素可泰,清迈,pai行前攻略.doc
- 注重方法与技巧抢取高分有策略.doc
- 泰州中试施工组织设计0717.doc
- 浙江省嘉兴市一中2015-2016学年高一3月月考语文试卷.doc
- 浙教版天气与气候复习课.ppt
- 浙江省嘉兴市2016年中考英语试题(word版,含解析).doc
- 浙江省宁波市慈城中学2014-2015学年度七年级语文上册(人教新课标)课件:2+秋天的怀念.ppt
- 浙江省宁波市慈城中学七年级语文上册 9 王几何课件 (新版)新人教版.ppt
- 浙江省温州育英国际实验学校2013-2014学年高二上学期第三次调研考试语文试题.doc
- 浙江省湖州市2015-2016学年高一上学期期末历史试卷+Word版含解析.doc
- 浙江省湖州市第四中学八年级语文课件:藤野先生.ppt
- 浙教版八年级科学上册教学课件2.4风和降水(共46张PPT).ppt
- 浙江省瓯海区三溪中学苏教版语文选修《唐诗宋诗选读》第三专题+梦游天姥吟留别+课件(共42张PPT).ppt
最近下载
- GB50003-2011 砌体结构设计规范.doc VIP
- 三年级上册劳动人民版雏菊盆景迎重阳教学设计.docx VIP
- 沪教牛津版英语2024七年级上册全册知识清单(记忆版).pdf
- 2025年电子科技大学附属肿瘤医院·四川省肿瘤医院招聘笔试备考题库及答案解析.docx VIP
- 低空空域风切变灾害预警与飞行安全协同控制体系研究.docx VIP
- 2025至2030中国汽车检测行业发展分析及发展趋势分析与未来投资战略咨询研究报告.docx
- 力士乐样本1-液压泵和马达.pdf VIP
- 儿童,颜色,填涂画.docx VIP
- 第六单元+资本主义制度的初步确立+复习课件+2023--2024学年部编版九年级历史上学期.pptx VIP
- 学堂在线 人工智能原理 章节测试答案.docx VIP
文档评论(0)