过程仿真技能在软件项目管理中的运用探析

论文价格:免费 论文用途:其他 编辑:mjt1985 点击次数:168
论文字数:64000 论文编号:sb201211211250214380 日期:2012-11-22 来源:硕博论文网

引言

    随着软件在各行各业的广泛应用,人们对软件的质量和可靠性要求越来越高,对软件开发组织的能力成熟度水平越来越关心。软件研发组织面对行业的发展机遇,急需提高自身软件项目的管理水平,以在日益竞争的市场环境中取得竞争优势。
    虽然经过多年的发展,但是软件项目失败的比例仍然居高不下。评价软件项目成功与否,主要从以下几个方面来考虑:是否按时交付、成本是否控制在预算之内、质量是否达到客户要求。如果软件项目总是延期交付,成本总是超过当初的预算或者质量不能达到客户的要求(如产品交付后缺陷太多)则说明此软件项目是失败的。软件项目失败的原因归为两个方面:技术方面和管理方面。软件行业是业界公认技术发展最快的行业,随着各种新技术、新方法不断涌现,使软件开发的生产率不断提高,但是技术的提高并没有解决项目失败率高的现状,管理成为软件项目失败的主要原因,而软件开发通常是以项目的方式运作,因此软件项目管理的水平决定了项目成功的概率。软件项目管理发展到今天,己经形成了一些成熟的理论框架,如PMPBOK, Prince2等。基于这些理论框架,整个软件行业的项目管理水平己经有了非常大的改观,但是客户对软件项目的要求越来越苛刻,软件项目的复杂度也越来越高,软件项目失败率高的问题仍然困扰着我们。从项目管理的基本框架上来看,项目管理的核心是计划和监控。计划不准确、监控不及时是造成软件项目失败的主要原因,因此如果能够提高计划的准确性、能够及时的监控项目状态发现项目问题,那么项目成功率将大大提高。很多软件公司都在采用各种方法提高软件项目的计划和监控能力,业界也存在一些项目预测模型以及过程分析技术,如COCOMO成本预测模型、统计过程控制方法,这些方法对项目计划或者监控非常有帮助。但是目前业界存在的各种模型和方法都只是在某一方面有一定的作用,而项目管理是一个复杂的问题,单靠一种模型、一种方法仍然不能很好的解决项目管理的计划和监控问题。

    在软件过程改进行业目前最流行的改进模型是卡耐基梅隆大学软件工程研究院开发的CMM工模型。CMM工模型强调商业目标驱动过程改进,并通过不断提高预测和监控的能力使组织的过程能力水平和成熟度不断提高,而且CMM工成熟度等级也得到软件行业的广泛认可。为了达到可持续发展的商业目标,许多组织追求达到CMM工高成熟度等级,以提高组织的过程性能、提高项目管理的水平、获得可持续发展的能力、向业界证明自己的研发水平和能力。CMM工是一套过程改进的框架,分为五个成熟度等级,四级和五级属于高成熟等级,等级越高表明过程预测能力越高,项目的量化管理能力越强,CMM工高成熟度等级也是为了提高项目的预测和监控能力,并持续的优化过程的能力。目前业界除了一些较大的软件公司外,中小型软件公司实施CMM工高成熟度等级的并不是很多,当然并不是这些软件公司不想达到CMM工高成熟度,主要是实施高成熟度的案例和经验非常少。CMM工模型仅仅告诉了我们要做什么,但是没有告诉我们如何去做,如何去做需要企业自己去定义。因此业界并没有公布一套普遍适用的、可操作的方法和技术帮助企业实施CMM工高成熟度。这就导致了很多软件企业不知道采用哪些方法和技术可以达到过程的可预测性和量化的项目管理。

    面对软件组织所面临的项目管理的计划不准确和监控不及时的问题,我们迫切需要一种的方法能够有效的解决它。过程仿真技术是一种以过程和数据为基础,通过模拟过程的执行而能够预测过程结果的仿真预测技术。过程仿真技术在研究和学术界一直备受推崇,近几年随着计算机硬件和计算能力的不断发展,进行过程仿真的成本也在不断降低,因此这使得过程仿真技术在工程实践领域的广泛应用成为可能。过程仿真技术作为一种仿真预测技术己经在制造行业、化工行业、信息技术行业等得到了广泛的应用,但是在软件项目管理领域应用非常少。那么如何有效的应用过程仿真技术到软件项目管理领域,以提高项目的预测和监控能力,持续保证项目的成功将是一项非常有意义的课题,也是本文主要的研究方向。根据过程仿真技术以过程为基础的特点,它是完全可以应用到软件项目管理中的,因此很多研究机构和软件组织都在尝试把过程仿真技术应用到软件项目管理中。其中蒙特卡洛仿真、贝叶斯网络等仿真技术是应用最为广泛的,它们在一些方面确实提高了项目管理的能力,例如蒙特卡洛仿真己经广泛的应用到了项目风险管理和项目投资决策活动中。但是还没有某种单一的仿真技术能够同时有效解决项目管理的计划和监控问题。同时解决项目管理的计划和监控问题是一个系统工程,需要把多种过程仿真技术、过程监控技术等融合到一起,这就需要构建一个开放的过程仿真模型框架,该模型框架中要包含多种和项目目标相关的要素,随着项目的需要可以调整这些要素的内容。例如,如果项目只关注质量,那么模型要素可以只需要质量相关的参数;如果项目既关注质量又关注成本,那么模型要素就需要质量相关的参数和成本项目的参数,并且这些参数之间互相存在关系。因此我们需要尝试构建这样的一个过程仿真模型,找到基本的模型构成要素,并且按照目标驱动度量的方法来扩展模型要素的内容,并把模型实际应用到软件项目管理中解决项目的计划不准确和监控不及时的问题。
    本文将重点研究在软件项目管理领域中如何应用过程仿真技术解决软件项目管理的问题,将通过选择过程仿真技术、创建过程仿真模型构成要素、基于这些要素组建过程仿真模型、在软件项目管理的计划和监控阶段应用过程仿真模型等几个内容展示过程仿真技术对软件项目管理的高价值性。
    本文的研究方法是以软件项目的过程框架为基础,以过程度量为核心,使用统计过程控制技术、线性回归技术、蒙特卡罗仿真技术等统计和仿真技术,并借助简单易用的仿真工具来构建一个过程仿真模型。

 

3 软件项目管理过程仿真的技术选择和模型构建 23-32
    3.1 本章概述 23-24
    3.2 过程仿真技术的选择 24-25
    3.3 过程仿真模型的要素 25-30
        3.3.1 覆盖软件项目生命周期的过程集 26
        3.3.2 过程度量 26-27
        3.3.3 过程性能基线 27-28
        3.3.4 过程性能模型 28-29
        3.3.5 过程仿真模型要素间关系 29-30
    3.4 过程仿真模型的构建 30-31
    3.5 本章小结 31-32
4 软件项目管理过程仿真模型的数据输入和结果分析 32-44
    4.1 本章概述 32
    4.2 计划阶段的输入 32-36
        4.2.1 项目目标 33
        4.2.2 过程数据的分布参数 33-36
    4.3 监控阶段的输入 36
    4.4 计划阶段的仿真结果分析 36-41
        4.4.1 过程选择结果分析 37-38
        4.4.2 目标预测结果分析 38-41
    4.5 监控阶段的仿真结果分析 41-43
        4.5.1 过程监控结果分析 41-42
        4.5.2 项目进展监控结果分析 42-43
    4.6 本章小结 43-44


结论
    通过实际案例的研究,我们发现过程仿真模型在提高软件项目管理水平方面有非常大的作用。它有效地解决了项目预测的问题,能够在项目一开始快速选择配置最佳的项目过程,并且在项目执行过程中能够及早发现项目问题,及时解决问题,使项目按照既定的计划进行,这无疑大大提高了项目成功的概率。综合来说过程仿真模型可以有效提高项目的成功率,增加干系人对项目成功的信心。
    cmmi高成熟度要求组织对过程性能进行定量的理解、建立过程性能基线和模型,并把这些基线和模型应用到项目管理中。在我们研究的案例中,过程仿真模型就是基于对组织过程性能的定量理解,利用过程性能基线和模型构建成的,因此过程仿真模型也有力支持了cmmi高成熟度的实施。


QQ 1429724474 电话 18964107217