软件工程第11章-软件项目管理课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《软件工程第11章-软件项目管理课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件工程 11 软件 项目 管理 课件
- 资源描述:
-
1、软件项目管理第十一章本章本章要点要点n 掌握软件项目管理的内容;n 理解常见的软件组织形式和人员配备原则;n 了解软件开发成本的估算方法和进度管理方法;n 理解软件的质量特性及保证质量的措施;n 了解软件配置管理的内容;n 了解软件工程标准化知识;n 掌握软件文档的作用及分类。11.1 软件项目管理概述第11章软件项目管理的职能包括:软件项目管理的职能包括:(1)制订计划:规定要完成的任务和要求,安排资源、人员和进度等。)制订计划:规定要完成的任务和要求,安排资源、人员和进度等。(2)建立组织:建立分工明确的为实施计划的责任制机构,以保证任务的完成。)建立组织:建立分工明确的为实施计划的责任制
2、机构,以保证任务的完成。(3)配备人员:根据任务要求,任用各种层次的技术人员和管理人员。)配备人员:根据任务要求,任用各种层次的技术人员和管理人员。(4)协调或追踪与指导:跟踪项目的进展情况,协调、指导、鼓励和动员各种人员完)协调或追踪与指导:跟踪项目的进展情况,协调、指导、鼓励和动员各种人员完成所分配的任务。成所分配的任务。(5)控制或检验:对照计划和标准,监督和检验项目实施的情况。)控制或检验:对照计划和标准,监督和检验项目实施的情况。11.1.1 软件项目管理的职责软件项目管理的职责 11.1 软件项目管理概述第11章1启动软件项目启动软件项目在制定项目计划前,应首先明确项目的目标、考虑
3、候选的解决方案、清楚技术和管理上在制定项目计划前,应首先明确项目的目标、考虑候选的解决方案、清楚技术和管理上的要求等。项目的目标标明了项目的目的,但并不涉及如何达到目的。候选的解决方案使管的要求等。项目的目标标明了项目的目的,但并不涉及如何达到目的。候选的解决方案使管理人员能够从中选择最好的方案,从而确定合理、精确的成本估算,进行实际可行的任务分理人员能够从中选择最好的方案,从而确定合理、精确的成本估算,进行实际可行的任务分解以及可管理的进度安排。解以及可管理的进度安排。项目启动前,应成立项目组,召开项目启动会议,进行组内交流,深刻理解项目目标,项目启动前,应成立项目组,召开项目启动会议,进行
4、组内交流,深刻理解项目目标,对组织形式、管理方式和方针取得一致认识,明确岗位职责等。对组织形式、管理方式和方针取得一致认识,明确岗位职责等。11.1.2 软件项目管理的过程软件项目管理的过程 11.1 软件项目管理概述第11章2制定项目计划制定项目计划项目计划是用来指导组织、实施、协调和控制软件开发的重要文件,其主要作用是:项目计划是用来指导组织、实施、协调和控制软件开发的重要文件,其主要作用是:(1)可激励和鼓舞团队的士气。)可激励和鼓舞团队的士气。(2)可以使项目成员有明确的分工及工作目标。)可以使项目成员有明确的分工及工作目标。(3)可促进项目组相关人员之间的沟通与交流。)可促进项目组相
5、关人员之间的沟通与交流。(4)可作为项目过程控制和工作考核的基准。)可作为项目过程控制和工作考核的基准。(5)可作为解决用户和开发团队间冲突的依据。)可作为解决用户和开发团队间冲突的依据。11.1.2 软件项目管理的过程软件项目管理的过程 11.1 软件项目管理概述第11章制定项目计划的主要工作是:制定项目计划的主要工作是:(1)确定详细的项目实施范围。)确定详细的项目实施范围。(2)定义递交的工作成果。)定义递交的工作成果。(3)评估实施过程中的主要风险。)评估实施过程中的主要风险。(4)制定项目实施的时间计划。)制定项目实施的时间计划。(5)制定成本和预算计划。)制定成本和预算计划。(6)
6、制定人力资源计划等。)制定人力资源计划等。11.1.2 软件项目管理的过程软件项目管理的过程 11.1 软件项目管理概述第11章3计划的追踪和控制计划的追踪和控制建立了进度安排后,就可以开始进行追踪和控制活动。项目管理人员负责在整个过程中建立了进度安排后,就可以开始进行追踪和控制活动。项目管理人员负责在整个过程中监督过程的实施,提供过程进展的内部报告,并按合同规定向需求方提供外部报告。项目管监督过程的实施,提供过程进展的内部报告,并按合同规定向需求方提供外部报告。项目管理人员可对资源重新定向,对任务重新安排,或者与需求方协商后修改交付日期以及调整已理人员可对资源重新定向,对任务重新安排,或者与
7、需求方协商后修改交付日期以及调整已经暴露的问题。经暴露的问题。4评审和评价计划的完成程度评审和评价计划的完成程度项目管理人员需要对项目进行评审,对计划的完成程度进行评价。同时还要对计划和项项目管理人员需要对项目进行评审,对计划的完成程度进行评价。同时还要对计划和项目进行检查,使之在变更或完成后保持完整性和一致性。目进行检查,使之在变更或完成后保持完整性和一致性。5编写管理文档编写管理文档如果软件开发工作完成,项目管理人员应从完整性方面检查项目完成的结果和记录,并如果软件开发工作完成,项目管理人员应从完整性方面检查项目完成的结果和记录,并把这些记录编写成文档保存。把这些记录编写成文档保存。11.
8、1.2 软件项目管理的过程软件项目管理的过程 11.2 软件项目管理概述第11章(1)早落实责任。)早落实责任。在软件项目每项工作的开始,要尽早指定专人负责,使其有权进行管理,并对任务的完在软件项目每项工作的开始,要尽早指定专人负责,使其有权进行管理,并对任务的完成全面负责。成全面负责。(2)减少接口。)减少接口。在软件开发过程中,人与人之间的交流和联系是必不可少的,即存在着通信路径。一个在软件开发过程中,人与人之间的交流和联系是必不可少的,即存在着通信路径。一个组织的生产效率随着完成任务中存在的通信路径数目增加而降低。要有合理的人员分工、好组织的生产效率随着完成任务中存在的通信路径数目增加而
9、降低。要有合理的人员分工、好的组织结构、有效的通信,这对于提高开发效率非常重要。的组织结构、有效的通信,这对于提高开发效率非常重要。(3)责权均衡。)责权均衡。明确每个开发人员的权利和责任,开发人员的责任不应该大于其拥有的权利。明确每个开发人员的权利和责任,开发人员的责任不应该大于其拥有的权利。11.2.1 建立项目组织的原则建立项目组织的原则11.2 软件项目管理概述第11章1.按项目划分的形式按项目划分的形式把软件开发人员按项目或课题组成小组,小组成员自始至终参加所承担项目或课题的各把软件开发人员按项目或课题组成小组,小组成员自始至终参加所承担项目或课题的各项任务。项任务。2.按职能划分的
10、形式按职能划分的形式把软件开发人员按任务的工作阶段划分成若干个专业小组,每个小组承担其中的一个阶把软件开发人员按任务的工作阶段划分成若干个专业小组,每个小组承担其中的一个阶段任务,每个小组可同时承担多个项目。段任务,每个小组可同时承担多个项目。3.矩阵型形式矩阵型形式这种模式实际上是以上两种模式的结合。一方面,按工作性质成立一些专门组,如开发这种模式实际上是以上两种模式的结合。一方面,按工作性质成立一些专门组,如开发组、业务组、测试组等;另一方面,每个项目有负责人,每个人属于某个项目组,参加该项组、业务组、测试组等;另一方面,每个项目有负责人,每个人属于某个项目组,参加该项目的工作。目的工作。
11、11.2.2 项目组织结构的形式项目组织结构的形式 11.2 软件项目管理概述第11章(1)主程序员制小组。该小组的核心有三个人。主程序员、辅助程序员和程序管理员。)主程序员制小组。该小组的核心有三个人。主程序员、辅助程序员和程序管理员。主程序员由经验丰富、能力较强的高级程序员担任,全面负责系统的设计、编码、测试和安主程序员由经验丰富、能力较强的高级程序员担任,全面负责系统的设计、编码、测试和安装工作;辅助程序员协助主程序员工作;程序管理员负责保管和维护所有的软件文档资料,装工作;辅助程序员协助主程序员工作;程序管理员负责保管和维护所有的软件文档资料,帮助收集软件的数据,并在研究、分析和评价文
12、档资料的准备方面进行协助工作。帮助收集软件的数据,并在研究、分析和评价文档资料的准备方面进行协助工作。(2)民主制程序员小组。在民主制小组中,组内成员之间可以平等地交换意见。工作)民主制程序员小组。在民主制小组中,组内成员之间可以平等地交换意见。工作目标的制定及决定的提出都由全体成员参加。这种组织形式强调发挥小组每个成员的积极性,目标的制定及决定的提出都由全体成员参加。这种组织形式强调发挥小组每个成员的积极性,适合于研制时间长、开发难度大的项目。适合于研制时间长、开发难度大的项目。(3)层次式小组。)层次式小组。这种组织中,组内人员分为三级。组长负责全组工作,直接领导这种组织中,组内人员分为三
13、级。组长负责全组工作,直接领导23名高级程序员,每名高级程序员,每位高级程序员管理若干名程序员。这种组织比较适合于层次结构的课题。位高级程序员管理若干名程序员。这种组织比较适合于层次结构的课题。11.2.3 程序设计小组的形式程序设计小组的形式 11.2 软件项目管理概述第11章1项目开发各阶段所需人员项目开发各阶段所需人员软件开发人员一般分为项目负责人、系统分析员、高级程序员、程序员、初级程序员、软件开发人员一般分为项目负责人、系统分析员、高级程序员、程序员、初级程序员、资料员和其他辅助人员。其中系统分析员和高级程序员是高级技术人员;后面几种是低级技资料员和其他辅助人员。其中系统分析员和高级
14、程序员是高级技术人员;后面几种是低级技术人员。根据项目规模的大小,有的人可能身兼数职,但要明确职责。术人员。根据项目规模的大小,有的人可能身兼数职,但要明确职责。软件开发人员要少而精,担任不同职责的人,要求具备的能力也不同。项目负责人需要软件开发人员要少而精,担任不同职责的人,要求具备的能力也不同。项目负责人需要具有组织能力、判断能力和对重大问题做出决策的能力;系统分析员需要有概括能力、分析具有组织能力、判断能力和对重大问题做出决策的能力;系统分析员需要有概括能力、分析能力和社交活动能力;能力和社交活动能力;程序员需要有熟练的编程能力。程序员需要有熟练的编程能力。11.2.4 人员配备人员配备
15、11.2 软件项目管理概述第11章2配备人员的原则配备人员的原则配备软件人员时,应注意以下三个主要原则配备软件人员时,应注意以下三个主要原则:重质量重质量:软件项目是技术性很强的工作,任用少量有实践经验、有能力的人员去完成关软件项目是技术性很强的工作,任用少量有实践经验、有能力的人员去完成关键性的任务,常常要比任用较多的经验不足的人员更有效。键性的任务,常常要比任用较多的经验不足的人员更有效。重培训重培训:花力气培养所需的技术人员和管理人员是有效解决人员问题的好方法。花力气培养所需的技术人员和管理人员是有效解决人员问题的好方法。双阶梯提升双阶梯提升:人员的提升应分别按技术职务和管理职务进行,不
16、能混在一起。人员的提升应分别按技术职务和管理职务进行,不能混在一起。11.2.4 人员配备人员配备11.2 软件项目管理概述第11章3项目经理人员的能力要求项目经理人员的能力要求软件项目经理人员是工作的组织者,其管理能力的强弱是项目成败的关键。除一般的管软件项目经理人员是工作的组织者,其管理能力的强弱是项目成败的关键。除一般的管理能力要求外,他还应具有以下能力理能力要求外,他还应具有以下能力:总结和表达能力。能够对用户提出的非技术性要求加以整理提炼,以技术说明书形式总结和表达能力。能够对用户提出的非技术性要求加以整理提炼,以技术说明书形式转告给分析员和测试员。转告给分析员和测试员。综合问题的能
17、力。能够把表面上似乎无关的要求集中在一起,归结为综合问题的能力。能够把表面上似乎无关的要求集中在一起,归结为“需要什么需要什么”和和“要解决什么要解决什么”,具有解决综合问题的能力。,具有解决综合问题的能力。沟通能力。要懂得心理学。能说服用户放弃一些不切实际的要求,以保证合理的要求沟通能力。要懂得心理学。能说服用户放弃一些不切实际的要求,以保证合理的要求得以满足。得以满足。11.2.4 人员配备人员配备11.3 软件开发成本估算第11章软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价,不包括原材料和软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价,不包括原材料和能源的消
18、耗,主要是人的劳动消耗。软件产品不存在重复制造过程,软件开发成本是以一次能源的消耗,主要是人的劳动消耗。软件产品不存在重复制造过程,软件开发成本是以一次性开发过程所花费的代价来计算的。因此,软件开发成本的估算,应该以整个软件开发过程性开发过程所花费的代价来计算的。因此,软件开发成本的估算,应该以整个软件开发过程所花费的代价作为依据。所花费的代价作为依据。软件具有可见性差、定量化难等特殊性,尤其对于一个大型的软件项目,由于项目的复软件具有可见性差、定量化难等特殊性,尤其对于一个大型的软件项目,由于项目的复杂性,很难在项目完成前准确地估算出开发软件所需要的工作量和费用。杂性,很难在项目完成前准确地
19、估算出开发软件所需要的工作量和费用。对于一个大型的软件项目,需要进行一系列的估算处理。成本估计不是精确的科学,因对于一个大型的软件项目,需要进行一系列的估算处理。成本估计不是精确的科学,因此应该使用几种不同的估计技术以便相互校验。此应该使用几种不同的估计技术以便相互校验。11.3 软件开发成本估算第11章常用的成本估算策略有以下四种:常用的成本估算策略有以下四种:(1)参考已经完成的类似项目,估计待开发项目的工作量和成本。)参考已经完成的类似项目,估计待开发项目的工作量和成本。(2)将大的项目分解成若干个小项目,分别对每个子项目的工作量和成本进行估算,)将大的项目分解成若干个小项目,分别对每个
20、子项目的工作量和成本进行估算,再估算整个项目的工作量和成本。再估算整个项目的工作量和成本。(3)根据软件生存周期,分别估算出软件开发各阶段的工作量和成本,然后再把这些)根据软件生存周期,分别估算出软件开发各阶段的工作量和成本,然后再把这些工作量和成本汇总,估算出整个项目的工作量和成本。工作量和成本汇总,估算出整个项目的工作量和成本。(4)根据实验或历史数据给出软件项目工作量或成本的经验估算公式。)根据实验或历史数据给出软件项目工作量或成本的经验估算公式。11.4 软件进度管理第11章1.任务分配、人力资源分配、时间分配要与工程进度相协调任务分配、人力资源分配、时间分配要与工程进度相协调2.任务
21、分解与并行化任务分解与并行化3.工作量分布。工作量分布。11.4.1 进度安排中应考虑的问题进度安排中应考虑的问题11.4 软件进度管理第11章1甘特图法甘特图法甘特图,又称横道图,这种方法基于作业排序的目的,是各项任务与时间的对照表。甘甘特图,又称横道图,这种方法基于作业排序的目的,是各项任务与时间的对照表。甘特图是先把任务分解成子任务。再用水平线表示任务的工作阶段,线段的起点和终点分别表特图是先把任务分解成子任务。再用水平线表示任务的工作阶段,线段的起点和终点分别表示任务的起始时间和结束时间,线段的长度表示完成任务所需的时间。示任务的起始时间和结束时间,线段的长度表示完成任务所需的时间。甘
22、特图的优点是直观简明,易于绘制,它标明了各任务的计划进度和当前进度,能动态甘特图的优点是直观简明,易于绘制,它标明了各任务的计划进度和当前进度,能动态反映软件开发的进展情况。其缺点是不能显式地描绘各项任务彼此间的依赖关系,进度计划反映软件开发的进展情况。其缺点是不能显式地描绘各项任务彼此间的依赖关系,进度计划中的关键阶段不明确,难于判断哪些部分应当是主攻和主控对象、计划中有潜力的部分及潜中的关键阶段不明确,难于判断哪些部分应当是主攻和主控对象、计划中有潜力的部分及潜力的大小不明确,往往造成潜力的浪费。力的大小不明确,往往造成潜力的浪费。11.4.2 进度安排方法进度安排方法 11.4 软件进度
展开阅读全文