项目计划与管理_第1页
项目计划与管理_第2页
项目计划与管理_第3页
项目计划与管理_第4页
项目计划与管理_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1月-23王如龙第9章项目计划与管理软件工程

2与其他产品的工作项目一样,软件开发不仅取决于所采用的技术、方法和工具,还决定于计划与管理的水平。两方面相辅相成,缺一不可。软件

项目失败的原因主要有两个:IT项目越来越复杂缺乏合格的IT项目管理人才不能进行有效的项目管理是导致IT项目失控的直接原因。对软件和IT产业的发展起关键作用的因素是掌握项目管理。P.206

3提纲软件项目特点及软件管理功能确定软硬件资源人员的计划和组织成本估计及控制进度计划软件配置管理软件管理方案

49.1软件项目特点及软件管理功能P.206软件产品与其他任何产品不同,它是无形的,完全没有物理属性。对于这样看不见、摸不着的逻辑产品,难以理解,难以驾驭,但它确实是把思想、概念、算法、流程、组织、效率、优化等融合在了一起。因此,要开发软件产品,在许多情况下,用户一开始给不出明确的想法,提不出确切的要求,这是很普通和正常的事情!9.1.1软件项目的特点

59.1软件项目特点及软件管理功能P.206在开发的过程中,程序与其他的文档常常需要修改。在修改过程中又可能产生新的问题,并且这些问题很可能过了相当长的时间以后才会被发现。文档编辑的工作量在整个项目研制过程中占有很大的比重。9.1.1软件项目的特点

69.1软件项目特点及软件管理功能P.206

但从实践中看,人们往往对文档重视不够,它已经直接影响到了软件的质量。软件开发工作的技术性很强,要求参加的工作人员具有一定的技术水平和实际工作的经验。9.1.1软件项目的特点

79.1软件项目特点及软件管理功能P.206软件项目的特点主要表现为以下几个方面。智力密集,可见性差。个体作业,单件生产。劳动密集,自动化程度低。使用方法烦琐,维护困难。软件开发工作渗透了人的因素。生产条件复杂,通用性差。9.1.1软件项目的特点

89.1软件项目特点及软件管理功能P.207软件管理的主要功能包括以下4方面。1)制订计划:规定待完成的任务、要求、资源、人力和进度等。2)建立项目组织:为实施计划,保证任务的完成,需要建立分工明确的责任机构。3)配备人员:任用各种层次的技术人员和管理人员。4)指导:鼓励和动员软件人员完成所分配的工作。9.1.2软件管理的功能

99.1软件项目特点及软件管理功能P.207软件计划的第一个任务就是确定软件的工作范围,即软件的用途及对软件的要求。其中主要包括软件的功能、性能、接口和可靠性等4个方面。计划人员必须使用管理人员和技术人员都能理解的无二义性的语言来描述工作范围。9.1.3确定软件项目的工作范围

109.1软件项目特点及软件管理功能P.207对于软件功能的要求,在某些情况下要进行求精细化,以便能够提供更多的细节,因为成本和进度的估算都与功能有关。软件的性能包括处理时间的约束、存储限制以及依赖于机器的某些特性。要同时考虑功能和性能,才能做出正确的估计。9.1.3确定软件项目的工作范围119.1软件项目目特点及及软件管管理功能能P.207接口分为为硬件、、软件和和人3类。1)硬件指执执行该软软件的硬硬件,如如中央处处理机和和外部设设备,以以及由该该软件控控制的各各种间接接设备,,如各种种机器和和显示设设备等。。2)软件指已已有的而而且必须须与新开开发软件件连接的的软件,,如数据据库、子子程序包包和操作作系统等等。3)人指通过过终端或或输入/输出设备备使用该该软件的的操作人人员。确定软件件项目的的工作范范围12提纲纲软件项目目特点及及软件管管理功能能确定软硬硬件资源源人员的计计划和组组织成本估计计及控制制进度计划划软件配置置管理软件管理理方案139.2确定软硬硬件资源源P.207软件项目目计划的的第二个个任务是是对完成成该软件件项目所所需的资资源进行行估算。。图9.1把软件开开发所需需的资源源画成一一个金字字塔。在塔的底底部是现现成的用用于支持持软件开开发的工工具即软软件工具具及硬件件工具,,在塔的的高层是是最基本本的资源源—人。149.2确定软硬硬件资源源P.207在考虑各各种软件件开发资资源时,,人是最最重要的的资源。。在安排开开发活动动时必须须考虑人人员的技技术水平平、专业业、人数数、以及及在开发发过程各各阶段中中对各种种人员的的需要。。计划人员员首先估估算范围围并选择择为完成成功能开开发工作作所需要要的技能能,还要要在组织织状况和和专业两两方面做做出安排排。人力资源源159.2确定软硬硬件资源源P.208在软件的的计划和和需求分分析阶段段,主要要由管理理人员和和高级技技术人员员对软件件系统进进行定义义,初级级技术人人员参与与较少。。对软件进行具具体设计、编编码及测试时时,管理人员员逐渐减少对对开发工作的的参与,高级级技术人员主主要在设计方方面把关,大大量的工作将将由初级技术术人员去做。。到了软件开发发的后期,需需要对软件进进行检验、评评价和验收,,管理人员和和高级技术人人员都将投入入很多的精力力。人力资源169.2确定软硬件资资源P.208硬件也是一种种软件开发工工具。硬件资资源包括以下下3类。1.宿主机:宿主机是指在在软件开发阶阶段使用的计计算机和有关关外部设备。。2.目标机:运行所开发软软件的计算机机叫目标机,,其中也包括括有关的外部部设备。3.其他硬件设备备:在进行专门软软件开发时,,有时需要某某些特殊的硬硬件资源。硬件179.2确定软硬件资资源P.208和硬件一样,,软件也是一一种软件开发发工具。软件件资源包括以以下两种。支持软件实用软件软件18提纲软件项目特点点及软件管理理功能确定软硬件资资源人员的计划和和组织成本估计及控控制进度计划软件配置管理理软件管理方案案199.3人员的计划和和组织P.209有多少个软件件开发机构,,几乎也就有有多少种人员员的组织机构构。不管这些组织织机构是好是是坏,一般是是不可能轻易易改变的。尽管组织机构构的改变不属属于软件计划划人员的职责责范围,但在在一个新的软软件项目中却却要直接涉及及人员的组织织问题,也应应该在软件计计划阶段加以以认真考虑。。209.3人员的计划和和组织P.209对于一个需要要n个人k年完成的软件件项目,如何何使用人员资资源,可能有有以下几种选选择。1)把m项不同功能的的软件分配给给n个人去完成(m>n),他们之间无无需多少合作作,主要协调调的任务由一一位软件主管管人员来负责责。这样,软软件主管可能能同时需要管管理多个不同同项目。2)把m项不同功能的的软件分配给给n个人去完成(m≤n),这样可能就就要建立一非非正式的小小组,并指定定小组负责人人,而小组之之间的协调工工作则由软件件主管负责。。3)n个人被组成k个小组,每个个小组分配一一个或多个功功能,并有具具体组织,协协调工作由小小组和软件主主管共同进行行。219.3人员的计划和和组织P.209有越来越多的的证据表明,,第三种方案案,即正式的的小组是最好好、最有效的的。正式小组的方方案来源于““主程序员小小组”的概念念。主程序员员小组的具体体组织可用图图9-2加以说明。图9-2主程序员小组组22提纲软件项目特点点及软件管理理功能确定软硬件资资源人员的计划和和组织成本估计及控控制进度计划软件配置管理理软件管理方案案239.4成本估计及控控制P.210为了使开发项项目能够在规规定的时间内内完成,而且且不超过预算算,成本估计计和管理控制制是关键。软件开发成本本主要是指软软件开发过程程中所花费的的工作量及相相应的代价。。它不同于其他他物理产品的的成本,它不不包括原材料料和能源的消消耗,主要是是人的劳动的的消耗。人的劳动消耗耗所需代价是是软件产品的的开发成本。。另一方面,,软件产品开开发成本的计计算方法不同同于其他物理理产品成本的的计算。249.4成本估计及控控制P.210软件产品不存存在重复制造造过程,它的的开发成本是是一次性开发发所花费的代代价来计算的的。因此软件开发发成本的估算算,应是从软软件计划、需需求分析、设设计、编码、、单元测试、、组装测试到到确认测试,,以整个软件件开发全过程程所花费的代代价作为依据据的。259.4成本估计及控控制P.210自顶向下的估估算方法自底向上的估估算方法差别估算方法法软件开发成本本估计方法269.4成本估计及控控制P.210专家估算法是是指由多位专专家进行成本本估算。避免免单独一位专专家可能的偏偏见。有多种种方法把这些些估算值合成成一个估算值值。例如,一种方方法是简单地地求各估算值值的中值或平平均值。其优优点是简便,,缺点是可能能会由于受少少数极端估计计值的影响而而产生严重的的偏差。另一种方法是是召开小组会会,使各位专专家统一于或或至少同意某某一个估计值值。优点是可可以提供理想想的估计值,,缺点是一些些组员可能会会受权威的影影响。专家估算法279.4成本估计及控控制P.211IBM模型COCOMO模型Balley-Basili原模型Schneider模型型成本本估估算算模模型型28提纲纲软件件项项目目特特点点及及软软件件管管理理功功能能确定定软软硬硬件件资资源源人员员的的计计划划和和组组织织成本本估估计计及及控控制制进度度计计划划软件件配配置置管管理理软件件管管理理方方案案299.5进度度计计划划P.213制订订软软件件进进度度计计划划与与其其他他工工程程没没有有很很大大的的区区别别,,因因此此使使用用一一般般的的通通用用技技术术和和工工具具即即可可。。但需需要要强强调调的的是是软软件件产产品品是是逻逻辑辑产产品品,,这这与与其其他他工工程程不不同同。。因因此此当当几几个个人人共共同同完完成成任任务务时时,,人人与与人人之之间间就就有有一一个个思思想想交交流流的的问问题题,,称称为为通通信信关关系系。。通信信是是要要付付出出代代价价的的,,不不只只是是要要花花时时间间,,同同时时由由于于通通信信中中的的疏疏忽忽常常常常会会使使错错误误增增加加。。软件件工工作作的的特特殊殊性性309.5进度度计计划划P.214如一一个个组组有有4个软软件件工工程程师师,,两两两两之之间间进进行行通通信信联联系系,,通通信信路路径径有有6条;;对6个软软件件工工程程师师,,则则通通信信路路径径增增加加至至15条。软件件工工作作的的特特殊殊性性L=N(N-1)/2L:通信信路路径径条条数数N:项项目目组组人人数数319.5进度度计计划划P.214因此此所所付付出出的的代代价价就就必必然然会会增增加加,,所所以以工工作作组组的的人人员员不不宜宜太太多多,,一一般般3~5人为好好,目目前一一般采采用主主程序序员组组的制制度。。另外经经常强强调的的一点点是软软件工工作切切勿中中间临临时加加入,,必须须在做做进度度计划划时考考虑周周到。。软件工工作的的特殊殊性329.5进度计计划P.214估计出出总的的工作作量以以后,,就需需要一一个可可以进进行各各阶段段工作作量分分配的的模型型。某某一阶阶段工工作量量所占占的百百分比比必须须根据据经验验数据据确定定。Pressman提出一一种称称做40-20-40的工作作量分分配规规则,,即前前期工作(计划、、需求求分析析、概概要设设计和和详细细设计计阶段段)和后期期工作作(测试阶阶段)各占40%,编编码阶阶段占占20%。各阶段段工作作量的的分配配339.5进度计计划P.214各阶段段工作作量的的分配配表9-5系统开开发阶阶段工工作量量的分分配349.5进度计计划P.214应该重重视前前期和和后期期工作作。前期工工作容容易被被忽视视的主主要原原因是是:管管理人人员认认为没没开始始编码码就算算工作作没有有进行行,他他们不不了解解前期期工作作的重重要性性;技术人人员往往往也也急于于编码码,认认为写写出代代码任任务就就算完完成了了。后期工工作也也容易易被忽忽视,,认为为编码码出来来就完完事了了。各阶段段工作作量的的分配配359.5进度计计划P.214确定进进度计划划是软软件计计划工工作中中最困困难的的一项项工作作,因为它它需要涉涉及开开发进进度这个未知量量。计划人人员要要把可可用资资源与与项目目工作作量协协调好好;要要考虑虑各项项任务务之间间的相相互依依赖关关系,,并且且尽可可能地地平行行进行行;预预见可可能出出现的的问题题和项项目的的“瓶瓶颈””,并并提出出处理理意见见;规规定进进度、、评审审和应应交付付的文文档。。制定开开发进进度369.5进度计计划P.214假设用用做变变量的的开发发时间间TD按线形形变化化,而而且已已经得得到了了总的的开发发工作作量估估计值值ED,要求求在规规定的的时间间TD内完成成,在在项目目中最最好有有参加加工作作的人人员平平均值值M,即M=ED/TD。这将是是一个个非常常有用用的数数据。。但在上上述方方程中中,项项目的的工作作量和和开发发时间间不是是独立立变量量。Brooks定律描描述了了这种种现象象的最最极端端情况况:为为误期期的软软件项项目增增加人人员将将会使使其进进度更更慢。。制定开发发进度379.5进度计划划P.214制定开发发进度表9-6系统各阶阶段的开开发进度度分配38提纲纲软件项目目特点及及软件管管理功能能确定软硬硬件资源源人员的计计划和组组织成本估计计及控制制进度计划划软件配置置管理软件管理理方案399.6软件配置置管理P.215软件生存存期各阶阶段的交交付项,,包括各各种文档档和所有有可执行行代码组组成整个个软件配配置,配配置管理理就是讨讨论这些些交付项项的管理理问题。。软件项目目配置管管理(SCM)贯穿于整整个软件件生命周周期,是是项目管管理过程程中相当当重要的的一部分分。配置管理理简单来来说是对对软件版版本进行行管理,,然而它它还远不不只这些些,它是是改进软软件过程程、提高高过程能能力成熟熟度的理理想切入入点。409.6软件配置置管理P.215因为变化化可能发发生在任任意时间,SCM活动被设设计用于于标记变变化、控控制变化化、保证证变化被被适当地地实现、、向其他他可能有有兴趣的的人员报报告变化化。明确区分分软件维维护和软软件配置置管理是是很重要要的。维维护是发发生在软软件已经经被交付付给用户户并投入入运行后后的一系系列软件件工程活活动,而软件配配置管理理则是随随着软件件项目的的开始而而开始,,并且仅仅当软件件退出后后才终止止的一组组跟踪和和控制活活动。软件配置置管理的的主要目目标是使使改进变变化可以以更容易易地被适适应,并并减少当当变化必必须发生生时所需需花费的的工作量量。419.6软件配置置管理P.215变化是软软件开发发中必然然出现的的事情。。客户希望望修改需需求,开开发者希希望修改改技术方方法,管管理者希希望修改改项目方方法。修改的原原因是随随着时间的流逝,,所有相相关人员员也就知知道更多多信息(关于客户户需要什什么、什什么方法法最好以以及如何何实施并并赚钱),这些附附加的知知识是大大多数变变化发生生的推动动力,并导致这这样一个个对于很很多软件件工程实实践者而而言难以以接受的的事实::大多数变变化是合合理的。。基线429.6软件配置置管理P.215基线是软软件配置置管理的的概念,,它帮助助大家在在不严重重阻碍合合理变化化的情况况下来控控制变化化。IEEE定义基线线如下::已经通过过正式复复审和批批准的某某规约或或产品,,它因此此可以作作为进一一步的基基础,并并且只能能通过正正式的变变化控制制过程的的改变。。基线439.6软件配置置管理P.215在软件工工程的范范围内,,基线是是软件开开发的里里程碑,,其标志志是有一一个或多多个软件件配置项项(SCI)的交付,,并且这这些SCI已经经过过正式技技术复审审而获得得认可。。例如,某某设计规规约的要要素已经经形成文文档并通通过复审审,错误误已被发发现并纠纠正,一一旦规约约的所有有部分均均通过复复审、纠纠正、认认可,则则该设计计规约就就变成了了一个基基线。基线449.6软件配置置管理P.215任何对程程序体系系结构(包括在设设计规约约中)进一步的的变化只只能在每每个变化化被评估估和批准准之后方方可进行行。虽然基线线可以在在任意的的细节层层次上定定义,但但最常见见的软件件基线如如图9-5所示。基线459.6软件配置置管理P.216基线图9-5常见的软软件基线469.6软件配置置管理P.216凡是纳入入配置管管理范畴畴的工作作成果统统称为配配置项。。配置项逻逻辑上组组成软件件系统的的各组成成部分,,一般是是可以单单独进行行设计、、实施和和测试的的。一个纯软软件的配配置项通通常也称称之为软软件配置置项,如如表所示示。软件配置置项479.6软件配置置管理P.217除了上面面列出的的ScI,很多软软件工程程组织也也将软件件工具列列入配置置之中,,即特定定版本的的编辑器器、编译译器和其其他CAsE工具被““固定””作为软软件配置置的一部部分。因为这些些工具被被用于生生成文档档、源代代码和数数据,所所以当对对软件配配置进行行改变时时,必须须要用到到它们。。软件配置置项489.6软件配置置管理P.218软件配置置管理除除了担负负控制变变化的责责任外,,还要担负负标识单单个的SCI和软件各各种版本本、审查查软件配配置以保保证开发发得以正正常进行行,以及报告告所有加加在配置置上的变变化等任任务。软件配置置管理过程程499.6软件配置置管理P.218关于SCM需要考虑虑以下一一些问题题。1)采用什么么方式标标识和管管理许多多已存在在的程序序的各种种版本使使得变化化能够有有效地实实现。2)在软件交交付用户户前后,,如何控控制变化化。3)谁有权批批准和对对变化安安排优先先级。4)如何保证证变化得得以正确确地实施施。5)利用什么办法法估计变化可可能引起的其其他问题。软件配置管理过程509.6软件配置管理理P.218以上问题归结到SCM的如下5个任务。标识配置对象象版本控制修改控制配置审计配置状态报告软件配置管理过程51提纲软件项目特点点及软件管理理功能确定软硬件资资源人员的计划和和组织成本估计及控控制进度计划软件配置管理理软件管理方案案529.7软件管理方案P.221对软件项目的的有效管理取取决于对项目目的全面计划划,也就是说说,需要提出出一个行之有有效的管理方方案。统计表明,因因软件管理方方案不当而造造成的项目失失败数占失败败总数的一半半以上。制定方案时应应该预见到可可能发生的问问题,并且预预先准备好试试探性的解决决办法。539.7软件管理方案P.221下面讨论的管管理方案适用用于大型软件件系统,这样样的系统需要要多个小组同同时参加工作作,才能在给给定的时间内内完成项目开开发任务。为大型开发项项目所制定的的方案通常包包括以下基本本内容。(1)概述一般性地叙述述开发项目,,描述方案组组织,并且概概述这个文档档其他部分的的内容。549.7软件管理方案P.221(2)阶段性方案讨论项目开发发周期--需求分析阶段段、总体设计计阶段、详细细设计阶段等等。详细说明明每个阶段应应该完成的日日期,并且指指出不同阶段段可以相互重重叠的时间等等。(3)组织方案规定开发项目目的每个小组组的具体责任任。559.7软件管理方案P.221(4)测试方案概述应进行的的测试和需要要的工具,以以及完成系统统测试的过程程和分工。(5)变动控制方案案确定在系统开开发过程中需需求变动时的的管理控制机机制。569.7软件管理方案P.221(6)文档方案定义和管理与与项目有关的的文档。(7)培训方案培训从事开发发工作的程序序员和使用系系统的用户的的方案。(8)复审和报告方方案讨论如何报告告项目的状况况,并且确定定对项目进展展情况进行正正式复审的方方案。579.7软件管理方案P.221(9)安装和运行方方案描述在用户现现场安装该系系统的过程。。(10)资源和配置方方案描述关键的细细节计划--进度、里程碑碑和按合同规规定应该交付付的系统配置置成分。(11)索引58软件工程管理理是软件工程程的重要组成成部分,只有有进行科学的的管理,才能能使先进的技技术充分发挥挥作用。对于大型的软软件开发,管管理工作尤为为重要。项目目管理是整个个管理工作的的基础。本章从费用、、人员、进度度等方面讨论论了项目管理理的基本内容容。【本章小结】P22159软件是一种逻逻辑产品,也也是开发和运运行产品的载载体。软件作为一种种产品,它表表达了由计算算机硬件体现现的计算潜能能。软件是一个信信息转换器,,能够产生、、管理、获取取、修改、显显示或转换信信息。作为开发运行行产品的载体体,软件是计计算机工作和和信息通信的的基础,也是是创建和控制制其他程序的的基础。【总结】P160信息是21世纪最重要的的产品,软件件充分体现了了这一点。通过软件处理理数据,凸显显了数据的重重要性;软件件管理商业信信息,增强了了商业竞争力力。软件不仅提供供了通往全球球信息网络的的途径,而且且也提供了获获取信息的多多种手段。【总结】P161软件工程学的的最终目的,,是以较少的的投资获得易易维护、易理理解、可靠、、高效率的软软件产品。软件工程学是是研究软件结结构、软件设设计与维护方方法、软件工工具与环境、、软件工程标标准与规范、、软件开发技技术与管理技技术的相关理理论。【总结】P862为了开发出低低成本、高质质量的软件产产品,软件工工程学应遵守守以下基本原原则。1.分解2.抽象和信息息隐蔽3.一致性4.确定性【总结】P863软件工程学是是人类认识世世界、改造社社会的智慧结结晶。掌握了软件工工程,就能够够在“科学””与“艺术””的道路上获获得成功,这这就是它的价价值所在。软件工程值得得我们认真学学习,深入应应用!【体会】9、静夜夜四无无邻,,荒居居旧业业贫。。。1月-231月-23Sunday,January1,202310、雨中黄叶叶树,灯下下白头人。。。13:31:3313:31:3313:311/1/20231:31:33PM11、以以我我独独沈沈久久,,愧愧君君相相见见频频。。。。1月月-2313:31:3313:31Jan-2301-Jan-2312、故人江海海别,几度度隔山川。。。13:31:3313:31:3313:31Sunday,January1,202313、乍乍见见翻翻疑疑梦梦,,相相悲悲各各问问年年。。。。1月月-231月月-2313:31:3313:31:33January1,202314、他他乡乡生生白白发发,,旧旧国国见见青青山山。。。。01一一月月20231:31:33下下午午13:31:331月月-2315、比不了了得就不不比,得得不到的的就不要要。。。。一月231:31下午午1月-2313:31January1,202316、行动出出成果,,工作出出财富。。。2023/1/113:31:3313:31:3301January202317、做前前,能能够环环视四四周;;做时时,你你只能能或者者最好好沿着着以脚脚为起起点的的射线线向前前。。。1:31:33下下午1:31下下午午13:31:331月-239、没没有有失失败败,,只只有有暂暂时时停停止止成成功功!!。。1月月-231月月-23Sunday,January1,202310、很多事事情努力力了未必必有结果果,但是是不努力力却什么么改

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论