项目质量管理论文栏目提供最新项目质量管理论文格式、项目质量管理硕士论文范文。详情咨询QQ:1847080343(论文辅导)

面向CMMI模型的软件项目开发质量管理方法研究

日期:2018年10月26日 编辑:ad201107111759308692 作者:无忧论文网 点击次数:1139
论文价格:150元/篇 论文编号:lw201809151340128097 论文字数:38566 所属栏目:项目质量管理论文
论文地区:中国 论文语种:中文 论文用途:硕士毕业论文 Master Thesis

本文是一篇项目质量管理论文,本文首先对 CMMI 模型中的过程域进行分析,随后从产品、流程和资源三个维度出发,对软件项目的质量进行多维度的量化管理,提升软件产品在开发过程中的产品质量可控性。确保软件项目能够及时的交付优质高效的软件产品。


第一章   绪论


1.1   研究背景及意义

1.1.1   软件项目质量管理

1980 年以来,计算机在全球的应用越来越广泛,借此契机,信息技术也迅速的发展壮大,各种以开发软件为盈利的企业迅速建立起来。软件产品随着时代的发展不断更迭,其功能越来越完善,性能越来越稳定,应用面也越来越广,上至国家的军国要事,下至平民百姓的生活娱乐,都能见到计算机的影子。在社会的运转中,计算机已经成功融入社会的各个层面,难以将其分离开来。但随着社会对软件的依赖性越来越大,人们对软件所提出的诉求也越来越多,这就使得软件项目的需求覆盖范畴不断增加、产品功能多样性不断提升、产品生产复杂度越来越高。在软件项目中,项目的经济成本、时间成本和产品质量越来越难以把控,在很多软件项目中经常出现着:项目延期、资源调度不到位、软件产品质量难以控制等问题,这些问题不断的困扰着软件开发企业,使得产品的质量无法得到有效的保证。美国 Standish 咨询集团曾进行过一次调查研究,其目的是为了了解软件项目的整体情况,结果表明:在所有接受调查的软件项目中,只有近 3 成的项目能够在规定的时间和合理的成本下完成项目,有近 4 成的软件项目存在各类问题,如:软件项目的产品交付时间推迟、软件开发成本超出预算、软件产品功能无法满足顾客需求和产品的非功能性指标不够稳定等,而余下的 3 成项目则因各种原因的影响,致使软件项目无法交付出满意的产品,导致项目失败。对于软件项目来说,有三个要素十分重要:时间、成本、质量,三者之间互为掣肘,相互制约,其关系如图 1.1 所示:

.........................


1.2   研究内容

针对软件项目质量管理中存在的不足,本文拟从产品维度、流程维度和资源维度这三个角度来进行研究,为软件项目的质量管理提供可行的技术支撑,为软件项目的量化评估、量化优化提供可行的方案。

(1)基于产品维度的软件项目开发质量管理方法

提出了一种自学习的软件质量预警模型,通过分析软件产品生产过程中各模块的质量状况,实现软件项目产品的质量预警。主要研究包括:1、在指标选取时,如何对评估指标进行约简,降低属性维度,提高预测效率;2、如何能够自动适应软件项目中数据集所产生的变化,使得模型能够及时适应变化。

(2)基于流程维度的软件项目开发质量管理方法

提出了一种基于 MapReduce 的软件项目日志聚类算法,用于提高软件项目的日志可读性,提高在软件项目质量管理中日志文件的利用效率。主要研究包括:1、如何将传统的软件项目中的日志文件进行向量化的表达;2、如何利用并行化的思想提高软件项目日志聚类的效率,以提高日志文件的利用效率,及时发现软件项目中存在的开发流程不合规的问题。

(3)基于资源维度的软件项目开发质量管理方法

提出了一种软件项目的资源配置优化模型,用于提升软件项目的资源利用效率,实现资源配置的最优化,以最短的时间和最优化的资源配置获取最满意的软件开发产品。主要研究内容为:1、如何表达各个开发过程之间的约束条件和如何形式化表述各资源;2、如何求解出最优化的资源配置结果,在满足各项约束条件的前提下,以最优的资源配置、最短的开发时长来获得所需的软件项目产品。

.........................


第二章   面向 CMMI 的软件项目质量管理路径及方法研究


2.1   软件工程

20 世纪中叶,随着第一台电子管数字机的发明,计算机逐渐走入人们视野之中。但此时的计算机运算速度慢,性能低下,可靠性差,无法进行大规模的推广和应用。随着技术的不断发展和创新,计算机从电子管数字机时代逐渐发展,经历晶体管数字机、集成电路数字机,最后到现如今的大规模集成电路机,计算机的运算性能不断提升,体积也变得越来越小,可靠性也得到了巨大的提升,价格也变得更加的便宜,计算机逐步走入了百姓生活之中。

随着计算机硬件的不断的发展,与硬件相匹配的计算机软件行业也在茁壮成长。1946年,软件开发主要是围绕计算机硬件进行展开的,此时所要开发的程序功能简单,难度小,可以由一个人或者少许几个人完成程序的开发工作。并且由于当时计算机硬件的限制,软件开发更加注重的轻量化和高效化,在开发过程中不会留下工程文档,难以对软件项目进行管理。1970 年左右,计算机硬件已经发展了一段时间,整体性能已经得到了较大的提升,此时已经出现了软件的概念,许多高级编程语言也被广泛运用,但当时软件开发模式多为作坊式的开发,相对于之前的开发模式没有较大的提升。这种“随意”的开发也带来了许多问题,如:软件缺陷频发、应用性差、成本控制不到位、软件项目进度延迟等等,问题逐步累积,最后导致了“软件危机”的出现。F.D.Brooks 曾经说过:软件开发在当时被当作是一个沼泽一般,开发人员在里面不断的挣扎,结果是越来越无法从中解脱出来。

为了解决“软件危机”,人们不断的从技术和管理这两个方面来对软件开发能力进行提升,随着各项研究的不断深入,软件开发进入了软件工程时代。此时的软件项目具有规模大、功能繁多、分工合作明显、可靠性要求高等特点。许多专家对软件开发中存在的问题进行了深入的思考和探索,Brooks就在他的《人月神话》中对软件系统的性质进行了归纳整理,他认为软件产品具有产品组成复杂、开发环境多变和质量控制不可见等特点。不同于其他传统的产品生产,软件开发是运用人类智慧的来生产产品的过程,其开发的产品是脑力劳动的成果,其开发流程和开发产品都比其他任何的产品都要复杂。而且软件本身就具有比较复杂的属性,如需求的易变性、软件接口的不可见性、软件状态的复杂性和软件运行条件的不确定性等,这些因素都会导致人们无法轻易的对软件产品的质量进行及时的控制和评价。

.........................


2.2   面向 CMMI 的软件项目开发质量管理路径

随着软件在生活中应用的范围的越来越广泛,软件产品的质量成为软件项目成功与否的一个重要评估指标。随着社会发展,人们对软件产品质量的重视程度不断提升,1968 年左右,软件工程学科逐步建立,许多研究学者为了提高软件产品的质量水平和合理控制软件开发的成本进行了许多研究并取得了丰硕的成果,但这些成果在实际运用时效果不理想,“软件危机”一直没有得到有效的解决。

直到 1980 年,美国的软件企业逐步认识到,软件的开发过程对于软件项目质量管理也至关重要,只有将开发技术与开发过程同时进行改进,才能有效解决“软件危机”这个问题。如图 2.2 所示:

............................

第三章   基于产品维度的软件产品质量预警模型 .......................... 19

3.1   理论基础 ................... 19

3.2   评估指标选取原则 .......................... 20

第四章   基于流程维度的软件项目开发日志聚类模型 .................... 31

4.1   理论基础 ....................... 31

4.2   日志文 件向量化 ..................... 32

第五章   基于资源维度的软件项目优化配置模型 ........................ 47

5.1   基于约束配置的软件项目资源优化配置模型 ............................ 47

5.1.1   理论基础 ............................ 47

5.1.2   软件项目资源配置模型建模分析 ........................... 48


第五章   基于资源维度的软件项目优化配置模型


5.1   基于约束配置的软件项目资源优化配置模型

5.1.1   理论基础

对软件项目的资源进行配置管理,主要包含以下几个部分:

(1)模型建立

在软件项目中的资源配置模型中,主要包含以下几个要素:开发活动、时间资源、开发资源和目标函数,对软件项目的资源进行配置其主要目标就是通过调整开发活动和物料资源,通过分析各开发活动和物料资源之间的约束关系,以目标函数为指导,将开发活动和物料资源放置到相应的时间资源上,得到最优的资源配置方案。

(2)模型求解 

在对资源配置的要素进行形式化表达和建模后,下一步就是依据目标函数对模型进行求解。对软件项目进行资源配置是一种通过满足各种约束条件对资源进行调度的问题,是NP-C(Non-deterministic Polynomial)问题。由于该模型的目标函数是为了尽可能的缩短软件项目的时长,所以可以将模型求解问题看成是约束优化问题的求解,现有的求解方案主要有:BB(Branch and Bound)算法、GA(Genetic Algorithm)算法、PSO(Particle Swarm Optimization)算法和 ACO(ant colony optimization)算法等。

BB 算法起源于运筹学之中,主要是求解变量为整数的情况下的线性模型,随着该