版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Yibinu UniversitySchool of Computer & Information Engineering1软件工程第十章第十章 软件项目管理软件项目管理Yibinu UniversitySchool of Computer & Information Engineering2第十章软件项目管理13 . 1 估算软件规模估算软件规模 13 . 2 工作量估算工作量估算 13 . 3 进度计划进度计划 13 . 4 人员组织人员组织 13 . 5 质量保证质量保证 13 . 6 软件配置管理软件配置管理 13 . 7 能力成熟度模型能力成熟度模型Yibinu Un
2、iversitySchool of Computer & Information Engineering3什么是软件项目管理?为了使软件项目能够按照为了使软件项目能够按照预定预定的成本、进的成本、进度、质量顺利完成,通过合理地组织和利用度、质量顺利完成,通过合理地组织和利用一切可以利用的资源,按照计划的成本和进一切可以利用的资源,按照计划的成本和进度,完成计划的目标。度,完成计划的目标。它包括对成本、人员、进度、质量、风险它包括对成本、人员、进度、质量、风险等进行分析和管理的活动。等进行分析和管理的活动。软件项目管理先于任何技术活动之前开始,软件项目管理先于任何技术活动之前开始,并且贯
3、穿于软件的整个生命周期之中。并且贯穿于软件的整个生命周期之中。Yibinu UniversitySchool of Computer & Information Engineering4项目管理过程(1) 启动软件项目启动软件项目。确定项目的目标和范围。确定项目的目标和范围。 度量度量。帮助开发人员了解开发技术、过程和。帮助开发人员了解开发技术、过程和产品。产品。 估算估算。对软件开发中的人力、项目持续时间、。对软件开发中的人力、项目持续时间、成本作出估算。成本作出估算。规模估算:代码行技术、功能点技术规模估算:代码行技术、功能点技术工作量估算:静态单变量模型、动态多变量模工作量估算:
4、静态单变量模型、动态多变量模型、型、 COCOMO 模型模型开发时间估算:进度估算:开发时间估算:进度估算: Gantt 图、工程网图、工程网络络Yibinu UniversitySchool of Computer & Information Engineering5项目管理过程( 2 ) 风险分析风险分析。由风险识别、风险估计、。由风险识别、风险估计、风险评价和风险驾驭四个活动组成。风险评价和风险驾驭四个活动组成。 进度安排进度安排。包括识别项目任务,建立。包括识别项目任务,建立任务间的联系,估算各任务的工作量,分配任务间的联系,估算各任务的工作量,分配人力和其他资源,制定进度时序
5、。人力和其他资源,制定进度时序。 追踪和控制追踪和控制。项目管理人员负责追踪。项目管理人员负责追踪在进度安排中标明的每一个任务,还可以对在进度安排中标明的每一个任务,还可以对资源重新定向,对任务重新安排或者可以修资源重新定向,对任务重新安排或者可以修改交付日期以调整已经暴露的问题。改交付日期以调整已经暴露的问题。Yibinu UniversitySchool of Computer & Information Engineering613.1 估算软件规模1. 项目案例项目案例案例角色和人物案例角色和人物小王:软件项目负责人小王:软件项目负责人老王:公司技术老总老王:公司技术老总Yib
6、inu UniversitySchool of Computer & Information Engineering7项目管理需要定量描述(1/3)在项目策划阶段的碰头会上在项目策划阶段的碰头会上公司技术总监询问小王项目开发估计需要多少时间,公司技术总监询问小王项目开发估计需要多少时间,需要多少成本?需要多少成本?小王回答说小王回答说“时间估计不会太长,成本也在一个可时间估计不会太长,成本也在一个可接受的范围之内接受的范围之内”,老王显然对这种回答不满意,老王显然对这种回答不满意,他希望能够得到一个较为准确定量性的描述他希望能够得到一个较为准确定量性的描述经过一番考虑后,小王确认回答说
7、经过一番考虑后,小王确认回答说“时间时间78个月,个月,成本需成本需4045万万”,老王显然对这种回答也不满意,老王显然对这种回答也不满意,况且用户要求在况且用户要求在6个月内完成项目。于是他进一步个月内完成项目。于是他进一步问道问道“你是如何得到这组数据你是如何得到这组数据”,小王显然没有准,小王显然没有准备,也没有充分的依据,于是他哑口无言备,也没有充分的依据,于是他哑口无言Yibinu UniversitySchool of Computer & Information Engineering8项目管理需要定量描述(2/3)在制定软件项目计划时在制定软件项目计划时小王不知如何预测
8、项目可能所需的工作量?小王不知如何预测项目可能所需的工作量?小王不知如何预测项目可能所需的成本?小王不知如何预测项目可能所需的成本?小王不知所制定的计划是否可行和科学?小王不知所制定的计划是否可行和科学?因此,小王尽管制定了软件开发计划,但对因此,小王尽管制定了软件开发计划,但对于该计划能否得到有效的实施、实施能否遵于该计划能否得到有效的实施、实施能否遵循计划执行没有足够的信心循计划执行没有足够的信心Yibinu UniversitySchool of Computer & Information Engineering9项目管理需要定量描述(3/3)项目已进展了项目已进展了2个月,各
9、个方面进展尚可,个月,各个方面进展尚可,在某周的碰头会上,老王继续向小王发问在某周的碰头会上,老王继续向小王发问“目前软件质量如何?目前软件质量如何?”,小王回答道,小王回答道“不不错错”老王对这种回答不满意,他希望能够得到一老王对这种回答不满意,他希望能够得到一个较为准确定量性的描述,但是小王又没有个较为准确定量性的描述,但是小王又没有办法给他一个更加确切的答复,实际上连他办法给他一个更加确切的答复,实际上连他自己也没有办法说清楚目前软件产品的质量自己也没有办法说清楚目前软件产品的质量情况,因为他只有直观的、定性了解。情况,因为他只有直观的、定性了解。Yibinu UniversitySch
10、ool of Computer & Information Engineering10定量分析是重要的工程化的软件开发需要工程化的软件开发需要定量、科学定量、科学的描述的描述(实施前、实施过程中、实施完成后实施前、实施过程中、实施完成后)定量、科学的描述有助于获取软件项目以定量、科学的描述有助于获取软件项目以及所开发的软件的某种可视性,促进软件及所开发的软件的某种可视性,促进软件项项目的管理目的管理定量的信息描述必须在软件项目开发过程定量的信息描述必须在软件项目开发过程中采集中采集Yibinu UniversitySchool of Computer & Information
11、 Engineering11软件项目管理问题在软件项目实施过程中,需要哪些方面的在软件项目实施过程中,需要哪些方面的定量定量描述以促进软件项目的有效开发和管理?描述以促进软件项目的有效开发和管理?如何获取这些方面的科学如何获取这些方面的科学定量描述定量描述?如何在软件项目开发过程中如何在软件项目开发过程中集成度量集成度量?如何将这些定量描述用于指导软件项目的如何将这些定量描述用于指导软件项目的管理?管理?Yibinu UniversitySchool of Computer & Information Engineering12为什么需要软件度量(1/2)任何工程化的工作都需要度量,软
12、件工程任何工程化的工作都需要度量,软件工程也不例外也不例外准确了解工程的实施情况准确了解工程的实施情况项目实施之前项目实施之前辅助制定软件项目的计划辅助制定软件项目的计划估算成本和工作量,以便制定计划估算成本和工作量,以便制定计划Yibinu UniversitySchool of Computer & Information Engineering13为什么需要软件度量(2/2)项目实施过程中项目实施过程中提供软件开发的可视性提供软件开发的可视性跟踪和控制软件项目的开发跟踪和控制软件项目的开发评估软件开发质量,进行质量控制评估软件开发质量,进行质量控制加强风险管理加强风险管理项目实施
13、之后项目实施之后对项目的实施情况进行评估对项目的实施情况进行评估为后续项目的积累经验数据为后续项目的积累经验数据Yibinu UniversitySchool of Computer & Information Engineering14软件度量的内容三个方面三个方面产品:各种文档和程序产品:各种文档和程序过程:各种软件开发活动过程:各种软件开发活动资源:各种资源如人员、费用等资源:各种资源如人员、费用等Yibinu UniversitySchool of Computer & Information Engineering15软件度量的方法面向规模的度量面向规模的度量(代码行
14、技术代码行技术)面向功能的度量面向功能的度量(功能点技术功能点技术)工作量估算工作量估算项目成本估算项目成本估算(教材没有教材没有)软件质量度量软件质量度量(教材没有教材没有)Yibinu UniversitySchool of Computer & Information Engineering161.面向规模的度量(1/3) 用软件代码行数目来表示软件项目规模用软件代码行数目来表示软件项目规模生产率生产率: PM = L / E, L表示代码总量表示代码总量(单位:单位:KLOC),E表示软件工作量表示软件工作量(单位:人月单位:人月) 每千行代码的平均成本:每千行代码的平均成本:
15、CKL = S / L,S为为软件项目总开销软件项目总开销 文档与代码比文档与代码比: Dl = Pd / L,Pd表示文档页表示文档页数数代码出错率代码出错率: EQRl = Ne / L,Ne表示代码出表示代码出错的数目错的数目Yibinu UniversitySchool of Computer & Information Engineering171.面向规模的度量(2/3)项目项目(KLOC)人月人月成本成本($)文档页数文档页数 错误错误人员人员a12.124241680001680003653651341343 3b27.227.262624400004400001224
16、12243213215 5c20.220.24343314000314000105010502562566 6Yibinu UniversitySchool of Computer & Information Engineering18 1.面向规模的度量(3/3)优点优点简单易行,自然直观简单易行,自然直观缺点缺点依赖于程序设计语言的表达能力和功能依赖于程序设计语言的表达能力和功能软件开发初期很难估算出最终软件的代码行软件开发初期很难估算出最终软件的代码行数数对精巧的软件项目不合适对精巧的软件项目不合适只适合于过程式程序设计语言只适合于过程式程序设计语言Yibinu Universi
17、tySchool of Computer & Information Engineering192.面向功能的度量(1/7)用软件的功能表示软件的规模用软件的功能表示软件的规模“功能功能”不能直接度量,需要依靠其他度量不能直接度量,需要依靠其他度量结果导出结果导出功能点度量涉及多种因素功能点度量涉及多种因素项目开发初期就可估算出项目开发初期就可估算出 功能点计算目前主要基于经验公式功能点计算目前主要基于经验公式Yibinu UniversitySchool of Computer & Information Engineering202 面向功能的度量(2/7)功能点计算方法功
18、能点计算方法FP = (0.65 + 0.01 Fi)CTCT : 5个信息量的个信息量的“加权和加权和”Fi: 14个因素的个因素的“复杂性调节值复杂性调节值” (i =1.14)0.65, 0.01都是经验常数都是经验常数Yibinu UniversitySchool of Computer & Information Engineering212 面向功能的度量(3/7)CT的计算方法的计算方法用户输入数用户输入数加权因子加权因子(简单简单=3,平均平均=4,复杂复杂=5)用户输出数用户输出数加权因子加权因子(简单简单=3,平均平均=4,复杂复杂=5)用户查询数用户查询数加权因子
19、加权因子(简单简单=3,平均平均=4,复杂复杂=5)文件数文件数加权因子加权因子 (简单简单=3,平均平均=4,复杂复杂=5)外部界面数外部界面数加权因子加权因子(简单简单=3,平均平均=4,复杂复杂=5)CT 上述计算值的总和上述计算值的总和Yibinu UniversitySchool of Computer & Information Engineering222 面向功能的度量(4/7)Fi的取值的取值(0,1,2,3,4,5):0-没有影响,没有影响,1-偶有影响,偶有影响,2-轻微影响,轻微影响,3-平均影响,平均影响,4-较大影响,较大影响,5-严重影响严重影响系统需要可
20、靠的备份和复原码?系统需要可靠的备份和复原码?系统需要数据通信吗?系统需要数据通信吗?系统有分布处理功能吗?系统有分布处理功能吗?性能是临界状态吗?性能是临界状态吗?系统是否在一个实用的操作系统下运行?系统是否在一个实用的操作系统下运行?系统需要联机数据项吗?系统需要联机数据项吗?联机数据项是否在多屏幕或多操作之间进行切换?联机数据项是否在多屏幕或多操作之间进行切换?Yibinu UniversitySchool of Computer & Information Engineering23 2面向功能的度量(5/7)需要联机更新主文件吗?需要联机更新主文件吗?输入、输出、查询和文件很
21、复杂吗?输入、输出、查询和文件很复杂吗?内部处理复杂吗?内部处理复杂吗?代码需要被设计成可重用吗?代码需要被设计成可重用吗?设计中需要包括转换和安装吗?设计中需要包括转换和安装吗?系统的设计支持不同组织的多次安装吗?系统的设计支持不同组织的多次安装吗?应用的设计方便用户修改和使用吗?应用的设计方便用户修改和使用吗?Yibinu UniversitySchool of Computer & Information Engineering24 2面向功能的度量(6/7)优点优点与程序设计语言无关与程序设计语言无关, 在开发前就可以估算在开发前就可以估算出软件项目的规模出软件项目的规模(事前
22、事前)不足不足没有直接涉及算法的复杂度,不适合算法比没有直接涉及算法的复杂度,不适合算法比较复杂的软件系统;较复杂的软件系统;功能点计算主要靠经验公式,主观因素比较功能点计算主要靠经验公式,主观因素比较多多数据不好采集数据不好采集Yibinu UniversitySchool of Computer & Information Engineering25程程序序设设计计语语言言L LO OC C/ /F FP P( (平平均均值值) )汇汇编编语语言言300C CO OB BO OL L100F FO OR RT TR RA AN N100P PA AS SC CA AL L90A A
23、D DA A70O OO OP PL L304 4G GL L20代代码码生生成成器器15 2面向功能的度量(7/7)代码行度量和功能点度量间的关系代码行度量和功能点度量间的关系Yibinu UniversitySchool of Computer & Information Engineering26 3成本和工作量估算(1/2)软件项目成本和工作量估算极为重要软件项目成本和工作量估算极为重要计算机系统中软件成本占总成本的比例很大计算机系统中软件成本占总成本的比例很大用户和项目管理人员对软件成本和工作量估用户和项目管理人员对软件成本和工作量估算都很重视算都很重视软件项目成本估算比较困
24、难软件项目成本估算比较困难软件是逻辑产品,软件开发是一个逻辑思维软件是逻辑产品,软件开发是一个逻辑思维的过程的过程 涉及多方面因素涉及多方面因素Yibinu UniversitySchool of Computer & Information Engineering27 3成本和工作量估算(2/2)软件项目成本和工作量估算常用方法软件项目成本和工作量估算常用方法参照和依据已完成项目的历史数据参照和依据已完成项目的历史数据将大项目分解为小项目将大项目分解为小项目将项目按照软件生命周期分解将项目按照软件生命周期分解根据经验估算公式根据经验估算公式上述方法可以同时、单独或者组合使用上述方法可
25、以同时、单独或者组合使用Yibinu UniversitySchool of Computer & Information Engineering2813.1 估算软件规模软件项目软件项目规模规模影响软件项目成本和工作量影响软件项目成本和工作量软件项目软件项目代码行和功能点代码行和功能点估算是成本和工估算是成本和工作量的基础作量的基础.估算出估算出FP或者或者LOC期望值期望值e = (a + 4m + b)/6 其中其中: a=乐观值乐观值; b=悲观值悲观值;m=一般值一般值Yibinu UniversitySchool of Computer & Information
26、Engineering29案例: 代码行和功能点估算 (1/8)软件描述软件描述(CAD软件软件)CAD图形软件可接受来自用户的二维和三维图形软件可接受来自用户的二维和三维几何数据,用户通过界面与几何数据,用户通过界面与CAD软件进行交软件进行交互,并控制它,该软件具有良好的人机界面互,并控制它,该软件具有良好的人机界面设计的特征。所有的几何数据及其支持信息设计的特征。所有的几何数据及其支持信息存放在数据库中。开发设计分析模块,以产存放在数据库中。开发设计分析模块,以产生所需的输出,这些输出将显示在各种不同生所需的输出,这些输出将显示在各种不同的图形化设备上。软件在设计中要考虑与外的图形化设备
27、上。软件在设计中要考虑与外设进行交互并控制它们,包括鼠标、数字化设进行交互并控制它们,包括鼠标、数字化仪、打印机等等。仪、打印机等等。Yibinu UniversitySchool of Computer & Information Engineering30案例: 代码行和功能点估算 (2/8)软件子系统划分软件子系统划分图形用户界面及其控制机制图形用户界面及其控制机制二维几何分析二维几何分析三维几何分析三维几何分析数据库管理数据库管理图形显示图形显示外设控制外设控制(与打印机、数字化仪、扫描仪的与打印机、数字化仪、扫描仪的接口接口)设计分析子系统设计分析子系统Yibinu Univ
28、ersitySchool of Computer & Information Engineering31案例: 代码行和功能点估算 (3/8)估算出各个子系统的代码行,例如三维几估算出各个子系统的代码行,例如三维几何分析功能的代码行估算范围为:何分析功能的代码行估算范围为:乐观值:乐观值:4 600可能值:可能值:6 900悲观值:悲观值:8 600估算值:估算值: e = (a + 4m + b)/6 = 6 800Yibinu UniversitySchool of Computer & Information Engineering32案例: 代码行和功能点估算 (4/8
29、)子子 系系 统统 代代 码码 行行 图形用户界面及其控制机制 2 300 二维几何分析 5 300 三维几何分析 6 800 数据库管理 3 350 图形显示 4 950 外设控制(与打印机、扫描仪等的接口) 2 100 设计分析子系统 8 400 总代码行估算值 33 200 Yibinu UniversitySchool of Computer & Information Engineering33案例: 代码行和功能点估算 (5/8)历史数据历史数据平均生产率平均生产率Pf: 620 LOC/PM(620行代码行代码/人月人月)每个人月的成本每个人月的成本 C = 8000¥估
30、算项目成本和工作量估算项目成本和工作量估算工作量估算工作量 = 总代码行总代码行/PM= 33200/620=54人人月月估算成本估算成本 = 估算工作量估算工作量 每个人月的成本每个人月的成本 = 54人月人月 8000 = 43 2000¥Yibinu UniversitySchool of Computer & Information Engineering34案例: 代码行和功能点估算 (6/8)基于功能点估算:基于功能点估算:信信息息域域 乐乐观观值值 可可能能值值 悲悲观观值值 估估 算算计计数数 加加 权权因因子子 F FP P计计数数 输输入入数数 20 24 30 2
31、4 4 96 输输出出数数 12 15 22 16 5 80 查查询询数数 16 22 28 22 4 88 文文件件数数 4 4 5 4 10 40 接接口口数数 2 2 3 2 7 14 总总计计 318 Yibinu UniversitySchool of Computer & Information Engineering35案例: 代码行和功能点估算 (7/8)Step2: 计算复杂度调整因子因因子子 值值 备备份份和和复复原原 4 数数据据通通信信 2 分分布布式式处处理理 0 关关键键性性能能 4 操操作作环环境境 3 联联机机数数据据登登陆陆 4 多多屏屏幕幕输输入入切
32、切换换 5 主主文文件件联联机机更更新新 3 因因子子 值值 信信息息域域值值复复杂杂性性 5 内内部部处处理理复复杂杂性性 5 软软件件重重用用 4 转转换换和和安安装装 3 多多次次安安装装 5 方方便便修修改改 5 复复杂杂度度调调节节因因子子 1.17 Yibinu UniversitySchool of Computer & Information Engineering36案例: 代码行和功能点估算 (8/8)计算出计算出FP的估算值的估算值FP = (0.65 + 0.01 Fi)CT = 372历史数据历史数据平均生产率平均生产率 6.5 FP/PM每个人月的成本每个人
33、月的成本 C = 8000¥(平均月薪平均月薪)估算成本和工作量估算成本和工作量工作量工作量 58人月人月成本成本 457000¥Yibinu UniversitySchool of Computer & Information Engineering3713. 2 工作量估算Yibinu UniversitySchool of Computer & Information Engineering3813. 2 工作量估算经验估算模型:经验估算模型: CoCoMo模型?模型?COCoMo是指是指Constructive Cost Model,构造性成本模型构造性成本模型,Boe
34、hm于于1981年提出,年提出,用于对软件开发项目的规模、成本、进度等用于对软件开发项目的规模、成本、进度等方面进行估算方面进行估算CoCoMo模型是一个综合经验模型,模型中模型是一个综合经验模型,模型中的参数取值来至于的参数取值来至于经验值经验值,并且综合了诸多,并且综合了诸多的因素、比较全面的估算模型的因素、比较全面的估算模型比较实用、可操作,在欧盟国家应用较为广比较实用、可操作,在欧盟国家应用较为广泛泛Yibinu UniversitySchool of Computer & Information Engineering39经验估算模型(2/7)CoCoMo模型的层次模型的层次
35、 支持不同的阶段支持不同的阶段基本基本COCoMo模型模型(应用系统组成模型)(应用系统组成模型)l系统开发的初期,估算系统开发的初期,估算整个系统整个系统的工作量的工作量(包括包括维护维护)和软件开发和维护所需的时间和软件开发和维护所需的时间中间中间COCoMo模型模型(早期设计模型)(早期设计模型)l估算估算各个子系统各个子系统的工作量和开发时间的工作量和开发时间详细详细COCoMo模型模型(后体系结构模型)(后体系结构模型)l估算估算独立的软构件独立的软构件,如各个子系统的各个模块的,如各个子系统的各个模块的工作量和开发时间工作量和开发时间Yibinu UniversitySchool
36、of Computer & Information Engineering40 经验估算模型(3/7)基本基本CoCoMo模型模型E = a (kLOC)b ;E是工作量是工作量(人月人月) ,a和和b是经验常数是经验常数D = c Ed ;D是开发时间是开发时间(月月) ,c和和d是经验是经验常数常数其中,其中,a,b,c,d为经验常数,其取值见下表为经验常数,其取值见下表 软件类型软件类型 a b c d 适用范围适用范围 组织型组织型 2.4 1.05 2.5 0.38 各类应用程序各类应用程序 半独立型半独立型 3.0 1.12 2.5 0.35 各类编译程序等各类编译程序等
37、嵌入型嵌入型 3.6 1.20 2.5 0.32 实时软件实时软件、OS 等等 Yibinu UniversitySchool of Computer & Information Engineering41 经验估算模型(4/7)中间中间CoCoMo模型模型E = a (kLOC)b EAF 其中,其中,E表示工作量表示工作量(人月人月),EAF表示工作表示工作量调节因子,量调节因子,a,b为经验常数,其取值见下为经验常数,其取值见下表表 软软件件类类型型 a b 组组织织型型 3.2 1.05 半半独独立立型型 3.0 1.12 嵌嵌入入型型 2.8 1.20 Yibinu Univ
38、ersitySchool of Computer & Information Engineering42 经验估算模型(5/7)EAF的取值的取值(考虑考虑15个因素个因素)软件产品属性软件产品属性(3):软件可靠性,软件复杂性,:软件可靠性,软件复杂性,数据库的规模数据库的规模计算机属性计算机属性(4):程序执行时间,程序占用内:程序执行时间,程序占用内存大小,软件开发环境的变化,软件开发环存大小,软件开发环境的变化,软件开发环境的响应速度境的响应速度人员属性人员属性(5):分析员能力,程序员能力,领:分析员能力,程序员能力,领域经验,开发环境的经验,程序设计语言的域经验,开发环境的
39、经验,程序设计语言的经验经验项目属性项目属性(3):软件开发方法的能力,软件工:软件开发方法的能力,软件工具的数量和质量,软件开发的进度要求具的数量和质量,软件开发的进度要求Yibinu UniversitySchool of Computer & Information Engineering43 经验估算模型(6/7)EAF的取值的取值(范围范围)很低、低、正常、高、很高、极高很低、低、正常、高、很高、极高Boehm建议取值范围建议取值范围0.70-1.66EAF的计算的计算Fi ( i=1.15)调节因子及其取值由调节因子及其取值由统计结果和经验统计结果和经验决定,决定,不同的软
40、件开发组织在不同的时期可能会有不同的软件开发组织在不同的时期可能会有不同的取值不同的取值Yibinu UniversitySchool of Computer & Information Engineering44 经验估算模型(7/7)案例分析:用基本案例分析:用基本CoCoMo模型估算项模型估算项目的工作量、开发时间和参加项目开发的人目的工作量、开发时间和参加项目开发的人数数CAD软件:目标代码行软件:目标代码行33.2kLOC,属于中,属于中等规模,半独立型,因而等规模,半独立型,因而a = 3.0, b = 1.12, c = 2.5, d = 0.35E = 3.0*(33.
41、2)1.12 =152 PMD = 2.5*(152)0.35 = 14.5 (月月)参加项目人数参加项目人数N = E/D = 152/14.5 = 11(人人)Yibinu UniversitySchool of Computer & Information Engineering4513. 3 进度计划包括估算开发时间和估算工程进度级包括估算开发时间和估算工程进度级Yibinu UniversitySchool of Computer & Information Engineering46项目案例案例角色和人物案例角色和人物小王:软件项目负责人小王:软件项目负责人老王:公
42、司技术老总老王:公司技术老总开发小组:小开发小组:小李,老赵,小田,小谢李,老赵,小田,小谢Yibinu UniversitySchool of Computer & Information Engineering47软件项目的实施需要计划(1/3)项目开始实施之时,老王就提醒小王,为了更项目开始实施之时,老王就提醒小王,为了更好地管理和控制软件开发项目,他应该马上着手制好地管理和控制软件开发项目,他应该马上着手制定软件项目的实施计划,该计划的制定对于整个项定软件项目的实施计划,该计划的制定对于整个项目的组织、管理和开展是至关重要的目的组织、管理和开展是至关重要的由于认识到软件项目计划
43、的重要性,小王花了由于认识到软件项目计划的重要性,小王花了1周时间制定了一个详细的软件项目计划,包括了详周时间制定了一个详细的软件项目计划,包括了详细的工作安排、明确的人员分工和具体的进度要求,细的工作安排、明确的人员分工和具体的进度要求,计划看起来似乎是科学和合理的计划看起来似乎是科学和合理的项目计划最后交给项目组的所有成员进行讨论,项目计划最后交给项目组的所有成员进行讨论,并交付给公司的领导审阅,通过并批准,开始被付并交付给公司的领导审阅,通过并批准,开始被付诸实施诸实施Yibinu UniversitySchool of Computer & Information Engine
44、ering48软件项目的实施需要计划(2/3)软件项目计划分发到了项目组的各个成员,每软件项目计划分发到了项目组的各个成员,每个成员根据计划准确地了解了各自的任务和工作,个成员根据计划准确地了解了各自的任务和工作,也了解了这些工作的实施进度要求也了解了这些工作的实施进度要求根据软件项目计划开始阶段似乎一切顺利,各根据软件项目计划开始阶段似乎一切顺利,各项工作已经按照计划的要求有序开展项工作已经按照计划的要求有序开展然而,随着项目实施的进展,小王发现实际的然而,随着项目实施的进展,小王发现实际的工作很难按照计划中所计划的那样开展进行。在计工作很难按照计划中所计划的那样开展进行。在计划制定时,低估
45、了软件项目的规模,高估了开发人划制定时,低估了软件项目的规模,高估了开发人员的素质和能力,整个计划过于乐观,软件项目计员的素质和能力,整个计划过于乐观,软件项目计划不得不多次进行调整,项目进展一拖再拖。划不得不多次进行调整,项目进展一拖再拖。Yibinu UniversitySchool of Computer & Information Engineering49软件项目的实施需要计划(3/3)后来小王发现,低估项目规模的一个主要原因是由于在后来小王发现,低估项目规模的一个主要原因是由于在制定计划时缺乏对项目规模的详细、准确的了解。制定计划时缺乏对项目规模的详细、准确的了解。尽管小王
46、对用户做了无数次的解释保证按期交付产品,尽管小王对用户做了无数次的解释保证按期交付产品,用户对项目的按期交付表示怀疑,并要求加快项目的实施进用户对项目的按期交付表示怀疑,并要求加快项目的实施进度度公司高层开始表示关注,为了弥补时间和进度,不得不公司高层开始表示关注,为了弥补时间和进度,不得不要求员工牺牲休息日进行加班,项目组部分成员开始抱怨。要求员工牺牲休息日进行加班,项目组部分成员开始抱怨。幸运的是,软件项目计划在经过多达幸运的是,软件项目计划在经过多达10次的更改,在次的更改,在项目组成员的积极努力和用户的配合下,项目最终在拖延了项目组成员的积极努力和用户的配合下,项目最终在拖延了6个月之
47、后顺利完工了个月之后顺利完工了Yibinu UniversitySchool of Computer & Information Engineering50案例提示我们软件项目计划的制定是极为重要的软件项目计划的制定是极为重要的软件项目计划应该在项目实施的初期制定软件项目计划应该在项目实施的初期制定软件项目计划的制定必须科学、准确,这软件项目计划的制定必须科学、准确,这样才能真正促进软件项目的管理样才能真正促进软件项目的管理Yibinu UniversitySchool of Computer & Information Engineering51管理问题什么是软件项目计划?什
48、么是软件项目计划?软件项目计划包括哪些方面的内容?软件项目计划包括哪些方面的内容?软件项目计划制定应该注意哪些方面问题?软件项目计划制定应该注意哪些方面问题?如何制定软件项目计划?如何制定软件项目计划?如何保证所制定计划的科学性和准确性?如何保证所制定计划的科学性和准确性?Yibinu UniversitySchool of Computer & Information Engineering52什么是软件项目计划什么是软件项目计划?什么是软件项目计划?软件项目计划的内容软件项目计划的内容软件项目计划制定的基础和依据软件项目计划制定的基础和依据软件项目计划制定的时机软件项目计划制定的时
49、机初步和详细的软件项目计划初步和详细的软件项目计划Yibinu UniversitySchool of Computer & Information Engineering53什么是软件项目计划?软件项目计划软件项目计划是对软件项目实施所涉及的是对软件项目实施所涉及的活动、人员的安排、任务的划分、开发进度、活动、人员的安排、任务的划分、开发进度、资源的分配和使用等方面作出的预先规划资源的分配和使用等方面作出的预先规划活动和任务活动和任务资源及其安排资源及其安排进度计划进度计划l进度计划与计划中的其他部分相关,是软件项目进度计划与计划中的其他部分相关,是软件项目计划中最难以制定,对软件项
50、目的实施影响最大,计划中最难以制定,对软件项目的实施影响最大,着重关注进度计划的制定着重关注进度计划的制定Yibinu UniversitySchool of Computer & Information Engineering54软件项目计划的内容(1/3)任务和开发活动任务和开发活动活动活动(技术活动和管理活动技术活动和管理活动)以及它们之间的关系,以及它们之间的关系,来自过程剪裁来自过程剪裁例如,需求分析,软件概要设计,软件详细设计等例如,需求分析,软件概要设计,软件详细设计等等等进一步细化,以描述完成工作详细、具体步骤及其进一步细化,以描述完成工作详细、具体步骤及其逻辑顺序,如
51、需求分析逻辑顺序,如需求分析(需求调查、分析和建模、撰需求调查、分析和建模、撰写文档、评审写文档、评审)进度计划进度计划各项活动按什么样的时间进度开展实施:何时开始,各项活动按什么样的时间进度开展实施:何时开始,何时结束何时结束例如,需求分析:例如,需求分析:2002/8/1开始开始2002/10/23结束结束 软件概要设计:软件概要设计:2002/10/25开始开始2002/11/23结结束束Yibinu UniversitySchool of Computer & Information Engineering55软件项目计划的内容(2/3)资源使用和安排计划资源使用和安排计划如何
52、针对不同活动的特点计划分配资源如何针对不同活动的特点计划分配资源(人员、资金、人员、资金、设备等设备等)哪些角色哪些角色(项目经理、需求分析人员、软件设计人项目经理、需求分析人员、软件设计人员员),哪些人,哪些人(小王,小李,老赵,小田,小谢小王,小李,老赵,小田,小谢)开发人员充当什么角色、负责和参与哪些活动开发人员充当什么角色、负责和参与哪些活动例如,张三作为需求分析小组负责人,负责和参与例如,张三作为需求分析小组负责人,负责和参与需求分析阶段工作;李四作为需求分析小组成员,需求分析阶段工作;李四作为需求分析小组成员,参与需求分析的具体工作参与需求分析的具体工作例如,在需求分析阶段,投入例
53、如,在需求分析阶段,投入3个人、预计投入资个人、预计投入资金金10万元万元(包括人员薪水、外地出差费用包括人员薪水、外地出差费用) 、PC机机3台、台、PC服务器服务器1台台Yibinu UniversitySchool of Computer & Information Engineering56软件项目计划的内容(3/3)活动、资源和人员、活动、资源和人员、进度等方面的计划是密进度等方面的计划是密切相关的切相关的注意注意项目进度应该是宏观项目进度应该是宏观的,应该保留在一的,应该保留在一定的抽象层次,不定的抽象层次,不宜过细、过于具体宜过细、过于具体对于软件开发而言,对于软件开发而
54、言,资源和人员与进度资源和人员与进度之间并不是线性关之间并不是线性关系系时间时间进度进度活动活动人员和资源人员和资源Yibinu UniversitySchool of Computer & Information Engineering57制定软件项目计划的时机在项目开始实施之时制定计划在项目开始实施之时制定计划明确了软件开发活动明确了软件开发活动明确了约束和限制条件明确了约束和限制条件不明确要完成的工作,因为需求分析工作还不明确要完成的工作,因为需求分析工作还没开始没开始制定软件项目计划的时机制定软件项目计划的时机项目开始之时:初步计划项目开始之时:初步计划需求完成之时:详细计划需
55、求完成之时:详细计划Yibinu UniversitySchool of Computer & Information Engineering58初步和详细的软件项目计划(1/3) 制制定定初初步步计计划划 制制定定质质量量保保证证计计划划 制制定定软软件件配配置置计计划划 需需求求分分析析 概概要要设设计计 跟跟踪踪和和监监督督 配配置置管管理理 技技术术活活动动 管管理理活活动动 Yibinu UniversitySchool of Computer & Information Engineering59初步和详细的软件项目计划(2/3)初步的软件项目计划初步的软件项目计划
56、时机:项目开始时机:项目开始(1-2周内周内)但是还没有获取完但是还没有获取完整和详细的软件需求整和详细的软件需求依据依据l项目的初步描述、用户需求的初步描述项目的初步描述、用户需求的初步描述l定义和剪裁的过程定义和剪裁的过程l限制和约束限制和约束形式:仅仅计划最近形式:仅仅计划最近(需求分析阶段或者需求分析阶段或者4-6周之内周之内)的软件开发计划的软件开发计划Yibinu UniversitySchool of Computer & Information Engineering60初步和详细的软件项目计划(3/3)详细完整的软件项目计划详细完整的软件项目计划时机:获取了详细、完整
57、的软件需求时机:获取了详细、完整的软件需求依据依据l软件需求规格说明书软件需求规格说明书l定义和剪裁的过程定义和剪裁的过程l限制和约束限制和约束形式:提供了项目后期的详细、完整的计划形式:提供了项目后期的详细、完整的计划Yibinu UniversitySchool of Computer & Information Engineering61为什么需要软件项目计划?有序、可控制地对软件项目进行管理有序、可控制地对软件项目进行管理生产高质量的软件产品生产高质量的软件产品确保员工的士气高昂确保员工的士气高昂确保员工保持高生产率确保员工保持高生产率及时交付软件产品及时交付软件产品降低软件开
58、发成本降低软件开发成本成功地进入市场成功地进入市场客户满意度客户满意度及时发布产品新版本及时发布产品新版本Yibinu UniversitySchool of Computer & Information Engineering62估算活动的周期(1/4)细分活动细分活动活动的粒度越小,估算的准确度就会越高活动的粒度越小,估算的准确度就会越高借鉴历史数据借鉴历史数据积累历史数据积累历史数据使用估算模型使用估算模型例如,例如,CoCoMo模型模型 ; Putnam模型模型考虑缓冲时间考虑缓冲时间缓冲时间保证项目按照计划有足够的时间来完成活缓冲时间保证项目按照计划有足够的时间来完成活动动Y
59、ibinu UniversitySchool of Computer & Information Engineering63估算活动的周期(2/4)缓冲时间缓冲时间意外事件的缓冲意外事件的缓冲l意外事件可能会发生意外事件可能会发生(如全企业的培训如全企业的培训)l例如,需求分析计划从例如,需求分析计划从8.1开始共需开始共需20个工作日,应该个工作日,应该8.29日完成,但中间公司要开展日完成,但中间公司要开展2天的全员培训,因此天的全员培训,因此8.31结束结束节假日时间的缓冲节假日时间的缓冲l例如,编码计划从例如,编码计划从9.31开始,工作量为开始,工作量为10个工作日,因为个工
60、作日,因为国庆放假国庆放假1周,因此,应该计划在周,因此,应该计划在10.21日完成日完成不要在计划中考虑加班时间,加班是不可避免不要在计划中考虑加班时间,加班是不可避免得,但是考虑了加班,可能会发生更多的加班得,但是考虑了加班,可能会发生更多的加班Yibinu UniversitySchool of Computer & Information Engineering64估算活动的周期(3/4)综合考虑其他因素综合考虑其他因素考虑节假日考虑节假日以工作日以工作日(而不是星期而不是星期)规定活动周期规定活动周期考虑参与活动团队的教育、培训、经验和技能水平考虑参与活动团队的教育、培训、经验和技能水平考虑教育和培训需要考虑教育和培训需要考虑评审所化的时间考虑评审所化的时间考虑传播时间考虑传播时间考虑团队中成员的其他工作考虑团队中成员的其他工作考虑硬件、工具和人员的效率考虑硬件、工具和人员的效率考虑活动的迭代和重复考虑活动的迭代和重复活动之间有一定的缓冲活动之间有一定的缓冲Yibinu UniversitySchool of Computer & Information Engineering65估算活动的周期(4/4)工作量的分布工作量的分布分析和设计分析和设计40%-50%40%-50%测试和调试测试和调试30%-40%30%-40%编码编码10%-20%10%-2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 猫腻作品《间客》经典语录
- 基本体操教案
- 光学分析仪器账务处理实例-记账实操
- 弱电施工技术交底
- 2024年药物控释材料项目综合评估报告
- 2019湘美版 高中美术 选择性必修5 工艺《第一单元 工艺概述》大单元整体教学设计2020课标
- 2024届河北省张家口市重点中学高三第二学期月考试卷(二)数学试题
- 2024届广东省珠海三中高三第二次五校联考数学试题
- 材料合同书样本简单
- 老人摔跤应急处置
- 2024年安徽省滁州市琅琊区城市管理行政执法局招聘15人历年高频难、易错点500题模拟试题附带答案详解
- 生成式人工智能数据安全风险及其应对
- 短途调味品运输合同范本
- 畜禽解剖生理5消化系统课件
- 实验室定期自查制度
- 2024江苏地区“三新”供电服务公司招聘600人高频500题难、易错点模拟试题附带答案详解
- 建设施工合同书证据目录
- 财务报表会计附注模板
- 7 中华民族一家亲 互相尊重 守望相助 教学设计-2024-2025学年道德与法治五年级上册统编版
- 素养评价一(试题)-2024-2025学年统编版语文五年级上册
- 2024年全国职业院校技能大赛中职(智慧物流作业赛项)考试题库-上(单选题)
评论
0/150
提交评论