6-软件项目开发计划_第1页
6-软件项目开发计划_第2页
6-软件项目开发计划_第3页
6-软件项目开发计划_第4页
6-软件项目开发计划_第5页
已阅读5页,还剩74页未读 继续免费阅读

下载本文档

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

文档简介

第6章软件工程开发方案本章内容提要

软件项目分解

6.1

软件项目估算概念6.2

软件项目规模估算6.3

软件项目成本估算6.4

软件项目进度估算6.5

软件项目进度计划6.6

本章小结6.7

复习思考题6.86.1软件工程分解工程分解目的——明确工程所包含的各项工作;工程分解的结果就是WBS〔任务分解结构〕图工程分解意义——WBS〔任务分解结构〕图是实施工程、创造最终产品或效劳所必须进行的全部活动的一张清单,也是进度方案、人员分配、预算方案的根底工程分解内容——工程分解就是先把复杂的工程逐步分解成一层一层的要素〔工作〕,直到具体明确为止工程分解工具——工程分解的工具是工作分解结构WBS原理,它是一个分级的树型结构,是一个对工程工作由粗到细的分解过程软件工程分解WBS——WorkBreakdownStructure主要是将一个工程分解成易于管理的几个局部或几个细目,以便确保找出完成工程工作范围所需的所有工作要素它是一种在工程全范围内分解和定义各层次工作包的方法WBS——WorkBreakdownStructure结构层次越往下层那么工程组成局部的定义越详细,WBS最后构成一份层次清晰,可以具体作为组织工程实施的工作依据WBS——WorkBreakdownStructure通常是一种面向“成果〞的“树〞,其最底层是细化后的“可交付成果〞,该树组织确定了工程的整个范围。但WBS的形式并不限于“树〞状,还有多种形式。软件工程分解WBS分解类型基于可交付成果的划分上层一般为可交付成果为导向下层一般为可交付成果的工作内容基于工作过程的划分上层按照工作的流程分解下层按照工作的内容划分软件工程分解基于可交付成果的划分——WBS举例:信息网络工程信息网络工程结构化布线网络平台建设布线设计采购布线验收方案设计采购网络平台实施验收0级1级2级软件工程分解基于工作过程的划分——WBS举例:网络系统工程网络系统培训设备准备设备采购设备验收交接网络系统设计布线设计平台设计工程实施布线实施网络集成软件开发软件需求确定系统设计编码测试0级1级2级软件工程分解WBS表达形式——层次结构图和锯齿列表〔清单〕

图形显示

锯齿列表

1.0系统

1.1元素A1.1.1任务

1.1.2任务

1.2元素B1.0系统1.1元素A1.2元素B1.1.1任务1.1.2任务软件工程分解WBS工作编码

——由高层向下层用多位码编排,要求每项工作有唯一的编码。10001100111011111112111311201121112211231200软件工程分解WBS工作编码举例:企业经营评价系统工程网络1430软件1410硬件1420系统开发1400测试1500实施1600系统设计1300问题界定1100企业经营评价系统项目1000系统分析1200文档1440包装软件1411培训1610验收1630系统转换1620定制软件14120级1级2级3级软件工程分解工程工作分解结构表项目名称:项目负责人:单位名称:制表日期:工作分解结构任务编码任务名称主要活动描述负责人1000

1100

1200

1x001x101x111x12

项目负责人审核意见:

签名:日期:软件工程分解WBS分解的一般步骤总工程子工程或主体工作任务主要工作任务次要工作任务小工作任务或工作元素软件工程分解WBS分解本卷须知WBS分解的规模和数量因工程而异收集与工程相关的所有信息参看一下类似的工程的WBS,与相关人员讨论可以参照相关模板最低层是可控的和可管理的,但是防止不必要的过细,最好不要超过7层,软件工程推荐分解到40小时的任务每个Workpackage必须有一个提交物软件工程分解定义任务完成的标准每个WBS必须有利于责任分配可以准备WBS的字典最后与相关人员进行评审软件工程分解案例讨论假设您要在自己的家里举行一次生日宴会,请按WBS为你制定一份工作的分解方案?假设贵公司进行成立10周年庆典活动,如果请你负责此次活动,你将如何分析此次活动所应包含的工作?本章内容提要

软件项目分解

6.1

软件项目估算概念6.2

软件项目规模估算6.3

软件项目成本估算6.4

软件项目进度估算6.5

软件项目进度计划6.6

本章小结6.7

复习思考题6.86.2软件工程估算概念软件工程估算——是指预测构造软件工程所需要的工作量以及任务经历时间的过程。主要包括三个方面:规模〔即工作量〕的估算确定每个软件功能所必须执行的一系列软件工程任务本钱的估算确定完成软件工程规模相应付出的代价进度的估算估计任务的持续时间,即历时估计软件工程估算概念估算方法规模估算方法代码行〔LOC,LinesofCode〕估算法、功能点〔FP,FunctionPoints〕估算法和方案评审技术〔PERT,ProgramEvaluationandReviewTechnique〕估算法本钱估算方法自顶向下〔类比〕估算法、自下而上估算法、参数估算法、专家估算法、猜测估算法等进度估算方法基于规模的进度估算、工程评价技术、关键路径法、专家估算方法、类推估算方法、模拟估算方法、进度表估算方法、基于承诺的进度估算方法和Jones的一阶估算准那么等本章内容提要

软件项目分解

6.1

软件项目估算概念6.2

软件项目规模估算6.3

软件项目成本估算6.4

软件项目进度估算6.5

软件项目进度计划6.6

本章小结6.7

复习思考题6.86.3软件工程规模估算估算的步骤在技术允许的条件下,应从最详细的工作分解结构开始精确定义度量的标准估计底层每一模块的规模,汇总已得到总体的估算适当考虑偶然因素的影响

软件工程规模估算LOC估算法代码行可以分为无注释的源代码行〔NCLOC,Non-CommentedSourceLinesOfCode〕和注释的源代码行〔CLOC:CommentedSourceLinesOfCode〕,源代码的总行数LOC即为NCLOC与CLOC之和FP估算法功能点度量是在需求分析阶段基于系统功能的一种规模估计方法,该方法通过研究初始应用需求来确定各种输入、输出、查询、外部文件和内部文件的数目,从而确定功能点数量软件工程规模估算规模的单位LOC(LinesofCode)源代码程序长度的测量FP(FunctionPoint)用系统的功能数量来测量人月人天人年本章内容提要

软件项目分解

6.1

软件项目估算概念6.2

软件项目规模估算6.3

软件项目成本估算6.4

软件项目进度估算6.5

软件项目进度计划6.6

本章小结6.7

复习思考题6.86.4软件工程本钱估算本钱估算方法算法模型专家判定类比自顶向下自底向上软件工程本钱估算本钱估算模型——静态模型和动态模型静态模型用一个唯一的变量〔如程序规模〕作为初始元素来计算所有其他变量〔如本钱、时间〕,且所用计算公式的形式对于所有变量都是相同的动态模型没有类似静态模型中的惟一根底变量,所有变量都是相互依存的已有的模型1)Farr-Zagorski模型;2)Price-S模型;3)Walston-Felix模型;4)Putnam模型;5)COCOMO模型

软件工程本钱估算COCOMOⅡ模型——在现代软件工程研究结果的根底上,将未来软件市场划分为根底软件、系统集成、程序自动化生成、应用集成、最终用户编程五个局部,COCOMOII通过三个生命周期模型〔估算早期原型工作量的应用组合模型,早期设计模型,后体系结构模型〕支持上述的五种软件工程。软件工程本钱估算Putnam模型——Putnam模型是Putnam于1978在来自美国计算机系统指挥部的200多个大型工程〔工程的工作量在30~1000人年之间〕数据的根底上推导出来的一种动态多变量模型。Putnam模型假设软件工程的工作量分布类似于Rayleigh曲线。Putnam模型包含两个方程:软件方程和人力增加方程。

软件工程本钱估算实用软件估算模型——是一种自下而上和参数法的结合模型,步骤如下:对任务进行分解估算每个任务i的最大值Max、最小值Min、最可能值Avg,Ei=(Max+4Avg+Min)/6〔或者使用唯一的估计值:最可能值〕直接本钱=E1+E2+……+Ei+……+En工程总估算本钱=直接本钱+间接本钱工程总报价=工程总估算本钱+风险利润风险利润=利润+风险基金+税软件工程本钱估算直接本钱直接本钱=开发本钱+管理本钱+质量本钱直接本钱=规模*人力本钱参数例如:人力本钱参数=2万/人月,30人月的工程的直接本钱是60万间接本钱间接本钱=直接本钱*间接本钱系数间接本钱=规模*人力本钱参数*间接本钱系数例如:间接本钱系数=1.5--3软件工程本钱估算本钱估算步骤建立目标规划需要的数据和资源确定软件需求拟定可行的细节运用多种独立的技术和原始资料比较并迭代各个估算值随访跟踪软件工程本钱估算本钱模型的评价准那么定义正确性客观性构造性细节稳定性范围易用性可预期性节约性本章内容提要

软件项目分解

6.1

软件项目估算概念6.2

软件项目规模估算6.3

软件项目成本估算6.4

软件项目进度估算6.5

软件项目进度计划6.6

本章小结6.7

复习思考题6.86.5软件工程进度估算基于规模的进度估算定额估算法经验导出模型工程评价技术利用网络顺序图的逻辑关系和加权历时估算来计算工程历时关键路径法它是根据指定的网络图逻辑关系进行的单一的历时估算,首先计算每一个活动的单一的、最早和最晚开始和完成日期,然后计算网络图中的最长路径,以便确定工程的完成时间估计,采用此方法可以配合进行方案的编制本章内容提要

软件项目分解

6.1

软件项目估算概念6.2

软件项目规模估算6.3

软件项目成本估算6.4

软件项目进度估算6.5

软件项目进度计划6.6

本章小结6.7

复习思考题6.86.6软件工程进度方案进度方案定义——进度是对执行的活动和里程碑制定的工作方案日期表。它决定是否到达预期目的,它是跟踪和沟通工程进展状态的依据,也是跟踪变更对工程影响的依据。软件活动定义是一个过程,它涉及确认和描述一些特定的活动为了进一步制定切实可行的进度方案,必须对活动〔任务〕进行适当的顺序安排按时完成工程是工程经理最大的挑战之一;时间是工程规划中灵活性最小的因素进度问题是工程冲突的主要原因,尤其在工程的后期软件工程进度方案工程进度〔时间〕管理过程活动定义〔Activitydefinition〕活动排序〔Activitysequencing〕活动历时估计〔Activitydurationestimating〕制定进度方案〔Scheduledevelopment〕进度控制〔Schedulecontrol〕-工程跟踪软件工程进度方案活动定义〔Activitydefinition〕确定为完成工程的各个交付成果所必须进行的诸项具体活动完成WBS中的细目和子细目活动排序〔Activitysequencing〕对活动进行适当的顺序安排.工程各项活动之间存在相互联系与相互依赖关系根据这些关系安排各项活动的先后顺序软件工程进度方案任务(活动)之间的关系进度管理图示——网络图、甘特图、里程碑图、资源图开始-结束ABAB结束-开始结束-结束ABAB开始-开始软件工程进度方案网络图——展示工程中的各个活动以及活动之间的逻辑关系;网络图是活动排序的一个输出;网络图可以表达活动的历时常用网络图——PDM:节点法(单代号)网络图、ADM:箭线法(双代号)网络图、CDM:条件箭线图法在网络图中一个活动用一个方框、节点或者其他方式表示每一个活动被各种关系线相连接着将工程中的各个活动的逻辑关系表示出来网络图开始于一个任务、工作、活动、里程碑网络图结束于一个任务、工作、活动、里程碑有些活动前置任务或者后置任务软件工程进度方案PDM(Precedencediagram)构成PDM网络图的根本特点是节点(Box)节点(Box)表示活动(工序,工作)用箭线表示各活动(工序,工作)之间的逻辑关系.可以方便的表示活动之间的各种逻辑关系没有时标在软件工程中PDM比ADM更通用软件工程进度方案PDM网络图的关系开始活动1活动3活动2结束软件工程进度方案软件工程的PDM图例开始需求获取项目规划需求确认项目计划评审总体设计详细设计系统测试集成测试编码结束软件工程进度方案ADM〔Arrowdiagram〕ADM也称为AOA〔activity-on-arrow〕或者双代号工程网络图在ADM网络图中,箭线表示活动(工序\工作)节点Node〔圆圈:circle〕表示前一道工序的结束,同时也表示后一道工序的开始只适合表示结束-开始的逻辑关系可以有时标软件工程进度方案ADM图例总体设计需求确认需求获取系统测试集成测试编码详细设计计划评审项目规划123698754软件工程进度方案CDM〔conditiondiagram〕CDM网络图也称为条件箭头图法网络图CDM允许活动序列相互循环与反响从而在绘制网络图的过程中会形成许多条件分支而在PDM、ADM中是绝对不允许的软件工程进度方案甘特图显示根本的任务信息可以查看任务的工期、开始时间和结束时间以及资源的信息只有时标,没有活动的逻辑关系有两种表示方法〔棒状、三角形〕软件工程进度方案甘特图-实例软件工程进度方案里程碑图里程碑显示工程进展中的重大工作完成里程碑不同于活动活动是需要消耗资源的里程碑仅仅表示事件的标记SpecificationDesign08/9811/98Testing02/995/99AvailableCoding9/0011/00Announce里程碑图示软件工程进度方案资源图软件工程进度方案编制工程进度方案确定工程的所有活动及其开始和结束时间监控工程实施的根底,它是工程管理的基准方案是三维的,考虑时间,费用和资源编制工程进度方案步骤进度编制资源调整本钱预算方案优化调整形成基线方案软件工程进度方案进度编制的根本方法关键路径法正推法逆推法时间压缩法赶工〔Crash〕快速跟进〔Fasttracking:搭接〕资源调整尝试法软件工程进度方案——关键路径法关键路径法〔CPM:CriticalPathMethod〕CPM是根据指定的网络顺序逻辑关系和单一的历时估算,计算每一个活动的单一的、确定的最早和最迟开始和完成日期计算网络图中完成时间最长的路径计算浮动时间软件工程进度方案进度编制的根本术语〔进度时间参数〕最早开始时间(Earlystart)最晚开始时间(Latestart)最早完成时间(Earlyfinish)最晚完成时间(Latefinish)自由浮动〔FreeFloat〕总浮动〔TotalFloat〕超前(Lead)滞后(Lag)软件工程进度方案浮动时间(Float)浮动时间是一个活动的机动性,它是一个活动在不影响其它活动或者工程完成的情况下可以延迟的时间量Float>0:时间安排比较合理Float=0:比较紧张Float<0:工程进度会推迟自由浮动〔FreeFloat〕在不影响后置任务最早开始时间本活动可以延迟的时间总浮动〔TotalFloat〕在不影响工程最早完成时间本活动可以延迟的时间软件工程进度方案进度时间参数计算软件工程进度方案关键路径〔CriticalPath〕关键路径是决定工程完成的最短时间。工程整个网络图中最长的路径关键路径上的任何活动延迟,都会导致整个工程完成时间的延迟关键路径上的任何任务都是关键任务是时间浮动为0〔Float=0〕的路径关键路径确定首先确定工程的网络图对网络图路径中的所有活动确定历时其中最长的路径就是criticalpath软件工程进度方案SimpleExampleofDeterminingtheCriticalPathConsiderthefollowingprojectnetworkdiagram.Assumealltimesareindays.

a.Howmanypathsareonthisnetworkdiagram?b.Howlongiseachpath?c.Whichisthecriticalpath?d.Whatistheshortestamountoftimeneededtocompletethisproject?软件工程进度方案DeterminingtheCriticalPathforProjectX软件工程进度方案关键路径的几点说明如果关键路径上的一个活动比方案的时间长,整个工程的进度将会拖延,除非采取纠正措施并不是所有的关键任务都在关键路径上明确关键路径后,你可以合理安排进度关键路径可能不止一条在工程的进行过程中,关键路径可能改变的软件工程进度方案正推法(Forwardpass)——按照时间顺序计算最早开始时间和最早完成时间的方法,称为正推法首先建立工程的开始时间工程的开始时间是网络图中第一个活动的最早开始时间从左到右,从上到下进行任务编排当一个任务有多个前置时,选择其中最大的最早完成日期作为其后置任务的最早开始日期公式:ES+Duration=EFEF+Lag=ESs软件工程进度方案正推法实例LFLSEFESDuration=7TaskA18LFLSEFESDuration=3TaskB14LFLSEFESDuration=6TaskC814LFLSEFESDuration=3TaskD47LFLSEFESDuration=3TaskG1417LFLSEFESDuration=3TaskE710LFLSEFESDuration=2TaskH1719LFLSEFESDuration=2TaskF46FinishStart软件工程进度方案逆推法(Backwardpass)——按照逆时间顺序计算最晚开始时间和最晚结束时间的方法,称为逆推法.首先建立工程的结束时间工程的结束时间是网络图中最后一个活动的最晚结束时间从右到左,从下到上进行计算当一个前置任务有多个后置任务时,选择其中最小最晚开始日期作为其前置任务的最晚完成日期公式:LF-Duration=LSLS-Lag=LFp软件工程进度方案逆推法实例StartLFLSEFESDuration=7TaskA1818LFLSEFESDuration=3TaskB14811LFLSEFESDuration=6TaskC814814LFLSEFESDuration=3TaskD471114LFLSEFESDuration=3TaskG14171417LFLSEFESDuration=3TaskE7101417LFLSEFESDuration=2TaskH17191719LFLSEFESDuration=2TaskF461214CP:A->C->G->HCpPath:18Finish软件工程进度方案——检查网络图确保网络图完整是否正确标示了criticalpath?是否有哪个任务存在很大的float,需要重新规划是否有不合理的空闲时间熟悉并分析网络图criticalpath上有什么风险?Float有多大?那些任务有那种类型的Float。应该确保你的目标被满足是否需要增加里程碑那些任务有提交物工作可以在期望的时间内完成吗?提交物可以在规定的时间内完成吗?软件工程进度方案——时间压缩法时间压缩法—时间压缩法是在不改变工程范围的前提下缩短工程工期的方法应急法--赶工〔Crash〕赶工也称为时间-本钱平衡方法

是在不改变活动的前提下,通过压缩某一个或者多个活动的时间来到达缩短整个工程工期的目的是在最小相关本钱增加的条件下,压缩关键路经上的关键活动历时的方法压缩角度,越小越好追加成本软件工程进度方案进度压缩单位本钱计算方法进度压缩单位本钱=〔压缩本钱-正常本钱〕/(正常进度-压缩进度)例如:任务A:正常进度7周,本钱5万;压缩到5周的本钱是6.2万进度压缩单位本钱=(6.2-5)/(7-5)=6000元/周如果压缩到6周的本钱是:5.6万软件工程进度方案平行作业法--快速跟进〔Fasttracking:搭接〕——改变活动间的逻辑关系,并行开展活动项目管理:100需求:10设计:5任务设计:5时间软件工程进度方案任务超前(Lead)举例:A完成之前3天B开始作用:1〕解决任务的搭接2〕对任务可以进行合理的拆分3〕缩短工程工期活动A活动B结束---开始Lead=3软件工程进度方案——资源调整尝试法资源调整尝试法资源优化配置通过调整进度方案,形成平稳连续的资源需求最有效的利用资源使资源闲置的时间最小化尽量防止超出资源能力方法资源平衡,维持工期不变,使资源强度尽可能平衡在满足资源约束条件下,使工期最短将资源从非关键活动转到关键活动逆向资源分配法软件工程进度方案

温馨提示

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

评论

0/150

提交评论