项目计划与管理课件

上传人:痛*** 文档编号:161545847 上传时间:2022-10-14 格式:PPT 页数:64 大小:1.25MB
返回 下载 相关 举报
项目计划与管理课件_第1页
第1页 / 共64页
项目计划与管理课件_第2页
第2页 / 共64页
项目计划与管理课件_第3页
第3页 / 共64页
点击查看更多>>
资源描述
2022-10-10王如龙王如龙第 9 章 项目计划与管理与其他产品的工作项目一样,软件开发不仅取与其他产品的工作项目一样,软件开发不仅取决于所采用的技术、方法和工具,还决定于计划决于所采用的技术、方法和工具,还决定于计划与管理的水平。两方面相辅相成,缺一不可。与管理的水平。两方面相辅相成,缺一不可。软件软件 项目失败的原因主要有两个:项目失败的原因主要有两个:lIT IT 项目越来越复杂项目越来越复杂l缺乏合格的缺乏合格的IT IT项目管理人才项目管理人才不能进行有效的项目管理是导致不能进行有效的项目管理是导致IT项目失项目失控的直接原因。控的直接原因。对软件和对软件和IT产业的发展起关键作用的产业的发展起关键作用的因素是掌握项目管理。因素是掌握项目管理。P.206提提 纲纲软件项目特点及软件管理功能软件项目特点及软件管理功能确定软硬件资源确定软硬件资源人员的计划和组织人员的计划和组织成本估计及控制成本估计及控制进度计划进度计划软件配置管理软件配置管理软件管理方案软件管理方案9.1 软件项目特点及软件管理功能P.206软件产品与其他任何产品不同,它是无形的,软件产品与其他任何产品不同,它是无形的,完全没有物理属性。完全没有物理属性。对于这样看不见、摸不着的逻辑产品,难以理对于这样看不见、摸不着的逻辑产品,难以理解,难以驾驭,但它确实是把思想、概念、算法、解,难以驾驭,但它确实是把思想、概念、算法、流程、组织、效率、优化等融合在了一起。流程、组织、效率、优化等融合在了一起。因此,要开发软件产品,在许多情况下,用户因此,要开发软件产品,在许多情况下,用户一开始给不出明确的想法,提不出确切的要求一开始给不出明确的想法,提不出确切的要求,这是很普通和正常的事情!这是很普通和正常的事情!9.1.1 软件项目的特点软件项目的特点9.1 软件项目特点及软件管理功能P.206在开发的过程中,程序与其他的文档常在开发的过程中,程序与其他的文档常常需要修改。常需要修改。在修改过程中又可能产生新的问题,并在修改过程中又可能产生新的问题,并且这些问题很可能过了相当长的且这些问题很可能过了相当长的时间时间以后以后才会被发现。才会被发现。文档编辑的工作量在整个项目研制过程文档编辑的工作量在整个项目研制过程中占有很大的比重。中占有很大的比重。9.1.1 软件项目的特点软件项目的特点9.1 软件项目特点及软件管理功能P.206 但从实践中看,但从实践中看,人们往往人们往往对文档重对文档重视不够,视不够,它已经它已经直接影响直接影响到了到了软件的软件的质量。质量。软件开发工作的技术性很强,要求参软件开发工作的技术性很强,要求参加的工作人员具有一定的技术水平和加的工作人员具有一定的技术水平和实际工作的经验。实际工作的经验。9.1.1 软件项目的特点软件项目的特点9.1 软件项目特点及软件管理功能P.206软件项目的特点主要表现为以下几个方面。软件项目的特点主要表现为以下几个方面。智力密集,可见性差。智力密集,可见性差。个体作业,个体作业,单件生产单件生产。劳动密集,自动化程度低。劳动密集,自动化程度低。使用方法烦琐,维护困难。使用方法烦琐,维护困难。软件开发工作渗透了人的因素。软件开发工作渗透了人的因素。生产条件复杂,通用性差。生产条件复杂,通用性差。9.1.1 软件项目的特点软件项目的特点9.1 软件项目特点及软件管理功能P.207软件管理的主要功能包括以下软件管理的主要功能包括以下4方面。方面。1)制订计划:制订计划:规定待完成的任务、要求、资源、人规定待完成的任务、要求、资源、人力和进度等。力和进度等。2)建立项目组织:建立项目组织:为实施计划,保证任务的完成,为实施计划,保证任务的完成,需要建立分工明确的责任机构。需要建立分工明确的责任机构。3)配备人员:配备人员:任用各种层次的技术人员和管理人员。任用各种层次的技术人员和管理人员。4)指导:指导:鼓励和动员软件人员完成所分配的工作。鼓励和动员软件人员完成所分配的工作。9.1.2 软件管理的功能软件管理的功能9.1 软件项目特点及软件管理功能P.207软件计划的第一个任务就是确定软件的软件计划的第一个任务就是确定软件的工工作范围作范围,即软件的用途及对软件的要求。,即软件的用途及对软件的要求。其中主要包括软件的功能、性能、接口和其中主要包括软件的功能、性能、接口和可靠性等可靠性等4个方面。个方面。计划人员必须使用管理人员和技术人员都计划人员必须使用管理人员和技术人员都能理解的无二义性的语言来描述工作范围。能理解的无二义性的语言来描述工作范围。9.1.3 确定软件项目的工作范围确定软件项目的工作范围9.1 软件项目特点及软件管理功能P.207对于软件功能的要求,在某些情况下要进行求对于软件功能的要求,在某些情况下要进行求精细化,以便能够提供更多的细节,因为成本和精细化,以便能够提供更多的细节,因为成本和进度的估算都与功能有关。进度的估算都与功能有关。软件的性能包括处理时间的约束、存储限制以软件的性能包括处理时间的约束、存储限制以及依赖于机器的某些特性。及依赖于机器的某些特性。要同时考虑功能和性能,才能做出正要同时考虑功能和性能,才能做出正确的估计。确的估计。9.1.3 确定软件项目的工作范围确定软件项目的工作范围9.1 软件项目特点及软件管理功能P.207接口分为硬件、软件和人接口分为硬件、软件和人3类。类。1)硬件指执行该软件的硬件,如中央处理机和硬件指执行该软件的硬件,如中央处理机和外部设备,以及由该软件控制的各种间接设外部设备,以及由该软件控制的各种间接设备,如各种机器和显示设备等。备,如各种机器和显示设备等。2)软件指已有的而且必须与新开发软件连接的软件指已有的而且必须与新开发软件连接的软件,如数据库、子程序包和操作系统等。软件,如数据库、子程序包和操作系统等。3)人指通过终端或输入人指通过终端或输入/输出设备使用该软件输出设备使用该软件的操作人员。的操作人员。9.1.3 确定软件项目的工作范围确定软件项目的工作范围提提 纲纲软件项目特点及软件管理功能软件项目特点及软件管理功能确定软硬件资源确定软硬件资源人员的计划和组织人员的计划和组织成本估计及控制成本估计及控制进度计划进度计划软件配置管理软件配置管理软件管理方案软件管理方案9.2 确定软硬件资源P.207软件项目计划的第二个任务是对完软件项目计划的第二个任务是对完成该软件项目所需的资源进行估算。成该软件项目所需的资源进行估算。图图9.1把软件开发所需的资源画成一把软件开发所需的资源画成一个金字塔个金字塔。在塔的底部是现成的用于支持软件在塔的底部是现成的用于支持软件开发的工具即软件工具及硬件工具,开发的工具即软件工具及硬件工具,在塔的高层是最基本的资源在塔的高层是最基本的资源 人。人。9.2 确定软硬件资源P.207在考虑各种软件开发资源时,人是最重在考虑各种软件开发资源时,人是最重要的资源。要的资源。在安排开发活动时必须考虑人员的技术水平、在安排开发活动时必须考虑人员的技术水平、专业、人数、以及在开发过程各阶段中对各种人专业、人数、以及在开发过程各阶段中对各种人员的需要。员的需要。计划人员首先估算范围并选择为完成功能开发计划人员首先估算范围并选择为完成功能开发工作所需要的技能,还要在组织状况和专业两方工作所需要的技能,还要在组织状况和专业两方面做出安排。面做出安排。9.2.1 人力资源人力资源9.2 确定软硬件资源P.208在软件的计划和需求分析阶段,主要由管理人在软件的计划和需求分析阶段,主要由管理人员和高级技术人员对软件系统进行定义,初级技员和高级技术人员对软件系统进行定义,初级技术人员参与较少。术人员参与较少。对软件进行具体设计、编码及测试时,管理人员逐渐对软件进行具体设计、编码及测试时,管理人员逐渐减少对开发工作的参与,高级技术人员主要在设计方面减少对开发工作的参与,高级技术人员主要在设计方面把关,大量的工作将由初级技术人员去做。把关,大量的工作将由初级技术人员去做。到了软件开发的后期,需要对软件进行检验、评价和到了软件开发的后期,需要对软件进行检验、评价和验收,管理人员和高级技术人员都将投入很多的精力。验收,管理人员和高级技术人员都将投入很多的精力。9.2.1 人力资源人力资源9.2 确定软硬件资源P.208硬件也是一种软件开发工具。硬件资源硬件也是一种软件开发工具。硬件资源包括以下包括以下3类。类。1.宿主机宿主机:宿主机是指在软件开发阶段使用宿主机是指在软件开发阶段使用的计算机和有关外部设备。的计算机和有关外部设备。2目标机目标机:运行所开发软件的计算机叫目标运行所开发软件的计算机叫目标机,其中也包括有关的外部设备。机,其中也包括有关的外部设备。3.其他硬件设备其他硬件设备:在进行专门软件开发时,在进行专门软件开发时,有时需要某些特殊的硬件资源。有时需要某些特殊的硬件资源。9.2.2 硬件硬件9.2 确定软硬件资源P.208和硬件一样,软件也是一种软件开发和硬件一样,软件也是一种软件开发工具。软件资源包括以下两种。工具。软件资源包括以下两种。支持软件支持软件 实用软件实用软件9.2.3 软件软件提提 纲纲软件项目特点及软件管理功能软件项目特点及软件管理功能确定软硬件资源确定软硬件资源人员的计划和组织人员的计划和组织成本估计及控制成本估计及控制进度计划进度计划软件配置管理软件配置管理软件管理方案软件管理方案9.3 人员的计划和组织P.209有多少个软件开发机构,几乎也就有多有多少个软件开发机构,几乎也就有多少种人员的组织机构。少种人员的组织机构。不管这些组织机构是好是坏,一般是不不管这些组织机构是好是坏,一般是不可能轻易改变的。可能轻易改变的。尽管组织机构的改变不属于软件计划人尽管组织机构的改变不属于软件计划人员的职责范围,但在一个新的软件项目中员的职责范围,但在一个新的软件项目中却要直接涉及人员的组织问题,也应该在却要直接涉及人员的组织问题,也应该在软件计划阶段加以认真考虑。软件计划阶段加以认真考虑。9.3 人员的计划和组织P.209对于一个需要对于一个需要n个人个人k年完成的软件项目,如何年完成的软件项目,如何使用人员资源,可能有以下几种选择使用人员资源,可能有以下几种选择。1)1)把把m m项不同功能的软件分配给项不同功能的软件分配给n n个人去完成个人去完成(mn)(mn),他们之间,他们之间无需多少合作,主要协调的任务由一位软件主管人员来负责。无需多少合作,主要协调的任务由一位软件主管人员来负责。这样,软件主管可能同时需要管理多个不同项目。这样,软件主管可能同时需要管理多个不同项目。2)2)把把m m项不同功能的软件分配给项不同功能的软件分配给n n个人去完成个人去完成(m(mn)n),这样可,这样可能就要建立一能就要建立一 非正式的小组,并指定小组负责人,而小组之非正式的小组,并指定小组负责人,而小组之间的协调工作则由软件主管负责。间的协调工作则由软件主管负责。3)n3)n个人被组成个人被组成k k个小组,每个小组分配一个或多个功能,并个小组,每个小组分配一个或多个功能,并有具体组织,协调工作由小组和软件主管共同进行。有具体组织,协调工作由小组和软件主管共同进行。9.3 人员的计划和组织P.209有越来越多的证有越来越多的证据表明,第三种方据表明,第三种方案,即正式的小组案,即正式的小组是最好、最有效的。是最好、最有效的。正式小组的方案正式小组的方案来源于来源于“主程序员主程序员小组小组”的概念。主的概念。主程序员小组的具体程序员小组的具体组织可用图组织可用图9-2加以加以说明。说明。图图9-2主程序员小组主程序员小组提提 纲纲软件项目特点及软件管理功能软件项目特点及软件管理功能确定软硬件资源确定软硬件资源人员的计划和组织人员的计划和组织成本估计及控制成本估计及控制进度计划进度计划软件配置管理软件配置管理软件管理方案软件管理方案9.4 成本估计及控制P.210为了使开发项目能够在规定的时间内完成,而为了使开发项目能够在规定的时间内完成,而且不超过预算,成本估计和管理控制是关键。且不超过预算,成本估计和管理控制是关键。软件开发成本主要是指软件开发过程中所花费软件开发成本主要是指软件开发过程中所花费的工作量及相应的代价。的工作量及相应的代价。它不同于其他物理产品的成本,它不包括原材它不同于其他物理产品的成本,它不包括原材料和能源的消耗,主要是人的劳动的消耗。料和能源的消耗,主要是人的劳动的消耗。人的劳动消耗所需代价是软件产品的开发成本。人的劳动消耗所需代价是软件产品的开发成本。另一方面,软件产品开发成本的计算方法不同另一方面,软件产品开发成本的计算方法不同于其他物理产品成本的计算。于其他物理产品成本的计算。9.4 成本估计及控制P.210软件产品不存在重复制造过程,它软件产品不存在重复制造过程,它的开发成本是一次性开发所花费的代的开发成本是一次性开发所花费的代价来计算的。价来计算的。因此软件开发成本的估算,应是从因此软件开发成本的估算,应是从软件计划、需求分析、设计、编码、软件计划、需求分析、设计、编码、单元测试、组装测试到确认测试,以单元测试、组装测试到确认测试,以整个软件开发全过程所花费的代价作整个软件开发全过程所花费的代价作为依据的。为依据的。9.4 成本估计及控制P.210 自顶向下的估算方法自顶向下的估算方法 自底向上的估算方法自底向上的估算方法 差别估算方法差别估算方法9.4.1 软件开发成本估计方法软件开发成本估计方法9.4 成本估计及控制P.210专家估算法是指由多位专家进行成本估算。避免单专家估算法是指由多位专家进行成本估算。避免单独一位专家可能的偏见。有多种方法把这些估算值合独一位专家可能的偏见。有多种方法把这些估算值合成一个估算值。成一个估算值。例如,一种方法是简单地求各估算值的中值或平均例如,一种方法是简单地求各估算值的中值或平均值。其优点是简便,缺点是可能会由于受少数极端估值。其优点是简便,缺点是可能会由于受少数极端估计值的影响而产生严重的偏差。计值的影响而产生严重的偏差。另一种方法是召开小组会,使各位专家统一于或至另一种方法是召开小组会,使各位专家统一于或至少同意某一个估计值。优点是可以提供理想的估计值,少同意某一个估计值。优点是可以提供理想的估计值,缺点是一些组员可能会受权威的影响。缺点是一些组员可能会受权威的影响。9.4.2 专家估算法专家估算法9.4 成本估计及控制P.211IBM模型模型COCOMO模型模型Balley-Basili原模型原模型Schneider模型模型9.4.3 成本估算模型成本估算模型提提 纲纲软件项目特点及软件管理功能软件项目特点及软件管理功能确定软硬件资源确定软硬件资源人员的计划和组织人员的计划和组织成本估计及控制成本估计及控制进度计划进度计划软件配置管理软件配置管理软件管理方案软件管理方案9.5 进度计划P.213制订软件进度计划与其他工程没有很大的区制订软件进度计划与其他工程没有很大的区别,因此使用一般的通用技术和工具即可。别,因此使用一般的通用技术和工具即可。但需要强调的是软件产品是逻辑产品,这与但需要强调的是软件产品是逻辑产品,这与其他工程不同。因此当几个人共同完成任务时,其他工程不同。因此当几个人共同完成任务时,人与人之间就有一个思想交流的问题,称为通人与人之间就有一个思想交流的问题,称为通信关系。信关系。通信是要付出代价的,不只是要花时间,同通信是要付出代价的,不只是要花时间,同时由于通信中的疏忽常常会使错误增加。时由于通信中的疏忽常常会使错误增加。9.5.1 软件工作的特殊性软件工作的特殊性9.5 进度计划P.214如一个组有如一个组有4个个软件工程师,两软件工程师,两两之间进行通信两之间进行通信联系,通信路径联系,通信路径有有6条;条;对对6个软件工程个软件工程师,则通信路径师,则通信路径增加至增加至15条条。9.5.1 软件工作的特殊性软件工作的特殊性L=N(N-1)/2L:通信路径条数:通信路径条数N:项目组人数:项目组人数9.5 进度计划P.214因此所付出的代价就必然会增加,因此所付出的代价就必然会增加,所以工作组的人员不宜太多,一般所以工作组的人员不宜太多,一般35人为好,目前一般采用主程序员人为好,目前一般采用主程序员组的制度。组的制度。另外经常强调的一点是软件工作切另外经常强调的一点是软件工作切勿中间临时加入,必须在做进度计划勿中间临时加入,必须在做进度计划时考虑周到。时考虑周到。9.5.1 软件工作的特殊性软件工作的特殊性9.5 进度计划P.214估计出总的工作量以后,就需要一个可估计出总的工作量以后,就需要一个可以进行各阶段工作量分配的模型。某一阶以进行各阶段工作量分配的模型。某一阶段工作量所占的百分比必须根据经验数据段工作量所占的百分比必须根据经验数据确定。确定。Pressman提出一种称做提出一种称做40-20-40的工作的工作量分配规则,即前期量分配规则,即前期工作工作(计划、需求分析、计划、需求分析、概要设计和详细设计阶段概要设计和详细设计阶段)和后期工作和后期工作(测试阶测试阶段段)各占各占40,编码阶段占,编码阶段占20。9.5.2 各阶段工作量的分配各阶段工作量的分配9.5 进度计划P.2149.5.2 各阶段工作量的分配各阶段工作量的分配表表9-5 系统开发阶段工作量的分配系统开发阶段工作量的分配9.5 进度计划P.214应该重视前期和后期工作。应该重视前期和后期工作。前期工作容易被忽视的主要原因是:管理人前期工作容易被忽视的主要原因是:管理人员认为没开始编码就算工作没有进行,他们不员认为没开始编码就算工作没有进行,他们不了解前期工作的重要性;了解前期工作的重要性;技术人员往往也急于编码,认为写出代码任技术人员往往也急于编码,认为写出代码任务就算完成了。务就算完成了。后期工作也容易被忽视,认为编码出来就完后期工作也容易被忽视,认为编码出来就完事了。事了。9.5.2 各阶段工作量的分配各阶段工作量的分配9.5 进度计划P.214确定进确定进度计划是软件计划工作中最困难度计划是软件计划工作中最困难的一项工作,的一项工作,因为它因为它需要涉及开发进度需要涉及开发进度这这个个未知量未知量。计划人员要把可用资源与项目工作量协调好;计划人员要把可用资源与项目工作量协调好;要考虑各项任务之间的相互依赖关系,并且尽要考虑各项任务之间的相互依赖关系,并且尽可能地平行进行;预见可能出现的问题和项目可能地平行进行;预见可能出现的问题和项目的的“瓶颈瓶颈”,并提出处理意见;规定进度、评,并提出处理意见;规定进度、评审和应交付的文档。审和应交付的文档。9.5.3 制定开发进度制定开发进度9.5 进度计划P.214假设用做变量的开发时间假设用做变量的开发时间TD按线形变化,而且按线形变化,而且已经得到了总的开发工作量估计值已经得到了总的开发工作量估计值ED,要求在,要求在规定的时间规定的时间TD内完成,在项目中最好有参加工内完成,在项目中最好有参加工作的人员平均值作的人员平均值M,即,即M=ED/TD。这将是一个这将是一个非常有用的数据。非常有用的数据。但在上述方程中,项目的工作量和开发时间不但在上述方程中,项目的工作量和开发时间不是独立变量。是独立变量。Brooks定律描述了这种现象的定律描述了这种现象的最极端情况:为误期的软件项目增加人员最极端情况:为误期的软件项目增加人员将会使其进度更慢。将会使其进度更慢。9.5.3 制定开发进度制定开发进度9.5 进度计划P.2149.5.3 制定开发进度制定开发进度表表9-6系统各阶段的开发进度系统各阶段的开发进度分配分配提提 纲纲软件项目特点及软件管理功能软件项目特点及软件管理功能确定软硬件资源确定软硬件资源人员的计划和组织人员的计划和组织成本估计及控制成本估计及控制进度计划进度计划软件配置管理软件配置管理软件管理方案软件管理方案9.6 软件配置管理P.215软件生存期各阶段的交付项,包括各种文档和软件生存期各阶段的交付项,包括各种文档和所有可执行代码组成整个软件配置,配置管理就所有可执行代码组成整个软件配置,配置管理就是讨论这些交付项的管理问题。是讨论这些交付项的管理问题。软件项目配置管理软件项目配置管理(SCM)贯穿于整个软贯穿于整个软件生命周期,是项目管理过程中相当重要件生命周期,是项目管理过程中相当重要的一部分。的一部分。配置管理简单来说是对软件版本进行管理,配置管理简单来说是对软件版本进行管理,然而它还远不只这些,它是改进软件过程、然而它还远不只这些,它是改进软件过程、提高过程能力成熟度的理想切入点。提高过程能力成熟度的理想切入点。9.6 软件配置管理P.215因为变化可能发生在任意因为变化可能发生在任意时间时间,SCM活动被设计用于活动被设计用于标记变化、控制变化、保证变化被适当地实现、向其他标记变化、控制变化、保证变化被适当地实现、向其他可能有兴趣的人员报告变化。可能有兴趣的人员报告变化。明确区分软件维护和软件配置管理是很重要的。维护明确区分软件维护和软件配置管理是很重要的。维护是发生在软件已经被交付给用户并投入运行后的一系列是发生在软件已经被交付给用户并投入运行后的一系列软件工程活动,软件工程活动,而软件配置管理则是随着软件项目的开始而开始,并而软件配置管理则是随着软件项目的开始而开始,并且仅当软件退出后才终止的一组跟踪和控制活动。且仅当软件退出后才终止的一组跟踪和控制活动。软件配置管理的主要目标是使改进变化可以更容易地软件配置管理的主要目标是使改进变化可以更容易地被适应,并减少当变化必须发生时所需花费的工作量。被适应,并减少当变化必须发生时所需花费的工作量。9.6 软件配置管理P.215变化是软件开发中必然出现的事情。变化是软件开发中必然出现的事情。客户客户希望修改需求,开发者希望修改技术方法,管理希望修改需求,开发者希望修改技术方法,管理者希望修改项目方法。者希望修改项目方法。修改的原因是随着修改的原因是随着时间时间的流逝,所有相关人员的流逝,所有相关人员也就知道更多信息也就知道更多信息(关于客户需要什么、什么方法最关于客户需要什么、什么方法最好以及如何实施并赚钱好以及如何实施并赚钱),这些附加的知识是大多数,这些附加的知识是大多数变化发生的推动力,变化发生的推动力,并导致这样一个对于很多软件工程实践者而言并导致这样一个对于很多软件工程实践者而言难以接受的事实:难以接受的事实:大多数变化是合理的。大多数变化是合理的。9.6.1 基线基线9.6 软件配置管理P.215基线是软件配置管理的概念,它帮助大家在不基线是软件配置管理的概念,它帮助大家在不严重阻碍合理变化的情况下来控制变化。严重阻碍合理变化的情况下来控制变化。IEEE定义基线如下:定义基线如下:已经通过正式复已经通过正式复审和批准的某规约或产品,它因此审和批准的某规约或产品,它因此可以作为进一步的基础,并且只能可以作为进一步的基础,并且只能通过正式的变化控制过程的改变。通过正式的变化控制过程的改变。9.6.1 基线基线9.6 软件配置管理P.215在软件工程的范围内,基线是软件开发的里程在软件工程的范围内,基线是软件开发的里程碑,其标志是有一个或多个软件配置项碑,其标志是有一个或多个软件配置项(SCI)的交的交付,并且这些付,并且这些SCI已经经过正式技术复审而获得已经经过正式技术复审而获得认可。认可。例如,某设计规约的要素已经形成文档并通过例如,某设计规约的要素已经形成文档并通过复审,错误已被发现并纠正,一旦规约的所有部复审,错误已被发现并纠正,一旦规约的所有部分均通过复审、纠正、认可,则该设计规约就变分均通过复审、纠正、认可,则该设计规约就变成了一个基线。成了一个基线。9.6.1 基线基线9.6 软件配置管理P.215任何对程序体系结构任何对程序体系结构(包括在设计包括在设计规约中规约中)进一步的变化只能在每个变进一步的变化只能在每个变化被评估和批准之后方可进行。化被评估和批准之后方可进行。虽然基线可以在任意的细节层次虽然基线可以在任意的细节层次上定义,但最常见的软件基线如图上定义,但最常见的软件基线如图9-5所示。所示。9.6.1 基线基线9.6 软件配置管理P.2169.6.1 基线基线图图9-5 常见的软件常见的软件基线基线9.6 软件配置管理P.216凡是纳入配置管理范凡是纳入配置管理范畴的工作成果统称为配畴的工作成果统称为配置项。置项。配置项逻辑上组成软配置项逻辑上组成软件系统的各组成部分,件系统的各组成部分,一般是可以单独进行设一般是可以单独进行设计、实施和测试的。计、实施和测试的。一个纯软件的配置项一个纯软件的配置项通常也称之为软件配置通常也称之为软件配置项,如表所示。项,如表所示。9.6.2 软件配置项软件配置项9.6 软件配置管理P.217除了上面列出的除了上面列出的ScI,很多软件工程组,很多软件工程组织也将软件工具列入配置之中,即特定版织也将软件工具列入配置之中,即特定版本的编辑器、编译器和其他本的编辑器、编译器和其他CAsE工具被工具被“固定固定”作为软件配置的一部分。作为软件配置的一部分。因为这些工具被用于生成文档、源代码因为这些工具被用于生成文档、源代码和数据,所以当对软件配置进行改变时,和数据,所以当对软件配置进行改变时,必须要用到它们。必须要用到它们。9.6.2 软件配置项软件配置项9.6 软件配置管理P.218软件配置管理除了担负控制变化的责任软件配置管理除了担负控制变化的责任外,外,还要担负标识单个的还要担负标识单个的SCI和软件各种版和软件各种版本、审查软件配置以保证开发得以正常进本、审查软件配置以保证开发得以正常进行,行,以及报告所有加在配置上的变化等任务。以及报告所有加在配置上的变化等任务。9.6.3 软件配置软件配置管理过程管理过程9.6 软件配置管理P.218关于关于SCM需要考虑以下一些问题。需要考虑以下一些问题。1)1)采用什么方式标识和管理许多已存在的程序采用什么方式标识和管理许多已存在的程序的各种版本使得变化能够有效地实现。的各种版本使得变化能够有效地实现。2)2)在软件交付用户前后,如何控制变化。在软件交付用户前后,如何控制变化。3)3)谁有权批准和对变化安排优先级。谁有权批准和对变化安排优先级。4)4)如何保证变化得以正确地实施。如何保证变化得以正确地实施。5)5)利用什么办法估计变化可能引起的其他问题。利用什么办法估计变化可能引起的其他问题。9.6.3 软件配置软件配置管理过程管理过程9.6 软件配置管理P.218以上以上问题归结到问题归结到SCM的的如下如下5个任务个任务。标识配置对象标识配置对象版本控制版本控制修改控制修改控制配置审计配置审计配置配置状态状态报告报告9.6.3 软件配置软件配置管理过程管理过程提提 纲纲软件项目特点及软件管理功能软件项目特点及软件管理功能确定软硬件资源确定软硬件资源人员的计划和组织人员的计划和组织成本估计及控制成本估计及控制进度计划进度计划软件配置管理软件配置管理软件管理方案软件管理方案9.7 软件管理方案P.221对软件项目的有效管理取决于对项目的全对软件项目的有效管理取决于对项目的全面计划,也就是说,需要提出一个行之有效面计划,也就是说,需要提出一个行之有效的管理方案。的管理方案。统计表明,因软件管理方案不当而造成的统计表明,因软件管理方案不当而造成的项目失败数占失败总数的一半以上。项目失败数占失败总数的一半以上。制定方案时应该预见到可能发生的问制定方案时应该预见到可能发生的问题,并且预先准备好试探性的解决办法。题,并且预先准备好试探性的解决办法。9.7 软件管理方案P.221下面讨论的管理方案适用于大型软件系统,下面讨论的管理方案适用于大型软件系统,这样的系统需要多个小组同时参加工作,才能这样的系统需要多个小组同时参加工作,才能在给定的时间内完成项目开发任务。在给定的时间内完成项目开发任务。为大型开发项目所制定的方案通常包括以下为大型开发项目所制定的方案通常包括以下基本内容。基本内容。(1)概述概述一般性地叙述开发项目,描述方案组织,并一般性地叙述开发项目,描述方案组织,并且概述这个文档其他部分的内容。且概述这个文档其他部分的内容。9.7 软件管理方案P.221(2)阶段性方案阶段性方案讨论项目开发周期讨论项目开发周期-需求分析阶段、总体设需求分析阶段、总体设计阶段、详细设计阶段等。详细说明每个阶计阶段、详细设计阶段等。详细说明每个阶段应该完成的日期,并且指出不同阶段可以段应该完成的日期,并且指出不同阶段可以相互重叠的时间等。相互重叠的时间等。(3)组织方案组织方案规定开发项目的每个小组的具体责任。规定开发项目的每个小组的具体责任。9.7 软件管理方案P.221(4)测试方案测试方案概述应进行的测试和需要的工具,以及完成概述应进行的测试和需要的工具,以及完成系统测试的过程和分工。系统测试的过程和分工。(5)变动控制方案变动控制方案确定在系统开发过程中需求变动时的管理控确定在系统开发过程中需求变动时的管理控制机制。制机制。9.7 软件管理方案P.221(6)文档方案文档方案定义和管理与项目有关的文档。定义和管理与项目有关的文档。(7)培训方案培训方案培训从事开发工作的程序员和使用系统的用培训从事开发工作的程序员和使用系统的用户的方案。户的方案。(8)复审和报告方案复审和报告方案讨论如何报告项目的状况,并且确定对项目讨论如何报告项目的状况,并且确定对项目进展情况进行正式复审的方案。进展情况进行正式复审的方案。9.7 软件管理方案P.221(9)安装和运行方案安装和运行方案描述在用户现场安装该系统的过程。描述在用户现场安装该系统的过程。(10)资源和配置方案资源和配置方案描述关键的细节计划描述关键的细节计划-进度、里程碑和按合进度、里程碑和按合同规定应该交付的系统配置成分。同规定应该交付的系统配置成分。(11)索引索引软件工程管理是软件工程的重要组成软件工程管理是软件工程的重要组成部分,只有进行科学的管理,才能使先部分,只有进行科学的管理,才能使先进的技术充分发挥作用。进的技术充分发挥作用。对于大型的软件开发,管理工作尤为对于大型的软件开发,管理工作尤为重要。项目管理是整个管理工作的基础。重要。项目管理是整个管理工作的基础。本章从费用、人员、进度等方面讨论本章从费用、人员、进度等方面讨论了项目管理的基本内容。了项目管理的基本内容。【本章小结本章小结】P221软件是一种逻辑产品,也是开发和运行产品的载软件是一种逻辑产品,也是开发和运行产品的载体。体。软件作为一种产品,它表达了由计算机硬件体现软件作为一种产品,它表达了由计算机硬件体现的计算潜能。的计算潜能。软件是一个信息转换器,能够产生、管理、获取、软件是一个信息转换器,能够产生、管理、获取、修改、显示或转换信息。修改、显示或转换信息。作为开发运行产品的载体,软件是计算机工作和作为开发运行产品的载体,软件是计算机工作和信息通信的基础,也是创建和控制其他程序的基信息通信的基础,也是创建和控制其他程序的基础。础。【总结总结】P1信息是信息是21 21世纪最重要的产品,软件充分世纪最重要的产品,软件充分体现了这一点。体现了这一点。通过软件处理数据,凸显了数据的重要通过软件处理数据,凸显了数据的重要性;软件管理商业信息,增强了商业竞性;软件管理商业信息,增强了商业竞争力。争力。软件不仅提供了通往全球信息网络的途软件不仅提供了通往全球信息网络的途径,而且也提供了获取信息的多种手段。径,而且也提供了获取信息的多种手段。【总结总结】P1软件工程学的最终目的,是以较少软件工程学的最终目的,是以较少的投资获得易维护、易理解、可靠、的投资获得易维护、易理解、可靠、高效率的软件产品。高效率的软件产品。软件工程学是研究软件结构、软件软件工程学是研究软件结构、软件设计与维护方法、软件工具与环境、设计与维护方法、软件工具与环境、软件工程标准与规范、软件开发技软件工程标准与规范、软件开发技术与管理技术的相关理论。术与管理技术的相关理论。【总结总结】P8为了开发出低成本、高质量的软件为了开发出低成本、高质量的软件产品,软件工程学应遵守以下基本产品,软件工程学应遵守以下基本原则。原则。1 1分解分解2 2抽象和信息隐蔽抽象和信息隐蔽3 3一致性一致性4 4确定性确定性【总结总结】P8软件工程学是人类认识世界、改造软件工程学是人类认识世界、改造社会的智慧结晶。社会的智慧结晶。掌握了软件工程,就能够在掌握了软件工程,就能够在“科学科学”与与“艺术艺术”的道路上获得成功,这的道路上获得成功,这就是它的价值所在。就是它的价值所在。软件工程值得我们认真学习,深入软件工程值得我们认真学习,深入应用!应用!【体会体会】9、静夜四无邻,荒居旧业贫。2022-10-102022-10-10Monday,October 10,202210、雨中黄叶树,灯下白头人。2022-10-102022-10-102022-10-1010/10/2022 8:13:41 AM11、以我独沈久,愧君相见频。2022-10-102022-10-102022-10-10Oct-2210-Oct-2212、故人江海别,几度隔山川。2022-10-102022-10-102022-10-10Monday,October 10,202213、乍见翻疑梦,相悲各问年。2022-10-102022-10-102022-10-102022-10-1010/10/202214、他乡生白发,旧国见青山。2022年10月10日星期一2022-10-102022-10-102022-10-1015、比不了得就不比,得不到的就不要。2022年10月2022-10-102022-10-102022-10-1010/10/202216、行动出成果,工作出财富。2022-10-102022-10-10October 10,202217、做前,能够环视四周;做时,你只能或者最好沿着以脚为起点的射线向前。2022-10-102022-10-102022-10-102022-10-109、没有失败,只有暂时停止成功!。2022-10-102022-10-10Monday,October 10,202210、很多事情努力了未必有结果,但是不努力却什么改变也没有。2022-10-102022-10-102022-10-1010/10/2022 8:13:41 AM11、成功就是日复一日那一点点小小努力的积累。2022-10-102022-10-102022-10-10Oct-2210-Oct-2212、世间成事,不求其绝对圆满,留一份不足,可得无限完美。2022-10-102022-10-102022-10-10Monday,October 10,202213、不知香积寺,数里入云峰。2022-10-102022-10-102022-10-102022-10-1010/10/202214、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2022年10月10日星期一2022-10-102022-10-102022-10-1015、楚塞三湘接,荆门九派通。2022年10月2022-10-102022-10-102022-10-1010/10/202216、少年十五二十时,步行夺得胡马骑。2022-10-102022-10-10October 10,202217、空山新雨后,天气晚来秋。2022-10-102022-10-102022-10-102022-10-109、杨柳散和风,青山澹吾虑。2022-10-102022-10-10Monday,October 10,202210、阅读一切好书如同和过去最杰出的人谈话。2022-10-102022-10-102022-10-1010/10/2022 8:13:41 AM11、越是没有本领的就越加自命不凡。2022-10-102022-10-102022-10-10Oct-2210-Oct-2212、越是无能的人,越喜欢挑剔别人的错儿。2022-10-102022-10-102022-10-10Monday,October 10,202213、知人者智,自知者明。胜人者有力,自胜者强。2022-10-102022-10-102022-10-102022-10-1010/10/202214、意志坚强的人能把世界放在手中像泥块一样任意揉捏。2022年10月10日星期一2022-10-102022-10-102022-10-1015、最具挑战性的挑战莫过于提升自我。2022年10月2022-10-102022-10-102022-10-1010/10/202216、业余生活要有意义,不要越轨。2022-10-102022-10-10October 10,202217、一个人即使已登上顶峰,也仍要自强不息。2022-10-102022-10-102022-10-102022-10-10MOMODA POWERPOINTLorem ipsum dolor sit,eleifend nulla ac,fringilla purus.Nulla iaculis tempor felis amet,consectetur adipiscing elit.Fusce id urna blanditut cursus.感谢您的下载观看感谢您的下载观看专家告诉
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 管理文书 > 施工组织


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!