1、 Software EngineeringSoftware EngineeringCCUTSE2013CCUTSE2013CCUTSE2013CCUTSE2013吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201321.1.1.1.估算软件规模估算软件规模估算软件规模估算软件规模2.2.2.2.工作量估算工作量估算工作量估算工作量估算3.3.3.3.进度计划进度计划进度计划进度计划4.4.4.4.人员组织人员组织人员组织人员组织5.5.5.5.质量保证质量保证质量保证质量保证6.6.6.6.能力成熟度模型能力成熟度模型能力成熟度模型能力成熟度模
2、型7.7.7.7.软件配置管理软件配置管理软件配置管理软件配置管理8.8.8.8.能力成熟度模型能力成熟度模型能力成熟度模型能力成熟度模型主要内容主要内容主要内容主要内容吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20133导言导言导言导言俗话说俗话说俗话说俗话说“三分技术,七分管理三分技术,七分管理三分技术,七分管理三分技术,七分管理”俗话说俗话说俗话说俗话说“吃不穷穿不穷算计不到就受穷吃不穷穿不穷算计不到就受穷吃不穷穿不穷算计不到就受穷吃不穷穿不穷算计不到就受穷”俗话说俗话说俗话说俗话说“巧妇难为无米之炊巧妇难为无米之炊巧妇难为无米之炊巧妇
3、难为无米之炊”吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20134软件工程软件工程软件工程软件工程 包括包括包括包括技术技术技术技术和和和和管理管理管理管理两方面的内容,是两方面的内容,是两方面的内容,是两方面的内容,是技术技术技术技术与与与与管理管理管理管理紧密结合紧密结合紧密结合紧密结合所形成的工程学科。所形成的工程学科。所形成的工程学科。所形成的工程学科。导言导言导言导言软件项目软件项目目标目标技技术术管管理理俗话说俗话说俗话说俗话说“三分技术,七分管理三分技术,七分管理三分技术,七分管理三分技术,七分管理”吉林省精品课程:软件工程导论
4、吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20135工程与项目工程与项目工程与项目工程与项目 工程:是类,是总称,工程:是类,是总称,工程:是类,是总称,工程:是类,是总称,项目:是对象,是实例,是一个具体的工程。项目:是对象,是实例,是一个具体的工程。项目:是对象,是实例,是一个具体的工程。项目:是对象,是实例,是一个具体的工程。导言导言导言导言工程工程项目项目吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20136软件项目管理贯穿于软件的整个生命周期软件项目管理贯穿于软件的整个生命周期软件项目管理贯穿于软件的整个生命周
5、期软件项目管理贯穿于软件的整个生命周期导言导言导言导言软件项目管理软件项目管理软件项目管理软件项目管理吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20137什么是管理(什么是管理(什么是管理(什么是管理(managementmanagementmanagementmanagement)?管理就是通过管理就是通过管理就是通过管理就是通过计划计划计划计划、组织组织组织组织和和和和控制控制控制控制等一系列活动,合理地等一系列活动,合理地等一系列活动,合理地等一系列活动,合理地配置配置配置配置和和和和使用使用使用使用资源,达到既定目标的资源,达到既定目
6、标的资源,达到既定目标的资源,达到既定目标的过程过程过程过程。导言导言导言导言计划计划计划计划组织组织组织组织控制控制控制控制过程过程过程过程资源资源资源资源合理使用与配置合理使用与配置效率效率效率效率质量质量质量质量吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20138软件项目管理的内容软件项目管理的内容软件项目管理的内容软件项目管理的内容导言导言导言导言时时时时间间间间管管管管理理理理人员管理人员管理人员管理人员管理配置管理配置管理配置管理配置管理质质质质量量量量管管管管理理理理吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CC
7、UTSE 2013CCUTSE 20139项目的时间管理项目的时间管理项目的时间管理项目的时间管理导言导言导言导言估算估算工作量工作量软件软件需求需求KLOCFP估算估算规模规模人月人月估算估算进度进度GanttPert模型模型模型模型模型模型吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201310项目的人员管理项目的人员管理项目的人员管理项目的人员管理导言导言导言导言民主制程序员组民主制程序员组主程序员组主程序员组现代程序员组现代程序员组吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201311
8、项目的质量管理项目的质量管理项目的质量管理项目的质量管理导言导言导言导言产品转移产品转移产品运行产品运行产品修改产品修改SQA小组小组计划计划监督监督记录记录分析分析报告报告活动活动措施措施基于非执行的测试基于非执行的测试基于执行的测试基于执行的测试程序正确性证明程序正确性证明吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201312软件的配置管理软件的配置管理软件的配置管理软件的配置管理导言导言导言导言数据数据数据数据程序程序程序程序文档文档文档文档软件配置项软件配置项变化管理变化管理标识变化标识变化版本控制版本控制变化控制变化控制报告报告配置
9、审计配置审计吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201313能力成熟度模型:能力成熟度模型:能力成熟度模型:能力成熟度模型:评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。导言导言导言导言吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201314能力成熟度模型:能力成熟度模型:能力成熟度模型:能力成熟度模型:评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度
10、的模型。评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。导言导言导言导言吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201315能力成熟度模型:能力成熟度模型:能力成熟度模型:能力成熟度模型:评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。导言导言导言导言吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201316能力成熟度模型:能力成熟度模型:能力成熟度模
11、型:能力成熟度模型:评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。导言导言导言导言吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201317能力成熟度模型:能力成熟度模型:能力成熟度模型:能力成熟度模型:评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。评价软件机构的软件过程能力成熟度的模型。导言导言导言导言吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论
12、CCUTSE 2013CCUTSE 2013181.1.1.1.代码行(代码行(代码行(代码行(KLOC/LOCKLOC/LOCKLOC/LOCKLOC/LOC)技术)技术)技术)技术11.1 11.1 估计软件规模估计软件规模估计软件规模估计软件规模出发点:出发点:出发点:出发点:依据以往开发类似产品的经验和历史数据。依据以往开发类似产品的经验和历史数据。依据以往开发类似产品的经验和历史数据。依据以往开发类似产品的经验和历史数据。L=L=6 6a+4m+ba+4m+b-加权平均法:加权平均法:加权平均法:加权平均法:多名有经验的软件工程师每人都估计多名有经验的软件工程师每人都估计多名有经验的
13、软件工程师每人都估计多名有经验的软件工程师每人都估计程序的最小规模程序的最小规模程序的最小规模程序的最小规模(a(a(a(a)、最大规模()、最大规模()、最大规模()、最大规模(b b b b)和最可能的规)和最可能的规)和最可能的规)和最可能的规模模模模(m)(m)(m)(m),分别计算出这,分别计算出这,分别计算出这,分别计算出这3 3 3 3中规模的平均值中规模的平均值中规模的平均值中规模的平均值a,ba,ba,ba,b和和和和m m m m之后,之后,之后,之后,计算计算计算计算L L L L。-吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUT
14、SE 2013191.1.1.1.代码行(代码行(代码行(代码行(KLOC/LOCKLOC/LOCKLOC/LOCKLOC/LOC)技术)技术)技术)技术11.1 11.1 估计软件规模估计软件规模估计软件规模估计软件规模L=L=6 6a+4m+ba+4m+b-工程师工程师a ab bm m唐唐 僧僧111312孙悟空孙悟空101311沙沙 僧僧91210猪八戒猪八戒131714白龙马白龙马121513均值均值111412=6 611+411+414+1214+12=13.17=13.17吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201320
15、1.1.1.1.代码行(代码行(代码行(代码行(KLOC/LOCKLOC/LOCKLOC/LOCKLOC/LOC)技术)技术)技术)技术11.1 11.1 估计软件规模估计软件规模估计软件规模估计软件规模优点:优点:优点:优点:代码是所有软件项目的产品,且代码行易于计算。代码是所有软件项目的产品,且代码行易于计算。代码是所有软件项目的产品,且代码行易于计算。代码是所有软件项目的产品,且代码行易于计算。缺点缺点缺点缺点:(:(:(:(1 1 1 1)代码仅是软件配置的成分之一,用代码行表示代码仅是软件配置的成分之一,用代码行表示代码仅是软件配置的成分之一,用代码行表示代码仅是软件配置的成分之一,
16、用代码行表示软件规模不尽合理;软件规模不尽合理;软件规模不尽合理;软件规模不尽合理;(2 2 2 2)用不同语言实现统一软件,代码行数并不相同。)用不同语言实现统一软件,代码行数并不相同。)用不同语言实现统一软件,代码行数并不相同。)用不同语言实现统一软件,代码行数并不相同。吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 2013212.2.2.2.功能点(功能点(功能点(功能点(FPFPFPFP)技术)技术)技术)技术11.1 11.1 估计软件规模估计软件规模估计软件规模估计软件规模uu克服克服克服克服代码行技术的缺点;代码行技术的缺点;代码行
17、技术的缺点;代码行技术的缺点;uu依据依据依据依据软件信息域特性软件信息域特性软件信息域特性软件信息域特性和和和和软件复杂性软件复杂性软件复杂性软件复杂性的评测结果。的评测结果。的评测结果。的评测结果。uu用功能点(用功能点(用功能点(用功能点(FPFPFPFP)为单位度量软件规模。)为单位度量软件规模。)为单位度量软件规模。)为单位度量软件规模。吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 2013222.2.2.2.功能点(功能点(功能点(功能点(FPFPFPFP)技术)技术)技术)技术11.1 11.1 估计软件规模估计软件规模估计软件规模
18、估计软件规模(1 1 1 1)信息域特性)信息域特性)信息域特性)信息域特性输入项数(输入项数(Inp)输出项数(输出项数(Out)查询数(查询数(Inq)主文件数(主文件数(Maf)外部接口数(外部接口数(Maf)信息域信息域信息域信息域吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 2013232.2.2.2.功能点(功能点(功能点(功能点(FPFPFPFP)技术)技术)技术)技术11.1 11.1 估计软件规模估计软件规模估计软件规模估计软件规模(1 1 1 1)信息域特性)信息域特性)信息域特性)信息域特性输入项数输入项数(InpInp):
19、):用户向软件输入的项数,这些输入给软件提供面向应用的用户向软件输入的项数,这些输入给软件提供面向应用的数据数据,不包括查询。不包括查询。输出项数输出项数(Out):(Out):查询数查询数主文件数主文件数外部接口数外部接口数吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 2013242.2.2.2.功能点(功能点(功能点(功能点(FPFPFPFP)技术)技术)技术)技术11.1 11.1 估计软件规模估计软件规模估计软件规模估计软件规模(2 2 2 2)估算功能点的步骤)估算功能点的步骤)估算功能点的步骤)估算功能点的步骤计算未调整的功能点计算未
20、调整的功能点UFP计算技术复杂性因子计算技术复杂性因子TCF计算功能点数计算功能点数FP吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 2013252.2.2.2.功能点(功能点(功能点(功能点(FPFPFPFP)技术)技术)技术)技术11.1 11.1 估计软件规模估计软件规模估计软件规模估计软件规模(2 2 2 2)估算功能点的步骤)估算功能点的步骤)估算功能点的步骤)估算功能点的步骤计算未调整的功能点计算未调整的功能点UFPUFP=aUFP=a1 1Inp+aInp+a2 2Out+aOut+a3 3Inq+aInq+a4 4Maf+aMaf
21、+a5 5InfInf 复杂级别复杂级别 特性系数特性系数简单简单平均平均复杂复杂输入系数输入系数a a1 1346输出系数输出系数a a2 2457查询系数查询系数a a3 3346文件系数文件系数a a4 471015接口系数接口系数a a5 55710吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 2013262.2.2.2.功能点(功能点(功能点(功能点(FPFPFPFP)技术)技术)技术)技术13.1 13.1 估计软件规模估计软件规模估计软件规模估计软件规模(2 2 2 2)估算功能点的步骤)估算功能点的步骤)估算功能点的步骤)估算功能
22、点的步骤计算技术复杂性因子计算技术复杂性因子TCF确定技术因素对软件规模的影响值确定技术因素对软件规模的影响值F1F14;0Fi 5计算技术因素对软件规模的综合影响程度计算技术因素对软件规模的综合影响程度DI;DI=Fi计算技术复杂性因子计算技术复杂性因子TCF。TCF=0.65+0.01DIi=114吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 2013272.2.2.2.功能点(功能点(功能点(功能点(FPFPFPFP)技术)技术)技术)技术11.1 11.1 估计软件规模估计软件规模估计软件规模估计软件规模(2 2 2 2)估算功能点的步骤
23、)估算功能点的步骤)估算功能点的步骤)估算功能点的步骤序号序号Fi技术因素技术因素1F1数据通信数据通信2F2分布式数据处理分布式数据处理3F3性能标准性能标准4F4高负荷的硬件高负荷的硬件5F5高处理率高处理率6F6联机数据输入联机数据输入7F7终端用户效率终端用户效率序号序号Fi技术因素技术因素8F8联机更新联机更新9F9复杂的计算复杂的计算10F10可重用性可重用性11F11安装方便安装方便12F12操作方便操作方便13F13可移植性可移植性14F14可维护性可维护性技术因素技术因素计算技术复杂性因子计算技术复杂性因子TCF吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCU
24、TSE 2013CCUTSE 2013282.2.2.2.功能点(功能点(功能点(功能点(FPFPFPFP)技术)技术)技术)技术11.1 11.1 估计软件规模估计软件规模估计软件规模估计软件规模(2 2 2 2)估算功能点的步骤)估算功能点的步骤)估算功能点的步骤)估算功能点的步骤计算功能点数计算功能点数FPFP=UFPTCF吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 2013292.2.2.2.功能点(功能点(功能点(功能点(FPFPFPFP)技术)技术)技术)技术11.1 11.1 估计软件规模估计软件规模估计软件规模估计软件规模(3
25、3 3 3)FPFPFPFP技术的优缺点技术的优缺点技术的优缺点技术的优缺点 优点优点优点优点:与编程语言无关,比代码行技术更加合理;与编程语言无关,比代码行技术更加合理;与编程语言无关,比代码行技术更加合理;与编程语言无关,比代码行技术更加合理;缺点缺点缺点缺点:在判断信息与特性复杂级别和技术因素的影响度在判断信息与特性复杂级别和技术因素的影响度在判断信息与特性复杂级别和技术因素的影响度在判断信息与特性复杂级别和技术因素的影响度 时,主观性较大。时,主观性较大。时,主观性较大。时,主观性较大。吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201
26、33011.2 11.2 工作量估计工作量估计工作量估计工作量估计工作量单位工作量单位工作量单位工作量单位:人月(人月(人月(人月(pmpmpmpm)。)。)。)。工作量估算工作量估算工作量估算工作量估算:是估算而不是计算,因为是事先而不是事后。是估算而不是计算,因为是事先而不是事后。是估算而不是计算,因为是事先而不是事后。是估算而不是计算,因为是事先而不是事后。工作量模型工作量模型工作量模型工作量模型:是经验公式,是是经验公式,是是经验公式,是是经验公式,是KLOCKLOCKLOCKLOC或或或或FPFPFPFP的函数。的函数。的函数。的函数。模型类别模型类别模型类别模型类别:静态模型静态模
27、型静态模型静态模型 动态模型动态模型动态模型动态模型 构造模型构造模型构造模型构造模型吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20133111.2 11.2 工作量估计工作量估计工作量估计工作量估计1.1.1.1.静态单变量模型静态单变量模型静态单变量模型静态单变量模型 E=E=A+BA+B(ev)C C其中:其中:E:E:工作量工作量A,B,CA,B,C:经验常数:经验常数evev:估算变量(估算变量(KLOCKLOC或或FPFP)总体结构形式总体结构形式总体结构形式总体结构形式吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 C
28、CUTSE 2013CCUTSE 20133211.2 11.2 工作量估计工作量估计工作量估计工作量估计1.1.1.1.静态单变量模型静态单变量模型静态单变量模型静态单变量模型Walston_FelixWalston_FelixWalston_FelixWalston_Felix模型:模型:模型:模型:E=5.2E=5.2E=5.2E=5.2(KLOC)(KLOC)(KLOC)(KLOC)0.910.910.910.91(1 1 1 1)面向)面向)面向)面向KLOCKLOCKLOCKLOC的估算模型的估算模型的估算模型的估算模型Bailey_BasiliBailey_BasiliBaile
29、y_BasiliBailey_Basili模型:模型:模型:模型:E=5.5+0.73E=5.5+0.73E=5.5+0.73E=5.5+0.73(KLOC)(KLOC)(KLOC)(KLOC)1.161.161.161.16BoehmBoehmBoehmBoehm简单模型:简单模型:简单模型:简单模型:E=3.2E=3.2E=3.2E=3.2(KLOC)(KLOC)(KLOC)(KLOC)1.051.051.051.05 DotyDotyDotyDoty模型模型模型模型(KLOC9(KLOC9(KLOC9(KLOC9时时时时):E=5.288E=5.288E=5.288E=5.288(KLO
30、C)(KLOC)(KLOC)(KLOC)1.0471.0471.0471.047吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20133311.2 11.2 工作量估计工作量估计工作量估计工作量估计1.1.1.1.静态单变量模型静态单变量模型静态单变量模型静态单变量模型Albrecht&GaffneyAlbrecht&GaffneyAlbrecht&GaffneyAlbrecht&Gaffney模型:模型:模型:模型:E=-13.39+0.0545FPE=-13.39+0.0545FPE=-13.39+0.0545FPE=-13.39+0.054
31、5FP(2 2 2 2)面向)面向)面向)面向FPFPFPFP的估算模型的估算模型的估算模型的估算模型Maston,BarnettMaston,BarnettMaston,BarnettMaston,Barnett和和和和MellichampMellichampMellichampMellichamp模型:模型:模型:模型:E=5.587+15.12FPE=5.587+15.12FPE=5.587+15.12FPE=5.587+15.12FP吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20133411.2 11.2 工作量估计工作量估计工作量估
32、计工作量估计1.1.1.1.静态单变量模型静态单变量模型静态单变量模型静态单变量模型 对于相同的对于相同的对于相同的对于相同的KLOCKLOCKLOCKLOC或或或或FPFPFPFP用不同的模型得到的结果不同,用不同的模型得到的结果不同,用不同的模型得到的结果不同,用不同的模型得到的结果不同,这是因为模型经验来自于有限领域和有限项目,进而适用这是因为模型经验来自于有限领域和有限项目,进而适用这是因为模型经验来自于有限领域和有限项目,进而适用这是因为模型经验来自于有限领域和有限项目,进而适用范围有限,因此实际应用时应适当调整模型(如,修改常范围有限,因此实际应用时应适当调整模型(如,修改常范围有
33、限,因此实际应用时应适当调整模型(如,修改常范围有限,因此实际应用时应适当调整模型(如,修改常数)。数)。数)。数)。(3 3 3 3)静态单变量模型的评价)静态单变量模型的评价)静态单变量模型的评价)静态单变量模型的评价吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20133511.2 11.2 工作量估计工作量估计工作量估计工作量估计2.2.2.2.动态多变量模型动态多变量模型动态多变量模型动态多变量模型 E=(LOCE=(LOCB B0.3330.333/P)/P)3 3(1/t)(1/t)4 4 其中其中E E是工作量;是工作量;t t是
34、项目持续时间;是项目持续时间;B B是特殊技术因是特殊技术因子,当子,当KLOC=5KLOC=51515时时B=0.16B=0.16,当,当KLOC70KLOC70时时B=0.39B=0.39;P P是是生产率参数,生产率参数,P=2000P=2000(嵌入式软件),(嵌入式软件),P=10000P=10000(电信系(电信系统统/系统软件),系统软件),P=28000P=28000(商业应用系统)。(商业应用系统)。(1 1 1 1)总体结构形式)总体结构形式)总体结构形式)总体结构形式吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201336
35、11.2 11.2 工作量估计工作量估计工作量估计工作量估计2.2.2.2.动态多变量模型动态多变量模型动态多变量模型动态多变量模型是软件规模和开发时间的函数;是软件规模和开发时间的函数;开发统一软件时,延长项目持续时间可降低完成项目开发统一软件时,延长项目持续时间可降低完成项目所需的工作量。所需的工作量。(2 2 2 2)模型评价)模型评价)模型评价)模型评价吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20133711.2 11.2 工作量估计工作量估计工作量估计工作量估计3.3.3.3.构造性成本模型:构造性成本模型:构造性成本模型:构造性
36、成本模型:COCOMO2COCOMO2COCOMO2COCOMO2模型模型模型模型应用系统组成模型:应用系统组成模型:估算构建原型的工作量;估算构建原型的工作量;早期设计模型:早期设计模型:适用于体系结构设计阶段;适用于体系结构设计阶段;后体系结构模型:后体系结构模型:适用于体系结构设计之后的开发阶段。适用于体系结构设计之后的开发阶段。(1 1 1 1)模型层次)模型层次)模型层次)模型层次吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20133811.2 11.2 工作量估计工作量估计工作量估计工作量估计3.3.3.3.构造性成本模型:构造性成
37、本模型:构造性成本模型:构造性成本模型:COCOMO2COCOMO2COCOMO2COCOMO2模型模型模型模型(2 2)后体系结构模型)后体系结构模型其中:其中:其中:其中:E E E E是工作量是工作量是工作量是工作量a a a a是模型系数是模型系数是模型系数是模型系数b b b b是模型指数是模型指数是模型指数是模型指数f f f fi i i i是成本因素是成本因素是成本因素是成本因素 E=E=a aKLOCKLOCb bffi ii=1i=1i=1i=117171717吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20133911.3
38、 11.3 进度计划进度计划进度计划进度计划1.1.1.1.估算开发时间估算开发时间估算开发时间估算开发时间2.Gantt2.Gantt2.Gantt2.Gantt图图图图3.3.3.3.工程网络工程网络工程网络工程网络4.4.4.4.估算工程进度估算工程进度估算工程进度估算工程进度5.5.5.5.关键路径关键路径关键路径关键路径6.6.6.6.机动时间机动时间机动时间机动时间吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20134012 12 人员组织人员组织人员组织人员组织1.1.1.1.民主制程序员组民主制程序员组民主制程序员组民主制程序员
39、组2.2.2.2.主程序员组主程序员组主程序员组主程序员组3.3.3.3.现代程序员组现代程序员组现代程序员组现代程序员组民主制程序员组民主制程序员组主程序员组主程序员组现代程序员组现代程序员组吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 2013411212人员组织人员组织人员组织人员组织1.1.1.1.民主制程序员组民主制程序员组民主制程序员组民主制程序员组特点:特点:特点:特点:地位平等,充分民主,协商决策。地位平等,充分民主,协商决策。地位平等,充分民主,协商决策。地位平等,充分民主,协商决策。通信路径:通信路径:通信路径:通信路径:n(
40、n-1)/2n(n-1)/2n(n-1)/2n(n-1)/2规模:规模:规模:规模:较小,较小,较小,较小,2-82-82-82-8人为宜人为宜人为宜人为宜优点:优点:优点:优点:积极面对程序错误,质量较高;积极面对程序错误,质量较高;积极面对程序错误,质量较高;积极面对程序错误,质量较高;充分民主,凝聚力高,利于攻关;充分民主,凝聚力高,利于攻关;充分民主,凝聚力高,利于攻关;充分民主,凝聚力高,利于攻关;实用于成员经验均丰富时。实用于成员经验均丰富时。实用于成员经验均丰富时。实用于成员经验均丰富时。缺点:缺点:缺点:缺点:成员经验均不丰富,缺乏协调,导成员经验均不丰富,缺乏协调,导成员经验
41、均不丰富,缺乏协调,导成员经验均不丰富,缺乏协调,导 致失败。致失败。致失败。致失败。吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20134212 12 人员组织人员组织人员组织人员组织2.2.2.2.主程序员组主程序员组主程序员组主程序员组主程序员主程序员编程秘书编程秘书后备程序员后备程序员程序员程序员程序员程序员程序员程序员吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20134312 12 人员组织人员组织人员组织人员组织2.2.2.2.主程序员组主程序员组主程序员组主程序员组主程序员主程序
42、员编程秘书编程秘书后备程序员后备程序员程序员程序员程序员程序员程序员程序员产生背景:产生背景:产生背景:产生背景:IBMIBMIBMIBM公司公司公司公司20202020世纪世纪世纪世纪70707070年代初期发明。年代初期发明。年代初期发明。年代初期发明。(1 1 1 1)软件开发人员多数比较缺乏经验;)软件开发人员多数比较缺乏经验;)软件开发人员多数比较缺乏经验;)软件开发人员多数比较缺乏经验;(2 2 2 2)程序设计过程中有许多事物性工作,如信息存储和更新;)程序设计过程中有许多事物性工作,如信息存储和更新;)程序设计过程中有许多事物性工作,如信息存储和更新;)程序设计过程中有许多事物
43、性工作,如信息存储和更新;(3 3 3 3)多渠道通信很费时间,将降低程序员的生产率。)多渠道通信很费时间,将降低程序员的生产率。)多渠道通信很费时间,将降低程序员的生产率。)多渠道通信很费时间,将降低程序员的生产率。吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20134412 12 人员组织人员组织人员组织人员组织2.2.2.2.主程序员组主程序员组主程序员组主程序员组主程序员主程序员编程秘书编程秘书后备程序员后备程序员程序员程序员程序员程序员程序员程序员特性:特性:特性:特性:(1)(1)(1)(1)专业化:该组每名成员仅完成他们受过专业训
44、练的哪些工作。专业化:该组每名成员仅完成他们受过专业训练的哪些工作。专业化:该组每名成员仅完成他们受过专业训练的哪些工作。专业化:该组每名成员仅完成他们受过专业训练的哪些工作。(2)(2)(2)(2)层次化:主程序员指挥没命组员工作,并对工作全面负责。层次化:主程序员指挥没命组员工作,并对工作全面负责。层次化:主程序员指挥没命组员工作,并对工作全面负责。层次化:主程序员指挥没命组员工作,并对工作全面负责。吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 2013451212人员组织人员组织人员组织人员组织2.2.2.2.主程序员组主程序员组主程序员组
45、主程序员组主程序员主程序员编程秘书编程秘书后备程序员后备程序员程序员程序员程序员程序员程序员程序员分工:分工:分工:分工:(1)(1)(1)(1)主程序员:体系结构设计、关键部分详细设计,技术指导。主程序员:体系结构设计、关键部分详细设计,技术指导。主程序员:体系结构设计、关键部分详细设计,技术指导。主程序员:体系结构设计、关键部分详细设计,技术指导。(2)(2)(2)(2)后备程序员:协助主程序员,必要时接替主程序员。后备程序员:协助主程序员,必要时接替主程序员。后备程序员:协助主程序员,必要时接替主程序员。后备程序员:协助主程序员,必要时接替主程序员。(3)(3)(3)(3)编程秘书:负责
46、事务性工作。编程秘书:负责事务性工作。编程秘书:负责事务性工作。编程秘书:负责事务性工作。吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20134612 12 人员组织人员组织人员组织人员组织2.2.2.2.主程序员组主程序员组主程序员组主程序员组主程序员主程序员编程秘书编程秘书后备程序员后备程序员程序员程序员程序员程序员程序员程序员缺点:缺点:缺点:缺点:(1)(1)(1)(1)主程序员:是高级程序员和优秀管理者的结合体,难找。主程序员:是高级程序员和优秀管理者的结合体,难找。主程序员:是高级程序员和优秀管理者的结合体,难找。主程序员:是高级程
47、序员和优秀管理者的结合体,难找。(2)(2)(2)(2)后备程序员:期望与主程序员一样优秀,难找。后备程序员:期望与主程序员一样优秀,难找。后备程序员:期望与主程序员一样优秀,难找。后备程序员:期望与主程序员一样优秀,难找。(3)(3)(3)(3)编程秘书:专业人员厌烦事务工作,难找。编程秘书:专业人员厌烦事务工作,难找。编程秘书:专业人员厌烦事务工作,难找。编程秘书:专业人员厌烦事务工作,难找。吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20134712 12 人员组织人员组织人员组织人员组织3.3.3.3.现代程序员组现代程序员组现代程序员
48、组现代程序员组技术组长技术组长行政组长行政组长程序员程序员程序员程序员程序员程序员(1 1 1 1)现代程序员组的结构)现代程序员组的结构)现代程序员组的结构)现代程序员组的结构技术管理技术管理技术管理技术管理非技术管理非技术管理非技术管理非技术管理吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20134812 12 人员组织人员组织人员组织人员组织3.3.3.3.现代程序员组现代程序员组现代程序员组现代程序员组程序员程序员程序员程序员程序员程序员(2 2 2 2)大型项目的技术管理组织结构)大型项目的技术管理组织结构)大型项目的技术管理组织结构
49、)大型项目的技术管理组织结构技术管理技术管理技术管理技术管理组长组长程序员程序员程序员程序员程序员程序员程序员程序员程序员程序员组长组长组长组长项目经理项目经理吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20134912 12 人员组织人员组织人员组织人员组织3.3.3.3.现代程序员组现代程序员组现代程序员组现代程序员组程序员程序员程序员程序员程序员程序员(3 3 3 3)包含分散决策的组织方式)包含分散决策的组织方式)包含分散决策的组织方式)包含分散决策的组织方式技术管理技术管理技术管理技术管理组长组长程序员程序员程序员程序员程序员程序员程
50、序员程序员程序员程序员组长组长组长组长项目经理项目经理吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 201350项目的质量管理项目的质量管理项目的质量管理项目的质量管理12 12 质量保证质量保证质量保证质量保证产品转移产品转移产品运行产品运行产品修改产品修改SQA小组小组计划计划监督监督记录记录分析分析报告报告活动活动措施措施基于非执行的测试基于非执行的测试基于执行的测试基于执行的测试程序正确性证明程序正确性证明吉林省精品课程:软件工程导论吉林省精品课程:软件工程导论 CCUTSE 2013CCUTSE 20135112 12 质量保证质量保证