- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
软件工程PPT教学课件-第六章 详细设计
第六章 详细设计(Program Design ? Coding) 详细设计的任务: 功能设计、算法设计 数据结构设计、物理设计 其他设计:代码设计、输入/输出设计、界面设计 编写详细设计说明书 评审 第六章 详细设计(Program Design ? Coding) §1. 结构化程序设计 特点: 自顶向下,逐步求精 具有单入口、单出口的控制结构 尽可能少用GOTO语句,最好在检测出错误才用,而且总是使用前向GOTO 经典结构化程序设计:3种基本控制结构 扩展结构化程序设计:5种基本控制结构 ? 任何复杂的程序流程图都应由以上五种基本结构组合而成。 例2:用户登录 优点:易于实现由PDL到源代码的自动转换。 缺点:不够直观。 §4. JSD 例:(P.91)一个正文文件由若干个记录组成, 每个记录是一个字符串。 要求统计每个记录中空格字符的个数, 以及文件中空格字符的总个数。 要求的输出数据格式是: 每复制一行输入字符串之后, 另起一行打印出这个字符串中的空格数, 最后打印出文件中空格的总个数。 §5.程序复杂程度的定量度量(Measuring Program Complexity) 1、mcCabe’s Theory (Thomas mcCabe , 1976) —— based on CFG 第1步:将程序流程图转化为程序图(CFG, Control Flow Graph) §5.程序复杂程度的定量度量 第2步:计算CFG的环形复杂度 (CC, Cyclomatic Complexity) ① 分支或循环增多时,CC也随之增大, CC值实际上是为软件测试的难易度提供了一个定量度量的方法, 间接表示了软件的可靠性。 ② CC是可加的:2模块的总复杂度 = 各自CC之和。 ③ 实践经验表明,对于CC10的程序,应分成几个小程序处理,以降低出错率。 ④ 缺点: ? 有些控制结构不能区分,例如 IF 与 LOOP,嵌套 IF 与 CASE 等; ? 不能区分一个多行顺序结构与一个单行程序的复杂性。 开始 ? 结束 ? a j Until x5 i Until x6 b x1 k f x4 g h def k x2 d e 1 2 3 While x3 c §3. 过程设计的 工具 特点: ① 结构清晰,层次分明,易读易写,使用方便; ② 支持逐步求精的设计思想,支持结构化的程序设计原理; ③ 容易将PAD自动转换为高级语言源程序。 §3. 过程设计的 工具 4、判定表 判定树(Decision Table Tree) 表示复杂的条件(input)组合与应做动作(output)之间的对应关系。 §3. 过程设计的 工具 例:P.86 航空行李托运费的算法 按规定:重量不超过30公斤的行李可免费托运。重量超过30公斤时,对超运部分,头等舱国内乘客收4元/公斤;其它舱位国内乘客收6元/公斤;外国乘客收费为国内乘客的2倍;残疾乘客的收费为正常乘客的1/2。 §3. 过程设计的 工具 Rules Rule numbers ? Condition rows Action rows §3. 过程设计的 工具 行李费算法 行李重量W 30 行李重量W ? 30 免费 国内乘客 外国乘客 头等舱 其他舱 残疾乘客 正常乘客 (W-30) ? 2 (W-30) ? 4 残疾乘客 正常乘客 (W-30) ? 3 (W-30) ? 6 头等舱 其他舱 残疾乘客 正常乘客 (W-30) ? 4 (W-30) ? 8 残疾乘客 正常乘客 (W-30) ? 6 (W-30) ? 12 用判定树表示计算行李费的算法 注:判定表与判定树并不适用于作为一种通用的设计工具,通常将之用于辅助测试 §3. 过程设计的 工具 5、PDL(Program Design Language):过程设计语言,又称 Pseudocode。 是一种用于描述模块算法设计和处理细节的语言。 分内外两层语言。外层具有严格的关键字语法,内层表示实际操作和条件的自然语言,语法自由。 程序结构有:顺序结构、选择结构、重复结构、出口结构、扩充结构(模块定义、模块调用、数据定义、输入/输出)等。 §3. 过程设计的 工具 PROCEDURE spel
文档评论(0)