软件工程经济学.ppt
41页第6章 软件项目的进度计划制订和团队组织6.1 基本概念与工作流程l工作(任务)分解结构(WBS)l工作(任务)分解结构(Work Breakdown Structure)是指由一系列软件项目活动所组成的层次结构lWBS的目的是为进行团队组织,并进而为工作进度计划制订和成本估算与控制打下基础lWBS的任务分解可以生命周期的阶段/活动为准则,也可以软件项目的目标或功能属性为准则lWBS的分解层次数量不限,但每层数量一般尽量不超过七个单元,最底层元素(活动)可由个人或一个工作小组(一般至多为七人)来完成表1.9 软件开发WBS任务表 阶段活动计划与需求概要设计详细设计与编码集成与测试需求分析需求调查与分析、需求描述与建模、需求确认需求更新需求更新需求更新概要设计基本体系结构设计、原型概念、模型与方法思考、风险思考、设计计划制订原型设计、模型与算法设计、风险分析 设计更新设计更新详细设计与编码开发人员、组织与工具准备、开发计划制订人员组织、工具准备、应用程序设计、文档设计详细设计、编码与单元测试、完成文档设计、编码更新计划与测试测试需求、测试计划、思考测试计划草拟、测试工具准备测试计划制订、测试工具获取软件集成与测试验证与确认验证与确认需求、验证与确认工具准备概要设计评审详细设计评审验收测试与评审项目办公室职能合同管理、项目组织计划、人员岗位考核体系制订项目分级管理、状态监控、组织协调项目分级管理、状态监控、组织协调项目分级管理、状态监控、组织协调配置管理与质量管理配置管理与质量管理需求、配置管理与质量管理计划、质量保障体系制订配置管理与质量管理设计、配置管理与质量管理工具配置管理与质量管理实施、监控质量保障体系实施配置管理与质量管理实施、监控、验收手册完成用户手册纲要、操作手册纲要用户手册、操作手册起草,维护手册起草用户手册、操作手册、维护手册修改完成用户手册、操作手册、维护手册图6.10 进度计划与团队组织工作流程 活动的逻辑顺序l若活动B的开始必须在活动A结束以后才能执行,则称B是A的后行活动,A是B的先行活动;若活动A结束后紧接着可以允许实施B活动,则称A是B的紧前活动,B是A的紧后活动。
活动逻辑顺序的确定准则l1.由客观规律与内部物质条件所决定–刚性逻辑关系l2.由人的主观意志所决定–软逻辑关系l3.依赖于外部环境或条件–外部依赖关系l4.由里程碑(项目分阶段考评的时间点)决定计划网络图l计划进度网络图(简称计划网络图)是由一系列结点和有向边(有边弧)组成的反映软件项目各活动(任务)执行内在逻辑关系的赋权有向图 l常用的计划网络图(统筹图)有节点法网络图(单代号网络图),箭线法网络图(双代号网络图)和条件箭线图法等 l箭线法计划网络图是由一系列节点和箭线(有向弧)所构成的赋权有向图,此中箭线表述项目活动(任务),在统筹图中它又称为作业、工序等,每一箭线的始端和终端均有两个节点,分别表示该活动的开始事项和终止事项 计划网络图的绘制准则l1.活动及其时间长度的图中表述l2.不允许出现回路l3.一对相邻结点间出现并行活动的处理l4.活动出现反复过程的处理l5.为加快工程进度,可人为交叉活动编号活动代号活动内容活动时长(单位:月)紧前活动1a需求分析60—2b文档45a3c测试概要10a4d概要设计20a5e系统管理40a6f测试准备18c7g详细设计与编码Ⅰ30d8h详细设计与编码Ⅱ15d、e9i配置管理与质量保证25g10j系统集成与测试35b、i、f、h表6.1 活动明细表活动时长估计6.2 进度计划的分析与求解l求得软件项目的时间计划网络图只是求解软件项目进度计划的第一步,作为项目管理人员,为了更好地对该软件项目的开发进程进行管理与控制,他们还需要解决如下五个问题:l(1)确定每个活动的开始时间和结束(完成)时间,且这样的活动开始时间与结束(完成)时间不应是硬性规定的,应允许其有一定的机动余地。
l(2)在开发方已有的资源投入下求解该软件项目的交付日期(工期),或给定工期(投资方要求)条件下来安排各活动的开始时间和结束时间l(3)为了完成工期Td目标,在整个软件项目开发过程中哪些活动是关键的?此中所谓关键活动是指由于这些活动完成的耽误或更改,将直接影响项目工期目标完成l(4)由于开发过程中各相关活动是延续进行的,因此前一活动的耽误必将影响紧后活动的完成,从而构成了一条关键线路显然关键线路及其中的每一关键活动是项目管理人员管理与控制的重点l(5)对于给定的工期目标Td,在已有项目各活动时长的条件下能否顺利完成的风险分析 各时间参数的相互关系关键路线特性关键路线求解标号算法l例6.1 已知某软件项目经工作任务分解后,得到活动明细表如表6.1l(1)绘出表6.1对应的计划网络图Gl(2)求解计划网络图G的关键路线CP和关键活动,并给出在给定活动明细表6.1状况下的软件项目交付工期Td图6.13 计算网络图图6.14 正向计算过程图6.15 逆向计算过程表6.2 活动时间参数表活动ESLSEFLFR(i, j)关键活动a0060600√b609010513530×c601077011747×d606080800√e608010012020×f701178813547×g80801101100√h10012011513520×i1101101351350√j1351351701700√表6.3 节点时间参数节点iTE(i)TL(i)R(i)关键活动端点1000√260600√37011747×480800√510012020×61101100√71351350√81701700√ 表6.4 项目进度计划方案序号活动i功能、性能、要求ES(i)EF(i)LS(i)LF(i)负责人1a…………………………张三2b李四3c………………………………………………nk………………………………大、中型软件项目总工期的概率特性 图6.16 例6.2计划网络图表6.5 某软件项目活动明细表 单位:月活动代号aijmijbijμijσij2紧后活动关键活动a34541/9b,c,e√b23431/9d√c1232—f×d24644/9g√e37117—i×f3454—h×g6714816/9i√h2343—i×i6714816/9—√总工期Td的两个特性计划难度系数 表6.6 计划难度系数表T02325272931δ0-3.892-1.94601.9463.892δ0所属的区间Δ2Δ2Δ3Δ4Δ46.3.2 开发团队的生成与组织l中、小软件项目开发任务结构 图6.18 项目团队任务结构中大软件项目阶段任务细分表6.7 阶段任务细分表 阶段活动ⅠⅡⅢⅣ1、需求分析与更新√√√√2、计划组织与控制√√√√3、概要设计√4、详细设计与编码√√√√5、验证与确认√√√6、手册编制√√√7、配置管理与质量保障√√8、硬件√√各阶段活动的全职人员数确定原则l(1)应尽量使FSPij为整数,其不足之处可由同一阶段的其他活动全职人员数合并。
l(2)软件程序规模较大时,编程或测试阶段可将程序员再分成若干个小组,为管理有效起见,每个团队小组不宜超过7人l(3)在安排各团队小组的人员配置时,应尽量使投入的每个全职人员在完成任务时在时间上具有连续性,不宜将人员频繁地调动更换工作任务表6.8 各阶段活动人数44542312共计318、硬件547、配置管理与质量保障3326、手册编制14625、验证与确认1226324、详细设计与编码123、概要设计47232、计划组织与控制37271、需求分析与更新ⅣⅢⅡⅠ 阶段活动 图6.19 项目团队组织结构图 图6.19 项目团队组织结构图 图6.19 项目团队组织结构图 。





