软件工程11.ppt

上传人:李司机 文档编号:4096101 上传时间:2023-04-04 格式:PPT 页数:31 大小:374KB
返回 下载 相关 举报
软件工程11.ppt_第1页
第1页 / 共31页
软件工程11.ppt_第2页
第2页 / 共31页
软件工程11.ppt_第3页
第3页 / 共31页
软件工程11.ppt_第4页
第4页 / 共31页
软件工程11.ppt_第5页
第5页 / 共31页
点击查看更多>>
资源描述

《软件工程11.ppt》由会员分享,可在线阅读,更多相关《软件工程11.ppt(31页珍藏版)》请在三一办公上搜索。

1、第11章 软件项目管理,l软件项目管理:为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对成本、人员、进度、质量、风险等进行分析和管理。通过计划、组织和控制等一系列活动,合理配置和使用各种 资源,以达到既定目标。l软件项目管理先于任何技术活动之前开始,并且贯穿于软件 的整个生命周期之中。l软件项目管理包括管理技术和管理过程两部分内容,11.1 软件项目计划 11.2 管理技术 11.3 能力成熟度模型,l软件项目计划包括的内容:1.确定软件的范围:项目目标;主要功能;性能限制;系统接口;特殊要求(对可靠性、实时性等);2.确定资源:支持开发工作的工具(包括硬件工具和软件工具);人员。3

2、.进度安排 4.成本估算 5.培训计划,11.2.1 度量软件规模 11.2.2 工作量估算 11.2.3 进度计划 11.2.4 控制,1代码行技术:根据以往开发类似产品的经验和数据,估计实现软件功能 所需要的源程序行数。l由多名有经验的软件工程师分别估计程序的最小规模a、最大规模b、最可能的规模m,则程序规模的估计值为:L=程序单位:代码行数(LOC)或千行代码数(KLOC)。,l代码行技术的主要优点:代码是所有软件开发项目都有的“产品”,容易计算。l代码行技术的缺点:源程序仅是软件配置的一个成分,用其代表整个软件的规模 不太合理;用不同语言实现同一个软件所需要的代码行数不相同;不适用非过

3、程语言。,2功能点技术:根据对软件信息域特性和复杂性的评估结果,计算 功能点数,以此度量软件规模。,(1)信息域特性:输入项数Inp(给软件提供的数据)输出项数Out(报表、出错提示等)查询数Inq(不改变内部数据的请求响应对的数目)逻辑主文件数Maf(一个独立文件、一个数据库表等)外部接口数Inf(机器可读的全部接口、与其他系统共 享的数据项),(2)影响复杂性的技术因素Fi(1i14;0Fi5):表10.2,(3)估算功能点的步骤:计算未调整的功能点数UFP:UFP=a1Inp+a2Out+a3Inq+a4Maf+a5Inf 其中:ai(1i5)是信息域特性系数(表10.1)计算技术复杂性

4、因子TCF:TCF=0.65+0.01 计算功能点数FP:FP=UFPTCF,l功能点数与所用的编程语言无关,功能点技术比代码行 技术更合理一些。l在判断信息域特性复杂级别和技术因素的影响程度时,存在着相当大的主观因素。,l每一个项目任务的解决都需要花费若干工作量;每个 工作量单位都对应于一定的货币成本、可以由此作出 成本估算。l工作量单位:人月(PM)l使用经验公式预测软件开发工作量,工作量是软件规 模(KLOC或FP)的函数,1.静态单变量模型:E=A+B(ev)C 其中:E表示工作量;A、B、C是经验常数;ev表示软件规模估算值(代码行数或功能点数),2.动态多变量模型:E=LOCB0.

5、333/P3(1/t)4 其中:t是项目持续时间;B是技术因子(经验常数);P是生产率参数(经验常数);LOC表示软件规模估算值(代码行数),3.COCOMO2模型(COnstructive COst MOdel):将软件开发工作量表示成代码行数的非线性函数 l三个层次的估算模型:(1)应用系统组成模型:主要用于估算构建原型的工作量、构建原型时大量使用已有的构件。(2)早期设计模型:适用于体系结构设计阶段。(3)后体系结构模型:适用于完成体系结构设计之后的软 件开发阶段。,l后体系结构模型:E=其中:E是开发工作量(以人月为单位),a是模型系数,KLOC是估计的源代码行数(以千行为单位),b是

6、模型指数,fi(i=117)是成本因素。,l项目管理者的目标:定义一个适用于当前项目的任务集合,识别出关键任务,跟踪关键任务的进展状况,及时发现拖延进度的情况并 采取适当解决措施。,l描述进度计划的图形工具:,1.Gantt 图:历史悠久、应用广泛的制定进度计划的工具(1)标明各个阶段任务的计划开始时间、完成时间;(2)各个任务完成的标志(文档;评审);(3)当前进度。,2.工程网络图:描述任务分解情况、各项任务的开始和结束时间、任务之间的依赖与并行关系 图10.3 图10.4,l在甘特图中,每一任务完成的标准,不是以能否继续 下一阶段任务为标准,而是以必须交付的文档与通过 评审为标准。l甘特

7、图的优点:标明了各任务的计划进度和当前进度;能动态地反映软件开发进展情况。l甘特图的缺点:难以反映多个任务之间存在的复杂的逻 辑关系。,例:某一开发项目在进入编码阶段之后,考虑安排三个 模块A、B、C的开发工作。其中:模块A是公用模块,模块B与C的测试有赖于模 块A调试的完成。模块C是利用已有的模块,但对它要在理解之 后做部分修改。最后直到A、B和C做组装测试为止。上述工作步骤如图所示。,l各边表示要完成的任务,边上均标注任务的名字l边上的数字表示完成任务的持续时间l图中有数字编号的结点是任务的起点和终点(称为事件),l可使用工程网络图求关键路径:(1)事件中标出最早时刻和最迟时刻(2)关键路

8、径上的事件满足:最早时刻和最迟时刻相同(3)任务的机动时间(LET)结束事件(EET)开始事件持续时间,l控制:使被控制对象在规定范围内活动;尽量使一切活动 按照预定计划进行,达到预期目标。,1.风险控制:(1)风险是损失的不确定性;是给定情况下一定时期可能 发生的各种结果间的差异。,(2)软件风险分类:l按照风险的影响范围分类:项目风险(拖延进度、增加成本)技术风险(影响软件质量和交付时间)商业风险(威胁软件的生存力),l 按照风险的可预测性分类:已知风险(通过评估项目计划、商业和技术环境获知)可预测风险(由过去经验推测)不可预测风险,(3)风险管理:风险识别(已知的、可预测的风险):包括产

9、品规模风险、商业风险、客户风险、过程风险、技术风险、开发环境风险、人员风险等 l识别风险的方法,风险评估(预测):评估风险变成现实的可能性(概率)、风险的后果,处理风险:包括风险避免(缓解)、风险监控、风险 管理和意外事件计划,2质量保证(1)软件质量:软件与明确地和隐含地定义的需求相一致的程度 l影响软件质量的因素,(2)软件质量保证措施:基于非执行的测试(技术评审和复审):保证编码之前各阶段文档的质量 基于执行的测试和程序正确性的证明,3配置管理:l软件配置管理是在计算机软件的整个生命周期内管理 变化的一组活动;这组活动用来:标识变化 控制变化 确保适当地实现变化 报告变化,(1)软件配置

10、:软件配置项:计算机程序、描述计算机程序的文档、数据,基线:通过了正式复审的软件配置项;它可以作为进一步 开发的基础,并且只能遵循正式的变化控制过程 得到改变。,(2)软件配置管理过程的五项任务:标识软件配置中的对象 版本控制(管理不同版本的配置对象)变化控制(评估、跟踪、和复审所有变化)配置审计(评估配置对象的不在复审过程中 考虑的特征)状态报告(发生了什么?谁做的?发生时间?影响的其他事物),l能力成熟度模型:CMM(Capability Maturity Model)lCMM用于改进软件开发和维护的过程(适于软件开发组织)lCMM 为大型软件项目的招投标活动提供一种全面而客观 的评审依据,l能力成熟度的五个等级:1.初始级:软件过程混乱无序 2.可重复级:建立了基本的项目管理过程,能够跟踪成本、进度、功能和质量。类似的软件项目可再次 取得成功。3.已定义级:定义了完整的软件过程(标准化和文档化),所有的开发都按照此标准过程完成。4.已管理级:软件机构定量地管理开发过程和软件产品 5.优化级:定量管理并不断改进软件过程,l影响软件质量的因素,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号