标题: Why are there so many software bugs? [打印本页] 作者: angelcc216 时间: 2006-1-10 10:40 标题: Why are there so many software bugs? Generally speaking, there are bugs in software because of unclear requirements, software complexity, programming errors, changes in requirements, errors made in bug tracking, time pressure, poorly documented code and/or bugs in tools used in software development.
• There are unclear software requirements because there is miscommunication as to what the software should or shouldn't do.
• Software complexity. All of the followings contribute to the exponential growth in software and system complexity: Windows interfaces, client-server and distributed applications, data communications, enormous relational databases and the sheer size of applications.
• Programming errors occur because programmers and software engineers, like everyone else, can make mistakes.
•As to changing requirements, in some fast-changing business environments, continuously modified requirements are a fact of life. Sometimes customers do not understand the effects of changes, or understand them but request them anyway. And the changes require redesign of the software, rescheduling of resources and some of the work already completed have to be redone or discarded and hardware requirements can be effected, too.
• Bug tracking can result in errors because the complexity of keeping track of changes can result in errors, too.
• Time pressures can cause problems, because scheduling of software projects is not easy and it often requires a lot of guesswork and when deadlines loom and the crunch comes, mistakes will be made.
• Code documentation is tough to maintain and it is also tough to modify code that is poorly documented. The result is bugs. Sometimes there is no incentive for programmers and software engineers to document their code and write clearly documented, understandable code. Sometimes developers get kudos for quickly turning out code, or programmers and software engineers feel they cannot have job security if everyone can understand the code they write, or they believe if the code was hard to write, it should be hard to read.
• Software development tools , including visual tools, class libraries, compilers, scripting tools, can introduce their own bugs. Other times the tools are poorly documented, which can create additional bugs.作者: brilliantking 时间: 2006-4-26 10:58
Why are there so many software bugs?
软件里为什么有这么多bug?
Generally speaking, there are bugs in software because of unclear requirements, software complexity, programming errors, changes in requirements, errors made in bug tracking, time pressure, poorly documented code and/or bugs in tools used in software development.
一般来说,bug的产生有以下几个原因:需求欠清晰,软件的复杂性,代码编写的错误,需求发生变化,bug跟踪过程产生错误,紧迫的开发时间,代码注释不尽人意,以及软件开发环境本身有bug。下面一一说明。
·There are unclear software requirements because there is miscommunication as to what the software should or shouldn't do.
·软件需求不清晰,原因是就软件应否实现的功能缺乏有效的沟通。
·Software complexity. All of the followings contribute to the exponential growth in software and system complexity: Windows interfaces, client-server and distributed applications, data communications, enormous relational databases and the sheer size of applications.
·软件的复杂性。以下原因会导致软件与系统的复杂性呈几何级数增长:Windows的界面,CS式与分布式应用程序,数据通讯,大量的关系型数据库,应用程序本身的规模。
·Programming errors occur because programmers and software engineers, like everyone else, can make mistakes.
·代码编写会产生错误,这是因为和别人一样,程序员和软件工程师也会犯错误。
·As to changing requirements, in some fast-changing business environments, continuously modified requirements are a fact of life. Sometimes customers do not understand the effects of changes, or understand them but request them anyway. And the changes require redesign of the software, rescheduling of resources and some of the work already completed have to be redone or discarded and hardware requirements can be effected, too.
·至于需求发生变化,则是因为在一些快速变化的商务环境中,不断地改变需求是一个不争的事实。有时客户并不了解改变需求会造成什么影响,或者虽然了解但硬要改变需求。需求一经改变,软件就要重新设计,各种开发软件所需的资源就要重新计划,一些业已完成的工作必须重做或者直接舍弃。软件的硬件需求也会受到影响。
·Bug tracking can result in errors because the complexity of keeping track of changes can result in errors, too.
·缺陷跟踪会产生错误,这是因为变化跟踪的复杂性也会导致错误的发生。
·Time pressures can cause problems, because scheduling of software projects is not easy and it often requires a lot of guesswork and when deadlines loom and the crunch comes, mistakes will be made.
·紧迫的开发时间会引发问题,因为计划软件项目的进度是不容易的事,并且往往要进行一些不在计划之列的工作。当项目结束的日子来临,开发人员的情绪因而受到影响,错误就会随之而至。
·Code documentation is tough to maintain and it is also tough to modify code that is poorly documented. The result is bugs. Sometimes there is no incentive for programmers and software engineers to document their code and write clearly documented, understandable code. Sometimes developers get kudos for quickly turning out code, or programmers and software engineers feel they cannot have job security if everyone can understand the code they write, or they believe if the code was hard to write, it should be hard to read.
·要维护代码文档是很困难的,而要修改缺乏注释的代码也是很难的。有些时候,程序员和软件工作师不愿意给自己的代码写说明文档,不愿去写注释清楚的易理解的代码。有时开发人员会因为很快写出代码而得到赞许,或者程序员和软件工程师感到如果每个人都能读懂他们的代码,他们就没有工作稳定感了,也许他们相信如果代码难写,代码也很难读懂。
·Software development tools , including visual tools, class libraries, compilers, scripting tools, can introduce their own bugs. Other times the tools are poorly documented, which can create additional bugs.
·软件开发工具,包括可视化开发工具,类库,编译器,脚本工具都会出现它们自己的bug。另外如果这些工具没有完善的帮助文档,这也会导致bug的产生。作者: skinapi 时间: 2006-4-29 23:07
加分鼓励,brilliantking,感觉可以给你出一个翻译专辑了,哈哈。作者: brilliantking 时间: 2006-4-30 08:48
谢谢鼓励!等我再译几篇再开不迟,哈哈!作者: 李逍遥 时间: 2006-6-12 18:09
你的英文怎么练的?分享一下啊!让人很眼红的哦