软件工程软件项目管理ppt课件.ppt

上传人:sccc 文档编号:4746296 上传时间:2023-05-13 格式:PPT 页数:57 大小:1.07MB
返回 下载 相关 举报
软件工程软件项目管理ppt课件.ppt_第1页
第1页 / 共57页
软件工程软件项目管理ppt课件.ppt_第2页
第2页 / 共57页
软件工程软件项目管理ppt课件.ppt_第3页
第3页 / 共57页
软件工程软件项目管理ppt课件.ppt_第4页
第4页 / 共57页
软件工程软件项目管理ppt课件.ppt_第5页
第5页 / 共57页
点击查看更多>>
资源描述

《软件工程软件项目管理ppt课件.ppt》由会员分享,可在线阅读,更多相关《软件工程软件项目管理ppt课件.ppt(57页珍藏版)》请在三一办公上搜索。

1、第10章 软件项目管理,掌握:项目管理、项目管理的内容、人力资源管理、软件成本管理、各种软件成本估算方法、开发进度管理、Gantt图、工程网络图、软件风险管理、软件配置管理、软件文档管理。,10.1 软件项目管理概述,10.1.1 项目,中国项目管理研究委员会对项目的定义是:“项目是一个特殊的将被完成的有限任务,它是在一定时间内,满足一系列特定目标的多项相关工作的总称”。根据这个定义,项目实际包含3层含义:(1)项目是一项有待完成的任务,有特定的环境和要求。(2)在一定的组织机构内,利用有限资源(如人力、物力、财力等),在规定的时间内(指项目有明确的开始时间和结束时间)为特定用户完成特定目标的

2、阶段性任务。(3)任务要满足一定性能、质量、数量、技术指标等要求。,项目就具有如下基本特性:(1)项目的独特性:每一个项目在时间、目标、资源等方面的要求都是特定的,不会与其他项目完全相同。(2)项目的一次性:项目的开发是各种智力活动的体现,很难再重复这一过程。(3)项目的组织性:项目的开发可能需要多个人员参与,因此需要一个组织机构来协调和管理开发人员。(4)项目的生命期:通常,项目至少要经过前期调研、可行性分析、实际开发、测试、验收与移交等环节,这构成了项目的完整生命周期。,10.1.2 项目管理,项目管理就是在项目活动中运用专门的知识、技能、工具和方法,使项目达到预期目标的过程,是以项目作为

3、管理对象,通过一个临时性的、专门的组织,对项目进行计划、组织、执行和控制,并在时间、成本、性能、质量等方面达到预期目标的一种系统管理方法。,项目管理具有以下基本特征:(1)项目管理的对象是项目。(2)系统工程思想在项目的全过程中都得以体现。(3)项目管理的组织具有一定的特殊性。(4)项目管理的体制是基于团队管理的个人负责制。(5)项目管理的要点是创造和保持一个使项目顺利进行的环境,使置身于这个环境的人们能在集体中协调工作以完成预定的目标。(6)项目管理的方法、工具和技术手段具有先进性。,10.1.3 项目管理的内容,PMl编写的项目管理知识体系,将项目管理划分为9个知识领域,即范围管理、时间管

4、理、成本管理、质量管理、人力资源管理、沟通管理、采购管理、风险管理和综合管理。中国项目管理研究委员会则将项目管理的内容概括为两个层次、4个阶段、5个过程、9大知识领域、42个要素及多个主体,(1)项目层次:企业层次、项目层次。(2)项目主体:业主、承包商、监理、用户。(3)项目阶段:概念阶段、开发阶段、实施阶段、收尾阶段。(4)基本过程:启动过程、计划过程、执行过程、控制过程、结束过程。(5)知识领域:综合管理、范围管理、时间管理、成本管理、质量管理、人力资源管理、风险管理、沟通管理、采购管理。,(6)知识要素:项目与项目管理、项目管理的运行、通过项目进行管理、系统方法与综合、项目开发与评估、

5、项目启动、范围与内容、项目费用与融资、效果度量、项目组织、沟通、项目质量管理、问题解决、业务流程、变化管理、安全健康与环境、项目背景、项目目标与策略、项目收尾、时间进度、技术状态与变化、项目日控制、团队工作、冲突与危机、项目信息学、项目后评价、人力资源开发、项目日投资体制、法律与法规、项目阶段与生命周期、项目成功与失败标准、项目结构、资源、项目风险、信息、文档与报告、领导、采购与合同、标准与规范、项目监理与监督、组织的学习、系统管理、财务与会计。,10.2 人力资源管理,10.2.1 组织结构,图10-2 软件开发的典型组织结构,10.2.2 人员配置,1.项目负责人/项目经理2.总设计师3.

6、系统分析师4.软件设计师5.软件工程师6.测试工程师7.文档管理员8.系统配置人员,10.2.3 沟通方式,图10-3 开发小组人数、通信路径及开发效率之间的关系,图10-4 组织方式对沟通方式的影响,10.3 软件成本管理,10.3.1 软件成本估算,软件开发成本估算主要指软件开发过程中所花费的工作量及相应的代价。不同于传统的工业产品,软件的成本不包括原材料和能源消耗,而主要是人的劳动的消耗。软件成本估算需要考虑的因素有项目所包括的工作、资源需求、资源单价、项目完成所需要的时间、已完成项目的历史资料等。,10.3.2 代码行估算法,代码行估算法是一种比较简单的定量估算成本的方法,它是用每行代

7、码的平均成本乘以程序的行数来确定软件的成本。例如,某软件采用代码行估算法估算本软件的总代码行数大约为5 000行,根据经验,这种系统的平均生产率为750行/人月,每个人月的工资为2 500元,则总的开发成本应为16 667元。代码行估算法通常并不被认为是最优的方法,因为有很多因素直接影响代码的行数。,10.3.3 功能点估算法,功能点估算法是根据软件所提供的功能来测量工作量,通过研究需求来确定各种输入、输出、查询、文件与外部接口的数量和特性,然后将这些功能点数乘上一个反映其复杂程度的加权因子,最后累加,即可确定软件总的功能点数。同样,根据历史数据或某种计算模型可以估算出每个人月所能完成的功能点

8、数,也可以计算出软件的人工费。功能点数可由以下4个参数计算出来:(1)外部输入和输出数。(2)外部接口数。(3)用户交互数。(4)系统要用的文件数。,表10-1 功能点的计数,10.3.4 COCOMO模型,COCOMO模型是一种精确、易于使用的、基于模型的成本估算方法,最早由勃姆(Boehm)于1981 年提出。在COCOMO模型中,根据开发环境及项目规模等因素,可把项目分为以下3类:1组织型 相对较小、较简单的软件项目,对此种软件一般需求不那么苛刻。2嵌入型 该种类型的项目受到硬件、软件和操作等方面限制较多。3半独立型 对此种软件的要求介于上述两种软件之间,但软件规模和复杂性属于中等以上。

9、,为便于计算成本,COCOMO模型规定了几个基本量:(1)DSI(源指令条数)定义为代码或卡片形式的源程序行数。(2)MM(度量单位为人月)表示开发工作量。定义1MM19人日152人时112人年。(3)TDEV(度量单位为月)表示开发进度,它由工作量决定。COCOMO模型的基本计算公式为:E=A(KDSI)b 其中,E为开发成本,A、b为两个常数,其具体取值由项目的种类决定。COCOMO模型提出了3种基本形式,即初级COCOMO模型、中级COCOMO模型和高级COCOMO模型,用以确定A、b的值,同时计算开发成本E。,1.基本COCOMO模型,表10-3 基本COCOMO模型的参数取值,2.中

10、级COCOMO模型,表10-4 中级COCOMO模型的参数取值,3.高级COCOMO模型 高级COCOMO模型的工作量及进度估算公式与中级COCOMO模型一致,但高级COCOMO模型引入了两种主要功能:(1)阶段敏感工作权数,某些阶段(设计、编码、调试)比其他阶段有关因素的影响可能更大。高级COCOMO模型为每个因素提供了一个“阶段敏感工作权数”。(2)3层产品分级结构,分别是模块、子系统和系统。,10.3.5 Putnam模型,该模型是由美国定量软件管理公司总裁Putnam于1978年提出的,全称是定量软件管理软件成本进度模型。Putnam模型是一种动态多变量模型,软件开发所需的工作量可由以

11、下公式计算:L=Ck*K1/3*td4/3 其中,L是源代码行数(以LOC计);K是软件开发与维护在整个生存期所花费的工作量(以人年计);td是开发持续时间(以年计);Ck是技术状态常数,也称为“妨碍开发进展的限制”,因开发环境而异,典型取值如下:(1)对于差的开发环境:Ck=2 500。(2)对于好的开发环境:Ck=10 000。(3)对于有的开发环境:Ck=12 500。,10.3.6 类比估算法,类比估算法是通过类比的方法,由估算专家根据以前类似规模、开发难度的项目来进行成本估算。如果有一个以前做过的类似项目,并且掌握它的规模,就可以把新项目的各个主要部分与原有项目的相应部分进行比较,得

12、出一个比例关系,将各部分相对于原项目规模比例相加,计算出新项目的规模。如果估算专家的经验丰富,并且新项目与老项目具有足够的相似性,就能够得到合理的估算值。,10.3.7 累加估算法,该方法涉及单个工作的逐个估计,然后累加得到项目成本的总计。累加估计的成本和精度取决于单个工作的大小,工作划分很小,则会增加用于估算的成本和估算的精确性。此方法需要在精确性和估算成本间做出权衡。,10.3.8 软件成本控制,图10-5 成本控制的动态过程,10.3.9 效益预测与评估,1函数求解法2相关关系法 3模糊数学法 4专家意见法,10.4 开发进度管理,10.4.1 项目进度计划,在正式开发之前,可以先制订项

13、目进度计划。编制一个项目进度计划,一般需要经过以下过程:(1)确定项目目的、需要和范围。其结果要素具体说明了项目成品、期望的时间、成本和质量目标。要素范围包括用户决定的成果以及产品可以接受的程度,以及可以接受的条件。(2)指定的工作活动、任务或达到目标的工作被分解、下定义,并列出清单。(3)创建一个项目组织,以指定部门、分包商和经理对工作活动负责。(4)准备进度计划,以表明工作活动的时间安排、截止日期和里程碑。(5)准备预算和资源计划,表明资源的消耗量和使用时间,以及工作活动和相关事宜的开支。(6)准备各种预测,如完成项目的工期、成本和质量预测。,10.4.2 Gantt图,Gantt图中文为

14、甘特图,也叫横道图,由亨利甘特于1910年开发,它通过条状图来表示项目进度以及项目的各个活动随时间进展的情况。Gantt图表示法用横轴表示时间,纵轴表示活动(项目),用水平线段表示任务的工作阶段,线段的起点和终点分别对应着任务的开工时间和结束时间,线段的长度表示完成任务所需的时间。,图10-6 一个软件项目开发的Gantt图表示,10.4.3 工程网络图,工程网络图又称PERT图。在工程网络图中,用圆圈表示开发工程中的一项具体任务,圆圈之间的箭头表示各项任务完成的先后顺序和相互依赖关系,箭头上的数字表示完成该项具体任务所需的时间。绘制PERT图都是从终点向起点逐步倒推,根据各项任务相互之间的依

15、赖关系画出每一项任务,直至整个工程的起点。,表10-5 办公楼建设项目的各项活动表,图10-7 办公楼建设项目的工程网络图,10.4.4 项目进度估算,软件项目进度估算是项目管理当中重要的一环,准确、合理的估算是分配各项技术、人力、财力等资源的前提。由于项目的实际情况变化很大,因此要做到十分精确的进度估算比较困难。但也有一些实用的方法可供借鉴:(1)根据目前完成的活动在关键路径上的位置来估算。(2)根据目前完成的功能点占总功能点的多少来估算。(3)在项目计划阶段,设置好里程碑,根据已完成的里程碑,估算项目进度。还有一些其他估算软件项目进度的方法,如参考历史数据法、专家估计法等。,10.4.5

16、项目追踪与控制,追踪与控制是在软件项目管理过程中实施的一项重要工作,可以用以下方式对项目进行追踪:(1)定期举行项目状态会议,由每一位项目成员报告其进展及遇到的问题。(2)评价在软件工程过程中产生的所有评审的结果。(3)确定由项目的计划进度所安排的可能选择的里程碑。(4)比较在项目资源表中的每一个项目任务的实际开始时间与计划开始时间。(5)与开发人员进行非正式会谈,了解他们对于开发进展与刚出现的问题的评价。,10.5 软件风险管理,10.5.1 风险的基本概念,软件项目风险是指在软件开发过程中遇到的预算和进度等方面的问题,以及这些问题对软件项目的影响。软件项目风险会影响项目计划的实现,如果项目

17、风险变成现实,就有可能影响项目的进度,增加项目的成本,甚至使软件项目不能实现。如果对项目进行风险管理,就可以最大限度地减少风险的发生。但是,目前国内的软件企业不太关心软件项目的风险管理,结果造成软件项目经常性的延期、超过预算,甚至失败。成功的项目管理一般都对项目风险进行了良好的管理。因此,任何一个系统开发项目都应将风险管理作为软件项目管理的重要内容。,10.5.2 风险识别与分类,1.需求风险2.计划编制风险3.组织和管理风险4.人员风险5.开发环境风险6.客户风险7.产品风险8.设计和实现风险9.过程风险,10.5.3 风险估计,风险估计又称风险预测,常采用以下两种方法进行风险估计,一种是估

18、计风险发生的可能性或概率,另一种是估计风险发生时所产生的后果。一般来讲,风险管理者要与项目计划人员、技术人员及其他管理人员一起执行以下4种风险活动:(1)建立一个标准(尺度),以反映风险发生的可能性。(2)描述风险的后果。(3)估计风险对项目和产品的影响。(4)确定风险的精确度,以免产生误解。,10.5.4 风险评价,在进行风险评价时,应当先建立一个四元组:ri,li,xi,yi。其中,ri表示风险;li 为风险出现的概率;xi 表示风险损失大小;yi 表示期望风险。然后再定义一个风险参照水准(如成本、进度与性),即对成本超支、进度延期、性能降低或它们的组合,有一个表明导致项目终止的水准。在做

19、软件风险分析的环境中,一个风险参照水准具有一个单独的点,叫做参照点或崩溃点。在这个点上,要公正地给出可接受的判断,即是否继续项目。因此,可能要利用性能分析、成本模型、任务网络分析和质量因素分析等做判断。,10.5.5 风险控制,风险控制是指利用某些技术,如原型化、软件自动化、软件心理学等管理方法来回避与转移风险,其步骤如下:(1)确定人员流动的原因。(2)在项目开始之前,把回避风险的工作列入控制计划中。(3)当项目启动时,做好人员流动的准备。(4)建立项目组,使相关人员都了解有关开发活动的信息。(5)制定文档标准,并建立一种及时产生文档的机制。(6)对所有工作进行细致地评审。(7)对关键性的技

20、术岗位,要培养技术后备人员。,10.6 软件质量保证,软件质量保证(SQA)是通过建立一套有计划、有系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被所有项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计,来验证软件是合乎标准的。软件质量保证组在项目开始时就参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。,10.7 软件配置管理,10.7.1 软件配置管理的任务,软件配置管理的任务有以下几方面的内容:(1)确定软件配置项。(2)定义配置项和版本的标识规则。(3)制定控制变更的权限和实施步骤。(4)记录、追踪配

21、置项的变更状态。(5)验证配置项的正确和完整性。(6)进行版本管理和发行管理。,10.7.2 基线,基线标志了软件开发过程中的各个里程碑,任一软件配置项(Software Configtlration Item,SCI),如设计说明书,一旦形成文档并通过复审,即形成一个了基线,它标志着开发过程中一个阶段的结束。基线是软件文档、源码或其他产出物的一个稳定版本,它是进一步开发的基础。基线是项目储存库中每个工件版本在特定时期的一个“快照”。,10.7.3 软件配置项,在配置管理中,“配置”和“配置项”是重要的概念。“配置”是在技术文档中明确说明并最终形成软件产品的功能或物理属性。因此“配置”包括了即

22、将受控的所有产品特性、相关文档、软件版本、软件运行的支持数据,以及其他一切保证软件一致性的组成要素。相对于硬件类配置,软件产品的“配置”包括更多的内容并具有易变性。受控软件经常被划分为各类配置项,这类划分是进行软件配置管理的基础和前提,软件配置项是逻辑上组成软件系统的各组成部分。例如,一个软件产品包括几个程序模块,每个程序模块及其相关文档和支撑数据可能被命名为一个配置项。一个系统包括的配置项的数量与设计密切相关。一个纯软件的配置项通常也称为软件配置项,或者说,软件配置项是软件生存期内能相对独立开发的一个程序实体或文档。,符合基线标准的软件配置项称为基线配置项。基线分类列表一般如下:(1)系统功

23、能说明,包括系统模型、项目计划、进度安排说明。(2)软件需求规格说明,包括图形分析模型、过程、原型、数学规格说明。(3)设计规格说明,包括数据设计、体系结构设计、界面设计、对象的描述等。(4)测试规格说明,包括测试计划、测试用例、测试预期结果、测试记录等。(5)数据库描述,包括数据模式、记录结构、数据项描述。(6)模块规格说明,包括模块功能、模块算法、模块接口等描述。(7)运行系统,包括模块代码、链接模块、数据库、支持及工具程序等。(8)用户文档,包括安装说明、操作说明、用户手册、培训计划。(9)维护文档,包括故障报告、维护要求、更改记录等。(10)项目采用的有关标准和规程。,10.7.4 配

24、置管理工具,1.CCC、SCCS、RCS2.Rational ClearCase3.Hansky Firefly4.CVS5.Merant PVCS6.Microsoft Visual Source Safe,10.8 软件文档管理,10.8.1 软件文档管理概述,软件项目文档是软件项目开发中的重要组成部分。文档对于项目开发的成功和项目的正常维护起着重要的保证和支持作用。所有大型的软件项目,都有大量与系统相关的文档,有时一个中小型的项目都可能有成干上万的文档。一般来讲,文档数量的多少、规模的大小、结构的复杂程度都与所开发的软件项目的规模大小和复杂程度成正比。在软件项目中,有一大部分开发成本都发生在这些文档的准备、编制过程中,因此项目管理者一定要对与项目有关的文档有足够的重视。,10.8.2 项目文档的分类,过程文档产品文档,10.8.3 主要项目文档,表10-6 软件项目及其文档,第10章 结束,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号