《软件项目计划》PPT课件.ppt
1,第7讲 软件项目计划,2,内容提要,为什么要计划何时计划基本概念WBSCPM,3,软件项目计划,目的保证在正确的时间有正确的资源可用避免不同的活动在相同的时间竞争相同的资源为每个人员分配任务实际的进度可以有标准进行衡量产生成本消耗计划根据实际情况,调整项目可行性研究协调人员,4,何时计划,计划是一个渐进、迭代的过程每次迭代,细节更丰富,也更准确每一此迭代的目的有所不同:可行性研究阶段:时间和成本估计项目开始:生成活动计划保证资源分配和资金流项目进行中:不断监控和调整项目计划,5,项目和活动,项目由一组相关的活动构成项目在至少有一个活动准备开始时才开始项目中所有的活动结束项目才结束活动必须有一个清晰的开始和清晰的结束点,一般以产生一个可交付物为标志活动需要资源,并假定在活动中资源的需求水平保持一致活动的持续时间必须可预测活动之间有优先顺序,6,确定项目中的活动,活动确定方法自顶向下的分解WBS问题:请给出每天起床的WBS,7,WBS构造方法,识别出项目(包括项目管理活动)中的主要交付物。问题:学院工资系统的交付物有哪些?主要交付物总是根据项目如何真正地组织来定义:项目生命周期的各个阶段可以作为第一层次,并将项目交付物作为第二层次每个分支的组织方法可以不一样,8,WBS验证,判断对这一层次是否能够对成本和日期进行评估,如果不能,继续分解,否则该分枝分解结束识别交付物的组成部分。组成部分必须是实际的,可验证的部件验证分解的正确性是否被分解的条目下对子项目是充分必要的?如果不是,则需要增,删或修改是否每一条目被清晰准确的定义是否每一条目能够被合适的计划,成本规划,被分配给一个合适的组织,9,WBS,输出WBS:最底下的一层被称为工作包,Work package必须与下面概念相区别:Constractual WBS,CWBS(seller to buyer)Organizational breakdown structure,OBSResource breakdown structure,RBSBill of materials,BOMProject breakdown structure,PBS,10,11,12,13,活动顺序和进度表定义,在整个项目中,我们需要一份能清晰描述活动发生的时间和所需要的资源的计划。仅仅考虑活动之间的顺序关系,我们称之为活动排序(Sequencing)逻辑设计考虑资源约束,我们称为调度(Scheduling)物理设计,14,网络计划模型,将项目活动和其关系可以表示成网络该项技术起源于二十世纪50年代CPM(关键路径法,Critical Path Method)PERT(计划评审技术,Program Evaluation Review Technique)优先网络(Precedence Networks)是上述两种模型的变种三种模型是类似的,因而经常被有些人通称为CPM,15,CPM的例子,16,CPM的构造方法/,项目网络只有一个起点项目网络只有一个终点连接有持续时间节点无持续时间时间从左到右节点顺序编号网络不包含圈,17,CPM构造方法,网络不包含悬点前继是指某活动紧前活动,Test program,Code program,Design program,Write User Manual,18,练习,下列网络图中哪些存在错误,19,CPM构造方法,哑活动(dummy activity),20,延时活动的表达,Test Prototype,Document amendments,1 day,2 days,21,活动之间的关系定义,强制依赖(Mandatory Dependencies):项目中包含工作的内在的约束自由决定的依赖(Discretionary Dependencies):由项目团队决定的关系,比如说签字后才开发外部依赖(External Dependencies):项目和非项目活动之间的依赖,22,加入时间因素,关键路径法主要关注两个目标:尽快完成整个项目识别那些一旦延期将对整个项目周期产生影响的活动活动赋予时间:考虑采用多少资源,考虑是否需要另外的时间(如等待某些信息)对每一个活动赋予持续时间后,我们可以采用前向路径(forward pass)计算项目和各个活动的最早结束时间,采用反向路径法(backward pass)计算项目和活动的最完开始时间,23,CPM中节点表示,Event number:事件代号Earliest Date:最早时间Latest Date:最晚时间Slack:,Event Number,Earliest date,Latest date,Slack,24,例子,25,例子:前向路径计算,1,26,例子:后向路径计算,1,27,关键路径识别,最早开始时间和最晚开始时间的差称为机动时间(Slack),它表示一个事件推迟多少时间可以不影响项目的结束。Slack为0的事件为关键事件,将关键事件连接起来的最长路径为关键路径关键路径的意义:必须保证关键路径上的资源和关键路径活动顺利执行要缩短整个项目周期,必须缩短关键路径,2,0,3,2,0,0,28,活动的浮动时间,具有slack事件的活动具有浮动时间。总浮动是活动的最早结束时间和最迟结束时间的差。,29,活动的浮动时间,各个活动的浮动时间是相关的,如果某个活动用了浮动时间,则后续的活动可能就没有了浮动时间。其它浮动时间:自由浮动(free float):活动的最早结束时间和紧接活动的最早开始时间的差为自由浮动时间,它不影响其它活动。阻碍浮动(interfering float):活动的自由浮动与总浮动之差,它反映了总浮动使用后,活动还能被延时多少而不影响整个项目的结束时间,30,练习,计算自由浮动和阻碍浮动时间,自由浮动(free float):活动的最早结束时间和紧接活动的最早开始时间的差为自由浮动时间,它不影响其它活动。阻碍浮动(interfering float):活动的自由浮动与总浮动之差,它反映了自由浮动使用后,活动还能被延时多少而不影响整个项目的结束时间,31,优先网络,优先网络(precedence networks)优先网络使用节点代表活动,而连接代表依赖关系,32,缩短项目时间和识别关键活动,缩短项目时间活动持续时间的缩短整个项目过程的重组识别关键活动关键路径上的活动近似关键路径:浮动时间是整个关建路径的10的路径,近似关键路径很容易变为关键路径,33,小结,为什么要计划何时计划基本概念WBSCPM,