(企业管理专业论文)联创公司的软件质量管理初探.pdf_第1页
(企业管理专业论文)联创公司的软件质量管理初探.pdf_第2页
(企业管理专业论文)联创公司的软件质量管理初探.pdf_第3页
(企业管理专业论文)联创公司的软件质量管理初探.pdf_第4页
(企业管理专业论文)联创公司的软件质量管理初探.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(企业管理专业论文)联创公司的软件质量管理初探.pdf.pdf 免费下载

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

文档简介

硕士论文联创公司的软件质量管理初探 摘要 本文对软件质量和软件质量管理的特点和特殊性进行了分析,阐述了软件 质量管理的方式和原则。软件质量控制主要是靠流程管理( 如缺陷处理过程、 开发文档控制管理、发布过程等) ,来确保软件质量的:缺陷预防是软件质量控 制的主要手段的,紧紧围绕用户需求是软件质量管理的指导思想。 i s 0 9 0 0 0 和c m m ( 软件能力成熟度模型) 是两种国际通用的质量管理体 系。文章第二部分说明了二者对软件质量管理的要求和指导,分析了二者的相 通与区别,指出其共同实旋的策略是以i s 0 9 0 0 1 为平台,软件领域以c m m 为 指导,合为一个质量管理体系。 文章的第三部份介绍了联创公司是如何建立软件开发流程,如何在流程中 实施软件质量管理的。同时介绍了联创公司基于“紧紧围绕用户需求”的指导 思想构架的三种不同的软件生命周期模型。 缺陷是反映软件质量的最基本要素。文章的第四部分重点阐述了缺陷的管 理:通过测试和评审进行缺陷的清除;根据缺陷数进行量化质量管理;缺陷的 预测;缺陷的分析和预防。 持续集成测试是联创公司大力推进的质量控制手段,在文章的第四部分也 予以阐述。 关键词:软件质量管理缺陷分析和预防 硕士论文 联创公司的软件质量管理初探 a b s t r a c t t h et e x tp r e s e n t st h ec h a r a c t e r i s t i ca n d p a r t i c u l a r i t yo fs o f t w a r eq u a l i t ya n dq u a l i t y m a n a g e m e n t ,a n d i n t r o d u c e st h em e t h o d sa n dp r i n c i p l eo fs o 舢v a r e q u a l i t y m a n a g e m e n t 。 s o f t w a r eq u a l i t yc o n t r o lm a i r l l yd e p e n d so np r o c e d u r e sm a n a g e m e n tt oe n s u r e r e l i a b i l i t y o fs o f t w a r eq u a l i t y s u c h 篮e l i m i n a t i n gb u gp r o c e s s d e v e l o p i n g d o c u m e n t a t i o nc o n t r o lm a n a g e m e n ta n di s s u i n gp r o c e s s b u gp r e v e n t i o ni sp r i m a r y m e a n sf o rs o f t w a r eq u a l i t yc o n t r o l ,t i g h t l yf o c u so nc u s t o m e rn e e d sa r ct h eg u i d e l i n e f o rs o f t w a r eq u a l i t yc o n t r 0 1 i s o9 0 0 0a n dc a p a c i t ym a t u r i t ym o d e i ( c m m ) a r ct w oi n t e r n a t i o n a lp r e v a i l i n g q u a l i t yc o n t r o ls y s t e m s c h a p t e rt w oi nt h et e x td e s c r i b e st w os y s t e m sb o t hp r o v i d e t h em a n a g e m e n tr e q u i r e m e n t sa n dg u i d e l i n ef o rs o f t w a r eq u a l i t yc o n t r o l ,a n a l y z e s t h e s i m i l a r i t y a n dd i s t i n c t i o no ft w o s y s t e m s ,p o i n t so u tt h es i m u l t a n e o u s i m p l e m e n t i n gt a c t i ci e o n eq u a l i t ym a n a g e m e n ts y s t e mo nt h eb a s i so fi s o9 0 0 0 a n dg u i d e db yc m mi nt h es o f t w a r ea r e a c h a r t e rt h r e ei nt h et e x ti n t r o d u c en a n j i n gl i n k a g ec o m p a n yh o wt oe s t a b l i s ht h e p r o c e d u r e so fd e v e l o p i n gs o f t w a r ea n dh o wt oi m p l e m e n ts o f t w a r e q u a l i t y m a n a g e m e n t i nt h em e a n w h i l e ,i ta l s os u g g e s t st h es o f t w a r el i f e c y c l em o d e lo nt h e b a s i so ft i g h t l yf o c u so nc u s t o m e rn e e d sf o rn a n j i n gl i n k a g ec o m p a n y b u gi st h ek e ye l e m e n to fs o r w a r eq u a l i t y c h a p t e rf o u ri nt h et e x tp a r t i c u l a r l y d i s c u s s e st h em a n a g e m e n to nb u g ,e l i m i n a t i n gb u gt h r o u g ht e s t i n ga n da p p r a i s a l , q u a n t i f y i n gq u a l i t ym a n a g e m e n tb a s e do nb u gq u a n t i t y , b u gf o r e c a s t , b u ga n a l y s i s a n dp r e v e n t i o n c o n t i n u o u si n t e g r a t i n gt e s ti sas u c c e s s f u l q u a l i t y c o n t r o lm e t h o da c t i v e l y i m p l e m e n t e db yn 删i n gl i n k a g ec o m p a n y i ti sa l s oi n v o l v e di nc h a p t e rf o u r k e yw o r d s :s o f t w a r e ,q u a l i t ym a n a g e m e n t ,b u ga n a l y s i sa n dp r e v e n t i o n 2 声明 本学位论文是在我的导师的指导下取得的研究成果,尽我所知,在本学位 论文中,除了加以标注和致谢的部分外,不包含其他人已经发表或公布过的研 究成果,也不包含我为获得任何教育机构的学位或学历而使用过的材料。与我 一同工作的同事对本学位论文做出的贡献均已在论文中做了明确的说明。 b1 研究生签名: 堑:! :壹鑫土o o v 年f 工月j o 日 学位论文使用授权声明 南京理工大学有权保存本论文的电子和纸质文档,可以借阅或上网公布本 学位论文的全部或部分内容,可以向有关部门或机构送交并授权其保存、借阅 或上网公布本学位论文的全部或部分内容。对于保密论文按保密的有关规定 和程序处理。 1b 研究生签名: 叠:! ! 叁 o oy 年,月,o 日 颁士论文 联创公司的软件质量管理初探 1 前言 软件产品质量管理是困扰联创公司也是困扰整个应用软件行业的难题。软 件质量管理之所以较其他产品的质量管理有一定难度,其原因很多,如:软件 开发过程的生产设备是“人”,每个人的能力、水平、性格都是不同的;软件 产品由百万行到千万行程序代码所组成,十分复杂难以度量:用户的需求的刚 开始常常是不确定的,只有总体需求,其具体细节需要与用户不断沟通确认: 因为软件产品的特殊性和开发过程的复杂性,其过程和进度难以控制,产品的 质量难以衡量。 联创公司在业务高速发展的2 0 0 1 年2 0 0 2 年,因同时承建了全国1 0 个省 级电信业务计费帐务系统的软件开发,人手紧、工期短,导致大量工程迟迟不 能上线验收,上线工程软件缺陷( b u g ) 很多,时常导致业务错误和告警,甚 至系统中断和瘫痪,用户满意度急剧下降。 为了解决软件质量问题,公司投入了较多的资源:在原质量管理部门下成 立了s e p g 小组,专门进行软件过程的质量管理,在公司原有i s 0 9 0 0 0 质量体 系基础上,引入了软件能力成熟度模型( c m m ) ,根据公司业务模式设计软件 开发过程和生命周期,进行缺陷分析制定预防措施;在每个事业部项目组内增 设了质量经理( 多由产品经理和部门经理兼任) ,加大质量管理力度;组织所 有人员的质量培训,并进行相关考核,提高全员的质量意识和质量知识,要求 参与项目的每个人员都熟悉质量控制的要点和方法;投入大量资金购买了配置 服务器和配置管理软件建立了全面的配置管理系统,设计了完善的文档管理 系统,确保软件过程的代码和版本管理。 在完善了质量管理系统后,公司各个项目都逐渐稳定,缺陷率不断下降 用户满意度不断提高,新项目的开发和上线也很顺利,公司步入了良性循环的 轨道。 作为公司s e p g 小组的一员,我和同事们一起研究了公司的软件开发过程, 改进了公司的质量管理体系和软件开发流程,并对公司软件开发过程中出现缺 陷进行了较为深入的分析和研究,总结了一些缺陷分析和预防的经验,并以此 作为论文的研究对象予以介绍和阐述。 硕士论文 联创公司的软件质量管理初探 软件质量管理的特点 2 1 软件质量管理的意义 2 1 1 软件项目的特殊性 软件质量管理和其它产品的质量管理相比有其特殊性。首先,软件是知识 产品,进度和质量都较难度量,生产效率也较难保证。其次,软件系统复杂程 度也是超乎想象的。例如,宇宙飞船的软件系统源程序代码多达2 0 0 0 万行, 如果按过去的生产效率一个人一年只能写l 万行代码的话,将需要2 0 0 0 人年 的工作量,这是非常惊人的。正因为软件如此复杂和难以度量,软件质量管理 的发展还不很成熟。 2 1 2 软件质量管理的意义 2 0 世纪7 0 年代中期,软件质量管理引起广泛注意。当时美国国防部曾立 题专门研究软件项目做不好的原因发现7 0 的失败项目是因为管理不善而引 起的,而不是因为技术实力不够。他们进而得出一个结论,即管理是影响软件 研发项目全局的因素,而技术只影响局部。这个结论非常重要。软件项目失败 的主要原因有:需求定义不明确:缺乏一个好的软件开发过程;没有一个统一 领导的产品研发小组:子合同管理不严格:没有经常注意改善软件过程;对软 件构架很不重视:软件界面定义不善且缺乏合适的控制等等。在关系到软件项 目成功与否的众多因素中,软件度量、工作量估计、项目规划、进展控制、需 求变化和风险管理等都是与软件质量管理直接相关的因素。由此可见,软件质 量管理的意义至关重要。 2 2 软件质量 2 2 1 软件质量的定义 质量的概念在不同的历史时期有着不同的内涵。质量的概念最初仅用于产 品,如今逐渐延伸到服务、过程、体系和组织,以及以上任意项的组合。 颂士论支联创公司的软件质量管理初探 按照2 0 0 0 版i s 0 9 0 0 0 标准,质量的定义如下: 质量:一组固有特性满足要求的程度。 特性是指“可区分的特征”。软件质量的固有特性包括从以下六个方面: 1 ) 功用性( f u n c t i o n a l i t y ) ,即软件是否满足了客户功能要求。 2 ) 可靠性( r e l i a b i l i t y ) ,即软件是否能够一直在一个稳定的状态上满足 3 ) 可用性( u s a b i l i t y ) ,即衡量用户能够使用软件需要多大的努力。 4 ) 效率( e f f i c i e n c y ) ,即衡量软件正常运行需要耗费多少物理资源。 5 ) 可维护性( m a i n t a i n a b i l t r y ) ,即衡量对已经完成的软件进行调整需要。 6 ) 可移植性( p o r t a b i l i t y ) ,即衡量软件是否能够方便地部署到不同的运行 环境中。 要求指“明示的、通常隐含的或必要履行的需求或期望”。 1 ) 对软件质量的明示要求包括销售合同和技术文件中阐明的要求和 在需求确认和需求规格书中确认的用户需求。 2 ) 通常隐含的要求是指组织、顾客和其他方面的惯例或一般做法。 如软件产品必须具备的可维护性和可移植性等。 3 ) 必须履行的要求是指法律法规要求的或有强制性标准要求的。如 软件产品的版权合法性、软件产品的行业标准等。 2 2 2 软件产品的质量 同其它产品相比,软件产品的质量有其明显的特殊性。 1 ) 很难制定具体的、数量化的产品质量标准,所以没有相应的国际标准、 国家标准或行业标准。对软件产品而言,无法制定诸如“合格率”、“一次通过 率”、“p p m ”、“寿命”之类的质量目标。每千行的缺陷数量是通用的度量方法, 但缺陷的等级、种类、性质、影响不同,不能说每千行缺陷数量小的软件,一 定比该数量大的软件质量更好。至于软件的可扩充性、可维护性、可靠性等, 也很难量化,不好衡量。软件质量指标的量化手段需要在实践中不断总结。 2 ) 软件产品质量没有绝对的合格与不合格界限,软件不可能做到“零缺 陷”,对软件的测试不可能穷尽所有情况,有缺陷的软件仍然可以使用。软件 产品的不断完善通过维护和升级问题来解决。 3 ) 软件产品之间很难进行横向的质量对比,很难说哪个产品比哪个产品 好多少。不同软件之间的质量也无法直接比较,所以没有什么“国际领先”、“国 内领先”的提法。 4 ) 满足了用户需求的软件质量,就是好的软件质量。如果软件在技术上 很先进,界面很漂亮,功能也很多但不是用户所需要的,仍不能算软件质量 硕上论义 联创公司的软件质量管理初探 好。客户的要求需双方确认,而且这种需求一开始可能是不完整、不明确的, 随着开发的进行不断调整。 5 ) 软件的类型不同,软件质量的衡量标准的侧重点也不同。例如,对于 实时系统而言,效率( e f f i c i e n c y ) 会是衡量软件质量的首要要素,公司的集中 告警监控软件n e t g u a r d 往往对效率就有相当的要求;对于一些需要软件使用 者( 用户) 与软件本身进行大量交互的系统,如公司的资源管理软件n e t m a s t e r , 对可用性( u s a b i l i t y ) 就提出了较高的要求。 2 2 3 软件过程质量 质量从其广义性来说,质量不仅指产品的质量,也包括产品形成和实现的 过程的质量,以及确保产品质量的管理体系的质量。 过程是指一组将输入转化为输出的相互关联和相互作用的活动。过程由输 入、实施活动和输出三个环节组成,过程可以包括产品实现过程和产品支持过 程。 软件质量不仅仅是一些钡4 试数据、统计数据、客户满意度调查回函等等, 衡量一个软件质量的好坏,首先应该考虑完成该软件生产的整个过程是否达到 了一定质量要求。例如在公司软件开发实践中,软件质量控制主要是靠流程管 理( 如缺陷处理过程、开发文档控制管理、发布过程等) ,严格按软件工程执 行,就能保证质量,例如: 1 ) 通过从“用户功能确认书”到“软件详细设计”过程的过程定义、控 制和不断改善,确保软件的“功用性”: 2 ) 通过测试部门的“系统测试”、“回归测试”过程的定义、执行和不断 改善,确保软件的可靠性和可用性: 3 ) 通过测试部门的“性能测试”,确保软件的效率; 4 ) 通过软件架构的设计过程及开发中代码、文档的实现过程,确保软件 的可维护性: 5 ) 通过引入适当的编程方法、编程工具和设计思路,确保软件的“可移 植性”等等。 硕士论文联刨公司的软件质量管理初探 2 3 软件质量管理 2 3 1 质量管理的定义 按照2 0 0 0 版i s 0 9 0 0 0 标准,质量管理的定义如下: 质量管理是在质量方面指挥和控制组织的协调的活动。 质量管理的首要任务是制定组织的质量方针和质量目标,并使之贯彻和实 现。 质量管理的核心是建立健全质量管理体系。 质量管理的基本活动包括质量策划、质量控制、质量保证和质量改进,质 量管理通过这些基本活动来贯彻和实现组织的质量方针和质量目标。 质量策划是质量管理的首要工作就软件项目开发过程质量管理而言,质 量策划体现为制定“项目开发计划”,将项目要做什么、质量目标是什么、如 何检验、分几个阶段、由哪些人完成、他们的资历如何、需要哪些资源( 如开 发设备、开发工具) 、有哪些质量控制点、如何控制等在项目开始前做详细规 划,并得到相关部门和领导评审与批准。在开发过程中,由项目管理部控制项 目计划的执行。 过程质量控制是通过项目管理过程来实现的。项目管理过程包括组织项目 的实施,按项目计划的进度跟踪项目,确保项目开发满足项目计划的各种规定, 特别是对各种开发文档的评审和各阶段软件测试的确认,保证开发输出的质 量。 软件质量保证活动包括:规划软件质量保证活动:检验软件产品和过程是 按照合适的标准、步骤和需求运作的;评审及审核软件产品和过程以验证他们 是按照合适的步骤以及标准运作的;定义可度量的软件产品质量目标及其优先 级:定量化并管理实现软件产品质量目标。 质量改进的基本途径根据现有软件产品和过程的质量状况,通过各种统计 分析技术,分析存在的问题和可以改进的项目,制定有效的措施并予以实施 从而增强组织满足质量要求的能力。 2 3 2 软件质量管理的特点 1 ) 对开发文档的评审是产品检验的重要方式。 由于软件是在计算机上执行的代码,离开软件的安装、使用说明文档等则 寸步难行所以开发过程中的很多文档资料也作为产品的组成部分,需要像对 产品一样进行检验,而对文档资料的评审就构成了产品检验的重要方式。 颐上论文联创公司的软件质量管理初探 2 ) 通过技术手段保证质量。 利用多种工具软件进行质量保证的各种工作,如用c v s 软件进行配置管 理和文档管理、用m r 软件进行变更控制、用r a t i o n a lr o s e 软件进行软 件开发等。采用先进的系统分析方法和软件设计方法( o o a 、o o d 、软件复 用等) 来促进软件质量的提高。 3 ) 缺陷预防是主要的质量控制手段 分析过去遇到过的缺陷并采用响应的措施以避免这些类型的缺陷以后再 次出现。这些缺陷可能在当前项目的早期阶段或任务中被确定,也可能是被其 它项目所确定。缺陷预防活动也是项目间汲取教训i 的一种机制;规划缺陷预防 活动;找出并确定引起缺陷的通常原因:对引起缺陷的通常原因划分优先级并 系统地消除。 2 4 软件质量管理的原则 国际标准化组织( i s o ) 总结了质量管理近1 0 0 年的实践经验,吸纳了当 代最杰出的质量管理专家的理念,用高度概括而又易于理解的语言,总结成质 量管理的8 项原则,这些原则适用于任何类型的组织以及任何类型的产品,这 些原则也是建立质量管理体系的理论基础。 1 ) 以顾客为关注焦点:组织依存于顾客。因此,组织应当理解顾客和 未来的需求,满足顾客要求并争取超越顾客期望。 2 ) 领导作用:领导者确立组织统一的宗旨及方向。他们应当创造并保 持使员工能充分参与实现组织目标的内部环境。 3 ) 全员参与:各级人员都是组织之本,只有他们的充分参与,才能使 他们的才干为组织带来收益。 4 ) 过程方法:将活动和相关的资源作为过程进行管理,可以更高效地 得到期望的结果。 5 ) 管理的系统方法:将相互关联的过程作为系统加以识别、理解和管 理,有助于组织提高实现目标的有效性和效率。 6 ) 持续改进:持续改进总体业绩应当是组织的一个永恒目标。 7 ) 基于事实的决策方法:有效决策是建立在数据和信息分析的基础上。 8 ) 与供方互利的关系:组织与供方是相互依存的,互利的关系可增强 双方创造价值的能力。 硕士论文联创公司的软件质量管理初探 2 4 1 _ 紧紧扣住用户需求是软件质量管理的指导思想 这正是符合质量管理的首要原则“以顾客为关注焦点”。 对于任何产品,顾客的满意都是最终的质量目标。这个原则对于软件产品, 尤其是定制化的软件产品来说是最重要的质量管理原则。 为了满足用户的需求,在整个软件开发过程中必须紧紧扣除用户需求。因 此,应采取以下方式: a ) 采用快速原型法,尽快提供用户软件原型,并及时获取用户的反馈, 根据用户的反馈不断修改软件,而不是全部完工后再最后交给用户。否则,要 改的地方可能很多,甚至推翻重来。 b ) 充分设计之后再编码,防止因考虑不周而返工。 c ) 牢牢控制对缺陷的修改。要用专门的软件,记录和跟踪软件缺陷的修 复。缺陷跟踪记录包括:发现人j 缺陷描述、修复人、修复记录、确认人、确 认结论,通过后才关闭该记录。 d ) 充分进行软件的系统测试。软件编码、单元测试、集成测试后,还要 进行充分的系统测试、回归测试,待软件稳定、不再出新的缺陷后再考虑软 件出厂。 e ) 恰当掌握软件的放行标准。并不是零缺陷的软件才是质量高的软件, 软件零缺陷几乎是不可能的,对遗留的缺陷要充分进行分析,只要能满足用户 需求,软件遗留的缺陷可以通过今后升版解决。 2 4 2 全员参与、过程方法和管理的系统方法在软件质量管理中尤为重要 软件工程是人的工程,不论是做总体设计、需求分析、详细设计、代码编 程、测试评审和配置管理等人员,都是直接面对最终软件产品的。任何人的缺 乏质量意识都会直接导致软件整体质量的下降。 软件工程与普通产品的生产过程不同,软件开发的各种活动和资源本身就 是无法完全分割的,必须作为一个整体的过程进行职责划分、资源管理、项目 管理、质量管理等各方面管理。 缺乏一个好的软件开发过程、没有经常注意改善软件过程是软件质量失败 的主要原因之一。所以,必须科学的、系统的管理软件过程,根据用户需求和 产品特点设计合理的软件生命周期模型,明确软件开发全部过程、资源、活动 和任务的结构框架,和软件开发的阶段、方法、工具以及这些因素应如何结合 的原则等管理方法,将无序活动变得有序化。 硕士论义联刨公司的软件质量管理初探 2 5 总结 软件产品和软件开发过程的特殊性决定了软件产品和软件过程质量的特 点,也决定了软件质量管理的特点和软件质量管理原则。充分理解了软件质量 和软件质量管理的特点,为我们建立质量管理体系、制定质量管理程序和方法 奠定了基础。 硕士论文 联创公司的软件质量管理初探 3 软件质量管理体系 3 1 i s 0 9 0 0 0 系列标准对软件质量管理的要求 国际上影响最为深远的质量管理标准当属国际标准化组织于1 9 8 7 年公布 的i s o9 0 0 0 系列标准,它的出现最初针对制造行业,但现已面向更为广阔的 领域,2 0 0 0 版的i s 0 9 0 0 0 涵盖了硬件、软件、流程性材料、服务的各种行业, 不仅从原理和方法上适用于软件领域,而且还针对软件开发特点制定了相应的 补充性指南,从而为软件企业更好地应用i s 0 9 0 0 0 提供了指导。 2 0 0 0 版的i s 0 9 0 0 0 把9 4 版的2 0 个要素分别归类于管理职责、资源管理、 产品实现及测量、分析和改进四大类,构成一种过程方法模式的结构实现了 以过程的连续性替代了2 0 个要素的不连续,符合p d c a 循环规则,且通过持 续改进的环节使质量管理体系的水平达到螺旋式上升的效应,这使得任何采用 标准的组织都能更方便地理顺其质量管理体系,而无须花很大气力去识别质量 活动与要素的对应关系。可谓逻辑清晰,结构严谨,更加易于理解,更适于软 件质量管理操作。 i s 0 9 0 0 0 要求组织按照其标准建立质量体系,形成文件加以实施和保持, 并持续改进其有效性。要求组织: 1 ) 识别质量管理体系所需的过程及其在组织中的应用; 2 ) 确定这些过程的顺序和相互作用; 3 ) 规定为确保这些过程的有效运作和控制所需的准则和方法: 4 ) 确保可以获得必要的资源和信息,以支持这些过程的运作和虢视; 5 ) 监视、测量和分析这些过程; 6 ) 实施必要的措施,以实现对这些过程策划的结果和对这此过程的持续 改进。 可见,i s 0 9 0 0 0 标准要求在建立、实施质量管理体系以及改进其有效性时 采用过程办法,通过满足顾客要求,增强顾客满意。为使组织有效运作必须 识别和管理众多相互关联的活动。通过利用资源和管理,对全部过程进行连续 的控制。过程模式提倡用过程方法来识别和建立体系,用过程方法来对质量活 动进行控制。由于过程方法符合质量活动的普遍规律,所以适合所有行业,包 括软件行业,实现产品的管理运作。 i s 0 9 0 0 0 3 针对软件质量管理的过程方法做了进一步明确。i s 0 9 0 0 3 叙述 硕士论文 联创公司的软件质量管理初探 了需方和供方应如何进行有组织的质量保证活动,才能得到较为满意的软件; 规定了从双方签订开发合同到设计、实现以至维护整个软件生存期中应当实施 的质量保证活动,但并没有规定具体的质量管理和质量检验方法和步骤。 i s 0 9 0 0 0 3 的核心思想是“将质量制作入产品之中”。其实道理是很明显的,软 件在完成编码以后,不论花多大的力气用于测试,提高质量都是有限度的,更 不必说需求规格说明存在的问题常常是测试无法发现的。事实上,软件产品的 质量取决于软件生存周期。 为把握产品的质量,i s 0 9 0 0 0 要求“必须使影响产品质量的全部因素在生 产全过程中始终处于受控状态”。为使软件产品达到质量要求,i s 0 9 0 0 0 3 要求 软件开发机构建立质量保证体系。首先要求明确供需双方的职责,针对所有可 能影响软件质量的各个因素都要采取有力措施,作出如何加强管理和控制的决 定。对与质量有关的人员规定其职责和职权,使之责任落实到人,产品质量真 正得到控制。 3 2 软件能力成熟度模型( c 删) c m m 是c a p a b i l i t ym a t u r i t ym o d e lf o rs o f t w a r e 的简称,中文叫“软件能力 成熟度模型”,是对组织软件过程能力的描述。c m m 的核心是把软件开发视为 一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更 加科学化、标准化,使企业能够更好的实现商业目标。它侧熏于软件过程开发 的管理及软件工程能力的改进与评估,因此c m m 被用作评价软件承包商能力 并帮助组织改善软件过程质量,是目前国际上最流行、最实用的一种软件生产 过程标准,成为当今企业从事规模软件生产不可缺少的一项内容。 c m m 认为成熟软件开发过程是: 从公司的组织层定义软件的过程,并要求强制实施 从公司管理的角度,监督软件产品的质量以及生产产品的过程 在判断产品质量和分析产品过程方面,有客观定量的依据 进度计划和预算基于以前有效的数据 成熟的软件过程强调预测与预防 成熟的软件过程可以基于实践持续改进 c m m 的目的是帮助软件企业对软件工程过程进行管理和改进,增强开发 与改进能力,从而能按时地、不超预算地开发出高质量的软件。企业实施c m m 模型并评估可为企业带来如下好处:减少软件开发费用,提高软件开发生产率, 缩短软件丌发周期,改进软件开发质量,能较好地控制费用和质量有较好的 坝卜论义联创公司的软件质量葛理柳探 可预测性。 下面是美国达到c m m 各不同等级的软件企业,以5 0 万行软件程序为标 准的投入产出统计表: 表3 1c m m 级别与投入产出 质量生产率成本开发时间 级别 ( 缺陷,千行)( 行,j 、时)( $ ,行) ( 月) 初始级9l6 54 0 可重复级 333 03 2 己定义级 l51 32 5 己管理级0 3851 9 优化级 0 11 221 6 c m m 的体系架构: c m m 吸取了质量工程的主要原理,形成了5 级模型。提出了由第一级( 低 级) 向第五级( 高级) 逐级发展的模式。模型的等级从低到高,可以预计企业 的开发风险越来越低,开发能力越来越高。模型的每个等级由不同的过程方面 构成,而每个过程方面又由各种目标构成,每个目标由各种特定惯例和通用惯 例支持。 标准一 有纪律的过程 图3 1 软件过程成熟度的五个等级 下列的五个成熟度等级的特性突出说明在每个等级上过程的主要变化。 硕士论文联创公司的软件质量管理初探 ( 1 ) 初始级软件过程的特点是无秩序的。偶尔甚至是混乱的。几乎没 有什么过程是经过定义的,成功依赖于个人的努力。 ( 2 ) 可重复级已建立基本的项目管理过程去跟踪成本、进度和功能性。 必要的过程纪律己经就位。使具有类似应用的项目能重复以前的成功。 ( 3 ) 已定义级管理活动和工程活动两方面的软件过程均已文档化、标 准化、并集成到组织的标准软件过程。全部项目均采用供开发和维护软件用的 组织标准软件过程的一个经批准的剪彩裁本。 ( 4 )已管理级 已采集详细的有关软件过程和产品质量的度量。无论 软件过程还是产品均得到定量了解和控制。 ( 5 ) 优化级利用来自过程和来自新思想、新技术的先导性试验的定量 反馈信息,使持续过程改进成为可能。 3 3 i s 0 9 0 0 0 与c s y i s 0 9 0 0 1 是一个针对硬件、软件、流程性材料、服务等各种行业的质量管 理体系标准,这个标准对软件机构的要求体现在i s 0 9 0 0 0 3 标准中,并给出了 详细的解释和进一步的指导。i s o 的认证过程分为两个情况机构或者通过 了i s o 认证,或者没有。如果机构通过了i s o 认证,其过程已满足i s 0 9 0 0 0 的标准要求。与此不同的是,c m m 给出的是过程改进的体系。c m m 将软件 过程划分成5 个成熟度级别从原始级( 第一级) 到优化级( 第五级) 。软 件机构可处在其中的任何一个级别,它的每一级对所要实现的关键过程域都有 详细的要求,并且强制企业能自我更新和持续改进,以实现缺陷预防这对于推动 软件企业自身质量管理素质是非常有利的。 i s o 和c m m 的另一主要不同点是,i s o 是通用的,并且是从客户和外部 审计者的角度来写的,它提出的是最基本的要求,所以不是十分具体。而c m m 是面向软件的,即面向软件开发人员的,它提供了机构内部过程改进的指南, 而且c m m 对每个级别的关键过程域都有很详细的说明,就c m m 的关键实现 的说明就有5 0 0 页之多。 但c m m 毕竟只是一个学术报告基础上建立起来的一套评估体系。它的认证 结果是由s e i 授权的首席评估员寄一封带有本人签名的信给你,并在s e i 备案, 没有任何证书,终生受用,中间不在审查。而通过i s 0 9 0 0 0 认证的企业,要在 中国技术监督局备案,并且发证给企业,并要求每年审查,所有参加多边认可 协议的国家必须认可适用性强。 i s o 和c m m 的共同点在于都是着眼于质量和过程管理,都强调过程的持 硕t 论文联创公司的软件质量管理初探 续改进。其共同实施的策略是以i s 0 9 0 0 1 为平台,软件领域以c m m 为指导 合为一个质量管理体系。 3 4 总结 i s o 和c m m 的都是博大精深的质量管理理论,应在深入研究了二者的内 涵和特点后,结合软件企业自身的特点,制定软件企业的质量管理体系。 i s 0 9 0 0 0 对质量管理的指导十分精辟,是软件企业质量管理的依据,而c m m 则有更强的操作性,对我们建立软件开发流程并不断完善有很大的借鉴意义。 颂:l 论义联创公司的软件质量管理初探 4 联创公司的软件过程管理模式 4 1 联创公司简介 联创公司是全国电信行业最大的软件公司之一,列全国软件企业百强第2 6 名,员工人数1 2 0 0 余人。公司研发的产品都是电信运营商的核心业务系统支 撑软件,如电信计费、结算、帐务系统等。其产品质量对于公司乃至客户来说 是至关重要的:一个小小的b u g 可能给电信公司带来的是上千万帐款的流失、 而公司面临的赔偿是无法估量的。公司对于质量管理一直极为重视,早在1 9 9 9 年就通过了i s 0 9 0 0 1 认证,2 0 0 0 年又通过了i s 0 9 0 0 1 :2 0 0 0 的升版认证,并于 2 0 0 2 年开始引入c m m 软件能力成熟度模型,从多年的软件开发和工程实施中 探索了一套不断改善的软件工程质量管理体系,软件产品质量经受了市场和用 户的考验,获得了很好的评价,确保公司能够在激烈的市场竞争中站住脚并不 断发展成长。具体表现在以下五个方面: 1 ) 合理的开发过程,划分了明确的阶段,阶段与阶段之间有严格的检查 点和明确的里程碑,使这套过程很适合大型软件系统的开发要求; 2 ) 明确的角色职责,参与项目开发的所有人员都有明确而清楚的角色职 责定义,使整个研发队伍处在合理有序的状态; 3 ) 高效的开发团队,采用分而治之的思想,按模块化的要求划分成小而 灵活、沟通和合作紧密的功能小组,小组之间统一协调和部署,并行开发,大 大加快了开发进度; 4 ) 有效的项目管理,能合理有效地调配开发资源,所有的活动都按照计 划开展并处在严密的跟踪和监控之中,使开发风险能最大限度地得到控制: 5 ) 充分的质量保证,定义清楚的质量目标,铺之以严格的评审流程,保 证开发过程中每一环节的输入输出质量,使产出的软件系统确实符合用户的 功能需求和技术要求。 4 2 联创公司的质量目标 对于软件工程质量管理的目标,公司不同岗位和不同经历的人,有着不同 的理解和看法: 一 软件工程师说,希望能够更清晰系统设计全景、更准确的作业指导、 硕士论文联刨公司的软件质量管理初探 更快的技术提高,同时希望系统有更少的需求变化、更少的返工机会; 一软件主管说,就是要将公司变成一个软件工厂,让程序的生产过程如 同流水线一样; 项目经理说,就是在项目实施过程中不要再增加人手、更能提前或至 少按时交付给用户,并且在运行的过程中不要出任何故障: _ 销售经理则说,希望于对用户的需求变更和增加响应更及时,在第一 时间内能拿出一个可用的方案或措施: 一事业部主管则说,希望公司的软件开发成本更低,产品更有竞争力。 以上种种表达了各部门对质量工程实施的期望。 质量目标的定义为:与质量有关的,所追求的或作为目的的实物。质量目 标按其内容分类,质量目标可以有:质量指标,顾客满意度指标,升级创优目 标,质量成本目标和质量管理目标等。 可见,软件工程师和软件主管希望的是实现较高的质量指标,项目开发过 程有较强的可控性,较少的缺陷发生,不要因项目个体工作者状态变化引起软 件产品质量的变化,顺利的完成项目。 项目经理关心项目的质量成本,销售经理关心项目的顾客满意度指标,而 事业部主管则关心是最终的质量目标竞争力。 所以公司的质量目标确定为: i 缺陷清除率9 0 ,重要缺陷和主要缺陷的清除率为1 0 0o 6 0 。 i i 顾客满意度指标( 5 分制) :电信、移动行业4 2 分以上,联通、 网通行业3 8 分以上( 这是和公司在不同行业市场情况制定的) i i i 公司确保通过i s 0 9 0 0 0 的复审,并在年底前通过c m m - - 3 级的 认证。 4 3 联创公司的软件生命周期 软件生命周期是软件生命周期模型的基础,它是软件产品或系统一系列相 关活动的全周期。在一般的工程中,通常要经过分析、设计、实现和运行维护 等几个阶段。为了用工程化方式来有效的管理软件全过程软件生命周期也可 以分成几个阶段。对软件生命周期的不同划分,形成不同的软件工程模型。 4 3 1 总的开发过程 在一个项目生命周期中,通常具备典型的4 个阶段,分别是 顺一i 论文联创公司的软件质量管理初探 图4 1 总的开发过程 立项阶段:由市场和技术营销人员主导、系统工程部参与,包括商业计 划、可行性分析以及成本效益预估。 + 定义阶段:销售人员签订合同,系统工程部进行需求分析、系统构架和 概念建模。项目管理人员提交项目计划,软件开发部开始技术准备。 + 开发阶段:软件开发部进行增量式分阶段地软件架构设计、详细设计、 编码、单元测试和集成测试;系统测试部对软件开发部的阶段性成果进行功能 测试和性能测试,验证软件符合用户需求的程度。 + 移交阶段:客户支持人员进行现场安装和测试,配合客户进行验收:客 户服务人员负责对客户的培训,解决现场问题。 对项目的生存周期划分清楚的阶段,便于管理人员在各个阶段插入明确的 检查点和设定入口出口标准,再辅之以严格的基线和评审制度,使得任何一 个阶段的开始、进行和结束都处在受控状态,从而可以有效控制项目的质量进 度和成本。 定义阶段和开发阶段是与软件开发管理紧密相关的两个关键阶段,可以再 细分为需求、设计、实现和测试4 个阶段,下面分别详细描述。 4 3 2 需求阶段 在需求阶段,主要进行用户需求分析,包括功能需求和技术要求( 如图 4 2 ) ,有两个关键的文档需要产出: 概要需求:以立项阶段的产品规划为输入,生成概要需求说明,界定系 统的范围和边界,对系统实现的功能和性能指标以及软硬件运行环境进行描 述,确定系统的功能特性清单,作为设计阶段的输入。 硕士论文联创公司的软件质量管理初探 图4 2 需求阶段的开发过程 丰详细需求:在概要需求说明界定的范围边界内生成详细需求说明,对 每一项功能需求进行细致的刻划,描述它的输入、输出、触发条件和行为 过程,揭示功能特性之间的逻辑联系,确定合理且较为精确的性能指标范 围,生成系统的概念模型,作为设计阶段的输入。需求分析的全过程都须 邀请用户参加讨论和评审,以求对关键的功能特性,征得用户确认,尽早 与用户达成共识。 4 3 3 设计阶段 如图4 3 所示,在设计阶段主要包括用户界面原型的设计和实现、软件架 构设计和详细设计三个环节组成: 用户界面原型:结合详细需求过程设计和实现用户界面原型。用该原型 和用户交流,确定用户界面的表现形式和操作过程,使用户取得对系统的先验 感觉,进一步与用户达成共识,降低后续设计开发的风险。 十软件架构:以概要需求说明作为设计输入,明确系统目标,确定外部和 内部的质量因素,划分功能模块,描述模块之间的关系,定义模块之间的接口, 确定技术路线和实现策略。 详细设计:以用户界面原型、软件架构设计和详细需求说明作为设计输 入,结合需求和架构对每一功能模块确定实现模块接口的设计方案,描述其内 部实现机制。 颁士论义 联创公司的软件质量管理初探 4 3 4 实现阶段 图4 3 设计阶段的开发过程 在系统实现的阶段,需要制定集成测试计划和单元测试计划,然后编码测 试,目标是能按照设计的要求组装成可运行的软件系统,主要体现在5 个环节 ( 如图4 4 ) : 集成测试计划:在软件架构设计完成后,需要根据架构的要求制定系统 的集成测试计划,描述系统组装的步骤、策略和进度,设计测试用例,作为验 证软件系统符合架构设计程度的依据。 单元测试计划:以详细设计作为输入,按照白盒测试的要求描述各模块 的测试策略,设计路径覆盖和边界覆盖的测试用例,描述驱动程序和桩程序的 设计或获得过程,作为验证模块符合详细设计程度的依据。 木编码:按详细设计的要求实现代码。 十单元测试:依据单元测试计划,对模块进行单元测试和排错,验证模块 符合详细设计的程度。 $ 集成测试:依据集成测试计划,对系统进行集成测试和排错。验证系 统符合架构设计的程度。 硕j e 论文联创公司的软件质量管理初探 4 3 5 测试阶段 图4 4 实现阶段的开发过程 测试阶段的主要任务是进行系统测试,验证系统符合功能需求和技术要求、 性能指标的程度,有4 个环节( 如图4 5 ) : 木功能测试计划:以详细需求和用户界面原型作为设计输入,描述进行 功能测试所需的环境、人员、进度和活动,以尽可能多地发现错误为原则, 设计合理而经济有效的功能测试用例( 单个功能测试用例尽量覆盖范围 大) ,作为验证系统满足功能需求的依据。 性能测试计划:以详细需求和软件架构作为设计输入,描述进行性能 测试所需的环境、人员、进度和活动,以尽可能多地发现错误为原则,设 硕士论文联创公司的软件质量管理初探 计合理而经济有效的性能测试用例( 单个性能测试用例尽量覆盖范围大) , 作为系统满足技术要求的依据。 图4 5 测试阶段的开发过程 功能测试:功能测试以集成测试的结果( 满足设计要求可运行的软件系 统) 作为输入。按照功能测试计划的要求验证系统满足功能需求的程度。 + 性能测试:性能测试以功能测试的结果( 满足或部分满足功能需求的软 件系统) 作为输入,按照性能测试计划的要求验证系统满足技术要求的程 度。 当功能测试和性能测试的结果能够满足质量管理部制定的质量标准后, 整个系统就可以出厂,进入移交阶段。 4 3 6 其他流程管理 上述各阶段的输出点,也是质量控制点,有相应的输出文档和软件代码, 均需要得到质量管理部门的评审和检验。 除了上述几个阶段外,还有项目管理( p m ) 、变更控制、需求控制、配置 硕士论文联创公司的软件质量管理初探 管理、用户满意度管理等流程贯穿全部阶段。 为保证大型软件的开发能够顺利进行,在实践中,公司的开发流程设置具 有以下

温馨提示

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

评论

0/150

提交评论