第10章 软件项目管理

上传人:fgh****35 文档编号:244787043 上传时间:2024-10-06 格式:PPT 页数:48 大小:475.50KB
返回 下载 相关 举报
第10章 软件项目管理_第1页
第1页 / 共48页
第10章 软件项目管理_第2页
第2页 / 共48页
第10章 软件项目管理_第3页
第3页 / 共48页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,10/6/2024,1,第,10,章 软件项目管理,10.1,软件项目的特点和软件管理的职能,10.2,软件项目计划,10.3,软件项目组织,10.4,人员配备,10.5,软件配置管理,结束,返回,软件管理的对象是,软件工程项目,,软件管理就是对软件工程项目开发过程的管理。具体地说,就是对整个软件生存期的一切活动进行管理,以达到提高生产率、改善产品质量的目的。,1.,软件项目的特点,(,1,)智力密集,可见性差;,(,2,)单件生产;,(,3,)劳动密集、自动化程度低;,(,4,)使用方法繁琐,维护困难;,(,5,)软件工作渗透了人的因素。,第,10,章 软件项目管理,10.1,软件项目的特点和软件管理的职能,第,10,章 软件项目管理,10.1,软件项目的特点和软件管理的职能,2.,造成软件项目失误的原因,造成软件项目失误的原因主要涉及到软件项目研制中的,计划制定、进度估计、资源使用、人员配备、组织机构和管理方法,等软件管理的许多方面。,3.,软件管理的职能,(,1,)制定计划,:规定待完成的任务、要求、资源、人力和进度等。,(,2,)建立项目组织,:为实施计划,保证任务的完成,需要建立分工明确的责任机构。,(,3,)配备人员,:任用各种层次的技术人员和管理人员。,(,4,)指导,:鼓励和动员软件人员完成所分配的任务。,(,5,)检验,:对照计划或标准监督检查实施的情况。,10.2,软件项目计划,1.,软件计划的目标和风险分析,软件项目计划的目标就是要回答:软件开发项目的工作范围是什么?需要哪些资源?应花费多少工作量?需要的成本有多少?以及进度安排等一系列问题。,组织软件开发项目必须事先认清可能构成风险的因素,并研究战胜风险的对策。只有这样才能避免出现灾难性后果,取得项目的预期成果。,第,10,章 软件项目管理,2.,软件计划的类型,(,1,)项目实施计划或软件开发计划,(,2,)质量保证计划,(,3,)软件测试计划,(,4,)文档编制计划,(,5,)用户培训计划,(,6,)综合支持计划,(,7,)软件分发计划,10.2,软件项目计划,第,10,章 软件项目管理,3.,项目实施计划中任务的划分,如何进行工作划分是实施计划首先应解决的问题。常用的计划结构有:,阶段项目计划,按软件生存期,把开发工作划分为若干阶段,对每一阶段工作做出计划。再把每一阶段工作分解为若干任务,做出任务计划。还要把任务细分为若干步骤,做出步骤计划。,10.2,软件项目计划,第,10,章 软件项目管理,任务分解结构,按项目的实际情况进行自顶向下的结构化分解,形成树形任务结构。进一步把工作内容、所需工作量、预计完成的期限也规定下来。,10.2,软件项目计划,第,10,章 软件项目管理,任务分解结构,10.2,软件项目计划,第,10,章 软件项目管理,任务责任矩阵,在任务分解的基础上,把工作分配给相关的人员,用一个矩阵形表格表示任务的分工和责任。,10.2,软件项目计划,第,10,章 软件项目管理,任务责任矩阵,第,10,章 软件项目管理,4.,进度安排,进度安排的好坏往往会影响整个项目是否能按期完成,因此,这一环节十分重要。,每一个软件项目都要求制定一个进度安排。对于进度安排,需要考虑的是预先对进度如何计划?工作怎样就位?如何识别定义好的任务?管理人员对结束时间如何掌握,如何识别和控制关键路径以确保完成?对进展如何度量?以及如何建立分割任务的里程碑,?,软件项目的进度安排与任何一个工程项目的进度安排没有实质上的不同。首先识别一组项目任务,建立任务之间的相互关联,然后估算各个任务的工作量,分配人力和其他资源,指定进度时序。,10.2,软件项目计划,第,10,章 软件项目管理,(1),软件开发任务的并行性,若软件项目有多人参加时,多个开发者的活动将并行进行。如在需求分析完成并进行复审后,概要设计和制定测试计划可以并行进行;各模块的详细设计、编码与单元测试可以并行进行等。,由于软件工程活动的并行性,因此为保证开发任务的顺利进行,制定开发进度计划和制定任务之间的依赖关系十分重要。项目经理必须了解处于关键路径上的任务进展情况,如果这些任务能及时完成,则整个项目就可以按计划完成。,10.2,软件项目计划,第,10,章 软件项目管理,任务的并行性,10.2,软件项目计划,第,10,章 软件项目管理,(,2,)制定软件进度的方法,制定软件进度与其他工程没有太大的区别,主要的方法有:,Gantt,图。,工程网络图。,10.2,软件项目计划,第,10,章 软件项目管理,Gantt,图,Gantt,图是先把任务分解成子任务,然后用水平线段来描述各个任务及子任务的进度安排。,该图动态反映软件开发进度情况,它是进度计划和进度管理的有力工具。在子任务之间依赖关系不复杂的情况下常使用此种方法。,Gantt,图只能表示任务之间的并行与串行关系,难以反映多个任务之间存在的复杂关系,不能直观表示任务之间相互依赖制约关系,以及哪些任务是关键子任务等信息,因此仅仅用,Gantt,图作为进度的安排是不够的。,10.2,软件项目计划,第,10,章 软件项目管理,Gantt,图的示例,10.2,软件项目计划,第,10,章 软件项目管理,工程网络图,工程网络图是一种有向图,用圆表示事件(事件表示一项子任务的开始与结束),有向弧或箭头表示子任务的进行,箭头上的数字表示子任务的持续时间,箭头下面括号中的数字表示该任务的机动时间,图中圆的左边部分中数字表示事件号,右上部分中的数字表示前一子任务结束或后一个子任务开始的最早时刻,右下部分中的数字则表示前一子任务结束或后一子任务开始的最迟时刻。,10.2,软件项目计划,第,10,章 软件项目管理,工程网络图,10.2,软件项目计划,第,10,章 软件项目管理,持续时间,机动时间,10.3,软件项目组织,开发组织采用什么形式,要针对,软件项目的特点,来决定,同时也与参与人员的素质有关。,1.,组织原则,(1),尽早落实责任:,在软件项目工作开始时,要尽早,指定专人负责,。使他,有权进行管理,,并,对任务的完成负全责,。,(,2,)减少通信接口:,一个组织的,生产率随完成任务中存在的通信路径数目增加而降低,。要有合理的人员分工、好的组织结构、有效的通信路径,减少不必要的通信接口。,(,3,)责权均衡:,软件经理人员所负的责任不应比委任给他的权力还大。,第,10,章 软件项目管理,2.,组织结构的模式,(,1,)按课题划分的模式,把软件开发人员按课题分成小组,小组成员自始至终参加所承担课题的各项任务。他们应负责完成软件产品的定义、设计、实现、测试、复查、文档编制、甚至包括维护在内的全过程。,(,2,)按职能划分的模式,把参加开发项目的软件人员按任务的工作阶段划分成若干个专业小组。要开发的软件产品在每个专业小组完成阶段加工(即工序)以后,沿工序流水线向下传递。例如,分别建立计划组、需求分析组、设计组、实现组、系统测试组、质量保证组、维护组等。各种文档资料按工序在各组之间传递。,10.3,软件项目组织,第,10,章 软件项目管理,(,3,)矩阵形模式,这种模式实际上是以上两种模式的组合。一方面,按工作性质,成立一些专门组,如开发组、业务组、测试组等;另一方面,每一个项目又有它的经理人员负责管理。每个软件人员属于某一个专门组,又参加某一项目的工作。,10.3,软件项目组织,第,10,章 软件项目管理,矩阵形组织结构,3.,程序设计小组的组织形式,小组内部人员的组织形式对生产率也有影响。常见的组织形式有三种。,(,1,)主程序员制小组,小组的核心由一位,主程序员,(,高级工程师,),、二至五位,技术员,、一位,后援工程师,组成。主程序员负责小组全部技术活动的计划、协调与审查,设计和实现项目中的关键部分。,10.3,软件项目组织,第,10,章 软件项目管理,技术员负责项目的具体分析与开发,文档资料的编写工作。后援工程师支持主程序员的工作,为主程序员提供咨询,也做部分分析、设计和实现的工作。并在必要时能代替主程序员工作。,主程序员制小组还可以由一些,专家,(如通信专家或数据库设计专家)、,辅助人员,(如打字员和秘书)、,软件资料员,协助工作。,10.3,软件项目组织,第,10,章 软件项目管理,(,2,)民主制小组,在民主制小组中,遇到问题,组内成员之间可以平等地交换意见,,工作目标的制定及做出决定都由全体成员参加。,在民主制小组中虽然也有一位成员当组长,但工作的讨论、成果的检验都公开进行。,这种组织形式强调发挥小组每个成员的积极性。,这种组织形式适合于研制时间长、开发难度大的项目。,10.3,软件项目组织,第,10,章 软件项目管理,(,3,)层次式小组,在层次式小组中,组内人员分为 三级:,组长(项目负责人),负责全组工作,包括任务分配、技术评审和走查、掌握工作量和参加技术活动。他直接领导二至三名,高级程序员,,每位高级程序员通过基层小组,管理若干位,程序员,。,这种组织结构,只允许必要的人际通信,。比较,适用于项目本身就是层次结构的课题,。因为这样可以把项目按功能划分成若干个子项目,把子项目分配给基层小组,由基层小组完成。,这种组织方式比较适合于大型软件项目的开发。,10.3,软件项目组织,第,10,章 软件项目管理,合理配备人员是成功完成软件项目的保证。配备人员时应注意:,按不同阶段适时任用人员,恰当掌握用人标准,10.4,人员配备,第,10,章 软件项目管理,软件开发各开发阶段几类人员参与项目的程度,第,10,章 软件项目管理,10.4,人员配备,(,1,)项目开发各阶段所需人员,一个软件项目完成的快慢,取决于参与开发人员的多少。,在开发的整个过程中,多数软件项目是以恒定人力配备的,这种配备并不合理。,实际人力需求与开发进度的关系如下图中的曲线所示,。,第,10,章 软件项目管理,10.4,人员配备,软件项目的恒定人力配备,第,10,章 软件项目管理,10.4,人员配备,按此曲线,需要的人力随开发进展逐渐增加,在编码与单元测试阶段达到高峰,以后又逐渐减少。,如果恒定地配备人力,在开发初期将会有部分人力资源用不上而浪费掉。在开发中期,需要人力不够,造成进度的延误。在开发后期就需要增加人力以赶进度。,恒定地配备人力将浪费人力资源。,第,10,章 软件项目管理,10.4,人员配备,(,2,)配备人员的原则,重质量:,软件项目是一项技术性很强的工作,要任用少量有实践经验、有能力的人员去完成关键性的任务。,重培训,:培养所需技术人员和管理人员是有效解决人员问题的好方法。,双阶梯提升:,人员提升应分别按技术职务和管理职务进行,不能混在一起。,第,10,章 软件项目管理,10.4,人员配备,(,3,)对项目经理人员的要求,软件经理人员是软件项目开发工作的组织者,,他的管理能力的强弱是项目成败的关键,。他应具有以下能力:,把用户提出的非技术性要求加以整理提炼,以技术说明书的形式转告给分析员和测试员。,能说服用户放弃一些不切实际的要求,以保证合理的要求得以满足。,第,10,章 软件项目管理,10.4,人员配备,能够把表面上似乎无关的要求集中在一起,归结为“,需要什么,”,“,要解决什么问题,”。这是一种综合问题的能力。,要懂得心理学,能说服上级领导和用户,让他们理解什么是不合理的要求。但又要使他们毫不勉强,乐于接受,并受到启发。,第,10,章 软件项目管理,10.4,人员配备,(,4,)评价人员的条件,软件项目中人的因素越来越受重视。在评价和任用软件人员时,必须掌握一定的标准。,人员素质的优劣常常影响到项目的成败,。,牢固掌握计算机软件的基本知识和技能。,善于分析和综合问题,具有严密的逻辑思维能力。,工作踏实、细致,不靠碰运气,遵循标准和规范,具有严格的科学作风。,第,10,章 软件项目管理,10.
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 商业计划


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

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


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