09项目计划与管理.pptx
《09项目计划与管理.pptx》由会员分享,可在线阅读,更多相关《09项目计划与管理.pptx(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、12月月-23王如龙王如龙第 9 章 项目计划与管理软件工程第第9章章 项目计划与管理项目计划与管理/63 2与其他产品的工作项目一样,软件开发不仅取决与其他产品的工作项目一样,软件开发不仅取决于所采用的技术、方法和工具,还决定于计划与于所采用的技术、方法和工具,还决定于计划与管理的水平。两方面相辅相成,缺一不可。管理的水平。两方面相辅相成,缺一不可。软件软件 项目失败的原因主要有两个:项目失败的原因主要有两个:lIT IT 项目越来越复杂项目越来越复杂l缺乏合格的缺乏合格的IT IT项目管理人才项目管理人才不能进行有效的项目管理是导致不能进行有效的项目管理是导致IT项目失项目失控的直接原因。
2、控的直接原因。对软件和对软件和IT产业的发展起关键作用的产业的发展起关键作用的因素是掌握项目管理。因素是掌握项目管理。P.206第第9章章 项目计划与管理项目计划与管理/63 3提提 纲纲软件项目特点及软件管理功能软件项目特点及软件管理功能确定软硬件资源确定软硬件资源人员的计划和组织人员的计划和组织成本估计及控制成本估计及控制进度计划进度计划软件配置管理软件配置管理软件管理方案软件管理方案第第9章章 项目计划与管理项目计划与管理/63 49.1 软件项目特点及软件管理功能P.206软件产品与其他任何产品不同,它是无形的,软件产品与其他任何产品不同,它是无形的,完全没有物理属性。完全没有物理属性
3、。对于这样看不见、摸不着的逻辑产品,难以理对于这样看不见、摸不着的逻辑产品,难以理解,难以驾驭,但它确实是把思想、概念、算法、解,难以驾驭,但它确实是把思想、概念、算法、流程、组织、效率、优化等融合在了一起。流程、组织、效率、优化等融合在了一起。因此,要开发软件产品,在许多情况下,用户因此,要开发软件产品,在许多情况下,用户一开始给不出明确的想法,提不出确切的要求一开始给不出明确的想法,提不出确切的要求,这是很普通和正常的事情!这是很普通和正常的事情!9.1.1 软件项目的特点软件项目的特点第第9章章 项目计划与管理项目计划与管理/63 59.1 软件项目特点及软件管理功能P.206在开发的过
4、程中,程序与其他的文档常常在开发的过程中,程序与其他的文档常常需要修改。需要修改。在修改过程中又可能产生新的问题,并且在修改过程中又可能产生新的问题,并且这些问题很可能过了相当长的这些问题很可能过了相当长的时间时间以后才以后才会被发现。会被发现。文档编辑的工作量在整个项目研制过程中文档编辑的工作量在整个项目研制过程中占有很大的比重。占有很大的比重。9.1.1 软件项目的特点软件项目的特点第第9章章 项目计划与管理项目计划与管理/63 69.1 软件项目特点及软件管理功能P.206 但从实践中看,但从实践中看,人们往往人们往往对文档重对文档重视不够,视不够,它已经它已经直接影响直接影响到了到了软
5、件的软件的质量。质量。软件开发工作的技术性很强,要求参软件开发工作的技术性很强,要求参加的工作人员具有一定的技术水平和加的工作人员具有一定的技术水平和实际工作的经验。实际工作的经验。9.1.1 软件项目的特点软件项目的特点第第9章章 项目计划与管理项目计划与管理/63 79.1 软件项目特点及软件管理功能P.206软件项目的特点主要表现为以下几个方面。软件项目的特点主要表现为以下几个方面。智力密集,可见性差。智力密集,可见性差。个体作业,个体作业,单件生产单件生产。劳动密集,自动化程度低。劳动密集,自动化程度低。使用方法烦琐,维护困难。使用方法烦琐,维护困难。软件开发工作渗透了人的因素。软件开
6、发工作渗透了人的因素。生产条件复杂,通用性差。生产条件复杂,通用性差。9.1.1 软件项目的特点软件项目的特点第第9章章 项目计划与管理项目计划与管理/63 89.1 软件项目特点及软件管理功能P.207软件管理的主要功能包括以下软件管理的主要功能包括以下4方面。方面。1)制订计划:制订计划:规定待完成的任务、要求、资源、人规定待完成的任务、要求、资源、人力和进度等。力和进度等。2)建立项目组织:建立项目组织:为实施计划,保证任务的完成,为实施计划,保证任务的完成,需要建立分工明确的责任机构。需要建立分工明确的责任机构。3)配备人员:配备人员:任用各种层次的技术人员和管理人员。任用各种层次的技
7、术人员和管理人员。4)指导:指导:鼓励和动员软件人员完成所分配的工作。鼓励和动员软件人员完成所分配的工作。9.1.2 软件管理的功能软件管理的功能第第9章章 项目计划与管理项目计划与管理/63 99.1 软件项目特点及软件管理功能P.207软件计划的第一个任务就是确定软件的软件计划的第一个任务就是确定软件的工工作范围作范围,即软件的用途及对软件的要求。,即软件的用途及对软件的要求。其中主要包括软件的功能、性能、接口和其中主要包括软件的功能、性能、接口和可靠性等可靠性等4个方面。个方面。计划人员必须使用管理人员和技术人员都计划人员必须使用管理人员和技术人员都能理解的无二义性的语言来描述工作范围。
8、能理解的无二义性的语言来描述工作范围。9.1.3 确定软件项目的工作范围确定软件项目的工作范围第第9章章 项目计划与管理项目计划与管理/63 109.1 软件项目特点及软件管理功能P.207对于软件功能的要求,在某些情况下要进行求对于软件功能的要求,在某些情况下要进行求精细化,以便能够提供更多的细节,因为成本和精细化,以便能够提供更多的细节,因为成本和进度的估算都与功能有关。进度的估算都与功能有关。软件的性能包括处理时间的约束、存储限制以软件的性能包括处理时间的约束、存储限制以及依赖于机器的某些特性。及依赖于机器的某些特性。要同时考虑功能和性能,才能做出正要同时考虑功能和性能,才能做出正确的估
9、计。确的估计。9.1.3 确定软件项目的工作范围确定软件项目的工作范围第第9章章 项目计划与管理项目计划与管理/63 119.1 软件项目特点及软件管理功能P.207接口分为硬件、软件和人接口分为硬件、软件和人3类。类。1)硬件指执行该软件的硬件,如中央处理机和硬件指执行该软件的硬件,如中央处理机和外部设备,以及由该软件控制的各种间接设备,外部设备,以及由该软件控制的各种间接设备,如各种机器和显示设备等。如各种机器和显示设备等。2)软件指已有的而且必须与新开发软件连接的软件指已有的而且必须与新开发软件连接的软件,如数据库、子程序包和操作系统等。软件,如数据库、子程序包和操作系统等。3)人指通过
10、终端或输入人指通过终端或输入/输出设备使用该软件输出设备使用该软件的操作人员。的操作人员。9.1.3 确定软件项目的工作范围确定软件项目的工作范围第第9章章 项目计划与管理项目计划与管理/63 12提提 纲纲软件项目特点及软件管理功能软件项目特点及软件管理功能确定软硬件资源确定软硬件资源人员的计划和组织人员的计划和组织成本估计及控制成本估计及控制进度计划进度计划软件配置管理软件配置管理软件管理方案软件管理方案第第9章章 项目计划与管理项目计划与管理/63 139.2 确定软硬件资源P.207软件项目计划的第二个任务是对完软件项目计划的第二个任务是对完成该软件项目所需的资源进行估算。成该软件项目
11、所需的资源进行估算。图图9.1把软件开发所需的资源画成一把软件开发所需的资源画成一个金字塔个金字塔。在塔的底部是现成的用于支持软件在塔的底部是现成的用于支持软件开发的工具即软件工具及硬件工具,开发的工具即软件工具及硬件工具,在塔的高层是最基本的资源在塔的高层是最基本的资源 人。人。第第9章章 项目计划与管理项目计划与管理/63 149.2 确定软硬件资源P.207在考虑各种软件开发资源时,人是最重要在考虑各种软件开发资源时,人是最重要的资源。的资源。在安排开发活动时必须考虑人员的技术水平、在安排开发活动时必须考虑人员的技术水平、专业、人数、以及在开发过程各阶段中对各种人专业、人数、以及在开发过
12、程各阶段中对各种人员的需要。员的需要。计划人员首先估算范围并选择为完成功能开发计划人员首先估算范围并选择为完成功能开发工作所需要的技能,还要在组织状况和专业两方工作所需要的技能,还要在组织状况和专业两方面做出安排。面做出安排。9.2.1 人力资源人力资源第第9章章 项目计划与管理项目计划与管理/63 159.2 确定软硬件资源P.208在软件的计划和需求分析阶段,主要由管理人在软件的计划和需求分析阶段,主要由管理人员和高级技术人员对软件系统进行定义,初级技员和高级技术人员对软件系统进行定义,初级技术人员参与较少。术人员参与较少。对软件进行具体设计、编码及测试时,管理人员逐渐对软件进行具体设计、
13、编码及测试时,管理人员逐渐减少对开发工作的参与,高级技术人员主要在设计方面减少对开发工作的参与,高级技术人员主要在设计方面把关,大量的工作将由初级技术人员去做。把关,大量的工作将由初级技术人员去做。到了软件开发的后期,需要对软件进行检验、评价和到了软件开发的后期,需要对软件进行检验、评价和验收,管理人员和高级技术人员都将投入很多的精力。验收,管理人员和高级技术人员都将投入很多的精力。9.2.1 人力资源人力资源第第9章章 项目计划与管理项目计划与管理/63 169.2 确定软硬件资源P.208硬件也是一种软件开发工具。硬件资源包硬件也是一种软件开发工具。硬件资源包括以下括以下3类。类。1.宿主
14、机宿主机:宿主机是指在软件开发阶段使用的宿主机是指在软件开发阶段使用的计算机和有关外部设备。计算机和有关外部设备。2目标机目标机:运行所开发软件的计算机叫目标运行所开发软件的计算机叫目标机,其中也包括有关的外部设备。机,其中也包括有关的外部设备。3.其他硬件设备其他硬件设备:在进行专门软件开发时,有在进行专门软件开发时,有时需要某些特殊的硬件资源。时需要某些特殊的硬件资源。9.2.2 硬件硬件第第9章章 项目计划与管理项目计划与管理/63 179.2 确定软硬件资源P.208和硬件一样,软件也是一种软件开发和硬件一样,软件也是一种软件开发工具。软件资源包括以下两种。工具。软件资源包括以下两种。
15、支持软件支持软件实用软件实用软件9.2.3 软件软件第第9章章 项目计划与管理项目计划与管理/63 18提提 纲纲软件项目特点及软件管理功能软件项目特点及软件管理功能确定软硬件资源确定软硬件资源人员的计划和组织人员的计划和组织成本估计及控制成本估计及控制进度计划进度计划软件配置管理软件配置管理软件管理方案软件管理方案第第9章章 项目计划与管理项目计划与管理/63 199.3 人员的计划和组织P.209有多少个软件开发机构,几乎也就有多少有多少个软件开发机构,几乎也就有多少种人员的组织机构。种人员的组织机构。不管这些组织机构是好是坏,一般是不可不管这些组织机构是好是坏,一般是不可能轻易改变的。能
16、轻易改变的。尽管组织机构的改变不属于软件计划人员尽管组织机构的改变不属于软件计划人员的职责范围,但在一个新的软件项目中却的职责范围,但在一个新的软件项目中却要直接涉及人员的组织问题,也应该在软要直接涉及人员的组织问题,也应该在软件计划阶段加以认真考虑。件计划阶段加以认真考虑。第第9章章 项目计划与管理项目计划与管理/63 209.3 人员的计划和组织P.209对于一个需要对于一个需要n个人个人k年完成的软件项目,如何年完成的软件项目,如何使用人员资源,可能有以下几种选择使用人员资源,可能有以下几种选择。1)1)把把m m项不同功能的软件分配给项不同功能的软件分配给n n个人去完成个人去完成(m
17、n)(mn),他们之间,他们之间无需多少合作,主要协调的任务由一位软件主管人员来负责。无需多少合作,主要协调的任务由一位软件主管人员来负责。这样,软件主管可能同时需要管理多个不同项目。这样,软件主管可能同时需要管理多个不同项目。2)2)把把m m项不同功能的软件分配给项不同功能的软件分配给n n个人去完成个人去完成(m(mn)n),这样可,这样可能就要建立一能就要建立一 非正式的小组,并指定小组负责人,而小组之非正式的小组,并指定小组负责人,而小组之间的协调工作则由软件主管负责。间的协调工作则由软件主管负责。3)n3)n个人被组成个人被组成k k个小组,每个小组分配一个或多个功能,并个小组,每
18、个小组分配一个或多个功能,并有具体组织,协调工作由小组和软件主管共同进行。有具体组织,协调工作由小组和软件主管共同进行。第第9章章 项目计划与管理项目计划与管理/63 219.3 人员的计划和组织P.209有越来越多的证据有越来越多的证据表明,第三种方案,表明,第三种方案,即正式的小组是最即正式的小组是最好、最有效的。好、最有效的。正式小组的方案来正式小组的方案来源于源于“主程序员小主程序员小组组”的概念。主程的概念。主程序员小组的具体组序员小组的具体组织可用图织可用图9-2加以说加以说明。明。图图9-2主程序员小组主程序员小组第第9章章 项目计划与管理项目计划与管理/63 22提提 纲纲软件
19、项目特点及软件管理功能软件项目特点及软件管理功能确定软硬件资源确定软硬件资源人员的计划和组织人员的计划和组织成本估计及控制成本估计及控制进度计划进度计划软件配置管理软件配置管理软件管理方案软件管理方案第第9章章 项目计划与管理项目计划与管理/63 239.4 成本估计及控制P.210为了使开发项目能够在规定的时间内完成,而为了使开发项目能够在规定的时间内完成,而且不超过预算,成本估计和管理控制是关键。且不超过预算,成本估计和管理控制是关键。软件开发成本主要是指软件开发过程中所花费软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价。的工作量及相应的代价。它不同于其他物理产品的成本,它不
20、包括原材它不同于其他物理产品的成本,它不包括原材料和能源的消耗,主要是人的劳动的消耗。料和能源的消耗,主要是人的劳动的消耗。人的劳动消耗所需代价是软件产品的开发成本。人的劳动消耗所需代价是软件产品的开发成本。另一方面,软件产品开发成本的计算方法不同另一方面,软件产品开发成本的计算方法不同于其他物理产品成本的计算。于其他物理产品成本的计算。第第9章章 项目计划与管理项目计划与管理/63 249.4 成本估计及控制P.210软件产品不存在重复制造过程,它的软件产品不存在重复制造过程,它的开发成本是一次性开发所花费的代价开发成本是一次性开发所花费的代价来计算的。来计算的。因此软件开发成本的估算,应是
21、从软因此软件开发成本的估算,应是从软件计划、需求分析、设计、编码、单件计划、需求分析、设计、编码、单元测试、组装测试到确认测试,以整元测试、组装测试到确认测试,以整个软件开发全过程所花费的代价作为个软件开发全过程所花费的代价作为依据的。依据的。第第9章章 项目计划与管理项目计划与管理/63 259.4 成本估计及控制P.210自顶向下的估算方法自顶向下的估算方法自底向上的估算方法自底向上的估算方法差别估算方法差别估算方法9.4.1 软件开发成本估计方法软件开发成本估计方法第第9章章 项目计划与管理项目计划与管理/63 269.4 成本估计及控制P.210专家估算法是指由多位专家进行成本估算。避
22、免单专家估算法是指由多位专家进行成本估算。避免单独一位专家可能的偏见。有多种方法把这些估算值合独一位专家可能的偏见。有多种方法把这些估算值合成一个估算值。成一个估算值。例如,一种方法是简单地求各估算值的中值或平均例如,一种方法是简单地求各估算值的中值或平均值。其优点是简便,缺点是可能会由于受少数极端估值。其优点是简便,缺点是可能会由于受少数极端估计值的影响而产生严重的偏差。计值的影响而产生严重的偏差。另一种方法是召开小组会,使各位专家统一于或至另一种方法是召开小组会,使各位专家统一于或至少同意某一个估计值。优点是可以提供理想的估计值,少同意某一个估计值。优点是可以提供理想的估计值,缺点是一些组
23、员可能会受权威的影响。缺点是一些组员可能会受权威的影响。9.4.2 专家估算法专家估算法第第9章章 项目计划与管理项目计划与管理/63 279.4 成本估计及控制P.211IBM模型模型COCOMO模型模型Balley-Basili原模型原模型Schneider模型模型9.4.3 成本估算模型成本估算模型第第9章章 项目计划与管理项目计划与管理/63 28提提 纲纲软件项目特点及软件管理功能软件项目特点及软件管理功能确定软硬件资源确定软硬件资源人员的计划和组织人员的计划和组织成本估计及控制成本估计及控制进度计划进度计划软件配置管理软件配置管理软件管理方案软件管理方案第第9章章 项目计划与管理项
24、目计划与管理/63 299.5 进度计划P.213制订软件进度计划与其他工程没有很大的区制订软件进度计划与其他工程没有很大的区别,因此使用一般的通用技术和工具即可。别,因此使用一般的通用技术和工具即可。但需要强调的是软件产品是逻辑产品,这与但需要强调的是软件产品是逻辑产品,这与其他工程不同。因此当几个人共同完成任务时,其他工程不同。因此当几个人共同完成任务时,人与人之间就有一个思想交流的问题,称为通人与人之间就有一个思想交流的问题,称为通信关系。信关系。通信是要付出代价的,不只是要花时间,同通信是要付出代价的,不只是要花时间,同时由于通信中的疏忽常常会使错误增加。时由于通信中的疏忽常常会使错误
25、增加。9.5.1 软件工作的特殊性软件工作的特殊性第第9章章 项目计划与管理项目计划与管理/63 309.5 进度计划P.214如一个组有如一个组有4个个软件工程师,两软件工程师,两两之间进行通信两之间进行通信联系,通信路径联系,通信路径有有6条;条;对对6个软件工程个软件工程师,则通信路径师,则通信路径增加至增加至15条条。9.5.1 软件工作的特殊性软件工作的特殊性L=N(N-1)/2L:通信路径条数通信路径条数N:项目组人数:项目组人数第第9章章 项目计划与管理项目计划与管理/63 319.5 进度计划P.214因此所付出的代价就必然会增加,因此所付出的代价就必然会增加,所以工作组的人员
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 09 项目 计划 管理
限制150内