论如何提高软件的质量

来源 :学生之友 | 被引量 : 0次 | 上传用户:tianledaishumama
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  【摘要】软件质量的优劣已经直接关系到软件项目的成败。在本文中主要阐述了在软件系统开发中为了保证软件质量而采用的方法和策略,内容包括:坚决贯彻执行工程化开的原则;重视文档建设,以及文档和代码的一致性以及版本控制和跟踪管理;重视工程每一阶段的质量控制,包括计划、评审、变更管理、责任制的明确;重视人员的管理机制;在软件质量的量化控制方面的努力以及重视软件的测试几个方面。软件工程的科学理论在不断地发展,要提高软件质量,需要从整体的软件过程以及管理模式入手。
  关键词:软件工程 ,软件质量 ,软件管理 ,软件测试
  
  30多年前美国软件工程师F.P.Brooks把组织开发IBM360操作系统时的失败教训总结出来,写了至今仍为人们常常引用的一本书《难忘的软件开发日日夜夜》(The Mytieal ManMonth)。这本现已成为软件工程重要文献的书告诫我们千万不可忽视软件开发的管理,从何时起由于人们广泛接受了这一忠告,开始重视软件的工程化开发,使得软件项目的成功率大大提高,然而,近年来软件质量问题逐渐突出,有些问题十分严重,不断传来的报道告诉我们,软件质量不佳引发的事故已直接伤害到生命和社会安全。
  目前,我国已有上万家软件企业。虽然较前些年有了很大发展,但从数量上与国民经济发展相比,与13亿人口的庞大需求相比仍不能适应。我们更要注意到的是软件质量的差距,这在很大程度上表现在软件质量管理上的差距。
  在我国,引起软件质量问题的原因主要有以下几个方面:
  
  1.对软件工程标准化重视不够。从80年代中期开始我国已制订和公布了20多项软件工程国家标准,其中许多标准是从国际标准转化的,具有很好的指导性。但只有少数部门和行业在参考国家标准的基础上制订和实施了部标和行标(如航空、航天、外贸、石化等)。个别企业制订和实施了自己的企业标准和规范。许多企业缺乏质量意识,缺乏标准化管理意识。
  
  2.软件产品的质量问题时有暴露,有的企业提供用户的手册版本搞错,许多企业开发的程序可读性极差,产品的用户界面不统一,产品测试不充分等等。1995年在申报参加全国优秀软件的产品评测中发现,由于系统兼容性差等质量问题,有30%的产品不具备评测资格。在市场上流通的软件质量更是屡见不鲜。
  
  3.软件开发工具和管理工具的提供与使用不够充分。致使大量的开发工作和开发管理工作停留在手工劳动阶段,不仅效率低而且往往不能保证质量。例如许多软件企业没有采用配置管理工具、测试工具、度量工具等。
  软件作为一种面向市场的产品,现在已经有了规范化的方法,以工程化的思想去“生产”,它再也不是个人智慧的小产物,它经常是以若干人力的大投入去生产,而且它运作的性能和可靠性往往有着至关重要的意义和后果。所以提高软件质量已经成为整个软件开发过程中的关键问题之一。在保证软件质量的方面,本人的看法有以下一个方面:
  
  1.重视每一个步骤中的文档建设,以及文档版本管理和文档与代码的一致性管理。这里我主要采用了需求变更矩阵来控制和记录文档的变更路线和一致性。每一个步骤的文档和代码都有明确的版本代号,每一个版本的文档和代码的变更原因、提出变更的人员、对于变更请求的讨论意见记录、最后是否采纳变更请求都有相应的记录。如果采纳,则选择实现的相应措施、变更将要影响到的模块有哪些、相关的人员有哪些,全部都要记录在案;然后每个相应模块的实现情况以及相应的后续跟踪情况全部记录在案。对于那些已经接受的功能请求,它的完成情况、可能出现的潜在问题全部在专门的会议上作确定,并有详细的文档记录。每一项决定的负责人都有记载。对于文档和代码的版本都要有一个矩阵来跟踪和管理。
  
  2.重视人员的管理。软件产品毕竟是由人生产出来的。人员管理直播关系到软件本身的质量。每个人都要就自己的工作负责任。人员管理按照总负责人到项目负责人,到下层的开发人员,协调人员划分,既有从上到下的责任层,又按照系统本身的功能模块分块。每一个人既对上级领导负责,又对横向的分块的项目组长负责。责任明确到人,到天,按照完成情况进行考核。以人员的责任感来保障软件的质量。
  
  3.重视工程每一阶段的质量控制。每个阶段都有详细的计划,包括此阶段的目标,工作内容,参加人员,每个人员的工作内容和目标,以及每个阶段的时限,每个人员的每项工作的时限。一般计划到每人每天。每三天有一改小组碰头会,总结计划完成情况,及时发现问题,尽量解决。影响较大的问题就要及时召开项目会议,作讨论,给出解决的方案。每周有一个开发会议,作周汇报,及时审核计划的完成情况。在有突发事件时,要求当天召集人员解决,绝不“留待以后”,造成祸患。每个阶段完成时的阶段总结是非常重要的,要求开发方和客户方的领导和技术人员都要参加,尤其对于有变更和有分歧的问题,务必要达成明确的共识。这样,每个阶段每个人员的计划、目标、工作内容,出现的问题,解决的情况,还可能会有潜在问题以及给予的评价全部有详细明确的记录以供跟踪。这样一切都尽量做到有章可循,并且在有人员变动的情况下,可以把对开发工作的影响程度降低到最小。
  
  4.在保障软件质量的量化方面做努力。尽量采用当前先进的软件质量度量方式,以科学的方法试题和检测软件的质量,而不仅仅是从定性的方面来衡量。无论是需求开发的产品,还是设计阶段的产品,当然也包括代码,以及相应的文档,每个阶段的产物都要在阶段总结的时候给予定量的质量考核和评估,然后对质量评估的结果给予分析和评价。对于不达标的阶段产品要给出处理意见,力争做到步步为营。
  
  5.坚决以工程化的方法,按部就班地开展每一步工作,绝不急于求成。从最初的需求获取阶段开始,首先是双方决策人员和技术人员的沟通,尽量在战略目标上统一,在总体的资金投入、人员投入和系统目标上达成一个尽量明确的共识;然后进行可行性研究(在资金、时间和人员的限制之下是否可以达到系统目标);在此基础上再进行需求分析和开发。经过不断的修正,得到一个适当的原型。然后开始总体设计和详细设计,以及代码设计和各级测试。先产生一个可试运行的产品,再不断地完善它。在每一个步骤中,都保证每个步骤的工作质量。
  
  6.重视软件的测试。测试软件测试是软件质量控制中的关键活动。业界的统计数据表明,测试的成本大约占软件开发总成本的 50 %左右。软件测试的目的是要发现软件中的错误。一个好的测试是发现至今没有被发现的错误。传统的软件测试专注于动态测试范畴,如:单元测试,集成测试和系统测试。而测试工程的发展已经进入到了全流程的测试,包括开发过程前期的静态测试。一般我们可以把测试分为白盒测试和黑盒测试。白盒和黑盒这两类测试是从完全不同的出发点,并且是两个完全对立点,反映了事物的两个极端,两种方法各有侧重,不能替代。但是在现代测试理念中,这两种测试往往不是决然分开的,一般在白盒测试中交叉使用黑盒测试的方法,在黑盒测试中交叉使用白盒测试的方法。软件测试是产品最终交付到用户之前的最后一道防线,有着举足轻重的地位。
  当然,要提高软件的质量,远远不只这几个方面。追根究底,要从根本上提高软件的质量,最重要的是提高软件开发企业对软件质量的关注程度,我想如果一开始都将质量放到一个比较高的位置,软件产业一定会有更加突飞猛进的发展。
其他文献
新课程理念强调艺术课与其他学科的联系,与学生的生活经验的联系。艺术课程是在教育改革中诞生的一门新课程,是在我国已有的音乐、美术分科课程基础上建构的一门综合性课程。艺术课程与以往的音乐、美术课程相比,在学科的价值定位、基本理念、课程目标、内容标准等方面都体现出不同,下面就以我在短暂的艺术教学实践中谈几点体会。    一、综合化的艺术课程有利于培养学生的艺术综合能力    艺术课程最明显的标志就是各科
期刊
所谓求异思维指的是一种逆向性的创造思维,其特征是用不同于常规的角度和方法去观察分析客观事物而得出全新形式的思维成果。求异思维的内涵具有广博的开拓创新性和迁延性,运用求异思维教学能够克服教学模式的凝固化和一统化弊病,冲破陈旧的思维模式,把思维从狭窄、封闭、陈旧相因的体系中解放出来。在一个新的领域中进行思维的创造性、开拓性的辐射与复合。显然,逆向性创造思维有益于启迪和挖掘学生潜在的智力,提高教育教学质
期刊
摘 要 在数学课堂教学中,教师要时时刻刻注意给学生提供参与的机会,体现学生的主体地位,充分发挥学生的主观能动性。只有这样才能让大部分学生动起来,才有可能收到良好的教学效果。   关键词 初中数学教学 主观能动性 学习动机     农村中学的学生水平差别很大,在教学中我觉得要让大部分学生动起来,提高教学成绩,达到教学目的,必须在引导学生参与教学活动的全过程做好文章:加强学生的参与意识;增加学生的参与
期刊
信息技术课是一门新兴的实践性很强课程,教学中部分教师受过去传统教育影响,主宰教学全过程的状况依然存在,从而使学生的主体作用得不到充分发挥,基本的教学目标不能很好实现,严重影响了教学的效果与质量。在信息技术课的教学中我们应采取何种方法才能实现教学目标呢?下面我从以下四个方面谈谈我个人观点:    一、 精选教学软件,提高学生学习兴趣,培养其自学能力    学生对信息技术课非常感兴趣,但是这种兴趣却只
期刊
一、宽松、民主、和谐的课堂教学氛围是构建积极、有效互动的前提      (一)教师的角色定位问题   长期以来,教师把自己更多地定位为管理者和控制者。为了维持课堂纪律和课堂教学,学生一般不被允许发出信号,他们要听从教师的指令,允许做什么,不允许做什么。在互动中教师更要求自己的行为和要求被学生接受和执行,一旦遭到拒绝会倾向于用各种方式包括消极的方式达到目的。在这种情况下,学生的主体性和主动地位难以得
期刊
传统教育评价制度以出卷考试作为学生学习效果的主要评价方式,是指导教师教学的有力指挥棒。考什么,教师就教什么;考什么,学生就学什么,家长也只认得考试,于是考试成绩是评价学生的最重要的标准。  考试这样一张卷子定成败的评价形式,不可能对学生较长时期所学到的知识和形成的能力进行全面的检测,所以就出现了评价的片面性和偶然性,这样的评价方式对学生的成长是弊大于利,所谓对学生的“减负”也只能是空谈。  传统教
期刊
摘 要 21世纪我们已经全面进入了数字化时代,数控技术作为最先进的生产技术,其人才不仅需要理论,还需要实训实践。如何提高学生操作能力,如何带好实训工作,值得探讨。  关键词 数控技术,实训,人才,操作能力    数字控制是一种借助数字、字符或其它符号对某一工作过程(如加工、测量、装配等)进行可编程控制的自动化方法。数控机床是采用数字控制技术对机床的加工过程进行自动控制的一类机床,是数控技术典型应用
期刊
所谓误区:是指由于不当的教学理念与不当教学方法,使历史课堂教学工作程度不同地存在着这样和那样的散乱现象,严重影响了中学历史课堂教学的最佳效果。  在我国,中学历史教学的主要形式是以班级为单位进行的,这是实现中学历史教学目的,完成中学历史教学任务的主要途径。而中学历史课堂教学要想取得最佳效果,除了其他因素外,课堂管理工作的情况如何,也是一个极为重要的因素。许多教师深知这一点,因而他们非常注重历史课的
期刊
审美是一种人生境界,美育就是要造就一种审美的人。而语文本身具有浓厚的“人文性”,具有“审美移情”的性质。尤其是汉语,重意义、重意象、重意境的特点也强调语文教学中“沉浸”、“品味”、“感悟”的重要性。因此,语文教学中要特别注重美育。具体来说语文教学中的美育以下几点体现:  首先,语文课程的设置体现美育    一、语文课程目标突出体现了美育    《语文课程标准(试验稿)》规定语文课程是“工具性与人文
期刊
叶澜教授曾作过这样精辟的论述:“课堂应是向未知方向挺进的旅程,随时都有可能发现意外的通道和美丽的图景,而不是一切都必须遵循固定线路而没有激情的行程。”面对课堂教学中超越预设,鲜活丰富的即时生成,教师该做些什么呢?    一、捕捉与引导    课堂教学具有极强的现场性。教师不应拘泥于预设的教学规程不能自拔,而应独具慧眼,将“弹性灵活的成分、始料未及的信息”等生成性资源即时捕捉并理智地引导,从而真正让
期刊