软件质量保证(共12篇)
软件质量保证 篇1
1 软件质量和软件质量保证
软件质量在软件开发中占有重要的地位, 在软件开发的各个阶段必须给予高度的重视, 否则会影响软件的使用。软件质量的度量可以采用相关的技术模型, 通过具体的指标得以反映。软件的复杂性与软件的质量有密切的关系。结构简单的软件, 对于保证软件的质量有很大的帮助作用, 所以在进行软件设计时, 应当尽量保证设计简单的软件结构。软件的可靠性是软件质量的反映。从某种意义上说, 软件的可靠性高说明软件的质量高, 软件的可靠性可以通过有关指标和模型反映出来。在软件开发中, 要保证软件的质量, 因此应当尽量避免软件错误, 其中, 有些避免不了的错误应当采用软件容错的技术进行解决。
2 软件质量问题分析
软件不同于硬件, 软件不会用坏, 不存在零件更换问题, 但不允许存在误差, 不能发生错误, 否则后果十分严重。医疗系统中的软件错误可能造成生命危险, 银行系统中的软件错误会使金融混乱, 航空管理系统中的错误会造成飞机失事。例如, 美国在一次发射火箭的实验中, 由于飞行计划程序里漏掉一个连字符而导致了火箭实验的失败。任何企业都需要有效的管理方法, 软件企业需要的管理方法又与其他类型的企业不同。
在国内软件企业管理的经验比较少, 人员也比较缺乏, 没有形成一个有效的体系。国际上流行的软件过程的认证方法 (如, IS09000和SW-CMM) 在国内虽然已引起足够的认识, 但通过认证的情况并不理想。在这种情况下, 软件企业承担大型软件工程和系统设计、开发、集成能力相对较弱, 并造成在国际市场上处于不利的竞争地位。当前, 软件质量问题比较多, 其主要原因是软件企业管理水平跟不上。
3 影响软件质量的因素
软件的正确性、可靠性和安全性是影响软件质量的三个重要因素。根据Mc Call等人提出的软件质量度量模型, 正确性是指程序满足其规格说明和完成用户任务目标的程度。正确性的评价准则包括:可跟踪性、完整性和一致性;可靠性是指程序在要求的精度下, 能够完成其规定功能的期望程度。可靠性的评价准则包括:容错性、准确性、一致性、模块性和简洁性;安全性则是对软件的完备性进行评价的准则之一, 指控制或保护程序和数据机制的有效性, 比如对于合理的输入, 系统会给出正确的结果, 而对于不合理的输入程序则予以拒绝等。在1985年ISO建议的软件质量度量模型中, 正确性和安全性是软件质量需求评价准则 (SQRC) 中的两条准则, 前者包括软件质量设计评价难则 (SQDC) 中的可跟踪性、完备性和一致性, 后者则包括其中的存取控制和存取审查。而Mc Call模型中的可靠性因素则体现在可容性准则和可维护性准则中。其他的影响软件质量的主要因素有:
1) 可测试性:程序容易测试的程度。
2) 适应性:修正和改进系统所需要的工作量的大小。
3) 可维修性:诊断和改正系统错误所需要的工作量大小。
4) 效率:为了完成预定的任务, 系统耗费资源的程度。
5) 可理解性:理解和使用该系统的容易程度。
6) 可用性:系统在完成预定功能时令人满意的程度。
7) 风险性:按预定的成本和进度开发出系统, 并为用户所满意的程度。
4 改进软件质量保证的技术
4.1 软件复用技术
由于封装和继承的特性, 面向对象方法比其他软件开发方法更适于支持软件复用。封装意味着可以将表示构件的类看做黑盒子。用户只需了解类的外部接口, 即了解它能够响应哪些消息, 相应的对象行为是什么。继承是指在定义新的子类时, 可利用可复用构件库中已有的父类的属性和操作。当然, 子类也可以修改父类的属性与操作, 或者引进新的属性与操作。构件的用户不需要了解构件的实现细节。
4.2 容错技术
所谓“容错”, 就是在出现有限数目的硬件或软件故障的情况下, 系统仍可提供连续正确执行的内在能力。容错和避错是不同的, 容错主要是针对版本中的故障向系统提供保护。组成容错软件的每一个版本的程序设计也要求尽量采用避错技术, 防止单版本领繁出错。但在容错系统的单版本设计时, 避错技术的应用要考虑成本分配上的合理性, 以使总体上符合效益成本比最大的要求。软件容错的目的是屏蔽软件故障, 恢复因出错而影响的运行进程。尽管对于整个这类系统来说, 由于硬件 (包括软件载体) 瞬时干扰引起的故障也能起到一定的屏蔽作用, 但它和专门设计的、以软件为手段实现硬件容错的系统是不同的。软件容错的实现需要硬件的保证和协同。如果软件容错配合以合理的硬件冗余, 可以起到比各自单独考虑容错更好的作用。
4.3 软件工程标准化
在开发一个软件时, 需要有多层次、不同分工的人员相互配合;在开发项目的各个部分以及各开发阶段之间, 也都存在着许多联系和衔接。把这些错综复杂的关系协调好, 需要有一系列统一的约束和规定。在软件开发项目取得阶段成果或最后完成时, 还需要进行阶段评审和验收测试。投入运行的软件, 其维护工作中遇到的问题又与开发工作有着密切的关系。软件的管理工作则渗透到软件生存期的每个环节。所有这些都要求提供统一的行为规范和衡量准则, 使得各种工作能有章可循。
4.4 软件过程评估与改进
软件过程是软件生存期中的一系列相关的过程, 又称为软件生存期过程。过程是活动的集合, 活动是任务的集合。任务是将输入变换为输出的操作。活动的执行可以是顺序的、重复的、并行的、嵌套的。软件过程的考虑主要针对软件生产和管理。为了得到满足要求的软件产品, 不但需要有好的开发方法, 还需要有好的工程支持和工程管理。就是说, 软件过程不仅要有工程观点, 还应有系统观点、管理观点、运行观点和用户观点。
软件质量保证和全面质量管理的思想是一致的, 都指出了不应该只在一个环节上, 比如测试环节来保证软件质量, 我们需要建立众多的辅助流程, 全面地去改进、控制软件流程来保证软件质量。
参考文献
[1]李康荣.Web软件质量层次分析评价方法研究[J].微计算机信息, 2010 (3) :25-26.
[2]宋志秋, 钱英军.基于CMM的软件过程方法研究[J].经济研究导刊, 2010 (1) :251-252.
[3]张旭, 王鹏, 习媛媛, 等.单元测试在软件质量保证中的应用研究[J].煤炭技术, 2010 (6) :185-186.
[4]陈周天.浅谈软件的可靠性[J].黑龙江科技信息, 2010 (10) :65-66.
[5]邢小英.基于软件Agent技术的软件质量保证研究[J].宁波工程学院学报, 2010 (2) :59-62.
[6]吴晓姝.浅谈软件开发过程中的软件质量保证[J].电大理工, 2010 (1) :48-50.
[7]陈汶滨, 赵萍萍, 王申申.基于日志内容的Web系统评价[J].信息技术, 2010 (5) :205-206.
软件质量保证 篇2
软件质量保证模型探析
【摘要】本论文针对软件质量体系及保证模型中的相关问题进行一些有益的探索,力图通过对相关模型的比较研究,寻求到能够全面反映和保证软件质量的保证模型。在软件组织中,可以将ISO和CMM结合起来应用,即:把ISO作为软件质量管理的指导性框架,把CMM作为具体实施层的应用,这样就可以充分利用二者的优势来共同完成对软件开发过程的质量控制,从而达到既提高软件开发效率又保证所开发的软件具有较高的质量。 【关键词】能力成熟度模型;软件生命周期;软件质量保证 目前,软件企业面临的最大的问题是顾客对产品不满意,究其原因,软件质量保证技术的不完善是主要原因之一。就整体而言,我国的软件质量管理和质量保证工作仍处于创建阶段,国外的软件质量管理和质量保证工作也不尽完善,现有的软件质量保证是在软件开发过程中的每一步都进行“保护性活动”。主要内容包括对方法和工具应用的规程、技术复审、测试策略、保证与标准符合的规程,以及度量和报告机制。在技术上的主要手段是测试和复审,在管理上的主要手段是ISO9001的认证[1]。ISO9001是一种“静态”的质量保证标准,只规范了质量体系的最低可接受水平,并不描述一个组织如何实现这些系统质量要素来满足顾客的需求;CMM是一个致力于组织过程改进的框架,问题是并未提供有关实现关键过程域所需要的具体知识和技能[2],在一定程度上造成了开发过程的僵化,对于当前软件业来说也是很难实现的。 一、ISO9001与CMM的联系 CMM和ISO9001都涉及质量管理和过程管理,并且都受到类似的利害关系驱动,两者之间的相似之处总结为以下四点: (1)它们的`精神一致,都有一个基本思想:“言所行,行所言”; (2)二者都强调管理、过程、规范化和文档化; (3)ISO9001与CMM的出发点都是通过对生产过程进行管理来确保产品的质量; (4)都源自以戴明为首的管理专家的制度管理思想。 首先,不管是CMM还是ISO9001都强调对产生应用软件之过程的管理,提高软件产品的生产效率和软件的质量,同时,软件工程理论的广泛运用也推动了软件产业由小规模生产到集成自动化生产迈进。这也充分说明,软件产品的质量不仅表现在最终产品的质量,还应该包含软件产生过程的质量,只有这样,才能使软件组织连续不断地生产出高质量的软件产品。 此外,CMM和ISO9001并不是孤立或彼此矛盾的。它们的核心思想都来源于埃华茨・丹明和约瑟夫・佐兰提出的全面质量管理思想,这种质量管理思想强调预防,而不是检修缺陷与错误改正。因此,它们之间的结合在理论上是可能的。ISO9001的每一个质量要素都可以对应到CMM2―3级中关键过程区域的特征上。而CMM在生产过程中的管理重点,又弥补了ISO9001在微观管理上的不足。另外ISO9001:版中增加的度量正好是CMM第四级强调的重点。 二、ISO9001与CMM的区别 (一)保证质量的方式不同 ISO9001作为质量保证标准,只论述了质量体系的最小需求,即合格质量体系的最低可接受水平。它是一种“静态”标准,企业只要符合它要求的条件并通过权威机构的审核,就可以通过认证,证明企业的内部管理已经达到一定水平,符合该标准规范的要求。而CMM则强调过程控制、过程管理、持续的过程改进。CMM不仅仅是对产品质量的认证,更是一种改善软件过程的模型,它以一种结构化的成熟度框架描述了软件管理和工程实践,指出了软件过程不断改进的科学途径[3]。它所定义的5个级别就像5个台阶,企业必须一步一步地“攀登”。每一个成熟度级别,既是企业发展的阶段性目标,又是评价企业能力水平的一个标准。当通过某一级CMM评估后,企业还必须持续不断地改进过程,其目标是要达到可持续发展、可优化的程度,以此来实现高质量、高效率、低成本的生产软件。因此,可以认为CMM是一个“动态”模型。 需要强调的是,ISO9001着重于考核产品的质量和产品过程的受控状态,给企业提供一种PASS/FAIL的检查体系,即企业的过程能力只有两种状态,虽然在缺陷预防和内审管理中涉及到了过程改进,但是并没有对改进的目标和方法进行指导和控制。CMM则重点考核软件组织的工程能力,而且突出不断改进、升级的要求。显然过程不断的改进、能力不断的增强,新技术的应用就会收到更好与更快的成效,产品的质量就会不断的得到提高和保障。 (二)认证审核过程不同 ISO的认证过程分为两个情况――机构或者通过了ISO认证,或者没有。如果机构通过了ISO认证,其过程已满足ISO9000的标准要求。与此不同的是,CMM给出的是过程改进的体系。CMM将软件过程划分成5个成熟度级别――从原始级(第一级)到优化级(第五级)。软件机构可处在其中的任何一个级别,它的每一级对所要实现的关键过程域都有详细的要求,并且强制企业能自我更新和持续改进,以实现缺陷预防[4]。这对于提高软件企业自身质量管理素质是非常有利的。 但CMM毕竟是一个在学术报告基础上建立起来的一套评估体系,它的认证结果是由SEI授权的首席评估员寄一封带有本人签名的信给被评估者,并在SEI备案,没有任何证书,终生受用,中间不再审查。而通过ISO9000认证的企业,要在中国技术监督局备案,并且发证给企业,并要求每年审查,所有参加多边认可协议的国家必须认可,适用性强。 (三)适用范围不同 ISO9001标准是一个适用于提供各种产品/服务企业的通用型的企业标准,而且主要是针对制造业制定的[5]。正是由于ISO9001的通用性,使得它无法满足软件企业更深层次的专业化管理需求。而CMM是专门针对软件开发企业设计的,可以帮助软件企业有效地管理软件过程。 ISO是通用的,并且是从客户和外部审计者的角度来写的,它提出的是最基本的要求,所以不是十分具体。而CMM是面向软件的,即面向软件开发人员的,它提供了机构内部过程改进的指南,而且CMM对每个级别的关键过程域都有很详细的说明,光CMM的关键实现的说明就有500页之多。 (四)管理层次不同 从管理层次上看,ISO要比CMM所处的级别高,ISO只是提出了一个质量管理框架,是属于指导性的框架,而CMM提出的框架是一个操作性很强的框架,其KPA过程非常明确地提出了过程目标和过程注意事项。 三、相关建议 在软件组织中,可以将ISO和CMM结合起来应用,即:把ISO作为软件质量管理的指导性框架,把CMM作为具体实施层的应用,这样就可以充分利用二者的优势来共同完成对软件开发过程的质量控制,从而达到既提高软件开发效率又保证所开发的软件具有较高的质量。我国中小软件企业在建立软件质量保证模型时,应该考虑以下几个方面的因素: (1)某种程度上市场目标决定质量目标,只有能满足客户需求的软件才可以称为好的软件。 (2)在考虑最终软件成品的同时,要考虑软件过程的质量保证。 (3)全面质量管理及CMM思想的集成,要关注软件过程控制能力以及过程持续改进能力。 参考文献 [1]李娟.基于QFD的软件质量保证模型研究[D].西北工业大学,. [2]李娟.CMM实施过程模型及实例化方法研究[D].中国科学院软件研究所,. [3]叶俊勇,汪同庆等.软件开发的质量保证体系[J].计算机与现代化,,6:27-32.
电子政务系统软件质量评价软件 篇3
本项目通过对外部质量的研究结合电子政务系统的特点构建出电子政务系统软件的质量评价模型,并引入六西格玛质量管理理论作为质量评价模型各个指标的度量标准。给予各个评价指标适当的权重,结合指标数据和相应的权重进行计算,最终得出电子政务系统的评价分数。
关键词:电子政务;六西格玛;质量评价模型;外部质量
中圖分类号:TP393.08
本课题依据中国国家标准化管理委员会发布的软件工程产品质量标准对电子政务系统软件的外部质量进行分析、评价和处理,外部质量是基于外部视角的软件产品特性的总体,即当软件执行时,典型地是在模拟环境中用模拟数据测试时,使用外部度量所测量和评价的质量。通过对外部质量的研究结合电子政务系统的特点就可以构建出电子政务系统软件的质量评价模型,采用基于质量评价模型的电子政务系统软件的测试数据作为输入数据,并引入六西格玛质量管理理论作为质量评价模型各个指标的度量标准,量化各个指标。参考电子政务标准化指南和电子政务系统总体设计要求,给予各个评价指标适当的权重,结合指标数据和相应的权重进行计算,就可以得出电子政务系统的评价分数和等级。
1 需求分析
1.1 系统业务功能
本系统分为系统事件流程,客户事件流程和管理员事件流程三个功能集合。系统事件流程分为系统登陆、用户个人信息修改、系统退出、客户注册四个功能。客户事件流程分为系统信息提交、评价信息提交、系统成绩计算、评价成绩查询四个功能。管理员事件流程分为客户管理、评价系统管理、评价项目管理三个功能。
1.2 主体模型分析
1.2.1 外部质量指标。本质量评价模型主要通过对电子政务系统的外部质量的考察而设立指标。外部质量指标是从用户使用角度去总结软件产品特性,并加以分类和细化,制定相关的考核等级和标准。
1.2.2 权重分析法。不同外部质量指标对于评价体系的意义是不同的,指标的权重可以在决策中相对重要程度综合度量在主观评价和客观反映。
1.2.3 六西格玛质量管理理论。西格玛在统计学中用来表示标准偏差,用"σ"度量质量特性总体上对目标值的偏离程度。六西格玛流程能力(短期)可解释为每百万个机会中有3.4个出错的机会,即合格率是99.99966%。
2 系统设计
2.1 总体设计
2.1.1 模型指标设计。(1)功能性。包括准确性,适用性,互操作性,安全保密性,指在指定条件下使用时,电子政务系统提供满足明确和隐含要求的功能的能力;(2)可靠性。包括容错性,成熟性,易恢复性,指在指定条件下使用时,电子政务系统维持规定的性能级别的能力;(3)易用性。包括易操作性,易理解性,易学性,指在指定条件下使用时,电子政务系统被理解、学习、使用和吸引用户的能力;(4)维护性。包括易分析性,易改变性,稳定性,易测试性,指电子政务系统可被修改的能力。修改可能包括纠正、改进或软件对环境、需求和功能规格说明变化的适应;(5)可移植性。包括适应性,共存性,易替换性,指电子政务系统从一种环境迁移到另外一种环境的能力。
2.1.2 成绩计算方法。第一步,对每个指标的度量值采用六西格玛质量管理度量理论进行评分,
具体实现方法如下:
√ 当Xi=1时,Pi=100,说明该评价度量指标完全合格;
√当0.9999966≤Xi<1时,Pi=90,说明该评价度量指标达到六西格玛质量标准。
√当0.9999767≤Xi<0.9999966时,Pi=80,说明该评价度量指标达到五西格玛质量标准。
√当0.999379≤Xi<0.9999767时,Pi=70,说明该评价度量指标达到四西格玛质量标准。
√当0.9933193≤Xi<0.999379时,Pi=60,说明该评价度量指标达到三西格玛质量标准。
√当0≤Xi<0.9933193时,Pi=0,说明该评价度量指标达不到最低标准,不合格。
其中,Xi为第i项评价度量指标的度量值,Pi为第i项评价度量指标经过六西格玛质量管理度量理论处理后的值。
第二步,采用综合评分分析法计算出经质量评价模型度量后的系统总得分,
公式为I=∑PiWi(1≤i≤n)
其中,Pi为第i项评价度量指标经过六西格玛质量管理度量理论处理后的值,Wi为第i项评价度量指标的权重,I为该系统的总得分。
第三步,算出该系统的总权重和,公式为II=∑Wi(1≤i≤n)
其中,Wi为第i项评价度量指标的权重,II为该评价模型的总权重和。
第四步,用系统总得分除以总权重和,就可以得出该系统的百分制得分。公式为S=I/II
其中,I为该系统的总得分,II为该评价模型的总权重和,S为该系统的百分制得分。
4 总结和展望
电子政务系统质量评价软件的实现重点是质量评价模型的构建。本系统的质量评价模型主要通过对电子政务系统的外部质量的考察而设立指标,从功能性、可靠性、易用性、维护性和可移植性五个方面进行考察。每个方面都设置一系列度量指标,从不同角度考察电子政务系统在该方面的综合表现。度量指标由于评价软件的特性不同,其重要性是不一样的。我们参考电子政务标准化指南和电子政务系统总体设计要求,根据电子政务系统的特点设计出不同指标的权重,设计出真正考察电子政务系统质量的评价模型。
度量指标是评价的工具,是反映评价对象属性的指示标志;指标体系,则是根据评价目标和评价内容的要求,构建的一组相关指标,据以搜集评估对象的有关信息资料,两者缺一不可。基于电子政务系统的软件特性,我们可以把电子政务系统软件的测试数据作为度量的对象。对应电子政务系统质量评价模型中的各个指标,收集相关的测试数据作为质量评价软件的输入数据,通过度量标准定量得出该评价指标的优劣。本质量评价模型采用六西格玛质量管理理论作为指标的度量标准,提高了电子政务系统质量评价系统的科学性、先进性。
本软件的初步开发工作已基本完成,后续优化阶段已经在准备当中。提高软件的访问性能,优化质量评价模型,提高系统的安全性和可靠性等问题将在下阶段的开发过程中解决。通过对本软件特性和功能的认识,我们相信本电子政务系统质量评价软件一定会为我国电子政务事业做出应有的贡献。
参考文献:
[1]GB/T 16260.1-2006/ISO/IEC9126-1.Software engineering-Product:Quality model[S],2006.
[2]GB/T 16260.2-2006/ISO/IEC9126-2.Software engineering-Product:External metrics[S],2006.
[3]GB/T 16260.3-2006/ISO/IEC9126-3.Software engineering-Product:Interior metrics[S],2006.
[4]GB/T 16260.4-2006/ISO/IEC9126-4.Software engineering-Product:Quality metrics[S],2006.
[5]GB/T 21064-2007.System general design requirements for electronic government[S],2006.
[6]杨安.电子政务规则与案例解析[M].太原:山西人民出版社,2005.
作者简介:王梦雷(1985.12-),男,天津人,助理工程师,本科,研究方向:系统架构设计。
软件外包的软件质量保证方法研究 篇4
1 软件质量的概念
现阶段,我国以及国际范围内对软件质量的内涵尚未进行明确的定义,人们对其理解也各有其侧重面。克劳士比定义了狭义意义上的质量,他认为质量就是达到人们预先设定的要求,能够符合人们的基本期望。因此,在对产品质量进行判断以及对需求能否适用于产品进行确定时,该定义却忽略了产品质量之间的固有性差异。而朱兰则以适用性来定义质量,然而当两个产品都具有适用性时,该定义却无法通过有效的机制对产品的优劣进行准确的判断。ISO规定质量即固有特性满足要求的程度,该定义认为,质量应对顾客及有关方面存在的一系列要求进行满足;存在质量要求的包括产品、体系以及过程等;质量的定义不是一成不变的僵化的设定,而是不断发展的、具有开放性特征的概念;只有顾客以及其他方面能够对质量的高低、好坏及其对比性进行最终的判定;经济学定义了质量的本质,认为质量的目的主要在于通过付出最低的成本以取得最大的利益。而信息技术标准规定,软件质量的特性包括功能性、可靠性、应用性、效率、维护性以及可移植性六种性质,在对软件产品质量进行判断以及评定时可以以这几个特性为参考依据。
2 软件质量保证存在的问题
2.1软件质量管理理念薄弱
在软件外包企业进行软件开发的过程中,很多设计人员十分的重视技术,认为技术能够从根本上对软件质量上存在的一系列问题进行合理有效的解决,因此对质量管理工作没有投入足够的力度,导致质量管理以及控制缺乏严格性以及规范性,给软件质量造成了极大的威胁,除此以外,大量的有关实践证明,在软件开放过程以及维护过程中,部分问题的解决并不能仅仅只是依赖于技术提升。一旦缺乏质量管理理念而忽视了软件质量保证工作,就有很大的可能导致软件设计及开发质量很难得到全面切实的提升。
2.2软件开发过程规范性差
部分软件开发人员在进行软件开发工作时,过于依赖自身以往在工作中积累的经验以及日常工作中形成的习惯,导致工作规范性较低,甚至存在很大的任意性,给软件质量造成了很大的影响,除此以外,人员分配责任的交叉、开发计划的混乱以及文档编写的不明确也是不容忽视的几个弊端。开发软件时,发现问题后存在的这些不规范行为会对软件开发项目整体进度、时间以及问题的及时解决造成恶劣的负面影响,还会使开发效率大大降低,无形之中增加了人员成本支出以及开发成本的浪费。因此,开发过程要以明确、科学以及合理制定的软件质量保证规范体系为依据,另外,还要确保规范工作的贯彻落实,从而真正意义上实现软件开发工作的规范化,切实增强软件开发过程中软件质量控制与管理力度,促进软件质量的提升。
2.3软件企业组织结构不合理
在部分软件外包企业中,建立的人员组织结构合理性较为缺乏,制度也存在较大的疏漏,一旦发现问题而难以同直接负责人取得联系时,责任的确定就比较模糊。比如在没有设立组长的软件开发组中,组员对自身的责任认识不到位甚至存在误区,那么当发现问题时,就会导致责任的承担人不明确,问题也难以得到合理有效的解决,最终导致开发混乱局面的形成。
对于软件企业而言,软件质量是一个不容忽视的重要问题。一旦无法保证软件质量,软件企业将很难实现长足稳定的发展,进而导致其综合实力的削弱,将难以在激烈的市场环境中占据一席之地。因此,软件企业应该对软件产品质量进行确定,软件质量保证方法的优劣同软件产品的质量高低息息相关。质量方法作为质量保证的重要前提,其立足于不同企业的背景,充分考虑了软件产品的特性,有机的结合质量标准,所以这种研究方法能够在软件开发期间项目组成员顺利展开质量保证工作的过程中发挥重要的作用。软件质量保证方法同软件开发项目的各个环节均有着紧密的联系,软件开发活动应该严格遵循软件质量保证方法,以提高软件开发管理工作的规范性,为项目质量以及计划的和谐统一性提供全面的保障。
3 软件外包的软件质量保证过程
软件质量保证作为一项基础活动,其贯穿于软件项目的整个过程,一般情况下,它涉及了质量管理方法以及软件工程的工具以及技术,另外,正式技术评审也是这个过程必不可少的重要内容,其采用的测试策略具有层次性以及多样性特征,除此以外,其不仅控制着文档的以及文档的修改,还严格监控软件的开发,以确保与软件开发规程的和谐统一性,报告机制以及度量机制也是软件质量保证必不可少的重要内容。软件质量保证充分全面的考虑了用户的多元化需求,并且能够以此为依据为用户的各种活动提供优质的服务,在软件开发过程中,这些活动同各个环节有着紧密的联系,在一定程度上,评估活动能力水平与产品要求水平的差异由软件质量度量来实现。软件质量保证的过程一般包括软件项目启动、软件质量保证计划的制定及其监控以及评审、问题的上报等。
3.1制定软件质量保证计划
软件质量保证计划的制定应该以项目计划为依据在启动软件项目后完成,这个过程包括了对不同阶段的检查重点进行明确的定义,对监控对象进行全面的标识,对产品质量保证不同阶段的输出产品进行记录。
3.2监控以及评审软件质量保证计划
软件质量保证计划编写完成后,应该开展软件质量保证计划的评审以及监控程序,然后根据评审报告结果对受影响的组进行通知。在监控阶段产品的过程中,应该严格遵循计划对阶段产品的完整输出进行严格的检查,以确保企业内部规程规章的和谐统一。软件质量保证检查阶段产品内容时,一般无法确保其正确性,因此这个过程应该由项目评审负责。软件质量保证评审有利于提高评审的有效性,因此,应对评审人的资格、对象的完整性以及验证报告结论的明确性进行确认。
3.3解决问题
软件质量保证应该对项目各个阶段和过程中存在的问题进行跟踪,并确保问题得到合理有效的解决。在审查过程中,一旦发现设计规格存在瑕疵时,项目负责人应该及时的更新设计规格,同时软件质量保证应该在这个过程中实行严密即时的跟踪和监控,以更好地解决设计规格中不断出现的新的瑕疵。当问题能够在项目组内得到有效的解决时,应该在本组内解决,当项目负责人没有能力或者权限使问题得到良好的解决时,应该及时的向高层主管进行汇报。
4 软件外包的软件质量保证方法
软件质量保证是以服务于管理者、为其提供软件项目以及产品可视性为主要目的。一般情况下,软件质量保证方法有以下两种:首先,重视预防,具体可以利用过程管理以及标准化管理等方式对软件质量进行严格的控制,其可谓是一种事前控制手段;其次是事后控制,产品质量缺陷一般是通过技术评审、调试以及测试等方式发现。相比于事前控制而言,事后控制存在更大的局限性,对软件质量问题的解决更加被动,因此,事前控制可以说是软件质量保证优先选择的重要方法。就技术层面而言,软件质量保证方法涵盖了技术级、方法级以及框架级,其中,技术级侧重于存在问题的具体解决方法,可以根据情况选择白盒测试或者黑盒测试,方法级是技术级以及框架级的桥梁,对于保障软件质量有着重要的意义,而框架级可以对行为以及这种行为产生的结果进行明确的指导。
软件质量保证应该立足于用户满意度,其构建的质量保证体系应该能够对未出现的问题进行全面有效的预防。软件质量的影响因素包括人为、过程以及技术因素,在测试软件时,可以利用经过精心设计而成的软件测试为软件质量保证提供全面保障。
软件质量保证应该充分考虑并立足于客户实际的多元化的质量需求,并以此为基础在软件开发期间进行质量目标的确定;接下来要对软件质量度量进行明确的定义,以对项目活动结果进行评价,判定质量目标达成与否;另外,要对有助于质量目标实现的活动进行确定,同时将其应用于软件生命周期模型的构建;最终应对经过评审鉴定合格的质量活动进行确认,对质量目标完成与否展开系统客观的评价,当软件质量没有达到质量目标时,应及时的通过合理有效的修正行动改善软件质量,以确保软件质量保证的顺利实现。
5 结束语
总而言之,软件质量保证方法不仅对于软件质量的提高有着重要的意义,还有利于减少软件产品交付后形成的软件质量问题,切实地改善了顾客以及软件企业之间的关系,对于软件企业的长远发展有着重要的积极作用。软件质量保证涉及了不同的活动和构成活动的不同过程,因此,对软件项目过程的分析、控制以及改进有利于控制对软件质量造成影响的各种因素,最终为软件质量的保证提供全面切实的保障。
参考文献
[1]吴平平.软件外包公司的软件质量管理流程探讨[J].现代商贸工业,2011,23(24):409-409.
[2]曹萍,李晓霞.基于顾客满意的外包软件质量评估[J].财经理论研究,2014(4):106-112.
[3]王耀志.软件质量监督应把握的六个重点[J].机械管理开发,2012(1):204-205.
[4]刘曙,徐晓飞,王忠杰.面向顾客满意度的软件外包服务质量设计方法[J].计算机集成制造系统,2012(4):881-887.
实验一 软件质量保证标准的分类 篇5
目的和要求:
掌握软件质量保证的相关概念及其之间的联系与区别; 了解软件质量保证的主要任务;
了解软件质量保证的重要性。
基本内容:
(1)软件质量保证
(2)软件质量保证的主要任务
(3)软件质量保证的标准化
重点与难点:
(1)软件质量保证的主要任务及软件质量保证的重要性;
(2)软件质量保证标准的分类。
实验内容:
上网了解软件质量保证标准的分类:MIL-STD-498、IEEE-STD-1074、ISO/IEC-12207、498/CMM 27、498/12207 27等。
作业:
论软件项目质量管理 篇6
关键词:软件项目;质量管理;研究
中图分类号:F270.7文献标识码:A文章编号:1007-9599 (2010) 13-0000-01
Talking on Software Project Quality Management
Ba Wenguang
(Dongying Office of Shandong Rural Credit Cooperatives,Dongying257000,China)
Abstract:Software quality management throughout the whole life cycle of the software is very important.This paper describes the main contents of eye quality management,puts forward the measure improving software project mass.
Keywords:Software projects;Quality management;Research
海爾总裁张瑞敏说:“有缺陷的产品等于废品。”的确,产品质量是企业生存的根本。当前,IT企业越来越重视软件项目的质量,而质量管理对软件项目成败又有着直接的影响。因此,研究软件项目质量管理,探索提升软件项目质量的途径成为一个热门课题。
一、软件项目质量管理的内容
软件项目的实施过程也是软件质量形成的过程,涉及软件产品的各个层面。软件项目质量管理主要包括软件项目质量计划编制、软件项目质量保证和软件项目质量控制三个过程。
(一)软件项目质量计划编制
软件项目质量计划是软件质量管理的行动纲领,通常由项目经理和质量人员共同协商制定质量计划。它包括确认与项目有关的质量标准以及如何满足这些标准。如果机构有独立的质量人员,就由质量人员起草《质量管理计划》,递交给项目经理和质量经理审批。如果机构没有独立的质量人员,就由项目经理兼任质量人员和质量经理的角色。质量计划的主要输出结果有:质量管理计划、质量度量指标、质量检查单、过程改进计划等。
(二)软件项目质量保证。
质量保证的实质是检查项目的工作过程和工作成果,是否符合既定的规范。质量保证的要点:找出明显不符合规范的工作过程和工作成果,及时指导开发人员纠正问题,切勿吹毛求疵或者在无关痛痒的地方查来查去。质量人员首先设法与项目成员协商,给出解决措施。在项目内难以解决的质量问题,由上级领导给出解决措施。这个过程的主要输出结果是:过程质量检查结果、产品质量检查结果、问题与对策和经验总结。
(三)软件项目质量控制
质量控制主要是监控特定的项目结果,确保它们遵循了相关质量标准,并确定提高整体质量的方法。这个过程常与质量管理所采用的工具和技术密切相关。例如,帕雷托图、质量控制图和统计抽样。质量控制的主要输出结果包括:质量控制度量、有效和建议的缺陷修复、建议的纠正和预防措施、请求的变更、质量基线更新、组织过程资产更新和项目管理计划更新等。
二、提高软件项目质量的措施
(一)确立有效的质量标准体系
建立必要的质量标准是进行软件项目质量管理的前提和关键。根据在实施软件项目方面的整体战略规划与软件项目实施计划,实施软件项目的主体企业首先要确立衡量项目质量的标准体系。衡量项目质量的标准一般包括项目涉及的范围、项目实施的具体步骤、项目周期估计、项目成本预算、项目工作详细内容安排、质量目标要求以及客户满意度等。值得注意的是,项目质量标准体系一定要具备完整性、科学性与合理性,项目实施各相关主体应该事先进行讨论与沟通,以保证其完整、无漏洞,又具备较强的可实施性。
(二)做好技术评审
技术评审的目的是通过同行专家对工作成果的评审进行讨论,尽早地发现工作成果中的缺陷,并帮助开发人员及时消除缺陷,从而有效地提高产品的质量。质量人员应当参与重要的技术评审会议,这样既监督了技术评审,又加深对工作成果的了解。技术评审可以在任何开发阶段执行,不必等到软件可以运行之际,越早消除缺陷就越能降低开发成本。技术评审的价值在于“请同行专家评审工作成果,找出缺陷,给出改进建议”,而不在于是否按照规范召开了评审会议(形式是次要的)。技术评审时,项目经理一定要请真正内行的人参与评审,而且要让评审者投入一定的精力,这样才可能取得评审的效果。
(三)提高项目文档质量
按照软件质量管理的要求,在软件生命周期的各阶段应该及时、认真的编制相应的文档。软件项目文档质量不高的主要原因:一是缺乏评价文档的质量标准;二是对文档编写不够重视。质量差的项目文档会削弱对项目的管理,增高项目成本,甚至造成更加有害的后果。我们必须加强对文档质量的检查,提高项目文档的质量。一般在项目文档检查中主要检查“软件需求说明书”、“详细设计说明书”、和“软件测试报告”。另外,我们还要检查上述文档的评审记录,评审结论,重点检查文档中发现的问题是否已经归零。
(四)建立有效的激励机制
通过有效的激励机制,让员工慷慨激昂、充满激情的全力工作,是提高产品质量的重要手段。根据马斯洛理论我们知道:不同的人,有着不同的需要。因此,调动员工的积极性,需要实行多样化激励方式。项目管理者需要对员工进行分类,建立员工分类手册,并且要建立重点员工的个体分析表,以便采取多样化激励措施。斯金纳的操作性条件反射理论告诉我们:当行为结果有利于个人时,行为的得到强化,表现积极主动,愿意重复;当行为结果不利于个人时,行为得到弱化,表现消极被动,不愿意重复。若根据日常考核结果,进行即时化奖惩,该表扬的表扬,该批评的批评;该奖励的奖励,该处罚的处罚。人的行为即时反映出奖罚结果,那么他下一个行为就能即时根据奖罚作出调整。这样就容易发挥奖罚的作用,使项目按照正确的方向顺利进行,从而提高软件产品的质量。
参考文献:
[1]项目管理协会.项目管理知识体系指南[M].北京:电子工业出版社,2009,4
应用CMM保证软件质量 篇7
CMM质量保证体系在当今软件界正在流行,众多经验证明CMM质量保证体系能有效提高软件质量。某公司于年初引入了CMM质量保证体系,并在主评审员和顾问公司的帮助下,成立了公司SEPG(软件工程过程小组),决定将本项目作为CMM2试点项目,并制定了初步的规范体系和模板文件。本项目有如下3个特点:①使用面向对象分析与建模技术进行需求分析;②采用了JavaEE语言开发,并使用了WebLogic应用服务器技术;③项目开发人员多,有20人左右的开发团队。通过对开发团队现状的分析,发现此项目存在很多不确定因素,因此采用有效的质量保证策略就非常重要。
本项目是一个电子政务项目,主要面向教育管理部门、全市中小学校和个人用户,同时它还是一个电子商务系统,提供信息发布、在线支付等电子商务功能。本系统采用了目前流行的B/S结构搭建,融合了教育主管部门和学校内部网上管理系统于一身,实现择校、报到、入学等的电子化和公开化,力争让更多的学生享受到优质教育资源。由于本项目对系统的可靠性以及安全性等方面有着较高要求,并且预计还会有二期项目,项目组决定采用J2EE环境下的三层架构模式作为开发环境。同时,本项目面临开发工期紧、新技术掌握全面、参与人员众多等影响软件质量的不利因素,这些都对软件质量保证工作提出了很高的要求。
1 通过对过程质量的管控来保证软件产品的高质量
1.1 建立明确的权责制度,理顺信息汇报渠道,减少因权责不明而产生的管理混乱
常规项目中,软件配置经理、项目经理与质保经理由于在部门不同,经常出现相互过分隔阂的情况。为解决这个老大难问题,在项目启动阶段,起草了《项目管理人员责任书》,并由公司组织多个部门负责人评审通过。同时,提议公司设立了质保经理交涉通道,确保质量保证人员在遇到开发中的问题时有独立和顺畅的途径向公司反映,以快速处理问题和纠纷。为防止在规范化开发过程中项目管理人员与开发人员对规范的过度依赖而导致主动性不高,以及可能产生相互埋怨的问题,制定并通过实施了《项目开发人员守则》。每个成员在参加项目之初都要进行签字确认,通过这种方法管理开发人员的行为规范,解决了开发过程中遇到的实施不力和规范滞后引起的混乱问题。
1.2 以《质量保证计划》为纲,全程监控各项开发工作过程建立、进度和质量等问题
在项目启动阶段,根据CMM2的相关要求,结合公司发布的项目开发规范,制定《项目质量保证计划书》在《项目质量保证计划书》中详细地制定了质量保证工作的具体内容和进度安排,并进行基线化,建立基线库。
计划书中主要包括职责、组织工作、检查评审及培训工作4个方面的内容。
职责方面澄清了项目组内的质量保证人员与各开发角色之间的关系,并且详细规定了在项目中的权责以及主要活动,主要起到项目成员监督质量保证人员的作用。
组织工作方面是为了协助项目经理开展工作,并能有效且及时地获得第一手质量方面的资料,指明了QA(Quality Assurance)在开发过程中的组织工作,主要有技术评审工作、估计、工作细分和测试等工作。
检查评审方面指明了检查评审的过程和要评审的产品,并列举了相应的评审通过准则,即Check-List。比如要评审的过程有项目的哪几个阶段;风险分析过程和任务分解过程是否符合规范的执行;项目组的技术评审活动是否符合评审流程和规范;项目经理和产品配置经理是否按照公司有关规范制定了各自的计划书;对提交的工作产品,如需求文档、设计文档和每一阶段的代码,是否在指定人员和时间进行了正式技术评审并基线化。
培训方面有CMM基础理论方面的培训,也有本项目特色的规范方面的培训内容,都是为有效推行CMM质量体系而进行的有关培训。
对项目开发过程中的跟踪和检查,主要采取了现场参与、分析项目成员日报和周报,个别交流以及项目周例会的形式。
2 制定行之有效的技术规范文件
CMM质量体系更多地关注软件开发过程方面的事情,也就是建议由谁在什么时候做哪些工作,但没有指明各个工作如何开展,也就是偏重于管理,偏轻于技术指导。为避免在框架方面很有效,但应实现细节不明确而出现的“一条腿走路”的现象,特在项目启动之初就制定了要建立的技术规范,如需求文档编写指南、界面设计规范等。这些都列入QA的计划中了。本项目组织资源开发人员学习UML相关的统一软件开发过程体系,借鉴UML和ROSE技术方面的指导性文档,制定了各个开发阶段的规范性和指导性文档。在制定的过程中,采用面向对象的分析和设计技术,并且以其它软件工程理论为辅助参考。
通过以上规范制定的工作,开发质量有了质的提高,项目组成员有了指导开发工作的详细技术文档,也有了CMM过程方面的规范。主要体现在以下两点:
(1)提高了各个过程的效率,各个阶段成果的质量得到保证。从整体来看,每个环节都真正按照CMM的建议做了,比如,人员的配备和选择、实施的流程和时间的配置方面,这些都保证了开发过程的高效。一个显著的例子就是改进后的技术评审过程:为保证提交成果的质量,参加评审的人员必须取得公司颁发的相应资格证书,而且必须等时机成熟后,花专门的评审时间来进行。
(2)人员之间的交流变得有效,各部门之间的配合更加顺畅。
3 亟待改进之处
由于本项目是公司初次按照CMM的要求在项目中实施软件质量保证工作,因此在工作过程中出现了一些不足之处,主要有:①培训工作不及时、不全面,导致成员对质量保证认识不足,QA实施工作遇到了一些麻烦;②缺少一个有效的度量数据收集和分析机制。质量度量数据的收集工作做得还不够,仅仅收集到少量度量数据,数据分析工作也做得很少。
参考文献
[1]杨一平.软件能力成熟度模型CMM方法及其应用[M].北京:人民邮电出版社,2001.
[2]普塞著,王世锦,蔡愉祖.CMM实施指南:软件工程技术丛书[M].北京:机械工业出版社,2003.
软件质量保证 篇8
质量保证系统软件主要包括监测终端软件、采集终端软件、通讯服务软件、校时软件和WEB软件等五部分。
监测终端软件,监测管理终端(客户端)是用户操作最频繁的子系统,根据权限的不同可以操作不同的功能,软件操作一般流程如下:
进行身份验证、登陆;根据监测任务预定节目运行图;设置或修改监测参数;进入监测主界面,监视发射机播出状态运行情况;查看检测数据。
采集终端软件。依据采集终端设备实时采集、保存指标数据,监测发射机工作异常状态,并把所有数据传给数据库以及接收客户端下达的任务。主界面可以显示当前发射机的工作状态、指标状态、指标数据,以及发射机天线所使用的接收机代号和使用的串口。
通讯服务软件接收采集终端、数据库、客户端、WEB服务器的数据并向它们转发数据。 软件用颜色显示来只是与各机房的站点连接状态:绿色:表明采集终端与通讯服务软件通讯正常;红色:表明采集终端与通讯服务软件通讯异常。
校时软件从GPS设备采集时间数据,校正计算机系统时间。
WEB软件采用java技术进行开发,服务器软件采用tomcat服务软件与apache服务软件集成,apache服务软件在处理静态页面时,效率更为明显。数据库连接部分采用jdbc连接池技术,提高数据访问效率。数据显示部分采用第三方数据分页显示和数据导出开发组件进行开发。可以提高数据访问稳定性和访问效率。系统web部分根据需求将软件划分为实时数据显示、节目运行图显示、历史数据显示、数据分析、系统管理五个工作模块。
2常见故障及处理方法
常见故障主要集中在客户端和WEB端软件上,采集端和和通讯服务校时软件等出现故障较少。主要故障如下所述。
(1)客户端出现REC1串口打开错误。由于自台质量保证系统接收机等其他硬件设备与采集端工控机通讯使用的全部是串口,工控机上连接了很多的串行卡,用来接收接收机箱获取到的数据,而键盘与鼠标使用的是USB口驱动,如果在启动设备时先启动接收机箱再启动工控机,就会出现上述现象,导致工控机的串行接口出现被占用问题,进而导致采集软件采集信息出现错误。卸载“USB 2.0 ROOT HUB”和“USB ROOT HUB”驱动,如“鼠标和其他指针设备”中出现未知设备,也进行卸载,只保留PS/2鼠标,并采用先启动采集终端工控机再启接收机箱的方式对设备进行重启,系统就会恢复正常运行。
(2)客户端音频监听没有声音,出现“音频压缩卡设置失败”报警,说明音频压缩卡出现问题,可更换音频压缩卡进行测试,如果音频波形呈现一条直线,且音频压缩卡工作正常,则应检查接收机音频是否有输出,以及音频线路是否正确连接。
(3)客户端提示某部发射机需要校准功率,校准后没有成功,仍然提示该发射机需要校准功率。如果校准不成功,或者校准后会提示发射机停播,重新启动采集端,停播报警解除,但是仍然提示某某发射机需要校准功率,说明接收机不能正确接收该频率信号,可以在采集端对此路信号大小进行调整,通过高频信号衰减器调整信号后重新进行校准。
校准功率是在发射机第一次播出此频率时进行校准的,如果校准不成功后会仍然提示,一旦校准成功后将不会再提示。校准功率需要具备五个不同条件:发射机、天线、天线方向、语言和功率,即使同一频率所有四个条件都一致,但天线方向不一样,也需要校准功率。在特殊情况下,如采集端采样信号有所变化,也应对所播出频率进行校准。
(4)客户端软件不能正常运行,输入用户名密码后,客户端不能运行,再次启动客户端软件,提示该程序已经运行。由于客户端需要连接数据库,屏幕闪烁后不能运行,是无法连接数据库,检查网络是否通畅,是否存在多网卡,是否IP配置不正确。
(5)WEB页面监听没有声音。自台质量保证系统中控(节传)机房的C/S客户端监听正常,Web页面彩条及参数显示正常,但Web页面无法监听到声音,可按照以下方法进行排查:检查质量保证系统Web服务器与各采集终端、数据库服务器、通讯服务器通讯是否正常。如果通讯异常,可检查防火墙配置。通讯服务器通讯服务软件(communiactionservice.exe)所在目录下, Monitor Info.ini配置文件中是否正确配置Web服务器IP地址。以某台配置为例:
如果问题仍然存在,可以检查看Web服务器上的音频转发服务/多播服务(Much Broad Cast Server.exe)是否启动。
打开音频转发服务,启动服务后正常,如果没有可以检查配置文件是否正确,音频转发服务下配置文件Audio Server Info.ini,是否为采集端IP地址,通讯服务器软件下配置文件Monitor Info.ini查看音频转发服务地址是否正确。
(6)当出现WEB页面输入用户名密码后直接关闭IE浏览器或重新回到原始界面的现象,可以通过对IE设置来解决。如果登录后关闭了IE浏览器,可以在IE设置中的工具——弹出窗口阻止程序—— 关闭弹出窗口阻止程序;如果重新回到原始界面可在在IE设置中进行如下设置:工具——Internet选项——安全——自定义级别—— Activex插件全部设置为启用。
(7)在播音过程中出现多播干扰,基本是采集端软件死机造成的,重启采集端软件一般都会恢复正常;另外一种就是受到外部因素的干扰,可以通过以下方法来解决。通过软件登陆采集终端,打开C:Program Files质量保证系统-采集终端中的RECINFO.INI文件,内容如下所示:
其中REC及数字对应的是天线,如REC1对应是101,找到提示多播的天线号所对应的配置文件,其中首先修改的是Defaut Much Zy=1,1,1项,把它的值设置的更小(相比原值)。如果改完依然无效,则将Much Limite Value=750的值调高并保存文件,然后重启采集端软件和服务器通讯软件。如果修改了Much Limite Value =750的值,等播音结束后,务必要将该值改回原,否则正常播音的时候,会无法显示彩条。
3结语
自台质量保证系统作为广播发射台最基本的监测手段,在日常安全播出工作中发挥着无可替代的作用,因此其工作的稳定性就显得尤为重要了,熟练掌握维护技能并维护好自台质量保证系统是每个工作人员工作中的首要任务。
摘要:自台质量保证系统在广电系统的应用降低了广播发射台监测工作对人的依赖程度,使监测工作更加准确,快捷和客观,但是由于该系统在开发设计较早,后期并未对系统进行升级,所以在实际的使用中经常会出现一些故障。自台质量保证系统在广播发射台站的应用大大降低了值班工作人员的劳动强度,收测效果良好,但在实际应用中,该系统还是存在一些问题。本文对各故障现象进行了分析,并提出了解决方案。
软件质量保证 篇9
随着计算机软、硬件技术的发展, 计算机技术已经渗透到社会各行各业中, 什么都离不开计算机, 而且计算机软件的功能非常强大, 无处不在, 无所不能, 计算机软件也变得多样化、复杂化, 软件运行出现的错误和缺陷的几率越来越大, 为了保证软件的质量, 需要测试人员反复测试论证, 软件测试工作在软件项目生命周期中的重要性日益突出。当前, 我国的软件开发能力比欧美发达国家差不了多少, 主要差距就是软件质量。国外的大型软件开发公司中软件测试人员和软件工程师一般是1:1的比例, 我国目前还不是很规范, 但也正在向这方面靠拢。软件测试在我国越来越趋于标准化科学化, 是一个很有发展前途的职业。
2软件开发与软件测试
通常我们理解的软件开发可能只是程序员通过一定的专业技术, 如编程语言、数据库技术创造出一个新的应用程序。其实软件开发是一个系统的工程, 包括需求分析、设计、编码、测试、维护等等几个环节。软件测试是整个软件开发流程中的一个重要的环节, 主要包括白盒测试、灰盒测试和黑盒测试。白盒测试一般用于单元测试, 需要测试人员对于代码结构有很好的理解, 黑盒测试也就是我们通常说的功能测试, 主要检测软件功能是否满足用户的功能需求。灰盒测试则是界于白盒和黑盒测试之间的一种测试方法。在现代软件开发流程中, 测试工作是贯穿于整个开发流程, 并不是在程序员编码完成以后才开始的。在软件开发前期, 测试人员需要根据用户的需求, 编写测试计划, 准备测试方案, 编写测试用例, 甚至根据业务需要编写不同的测试工具, 为后续的测试工作做好准备。在软件开发中后期, 测试人员需要利用测试工具按照测试方案、测试用例和流程对软件产品进行功能和性能测试。在执行完测试方案、测试用例和流程后, 需要跟踪软件缺陷, 以确保最后开发出来的成果能够真正满足用户的需求, 尽量以最小的代价来发现尽可能多的错误。
在整个软件开发过程中, 软件测试要尽可能早的参与到项目活动中, 最好是项目初期就要界入其中, 这样就可以尽可能早的并且多的发现软件缺陷。如果在软件研发后期发现框架问题, 可能会导致很多功能模块需要返工, 越晚开始, 测试人员对软件的了解就会越少, 就无法深入测试, 可能漏测掉很多重要的功能, 可能会在短时间内发现大量的软件缺陷, 不利于软件的版本稳定。
软件测试不象编程技术那样发展那么迅速, 可参考借鉴的东西非常少, 软件中每一个功能模块的测试方案都需要测试人员多方面的考虑, 所以这意味着测试更需要人的创新能力。验证程序的正确性, 远不象普通人想象的机械重复性的操作那样简单。验证程序的正确性更是需要人们大量的创造性劳动。
3软件测试策略
要做好软件测试工作, 会遇到很多挑战和困难。这就需要我们软件测试人员通过自己专业的知识和想法不断提高自己。通常认为软件测试人员具备的基本素质按重要等级依次是:技术、沟通能力、自信心、责任心、耐心和细心等。
首先技术是基础, 作为测试人员, 测试人员应该比开发人员掌握更多的知识, 在测试过程中, 你必须了解软件的生命周期, 知道什么阶段进行什么类型的测试。
其次是沟通能力, 沟通能力是测试工作顺利进行的保障。在技术基础的保障下, 测试人员必须充分了解用户的需求, 知道哪些问题是软件问题, 能够清楚描述软件出现问题的场景, 最好是知道为什么会出现问题, 最最好是知道如何修复这个问题, 这样的话, 就会更好的与开发人员进行沟通, 测试工作也就会进行的更加顺利。
再次, 测试人员必须有自信, 软件测试是一项技术要求很高的工作, 测试虽然基本不实现编码 (当然, 也会写测试脚本或测试代码) , 但特别要求对系统的整体把握能力。测试其实是很有内容的, 只是目前没有受到足够的重视, 没有被提高到它应有的地位。在技术基础的保障下, 你应该非常自信地进行自己的测试工作, 理直气壮地向开发人员提出软件问题, 并坚持自己的观点, 明确各方责任。最后, 测试工作非常重要, 你担负着软件质量验收责任, 你必须有责任心, 耐心和细心地工作, 争取不放过任何一丝一毫的软件错误和缺陷。
在整个软件测试过程中, 是否能够准确充分的发现足够多的软件错误和缺陷, 软件的测试管理工作非常重要。
第一, 严格遵行测试过程。首先进行需求分析, 了解用户的需求, 并且充分了解软件的测试范围和测试内容, 准备好测试所需要的数据, 然后经过评审, 这一个过程可以避免测试人员对测试需求的理解错误, 遗漏测试内容。其次进行软件测试用例的设计, 明确对每一项功能应该怎样进行测试, 包括选择什么样的测试工具、操作流程、输入数据和输出结果等, 再次评审。这一过程可以避免测试人员选择工具错误, 操作流程或输入数据错误, 遗漏测试内容等。第三个阶段是执行测试用例, 在执行过程中最好详细记录测试结果, 在什么样的输入情况下产生什么样的输出结果, 仔细比对软件原始需求, 确定软件是否发现问题。测试用例执行完毕后, 也需要进行评审, 主要检测测试是否进行充分, 记录是否准确, 软件问题提出是否正确。
第二, 真实模拟客户环境。随着开发技术的不断进步, 诸如多线程, 虚拟化, 大数据量的并发, 安全性, 软件间、不同系统平台间的交互响应这类环境的搭建, 对测试人员来讲都很有挑战。在执行测试前, 我们得尽可能真实的模拟客户的使用环境。这样才能真正的发现软件的缺陷。
第三, 有效验证程序正确性。测试人员要比开发人员考虑更多的东西, 在设计测试用例的时候, 要充分考虑到其他功能以及本功能的关联关系, 要有大局观。需要扎实的软件测试理论, 尽量自己分析问题, 多涉猎一些项目之外的知识.
第四, 积极跟踪软件缺陷。测试不仅仅是发现程序中的缺陷, 更重要的是跟踪解决这些缺陷, 因为只有缺陷被解决了, 软件质量才有可能提高, 我们的成绩才能得以真正的体现。事实确实是这样, 测试人员提交了软件缺陷, 如何说服开发人员修复这个缺陷, 才是关键。只有缺陷被修复, 软件的质量才会提高, 这样才能体现测试人员的工作价值。
4总结
总之, 软件测试是整个软件开发流程中重要并且不可缺少的环节, 做好了软件测试工作, 才能保障软件的质量。
参考文献
[1]朱少民.全程软件测试[M].北京:电子工业出版社, 2007 (09) .
软件质量保证 篇10
国外的软件厂商极为重视软件测试。在欧美等软件产业发达的国家中,软件企业的测试人员与开发人员的配置比例一般已达到或超过1:1。[1]而我国企业对于软件测试在整个软件行业中的重要作用认识较晚,在国内被调查软件企业中,能够基本达到该比例的企业仅占22%。[1,2]随着国内大多企业的软件成熟度能力的不断提高,多数企业对于软件测试环节的要求大幅提升,产生了对软件测试人才的大量需求。[3]据前程无忧网数据显示,2011年国内软件测试人才缺口高达20万,2012年缺口突破30万人。[4]造成软件测试人才供不应求的根本原因在于国内高等院校对测试行业的市场需求反应迟缓,应届毕业生的能力与企业需求脱节,直接使用很难;而社会培训机构举办的各类软件测试技术培训价格不菲,质量良莠不齐,难以缓解人才市场的紧缺状况。[1,2,3,4]作为人才培养的主要基地,高校成为企业挖掘软件测试人才的主要关注地。[4]如何解决计算机专业尤其是软件工程专业软件测试课程理论与实践严重脱节的问题,是高校亟需面对的重要挑战。[5]
为适应我国软件产业发展对人才的需求,提高毕业生就业率,我校信息工程学院于2011年在最新的本科生培养方案中,将计算机科学与技术专业细分为计算机工程、软件工程和网络技术三个方向,并将“软件质量保证与测试”课程列为软件工程方向的学生的专业必修课之一。以下结合市场需求,针对教学实践过程中发现的问题,从理论教学、实践教学、教学方法与手段等方面,对该课程的教学进行了初步的探讨与实践。
1 教学目标与教学内容
我校计算机科学与技术专业的学生多数来自疆内。经过四年专业学习后,从事软件开发或测试的学生人数约占当年毕业总人数的一半。结合生源、就业以及市场需求的特点,本校计算机科学与技术专业的软件质量保证与测试课程的教学目标定为:以就业为导向,培养应用型人才,使学生掌握软件质量保证与测试的基本概念和理论,了解软件质量保证与测试在整个软件开发过程的地位和重要程度,建立正确的质量文化和理念,掌握软件开发和维护过程中的质量保证措施和管理方法,为将来从事软件开发和软件测试工作打下坚实的基础;授课时间定为48学时,其中理论教学32学时,实践教学16学时。
软件质量保证与测试是一门理论与实践并重的课程,既需要深入的理论知识,又需要丰富的实践项目经验。[5]根据课程教学目标的定位特点与要求,可将该课程的教学按软件质量保证、软件测试基础、自动化测试技术和测试管理四部分组织。各部分的具体教学内容和学时安排见表1。
实践教学的目的是巩固课堂所学,并引导学生扩展学习。为了使学生熟悉软件测试的流程,正确认识软件开发与软件测试的关系,“软件质量保证与测试”课程的实践教学以基于完整项目的形式开展,并在此基础上熟悉主流自动化功能测试工具的基本使用。具体的实践教学内容设计与学时安排见表2。
2 教学方法与手段
2.1 引导学生正确看待软件测试工作
要培养能够适应市场需求的优秀软件测试人才,首先必须引导学生正确看待软件测试工作,树立积极的学习观念。目前,国内的软件测试行业正处于起步阶段,还没有一个相对成熟的模式,对于测试究竟要做什么工作没有一个正确的认识。人们普遍认为“软件测试的技术含量不如软件开发”“软件测试工作是一种简单的、重复性的劳动”……这导致企业在招聘测试人员时,往往门槛较低;一些企业甚至因为追赶进度、节省资源等原因而忽略测试工作。[4]这样的大环境使得软件测试人员不能真正认同测试岗位,主动参与到产品改进、开发与测试流程改进等工作中,更多地发挥他们的作用。企业高层感觉不到测试人员的价值,就不会重视他们,从而使得软件测试进入了恶性循环的怪圈。要摆脱这样的恶性循环,必须纠正测试行业中的错误观念,正确看待测试工作。高校学生作为未来软件测试人员的主力后备军,引导他们正确看待测试工作尤为重要。在实际教学过程中,与学生讨论由于软件缺陷引发的质量事故,如“千年虫”问题、“7.23”温州动车组列车追尾事故等,从软件测试角度分析避免事故发生的措施,可引起学生对软件质量问题的关注,让他们认识到软件测试的重要性,激发对“软件质量保证与测试”课程的学习兴趣。
2.2 讲述与案例教学并重
“软件质量保证与测试”课程讲解涉及许多基础理论知识,尤其是软件质量保证部分。脱离案例讲解 基础概念 和理论 , 不仅枯燥 乏味 , 学生也难以 消化、理 解 ; 而结合丰 富的实际 案例进行讲 解 , 不仅可以 激发学生 的学习兴 趣 , 加深学生对 具体的质 量保证概 念、测试 基础等认识,而且可以帮助学生完成初步的迁移。例如,在讲解能力成熟度模型集成CMMI时,可以引用业内比较流行的“吃饭CMMI”案例,帮助学生理解5个CMMI成熟度等级,使他们明白“为何CMMI”“怎样CMMI”。
2.3 以就业为导向加强实践能力训练
理论教学脱离市场实际,不利于教学质量的提高,也影响高校学生就业工作。以“基于完整项目”和“小组工作”相结合的形式开展课程实践教学,一方面可以让学生正确认识软件开发与测试的关系,熟悉实际测试流程,另一方面可以增强学生的团队意识,提高学生的协作能力。据不完全调查,国内软件企业进行功能测试,常用自动化测试工具QTP或Win Runner。在实践教学中,增加对这二者之一的训练、学习,可以加深学生对自动化测试理论的理解与认识。而熟练使用自动化测试工具的一技之长,将为提高学生就业率添砖加瓦。
2.4 启发式教学
传统的填鸭式教学中,教师与学生之间缺乏互动,学生完全成为知识的被动接受者,缺乏主动的探索精神和独立思考能力,容易产生“高分低能”现象。启发式教学以启发学生的思维为核心,从学生的实际出发,调动学生的学习主动性与积极性,引导学生应用所学发现问题、解决问题,利于开发学生的智能。比如,在讲解“基于边界值分析的用例设计”时,可以通过“创建包含10个元素的数组”的简单代码分析,引导学生思考“如何验证代码的正确性”“如何设计用例以发现是否存在数组溢出”等问题,从而让学生明白基于边界值分析的用例设计既要考虑程序的功能正确性,又要考虑程序的健壮性,加深对边界值分析方法的认识和理解。
2.5 讨论式教学
讨论式教学由教师提出论题,学生以小组为单位,围绕论题进行调查研究,通过讨论或辩论活动获得知识或巩固知识。例如,在讲解“如何建立质量管理体系”时,可将学生分成若干小组,分组讨论“如何做好产品和客户调查分析”“如何策划、编制、试运行、审核质量管理体系”。在具体讨论某一个问题时,可抛出实际案例,引导学生进行问题分析、提出解决方案。例如,在讨论“如何做好产品和客户调查分析”时,可提出如下案例:“XX公司为了建立质量管理体系,由管理代表XX总经理亲自带队调查分析公司现状,他特别重视产品研发和生产过程质量分析,并为此更换了新设备,更改了生产工艺,结果体系建立完成并通过了认证后,客户投诉情况的改善却不明显,XX总感到十分纳闷”,让学生分析客户投诉情况得不到改善的原因,并提出可行的解决措施。最后由任课教师针对讨论中没有分析清楚或提到的部分进行补充。通过实际案例的讨论、分析,不仅可以提高学生的课堂参与度,增强学生的学习积极性,巩固理论学习,还可以提高学生分析问题、解决问题的能力。
3 结束语
浅论软件开发的质量控制 篇11
[关键词]软件开发;软件工程;质量控制
[中图分类号]TP311.5
[文献标识码]A
[文章编号]1672-5158(2013)05-0168-01
一、软件开发过程的问题分析
(1)不能明确分析软件的需求。软件的需求是决定软件质量的一个非常关键的因素,如果不能够准确明了的分析软件需求,就达不到软件应有的效果,从而不能真正满足客户的要求。然而软件的需求不是显而易见的,它需要软件开发人员和客户或者业务人员之间进行充分有效地沟通和交流,使得在软件开发一开始就能够将需求提得既明确又充分,这样才能为以后的工作打好基础,避免在一开始就偏离了软件开发的方向。在设计开发的过程中也要不断与客户进行沟通和交流,及时按照客户的意见调整软件,才能提高软件开发的质量。
(2)软件开发工作不规范。由于软件质量许多指标不能量化,因此,软件开发的质量好坏也没有办法直接考核软件开发人员的责任,这样就致使软件开发人员不会很重视软件开发的质量,往往更关心项目开发的成本和进度。此外,软件开发人员没有制定软件开发计划或者并不能按照软件开发的计划进行工作,为了赶进度经常跨阶段进行开发工作,这样就没法保证软件开发过程的科学性和系统性,软件开发的质量也不能得到保证。软件开发管理人员和技术人员也会影响软件开发的质量。软件开发工作需要他们之间进行频繁的沟通和交流,倘若不能及时沟通,对开发过程中出现的不同认识和误解等等问题不能及时消除,就势必会影响到软件产品的质量。此外,软件开发人员在开发过程中一旦出现流动,就会给软件开发工作带来很大的影响,也不利于提高软件产品的质量。
二、提高软件开发质量方法和对策
1 软件产品质量控制方法。
(1)软件工程方法。软件工程的基本方法就是把软件开发过程划分为若干个阶段,在每个阶段开发过程中都设置不同的目标、成本、时间等验收标准,在前一阶段工作通过验收后才能开始下一阶段的工作,这样就会达到提高软件开发的质量的目标。软件工程将开发过程分为软件生产方法、需求分析、软件设计、软件生产工具、测试、验证与确认、评审和管理等8个阶段,每个阶段都以软件质量控制为核心,规范每个操作流程,从而提高软件开发产品的质量。
(2)ISO9000-3标准。ISO9000系列标准原本并不能直接用于管理软件制作,而是为制造硬件产品而制定的标准。后推行的ISO9000-3标准为使软件产品达到质量要求,要求软件开发机构建立质量保证体系,明确供需双方的职责,针对所有可能影响软件质量的各个因素都要采取有力措施,作出如何加强管理和控制的对策和措施。ISO9000-3标准叙述了需方和供方应如何进行有组织的质量保证活动,规定了从双方签订开发合同到设计、实现以至维护整个软件生存期中应当实施的质量保证活动,但并没有规定具体的质量管理和质量检验方法和步骤。
(3)cMM认证。CMM是一种专门针对软件产品开发及服务的高效管理方法,强调软件开发过程的不断改进和提高,在软件企业中引入CMM,有助于解决软件开发过程中质量控制方面出现的问题。CMM不仅对软件企业工程能力进行评估,更着重于软件开发过程的管理,强调“对软件开发过程进行持续的改进”。CMM通过优化企业开发流程,改善现有的规范、团队配合工作方法,来弥补软件企业对某个项目经理或开发工程师的单纯依赖。软件能力成熟度模型重点是从组织管理方面研究评估软件生产过程,从而提高软件质量。
2 软件开发质量控制对策。
(1)合理规划并严格按照计划执行。在进行软件开发之前首先要制定一个提高软件开发质量的保证计划,在开发过程中严格按照计划执行,不急于抢进度,保证软件开发的质量。建立文档记录需要跟踪的工作以及保证软件开发质量所需要的信息。
(2)坚持软件评审制度。坚持软件评审是保证软件质量的重要方法,软件开发过程按阶段可大致分为软件需求分析、软件设计、编码和单元测试、软件部件测试、软件验收六个阶段。软件评审工作要贯穿于软件开发的整个过程中,在软件开发的各个阶段都要进行评审,当前软件开发阶段的工作成果达到计划要求以后才能开始下阶段的工作。评审工作可以以会议的形式组织开展,会议要各方面人员都要参加,包括客户、软件管理人员以及软件开发人员等等,通过会议进行沟通交流,最终给出评审结果。
(3)采用先进的软件设计技术和方法。在软件开发过程中应尽量采用先进的设计技术和方法,如面向对象和基于构件的方法,来提高软件设计产品的质量。面向对象的方法优点是能够提高软件的重复利用性,将错误和缺憾最小化,还有利于用户的参与,能够很好的提高软件产品的质量。基于构件的开发方法又称为“即插即用编程”方法,构件可以向软件供应商购买,也可以自行开发,而且可以重复多次使用,然后将编制好的构件插入到设计好的框架中去,从而形成一个大型的软件。如果某个构件不符合开发的要求,可以对某个构件进行修改,不会对其他构件造成影响,也不会影响到整个系统功能。
(4)软件质量控制的关键——软件测试。在软件开发过程中,软件测试也是软件质量控制的关键,软件测试主要包括单元测试、集成测试、确认测试和系统测试。在开发的每个阶段都要通过测试,如果测试结果与预期结果不一致,就要查找出软件中存在的问题,针对问题提出解决方案,不断改进软件质量。通过软件测试不仅可以寻找出软件中存在的与软件客户需求不一致的错误和缺陷,还可以节省大量的时间和人力,确保软件开发的质量。开始测试之前要制定好测试计划,确定好测试的范围方法等等。在测试过程中要做好记录,详细记录每个测试过程中的数据,而且每个阶段测试的结果都要进行存档,如果测试过程中出现错误,就要编写错误问题的报告,经过调试解决所发现的问题以后才能进行下阶段工作。
(5)注重文档管理。目前很多软件开发商都忽视了软件开发过程中的文档管理,其实文档管理在软件开发过程中起着非常重要的作用,在软件开发的过程中建立并保存文档,有利于软件的使用和维护,有益于软件质量的提高。文档管理要贯穿于整个软件开发的全过程,即软件在每阶段的开发、测试、评估都要保存相关的文档,这样有利于软件的开发和维护,出现了错误有章可循,有助于软件开发质量控制。
(6)客户要参与到软件开发中去。软件客户要参与到软件开发的全过程中去,在开发之初对软件的需求不是很明确的情况下,要加强与软件开发人员的沟通和交流,不断了解自身更深层次的需求。软件开发需要多方参与,尤其是软件客户方面的人,在需求调查和分析阶段,软件客户要将自己的需求和软件开发人员进行有效地沟通,使得软件开发人员能够最大限度的了解客户需求,才能按照需求目标开发出令客户满意的软件。在软件测试和评审阶段,客户应按照自己的需求对设计开发的软件进行检测和评审,提出自己的意见和建议,以便在得出结论以后能够尽快及时的得到修正。软件开发人员对于客户提出的意见和建议要按照要求进行修改和完善,及早与用户进行沟通,避免影响验收。
参考文献
[1]张天宇.《中小型软件开发质量控制研究》.《微电子学与计算机》.2004
软件质量保证 篇12
软件外包就是企业为了专注核心竞争力业务和降低软件项目成本, 将软件项目中的全部或者部分工作包给提供外包服务的企业完成的软件需求活动.而目前业务流程外包 (BPO) 已经成为外包服务新的发展趋势, 在未来几年内将成为外包的主要内容。软件外包已经从国内企业间的外包, 发展为跨国的外包。印度、爱尔兰、以色列等国家, 由于抓住了国际软件外包的机遇, 迅速发展为软件产业的大国, 并且形成了国际软件外包中心。进入21世纪以来, 软件行业在中国也经历了一轮新的发展高峰。在此过程中, 软件外包作为一种同时有效满足需求方和供给方的商业模式, 在中国取得了长足的发展.在国内已经出现了一批纯粹的软件外包企业, 比如中讯、文思、博彦等外包公司, 已发展成为员工达到3000人左右、出口超过千万美元的企业.由此可以看出软件外包行业有着惊人的发展速度和巨大的发展潜力。
2软件质量管理体系
软件的质量是软件产品内在的系列特征满足要求的程度.使用低质量的软件, 在运行过程中可能会产生这样那样的问题, 可能为使用单位带来造成延误工作或者造成生命财产的损失。因此低质量的软件产品是缺乏竞争力的。而高质量意味着与需求相一致;也意味着性能指标的“零缺陷”。要到达高质量, 必须同时进行质量测试活动和质量保证活动.而质量保证活动就是事先预防。对于软件产品来说, 软件质量测试是保证软件质量的重要手段;软件质量保证是确保软件生产过程可重复实施的保证。对于我国的软件外包公司来说, 软件测试项目现阶段最适合中国软件外包企业的业务方向;软件质量保证是保证软件外包公司有能力实施软件测试项目的保证。
IEEE定义质量测试为:使用人工或自动手段来运行或测定某个系统的过程, 其目的在于检验它是否满足规定的需求或是弄清预期结果与实际结果之间的差别。
为了保证软件的质量, 软件质量保证就应该着眼于整个软件生存期。所以软件质量保证的概念和实施范围必须包括在整个开发各阶段的复查、评估和检测。
目前在国际上通行的质量管理体系包括ISO9000标准组、CMM等。此外还有很多质量管理方法, 如6西格玛方法等。
3通过流程管理实现国际级的软件质量交付
要想在全球的外包业中形成有力的竞争, 中国必须扩大软件外包公司的规模和质量。中国排名前十的IT服务公司所占的市场份额仅为20%, 而印度的十大IT公司占有的市场份额高达45%。中国大约有8000家软件服务供应商, 其中员工少于50人的占四分之三, 只有5家拥有2000名以上的员工。印度的软件服务供应商不到3000家, 至少有15家拥有2000名以上的员工, 其中的塔塔咨询服务公司 (TCS) 、威普罗公司 (Wipro) 、信息系统技术有限公司 (Infosys) 都已经获得国际上的认可, 在全球拥有客户。没有适当的规模, 中国企业不可能吸引到顶尖的国际客户。一般认为, 小公司是风险相对较大, 可靠度相对不高的合作伙伴。
行业的分散状态使中国软件行业的另外一些问题显得比较突出, 如过程控制和产品管理不够严格。中国30家大型软件公司当中只有6家达到CMM五级或四级, 而印度的30家大型软件公司全部达到这一专业水准。各类认证是企业能够提供相应产品质量的基础保证, 是软件企业开拓离岸外包市场的敲门砖。但是目前一方面通过高等级认证的软件企业比较少, 另一方面即便是通过高等级认证的软件企业, 也难以被认为具备管理大型软件外包项目能力的企业。原因是许多软件外包企业本末倒置, 一味地参加各类认证, 而不是将认证视为提升企业研发和管理能力的重要手段。结果就是执行CMM、ISO等各类认证企业中也有很大一部分没有达到真正提升企业管理能力的目的。而这样的结果是即便在初期发包企业基于高等级的认证发包一些项目, 但在实际合作中会逐渐认识到企业的真正能力而终止长期的合作。这些因素都导致中国外包企业难以承接到大型软件外包项目。
可见, 实现国际级的软件质量交付是当前中国的软件外包企业面临的最重要的技术问题。为了帮助中国的外包企业提高竞争力, 提高质量保证水平是一个行之有效的途径。通过流程管理可以有效地实现质量保证水平的提升。
软件外包企业的流程管理既包括项目级的流程管理也包括公司级的流程管理。而其中最根本的是项目级的流程管理, 因为企业级的流程管理是来源于项目级的流程管理, 也是众多项目流程管理经验的总结和提升。
项目级的流程管理可以从以下几个方面展开:项目管理, 质量保证, 技术管理, 配置管理, 缺陷预防, 同行评审。这其中的每一个领域都可以展开, 从而总结出本领域的流程、标准、模板和检查清单。
通过总结获得的流程化的方法, 可以构建起项目乃至公司级的流程管理架构。根据现代质量管理的观念, 我们会发现一致的过程会导致相同质量水平的产品, 因为在这个过程中, 消除了非随机的偏差。而持续的过程改进更会持续的提高生成能力, 持续提高产品服务质量。
4结语
软件外包产业是一个新兴的有着较快发展速度的产业。在新一轮的经济, 技术大潮中, 抓住机遇, 大力发展, 是每一个软件外包行业相关人员的共识, 也是我们共同的责任。
中国的软件外包公司应该通过提供高质量的软件交付品的能力, 尽快的发展壮大自己, 获得规模更大, 利润更高的软件外包项目, 在国际的软件外包市场上占领一席之地。
摘要:随着软件外包产业在中国的发展, 越来越多的人开始注意外包行业。外包产业的发展不但可以直接为经济做贡献, 提供就业机会, 同时还可以产生技术外溢效应, 形成产业集群, 最终促进国内的软件产业发展与成熟。分析了我国软件外包公司的发展和特点, 研究了提高行业发展水平的方法——通过加强软件质量管理流程, 提高软件交付质量, 承接到更大的软件外包项目, 最终促进整个软件外包行业的发展。
关键词:软件外包,质量管理,流程
参考文献
[1]鲁耀斌。项目管理——过程, 方法与实务[M].沈阳:东北财经大学出版社, 2008.
[2]Stephen Haag, Maeve Cummings, Amy Philips, 严建援.信息时代的管理信息系统[M].北京:机械工业出版社, 2007.
[3]史蒂夫.麦克康奈尔, 余孟学.微软项目求生法则[M].北京:机械工业出版社, 2000.
【软件质量保证】推荐阅读:
软件质量与软件测试05-30
软件质量提高07-20
质量控制软件08-23
软件质量与测试08-26
软件项目过程质量09-26
软件测试质量管理05-29
软件质量度量研究分析07-26
软件项目产品质量管理07-28
军队财务软件质量问题08-09
软件项目的质量管理09-19