- 1、本文档共81页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * * * * * * * * * JSP方法 特点: 重点不是自顶向下逐步求精,而是在数据结构基础上进行构造 根据输入/输出的数据结构建立程序结构 目标: 获得简单清晰的设计方案 设计原则: 使程序结构与问题结构(数据结构)相对应 数据结构和程序结构 一般的数据处理系统,处理的是具有层次结构的数据,因而其问题结构,可以用它所处理的数据结构来表示 数据结构与程序结构的表示 采用Jackson图来表示数据结构和程序结构 结构图是一种从左到右阅读的树状层次结构图 数据结构图中方框表示数据,程序结构图中方框就表示模块(过程或函数) 底部的叶子节点称为基本元素 在底部枝干以上的节点称为结构元素 三种元素类型:顺序元素、选择元素、重复元素 示例:打印表格程序的输出数据结构和对应的程序结构 JSP方法的分析和设计步骤 分析并确定输入和输出数据结构的逻辑结构,并用Jackson图画出 从输入数据结构与输出数据结构中,找出有对应关系的数据元素 从描述数据结构的Jackson图,导出描述程序结构的Jackson图 列出所有操作和条件,将它们分配到程序结构图的适当位置 把带有操作的程序结构图转换成结构正文,同时加入选择及迭代条件 JSP方法的特点 简单、易学、形象直观、可读性好 便于表示层次结构 适用于小型数据处理系统 6.1 详细设计任务 6.2 人机界面设计 6.3 过程设计的工具 6.4 面向数据结构的设计方法 6.5 程序复杂程度的定量度量 6.5 程序复杂程度的定量度量 6.5 程序复杂程度的定量度量 根据程序控制流的复杂程度,定量度量程序的复杂度 流图 计算环形复杂度的方法 环形复杂度的用途 6.5.1 McCabe方法 所谓流图实质上是“退化了的”程序流程图,它仅仅描绘程序的控制流程,完全不表现对数据的具体操作以及分支或循环的具体条件。 程序流程图中的顺序的处理框序列和菱形判定框,可以映射成流图中的一个结点。 流图中的箭头线称为边,代表控制流。 6.5.1.1 流图(I) 方法二: V(G) = E-N+2 = 11-9+2 = 4 E: 流图边的条数 N: 结点数 方法三: V(G) = P+1 = 3+1 = 4 P:判定结点的数目 程序的环形复杂度,取决于程序控制流的复杂程度,也即是取决于程序结构的复杂程度。 McCabe研究大量程序后发现,环形复杂度高的程序,往往是最困难、最容易出问题的程序。 模块规模以V(G)≤10为宜,也就是说,V(G)=10是模块规模的一个更科学更精确的上限。 6.5.1.2 环形复杂度用途 Halstead方法是另一个著名的方法,它根据程序中运算符和操作数的总数,来度量程序的复杂程度。 令N1为程序中运算符出现的总次数,N2为操作数出现的总次数, 程序长度N定义为:N=N1+N2 6.5.2 Halstead方法(I) Halstead给出预测程序长度的公式如下: H=n1 log2n1+n2 log2 n2 不同运算符(包括关键字)的个数n1, 不同操作数(变量和常数)的个数n2。 预测程序中包含错误的个数的公式如下: E=N log2 (n1+n2)/3000 6.5.2 Halstead方法(II) 6.5.2 Halstead方法(III) 例如,用FORTRAN语言写出的交换排序的例子 SUBROUTINE SORT ( X, N ) DIMENSION X( N ) IF ( N .LT. 2 ) RETURN DO 20 I=2, N DO 10 J=1, I IF ( X(I) .GE. X(J) ) GO TO 10 SAVE = X(I) X(I) = X(J) X(J) = SAVE10 CONTINUE20 CONTINUE RETURN END 6.5.2 Halstead方法(IV) 6.5.2 Halstead方法(V) 对于上面的例子,利用n1,N1,n2,N2,可以计算得 H = 10 ? log210+7 ? log27 = 52.87 N = 28+22 = 50 E=N log2 (n1+n2)/3000=50* log2(10+7)/3000=0.07 V = (28+22) ? log2(10+
您可能关注的文档
- 2014年《ARM嵌入式接口技术应用》第六章 人机交互 — 输入接.ppt
- 2014年《ARM嵌入式接口技术应用》第七章 模数与数模转换费.ppt
- 2014年《ARM嵌入式接口技术应用》第三章 存储器件.ppt
- 2014年《ARM嵌入式接口技术应用》第五章 人机交互 — 输出接口.ppt
- 2014年《ARM嵌入式接口技术应用》第一章 ARM实验板硬件结构与.ppt
- 2014年《C++程序设计》电子教案第10章 流类库与输入输出费.ppt
- 2014年《C++程序设计基础教程与上机指导》第18课C、C++语言.ppt
- 2014年《C++程序设计基础教程与上机指导》第四课循环语句.ppt
- 2014年《C++语言程序设计》第八章 多态性.ppt
- 2014年《C++语言程序设计》第二章 C++简单程序设计.ppt
- 执业药师之《药事管理与法规》检测卷讲解含答案详解(最新).docx
- 执业药师之《药事管理与法规》全真模拟模拟题及答案详解(全国通用).docx
- 2025年执业药师之《西药学综合知识与技能》模拟试题附参考答案详解(突破训练).docx
- 2025年执业药师之《西药学综合知识与技能》考前冲刺模拟题库含答案详解(培优a卷).docx
- 2025年执业药师之《西药学综合知识与技能》真题精选附答案详解(名师推荐).docx
- 执业药师之《药事管理与法规》强化训练模考卷带答案详解.docx
- 2025年执业药师之《西药学综合知识与技能》考前冲刺测试卷包附参考答案详解(b卷).docx
- 2025年执业药师之《西药学综合知识与技能》模考模拟试题及参考答案详解(夺分金卷).docx
- 2025年执业药师之《西药学综合知识与技能》真题含答案详解【b卷】.docx
- 2025年执业药师之《西药学综合知识与技能》考前冲刺模拟题库带答案详解(b卷).docx
最近下载
- 贵州省事业单位人员聘用合同书.doc VIP
- 4.建筑施工企业项目负责人安全生产考核合格证书样本.pdf VIP
- 贵州省事业单位人员聘用合同书范本.docx VIP
- 皮带接头硫化上.pptx VIP
- 陕西省事业单位合同5篇.docx VIP
- 贵州省事业单位人员聘用合同书(合同范本).pdf VIP
- SYT 4201.2-2019 石油天然气建设工程施工质量验收规范 设备安装工程 第2部分:塔类.docx VIP
- SYT 4201.4-2019 石油天然气建设工程施工质量验收规范设备安装工程 第4部分:炉类.docx VIP
- 解读2021新安全生产法课件PPT(内容完整).pptx VIP
- SY_T 4201.3-2019 石油天然气建设工程施工质量验收规范 设备安装工程 第3部分:容器类.docx VIP
文档评论(0)