第一章 引论
1.1 研究的背景及意义
1.1.1 软件质量的现状
根据软件产业发展的需要,当前我国已经制定了一系列软件质量相关的标准[1],工业和信息化软件与集成电路促进中心发布的《2009 中国软件质量研究报告》中,就标准是否会影响软件质量管理,以及标准在其中的作用是否重要,调查了部分企业,其中 99%的受访企业认为标准起了非常大的影响;在这当中又有 49.91%的受访企业认为这种作用是非常重要的。
软件质量的有效保障,是贯穿整个软件生存周期的重要课题。重视软件的质量管理和保障,健全软件质量管理体系,可以促进软件项目管理的实施。但在实际软件开发过程中,因为没有足够的重视软件质量,导致了开发的软件质量低下、甚至与用户需求偏差较大。其最根本的原因有如下几点:
软件开发的整个过程并没有完全的按照软件质量保证的正规做法实施。
缺乏对软件全过程的质量管理,仅仅着眼于关注减少软件的运行时错误,加大软件测试等这一系列的一般层面的问题上,而没有建立和完善一个软件质量的总体框架。
质量管理者对全过程质量管理的重视程度不足。所谓全过程质量管理,指的是着眼于整个软件开发生命周期的软件质量管理,而这种全过程质量管理,不是简单的通过严格的测试就可以保证的,而是需要将质量控制和质量保证贯穿于整个软件开发的生命周期。
1.1.2 现代软件质量管理的重要性
伴随着信息技术的飞速发展,人民的生活越来越离不开各种软件和应用。而各种各样的大型应用系统给人民的生活造成了极大的便利的同时,如果软件质量得不到控制,这种便利的生活方式将会受到极大的阻碍。比如和现在人民生活息息相关的银行交易系统,如果出现质量问题,影响多大可想而知,比如 2010 年 8 月 30 日光大银行核心系统出现的重复记账,影响了 5 万多笔的交易;2013 年 5 月 12 日招行系统瘫痪,导致全国的所有招行网点和 ATM 服务前线瘫痪等诸如此类的重大软件缺陷,如果造成了不可追溯的损失,那么这种因为质量问题的危害是极大的,将会大大的降低人民对银行系统的信心,扰乱了正常的生活;再比如说每年春运,号称世界最繁忙的铁道部网站,经常由于一些细小的问题导致无法访问,当然这可以归结在编码的失误,但是导致这种失误在上线后才暴露,与对于整个软件质量管理的控制不到位不无关系的;而软件质量的控制和提高,有赖于质量管理水平的提高[2]。因此在现代信息爆炸的时代,软件质量管理显得至关重要。
1.1.3 CMMI 国内外发展情况
1.1.3.1 CMMI 国外发展情况
质量体系起源于英国,早在 1978 年发布了质量管理和质量保证体系国家标准BS5750,并显着地改善了英国企业的产品质量[5]。1986年11月,CMM(Capability MaturityModel)项目启动;2001 年起,CMMI 逐渐替代 CMM,降低了实施过程改进、评估的成本,提高过程改进效率。
1.1.3.2 CMMI 在国内的发展情况
中国是被公认为拥有最大量高质量低成本的软件技术人才的国家,在发展软件业方面存在得天独厚的条件。回顾我国的软件行业近十多年来的发展可谓迅猛。2010 年,我国软件产业实现软件业务收入达到13364亿元,同比增长31%,整个软件产业从规模上,比2000年扩展了22倍,年均增长率高达36%。而占全球份额数也从不足5%上升到15%。
软件行业的从业人数由不到 30 万提升到了超过 200 万人。随着国内软件产业规模的不断扩大,以及国家对软件出口的重视,专业体系的软件质量管理越来越为业界所需要。
而 CMMI 也正是乘着这种东风,在中国迅速的发展和壮大,并且成为了业界所推崇的规范。2002 年至 2010 年,在国家政策的重视和业界领军企业成功实施 CMMI 的示范作用下,中国开始掀起了 CMMI 评估的高峰,基于 CMMI 进行的改进和评估的数量飞速增长。图 1-1 是我国 CMMI 各年度评估通过企业数及其增长情况:
1.1.4 研究的意义
随着软件产业的发展与应用需求的不断提高,软件产品及应用系统的质量已逐步成为企业生存与发展的核心,软件质量关系到整个软件产业的健康发展以及中国信息化建设的整体水平。}fn在软件行业正处十高速发展的中国,软件质量更是决定一个企业在行业中是否可以走更远的重要因素,因此各软件企业越来越将软件质量管理视为企业生存中至关重要的一部分。在一定程度上,软件企业的质量状况体现了该企业的核心竞争力。
1.2 国内外研究现状与理论介绍
1.2.1 国外研究现状
软件质量管理起源于英国,目前,国外主要从软件工程方法的角度,通过技术角度,来研究如何提高软件开发的质量,如研究建立开发模型、完善开发方法等等;或者从管理角度,如软件项目管理,研究软件项目管理知识框架。
1.2.2 国内研究现状
国内软件行业起步较晚,项目管理和软件质量管理也相对落后,但近年由于国内经济增长,以及科技的飞速发展,软件行业得到了高速增长,甚至在某些领域完成了对国外水平才赶超。随着国内信息化脚本的加快,众多国内的软件企业也看到了软件质量管理对软件行业成败的关键性影响,越来越重视软件项目的管理,也涌现了一批批 IS09000和 CMMI 认证的软件企业。
1.2.3 软件质量管理
软件项目管理是为使软件项目能够达到预定的质量、进度、成本,而对人员、质量、进度、成本、风险等进行分析和管理的活动[3]。在实际的软件项目质量管理中,其过程主要包括:质量规划、实施质量保证、实施质量控制。
1.2.3.1 质量规划
质量规划(quality planning)是指确定与项目相关的质量标准以及实现这些标准的方式。对于软件项目的质量管理而言,它包括预见软件开发过程中会出现的情形,并为即将出现的软件质量问题或者期望的结果而准备对策的能力。在软件项目质量规划中,重要的一点,是为每个软件项目明确相关的质量标准。
1.2.3.2 实施质量保证
软件质量保证(Software Quality Assurance,简称 SQA)的目的是检验软件开发的过程是否遵循了合适的标准,一般包括以下几项活动:
1、建立 SQA 组,当发现软件开发过程中出现软件质量危机时,其有权向项目组上级机构直接报告危机;
2、确定 SQA 组为了保证软件质量所需要进行的质量保证活动;
3、制定和维护 SQA 计划,明确 SQA 活动与整个软件开发生命周期中各阶段的关系;
4、执行 SQA 计划,对软件质量保证执行过程中涉及到的人员进行培训,挑选适当的质量保证工具;
5、完善 SQA 在实施中存在的问题和不足,持续改善项目的质量保证过程。
实施质量保证(performing quality assurance)是指定期对项目绩效进行评估,以确保项目符合既定的质量标准,其涉及满足项目相关质量标准的所有活动。软件项目质量保证以预防为导向,为软件项目质量的持续改进收集数据并进行质量审核。
1.2.3.3 实施质量控制
实施质量控制(performing quality control)是指监控具体的项目成果,以确保其符合相关的质量标准。软件质量控制的目标是发现和消除软件产品的缺陷。软件开发是一个复杂的过程,受制于开发人员的素质以及各种其他外在因素,软件产品缺陷是不可避免的。
然而对于客户来说希望拿到的是一个高质量的软件产品,因而消除软件开发中的缺陷就显得非常重要了。为了消除缺陷,质量控制将会进行一系列活动,包括:需求评审、设计评审、代码评审、单元测试、集成测试、系统测试以及验收测试等。
1.2.3.4 质量管理体系
质量管理体系,是经过标准化组织的研究和长期的实践,逐步演化出来的一些软件管理的理论体系,其目的是规范质量管理过程,使得质量管理有据可依。而当前被广泛应用的软件质量管理体系主要有两种:ISO9000 及 CMM/CMMI。
ISO9001:2000 是国际标准化组织融合现代管理学最新的理念精华,它合并了ISO9001、ISO9002、ISO9003,引入了 PDCA 戴明环闭环管理模式,使得持续改进的思想贯穿于整个标准,建立可持续改进的结构。ISO9001:2000 为各种机构组织提供了一种切实可行的方法,以体系化模式来管理组织的质量活动,并将“以顾客为中心”,“持续改进”等理念贯穿到标准的每一要素中,使产品或服务可持续地符合顾客的期望,从而拥有持续满意的顾客。
软件能力成熟度模型(Capability Maturity Model for Software,简称 CMM),是对组织软件过程能力的描述,其核心是把软件开发看作一个过程,并依据此原则对软件开发及维护进行过程监控和研究,以使其更加标准化、科学化,使企业能够更好的实现商业目标。因此,CMM 被用作评价软件企业能力并帮助组织改善软件过程质量,是目前国际上最流行、最实用的一种软件过程模型。
软件能力成熟度模型集成(Capability Maturity Model Integration,简称 CMMI)是CMM 模型的最新版本。
1.2.4 CMMI 模型
1.2.4.1 CMMI 简介
CMMI(Capability Maturity Model Integration)是一套被证实行之有效的软件开发过程控制的规范,它的前身是 CMM(Capability Maturity Model for Software)是美国国防部委 托 美 国 卡 内 基 梅 隆 大 学 (CarnegieMellonUniversity) 的 软 件 工 程 学 院(SoftwareEngineeringInstitute,SEI)所进行的一项研究成果[4],其目的是为了解决评估对委外公司承接软件项目的能力和执行能力。该模型试图在软件行业建立规范,使软件开发过程中能有持续改善的依据,并且可以用以评估和改善软件公司的软件开发过程及开发能力。自从 CMM 推出 1.0 版本之后,各行业又根据自己的实际发展自己的 CMM,但是因为各自应用领域的独立性,这些模型并没有通用性,为了解决这种不通用性,整合各种领域模型,SEI 在 2000 年公布了能力成熟度整合模型(CMMI)。
1.2.4.2 CMMI 的级别和过程域
1、CMMI 级别
CMMI 将能力成熟度划分为 5 个级别,分别是:初始级、已管理级、已定义级、量化管理级、优化级。每一个级别都构成下一个级别的基础。级别从 1 到 5 分别是:
CMMI1:初始(Performed)级,该级别的特点是组织没有提出稳定的环境来支持。
项目的成功仅仅取决于组织中个人的能力,而不是建立在经检验可行的过程和模型上。
在这个阶段尽管也可能生产出可用的产品和服务,但是因为过程混乱无章,导致项目经常出现超预算和无法按期完工的情况。
CMMI2:已管理(Managed)级,在这个阶段,组织的项目已经可以确保需求得到了管理,并且过程按照预定的方针得到了计划和执行;项目组中相关的人员得到了执行有关的培训,并且分配了相关的资源,工作和成果受到了控制。利益相关者参与了过程的执行,并且与其他成员一起进行相关的评审和过程符合度验证。上层领导关注过程的制度化以及过程其他目标。
CMMI3:已定义(Defined)级,在这个阶段,所有过程得到了很好的描述和理解,并且应用了标准、规范和工具,建立了标准过程集,并被不断的完善。项目按照需要对过程集进行裁剪,建立专属的已定义过程,而这种裁剪是按照裁剪指南来执行。
CMMI4:量化管理级(Quantitatively Managed)级,这个阶段,组织和项目已经为软件的质量和过程建立了一套可统计的,可量化的目标,并且将它用作管理过程的标准,对整个软件生命周期进行管理。在这种情况下,过程性能,可以通过量化的指标来统计。
CMMI5:持续优化(Optimizing)级,在这个阶段重点关注通过增量的和创新的过程改进和技术改进来,以达到过程的优化和绩效的持续改进。有效识别过程偏差的根本原因,并且通过一些可度量的方式来识别、评价与实施对过程偏差的改进。
2、CMMI 过程域CMMI 区分为 5 级,而每一级别的满足必须要满足该级别的所有过程域。所谓的过程域,就是将工作分成几个小阶段来管理。
3、表 1-1 是级别与过程域之间的关系
1.2.4.3 CMMI 的作用
CMMI 被公认为软件产品进入国际市场的通行证,它为改进一个组织的各种过程提供了一个单一的集成化框架,这种新集成模型框架消除了各模型的差异性,减少了各模型间重复性,增加了透明度和理解,建立了一个自动的、可扩展的框架。因而能够从总体上改进组织的质量和效率。对于企业来说,无论是上到千人的大型软件企业,还是少到十人规模的小企业,有效实施 CMMI 都可以提升开发项目的成功率,降低开发风险和成本,提高软件产品质量,从而在根本上提升企业的竞争力。在目前看来,企业实施CMMI 的主要动力有两点,一是适应市场需求,特别是企业在一些投标活动中遇到的CMMI 门槛;另一方面主要是考虑到有效管理,通过 CMMI 实施来改进组织内部的管理,提升组织的工作效率。CMMI 主要应用在两大方面:软件能力评估和持续过程改进。
1、软件能力评估
为了有效评估软件过程的成熟度,CMMI 制定了两种通用的评估方法,分别是软件过程评估和软件能力评价。
软件过程评估主要用于确定一个软件开发组织当前软件工程过程状态及其将面临的软件过程的优先改善问题,其目的是为领导层提供报告,以便获得对软件过程改善的支持。软件过程评估,整个评估过程在一种合作开放的环境中进行,它集中关注组织自身的软件过程。软件过程评估成功与否,取决于所在组织管理者以及专业人员对本组织内部软件过程改善的支持程度。
软件能力评价主要用于识别和挑选合格的软件承包商,或者对选定的软件承包商进行软件开发过程状态监控。软件能力评价集中关注识别软件产品开发过程中相关风险,以确保在预算以及进度要求范围内完成制造出高质量的软件产品。
2、持续过程改进
软件过程改进是一个持续的、全员参与的过程。CMMI 的宗旨在于持续的过程改进。CMMI 建立了一套软件工程和软件质量管理方面的优秀实践,它清晰地描述了软件过程的关键元素,以便各软件组织通过这些关键实践,有效的指导软件的开发和维护,以通过持续改进软件过程的方式,实现软件的功能,成本,质量的最优化配比。
1.2.5 基于 CMMI 与的软件质量管理
软件质量取决于开发人员的能力和团队管理能力,而在大型软件项目中,开发人员的能力又主要体现在团队的总体能力上,而软件过程成熟度主要体现在对软件开发过程的控制力和自我改善能力上,软件过程成熟度对软件开发质量起了决定性的作用[6]。因此,通过建立有效而稳定的软件过程,不断强化开发人员团队化管理,从而达到对软件开发的质量控制。
CMMI 主要应用于软件能力评估以及持续过程改进,它不但可以作为工具,很好的指导改进软件过程,而且可以把全面质量管理的概念更好的应用到组织的软件开发上,实现从需求管理到项目计划、项目控制、质量保证、配置管理的软件过程全面质量管理[7]。
CMMI 可以分为 5 个级别和规定了 22 个过程域(Process Areas,简称 PA),A 公司目前以 CMMI 的 3 级的规定来制定了质量管理。其中在 CMMI3 中与质量管理相关的过程域有:配置管理(Configuration Management,简称 CM),度量和分析(Measurementand Analysis,简称 MA),过程与产品质量保证(Process and Product Quality Assurance,简称 PPQA)。
1.2.5.1 配置管理
配置管理(CM),是属于 CMMI2 级的过程域。配置管理又称为“变更控制”,它指的是通过实行配置管理来进行版本控制盒变更控制的流程,进而确保系统的完整性和可回溯性。配置管理可以有效的系统的处理变更,又称为“变更管理”。软件配置管理,贯穿于整个软件生命周期,他可以归结为三方面内容,分别是:版本控制、过程支持以及变更控制。
1.2.5.2 度量与分析
度量与分析(MA),是属于 CMMI2 级的过程域。度量与分析的目的建立并保持度量能力[8],以满足管理上对信息的需要。在 CMMI 规定中,度量与分析过程域的主要活动包括:
1、明确度量与分析的目的,并与已识别的需求保持一致;
2、详细说明度量、数据收集与存储、分析技术、分析报告以及反馈的机制;
3、实现数据采集已经对采集数据的分析以及制定报告;
4、提供客观的分析结果以及适当的纠正行为,以便做出正确的决策。
1.2.5.3 过程与产品质量保证
过程与产品质量保证(PPQA),是属于 CMMI2 级的过程域。其定义是确定一个软件产品的质量目标、建立实现这些目标的计划及监督和调整软件计划、软件工作产品、活动和质量目标,以满足客户的需求和期望的过程[9]。在 CMMI 规定中,过程与产品质量保证主要活动包括:
1、依据制定的过程说明以及标准和程序,客观的评估所执行的过程、工作产品和服务;
2、识别并记录不符合的缺陷;
3、为组织成员以及管理人员提供产品质量保证活动结果的反馈;
4、确保不符合需求的缺陷已经被处理。
1.3 研究内容和框架
本论文主要按照以下的内容和框架进行阐述:
第一章为引论,主要介绍本论文研究的一些背景,研究意义,当前国内外的研究现状,同时简单的对本论文涉及到的一些理论知识进行阐述;
第二章主要对 A 公司在实施 CMMI 软件质量管理之前面临的一些软件质量问题的描述;
第三章分析 A 公司质量管理面临问题及原因分析,主要从行业质量要求,组织架构方面的问题,以及软件质量管理实施过程需要优化等方面进行分体系不健全的问题进行简单阐述;
第四章详细介绍 A 公司基于 CMMI 的质量管理的实施细节,包括组织架构调整,同时根据 CMMI3 中有关质量管理的过程域的实施指导,完善过程与产品的质量保证,完善配置管理,建立和完善度量与分析机制;
第五章对 A 公司实施 CMMI3 质量管理后的成效进行阐述。
第3章G公司石油天然气部门供应商管理现状及存在的问题3.1G公司以及其石油天然气部门简介G公司倡导梦想启动未来,是一家多元化的科技、媒体和金融服务公司,致力于为客户解决世界上最棘手的问题。公司的产品和服务范围广阔,从军火、飞机发动机、发...
第3章F煤炭公司的社会责任管理现状3.1F煤炭公司概况3.1.1F煤炭公司简介F公司是一家以煤矿开发、电器生产、煤炭销售为主的煤炭公司,其前身是平煤集团自营煤矿公司,成立于1984年12月,是具有法人资格以煤为主的企业,现辖3口矿井,年生产优质原...
摘要2014年,中国经济正处于结构调整的阵痛期,经济下行的压力依然较大。但随着经济结构的调整,宏观政策环境的改善,中国企业也迎来了发展的重要机遇。工信部于2011年6月18日颁布实施的《关于印发中小企业划型标准规定的通知》中对中小微企业进行了明确划定,符...
第六章原材料业务流程重组结果评价在对飞思卡尔半导体原材料业务流程重组设计并实施后,根据业务流程重组的过程,接下来对业务流程重组进行综合性的结果评价。6.1业务流程重组结果进行了业务流程重组后,飞思卡尔半导体原材料业务流程使用了新的管理系...
第3章H公司供应链及其信息共享机制3.1H公司及其供应链3.1.1H公司概况H公司全名为H糖业有限公司,是亚洲最大的淀粉糖生产基地,主要产品为食用葡萄糖、果糖、低聚糖、果葡糖梁、葡萄糖酸钠等,其中结晶葡萄糖、葡萄糖酸钠和果糖三个产品的产量和市场占有率全...
摘要随着国内市场化程度不断提高、我国法制环境不断完善,法商管理是快速发展的企业管理思想。实质是可持续性发展的管理。法商管理强调法是为商服务的,商要符合法的规定,两只紧密结合,互相促进。其形成具有一定的必然性,其核心是倡导从之前的追求利益...
第6章优化邯郸市民营经济发展的政策建议6.1推进新型城镇化发展6.1.1科学规划,提高城镇的综合承载能力2012年,国务院批复《中原经济区规划》,我市首次跻身国家战略,被定位为全国重要的先进制造业基地、中原经济区有重要影响力的中心城市。规划中...
第1章绪论。1.1研究的背景与意义。1.1.1研究背景。从物竞天择的自然进化到适者生存的普适法则,竞争是人类社会长期发展进步的不懈动力和永恒主题。在当今世界高新科技日新月异、全球经济一体化飞速发展的背景下,我国的企业将会面对越来越激烈的竞争...
结论在当今汽车市场上,优质的售后服务包括备件服务已经成为新车销售中的关键成功因素。同时,随着各汽车厂商保有量的大规模增长,备件业务将为企业带来持续稳定的收入和可观的利润汇报。随着中国汽车市场逐步走向成熟,售后市场的发展潜力开始逐步释放,...
第6章改善的对策6.1加大贯彻实施内控体系的力度内部控制体系建设涉及到公司经营管理工作的方方面面,不是某一个单位、某个职能部门一家的事,只有各职能部门、各单位通力协助配合,共同努力,才能把工作做好,才能使公司的管理体系设计得更完善、更科...