软件过程改进与管理

软件过程改进与管理
软件过程改进与管理

软件过程改进与CMMI

第一章绪论

1.1本课题研究的背景

21世纪是信息社会高速发展的世纪,软件作为信息技术的核心,将在其中起着至关重要的作用。随着信息经济、网络经济和科学技术的发展,各行各业已经越来越离不开软件的支持,软件产业的发展,各行各业已经越来越离不开软件的支持,软件产业的发展水平已经成为衡量信息技术发展水平的一个重要因素。

自出现软件危机以来,学术界和企业界对软件工程的研究都倾注了大量的人力、物力和财力,多年来也取得了一些成效。但就全世界而言,软件质量问题仍然非常严重,特别对于军方来说,更是一个致命的问题。正因为如此,美国国防部不惜花费重金,委托美国卡内基梅龙软件工程学院(SEI)研究制定软件质量保证规范。1991年,第一个软件保证规范能力成熟度模型(CMM:Capabiliy Maturity Model)制定完成并在美国应用,随后CMM作为一种软件能力成熟度评估标准在全世界推广实施,主要用于指导软件开发过程改进软件管理能力的提高,从而极大地提高了软件项目的控制能力和软件产品的质量,促进了全世界软件产业的健康发展。

CMM的应用虽然得到了很好的成效,但也存在一些缺陷,能力成熟度模型集成(CMMI:Capability Maturity Model Integration)应运而生,它是在CMM基础之上的发展和完善,2002年SEI正式推出CMMI,2005年开始逐步取代CMM.

从我国软件产业的发展现状来看,企业管理软件过程的能力还比较弱,过程混乱使得新技术、新工具的优势难以体现。究其原因,是因为我国的软件过程管理缺乏规范化和标准化。于是,越来越多的软件企业开始关注软件过程能力的提高,我们把这种用于提高软件过程能力的实践称为软件过程改进。有人将软件过程改进比喻成“练内功”,作为软件企业,只有通过苦练内功,加强软件过程改进,才能够参与到国际化的竞争中去。CMM和CMMI是软件过程改进领域的重要成果,也是适用于软件企业质量管理和过程改进的重要标准。近年来,国内软件企业也兴起了认证热潮,CMM受欢迎的程度远远超过了ISO同类标准。

中央和地方政府也出台了一些优惠政策支持软件企业的CMM认证:国务院出台了《鼓励软件产业和集成电路产业发展若干政策》,第十七条鼓励软件企业出口型企业通过GB/T19000-ISO9000系列质量保证体系认证和CMM认证的软件出口企业,可向外经贸主管部门申请认证费用资助。

本论文正是在这样的背景下,研究分析了软件过程改进的CMM/CMMI理论,并理论联系实际,以某公司为对象,对软件企业基于CMMI的过程改进实践作了更为深入的研究和分析,以期为国内其他软件企业实施软件过程改进、提高软件质量、提高企业管理水平提供思路和借鉴。

第二章软件过程与软件过程改进

2.1软件过程

2.1.1软件过程概念

1993年,过程理念的倡导者Hammer和Campy指出,过去200年来,人们所熟知的面向任务的思维方式正面临着挑战,未来所有的商业运作都将以过程的方式来对待。在软件领域,软件过程理念的领袖Watts Humphery领导并完成了软件过程改进领域的巨大成果CMM,他认为要解决软件危机,首要的是把软件活动看作可控的、可度量的和可改进的过程。

不关注和关注过程的组织有着明显不同的文化。前一种组织里,人们期望活动都能产生出实在的“东西”,比较关注活动的短期效果,认为与过程相关的是一些低优先级的活动;在后一种组织里,认为生产的“东西”只是过程的一个节点,只是全局的一部分,过程文档只被看作一个帮助过程执行的工具,而不是被看做最终的目标。实际上,在以过程为核心的组织里,过程并不是一成不变的经典,它本身会通过反馈、评估等一系列活动不断取得改进。

当然并不是说不关注过程的组织没有过程,只是这些组织的过程可能并不一致、协调,每个人都有自己的过程;过程可能是随机并且在无规则的改进着。对于软件团队而言,具体例子就是成员采用不同的编译规范和开发语言变可以变更任何程序而不考虑他人等。当然这是当前盛行面向客户的小组协作所不期望的。

过程理念还在快速发展,2000年版的ISO9000的一大变化要求以过程为中心描述活动,而CMM的最新版本CMMI已超越软件的行业局限,成为可以适合多种行业的过程改进模型。

2.1.2软件过程定义

由于不同的人和不同的软件开发组织关注点不一样,因此可能会给软件过程下不一样的定义,这些定义往往会强调了过程的某个方面而忽略了其他方面。美国卡耐基梅隆大学软件工程研究所(SEI)在CMM模型中给过程的定义是:“过程就是指用于生产以及软件进化的一系列的活动、方法及实践。”软件过程:就是指将用户需求转化为可执行系统的的开发和演化过程中所进行的软件工程活动的全体,是用于生产软件产品的工具、方法和实践的集合。这可以说是关于过程的经典的、全面的定义,它包含了过程的三个方面的特性(过程定义、过程活动、过程结果):

第一,过程应该被定义。通常情况下,是指将过程所包含的活动及程序文档化(可以采用保存于纸介质上也可以采用电子文档的形式);

第二,执行过程的每一个人都要学习过程的知识。即让每个过程执行者的头脑中都有对过程知识的深刻认识,且以此来驱动他们的行为活动;

第三,通过执行过程中的活动,获得最终预期的过程结果。

该过程定义的三个方面都很重要,它们之间的关系是相辅相成的;

第一,任何过程只有被大家学习、理解并且执行,才能解决实际问题。如果一个过程只停留在定义阶段,那么这个过程只能永远停留在文本阶段。

第二,在过程进行了明确的定义之后,如果过程的参与者接受了关于过程的培训、学习了过程相关的知识,但是却在实践中没有遵循过程,那么该过程也是

没有实际效果的过程。反之,如果参与过程的组织成员都理解了过程的定义,接受了与过程相关的培训,而且在实际的工作中都能按照过程的要求去规范自己的活动,那么该过程就是一个真正的、完整的、有效的过程。

2.2软件过程改进

2.2.1软件过程为什么要改进

提高软件过程能力的实践称为软件过程改进。软件过程改进的根本目的是:提高质量、提高生产率并且降低开发成本。我们可以把软件组织的软件过程与人作比较,人在成长的过程中,存在不同的成熟状态。同样,我们也可以把软件过程分为不成熟的过程、成熟的过程和制度化的过程。

不成熟的软件过程一般具有以下特点:

?过程未被严格的遵循和实施;

?特别依赖于英雄人物,人离开了过程就丢了;

?过程是临时拼凑而成的;

?过程和质量的可见度低;

?质量难于预测;

?功能和质量为了满足进度而妥协。

?成熟的软件过程具有以下特点:

?很好地进行了文档化;

?持续地进行改进;

?正规、严格地使用;

?良好的控制;

?对产品和过程进行了度量;

制度化的过程具有的特点:

?过程成为人们的做事方法,即使最初定义过程的人员离开也不会改变。

从以上的比较可以看出,成熟的过程对于开发出良好的产品显然是有利的,然而,软件组织的过程成熟如同人一样,并不是一生下来就是成熟的,因此需要对软件过程进行改进。软件过程的改进并不是非正式的、随机的改进,不是只改进一次就够了,而是要持续不断地进行改进。这是因为:首先,人们对事物认识需要循序渐进,要经过理论和实践相互作用的循环上升的过程;其次,过程是与人相关的,过程的成熟有赖于人的成熟,而人的成熟是缓慢的;第三,在知识经济时代,企业所处的商业环境已经发生了根本性的变化。顾客需求瞬息万变,技术创新不断加速,产品生命周期不断缩短,市场竞争日趋激烈。

2.2.2软件过程改进的基本思路

软件开发组织的软件过程能力,体现了软件开发组织的实力。这种实力的提高,同样是需要一个逐渐提高的过程。对于软件开发组织的管理人员,软件过程能力的提高同样是一个需求认真策划的复杂过程。

由前面的论述可知,软件过程能力是是指把企业从事软件开发和生产的过程本身透明化、规范化和运行的强制化,描述了在遵循一个软件过程后能够得到的预期结果的界限范围。简单来说,就是指一个过程内在的生产软件产品的能力。该指标是对能力的一种衡量,用它可以预测一个组织在承接下一个软件项目时,所能期望得到的最可能的结果。那么软件过程改进的基本思路就是首先形成一定

的软件过程;然后,对其不断进行调整、优化,使得过程能力不断提高。

目前流行的过程改进模型是IDEAL模型。IDEAL模型以过程改进环的形式表示,如图2-2所示。IDEAL模型将软件过程改进的过程分为五个阶段:初始化、诊断、建立、行动、改进。IDEAL取自五个单词的缩写。通过该模型,我们可以清楚地看到软件过程改进的基本思路与主要流程。

准备阶段为IDEAL模型的起点,主要为软件过程改进提供准备,包括建立初始的过程改进组织结构和基础,制定战术计划和改进目标等。

诊断阶段为组织走上持续软件过程改进循环奠定基础。此阶段的任务是根据企业远景目标和当前的软件过程能力,完善软件过程改进行动计划草案。

建立阶段为当前过程能力中存在的问题划分处理优先等级。制定整体战略行动计划,用于指导软件过程改进的活动;此阶段的任务是制定可度量的目标、定义度量标准、分配必要的资源。

行动阶段的任务是创建、指导、实施行动计划。

改进阶段的任务是通过实践、收集有用数据、完善度量和评价本次软件过程改进过程中使用的策略、方法和架构是否合理、完善。为IDEAL模型的下一次循环奠定良好的基础。

2.3过程改进的方法

软件过程改进是软件过程管理不断改进和不断完善的过程。它是一项综合

并且需要持续开展的活动,它面对的既是软件开发的过程模型,同时也是针对每一个具体软件项目的过程实例。20世纪90年代前后,软件界针对如何进行软件过程管理和改进,提出了各种方案及适用于软件企业的质量标准和过程改进模型。

其中,ISO9001,SPICE,CMM/CMMI使用广泛,具有一定代表性。所以在这里,对这些标准和模型作简要介绍。

2.3.1 ISO9001

ISO9000族标准是目前国际上影响最为深远的质量管理标准。它是国际标准化组织(ISO)于1987年公布的,最初针对制造行业,但现在已经面向更为广阔的领域。ISO9001是ISO9000族中一个重要的质量标准,是一个符合软件开发与维护的标准。它于1994年由ISO公布,明确规定了质量体系的要求。如果软件企业开发方能够达到这些要求,表明它具备了质量保证能力,从而在从产品设计到售后服务的所有阶段,可防止出现不合适格的产品,使用户对产品满意。

ISO9001标准已有了新的版本ISO9001:2000,在2000版本中,标准所重点关注的不是“产品质量”而是“过程质量”。它强调以顾客满意为目的,以过程管理为导向,鼓励组织在建立、实施和改进质量管理体系及提高有效性时,采用过程方法,通过满足顾客要求,增强顾客满意度。它还把94版的20个要素分别归类于管理职责、资源管理、产品实现及测量、分析和改进四大类,构成一种过程方法模式的结构,实现了以过程的连续性替代了20个要素的不连续,符合PDCA循环规则,且通过持续改进的环节使质量管理体系的水平达到螺旋式上升的效应,这使得任何采用标准的组织都能方便地理顺其质量管理体系,而无须花很大气力去识别质量活动与要素的对应关系。

ISO9000-3是软件企业实施ISO9001的指南,它从软件的角度对ISO90001的内容进行具体解释。ISO9001标准规定了20个质量体系要素,而ISO9000-3则对每一个要素进行逐一说明。ISO9000-3叙述了需方和供应方应如何进行有组织的质量保证活动,才能得到较为满意的软件:规定了双方签订开发合同到设计、实现以至维护整个软件生存期中应当实施的质量保证活动,但并没有规定具体的质量管理和质量检验方法和步骤。为使软件产品达到质量要求,ISO9000-3要求软件开发机构建立质量保证体系。首先要求明确供需双方的职责,针对所有可能影响软件质量的各个因素都要采取有力措施,做出如何加强管理和控制的决定。对与质量有关的人员规定其职责和职权,使之责任落实到人,产品质量真正得到控制。

2.3.2 SPICE

20世纪90年代初,ISO/IEC第一联合技术委员会注意到软件过程改进和评估的重要性以及由于缺乏统一的国际标准给软件产业造成的困境,于1993年设立第十工作组,发起了制定ISO/IEC15504系列标准的前期工作。项目名称是“软件过程改进和能力测定”,简称SPICE。项目旨在协调制定一系列软件过程标准。1998年出版了ISO/IECTR15504《信息技术软件过程评估》,它规定了软件过程评估的框架,供从事软件策划、检验、控制以及软件改进软件的获得、提供、开发、运行、进化及支持的组织所使用。

SPICE面向的评价对象也是软件企业,其目标是通过对企业的软件过程的评价达到两个目的:其一,确定被评价企业的软件过程能力;其二,对被评价的软件过程加以改进。

为了实现上述目的,人们要求该标准提供国际公用的过程评估模型,使大家能够通过过程评估进行过程改进和能力评定有共同的理解,并且便于使用和管理:使基于互有差异但相容的具体过程评估模型和方法得到的评估结果在某种程

度上可以比较。

ISO/IEC TR 15504标准包含9个组成部分,包括:概念和介绍性指南、过程和过程能力的参考模型、实施评估、实施和指标指南、过程评估模型、评估员资格指南、用于过程改进指南、词汇

第三章软件过程改进模型分析

实施软件过程改进,第一步是要选择一个合适的过程改进模型。目前,较多采用的软件过程改进模型有CMM、ISO9000-3、ISO/IEC15504、SPICE以及CMMI 等。本次我们选定CMMI作为本次工作的指导模型,本章将简要介绍CMMI以及CMMI所涉及的度量分析。

3.1CMMI模型概述

3.1.1CMMI的发展概况

在20世纪70到80年代,软件工程的研究重点是需求分析、设计、编程、测试、维护等领域的方法技术和工具,我们称之为经典软件工程。从20世纪90年代至今,人们逐渐意识到,由于软件组织管理软件过程的能力比较弱,常常导致项目处于混乱状态,使得新技术、新工具的优势难以体现,经典的软件工程已明显不够用。因此,软件过程改进成为软件工程学科的一个主要研究方向。软件过程技术为开发人员提供一个标准的无歧义的软件开发规范,使得软件开发生产率得以提高。

CMMI模型是CMM模型的替代模型,1998年美国卡内基-梅陇大学软件工程研究所(SEI)启动的CMMI计划,目的在于用一个统一的框架协调和集成SEI已经存在的各种模型。CMMI模型目前已经成为业界主要的过程管理模型。CMMI被看作是把各种CMM集成为一个系列的模型中,以更加系统和一致的框架来指导组织改善软件过程,提高产品和服务的开发、获取和维护能力,同时为企业评审自己的过程提供了可参照的行业基准。2000年CMM演化成CMMI,CMM2.0成为CMMI1.0的主要组成部分。

3.1.2 CMMI的基本内容

CMMI是一套融合多学科的、可扩充的产品集合,其研制的初步动机是为了利用两个或者多个单一学科模型实现一个组织的集成化过程改进。从长期考虑,CMMI产品开发群组建立了一个自动的、可扩充的框架,以便于以后将其他一些学科的过程改进模型也逐步添加到CMMI产品集中。总的来说,以便于以后将其他一些学科的过程改进模型也逐步添加到CMMI产品集中。总的来说,CMMI集成达到了两个目的:一是提炼出了学科之间的一些公共过程域,另一方面就是减少了过程域的总数量。

①CMMI模型系列

现在业界使用的CMMI最新模型是2002年发布的1.1版本系列,它们是CMMI-SE/SW/IPPD/SS、CMMI=SE/SW/IPPD、CMMI-SE/SW、CMMI-SW.由于CMMI是可扩充的产品集合,因此今后可能还会有新的学科模型出现。这也正好说明了CMMI 模型生命力的强大。

CMMI-SW是软件工程能力模型集成,该模型中对于软件开发过程中需求的建

立、项目计划的制定和实施,以及对软件的测试等过程都有详尽的描。CMMI-SE/SW,是系统工程和软件工程能力模型集成,该模型中对于四通八达工程和软件开发过程中需求的建立、项目计划的制定和实施,以及对软件的测试等过程都有详尽的描述。CMMI-SE/SW/IPPD是系统工程,软件工程,集成化产品和过程开发能力模型的集成,该模型为在项目开发中需要使用交叉学科群组,需要解决对项目群组的使用、计划和组织,需要解决学科或组之间的沟通以及与集成化产品和过程开发能力模型相关的集成,该模型为在项目开发中需要使用交叉学科群组,需要解决对项目群组的使用、计划和组织,需要解决学科或组之间的沟通以及与集成化产品和过程开发相关的一些问题提供了解决方案模型。CMMI-SE/SW/IPPD/SS是系统工程,软件工程,集成化产品和过程开发,供应商管理能力模型集成,该模型中对于供应商的选择和监督,集成化供应商管理以及供应商定量管理等方面给出了详尽描述。

在上述4个CMMI模型中,它们之间是有关系的。CMMI-SE/SW是CMMI-SW

的扩充,CMMI-SE/SW/IPPD的扩充。

②CMMI模型的过程域

CMMI模型中,最基本的概念是“过程域”。与以前的一些过程改进模型一样,CMMI模型也只是选择对过程改进最重要的一些题目,并将其编组到“域”中。

在CMMI中,CMMI-SW共有22个过程域,CMMI-SE/SW共有22个过程域,CMMI-SE/SW /IPPD共有24个过程域,CMMI-SE/SW/SS共有25个过程域。

CMMI-SW和CMMI-SE/SW的过程域数量和名称均相同,仅在某些过程域中所提供信息材料有所不同。CMMI-SE/SW/IPPD比CMMI-SE/SW增加了2个过程域,并扩充了CMMI-SE/SW的一个过程域,所以CMMI-SE/SW/IPPD共有24个过程域。CMMI-SE/SW/IPPD/SS比CMMI-SE/SW/IPPD增加了一个过程域,所以

CMMI-SE/SW/IPPD/SS共有25个过程域。

3.2 CMMI的表示方法

CMMI是以过程域PA为纲,以特定目标SG、特定实践SP、共性目标GG、共性实践GP为目,分阶段式模型和连续式模型两种方式来定义的。在CMMI模型中,软件能力成熟度模型(SW-CMM)是“阶段式”模型,系统工程能力模型(SE-CMM)是连续式模型,而集成化产品开发(IPD-CMM)是“混合”模型,组合了连续式表示和阶段式表示的特点。

3.2.1CMMI的阶段式表示

1、模型部件结构

在阶段式表示中,过程域的组织方式是成熟度等级,其中每个过程域包含共性目标和特定目标,以及共性实践和特定实践。成熟度等级提供了组织范围内改进过程的阶段性实现“路标”,总共包含5个成熟度等级,分别是初始级、已管理级、已定义级、定量管理和优化级。图3-1描述了CMMI阶段式模型的内部结构。

2、成熟度等级

本表示法集中于组织可以用于改进过程的最佳实践。在开始使用CMMI模型来改进过程之前,你必须首先把自己的过程映射到相应的CMMI过程域。通过跟踪与CMMI模型的对应关系,这种映射使得你可以控制组织的过程改进。但是,不要求每个CMMI过程域都逐一映射到组织过程。

成熟度等级提供了在特定学科或者学科集合中预测组织未来性能的手段,是使组织成为成熟组织定义良好的改进路径。阶段式成熟的每个等级都是相互依赖的,上层包含下层的目标和实践。每个等级是连续的,不存在隔阂,进行连续过程改进的组织不能跨级进行,也就是说,不能不经过成熟度等级2直接跳到成熟度等级3,这样就给组织进行过程化改进提供了“路标”。图3-2是阶段式成熟度等级的结构图。

3、成熟度等级和过程域

下表3-1是每个成熟度等级所包含的过程域。

熟读等级包含固定数量和名称的过程域,而过程域只属于特定成熟度等级,而同一个过程域不能在多个成熟度等级中重复出现。

3.2.2CMMI的连续式表示

1、模型部件结构

连续式表示使用6个能力等级、能力剖面、目标等级和等价等级作为模型部件的组织原则。连续式表示根据亲和关系对过程域进行分组,并指定每个过程域中过程改进的能力等级。能力剖面确定过程的路径,说明每个过程域的改进变化。等价等级可以把过程域的能力等级与阶段式表示的成熟度联系起来。图2.3描述了CMMI连续式模型的内部结构。

由图可以了解到,特定目标组织特定实践,共性目标组织共性实践。每个特定实践和共性实践对应一个能力等级。特定目标和特定目标实践应用于单个过程域。

2、能力等级

能力等级有6个,编号从0到5,分别是完成级、已执行级、已管理级、已定义级、定量管理级和优化级。能力等级由能够改进组织过程的过程域的相关特定实践和共性实践组成。能力等级用适用于一个过程域的特定目标和共性目标的实现程度来度量。图3-4是CMMI连续式表示的能力等级(CL)的顺序图。

3、过程域能力剖面

在连续式表示中,能力等级剖面是过程域及其对于能力等级的列表。该剖

面是组织根据过程与跟踪其能力等级的方式。当与能力等级结合,且该剖面表示每个过程域的组织成就时,过程域能力剖面是成绩剖面。同样,当该剖面代表组织的过程改进目标时,过程域能力剖面是目标剖面。当目标与剖面比较时,成绩剖面使你不仅可以跟踪组织的过程改进进度,而且可以验证组织的管理成绩。

过程能力剖面可以表示成两维的点集,其中两维分别是过程维和能力维,如图3-5所示。

其中过程维描述了组织实施了哪些过程域。能力维描述了实施某过程的程度。(称作能力等级)。

第四章总结

全世界软件需求的飞速发展使得软件开发活动急剧增长。为了在日益激烈的竞争中处于有利位置,软件组织都在努力提高软件产品的质量和开发效率。提高质量和效率最行之有效的方法是不断改进组织的过程能力。于是,软件过程改进相应地成为人们关注的焦点。

本文从了解国内外研究动态出发,查阅了大量相关方面的文献资料,结合现有研究成果,并在充分考虑了国内软件企业的实际情况的基础上,提出了一种基于CMMI的软件过程改进实施模型。该实施模型由前期准备阶段和过程改进循环两部分组成。在前期准备阶段,强调高层管理者的支持、强调建立支持软件过程改进的组织机构和技术架构、强调教育和培训以及思想观念的转变。在过程改进循环中强调以当前软件企业的实际情况为基础进行过程改进,强调循序渐进、小步快进、持续改进,强调内部评估的作用,强调先试点后推广。

CMMI是目前国际上最流行、最实用的软件过程改进标准,它的目的是帮助

软件企业对软件工程过程进行管理和改进,增强开发与改进能力,从而能按时地、不超预算地开发高质量的软件。本文通过介绍CMMI的基本内容以及CMMI的表示方法以及CMMI过程的实践分析,作者认为中国的软件企业实施基于CMMI的过程改进能够有效地提高软件过程能力,改善软件质量水平。

参考文献

[1]邢敏.中小软件企业基于CMMI的软件过程改进研究[D].西北工业大学,2007.

[2]朱卫平.基于CMMI的国内中小型软件企业软件过程改进研究[D].中南大学,2006.

[3]罗军.基于CMMI软件过程改进度量模型研究与应用[D].广东工业大学,2014.

[4]黄晓波.基于CMMI的软件过程改进的研究[D].暨南大学,2007.

[5]王云鹏.基于CMMI软件过程改进的过程度量模型研究[D].大连海事大学,2008.

[6]沈云凌.基于敏捷与CMMI的安全关键软件过程管理应用研究[D].电子科技大学,2013.

[7]周伟良.软件开发过程质量与产品质量度量方法研究[D].合肥工业大学,2012.

[8]陈湘静.基于CMMI的过程改进实践与分析[D].南京理工大学,2005.

[9]张秀娟.基于CMMI的软件过程改进实施模型研究[D].山东大学,2006.

[10]郭英君.基于CMMI的软件过程质量度量的研究[D].重庆大学,2009.

[11]刘健.基于CMMI的软件过程改进及风险管理研究[D].黑龙江大学,2009.

[12]梁君霞.基于CMM的软件过程改进研究与配置管理实施[D].武汉大学,2004.

[13]周金陵,张鹏.基于CMMI的软件过程改进研究[J].计算机工程与设计,2003,11:60-62.

[14]黄旭阳.基于CMMI的嵌入式软件过程改进模型的研究与应用[D].中山大学,2011.

[15]方媛.基于CMMI的软件过程改进研究[J].计算机光盘软件与应用,2014,09:59-60.

[16]彭纯军.我国中小软件企业基于CMM/CMMI的软件过程管理研究[D].暨南大学,2005.

[17]吕松涛.基于CMM的软件项目管理模型研究[D].哈尔滨工程大学,2009.

[18]邓普德.基于CMMI的SF公司软件开发过程管理改进研究[D].电子科技大学,2008.

[19]王云鹏.基于CMMI软件过程改进的过程度量模型研究[D].大连海事大学,2008.

[20]刘晓龙.基于CMMI的软件敏捷开发研究[D].长春理工大学,2013.

[21]罗军.基于CMMI软件过程改进度量模型研究与应用[D].广东工业大学,2014.

[22]于海.基于CMMI的软件度量过程的研究与应用[D].天津大学,2006.

[23]邢敏.中小软件企业基于CMMI的软件过程改进研究[D].西北工业大学,2007.

[24]王常锐.基于PSM的CMMI软件过程度量环境的研究及工具实现[D].合肥工业大学,2007.

[25]万邦睿.基于CMMI的软件测试过程度量研究[D].西南大学,2007.

[26]朱卫平.基于CMMI的国内中小型软件企业软件过程改进研究[D].中南大学,2006.

[28]吴洪丽.支持软件过程改进的软件过程度量研究[D].重庆大学,2004.

[29]杨彬.基于CMMI软件过程改进的度量及支持环境研究[D].合肥工业大学,2005.

[30]甘晓龙.基于CMMI的中小软件企业软件过程改进研究[D].西南交通大学,2006.

[31]李斌.CMMI软件过程的低成本化研究与实践[D].电子科技大学,2006.

[32]张秀娟.基于CMMI的软件过程改进实施模型研究[D].山东大学,2006.

[33]周伟良.软件开发过程质量与产品质量度量方法研究[D].合肥工业大学,2012.

[34]王海波.基于度量的软件过程改进的研究[D].重庆大学,2008.

[35]何小丽.面向中小企业的CMMI研究及其实施[D].电子科技大学,2008.

[36]刘健.基于CMMI的软件过程改进及风险管理研究[D].黑龙江大学,2009.

[37]周金陵,张鹏.基于CMMI的软件过程改进研究[J].计算机工程与设计,2003,11:60-62.

软件过程管理习题上课讲义

软件过程管理习题

1.阅读全部的CMM内容,选择出你认为最有价值的十条关键实践,并说明理由。 (1)项目软件负责人,设计/编程/测试人员、软件版本管理员均已得到相应的培训,具备了完成其职责所需要的知识和技能。 理由:通过培训,工作人员具有了一定的知识储备,遇到困难能够很快找到相应的解决措施,就可以很快上手,不至于在一个问题上耽误太多时间。因此,为了达到统一的科学技术规范、标准化作业,通过目标规划设定、知识和信息传递、技能熟练而进行培训是十分必要的,这样能减少所需工作时间,提高成员的开发能力和创新能力,从而降低人力成本;减少浪费,从而降低了开发成本。因此,参加培训是十分必须的。 (2)根据项目要求,建立软件有关组(例如工程组、软件测试组等)。 理由:通过建立相关组,各组可以各施其职,同步工作,提高工作效率。因为软件开发时不可能一个人兼顾所有的方面,应该分成几个模块,只做好自己的然后和其他组协调就可以。如专人负责技术方案设计,专人负责数据,专人做技术层面的指导等。这样权责分明,遇到问题能够很快找到相应的负责组,解决问题的时间也将大大减少。 (3)确定设计、编程、测试人员,并实施三分离。 理由:实现了三分离可以更加开阔人员的思维,防止由于思路固定而不能及时发现问题,更有助于激发员工的创新思维,使软件更先进,更经得起考验。。 (4)根据项目软件的质量需要确定本项目所采用的软件开发方法。 理由:确定好软件开发所采用的开发方法,就能尽早的做下步计划,不至于到最后为选择开发方法而浪费太多时间。目前已形成了八类软件开发方法,开发时是选择面向数据结构的开发方法还是面向对象的开发方法,直接会影响到小组的开发进度。要根据成员的擅长情况制定方法。 (5)软件版本管理员,以及设计、编程、测试人员的职责明确。 理由: 权责分明,遇到问题追究到人,会使项目开发更有计划。完善制度,将责任明确到人,这样才能明确目标,将工作细化,使成员做好自己的工作,认识到重要性,使开发过程能高效的进行。

业务流程管理中建模方法比较研究

业务流程管理中建模方法比较研究 在当今经济迅速发展的时代,企业需要面对瞬息万变的市场,重新梳理自 己的业务流程。造就卓越的流程,凝练出自己的核心竞争力,于是出现了业务 流程管理热潮。 业务流程再造/重组(business process reengineering,BPR)理论由迈克尔·哈默首先于1990年提出以来受到广为关注。BPR的实质是对业务流程的一种系统变革,其根本目标就是要对被专业分工和官僚体制分割得支离破碎的流 程进行重新设计和再造。由于BPR项目实施的成功率较低,据统计70%的BPR项目五年后均归于失败,所以人们把目光渐渐转向业务流程管理,它更强调循环的、可持续的方法论,更包含了BPR的思想。 1业务流程管理的概念 流程管理(process management),是一种以规范化的构造端到端的卓越 业务流程为中心,以持续的提高组织业务绩效为目的的系统化方法。 流程管理的核心是流程,流程管理的本质就是构造卓越的业务流程。流程管理首先保证了流程是厩向客户的流程,流程中的活动都应该是增值的活动,从而保证了流程中的每个活动都是经过深思熟虑后的结果,且活动之间相互配合。 与BPR的定义相似,流程管理的定义也包含了几个关键词:规范化、流程、持续性和系统化。可以看出,流程管理将原来BPR定义中的彻底性、根本性融

进了规范化、系统化中,指出不一定全是彻底的重新设计业务流程,而是应该规范的对流程进行设计,需要进行重新设计的就进行重新设计,不需要的就进行改进。 要想进行业务流程管理,企业需要对流程的描述、分析、再设计及优化等进行研究,而解决这些问题的前提之一就是对流程进行建模,从而对流程有清晰的理解,为以后的分析和优化工作提供很好的帮助。现在实践中存在的对于流程分析和建模的方法体系不健全,分析工具使用的不得力,或者选择不得体,这些都是业务流程管理实施的障碍。因此,本文从业务流程建模方法出发,对几种常用的建模方法先进行简单介绍后,选择3种经典的方法对其进行着重分析,最后综合比较几种常用建模方法,力求推进业务流程管理更好地实施。 2业务流程建模方法概述 企业利用业务流程建模思想,用图形化的语言来描述业务过程,通过建立图形化的业务流程模型,使企业各层次的人员都能够很清楚的了解企业的业务流程,使他们能参与到业务过程变革中,为变革提出自己的想法。 业务流程模型的主要目的是建立结构化模型元素及规范,使其能够对复杂的流程结构与关系予以抽象表达,并通过所建模型使读者可对业务流程达成一致的理解。目前常用于流程管理的建模方法有:①流程图建模法(process map modeling)是一种传统的流程表达方式,它经过扩展后可以显示流程各环节的部门属性及性能。该方法优点在于可理解性好,但同时存在不确定性太大,无法清楚界定流程界限等缺点,特别是流程图中的输入、输出不能模型化,所以可能失去关于流程的细节信息。②角色行为图(roleactivitty diagram,RAD)方法的原型是由美国学者Holt等提出的,用以表述协同工作中存在的问题。

项目管理软件在实战中的应用论文

项目管理软件论文 项目管理软件在实战中的应用

摘要: 项目管理软件的实质就是软件项目计划的编制和软件项目计划的跟踪控制,这里计划是项目成功实施的指南和跟踪控制依据,而跟踪控制又保证项目计划的成功执行。本文以实力具体分析在软件开发过程中如何进行软件项目管理。 关键词:软件项目管理

前言 随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。 从概念上讲,软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理的活动。实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人开发能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋向于成熟,企业越能够稳定发展(即减小开发风险)。 在软件项目中有两条非常重要的线索,一条是软件项目开发过程,另外一条是软件项目管理过程。通常,人们容易注意软件项目开发过程,而忽略软件项目管理过程的线索。事实上,后者很重要,有时其重要性甚至超过项目开发过程。项目管理可以让一个项目获得高额的盈利也可以让一个项目损失惨重,而编码的影响力则相对小一些、。现实中由于出色的项目管理,将已经亏损很严重的项目又重新扭亏为盈的例子并不少见。 项目管理在生活中的例子很多。例如进行一次商品采购,你会在一张纸上记录所有需要购买的东西(即采购清单),这个采购清单帮助你不要遗漏采购项,你可以采用“完成一个采购项,在采购清单上打一个勾”的方法协助你完成采购。与此类似,软件项目管理也是如何管理好软件项目的内容、花费的时间(进度)以及花费的代价(规模成本)。为此需要制定一个好的项目计划,然后控制好这个计划。编制软件项目计划、跟踪控制软件项目计划这就是软件项目管理的实质。其中,计划是项目成功实施的指南和跟踪控制的依据,而跟踪控制是项目计划成功执行的保证。

软件项目管理与案例分析 期末复习题

《软件项目管理与案例分析》复习题 一选择题 1. 核心计划过程有明确的依赖关系,在大多数项目中要以同样的顺序必须完成。下列哪一项符合核心计划过程的正确顺序:. A. 范围规划--范围定义--活动排序--活动工期估计 B. 范围定义--范围规划--活动定义--活动排序--活动工期估计 C. 范围规划--范围定义--活动排序--活动定义--活动工期估计 D. 活动工期估计--范围规划--范围定义--活动定义--活动排序 参考答案:A 2. PERT和CPM的主要区别在于PERT: A.在计算进度时使用分布的均值(预期值) B.使用最可能估算计算浮动时间 C.侧重计算浮动时间来确定那些活动的进度没有灵活性 D.在图中包括了回路或条件分支活动 参考答案:A 3.由于你的项目的范围发生变更,因此成本基线也发生变更。你的下一步将是: A.估计范围变更的程度 B.更新预算 C.记录获得的经验 D.执行得到批准的范围变更 参考答案:D

4. 以下哪项不属于合同管理的部分? A.评估风险 B.确认已经送出建议书 C.确认已经进行了合同变更 D.回答潜在卖方的问题 参考答案:D 5. 你负责对项目进行成本估计工作。因为要求成本估计尽可能精确,所以你决定做出保守的估计。你的第一步工作是: A、确定一种计算机工具帮助进行估计成本 B、利用以前的项目成本估计 C、确定并估计项目的每项工作的成本 D、咨询各方面的专家,并在他们的建议的基础上进行成本估计 参考答案:C 6. 项目整体管理是指? A.复杂系统的软件集成管理 B.将系统开发过程的管理和项目管理结合起来 C.将系统的主机平台.网络平台.应用软件开发和系统环境建设作为一个整体来进行项目管 理 D.包括在项目生命周期中协调所有其它项目管理知识领域所涉及的过程 参考答案:B 7. 涉及多领域工作的复杂项目最好由下列哪种组织形式管理: A.项目型 B.职能型

软件过程与管理

软件工程是①将系统性的、规范化的、可定量的方法应用于软件的开发、运行和维护,即工 程化应用到软件上;②对①中所述方法的研究。 软件工程以关注软件质量为目标,包括过程、方法和工具三个要素。 过程:支持软件生命周期的所有活动。 方法:为软件开发过程提供“如何做”的技术。 工具:为软件开发方法提供自动或半自动的软件支撑环境。 软件产品目标的三要素: 时间成本 软件工程:用工程化的思想来管理软件开发 软件过程管理是软件工程的方法之一 软件过程管理的思想:产品的质量取决于过程的质量,采用规范化的软件开发过程。 软件过程是用于软件开发及维护的一系列活动、方法及实践。 管理过程:分项目管理、质量管理、风险管理、子合同管理 工程过程是软件系统、产品的定义、设计、实现以及维护的过程。

开发过程:定义并开发软件产品的活动过程,包括需求分析、软件设计和编程等。 运行过程:在规定的环境中为其用户提供运行计算机系统服务的活动过程。 维护过程:提供维护软件产品服务的活动过程,也就是通过软件的修改、变更,使软件系统保持合适的运行状态,这一过程包括软件产品的移植和退役。 支持过程:文档编制、配置管理、质量保证、验证、确认、联合评审、审核、问题解决 管理过程是在整个软件生命周期中为工程过程、支持过程和客户-供应商过程的实践活动提供指导、跟踪和监控的过程。 项目管理过程是计划、跟踪和协调项目执行及生产所需资源的管理过程。项目管理过程的活动,包括软件基本过程的范围确定、策划、执行和控制、评审和评价等。 主要关注:时间和成本 质量管理过程是对项目产品和服务的质量加以管理,从而获得最大的客户满意度。此过程包括在项目以及组织层次上建立对产品和过程质量管理的关注。 主要关注:质量 风险管理过程,在整个项目的生命周期中对风险不断的识别、诊断和分析,回避风险、降低风险或消除风险,并在项目以及组织层次上建立有效的风险管理机制。 子合同商管理过程,选择合格的子合同商并对其进行管理的过程。 组织过程: 业务规划过程是为组织与项目成员提供对愿景的描述以及企业文化的介绍,从而使项目成员能更有效地工作。 定义过程是建立一个可重复使用的过程定义库,从而对其它过程等提供指导、约束和支持。 改进过程是为了满足业务变化的需要,提高过程的效率与有效性,而对软件过程进行持续的评估、度量、控制和改善的过程。 人力资源和培训过程,为项目或其它组织过程提供培训合格的人员所需的活动。 基础设施过程是建立生存周期过程基础结构、为其他过程建立和维护所需基础设施的过程。 客户-供应商过程是内部直接影响到客户、外部直接影响开发、向客户交付软件以及软件正确操作与使用的过程,包括软件获得、客户需求管理、提供软件、操作软件以及提供客户服务等5个子过程。 软件过程管理:借鉴传统行业的管理方法对软件开发中的过程进行管理。 PDCA循环(戴明环) 过程优化和改进的过程

IT项目管理论文

题目论IT项目管理的必要性学号 院系 专业

二O一三年十二月九日 前言 管理一个项目与导演一部电影、执教一支职业棒球队或者乘坐航天飞机围绕地球飞行没有什么不同。对于项目管理而言,你会和导演、教练或宇航员一样感到刺激与激动。IT项目管理在有些人的眼里就像激流搏浪一般令人振奋不已,再临个矮一些人眼里却好像一潭死水一样让人苦闷。人人都在谈论项目管理,但是它究竟是什么呢?在一些组织中,任何需要人员去管理的任务和工作都被认为是项目管理。这是错误的看法!项目管理是指为了达到一个特定的目标而对一列有时间顺序的任务进行管理的能力。其中一些任务必须在其他任务完成之后才能完成,而另外一些任务能够并行完成。一些任务需要个人能力,而另一些工作则需要每个人的参与来减轻负担。技术上讲,项目是为了创造一个惟一的产品或提供一个惟一的服务而进行的一个临时性的努力。项目是超出常规运作的一项事业。假设一个公司在为其他组织开发客户应用,运作是项目进行的一系列活动,完成项目的企业是执行组织。介绍完项目管理的一些基本知识,下面让我们通过一些实例来更好的了解项目管理的实质,以及IT项目管理的必要性。 正文 项目在开始前首先需要确定的是项目的需求。项目的相关人员需要进行需求分析,项目的相关人员包括部门经理、客户、总监、最终用户或者是对项目有掌控权的其他人,当然这是对于大多数的项目而言的。根据这些关键项目相关人员提供的材料,尤其项目的需求,项目的限制条件,项目的时间、成本目标,项目经理收集、整理需求,建立项目计划,并确定项目提交产品。例如,我在假期参与的北京邮电大学软件学院实验室的关于云计算相关的项目,我们的小组需要完成的对Android手机系统的联系人备份恢复服务。需求分析的结

软件项目管理考试试题库及答案

第零章-软件项目管理概述 一.选择 1. 以下哪一项最能表现某个项目的特征(C) A. 运用进度计划技巧 B. 整合范围与成本 C. 确定期限 D. 利用网络进行跟踪 2. 项目管理需要在相互间有冲突的要求中寻找平衡,除了:(A) A. 甲方和乙方的利益 B. 范围,时间,成本,质量 C. 有不同需求和期望的项目干系人 D. 明确的和未明确表达的需求 3. 以下都是日常运作和项目的共同之处,除了:(D) A. 由人来作 B. 受制于有限的资源 C. 需要规划、执行和控制 D. 都是重复性工作 4. 有效的项目管理要求项目管理团队理解和利用以下专业知识领域的知识和技能,除了:(C) A. 项目管理知识体系 B. 应用领域知识、标准与规章制度 C. 以项目为手段对日常运作进行管理 D. 处理人际关系技能 5. 下列都是子项目的正确说法,除了:(D) A. 划分子项目的目的是为了便于管理 B. 子项目的划分便于发包给其他单位 C. 项目生命期的一个阶段是子项目 D. 子项目不能再往下划分成更小的子项目 6. 管理一个项目包括以下内容,除了:(D) A. 识别要求 B. 确定清楚而又能实现的目标 C. 权衡质量、范围、时间和费用的要求 D. 制定符合项目经理期望的计划和说明书 7. ( C) 是为创造一种产品、服务或者结果而进行的临时性的努力 A. 项目群 B. 过程 C. 项目 D. 组合 8. 下列(D )不属于项目管理的特征 A. 独特性 B. 通过渐进性协助实施的 C. 拥有主要顾客或项目发起人 D. 具有很小的确定性 9. 下列( C)不属于项目管理的三维约束 A. 达到范围目标 B. 达到时间目标 C. 达到沟通目标 D. 达到成本目标 10. ( A)就是将知识、技能、工具和技术应用到项目活动,以达到组织的要求 A. 项目管理 B. 项目组管理 C. 项目组合管理 D. 需求管理 11. 为相同的功能组合而实施的一系列应用开发项目,作为(B )的一部分,后者能够得到更好的管理。 A. 组合 B. 项目群 C. 投资 D. 合作 12. PMI提供的认证项目叫做(B ) A. Microsoft Certified Project Manager B. Project Management Professional C. Project Management Expert D. Project Management Menter 二.填空 1. 项目目标成功实现的制约因素有:(项目范围),成本,进度计划,客户满意度。 2. 项目管理? 答:项目管理是一系列的伴随着项目的进行而进行的、目的是为了确保项目能够达到期望的结果的一系列管理行为。 3. 项目管理的五要素:(技术),方法,团队建设,信息,沟通。 4. 项目群与项目、项目与子项目的关系是什么? 答:项目群也称为大型项目,是通过协调来进行统一管理的一组相互联系的项目,它本身可 能不是项目。子项目是将项目分解为更小单位。 5. 软件项目管理分为(项目初始),项目计划,项目执行控制,项目结束。 6. 对于一个组织的管理而言,主要包括战略管理,运作管理,(项目管理) 三.判断 1. “上课”这项活动是项目(x)

最新软件工程与项目管理 作业五资料

软件工程与项目管理作业五 1.解释以下概念并通过一个例子加以说明: 对象;类;继承;多态性 对象是客观世界中事物的抽象表示;是其属性(状态、数据)和相关操作(行为、方法或服务)的封装体;对象之间靠消息传递相互作用。例如汽车、一个圆、等类是对具有相同属性和相同操作的一组相似对象的抽象描述。例如:学生类的属性:学号、姓名、专业、班级、电话、…… 继承是子类自动地共享基类(已有类)中定义的数据和操作的机制。例如:汽车、船都是交通工具类的子类,它们都可以继承交通工具类的属性和操作。 多态性是在一个类层次中,不同对象对相同消息做出不同的响应。例如:成员函数的重载, 2.为什么面向对象方法要从多个侧面(对象模型、动态模型、功能模型)建立系统模型? 这三种模型都涉及数据、控制、操作等共同的概念,只不过每种模型描述的侧重点 不同。这3中模型从三个不同但又密切相关的角度模拟目标系统,它们各自从不同侧面反映了系统的实质性内容:它使用的数据结构(对象模型),执行操作(动态模型),并且完成数据值的变化(功能模型)。 对任何大型系统来说,这3中模型都是必不可少的。在不同的应用问题中,相对的 重要程度也有所不同。但是在任何情况下,对象模型始终是最重要、最基本、最核心的。 三种模型是有区别的,各自的侧重点也不同 (1)功能模型指明了系统应该“做什么”; (2)动态模型明确规定了什么时候(即何种状态下接受什么事件的触发)做; (3)对象模型则定义了做事情的实体。是最基本最核心的模型。 3.建立符合下列陈述的对象模型 某图书馆有许多名职员为之工作,职员又进一步划分为馆长和管理员两类;馆长可对图书借阅工作进行管理,每名管理员可管理多本图书,每本图书可由多名管理员管理;图书拥有许多读者,借书证号惟一地确定一个读者;读者又可分为教师和学生两类,每名教师或学生可以借阅数本图书,每一种图书可供多名教师或学生借阅。

2020年软件项目管理论文

2020年软件项目管理论文 1项目背景及要求 基本要求:1.设计严谨、功能完备。2.系统自动交卷、自动判卷,保证成绩真实、准确。3.界面美观大方。 该系统计划研制时间为2017年4月1日到2017年4月30日。 2项目开发内容 1.考生在线考试模块 2.教师管理模块 教师根据登录账号和密码进行登录后,首先选择一个题库作为考试组卷的依据:然后根据考试科目的考试要求设置组卷参数并保存,考生在考试时,将按照该组卷参数从题库中随机抽取试题组成试卷 进行考试;考试结束后,保存考生考试结果,系统会自动评卷得出成绩,教师还可以通过人工阅卷接口对系统自动评卷的结果进行检查,最终得出考生的成绩并保存;教师可以通过信息查询模块查询、下载 考生的成绩,还可以通过成绩管理模块对成绩进行分析和对比。 3.管理员模块 管理员可以对整个学校年级信息进行操作,包括年级信息的录入、每个年级课程的录入、还可以对每条年级信息进行修改,以及对学 生信息进行录入和操作。在“学生信息”这一项中,逐一输入每个 学生的姓名、学号、年级等信息,这时系统就会根据学生的年级, 从库中取出这个年级所有的科目信息,在登录权限表中生成一条记录,记录着这个学生每一门科目考试是否已经登录过和提交过的信息,作为判别学生是否已经参加过此门考试的依据,管理员可以通 过“学生权限查看”这一项,查询每个学生的信息,如果学生信息 不正确,可以修改学生的信息。此外,管理员可以对教师信息进行 录入和操作。在“教师信息”这一项中,输入教师的名字和号码, 系统会将输入的数据保存在数据库的教师表里。

3系统目标及系统描述 3.1系统目标 (1)提高教师工作效率和减轻教师工作量。 (2)具有严肃性和公正性,系统自动交卷。 (3)系统自动阅卷加上人工阅卷,保证成绩真实、准确。 (4)考生可随时查看考试成绩。 (5)对考生、教师信息进行管理。 3.2在线考试系统主框架及系统描述 3.2.1系统总体结构 (1)网络结构 (2)系统平台 (3)软件结构 3.2.2功能描述 1.考生信息管理:学号、学生姓名、密码、所属专业、班级。考生不需要注册直接登录本系统,其操作权限仅为参加考试和查询考 试成绩。不允许两台或两台以上计算机用同一用户ID同时登陆; 2.科目信息管理:管理员对考试科目的增加、删除和修改操作。 3.试题信息管理:教师可以对各科目的各种类型的试题进行添加、编辑修改、删除和查询等操作。添加考试题目信息时,需要选择所 属的专业、科目,然后再进行添加。 4.试卷信息管理 (1)试题录入,首先教师选择试题所属科目。若没有该科目,则可以新增加一个。添加的科目基本信息有科目名称、题型、题量和考 试总时间等,对于用户输入的不符合系统要求的数据,系统仍旧给出 提示或警告。返回、刷新一次页面,即可看到新增的科目名称。而且,

软件项目管理期末试卷

软件项目管理期末试卷集团标准化工作小组 #Q8QGGQT-GX8G08Q8-GNQGJ8-

四川理工学院成都新华学院期末考试题 一、单项选择题。(本大题共20小题,每小题1分,共20分) 1、下列选项中不属于软件工程活动的是()。 A、设计 B、实现 C、支持 D、管理过程 2、下列选项中不属于软件工程活动问题定义阶段任务特点的是()。 A、确切定义问题的必要性 B、用数据流图分析问题 C、澄清含糊不清的问题 D、得出问题定义书面报告 3、下列选项中不属于软件工程活动可行性研究内容的是()。 A、问题是否有解决方法 B、选择问题解决方案 C、分析项目成本 D、分析项目效益 4、下列关于软件工程活动需求分析说法错误的是()。 A、分析项目是否值得去解决 B、分析目标系统应具备的功能

C、用数据字典分析问题 D、经用户确认后才能进入下一阶段 5、下列关于软件工程活动设计阶段说法错误的是()。 A、权衡各种解决方案成本 B、确定实现系统的方法 C、编写代码实现系统 D、可使用PDL语言描述设计结果 6、下列关于软件工程活动确认阶段任务说法错误的是()。 A、进行各种测试 B、确认项目值得开发 C、采用集成测试和验收测试 D、需要用户参与 7、下列关于软件工程活动支持阶段任务说法错误的是()。 A、改正用户发现的错误 B、修改软件适应环境变化 C、重新设计系统 D、根据用户要求改进系统 8、下列选项中不属于软件工程原则的是()。 A、选择适宜的开发模型 B、选择最经济的开发方案

C、采取合适的设计方法 D、重视开发过程管理 9、软件工程中瀑布模型的第一个阶段是()。 A、问题定义 B、可行性与需求分析 C、系统设计 D、程序实现 10、下列选项中属于软件工程模型的是()。 A、关系模型 B、树状模型 C、螺旋模型 D、层次模型 11、下列选项中不属于项目管理要素的是()。 A、项目的启动 B、范围 C、时间 D、客户满意度 12、导致软件项目失控的原因不包括()。 A、需求不明确 B、项目过于庞大 C、采用新技术 D、管理方法不当 13、分析软件需求时,不需要定义的内容是()。 A、系统输入 B、系统输出 C、系统功能 D、系统用户 14、软件需求与下列活动中无关的是()。 A、项目计划 B、变更控制

软件项目管理之风险评估

软件项目管理之风险评估 很多时候不知道大家有没有发现,项目成为我们见面或茶余饭后的谈资,其中软件项目开发尤为多,但由于种种原因,这个项目并不能如期的完成。那么,如何在项目实施过程中进行有效地评估和预防这些风险呢,这就涉及到风险的评估。 项目管理教会我们如何在复杂多变的环境中做好一件事,风险评估是其中非常重要的一项。本文就软件项目管理中的风险评估方面做详细介绍。 风险评估 软件项目风险是指在整个项目周期中所涉及的成本预算、开发进度、技术难度、经济可行性、安全管理等各方面的问题,以及由这些问题而对项目所产生的影响。项目的风险与其可行性成反比,其可行性越高,风险越低。软件项目的可行性分为经济可行性、业务可行性、技术可行性、法律可行性等四个方面。而软件项目风险则分为产品规模风险、需要风险、相关性风险、管理风险、安全风险等六个方面: 1. 产品规模风险 项目的风险是与产品的规模成正比的,一般产品规模越大,问题就越突出。尤其是估算产品规模的方法,复用软件的多少,需求变更的多少等因素与产品风险息息相关: (1) 估算产品规模的方法 (2) 产品规模估算的信任度 (3) 产品规模与以前产品规模平均值的偏差 (4) 产品的用户数 (5) 复用软件的多少 (6) 产品需求变更的多少 2. 需求风险

很多项目在确定需求时都面临着一些不确定性。当在项目早期容忍了这些不确定性,并且在项目进展过程当中得不到解决,这些问题就会对项目的成功造成很大威胁。如果不控制与需求相关的风险因素,那么就很有可能产生错误的产品或者拙劣地建造预期的产品。每一种情况对产品来讲都可能致命的,这些的风险因素有: (1) 对产品缺少清晰的认识 (2) 对产品需求缺少认同 (3) 在做需求分析过程中客户参与不够 (4) 没有优先需求 (5) 由于不确定的需要导致新的市场 (6) 不断变化需求 (7) 缺少有效的需求变化管理过程 (8) 对需求的变化缺少相关分析等 3. 相关性风险 许多风险都是因为项目的外部环境或因素的相关性产生的。控制外部的相关性风险,能缓解策略应该包括可能性计划,以便从第二资源或协同工作资源中取得必要的组成部分,并觉察潜在的问题,与外部环境相关的因素有: (1) 客户供应条目或信息 (2) 交互成员或交互团体依赖性 (3) 内部或外部转包商的关系 (4) 经验丰富人员的可得性 (5) 项目的复用性 4. 技术风险 软件技术的飞速发展和经验丰富员工的缺乏,意味着项目团队可能会因为技巧的原因影响项目的成功。在早期,识别风险从而采取合适的预防措施是解决

软件过程管理作业

1. 软件能力成熟度模型(CMM):CMM其英文全称为Capability Maturity Model for Software,英文缩写为SW-CMM,简称CMM。它是对于软件组织在定义、实施、度量、控制和改善其软件过程的实践中各个发展阶段的描述。CMM的核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化、标准化、使企业能够更好地实现商业目标。 2. 软件过程能力:是指软件开发过程能够达到的能力,此过程能力包括能够达到的质量、效率、工期、成本等。 3. 组织过程焦点:组织过程包括组织与项目所使用的所有过程。组织过程与过程资产的可能改进由不同的来源取得,包括过程的度量、执行过程的学习心得、过程评鉴的结果、产品评估活动的结果、以其它组织过程标竿比较的结果,以及组织中其它改进构想的建议。 4. 变更控制:变更控制的目的并不是控制变更的发生,而是对变更进行管理,确保变更有序进行。 5. MSF的过程模型:是一套大型系统开发指南,它描述了如何用组队模型、过程模型和应用模型来开发Client/Server结构的应用程序,是在微软的工具和技术的基础上建立并开发分布式企业系统应用的参考。MSF的最大特性是商业化,并一直体现在项目的实施过程中。所谓商业化意味着客户的商业利益。客户投入多少,得到多少回报,客户要用到哪些最新的技术,最后如何把项目计划(Project)变成产品(Product)直至产生效益,等等,这些都是MSF要考虑的问题。 6.软件过程改进: (SPI,Software Process Improvement)帮助软件企业对其软件过程向更好的方向改变,进行计划、制定以及实施。 l 论述题(5选2) 1) 从你已有的软件过程与软件管理的知识和软件实践经验,谈谈如何判断软件过程是成熟的和有效的。 答:若软件过程满足如下几个标准,则认为其是成熟和有效的: 软件过程被正确无误地通知到现有职员和新雇员,工作活动均按照己规划的过程进行,而且和实际进行工作的方式相一致。 软件过程中,需要时就更新过程,并且通过可控的先导性试验和(或)费效分析使其得到改进。所有项目和在整个组织中,所有的岗位及其职责都是清楚的。 经理能够严格监控产品的质量和顾客的满意程度;有客观的、定量的基础,进度和预算是现实的基于以前的性能数据;能达到产品的成本、进度、功能和质量的预期结果。整个过程一致地遵循一个有纪律的过程,而且存在支持该过程的必要基础设施。 2) 从PSP、TSP、CMM所关注的焦点,简要论述PSP、TSP、CMM之间的关系。 答: PSP、TSP 和CMM为软件产业提供了一个集成化的软件过程框架。三者互相配合,各有侧重,形成了不可分割的整体。 CMM注重于组织能力和高质量的产品,它提供了评价组织的能力、识别优先改善需求和追踪改善进展的管理方式。然而,它实现的成功与否和TSP、PSP密不可分。在CMM的18个关键过程域中,有12个与PSP紧密相关,16个与TSP紧密相关。 PSP注重于个人的技能,能够指导软件工程师如何保证自己的工作质量,估计和规划自身的工作,度量和追踪个人的表现。软件工程师们在他们参与的项目工作之中若充分利用PSP,则可以保证项目整体的进度和质量,有助于CMM目标的实现。

软考信息系统项目管理师论文范例

信息系统项目管理师论文范例1:论软件项目的进度管理 摘要 本文讨论了《电力行业工作票、操作票系统》的项目管理,在本项目中我作为项目负责人,承担了项目管理工作. 在本项目管理中,我主要采用了面向对象技术同传统技术相结合的原则,在估算项目的工作量这方面尤为突出,面向对象技术对传统技术有所改进,传统技术能弥补面向对象技术的不足。本文从合理的估算项目的工作量及技术难度;识别关键任务;随时了解项目进度,必要时调整进度表等方面讨论了《电力行业工作票、操作票系统》项目管理的基本活动与方法,有效地控制开发进度,确保项目如期按质量完成.本系统在电力系统已经运行,状况良好,受到一致好评. 正文 2003年2月,我参加了《电力行业工作票、操作票系统》的开发,担任项目管理工作.电力系统有关部门在对电力设施进行检测、维修、试验等一系列活动时应按照我国电力行业相关标准进行工作,《电力行业工作票、操作票系统》就是按照国家有关标准及电力行业操作规程设计的仿真系统。工作人员在施工前按照工作流程在此仿真系统上进行操作,严格遵守电力设施的逻辑闭锁关系,顺序执行.有效地防止不规范操作,确保电力设施及现场工作人员的安全,提高安全意识.本系统由系统图编辑平台和工作票、操作票签发系统两大部分组成,其中系统图编辑平台主要是编辑变电站、用电系统及变电站控制系统图,每一个电力设施对应一个对象,在系统图上都有相对应的部分,系统图真实地反映电力设施的布局及相互关系,生动形象又合乎技术标准,同时为第二部分提供操作对象.工作票、操作票签发系统主要是在系统图的基础上进行点击操作,每饮点击对应一个对象即一个电力设施,根据电力设施的逻辑闭锁关系自动生成相应的工作票或操作票或提示操作不规范. 在本系统的开发过程中,我通过合理的估算项目工作量及技术难度;识别关键任务;随时了解项目进度,必要时调整进度表等方面对项目进行管理,确保本系统如期按质量完成。 1、合理的估算项目工作量及技术难度 我们在项目工作量及技术难度的估算上采用面向对象技术同传统技术相结合的原则. 本系统采用了面向对象的分析、设计等一系列面向对象技术,在本系统工作量的估算上根据功能点进行估算.将每个功能模块逐步分解,直至基本模块为止.我们将系统分为系统图编辑与工作票、操作票签发两个大的功能分别进行估算。系统图编辑部分主要是一个图形编辑系统.一种电力设施对应一个类,电力设施的技术参数及其操作对应相应类的属性和方法,电力设施图是由线段、圆、曲线、折线、多边形等基本图形组成,这些基本图形分别对应一个类,这些类又继承一个最基本的类.系统图编辑部分的工作量也就是这些类的实现,工作票、操作票签发部分用到了编辑平台的系统图,因此由大量的功能可以复用,这部分的功能划分同系统图编辑部分一样也是采用类作为基本结构,这样就比较准确的进行工作量的估算. 同时我们开发的这个系统是基于C/S结构的,由于C/S结构的系统我们公司有不少成功的案例,因此有不少的案例供我们参考.对于本系统的第二部分我们就是借鉴以前我们做过的基于C/S 结构的系统,基于C/S结构的系统的框架基本上是一致的,数据库的设计、前台操作如对数据库进行添加、删除、修改、查询等一系列活动大体相同.正是如此,有大量的东西可供我们复用,如权限控制模块我们就是复用以前的案例,仅作少量修改.在工作量的估算上也有很好的借鉴作用.这对工作量的估算也是一个重要的参考,为工作进度安排提供了依据.在技术上,我们重点考虑本系统与其他C/S 结构的系统的不同之处,相同或相似之处我们认为没有技术难

软件项目管理期末考试题

1.在什么情况下可以采用德尔菲方法进行风险识别_______C____。 A.存在模拟模型 B.需要大家的统一意见 C.有大量历史项目 D.风险概率明确 2.下面各项对沟通计划的描述,哪项是错误的。(D) A.确定沟通需求 B.确定沟通的内容 C.确定沟通方法 D.对项目管理是没有必要的 3.赶工一个任务时,你应该关注____C_____________。 A.尽可能多的任务 B.非关键任务 C.加速执行关键路径上的任务 D.通过成本最低化加速执行任务 4.在一个项目会议上,一个成员提出增加任务的要求,而这个要求超出了WBS确定的项目基线,这时,项目经理提出项目团队应该集中精力完成而且仅需完成原来定义的范围基线,这是一个__B_________的例子。 A.范围定义 B.范围管理 C.范围蔓延 D.范围变更请求 5.人员管理计划描述了__________。(B) A.如何获取项目成员 B.如何解决冲突 C.项目经理的团队建设总结 D.项目团队的人员什么时候如何加入到团队中和离开团队 6.关于浮动,下面除了哪个都是不正确的?(B) A.每个任务都有浮动 B.只有复杂的项目有浮动 C.浮动是在不增加项目成本的条件下,一个活动可以延迟的时间量 D.浮动是在不影响项目完成时间的前提下,一个活动可以延迟的时间量 7.合同激励的最终目标是___D______。 A.卖方节约成本 B.买方节约成本 C.增加卖方成本 D.协调合同双方的目标 8.下面哪个不是需求管理的过程_____D_________。 A.需求设计 B.需求获取 C.需求分析 D.需求变更 9.在一个项目中,项目经理会尽量争取怎样的“质量等级”?(B) A.尽可能高的 B.尽可能贴近项目目标的 C.最少的项目成本 D.超出项目需求定义的 10.活动A历时为3天,开始于星期一(4号),后置活动B与活动A具有完成-开始的依赖关系。完成-开始关系有3天的滞后,而且活动B历时为4天,星期天为非工作日,从这些数据可以得出什么结论 __B_________。 A.两项活动的总历时为8天 B.活动A开始到活动B完成之间的日历时间(calendar time)是11天 C.活动B完成是星期三,14号 D.活动A开始与活动B完成之间的日历时间14天 11.项目将近收尾的时候,项目职员更关注将来能够分配的任务,而不是当前的项目,下列哪项是当前项 目职员的需要?(A) A.生理需求 B.受人尊敬 C.安全 D.自我实现 12.项目质量管理的最终责任由谁来承担_____D_____。 A.项目开发人员 B.采购经理 C.质量经理 D.项目经理 13.进度控制重要的一个组成部分是___________。(C) A.确定进度偏差是否需要采取纠正措施 B.定义为项目的可交付成果所需要的活动 C.评估WBS定义是否足以支持进度计划 D.确保项目队伍的士气高昂,发挥团队成员的潜力 14.__A_____是用系统的功能数量来测量其规模,与实现产品所使用的语言和技术没有关系的。 A.功能点 B.对象点 C.代码行 D.用例点 15.某项目经理刚刚得知卖方增加了成本,项目经理首先应该确定是否__________。(A) A.有足够的储备处理这个变更 B.另外的卖方可以按照原来的成本完成项目 C.另外的项目能够节约预算 D.任务是关键的项目任务 16.在项目进行过程中,2个项目成员使用不同版本的设计说明书,这时项目经理首先应该检查 ___B_______。 A.信息管理系统 B.配置管理系统 C.CPI D.SPI

项目管理bim 论文

课程大作业 课程名称:工程项目管理A2 课题名称:BIM技术及在建筑工程项目中的应用价值指导教师: 班级: 姓名: 学号: 成绩评定: 指导教师签字: 2016 年 7 月 1 日

BIM 技术在我国建筑行业的应用现状及发展障碍研究 摘要:建筑信息模型(BIM)是数字技术在建筑业中的直接表达,正在引发建筑行业一次史无前例的彻底变革。BIM 技术在欧美发达国家建筑业的应用已经比较普及,但在我国建筑行业却并未被广泛普及,目前绝大部分设计院建筑设计仍采用的是全2D工程制图(方案效果图除外),仅在需要进行特定分析计算时(比如日照、节能)重复搭建并不十分精准的三维(体量)模型仅限于一些大型设计院在开展应用。本文详细分析了BIM 技术在我国的应用现状及发展障碍,并基于BIM 技术与各关联方相互关系,阐释其在我国的应用发展前景。 关键词:建筑信息模型;应用现状;发展障碍;建议 Research on the application status and development obstacles of BIM technology in the construction industry in China Abstract: building information model (BIM) is a digital technology in the construction industry in the direct expression, is causing the construction industry a unprecedented revolutionize. BIM Technology in the application of the developed countries in Europe and America, the construction industry has been more popular, but in the construction industry in our country has not been wide universality, the vast most Design Institute of architectural design with is full 2D engineering drawing (with the exception of the renderings), only in the need to carry out specific analysis and calculation (such as sunshine energy efficient building repeated is not very accurate 3D (dimension) model was limited to some large Design Institute in development and Application. This paper gives a detailed analysis of BIM Technology In our country, the application status and development barriers, and based on the BIM technology and the related parties to explain its application development prospects in China. Key words: building information model; application status; development barriers; suggestions 中图分类号:TU399文献标志码:A 文章编号:1 引言:随着信息技术的发展,特别是互联网技术的发展和大容量、高性能计算机硬件的开发使用,使建设规模庞大、建设周期长、参与方众多的建设项目的信息技术化成为可能。经过一系列的探索,我国建筑业的信息共享技术目前已经从单纯地引进计算机工具向实现建筑业信息化迈进,按其取得的关键研究成果,可以分成以下四个阶段。即:第一,计算机辅助设计阶段;第二,ISO-10303 阶段;第三,IFC 阶段;第四,建筑信息模型 BIM 阶段[1]。BIM 概念最初美国Autodesk 公司在总结归纳匈牙利Graphsoft 公司提出的虚拟建筑(VisualBuilding)概念和美国Benetly 公司提出的Signal Building Information 概念基础上于 2002 年首次提出,并将其应用到 Revit 软件中。我国首先通过 Revit 软件接触到 BIM 技术理念是建筑设计院。 1.BIM 技术在我国的应用现状 BIM是Building Information Modeling或Building Information Model 的简称,前者译为建筑信息建模,体现的是BIM技术在建模过程中的应用;后

福师《软件过程管理》离线作业一

福师《软件过程管理》离线作业一 一、名词解释 1、软件过程工程 软件过程是人们用于开发和维护软件及其相关过程的一系列活动, 包括软件工程活动和软件管理活动。 2、CMM中的关键过程域 在CMM 中每个成熟度等级(第1 级除外)规定了不同的关键过程域,一个软件组织如果希望达到某一个成熟度等级,就必须完全满足关键过程域所规定的不同要求,即满足每个关键过程域的目标。所谓关键过程域是指一系列相互关联的操作活动,这些活动反映了一个软件组织改进过程时必须集中精力改进的几个方面。换句话说,关键过程域标识了达到某个成熟度等级时所必须满足的条件。在CMM 中一共有18 个关键过程域,分布在2~5 级中。 3、SWEBOK 软件工程知识体系 4、PSP PSP是PlayStation Portable(プレイステーションポータブル)的简称,是日本SONY公司开发的多功能掌机系列,具有游戏、音乐、视频等多项娱乐功能。 二、简答题 1、TSP中的SUMQ的作用。 项目管理者根据质量计划通过SUMQ质量总结表协助团队成员跟踪绩效。SUMQ包括主要比率、无缺陷比率PDF、缺陷数/页、缺陷数/KLOC、缺陷比率、开发时间比率、质检过失比A/FR、复核比率、检查比率、缺陷引入比率、缺陷除去比率、阶段成品率、过程成品率。它提供了对质量问题的估计方法、深入分析设计和代码复核质量的方法以及对整个过程的评估方法使软件开发人员对质量问题更加敏感和小心以便开发出高质量的软件产品。在TSP中质量计划SUMQ的制订与计划小结SUMP的制订相辅相成缺一不可。计划小结的制订又需要参考产品规模摘要SUMS和任务计划TASK而任务计划又与进度计划SCHEDULE密切相关。除此而外质量计划的制订还需要参考质量标准QUAL的要求。质量计划与进度计划之间的内在联系下图所示。在团队成员订出质量计划SUMQ后质量经理就要依据该计划协助团队成员追踪绩效。对于系统的每个部分质量经理要在每个阶

相关文档
最新文档