将质量活动整合进软件生命周期_第1页
将质量活动整合进软件生命周期_第2页
将质量活动整合进软件生命周期_第3页
将质量活动整合进软件生命周期_第4页
将质量活动整合进软件生命周期_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

优集学院学期论文将质量活动整合进软件生命周期摘要:软件生命周期的提出使软件开发的产品工程化、标准化,逐步迈上更高的台阶。于此同时,软件开发中面临的问题也渐渐暴露出来。软件质量保证是软件开发流程中的一个重要环节,通过质量保证来客观评价过程和工作产品,减少并纠正、预防实际的开发过程和结果与预期不符合。本文首先对软件生命周期进行了相关论述,其次介绍了软件质量保证的概念及过程,最后介绍了软件质量保证是如何贯穿于软件生命周期中的。关键词:软件生命周期;软件开发;软件质量保证Quality activities integrated into software development life cycleJING Xiao-lan(UGS College, Yancheng Institute of Technology, Yancheng, Jiangsu 224051)Abstract:The proposal of the software development life cycle makes the product engineering, standardization, and gradually to a higher level. At the same time, the problems faced in software development has gradually exposed. Software quality assurance is an important part in software development process, to objective evaluate the processes and work products by quality assurance, to reduce, correct and prevent the actual development process and results are not expected to meet the goal. In this paper, firstly make a discussion on the software development life cycle, then introducing the concept of software quality assurance and process, and finally describing how software quality assurance throughout the software life cycle.Keywords: software development life cycle; software development; Software quality assurance前言在20世纪60年代,只有程序设计(Programing)的概念,而没有软件的概念,软件开发的非工程化、非标准化使软件的使用周期短,质量低。到20世纪70年代初,计算机界提出了软件和软件工程的概念,使软件开发有计划地进行,强调软件的可读性、可理解性、可测试性和可维护性,强调用户与软件开发人员、软件开发人员之间的整体配合,于是软件发展迈上了一个新台阶。然而,由于缺乏软件工程开发经验和数据积累,大量问题到运行时才暴露出来。国外曾调查了用户对软件的反映,结果显示,认为软件质量很好和较好的仅占23%,很差的占10%,其余大部分只能勉强使用。软件质量问题向计算机界提出了严重挑战。1 软件生命周期的概念软件生命周期(Software Development Life Cycle,SDLC)是软件的产生直到报废的生命周期,周期内有可行性分析与项目开发计划、需求分析、设计(概要设计和详细设计)、编码、测试、维护等阶段,这种按时间分程的思想方法是软件工程中的一种思想原则,即按部就班、逐步推进,每个阶段都要有定义、工作、审查、形成文档以供交流或备查,以提高软件的质量1,如图1所示。图1 软件生命周期过程 2 软件生命周期的各阶段2.1 可行性分析与项目开发计划这个阶段主要确定软件的开发目标及其可行性。必须要回答的问题是:要解决的问题是什么?若有解决问题的办法,则需要多少费用?需要多少资源?需要多少时间?要回答这些问题,就要进行问题定义、可行性分析,指定项目开发计划。可行性分析与项目计划阶段的参加人员有用户、项目负责人和系统分析师。该阶段所产生的文档有可行性分析报告和项目开发计划。2.2 需求分析需求分析阶段的任务不是具体地解决问题,而是准确地确定软件系统必须做什么,确定软件系统的功能、性能、数据和界面等要求,从而确定系统的逻辑模型。需求分析阶段是一个很重要的阶段,这一阶段做得好,将为整个软件开发项目的成功打下良好的基础。“唯一不变的是变化本身”,同样需求也是在整个软件开发过程中不断变化和深入的,因此我们必须制定需求变更计划来应付这种变化,以保护整个项目的顺利进行。该阶段的参加人员有用户、项目负责人和系统分析师。产生的文档有软件需求说明书。需求分析阶段的过程如图2所示:图2 软件生命周期的需求分析阶段2.3 概要设计在概要设计阶段,开发人员要把确定的各项功能需求转换成需要的体系结构。在该体系结构中,每个模块都和某些功能需求相适应,因此,概要设计就是设计软件的结构,明确软件由哪些模块组成,这些模块的层次结构是怎样的,这些模块的调用关系是怎样的,每个模块的功能是什么。同时,还要设计该项目的应用系统的总体数据结构和数据库结构,即应用系统要存储什么数据,这些数据是什么样的结构,它们之间有什么关系。概要设计阶段参加的人员有系统分析师和软件设计师。该阶段的主要文档有概要设计说明书。2.4 详细设计详细设计阶段的主要任务就是对每个模块完成的功能进行具体描述。要把功能描述转变为精确的、结构化的过程描述。即该模块的控制结构是怎样的,先做什么,后做什么,有什么样的条件判定,有些什么重复处理等,并用相应的表示工具把这些控制结构表示出来。详细设计阶段参加的人员有软件设计师和程序员。该阶段的主要文档为详细设计文档。2.5 编码此阶段是将软件设计的结果转换成计算机可运行的程序代码。在程序编码中必须要制定统一,符合标准的编写规范。以保证程序的可读性,易维护性,提高程序的运行效率。2.6 软件测试在软件设计完成后要经过严密的测试,以发现软件在整个设计过程中存在的问题并加以纠正。整个测试过程分单元测试、组装测试以及系统测试三个阶段进行。测试的方法主要有白盒测试和黑盒测试两种。在测试过程中需要建立详细的测试计划并严格按照测试计划进行测试,以减少测试的随意性。测试阶段的参加人员通常由另一部门(或单位)的软件设计师或系统分析师担任。该阶段产生的文档有软件测试计划、测试用例和软件测试报告。软件测试阶段如图3所示。图3 软件生命周期的软件测试阶段2.7 运行维护软件维护是软件生命周期中持续时间最长的阶段。软件运行过程中可能由于各方面的原因,需要对它进行修改。其原因可能是发现了软件隐含的错误而需要修改;也可能是为了适应新的软件工作环境而需要做适当变更;还可能是为将来的软件维护活动预先做准备等。3 软件质量保证3.1 软件质量保证的概念软件质量保证(SQA,Software Quality Assurance)是指为保证软件系统或软件产品充分满足用户要求的质量而进行的有计划、有组织的活动,其目的是生产高质量的软件2。主要任务是:(1)在软件项目的早期阶段与项目一起制定计划,标准和规范等。(2)在整个生存周期评审项目活动,审核软件工作产品,以验证它们是否符合规范等。(3)给项目经理和其他有关经理提供这些评审和审核的结果。(4)处理符合性问题,直到得到解决。3.2 软件质量保证的过程软件质量保证是贯穿整个项目的基础活动,根据用户要求,提供满足他们要求的一系列活动,这些活动贯穿于软件开发过程,每个活动的能力水平是否达到产品所要求的水平则要通过软件质量度量来评价。软件质量保证的一般过程如图4所示。图4 软件质量保证的一般过程(1)SQA计划的制定。软件项目启动后,根据项目计划制定处相应的软件质量保证计划,定义出各阶段的检查重点,标识出监控的对象,以及在每个阶段SQA的输出产品。(2)SQA计划的监控和评审。编写完SQA计划后组织SQA计划的监控和评审,形成评审报告并通知受影响的组。对于阶段产品的监控通常是检查其阶段产品是否按计划按企业内部统一的规程完整输出。SQA参与评审的目的是为保证评审过程的有效性,如参与评审的人是否具备资格、被评审的对象是否每个部分都进行了评审等。(3)问题的解决。对于项目日常工作中发现的问题和SQA评审过程中发现的问题,SQA要对其进行跟踪,直至问题解决。在设计规格审查会议上发现的设计瑕疵,由项目负责人对设计规格进行更新,并由SQA跟踪,确保所有瑕疵在新的设计规格中得到解决3。4 软件质量保证在软件生命周期中的运用4.1 需求分析阶段在需求分析阶段,产品开发部门与市场部门、客户服务部门以及客户合作,通过市场调查、市场情报分析等方法采集尽可能准确的顾客和竞争对手信息,并及时传递到SQA模式中,采用相关技术如质量功能展开方法对这些信息进行分析与整理,得到软件质量要素,再把这些质量要素反映到产品开发的下一个环节产品概要设计阶段。当然,在需求分析阶段也必须做好检验工作。主要检验开发目的是否明确,开发目标值是否能达到,开发量的界定是否准确,所需的资源是否充分、合理,各阶段的产品、作业内容如何界定,开发体质是否完善。4.2 产品概要设计阶段在产品概要设计阶段,产品开发部门的系统分析师或系统架构师根据软件质量要素对软件进行体系结构设计。把这些信息传递给SQA,SQA对这些信息进行分析,得到下一阶段的质量要素,再把这些质量要素传递到产品开发的下一个环节产品详细设计阶段4。在这个阶段,主要检验设计产品的计划工作量和实际工作量,检验评审工作量,检验评审的方法和评审的覆盖面,检验设计的差错量,验出差错的内容和倾向,寻找出错的原因,检查处理的情况,分析差错对该阶段的影响,检验该阶段结束的判断标准是否合理。4.3 产品详细设计阶段在产品详细设计阶段,产品开发部门的系统分析人员根据上一阶段的质量要素对软件进行详细设计,它要对每个模块的内部工作进行描述,为每个模块开发详细算法和数据结构,这些算法和数据结构被裁减以便适应基本实现平台的所有约束。这一阶段的信息被传递给SQA,SQA对这些信息进行分析,得到下一阶段的质量要素,再把这些质量要素传递到产品开发的下一个环节系统实现阶段。4.4 系统实现阶段产品开发部门的开发人员根据上一阶段的质量要素进行系统实现,系统实现涉及到为外购软件进行安装,及为客户定义的软件进行编码。这一阶段的信息被传递给SQA,SQA对信息进行分析,得到下一阶段的质量要素,进一步传递到下一个环节系统测试阶段。4.5 系统测试阶段在系统测试阶段,测试人员对软件进行单元测试、集成测试和确认测试。SQA给出审查结论、确保测试人员记录下发现的瑕疵、确保项目经理更新的规格说明书正确无误并及时到达相关人员。之后,这份新的规格将成为编程、测试的依据。在这个阶段,主要检验实现产品的计划工作量和实际工作量,检查实现过程的评审工作量,检验评审的方法和评审的覆盖面,检查测试所验出的差错数,验出差错的内容和倾向,寻找出错的原因,检查处理的情况,分析差错对该阶段的影响,检验运行时间是否达到性能要求,检验测试环境、测试项目设定的种类、测试用例的设计方法是否合理5。4.6 验收、运行维护阶段在验收阶段,主要是检查用户的文档是否齐全、清晰,检查已通过测试的软件产品是否符合质量要求。运行维护阶段,主要掌握用户使用产品的质量情况,并反馈到开发部门。5 总结将SQA活动整合进SDLC的各个阶段能有效提高软件质量,同时能避免软件企业交付软件产品给用户后出现严重的质量问题。通过SQA,我们可以了解到软件开发过程中存在的问题,从而在发现问题的基础上,进一步针对问题来解决问题,进而对过程进行改进。通过SQA策划方法的不断完善,质量保证活动所能产生的经济效益和社会效益必将越来越大,同时也必将会因此而极大地促进软件产业的发展。参考文献:1 邢彬彬, 姚郑. 软件生命周期模型与 CMM实施J. 计算机应用研究. 2007,24(10):206-210.2 李娟, 梁工谦. 传统质量工具在软件质量保证中的应用J. 现代制造工程. 2011:30-34.3 Jean Marie, Kabasele Tenday. Using Special Us

温馨提示

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

评论

0/150

提交评论