欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    软件项目开发计划.ppt.ppt

    • 资源ID:2729707       资源大小:1.72MB        全文页数:103页
    • 资源格式: PPT        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    软件项目开发计划.ppt.ppt

    项目分解目的 明确项目所包含的各项工作项目分解的结果WBS(任务分解结构)图,它是一个分级的树型结构项目分解意义 WBS(任务分解结构)图是实施项目、创造最终产品或服务所必须进行的全部活动的一张清单,也是进度计划、人员分配、预算计划的基础 提高估算成本、时间和资源的准确性,使工作变得更细化,分工更明确。WBS Work Breakdown Structure,16.1软件项目任务分解,WBS分解类型基于可交付成果的划分上层一般为可交付成果为导向下层一般为可交付成果的工作内容基于工作过程的划分上层按照工作的流程分解下层按照工作的内容划分,16.1软件项目任务分解,基于可交付成果的划分WBS举例:信息网络工程,16.1软件项目任务分解,基于工作过程的划分WBS举例:网络系统工程,16.1软件项目任务分解,WBS表达形式层次结构图和清单列表(锯齿列表),16.1软件项目任务分解,WBS工作编码 由高层向下层用多位码编排,要求每项工作有唯一的编码。10001100111011111112111311201121112211231200,16.1软件项目任务分解,WBS工作编码举例:企业经营评价系统项目,16.1软件项目任务分解,项目工作分解结构表,16.1软件项目任务分解,WBS分解注意事项WBS分解的规模和数量因项目而异收集与项目相关的所有信息参看一下类似的项目的WBS,与相关人员讨论可以参照相关模板最低层是可控的和可管理的,但是避免不必要的过细,最好不要超过7层,软件项目推荐分解到40小时的任务每个Work package必须有一个提交物,16.1软件项目任务分解,定义任务完成的标准每个WBS必须有利于责任分配可以准备WBS的字典最后与相关人员进行评审,16.1软件项目任务分解,案例讨论假如您要在自己的家里举行一次生日宴会,请按WBS为你制定一份工作的分解计划?假如贵公司进行成立10周年庆典活动,如果请你负责此次活动,你将如何分析此次活动所应包含的工作?,16.1软件项目任务分解,16.2软件项目估算的概念,1、什么是软件项目估算,指预测构造软件项目所需要的工作量以及任务经历时间的过程。软件项目估算包括 规模(即工作量)估算 成本估算 进度估算。初步的估算用于确定软件项目的可行性;详细的估算用于指导项目计划的制定。,16.2软件项目估算的概念,2、软件项目估算遇到的问题,预算及进度的现实性缺乏确凿的证据;在设计阶段进行实际的软硬件权衡分析时没有可靠的依据,导致软件成本大幅度增长;项目经理在确定各开发阶段及活动需要的时间和工作量时没有可靠的依据,使得项目经理无法确定软件开发工作是否在按计划执行。,16.2软件项目估算的概念,3、软件项目估算的时机,软件项目估算的时间点,(1)客户需求 时间点E1的估算可以为软件组织提供初步信息,决定将开发的软件是否对本组织有利。,(2)产品定义 时间点E2的估算有助于软件组织在进入产品开发之前再次权衡产品的可行性。,(3)系统设计 时间点E3的估算主要考虑如何将设计好的系统开发出来及有没有被忽视的问题,不会决定是否终止项目,但会影响以后各阶段资源的分配。,(4)系统实现 初步的软件产品可用于系统测试,前面各项活动耗费的资源和软件工作可以获得,从而对原有估算进行调整。,(5)系统运行 所有不确定因素成为已知量,估算工作是对估算过程的评价。,16.3软件项目规模估算,软件规模,即软件的程序量。软件规模是软件工作量的主要影响因素。对软件规模的估计要从软件的分解开始。软件的分层结构对应工作分解结构(WBS)。软件项目规模的估算是指从软件项目范围中抽出软件功能,确定每个软件功能所必须执行的一系列软件工程任务。,软件项目规模估算的概念,16.3软件项目规模估算,软件项目规模估算过程,在技术允许的条件下,应从最详细的WBS开始;精确定义度量的标准;估计底层每一模块的规模,汇总以得到总体估计;适当考虑偶然因素的影响。,软件项目规模度量方法,LOC估算法FP估算法PERT估算法,16.3软件项目规模估算,1 LOC估算法,LOC-Lines Of Code,代码行,指源代码的总行数。LOC可分为:无注释的源代码行(Non-Commented SourceLines of Code,NCLOC)注释的代码行(Commented SourceLines of Code,CLOC)LOC=NCLOC+CLOC 常用千代码行(KLOC)表示程序长度。,16.3软件项目规模估算,计算方法:其中,a为最小规模、m为最可能的规模、b为最大规模,多个专家给出估计值,然后分别算出均值。特点:可以根据经验进行估计,相应的工具较多但根据高层需求说明估计较困难源程序仅是软件配置的一个成分,用它代表整体不太合理不同语言实现的软件所需的代码行数不同,16.3软件项目规模估算,2 FP估算法,FP-Function Point,功能点基于系统功能的一种规模估算方法,通过研究初始应用需求来确定各种输入、输出、查询、外部文件和内部文件的数目,从而确定功能点的数量。估算方法:首先计算未调整的功能点数UFC(Unadjusted Function Point Count),16.3软件项目规模估算,UFC的计算步骤,(1)计算所需要的输入、输出、查询、外部文件、内部文件的数量;(2)对各功能项估计复杂性,大致划分成简单、一般和复杂3种情况,求出功能项的加权和,即UFC。,16.3软件项目规模估算,未调整的功能点(UFC),功能点的复杂度权重,16.3软件项目规模估算,FP的计算,依据UFC和计算复杂因子TFC(Technical Complexity Factor)的乘积计算FP。,16.3软件项目规模估算,技术复杂度因子(TFC)的组成,16.3软件项目规模估算,FP的计算,功能点FP由未UFC与技术复杂度因子TCF相乘而得。FP UFC TCF,TCF的计算,TCF 0.65+0.01(SUM(Fi),16.3软件项目规模估算,功能点度量,有助于在软件项目的早期作出规模估计,但无法自动度量。一般在早期的估计使用功能点,然后依据经验将功能点转化为代码行,再使用代码行继续进行估计。使用情况:估计新的软件开发项目;应用软件包括很多输入输出和文件活动;拥有经验丰富的功能点估计专家;拥有充分的数据资料,可以相当准确地将功能点转换为LOC.,16.3软件项目规模估算,3 PERT估算法,PERT-Program Evaluation on Review Technique,计划评审技术 20世纪50年代末由美国海军开发北极星潜艇系统时为协调3000多个承包商和研究机构而开发的、用于项目进度计划的一种技术。其理论基础是假设项目持续时间以及整个项目完成时间是随机的,且服从某种概率分布。PERT可以估计整个项目在某个时间内完成的概率。,16.3软件项目规模估算,3 PERT估算法,简单的PERT规模估算技术是假设软件规模满足正态分布。只需估算两个量:最低规模和最大规模。期望规模:E(a+b)/2 标准偏差:(b a)/6,16.3软件项目规模估算,软件生产率,1.影响因素 估计出软件项目的代码数量之后,需要将其转换为人月数。估算人月数需要分析影响每个人月平均完成代码数量的因素,即确定软件生产率。,16.3软件项目规模估算,软件规模和产品类型对生产率的影响,软件生产率 软件生产率取决于产品类型、项目规模和软件变更的程度。,16.3软件项目规模估算,软件生产率,软件变更和产品类型对生产率的影响,16.3软件项目规模估算,软件生产率,2.生产率数据的获取(1)选择最近完成的,在规模、语言、应用类型、团队开发经验等方面与待完成项目相似的项目;(2)获得各个项目的LOC数据,各项目使用相同的计数方法;(3)对于更改过的程序,记录更改代码所占比例;(4)计算投入到每个项目上的人员数量,包括设计、实现、测试、文档人员;(5)计算各个项目的软件生产率,LOC/PM,进而求出平均值作为类似项目的典型软件生产率。,16.4软件项目成本估算,成本估算是对完成软件项目所需费用的估计和计划,是软件项目计划中的一个重要成分。理想的成本估算是根据历史标准估算,但由于软件项目和计划变化多端,把今后活动与现实对比几乎不可能,并且在大型项目中,还应考虑今后几年的员工工资结构和管理费用是否会发生变化。,16.4软件项目成本估算,1成本估算方法,1、算法模型 算法模型提供一个或多个数学算法,将软件成本估算值看成主要技术驱动因素的若干变量的函数。(1)线性模型 工作量 a0 a1 x1.an xn X1,Xn,是成本驱动因素变量,a1,.an是一组经过选择的能使本模型与一组观察数据点之间的拟合度最佳的系数。开发成本 工作量某一衡定成本,16.4软件项目成本估算,1成本估算方法,(2)乘积模型 工作量 a0 a1 x1.an xn X1,Xn,a1,.an含义与线性模型相同。(3)解析模型 工作量 f(x1,.,xn)X1,Xn,是成本驱动因素变量。f是一非线性或非乘积的数学模型。,16.4软件项目成本估算,1成本估算方法,(4)表格模型 用表格表示的成本驱动因素变量与软件开发工作量之间的及成本驱动因素变量与用来调节工作量估算值的因子之间的关系。(5)复合模型 是线性、乘积、解析、表格模型的结合,对成本估算值的每一部分使用最恰当的函数形式,以此来描述成本驱动变量与软件开发工作量之间的关系。,16.4软件项目成本估算,1成本估算方法,2、专家判定 就是与一位或多位专家商讨,专家根据自己的经验和对项目的理解对项目的成本作出估算。最好由多位专家进行估算,并需要采取某种方法合成一个最终的估算值。(1)求中值和平均值 方法简单,但易于受到极端估算值的影响产生偏差。(2)召开小组会议 小组讨论,统一或同意某一估算值。能去掉一些极端的估算,但易于受权威人士或能言善变人士的影响。,16.4软件项目成本估算,1成本估算方法,(3)Delphi技术 1948年Rand公司产生的一种预测未来事件的技术,随后作为在联合规划和成本估算中使专家意见一致的方法。步骤:协调员给每位专家一份软件规格说明和一张记录估算值的表格;专家无记名填写表格,可以向协调员提问,但相互间不能讨论;协调员对专家添在表上的估算进行小结,据此给出估算迭代表,要求专家进行下一轮估算。迭代表上只标明自己的估计,其他估计匿名;专家重新无记名填写表格。该步骤适当的重复多次,整个过程不得小组讨论。,16.4软件项目成本估算,1成本估算方法,(3)Delphi技术,16.4软件项目成本估算,1成本估算方法,(4)Wideband Delphi技术 将小组会议和Delphi技术结合。步骤:协调员给每位专家一份软件规格说明和一张记录估算值的表格;专家开会讨论软件产品和任何估算相关的问题;专家无记名填写表格;协调员汇总结果,将结果以估算迭代表形式返回给各个专家,迭代表样式与Delphi技术相同,但不包含书面理由;召开小组会讨论上次估计结果,自愿修改个人估计;如此反复,直到各个专家的估计逐渐接近,达到一个可以接受的范围。,16.4软件项目成本估算,1成本估算方法,(4)Wideband Delphi技术 Wideband Delphi估算过程,16.4软件项目成本估算,1成本估算方法,3、类比 就是把当前项目和以前作过的类似项目比较,通过比较获得其工作量的估算值。该方法的前提是确定比较因子,即提取软件项目的特性因子作为比较的基础。常见因子有软件开发方法、功能需求文档数及接口数等。类比估算可以在整个项目级和子系统级上进行。类比方法的优点在于估算值是根据某个项目的实际经验得出,可以对这一经验进行研究推断新项目的某些不同之处以及对成本可能产生的影响。缺点是无法弄清以前项目在多大程度上代表新项目的特征。,16.4软件项目成本估算,1成本估算方法,4、自顶向下 就是从软件项目的整体出发,根据将要开发的软件项目的总体特性,结合以前完成项目积累的经验,推算出项目的总成本或工作量,然后按比例分配到各个组成部分中去。优点在于其对系统级的重视。缺点在于难以识别低级别上的技术性困难,并且由于考虑不细致,有时会遗漏所开发软件某些部分。,16.4软件项目成本估算,1成本估算方法,5、自底向上 就是把待开发的软件逐步细化,直到能明确工作量,由负责该部分的人给出工作量的估算值,然后把所有部分相加,得到总工作量。与自顶向下互补,需要更多精力。优点是较为准确,缺点是易于忽略许多与软件开发有关的系统级成本,如系统集成、配置管理、质量保证等,所以给出的总估算值偏低。常见的方法:任务单元法。,16.4软件项目成本估算,1成本估算方法,任务单元法计划样例,16.4软件项目成本估算,2成本估算模型 1、模型分类,根据模型中变量的依存关系:静态模型与动态模型 根据基本变量的多少:单变量模型和多变量模型 预测量:被引入到模型中对软件开发过程进行预测的变量。选择和处理预测量是软件估算工作的核心。,16.4软件项目成本估算,(1)静态单变量模型 用同一个基本公式通过同一个预测量来估算所需要的值。CaLb C:待估算的量,L:预测量,a,b:根据经验得到的参数实例:SEI模型 E 1.4L0.93;DOC=30.4L0.9;D=4.6L0.26 L:预测的源代码行数,E:工作量,DOC:文本量,D:时间,2成本估算模型 1、模型分类,16.4软件项目成本估算,(2)静态多变量模型 静态多变量模型仍然基于CaLb公式,但还取决于几个能代表软件开发环境的各种因素的变量,如软件开发方法、用户需求变化情况、内存限制、实际时间等。实例:Boehm开发的COCOMO模型(3)动态多变量模型 通过多个变量的相互作用对软件过程作出估算。实例:Putnam提出的模型,2成本估算模型 1、模型分类,16.4软件项目成本估算,静态单变量模型:(1)Walston-Felix模型(2)Bailey_Basili模型,2成本估算模型 2、已有模型,16.4软件项目成本估算,静态单变量模型:(3)Boehm简单模型(4)Doty模型(KLOC9时适用),2成本估算模型 2、已有模型,16.4软件项目成本估算,静态单变量模型:(5)Albrecht&Gaffney模型(6)Maston,Barnett 和 Mellichamp模型,2成本估算模型 2、已有模型,16.4软件项目成本估算,动态多变量模型:从4000多个当代软件项目中收集的生产率数据推导出来,2成本估算模型 2、已有模型,其中,E是人月或人年为单位的工作量 t是以月或年为单位的项目持续时间 B是特殊技术因子,随着对测试、质量保证等增加缓慢增加 P是生产率参数,16.4软件项目成本估算,3 COCOMO模型,COCOMO模型于1981年由Boehm利用加利福尼亚的一个咨询公司的大量项目数据推导出的成本模型。为适应软件业界的发展,1994年推出COCOMOII。COCOMO模型是一个分层次的系列软件成本估算模型,包括基本级、中级、详细模型三个子模型。主要采用自底向上的方法进行估算。(Constructive Cost Model,构造性成本模型)原始的COCOMO模型都采用相同的形式:E=a Sb EAF S:KLOC计数的软件规模,EAF:工作量调整因子(Effort Adjustment Factor)fi a,b:随开发模式(有机式、半分离式、嵌入式)变化的因子,16.4软件项目成本估算,(1)基本COCOMO 模型,把工作量作为软件程序规模的函数来计算:E=a Sb S:KLOC计数的软件规模,a,b:取值如下表。,开发时间 t=c Ed c,d:随开发模式改变的因子,取值如下表。,16.4软件项目成本估算,(1)基本COCOMO 模型,使用COCOMO模型必须首先确定软件开发模式和软件规模。优点简单易用;缺点不准确,没有考虑开发环境的因素。,16.4软件项目成本估算,(2)中级COCOMO 模型,中级COCOMO模型考虑开发环境的因素,引入15个附加预测量,成为成本驱动量。E=a Sb EAF a,b取值:,16.4软件项目成本估算,(2)中级COCOMO 模型,EAF取值:,16.4软件项目成本估算,(2)中级COCOMO 模型,开发时间估算与基本COCOMO模型相同。中级COCOMO模型提供了一个把握项目环境因素的途径,大多数的项目管理考虑的问题可以用其中15个成本驱动变量来代表。中级COCOMO模型还可以进行部件级估算。,16.4软件项目成本估算,(3)详细COCOMO 模型,为提高估算精度,提出该模型。详细COCOMO模型的工作量和开发时间的计算公式和中级COCOMO模型相同,不同之处在于成本驱动量被分成不同层次且在软件开发的不同阶段被赋予不同的值。引入两种功能:阶段敏感的成本驱动因素:需求计划和产品设计、详细设计、编码和单元测试、集成测试 三层次的产品分级结构:模块、子系统、系统,16.4软件项目成本估算,(3)详细COCOMO 模型,估算过程:计算模块规模;计算名义生产率;计算每个模块在每一阶段的名义工作量;模块的名义工作量=(模块规模工作量阶段分布百分数)/名义生产率计算每一模块在每一阶段的工作量名义工作量调节因子;计算每一子系统各阶段的名义工作量各个模块在各阶段工作量之和;计算每一子系统各阶段的工作量名义工作量各阶段调节因子求出总的工作量=每一子系统各阶段工作量之和,16.4软件项目成本估算,COCOMOII 模型,主要变化:使用三个螺旋式的生命周期模型:用于估算早期原型工作量的应用组合模型、早期设计模型、后体系结构模型。支持五种项目:基础软件、系统集成、程序自动化生成、应用集成、最终用户编程。使用五个规模因子计算项目规模经济性的幂指数,代替原理的基本、中级、详细分级方法;删除部分成本驱动因素:虚拟计算机可变性(VIRT)、计算机响应时间(TURN)、虚拟机经验(VEXP)、编程语言经验(LEXP)、现代编程经验(MODP)新增成本驱动因素:DOCU(文档编制)、RUSE(要求重复使用)、PVOL(平台兼容性)、PEXP(平台经验)、LTEX(语言和工具经验)、PCON(人员连续性)、SITE(多站点开发);改变原有成本驱动模型的赋值,以适应当前的软件测试技术。,16.4软件项目成本估算,4 Putnam 模型,一种自顶向下的宏观估算模型,Putnam模型假设软件项目的工作量分布类似于Rayleigh曲线。1、Rayleigh曲线 按照一条典型的Rayleigh曲线来配备人员,在项目开展期间缓慢上升,而在验收时急剧下降。Putnam把该结构引入软件项目的开发中,用Norden-Rayleigh曲线把人力表述为时间的函数,在软件项目的不同生命周期阶段分别使用不同的曲线。,16.4软件项目成本估算,4 Putnam 模型,2、Putnam模型的方程(1)软件方程 S=CE1/3t4/3 其中,S是以LOC为单位的源代码行数 C是技术因子 E是以人年为单位的工作量 t是以年为单位的耗费时间(直到产品交付所用时间)C的取值:复合成本驱动因子,取决于:总体过程成熟度和管理实践、切实可行的软件工程实践的施行程度、使用的编程语言的层次、软件环境状况、软件小组的技术和经验、应用软件的复杂性等。,16.4软件项目成本估算,4 Putnam 模型,2、Putnam模型的方程(2)人力增加方程 D=E/t3 其中,D是被称为人员配备加速度的一个常数把软件方程和人员配备方程联立可以得到工作量计算方程:E=S9/7D4/7/C9/7 另外一个形式:E=S3/(C3t4),16.4软件项目成本估算,4 Putnam 模型,3、软件工具SLCM SLCM-Software Life Cycle Management,软件生命周期管理软件 是一个以Putnam模型为基础的专用软件费用估算工具 美国弗吉尼亚的定量软件管理集团设计,16.4软件项目成本估算,5成本估算步骤,1.建立目标 帮助建立成本估算目标的主要因素是软件项目当前所处的生命周期阶段,它大致对应于对软件项目的认识程度和根据成本估算值而做的承诺程度。,16.4软件项目成本估算,5成本估算步骤,2.规划需要的数据和资源 把估算看作一个小型项目,初期制定项目计划。具体方法:目的、产品和进度、责任、过程、需要的资源、假定。3.确定软件需求 对于估算来说,软件需求说明书的价值由其可检验的程度决定。4.拟定可行的细节 尽可能做到软件估算目标所要求的细节。,16.4软件项目成本估算,成本估算步骤,5.运用多种独立的技术和原始资料 避免任何单一方法的缺点且充分利用其优点。6.比较迭代各个估算值 对各估算值比较,分析得到不同估算值的原因,找出可以改进估算的地方,提高估算的准确度。7.随访跟踪 收集实际成本及其进展的数据并将它们与估算值进行比较。,16.4软件项目成本估算,6成本模型的评价,1.评价准则 定义、正确性、客观性、复杂性、构造性、.2.现有模型存在的问题 主观因素的存在 估算模型样本的有限性 NordenRayleigh曲线(基于硬件项目,建立在观测基础上)估算模型的某些前期假定有悖于软件工程 模型之间有矛盾的地方 软件项目规模与其工作量的关系问题,16.5软件项目进度估算,1、基于规模的进度估算,(1)定额估算法 T=Q/(RS)其中,T表示活动的持续时间,可以用小时、日、周表示 Q表示活动的工作量,可以用人月、人天表示 R表示人力或设备的数量,可以用人或设备数表示 S表示开发(生产)效率,以单位时间完成的工作量表示 适用于规模比较小的项目,16.5软件项目进度估算,1、基于规模的进度估算,(2)经验导出模型 D=aEb 其中,D表示月进度 E表示人月工作量 a是2-4的参数,b是1/3左右的参数,它们是依赖于项目自然属性的参数。,16.5软件项目进度估算,1、基于规模的进度估算,已有模型(1)Walston_Felix模型,(2)COCOMO模型,16.5软件项目进度估算,1、基于规模的进度估算,已有模型(3)COCOMO2模型,(4)Putnam模型,16.5软件项目进度估算,2、工程评价技术,T=(O+4M+P)/6 其中,T表示项目历时 O是活动(项目)完成的最小估算值,最乐观值 P是活动(项目)完成的最大估算值,最悲观值 M是活动(项目)完成的最大可能估算值,16.5软件项目进度估算,3、关键路径法,关键路径法-Critical Path Method,CPM 杜邦公司开发的技术。是根据指定的网络图逻辑关系进行的单一的历时估算。步骤:计算每一个活动的单一的、最早和最晚开始和完成日期计算网络图中的最长路径,16.6软件项目进度计划,6.6.1进度计划中的概念,一种观点:计划是通向项目成功的路线图 进度计划是项目计划的核心1、软件项目进度定义 进度是对执行的活动和里程碑制定的工作计划日期表。它决定是否达到预期目的,是跟踪和沟通项目进展状态的依据,也是跟踪变更对项目影响的依据。进度安排有两种前提:交付日期确定 使用资源确定,16.6软件项目进度计划,6.6.1进度计划中的概念,2、软件活动定义 软件活动定义是一个过程。通过活动定义这一过程可使项目目标体现出来。注:任务分解是面向提交物的 活动定义是面向活动的,是对WBS做进一步分解的结果,以便清楚应该完成的每个具体任务或提交物应该执行的活动。,16.6软件项目进度计划,6.6.1进度计划中的概念,3、活动之间的关系 A、B两种活动之间的关系主要有4种:开始结束:表示A活动开始的时候,B活动结束开始开始:表示A活动开始的时候,B活动也开始结束结束:表示A活动结束的时候,B活动也结束结束开始:表示A活动结束的时候,B活动开始 结束开始 是最常见的逻辑关系。,16.6软件项目进度计划,6.6.1进度计划中的概念,4、活动之间关系的依据 决定活动之间关系的依据有4种:强制性依赖关系,也称硬逻辑关系软件逻辑关系,是人为的、主观的,也称指定性相关外部依赖关系:项目活动与非项目活动之间的依赖关系里程碑:作为活动排序的一部分,以确保达到里程碑的要求。,16.6软件项目进度计划,(1)制定项目计划的原则 项目计划在项目开始的时候制定,并随着项目的进展不断发展。开始时由于需求模糊,因此考虑的重点放在需要更多知识的地方以及如何去获取这些知识。,(2)软件项目计划的要素 包括目标、合理的概念设计、工作分解结构、规模估计、工作量估计和项目进度安排。,6.6.2进度计划方法1、制定项目计划,16.6软件项目进度计划,(3)软件项目计划的逻辑要点 需求分析:把模糊的需求准确化 项目的概念设计:项目计划的基础,定义工作分解结构 资源配置和进度安排:必须与需求同步更新 需求足够清晰时,进行详细设计,制定实现策略并纳入计划 充分理解项目各部分后,确定实施细节并在下次计划更新时形成文档 在整个项目周期中,项目计划为各种资源配置提供框架,6.6.2进度计划方法1、制定项目计划,16.6软件项目进度计划,(4)软件项目计划周期,6.6.2进度计划方法1、制定项目计划,16.6软件项目进度计划,(5)软件项目计划的内容 项目的目标:描述做什么,为谁做,何时做,以及项目成功结束的标准 工作分解结构WBS:把项目分解为可直接操作的元素 资源配置:根据经验和相应的原则,确定各部分需要的资源 进度安排:根据资源配置情况和项目的实际背景,制定项目的进度,6.6.2进度计划方法1、制定项目计划,16.6软件项目进度计划,6.6.2进度计划方法2、分阶段交付,(1)必要性 由于用户需求的不断变换,早期只对基本功能进行约定,其余问题的约定推迟。在分阶段交付中,软件功能按照其重要程度的顺序进行交付,最重要的功能先交付。分阶段交付没有缩短软件开发的时间,只是降低后期交付的压力。,16.6软件项目进度计划,(2)分阶段交付过程 分阶段交付要求稳定的体系结构、精心的管理和详细的技术计划,能够消除逾期交付、集成失败、软件特征的逐渐增加及客户、经理与开发人员之间的摩擦。使软件达到可交付的质量水平可以防止问题的积累导致交付软件时问题泛滥成灾。,6.6.2进度计划方法2、分阶段交付,16.6软件项目进度计划,(3)如何分阶段 即每个阶段都包含哪些软件特征。好的方法是定义每个阶段的主题,然后就主题和用户进行商榷,再根据主题把软件特征分配到各阶段。,字处理程序的分阶段交付主题,6.6.2进度计划方法2、分阶段交付,16.6软件项目进度计划,1.进度安排的整体过程 在确定项目的资源(总成本和时间)后,就需要把其分配到项目的各个开发阶段中,即确定项目的进度。可以参考类似项目的经验数据或者公开发表的数据。,Griffin进度分解数据,6.6.2进度计划方法3、进度安排,16.6软件项目进度计划,项目进度安排的过程如下:,(1)根据项目总体进度目标,编制人员计划。(2)比较所需资源和可获取资源,确定各阶段的初步进度,然后再确定整个项目的初步进度。(3)对初步进度计划进行评审,确保计划满足要求,否则重复上面的步骤。进度安排的详细程度取决于相应的工作分解结构的详细程度,而工作分解结构又取决于项目当前所处阶段与历史经验。,6.6.2进度计划方法3、进度安排,16.6软件项目进度计划,(2)进度中的并行性,软件项目的并行性要求进度计划必须确定各任务之间的从属关系、各任务的先后次序和衔接以及各个任务的持续时间,以保证所有的任务都能够按进度完成。,6.6.2进度计划方法3、进度安排,16.6软件项目进度计划,(3)进度安排的方法,1)甘特图(横道图,Gantt Chart),特点:每一任务的完成不以能否继续下一阶段的任务为标准,而是是否交付相应文档和通过评审;清楚表明计划进度,动态反映进展状况;不能表达各任务之间的依赖关系。,6.6.2进度计划方法3、进度安排,16.6软件项目进度计划,(3)进度安排的方法,2)网络图 用网络分析的方法编制的进度计划称为网络图。,网络图 设G(V,E,g)是一个n阶无回路的有向加权图,其中g是E到非负实数集的函数。若G中存在两个V的不相交非空子集X、Y,其中对任意的 viX,没有一条有向边以Vi为终点;对任意viY,没有一条有向边以Vi为起点,则称G是一个网络图,X、Y中的顶点分别称为G的发点和收点。,6.6.2进度计划方法3、进度安排,16.6软件项目进度计划,3、进度安排,(3)进度安排的方法,2)网络图,PERT图 设G(V,E,g)是一个网络图,若G中只有一个发点和一个收点,其中加权函数表示为时间函数,则网络图G称为PERT图(计划评审图)。图中有向边表示软件项目的任务,有向边的起点和终点表示任务的开始和结束,对应的权则表示任务的持续时间。若存在从节点i到节点j的有向边,则称i为j的前驱节点,j为i的后继节点。,16.6软件项目进度计划,3、进度安排,(3)进度安排的方法,2)网络图,路径与关键路径 路径:从发点开始,按照各个任务的顺序,连续不断的到收点的一条通路称为路径。关键路径:在各条路径上,完成各个任务的时间之和最长的路径称为关键路径。PERT图的关键路径 设G是一个PERT图,G中从发点到收点的所有路径中,权最大的路径称为关键路径。,16.6软件项目进度计划,3、进度安排,(3)进度安排的方法,2)网络图,关键任务 组成关键路径的任务称为关键任务。编制网络计划的重点是找出关键路径,对各个关键任务优先安排资源,挖掘潜力,采取措施,尽量缩短需要的时间;对于非关键路径上的任务可以在不影响完工时间的条件下,抽取适当资源用在关键任务上。任务持续时间 Tij:表示节点i和节点j之间有向边表示的任务的持续时间。方法:一点时间估计法、三点时间估计法(T=(a+4m+b)/6)。,16.6软件项目进度计划,3、进度安排,(3)进度安排的方法,2)网络图,任务最早开始时间、最晚开始时间和缓冲时间(机动时间)设G(V,E,g)是一个n阶PERT图,其中V=v1,v2,.vn,且v1、Vn分别为发点和收点,则对任意Vi(i1,2,N)分为以下两种情况:任务最早开始时间:V1到Vi的所有路径的权中,最大的权称为以Vi为起点的任务的最早开始时间,记为E(Vi)。从左到右顺序计算。E(V1)0 E(Vi)MAX(E(Vk)Tki),i2,3.n Vk是Vi的前驱节点,Tki指Vk与Vi之间的任务持续时间。任务最晚开始时间:最终提交时间记为T,则以收点Vn为终点的任务的最晚结束时间为T,从右到左计算所有任务最晚结束时间。L(Vn)T L(Vi)MIN(L(Vj)Tij),i1,2,3.n-1 Vj是Vi的后继节点,Tij指Vj与Vi之间的任务持续时间。缓冲时间:任务的最晚开始时间和最早开始时间的差值。,16.6软件项目进度计划,3、进度安排,(3)进度安排的方法,2)网络图,网络优化 时间优化 根据对计划进度的要求,缩短项目完成时间,两种方式:采取技术措施,缩短关键任务的持续时间;采取组织措施,充分利用非关键任务的总时差,合理调配资源,缩短关键任务的持续时间。时间费用优化 研究如何使项目交付时间短、费用少;或者保证交付时间的条件下,减少费用;或者在限制费用的条件下,交付时间缩短。无论那种方式都需要计算最低成本日程。,16.6软件项目进度计划,3、进度安排,(3)进度安排的方法,2)网络图,用网络图安排进度的步骤 把项目分解为一些小的软件任务,确定任务之间的逻辑关系;确定任务 持续时间、单位时间内资源需要量等基本数据;绘制网络图,计算网络时间和确定关键路径,得到初始进度计划方案;对初始方案进行调整和完善,得到优化的进度计划方案。,16.6软件项目进度计划,3、进度安排,(3)进度安排的方法,网络图实例,习 题,什么是软件项目估算,什么是软件项目进度管理,两者之间的联系和区别是什么?它们对于软件开发有什么意义?软件项目估算在软件项目管理过程中实施的时机是什么?说出软件估算在软件产品生命周期进行的时间点有那些;软件项目估算人员应该具有什么样的素质?成本估算方法有哪几种?软件项目估算涉及到软件开发中的哪些资源?简单说明软件项目估算的LOC和FP两种技术区别与相同处?简单说明工作量估算方法?影响软件生产率的因素有哪些?什么是软件生产率数据?有哪些主要因素影响这些数据?为什么要重视这些数据?这些数据对软件开发有什么意义?,习 题,10软件项目成本估算的方法主要有哪几类,列举几个常用的方法并简单说明它们的估算过程;11一个32KLOC的声音输入系统是一个输入原型,或是一个可行性表演模型。所需可靠性非常低,因为它不打算投入生产性使用,把此模型看做半独立型软件。试问该软件的名义工作量和实际工作量?12研究课本第九章案例分析中“移动平台嵌入式电子商务平台”项目描述,要求:(1)用代码行技术估算本系统的规模;(2)用功能点技术估算本系统的规模;(3)用静态单变量模型估算开发本系统所需的工作量;(4)假设由10个人开发本系统,请制定进度计划;(5)假设由30个人开发本系统,请制定进度计划。13COCOMO模型与Putnam模型的联系与区别是什么?14怎样具体进行软件成本估算?他们分哪几步?15成本估算需要的数据和资源有哪些?,习 题,16什么是软件开发工作量(人-周 或 人-月 或 人-年)?什么是软件开发时间(周期)(周或月或年)?什么是软件开发进度?三者之间有什么关系?17在安排软件开发进度时,应该考虑哪些问题?为什么?18成本模型的评价准则是什么?现有的评价模型有什么问题?19软件项目进度管理有哪些内容?20软件项目计划有哪些要点?主要内容包括什么?21分阶段交付的过程是什么,阶段如何划分?22项目整体进度安排的过程是什么?进度安排随着项目进展怎样调整?23进度安排的方法有哪些?进度安排的常用软件有哪些?24什么是甘特图?什么是网络图?它们各有什么特点,适用的项目类型?25.浮动时间有什么用?,习 题,26左图是一个小型S项目的网络图,所有时间以天为单位,网络从节点1进展到节点10。要求:画出代表项目的PERT图;确定关键路径;计算每个活动的浮动时间;假设活动A、B、C都利用了人力库,缩短这三个活动中任何一个的时间将造成其他两个活动之一增加同样的量,仅仅因为这三个活动的缘故,网络重新计划会缩短关键路径长度吗?假定活动C的估计时间是4,重复回答、和。,习 题,27.对以下软件项目的进度情况进行已获值分析(包括基本工作量、当前进度和预算分析、进度和成本预测),软件项目开发计划 计划工作量,第3周结束时的已获值,第3周结束时的实际工作量为12工作日,the END,

    注意事项

    本文(软件项目开发计划.ppt.ppt)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开