个人软件过程(PSP)_第1页
个人软件过程(PSP)_第2页
个人软件过程(PSP)_第3页
个人软件过程(PSP)_第4页
个人软件过程(PSP)_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

1、.个人软件过程个人软件过程PSP是一种可用于控制、管理和改进个人工作方式的自我持续改进过程,是一个包括软件开发表格、指南和规程的构造化框架。PSP与详细的技术程序设计语言、工具或者设计方法相对独立,但其原那么可以应用到几乎任何的软件工程任务之中。它可以说明个体软件过程的原那么、 帮助软件工程师作出准确的方案、确定软件工程师为改善产品质量要采取的步骤、建立度量个体软件过程改善的基准、确定过程的改变对软件工程师的才能的影响。l 概述随着软件工程知识的普及,要开发高质量的软件,必须改进软件消费的过程。目前,业界公认由CMU/SEI开发的软件才能成熟度模型SW-CMM是当前最好的软件过程,并且CMM已

2、经成为事实上的软件过程工业标准。但是CMM虽然提供了一个有力的软件过程改进框架,却只告诉我们应该做什么,而没有告诉我们应该怎样做,并未提供有关实现关键过程域所需要的详细知识和技能。为了弥补这个欠缺,Humphrey又主持开发了个体软件过程Personal Software Process,PSP。在CMM1.1版本的18个关键过程域中有12个与PSP有关,据统计,软件工程开发本钱的70%取决于软件开发人员个人的技能、经历和工作习惯。因此,一个单位的软件开发人员如能承受PSP培训,对该单位软件才能成熟度的晋级是一个有力的保证。CMM侧重于软件企业中有关软件过程的宏观管理,面向软件开发单位,PSP

3、那么侧重于企业中有关软件过程的微观优化,面向软件开发人员。二者互相支持,互相补充,缺一不可。按照PSP规程,改进软件过程的步骤首先需要明确质量目的,也就是软件将要在功能和性能上满足的要求和用户潜在的需求。接着就是度量产品质量,有了目的还不行,目的只是一个原那么性的东西,还不便于实际操作和判断,因此,必须对目的进展分解和度量,使软件质量可以测量。然后就是理解当前过程,查找问题,并对过程进展调整。最后应用调整后的过程,度量理论结果,将结果与目的做比较,找出差距,分析原因,对软件过程进展持续改进。就像CMM为软件企业的才能提供一个阶梯式的进化框架一样,PSP为个体的才能也提供了一个阶梯式的进化框架。

4、以循序渐进的方法介绍过程的概念,每一级别都包含了更低一级别中的所有元素,并增加了新的元素。这个进化框架是学习PSP过程根本概念的好方法,它赋予软件人员度量和分析工具,使其清楚地认识到自己的表现和潜力,从而可以进步自己的技能和程度。l 个体度量过程PSP0和PSP0.1PSP0的目的是建立个体过程基线,通过这一步,学会使用PSP的各种表格采集过程的有关数据,此时执行的是该软件开发单位的当前过程,通常包括方案、开发包括设计、编码、编译和测试以及后置处理三个阶段,并要作一些必要的试题,如测定软件开发时间,按照选定的缺陷类型标准、度量引入的缺陷个数和排除的缺陷个数等,用作为测量在PSP的过程中进步的基

5、准。PSP0.1增加了编码标准、程序规模度量和过程改善建议等三个关键过程域,其中,过程改善建议表格用于随时记录过程中存在的问题、解决问题的措施以及改进过程的方法,以进步软件开发人员的质量意识和过程意识。应该强调指出,在PSP0阶段必须理解和学会使用表格进展规划和度量的技术和经历,以准确地满足期望的需求,其中最重要的是要保持数据的一致性、有用性和简洁性。l 个体规划过程PSP1和PSP1.1PSP1的重点是个体方案,引入了基于估计的方案方法PROBE,用自己的历史数据来预测新程序的大小和需要的开发时间,并使用线性回归方法计算估计参数,确定置信区间以评价预测的可信程度。PSP1.1增加了对任务和进

6、度的规划。在PSP1阶段应该学会编制工程开发方案,这不仅对承担大型软件的开发非常重要,即使是开发小型软件也必不可少。因为,只有对自己的才能有客观的评价,才能做出更加准确的方案,才能实事求是地承受和完成客户委托的任务。l 个体质量管理过程PSP2和PSP2.1PSP2的重点是个体质量管理,根据程序的缺陷来建立检测表,按照检测表进展设计复查和代码复查有时也称代码走查,以便及早发现缺陷,使修复缺陷的代价最小。随着个人经历和技术的积累,还应学会怎样改进检测表以适应自己的要求。PSP2.1那么阐述设计过程和设计模板,介绍设计方法,并提供了设计模板、但PSP并不强调选用什么设计方法,而强调设计完备性准那么

7、和设计验证技术。施行PSP的一个重要目的就是学会在开发软件的早期实际地、客观地处理由于人们的忽略所造成的程序缺陷问题。人们都期盼获得高质量的软件,但是只有高素质的软件开发人员并遵循适宜的软件过程,才能开发出高质量的软件,因此,PSP2引入并着重强调设计复查和代码复查技术,一个合格的软件开发人员必须掌握这两项根本技术。l 个体循环过程PSP3PSP3的目的是把个体开发小程序所能到达的消费效率和消费质量,延伸到大型程序。其方法是采用螺旋式上升过程,即迭代增量式开发方法:首先把大型程序分解成小的模块,然后对每个模块按照PSP2.1所描绘的过程进展开发,最后把这些模块逐步集成为完好的软件产品。应用PS

8、P3开发大型软件系统,必须采用增量式开发方法,并要求每一个增量都具有很高的质量。在这样的前提下,在新一轮开发循环中,可以采用回归测试的方法,集中力量考察新增加的这个这些增量是否符合要求。因此,要求在PSP2中进展严格的设计复查和代码复查,并在PSP2.1中努力遵循设计完毕准那么。从对个体软件过程框架的概要描绘中,可以清楚地看到,如何作好工程规划和如何保证产品质量,是任何软件开发过程中最根本的问题。PSP可以帮助软件工程师在个人的根底上运用过程的原那么,借助于PSP提供的一些度量和分析工具,理解自己的技能程度,控制和管理自己的工作方式,使自己日常工作的评估、方案和预测更加准确、更加有效,进而改进

9、个人的工作表现,进步个人的工作质量和产量,积极而有效地参与高级管理人员和过程人员推动的组织范围的软件工程过程改进。PSP软件工程规程为软件工程是提供了开展个人技能的构造化框架和必须掌握的方法。在软件行业,开发人员假设不经过PSP培训,就只能靠在开发中通过理论逐步掌握这些技能和方法,这不仅周期很长,要付出很大的代价,而且有越来越大的风险。 培训的方式有很多,既可以到专门的学校进修,也可以进展自学和参加培训班,例如:CMM网校中就有个体软件过程的课程。l 过程改进PSP是一个需要逐步改进的过程。首先,要通过测量来诊断一个问题。然后,必须客观的分析测量的数据,最后,也是最重要的,就是自身的变化。定义

10、测量方法不是件容易的事情,但它总是可能的。首先定义测量方法。规定了测量方法后,就必须搜集和分析数据。假设需要作些改进,接下来就要分析工作过程,看看什么地方需要改进。最后要想真正的改进,必须实在做出改进。仅仅进展测量并不会产生什么进步,仅仅靠努力也不会有什么进步。在很大程度上工作方式决定了所得到的结果。假设还是按照老方法工作,得到的结果还会是老样子。l 时间管理人们很可能像上星期那样安排这星期的时间。当然,随着工作的不同,也有很多例外的情况。为了制定实在可行的方案,必须对所用的时间进展跟踪。假设问上周的时间是怎么利用的,一般人都认为很容易所出每项工作花了多少时间,但是当看到实际的数据时,很可能感

11、到非常惊讶:花在编程上的时间比估计的少得多,花在消遣的时间比预期的多得多;乐意做的事情做的特别快,用的时间也似乎特别少,令人头疼的事情占用的时间似乎比实际花费的时间多得多。要搞清楚时间都用在什么地方,必须对时间进展跟踪,保存一份准确的记录。为了检查时间估计和方案的准确性,必须把它们写成文档并在今后与实际情况进展比较。做方案是一种技能,学习制定好的方案,第一步就是要先做方案,然后把该方案写下来,以便今后与实际数据相比较。为了制定出更准确的方案,需要知道以前的方案中存在哪些错误,哪些地方可以进展改进。当按照方案进展工作时,记录下所花费的时间。通过比较文档化的方案和实际的结果,就可以发现方案中存在哪

12、些错误以及如何改进制作方案的过程。制定准确方案的关键就是比较,然后就会知道如何才能制定出更好的方案。为了管理好时间,首先制定时间分配方案,然后按照方案去做。制作方案容易,但真正施行方案是困难的。特别开场的时候,按照方案进展工作可能比较困难,你可能会有很多借口,最常见的就是这份方案制作的不好。但只有按照方案去做,你才能知道它的优劣。按照方案进展工作有三点好处:第一,理解方案存在哪些问题,有助于更好的方案下一个工程。第二,按照好的方案完成工作。这看起来不重要,但是事实上软件工程中的许多错误都是由于考虑不周、粗心大意或是不注意的小细节而造成的,按照好的方案工作是防止这些错误的最好途径。另一个更加微妙

13、的好处就是它实际上在改变你的工作方式,有了方案就不用浪费时间去考虑下一步要干什么,它会帮助你把精力集中在所中的事情上,很少分心,从而进步了工作效率。 理解时间的使用情况将主要活动分类。在开场分配时间时,你会发现大部分时间都用在相对很少的几个活动上。记录每项主要活动所花费的时间。坚持记录时间需要很强的自我约束才能,要想进展准确的记录,必须记录下每件主要工作开场和完毕的时间。除非你知道自己实际上用了多少时间,否那么就不可能管理好使用时间的方式。用标准的方法记录时间必须使用标准的时间日志。因为需要采集的时间数据的数量增加得很快,假设不认真记录和存储这些数据,它们很可能丧失或变得混乱,这样很不利于查找

14、或对它们进展解释。假设不打算对这些数据进展适当的整理、归纳,就根本不必要去搜集数据。以分钟为测量单位。工程是在完成任务中不连续工作的时间一般都少于1小时,因此以小时为单位对工作时间进展测量不能提供用以方案和管理工作所需要的详细数据,而用分钟跟踪时间容易得多。一旦决定进展时间跟踪,用分钟作为测量单位将比用小时更恰当。处理中断时间。采用表2.1跟踪时间时,一个常见的问题就是中断。 、聊天、偶尔的烦恼以及必要的休息打断的次数多得令人吃惊。中断的时间不是有效的工作时间,并且变化幅度很大,假设不对它进展测量,实际上就在时间记录中参加了一个随机数,也就很难使用时间数据来方案和管理时间了。事件日志中的数据能

15、帮助你理解工作被打断的频率。多数中断不仅浪费时间,还会打断你的思路,导致效率降低和错误的产生,因此理解被打断的频率有助于进步工作的质量和效率。将时间数据保存在适宜的地方。记录时间花费情况值得推荐的方法就是用工程记事本来记录时间以及其他的事情。对一个软件专业人员,工程记事本用处很多,可以记录时间日志、程序设计方案以及运算结果,可以作为你所遵循正确的工程施行方案的凭证,可以记录下脑子里面一闪而过的想法。推荐的方法是从工程记事本的第一页开场向后记录主要活动及其所花费的时间,最后一页开场向前记录时间日志。记录主要活动及其所花费的时间,最后一页开场向前记录时间日志。周活动总结表。通过采用时间日志搜集时间

16、数据后,你就能渐渐明白自己是如何支配时间的。但是时间日志中的数据过于详细,需要用一种更有用的表格来总结这些数据,周活动总结表可以很好的完成这个任务。当然我们关心的时间不会只有一周这么短,还需要一段时间内在各类任务上花费的平均时间、最大时间和最小时间。因此采用表2.2所示格式。周活动总结表中的数据可以帮助你理解时间都用在那些地方,还可以使用这些书对以后的几周进展方案。例如,有了这些数据就能判断出一个大的任务所需要的时间可能接近总结表中的最长时间,而一个简单的任务需要的时间可能接近最短时间。记录时间的提示。随时准备好工程记事本;当偶尔忘了记录开场时间、完毕事件或中断时间,凭记忆尽早做出估计;及时总

17、结记录的时间数据。 制订方案这里介绍两种方案:阶段方案和产品方案。;应物0901 郭衍束 ( 20090739)如何制定阶段方案阶段方案是关于这段时间内对时间的安排。为了制定阶段方案,必须清楚时间的使用情况。根据上一章介绍的周活动总结表,我们就可以跟踪记录自己是如何支配时间的。在制订下一周的方案时,就可以参考最近的周活动总结表。根据以前各个任务花费的时间,就能判断出下一周将在这些任务上花费多少时间。制定这种方案最简单的方法就是假设将要使用的时间与过去平均使用的时间一样。一种如何制定产品方案产品方案是关于制作产品活动期间的时间安排当工程师在工程小组中工作时,就需要方案个人的工作。方案是按期完成承

18、诺的任务的可靠根底,可以在工程师合作开发产品过程中协调他们的工作,可以帮助工程师理解工程的状态。做方案是软件工程师工作的一个重要部分,要成为一个有才干的工程师,就必须知道如何制订准确的方案,也需要知道如何将这些方案与实际结果相比较,从而学会制定更好的方案。制定产品方案是可以通过事较为准确的方法就是首先考虑下周将要做的工作内容,然后根据以前的最长和最短时间来估计出一个适宜的时间。件加以进步的一种技能。从如今开场对每个产品制订方案,产品可以是一个可制定的程序、一个程序设计方案或是一个测试方案,并在以后的工程中继续这样做下去。设定时间分配的优先级。有些时间是固定不点的,如每周例会,可以把这些时间称为

19、固定时间。进展其他活动的时间就是可变动的时间,只要有时间就可以去做这些活动。可变时间又分成需要完成的任务和自行斟酌的任务。需要的活动如编程、读书,虽然是需要的活动,但它们的时间是可变动的,因为无论如何找出时间都可做这些事情,并且每周在这些活动上所用的时间是不同的。自行斟酌的活动就是要做的所有其他的事情:吃饭、睡觉、社交、观看电视及其其他的娱乐活动。当作出全面的时间安排时,固定时间的安排是没有什么问题,最常见的问题是分配可变动的时间。列出需要尽快做的事情,首先努力完成最重要的任务。重要的任务推此时,你会不自觉的为这些任务担忧,立即处理这些事情常常是更有效的,并且也将给人们带来一种完成任务的成就感

20、。此外,记住一旦开场了一项令人生畏的任务,就很少会感到象你想象中的那么困难。可以考虑从自行斟酌的活动中抽出那些额外的时间,但是这需要合理的安排,对个人是否真愿意按照这时间安排来执行。没有休息的时间会导致人们将管理好时间的想法推翻。做时间安排以及跟踪时间是重要的,但是时间安排一定要是自己实际愿意承受的。执行时间安排表。按照时间安排表工作的才能很大程度上取决于个人的自觉性,但是它还取决于要做的工作的数量和它们的优先次序。意料不到的时间是生活中很自然并且是很正常的一部分,特别是在软件工程中。危机常常会打破人们的方案,因此不得不作出调整。在第一次使用时间安排表时,可能会感到它不是很有用,这是正常的,不

21、要因为第一次没有起作用就放弃对时间安排的过程,而是要考虑所发生的事情,看看是否存在一些不可能再发生的反常时间、或者存在对有正常事件引起人而意外花费了很多时间?假设是紧急的情况,不必对时间安排做大的调整,下一周再试着用它,然后复查结果。假设一些经常发生的事情扰乱了安排,应考虑对安排进展改动,为以后类似事情提早做好准备。最后,按照时间安排表跟踪施行的性能,要继续搜集时间数据。根据经历复查时间安排表,在根据需要和经历修改安排,要逐步的作出改变。在改变时间安排表时,要保存以前的版本。 时间管理的目的搜集时间是为了帮助自己管理时间。假设搜集的数据被证明是没有用的,就需要重新考虑自己搜集时间数据的方法。但

22、是,只有在已经理论了安排的时间之后再这样做。记事作了时间安排表,假设由于一些原因对时间安排变化很大,那么也应该搜集更多的数据,知道自己明白当前是如何使用时间为止。l 缺陷管理 什么是缺陷缺陷是指程序中存在的错误,例如语法错误、标点符号错误或者是一个不正确的程序语句,是任何影响程序完好而有效的满足用户要求的东西,是可以表示、描绘和统计的客观事物。有人把缺陷称为Bug,这是不正确的。当成为Bug时,令人想到的是那些令人讨厌的小虫子,应该把它们拍死或者不予理睬。这会使一些重要的问题被视为琐碎小事,会养成一种错误的态度。缺陷并不像无足轻重的Bug,更像是定时炸弹。大家可能会觉得有些夸大其词,绝大部分细

23、小的缺陷没有引起严重后果。然而不幸的是,很小一部分看起来无关紧要的缺陷却能引起严重问题。虽然如今缺陷对你来说还不是一个严重问题,但很快就会成为一个重要的问题。设计错误的复杂性和所导致的缺陷的影响没有之间关系,一些微小的编码错误却可能引起严重的系统问题。事实上,绝大多数软件缺陷都源于程序员的忽略大意。为了减小缺陷,就必须进展缺陷管理,研究已经引入的缺陷,确定引起这些缺陷的原因,并学会在将来如何防止重复同样的错误。缺陷分类。在分析缺陷时,将缺陷进展分类是有帮助的。通过缺陷分类,可以迅速找出哪一类缺陷的问题最大,然后集中精力预防和排除这一类缺陷,这就是缺陷管理的关键。把精力集中到最容易引起问题的几类

24、缺陷上,一旦这几类缺陷得到控制,在进一步找到新的容易引起问题的几类缺陷上。不要急于把10种类型的每一类细分出假设干子类,直到你已经搜集到大量程序的缺陷数据。那时,才可以看出哪里需要更详细以及补充什么样的信息才是最有用的。统计缺陷个数。采用缺陷记录日志,记录那些当你完成初始设计或编码后仍然留在产品中的缺陷。人们很容易对缺陷辩白,但是要管理好缺陷,就必须搜集有关缺陷的准确数据。假设原谅缺陷,那只会自欺欺人。假设你这样做的话,就别指望有所进步。 缺陷查找技术为什么要尽早发现缺陷。不要期望一个简单拼凑出来的满是缺陷的程序,经过修改可以成为一个合格的产品。一旦消费出一个有缺陷的程序,它将永远是有缺陷的。

25、虽然你可以修复所有的问题,并且让它通过所有的测试,但它还是一个有许多不定的有缺陷的程序。假设工程师能宽容有缺陷的工作,他将消费出低质量的产品。“我们忙,以后在修补吧,这样的态度不可能出产出优质产品。发现和修复缺陷的费用。在典型工程中,产品被分成很多小的模块,由不通的工程师负责开发。在模块设计、实现、编译后,工程师作初始的单元测试;单元测试后,多个模块组成一些大组件进展集成测试;经过各种级别的组件测试后,这些组件集成为产品进展产品设计;最后,将产品集成到系统中进展系统测试。随着系统的规模和复杂程度不同,单元测试、集成测试、组件测试、产品测试、系统测试的类型、持续时间、复杂程度有所不同,但几乎所有

26、规模的软件产品,都需要这个过程。研究证明,开发过程每前进一步,发现和修复缺陷的平均代价要增长10倍。尽管缺陷的修复时间变化很大,但平均时间总是遵循这样的规律,而与缺陷的类型无关。发现和修复缺陷的方法。尽管没有方法不引入缺陷,但是在开发过程中尽早发现和修复缺陷还是可能的。有多种发现程序中的缺陷的方法,根本上都包括以下步骤:表示缺陷征兆;从征兆中推断出缺陷的位置;确定程序中的错误;决定如修复缺陷;修复缺陷;验证这个修复是否已经解决了这个问题。有多种工具和辅助手段来帮助完成这些步骤,工程师最常用的工具是编译器,它可以表示出大部分语法缺陷。但是编译器最根本的任务是生成目的代码,并且可能会在源程序有缺陷

27、的情况下生成代码。因此,不能检查出所有的拼写、标点符号或其他不符合语法的缺陷。一般编译器仅提供了缺陷的征兆,你必须自己对问题定位,并确定是什么问题,通常很快可以做到这一点,但偶尔也需要较长的时间另外一种常用方法就是上面讲述的测试。测试的质量是由测试用例覆盖所有程序功能的程度决定的。测试可以用来验证程序几乎所有的功能,但有自己的缺点:同编译器一样只能满足缺陷派出的第一个步骤,你仍必须从缺陷征兆找出问题的根源,然后才能修复;随着工程规模的扩大,全面的测试会花费大量的时间,要进展完全测试几乎不可能的。最有效的发现和修复缺陷的方法是个人复查源程序清单。这种方法是负很难彻底去除程序中的缺陷,但事实证明,

28、这是最快而且最有效的方法。l 代码复查代码复查就是研究源代码,并从中发现错误。代码复查更有效的原因是:在复查时看到的是问题本身而不是征兆。从头到尾复查代码时,考虑的是程序应该做什么。因此,当看到某些地方不正确时,就可以看到可能的问题是什么,并立即去验证代码。复查的缺点是:非常耗时,而且很难恰当的进展;复查时一种技能,当然可以通过学习和理论来进步。代码复查的第一步是理解自己引入的缺陷的种类,这是搜集缺陷数据的主要原因。因为在下一个程序中引入的缺陷种类一般会与前面的根本类似,只要采用同样的软件开发方法,情况会一直如此。另一方面来说,当你有了技能和经历或改变了过程,缺陷的类型和数目会随之变化。但是到

29、了一定程度后,改进就变得非常困难了。这是,就必须研究缺陷,这可以帮助你找到更好的发现和修复缺陷的方法。如何进展代码复查。代码复查的目的是在软件过程中尽可能早和尽可能多的发现缺陷,缺陷发现时间越少越好。采用表4.3描绘的一个有序的检查方法,在编译之前进展代码复查,是完成目的最好的方法。编译之前进展复查。有几个原因说明应在编译之前进展代码复查:不管编译前或编译后,进展完好的代码复查的时间大约一样;不管编译前或编译后,对检查语法有效性的效果是一样的;先做复查将节省大量编译时间,假设不做代码复查,一般要花1215的开发时间进展编译,一旦使用代码复查后,编译时间可以缩短至3或更少;编译程序后,代码一般复

30、查很难彻底的进展; 经历证明,在编译阶段有大量的缺陷时,一般在测试阶段也有许多缺陷。建立个人代码复查检查表。假设想发现和改正程序中的每一个缺陷,就必须遵照一个准确的规程。检查表可以确保遵循这个规程,它包括一系列程式的步骤。按照检查表去作时,就知道如何进展代码复查。假设可以正确使用检查表,还能知道每个步骤发现了多少缺陷。这样就能测量出复查过程的效率,并进一步改进检查表。检查表包括了个人的经历。通过不断的使用和改进个人检查表,就可以帮助你用较少的时间发现这些缺陷。表4.4是一个C+程序代码复查表的范例。定期更新检查表。随着时间的推移,检查表自然的要变大。但是,检查表的主要作用是帮助你把注意力集中在

31、关键的方面。太大以后,你将失去重点。所以要定期复查缺陷数据,删除那些不能找到问题的表项。从个人检查表的方法可以认识到,每个工程师都有各自的特点,某个工程师的理论经历对别人不一定适用。因此要设计出适宜自己的检查表,并定期的对它进展检查以保证检查表更有效。只要你在代码复查中还遗漏缺陷,就要不断寻找改进检查表的方法。进展是很缓慢的。最初,你发现缺陷的才能随着每次复查都有所进步。此后,进步将变得很困难。要坚持搜集和分析缺陷数据,并坚持考虑如何才能预防缺陷的产生或怎样更好的找到缺陷。只要坚持不断的做下去,就能在代码复查中不断进步,不断进步自己编写程序的质量。编码标准。编码标准是被广泛承受的、可以作为工作

32、样板的编码理论集。良好的编码标准将有效地帮助您防止开发有潜在危险的代码,有助于预防缺陷。例如,可以在编码标准中列出那些应该防止使用的方法,规定号循环入口或在说明是初始化变量,防止不良的变量命名等。编码标准还能有效地统一和标准整体开发活动。当其他开发人员参加到工程中来时,他们可以很好地适应这一切。代码也将变得更标准更易维护。其他种类的代码复查。在软件组织中,一种常用的方法是同行评审,就是几个工程师彼此复查程序。组织良好的同行评审一般会发现程序中5070的缺陷。互查虽然需要很多时间,但是可以有效发现缺陷,因为工程师往往难于发现自己的设计错误。他们创作这个设计,直到程序应该完好什么,即使概念有瑕疵、作了错误的设计或实现假定,他们往往很难发现。检查这可以帮助他们抑制这些问题。对一个大的工程,最正确检查策略是,

温馨提示

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

评论

0/150

提交评论