软件开发中的质量问题
导读:
在软件开发过程中,软件质量是软件工程中一个经常被忽略的要素。在现代的RAD领域和视频开发领域,软件质量几乎是被人忽略的。标准组织不厌其烦地对软件质量作出规范,有些甚至提供了用来度量软件质量的工具、评价等级及证明。许多政府要求软件承包商遵守一定的公共标准。但对于大多数人来说,软件质量是由用户喜欢使用软件的程度决定的。如果软件运行得好,则视其质量好,反之,则不好。这给人们对软件质量的评价标准方式造成错觉。
越来越多的公司在购买软件时有了这样一个概念,即软件质量是一个过程,从软件应用开始,直到停止使用为止。许多组织都确认自己在软件质量方面投入了大量资金,但同时又承认在许多关键任务的应用中,许多软件质量标准是强制执行的结果,而非通过严格控制成本的战术或战略来实现。
软件质量工程耗资不低,而且也不易实现,但如果实施的早,达到高水平就相对要容易些。质量从分析和设计开始,贯穿整个构造过程,并在测试和开发过程中不断完善。在使用应用软件的维护阶段,质量不易完善。度量软件质量并不是件容易的事。我曾经做过调查,问一些开发人员在他们的应用软件出台之前进行多少次合理的编码检查?回答是28%。没有检查编码的原因是由于计划完成的期限太短,时间和资源不充足。组织不能简单地为全职的软件测试者提供时间和资金。由于这些客观原因,我们需要找到提高质量的方法。
在这里我们不但强调软件质量的重要性,也想找出度量软件质量的方法,以及确定我们要达到怎样的质量水平和借助何种工具才能及时正确地完成任务。
什么是软件质量
所谓软件质量就是对应用软件的质量进行三个主要方面的度量:编码、功能、性能。没有充分的分析和设计就不可能达到较高的软件质量。过于简单,难以满足功能或性能上的需求,也就谈不到编写出好的软件。一个不符合用户需求的软件就是失败。
要说清楚正确的发现和设计路径需要许多笔墨,并不是区区一篇文章就能够完成的,但有些公司如Rational 及Riverton等公司花费了大量的时间和金钱创建了能够帮助提高分析设计阶段质量的产品。我向大家强力推荐Riverton公司的HOW系列产品,它运载于PowerBuilder上,是免费的。提高了第一阶段的质量也就等于提高了整个应用软件的质量。本文更侧重软件质量的物理方面,让我们从编码开始谈起。
编码质量
编码质量是应用软件的健康诊断。你可以想象编码就是应用软件的肺。无论看起来多小的缺陷都会影响整体健康,可能引起呼吸(运行)的中断。
我们学习怎样更好地做事,但我们学到的往往是经验。经验的不利之处在于只有在我们经历过之后它才成为经验。而对目前应用的软件来说已太迟,没有什么帮助,只能寄希望于下一次的软件。更有利的办法是与其他软件开发者共同学习,分享经验。
SEI的研究表明,经过软件质量培训的开发人员编写的软件错误更少,能减少50%以上。研究还表明稍稍经过培训,便会加速经验的获得。培训是一个解决办法,对已完成工作进行度量是另一个方法。我们可以建立几个可度量的编码质量的目录:
遵守工业及企业标准,遵守编码规则和结构标准,可提高其可用性及可维护性、最佳实际应用。
企业标准依据其背景而变化。微软的商品遵循微软标准,Unix商品遵循Unix标准。直到PowerBuilder基础等级(PFC)的数据库出现,PowerBuilder的开发人员才获得了对买方标准的一些提示。现在许多公司遵循PFC命名约定,因为它最接近于工业标准体系结构。这就是说,甚至连Sybase都不遵循自己的标准,而是遵守PFC标准。PFC的版本6集成了一些它自己对外公布命名规范的结构标准。
关键的一点是如果什么也不做就谁也帮不了你。学习的关键是经验。如果你不知道自己已拥有经验,你就无法从中获益。你知道的越早就越有效。你可以通过实施一些标准加速此过程。这完成了两个目标: [page]
要实施标准,必须先度量。如果你度量应用标准及质量,开发人员就会对所度量的要素及他们出的错误更清楚,加强了目标的认识。纠正发现的问题并找到错误原因,可以再次提醒开发人员要达到的目标,并指出达到的方法。
一旦进行度量,应用软件中不通顺的地方立刻被纠正。可以达到两个目的:最终的编码十分整洁,具有高质量;开发人员完成这一步就会得到最重要的益处——经验。
功能性质量
功能性质量是度量应用软件与其用户需求的匹配程度,即完成必要性功能的好坏,以及是否完成了所有必要的功能。你可以想象这是应用软件的大脑。如果所有必需的功能并没有全部完成,那么其结果难以预测。
由于许多应用已事先规定应该怎样,所以功能性质量比编码质量更难度量。只有对开发完的应用才能度量。这意味着改变代价很大。我们应该怎样度量?在开发周期的早期阶段应该做什么才能保证我们正朝着更高质量的目标前进?
[本文共有 2 页,当前是第 1 页] <<上一页 下一页>>
声明:该作品系作者结合法律法规,政府官网及互联网相关知识整合,如若内容错误请通过【投诉】功能联系删除.
相关知识推荐
税收对于国家来说是非常重要的,也是国家财政收入的重要来源,我们都知道,不管是企业还是个人,都需要按照法律规定来缴纳相应的税费,为了鼓励一些企业发展,促进经济进步
核心内容:下面,法律快车小编通过法院对两间公司之间的计算机软件开发合同纠纷的判决,为您介绍应该如何处理此类问题。A(北京)科技有限公司(简称A公司)与哈尔滨工大
上海市第一中级人民法院知识产权判决书上诉人上海某某信息安全有限公司因软件开发合同纠纷一案,不服上海市浦东新区人民法院(2005)浦民三(知)初字第26号民事判决
项目管理是50年代后期发展起来的一种计划管理方法,作为一门新兴的管理科学,正日益引起项目建设者的广泛重视,它是一种运用系统科学的原理对工程建设项目进行计划、组织
工程先开工后签合同一般不合法,属于倒签合同的法律行为。倒签合同与企业风险防范的目标相悖,不符合企业管理制度的要求,同时存在较大的法律风险和经营管理风险,在实践中
没有资质挂靠拖欠工程款挂靠施工人可以自己名义起诉要求发包人支付工程款。承包人应当积极向发包人主张工程款,实际施工人有足够证据证明承包人未积极向发包人主张工程款的
建筑工程纠纷行使先履行抗辩权如下:负有先履行义务的一方不如约履行的,另一方可以行使先履行抗辩权、拒绝其相应的履行请求。先履行抗辩权基本上适用于先履行一方违约的场
个人名义签订了建筑工程承包合同无效。承包建筑工程的主体必须具有企业法人资格、持有工商行政管理机关核发的营业执照和建设行政主管部门颁发的资质证书,在核准的资质等级
施工企业与包工头之间的法律关系是劳务合同关系,双方建立承揽业务后包工头受施工企业管理。建筑企业与施工企业之间是建设工程承包(加工承揽)关系,包工头与农民工之间是
承包工程需要签合同,签订时需要注意对工程的真实性、可靠性及发包人的资信情况进行了解,写明单项承包工程名称和范围、施工准备、施工组织设计和工期、工程质量和检验、价