深圳信息职业技术学院.doc_第1页
深圳信息职业技术学院.doc_第2页
深圳信息职业技术学院.doc_第3页
深圳信息职业技术学院.doc_第4页
深圳信息职业技术学院.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

深圳信息职业技术学院 教案 第 81 页 学科个体软件过程课题第十七章 设计缺陷时数2授课班级02软件1班、4班教学目标及要求学习讨论设计缺陷、设计过程和设计表示,并讨论减少引入设计缺陷数目的方法。教学重点设计缺陷的本质,设计过程,设计表达教学难点 设计表达实验仪器及教具微机、投影仪、Office软件教学方法讲授、案例教学、行为引导教学、探究性学习深圳信息职业技术学院 教案 第 82 页教 学 过 程备 注引入问题:提问程序流程图,伪代码。教学内容:1、说明设计缺陷的本质(探究性学习)2、介绍如何识别设计缺陷3、给出“设计”的定义(讨论)4、讲述设计过程(提问+讨论)5、介绍设计缺陷的起因6、介绍设计缺陷的影响(行为引导法)7、讲授完整清晰的设计表达方法(案例教学)教学方法:案例教学、行为引导教学、探究性学习课程整合:以程序设计语言中逻辑框图为对象,对比学习。课后作业第195页作业深圳信息职业技术学院 教案(续页) 第 83 页第十七章 设计缺陷 一、设计缺陷在测试阶段发现的大部分缺陷很多可能是在编码阶段引入的,这说明主要的缺陷问题是单纯的编码错误。事实上,在编码阶段引入的缺陷是设计阶段引入的缺陷的一倍半。当学习了PSP后,这个比率有了变化。在测试阶段发现的缺陷中,编码阶段引入的缺陷比设计阶段平均大约只多14%。他们在设计和编码两个阶段的缺陷数都减少了,但设计阶段的改进要小一点。测试阶段发现的缺陷大部分是设计类型的缺陷,但它们多数是在编码阶段引入的。尽管这些工程师显著地减少了引入的缺陷数,但在编码阶段他们还是引入了许多设计类型的错误。即使是最好的编译器也不能发现所有的语法缺陷,有些设计缺陷也同样会引起语法错误。一些随机的录入错误偶尔会产生符合语法的语句。这样的缺陷通常占所有语法缺陷的10%。例如,当想输入x=y却键入了x=y,C+编译器将无法发现这一错误。没有简单、客观的方法来定义什么是设计缺陷。 将设计阶段引入的所有缺陷定义为设计缺陷。 将那些与程序功能、逻辑、性能和时序有关的缺陷定义为设计缺陷。在本书中,我们使用第二个定义。二、设计任何与程序结构和实现有关的内容都涉及到设计;这些内容包括程序流程、语言构造的结构和组成以及主源代码的标点符号等。设计和编码的界线不是截然可分的。我们用“抽象”一词来描述高层的概念方法。遵循这种抽象策略,工程师可以先完成全部的高层设计,再深入到每个抽象或功能的实现细节。在进行设计时,有经验的工程师经常在各个设计层次之间动态地进行切换Curis。原因是他们要处理很多抽象功能。首先要理解这个抽象是如何工作的,然后才能在高层设计中放心地使用。如果以前从未用过这样的功能抽象,通常要停下来先进行详细设计。甚至会编写一个原型并且进行测试,然后才有足够的信心继续进行高层设计。有时当系统设计建立在一个看似简单但却包含有定义笨拙的抽象上时,最终会发现整个设计方案是不可行的。很难对设计和编码之间的区别给出一个明确解释;也就是说,很难定义什么是完整的设计规格说明。因此在PSP中,重要的是要区分设计过程和特定的设计阶段。设计阶段是指生产设计制品的阶段,设计过程是描述为生产这个设计产品或制品而进行的活动。三、设计缺陷的起因设计缺陷产生的几种原因:l 设计错误深圳信息职业技术学院 教案(续页) 第 84 页l 知道应该做什么样的设计,但犯了一个简单的错误。l 误解了要做的内容。l 不但理解局部设计和系统设计,甚至还理解需求,只是不明白系统的语境。令人吃惊的是,设计错误经常来自过分自信。大部分缺陷是由单纯的疏忽大意、愚蠢和理解错误引起的。由于软件工程师犯了许多的简单错误,而这些错误又经常很难发现,所以这些简单缺陷是引起大部分问题的原因。许多这样的缺陷可能通过整个开发和测试过程,最后影响到系统用户。这些细微的缺陷导致许多用户在使用软件系统时出现问题。四、设计表达完整清晰的设计表达有助于减少引入缺陷的数目。通过完整地表达你所创建的设计,可以节省开发时间,因为在一般情况下,根据清晰完整的设计来编码比根据模糊不清的设计来编码要快很多。编码时间少意味着引入的编码缺陷也少,一个好的设计更能生产出较高质量的产品。有三种常用的表达设计的方法:图形、伪码或数学方法。图形设计表达方法图形一般比公式和文字更容易让人理解。在描述一个复杂的设计时,一张图可以帮助人们更好地理解其设计。因为设计的大部分部分问题涉及理解,所以通常应该使用图形来帮助人们理解设计。最常用的图形表达方式是流程图。图形表达方法易于理解,但通常不够精确或篇幅过长。伪码设计表达方法伪码是另外一种表达程序逻辑的方法。这种方法使用一种与编程语言类似的语言,采用简洁的方法来表示复杂的表达式,以便易于理解。这种方法的目的是表达程序的逻辑,但忽略程序设计语言的许多语法细节。一个伪码设计描述的示例如下:Algorithm (Function f (x) calculation)If ( x0 )Then ( Error_Routine ) elseif ( x=0 ) then ( Null Correction ) else y=f ( x )end伪码设计描述是人类语言与程序结构的结合。对人们熟知的功能不用复杂的逻辑而用简单的语句来表示。最好的表态方式是既有流程图又有伪码。深圳信息职业技术学院 教案(续页) 第 85 页其它表达方法各种数学方法都可以用来精确定义软件系统。这些方法的优点是表态精确,缺点是不易学习,至少对那些没有经过严格数学训练的工程师是这样。设计表示是一个重要的问题,在将来无疑会有许多想法和方法出现。当你从各种方法中选择使用哪种方法时,要考虑以下几点:l 设计是一个思考过程。l 丰富的设计符号有助于精确地思考和表达一个复杂的设计。l 但是,丰富的设计符号难以学习。l 当使用不熟悉的设计符号时,可能不习惯用这些符号进行思考。l 这时,必须用熟悉的符号通盘考虑设计,然后再将其转换成不熟悉的符号。l 这个转换过程会影响创造力、延缓设计工作和引起错误。五、总结许多设计缺陷表现在编码阶段。一种减少设计缺陷的方法是分析缺陷类型。在PSP中,把设计缺陷定义为从类型50100的缺陷。如果在编码阶段引入了许多这种类型的缺陷,应该考虑在设计上花更多的时间。最有效的方法是在设计阶段而不是编码阶段产生逻辑设计和功能设计。 精确的设计表

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论