软件工程管理课件

PPT
  • 阅读 23 次
  • 下载 0 次
  • 页数 101 页
  • 大小 1.435 MB
  • 2022-11-24 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档40.00 元 加入VIP免费下载
此文档由【小橙橙】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
软件工程管理课件
可在后台配置第一页与第二页中间广告代码
软件工程管理课件
可在后台配置第二页与第三页中间广告代码
软件工程管理课件
可在后台配置第三页与第四页中间广告代码
软件工程管理课件
软件工程管理课件
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 101
  • 收藏
  • 违规举报
  • © 版权认领
下载文档40.00 元 加入VIP免费下载
文本内容

【文档说明】软件工程管理课件.ppt,共(101)页,1.435 MB,由小橙橙上传

转载请保留链接:https://www.ichengzhen.cn/view-45014.html

以下为本文档部分文字说明:

关注问题什么是项目管理?项目管理的范围是什么?项目团队有哪些组织方式?项目开发中存在什么样的风险?如何避免?什么是软件配置管理?步骤是什么?软件规模度量的方法有哪些?各有什么特点?软件项目估算有哪些方法?软件项目进度计划有哪些方法?如何管理?软件项目

管理有哪些主流的工具?实验安排:实验14和实验15第14章软件项目管理什么是软件项目管理?软件项目管理的范围软件团队与组织软件项目管理内容项目管理概述项目是指一系列独特的、复杂的并相互关联的活动。项目参数包括项目范围、质量、成本、时间、资源。项目三维管理:时间维:

即把整个项目的生命周期划分为若干个阶段,从而进行阶段管理。知识维:即针对项目生命周期的各个不同阶段,采用和研究不同的管理技术方法。保障维:即对项目人力、财力、物力、信息等后勤保障管理。项目管理特点项目管理是一项比较复杂的工作项目管理具有创造性项目管理的对象是项目或被当作

项目来处理的作业项目负责人(或项目经理)在项目管理中起着非常重要的作用项目管理需要集权领导和建立专门的项目组织项目管理的方法、工具和手段具有先进性、开放性项目的五个阶段启动阶段:用户提出需求,开发人员进行需求

分析,确定可行性,编写项目实施计划。计划阶段:创建项目范围文档和项目计划,项目范围详细描述项目范围。实施阶段:实施阶段意味着项目正在进一步设计、编码、测试,小组成员正在创造项目需要的可交付产品。控制阶段:项目经理开始监督小组成员的工

作,将项目的进度、任务和预算控制在正常的范围内。收尾阶段:项目负责人和用户批准和签署项目,交付产品。项目的收尾阶段标志着项目的正式结束。软件项目管理软件项目管理涉及对人员、过程、产品和项目本身等管理过程中发生的事件的计划和监控。软件项目管理的任务包

括:制定项目实施计划对人员进行组织、分工成本管理质量管理软件开发软件项目管理范围软件项目管理是软件工程的保护性和支持性活动,持续贯穿于整个软件的定义、开发和维护过程之中。软件项目管理的目

的是为了按照预定的进度、费用等要求,成功地组织与实施软件的工程化生产,完成软件(产品)的开发和维护任务。范围包括四个方面:人员费用进度质量人员软件开发过程是人的智力密集型劳动,所以项目开发成功一个很重要的因素是人。目的之一就是通过吸引、培养、鼓励和留住有创

造力的、技术水平高的人才,增强软件组织承担日益繁重的软件开发的能力。软件项目的参与者也称为项目的共利益者:高级管理者项目(技术)管理者开发人员客户最终用户软件项目开发人员计划软件项目开发人员计划是一个时间的函数曲线,通常称为Rayleigh-Norden曲线。td

时间人员资源需求协调和沟通正式的、非个人的方法:包括一系列软件工程文档和交付物(如源程序):技术备忘录、项目里程碑、项目进度控制工具、错误跟踪报告、维护申请和相关文档、中心数据库等。正式的、个人的方法:集中表现在软件工程产品的质量保证活动中。包括软件复审会议、设计和代码检查等。

非正式的、个人的方法:包括信息传播、问题解决、需求和开发人员配置会议等。电子通信方法:包括电子邮件、电子公告栏、Web站点,以及基于视频的会议系统等。个人网络方法:与项目组之外的人员进行的非正式的讨论。软件工程管理的内容内容:项目管理过程管理项目开发过

程要做的工作:项目职责(ProjectFunction):不与软件开发过程的特定阶段相关联活动(Activity)或任务(Task):与软件开发过程的特定阶段相联系。活动是一个较大的工作单元,可以包含一系列任务。项

目职责的管理过程根据项目的目标和范围(用户和开发者共同确定),考虑可选的解决方案,定义技术和管理的约束;进行合理(尽可能准确)的成本估算、有效的风险评估、适当的项目任务划分或给出意义明确的项目进度标志等;制定一份详细

的软件项目管理计划。软件度量术语:测量(Measure):对一个产品过程的某个属性(如范围、数量、维度、容量或大小)提供一个定量指示。测度(Measurement):确定一个测量的行为度量(Metrics):对一个系统、构件或过程具有的某个给定属性的度的定量测量。软件度

量主要划分两大类:项目度量:战术性活动,目的在于辅助项目开发的控制和决策,改进软件产品的质量。过程度量:战略性活动,目的在于改进企业的软件开发过程,提高开发生产率。软件度量过程测度测量数据收集软件过程软件项目软件产品度

量度量计算测量度量评价软件项目管理计划文档计划阶段的主要任务是拟定软件项目管理计划书(SPMP,SoftwareProjectManagementPlan)软件项目管理计划(SPMP)的目标是提供一个框架内容:需要做的事:软件项目实施计划

,包括进度安排、质量保证措施等;需要的资源:软件项目资源需求和资源计划,资源包括时间、硬件、软件、人员和组织机构等;需要的经费:对软件项目的规模、开发和维护成本估计。SPMP中软件产品的进展情况可以通过一个“里程碑(Milestone)”来反映。SPMP类型项目实施计划:包括软件

目标、功能、进度、资源和费用等多个方面的一个综合性计划;质量保证计划:包括软件开发各个阶段的质量要求和质量保证活动;软件测试计划:规定各种测试活动的任务、方法、进度、资源和人员等;文档编制计划:规定项目开发各个阶段应编制的文档种类、内容和标准等;用户培训计划:包括对用户

培训的目标、要求和进度等;综合支持计划:描述软件开发所需的各个方面的支持,以及如何获得和利用这些支持等;软件分发计划:软件产品如何交付的说明。SPMP文档标准规范1引言1.1项目概述1.2项目交付1.3软件项目管理计划的演变1.4参考资料1.5术语

和缩写词2项目组织2.1过程模型2.2组织结构2.3组织边界和接口2.4项目责任3管理过程3.1管理目标和优先级3.2假设、依赖性和限制3.3风险管理3.4监督与控制机制3.5人员计划4技术过程4.1方法、工具和技术4.2软件文档4

.3项目支持功能5工作包、进度和预算5.1工作包5.2依赖性5.3资源要求5.4预算和资源分配5.5进度表6附加部分软件团队组织范式规划软件团队结构应考虑下列7个项目因素:待解决问题的难度程序的规模团队成员需

要共同工作的时间对问题分解的程度待开发系统的质量要求和可靠性要求项目交付日期的严格程度项目的沟通程度软件团队组织范式民主分权式:小组没有固定的负责人,问题和解决方法由小组讨论决策。个人偏爱自己管理员难以管理太民主的小组控制集权式:团队的顶层问题和

组内协调由团队负责人管理。负责人和组员之间的沟通是上下级的。专业化层次性控制分权最基本的概念是取消团队负责人的大部分管理工作。控制分权式示意图团队领导人团队管理员技术人员技术人员技术人员大型组织的组织结构团队领导人小组领导人技术员技术员技术员小

组领导人技术员技术员技术员小组领导人技术员技术员项目组织原则在正确的基础上开始工作。首先要正确理解问题,然后为每个参与项目的人员设置实现的目标和期望,并组织团队。保持动力。为了维持动力,项目经理必须采取激励措施使人员变动量保持最小,强调质量。跟踪进展。跟踪项目进展要作为质量保证

活动的一部分。收集项目过程和测量数据,对照开发团队的平均数据来评估项目的进展。做出合适的决策。决策应保持项目的简单性、识别并避免风险、分配比预定时间更多的时间来完成复杂或有风险的任务。进行事后分析W5HH原则为什么(W

hy)要开发这个系统?将要做什么(What)?什么时候(When)完成?某个功能由谁(Who)完成组织结构位于何处(Where)?如何(How)完成技术工作和管理工作?每种资源需要多少(Ho

wmuch)?软件过程管理过程度量人员的技能和动力产品复杂性过程中采用的技术采用统计软件过程改进方法过程改进过程分析改进识别引入过程变更过程变更培训过程变更调整项目度量战术目的在软件估算阶段风险管

理对策:项目风险需要识别、分析、应对和监控整个项目的风险管理应有一个计划可考虑前人总结出来的风险应对策略管理步骤;风险识别风险估计风险管理策略风险解决风险监控风险识别软件风险:项目风险技术风险商业风险检查内容:产品规模风险——检查与软件总体规模相

关的风险;商业影响风险——检查与管理或市场的约束相关的风险;与客户相关的风险——检查与客户素质和沟通能力相关的风险;过程风险——检查与软件过程定义和开发相关的风险;技术风险——检查与软件的复杂性和系统所包含的技术成熟度相关的风险;开发环境风险——检查与开发工具的

可用性和质量相关的风险;人员结构和经验风险风险预测风险预测,又可称为风险估计(RiskEstimation):包括风险发生的可能性建立风险可能性尺度使用的是概率尺度风险发生所产生的后果估计风

险对产品和项目的影响使用定性的描述三个因素:风险的性质、范围和时间风险规避风险驾驭考虑风险出现的概率产生的影响处理风险的策略风险监控评估风险成本软件配置管理软件配置(SoftwareConfiguration)是一个软件各种形式、各种版本的文档和程序的总称软

件配置管理(SCM,SoftwareConfigurationManagement)是对软件变更(或称为进化)过程的管理变更不可避免管理变更的能力是项目成败的关键SCM基本概念软件变更需求源:新的商业或市场条件,引起产品需求或业务流程(规则)的变

化。新的客户需要,要求修改软件系统产生的数据、产品提供的功能,或基于计算机系统提供的服务。改组或减小企业规模,导致项目优先级或软件工程队伍结构的变化。预算或进度的限制,导致系统或产品的重定义。软件配置项

计算机程序(源程序和执行代码)软件(产品)文档(技术文档和用户文档)以及数据SCM基本概念各个阶段产品的复审时间均称为基线(BaseLines)基线是软件过程中的里程碑,其标志就是有一个或多个SCI的交付重要原则:基线之前变更自由,基

线之后必须严格变更管理所有基线SCI被放置到项目配置数据库(或称为中心数据库)中软件配置管理过程配置管理规划定义哪些SCI需要管理,以及识别这些SCI的形式模式说明由谁负责配置管理规程,并把受控SCI提交给配置管理团队用于变更控制和版本管理的配置管理策略描述配置管理过程的记

录,以及该记录应该被维护的形式描述配置管理所使用的工具和使用这些工具的过程定义将用于记录配置信息的配置数据库变更管理版本和发布管理版本发布管理负责确定发布时间、分发渠道、编制和管理发布文档,以及协助

安装新的版本SCM中心存储库SCM中心存储库是一组机制和数据结构功能:数据完整性信息共享工具集成数据集成推行方法文档标准化小结软件项目管理是软件工程的保护性活动。软件项目管理计划(SPMP)是软件项目整个开发过程管理工作的指导性文

件,主要描述要做的工作、要用的资源和需要的经费三个部分。科学而合理地建立软件项目团队的组织机构,是人员管理中尤为突出的问题。软件项目开发存在着风险。软件风险分析包括风险识别、风险预测、风险规划和监控活动。软件配置管理(SCM)是应用于整个软件过程

的保护性活动,也可被视为整个软件过程的软件质量保证(SQA)活动之一。第16章软件项目估算软件项目估算内容软件规模度量软件成本估算技术软件成本估算管理软件项目估算软件项目估算是软件项目计划的基础估算必然存在一定程度的不确定性估算要随着项目的进展不断地进

行调整和更新过程度量和项目度量为定量估算从历史角度提供了依据和有效的输入软件项目的资源:人员可复用的软件构件或模块开发环境。每一项资源的四个特性:资源的描述、可用性说明、何时需要资源、事业资源的持续时间四种软件资源Bennatan建议:成品构件:从第三方获

得的或在以前的项目中已经进行过内部开发的已有软件。具有完全经验的构件:为以前项目开发的,且与当前项目具有相似的规格说明、设计、代码或测试数据的构件。具有部分经验的构件:为以前项目开发的,且与当前项目有关的构件,但要做实质上的修改。新构件:必须要专门开发的构件。软件规模度量

软件过程的直接度量:成本工作量产品的直接度量:代码行(LOC)运行速度某段时间内报告的缺陷产品的间接度量:功能质量复杂性有效性可靠性可维护性其他特性面向规模的度量代码行技术度量:每千行代码(KLOC)的错误数每千行代码(KLOC)的缺陷数每千行代码(KLOC

)的成本每千行代码(KLOC)的文档页数每人·月错误数每人·月千行代码(KLOC)每页文档的成本问题:代码只是整个的一小部分不同的语言实现同一个软件产品将导致不同的代码行数计算代码行数往往不是很准确并

非所有的代码都交付给用户代码行数在软件产品开发完全结束后才能确定面向规模的度量软件科学方法源于软件科学基本度量原理的度量软件产品规模的方法如计算软件产品中(单一)操作数和运算符的数目可测量数据方法FFP度量方法文件Fi、流Fl和过程PrS=F

i+Fl+PrC=b×S不适合用于强调功能和控制的大型数据库领域面向规模的度量功能点度量方法功能点(FP,FunctionPoints)度量方法是使用软件产品提供的功能测量作为规范值的信息域值有输入项数Inp、输出项数Out、查询项数Inq、主

文件数Maf和接口数Inf计算功能点数FP最简单的公式如下:FP=4×Inp+5×Out+4×Inq+10×Maf+7×Inf信息度量项的系数,可以根据软件复杂性分成的简单、平均和复杂三个等级来选择度量项不同级别功能点分配值度量项简单级平均级复杂级Inp346Out457Inq346

Maf71015Inf5710功能点度量方法估算步骤确定软件产品中每个度量项,即Inp,Out,Inq,Maf,Inf的功能点数确定对应等级是简单、平均还是复杂级,即每个信息度量项的系数一个未调整的功能点UFP计算技术复杂性因子TCF14种技术因素每一个因素分配一个从0(无

影响)到5(影响最大)这14个技术因子的影响值相加得到总影响程度DITCF=0.65+0.01×DI扩展的功能点数FP从以下计算得到:FP=UFP×TCF面向对象的度量场景脚本的数量关键类的数量支持类的数量每个关键类的平均支持类

数量子系统的数量软件成本估算的分解技术基于问题分解的估算基于过程分解的估算基于问题分解的估算界定的软件范围软件分解为可以被单独估算的问题或者功能估算每一个问题/功能的LOC,FFP或FP对每个功能或每个信息域的计算值都估算出乐观值Sopt,可能值Sm,悲观值S

pess计算估算变量(规模)的期望值EV=(Sopt+4×Sm+Spess)/6将基线生产率度量估算成本及工作量举例:用基于LOC的方法估算问题描述:一个计算机辅助设计(CAD,ComputerAidedDesign)应用软件的开发成本。该CAD系统运行在工作站上,

并与各种计算机图形外设,如鼠标、数字化仪、高分辨率彩色显示器,以及激光打印机有接口。主要功能模块CAD软件有用户界面及控制机制二维几何分析三维几何分析数据库管理计算机图形显示控制外设控制设计分析模块三点估算功能LOC估算功能LOC估算

用户界面及控制机制2300计算机图形显示控制4950二维几何分析5300外设控制2100三维几何分析7800设计分析模块8400数据库管理3350总LOC估算34200成本与工作量这类系统的平均生产率是620LOC/pm如果一个劳动力价格是10000美元/月,则每行代码的成本约为16美元(1

0000÷620≈16)根据LOC估算及历史生产率数据,总的项目成本估算约为547200美元(34200×16=547200),工作量估算约为55人·月(34200÷620≈56)举例:用功能点FP方法估算估算软件的输入、输出、查询

、主文件和外部接口用平均级加权因子的未调整的FP估算信息域值乐观值可能值悲观值估算计数加权因子FP计数输入20243024496输出12152216580查询16222822488主文件44541040外部接口2232714总FP计数值318计算复杂度调整因子估算表调整因子值调整因子值调

整因子值数据通信2联机数据输入3安装方便5分布式数据处理0终端用户效率5操作方便5性能计算4联机更新3可移植性4高负荷的硬件3计算复杂性4可维护性5高处理率5重用性4DI值52举例:用功能点FP方法估算估算14个技术加权因子,并计算复杂度调整因子DI得出FP的估算值:FP=31

8×(0.65+0.01×52)=372这类系统组织的平均生产率是6.5FP/pm。如果一个劳动力价格是10000美元/月,则每个FP的成本约为1539美元。根据功能点估算及历史生产率数据,总的项目成本估算约为572508美元(372×1539=5

72508)工作量估算约为57人·月(372÷6.5≈56)基于过程分解的估算得到软件功能描述估算出每个软件功能的每个过程活动所需的工作量,并编制成估算表将平均劳动力价格用来估算每一个活动的工作量,得到成本估算估算每一个功能及软

件过程活动的成本及工作量举例:基于过程的估算方法活动用户通信计划风险分析工程建造发布用户评估总和子任务分析设计编码测试功能用户界面及控制机制0.52.50.45n/a8.4二维几何分析0.7540.62n/a7.35三维几何分析0.5413n/a8.5数据库管理0.5311.5n/a6.0计算

机图形显示控制0.530.751.5n/a5.75外设控制0.2520.51.5n/a4.25设计分析模块0.520.52.0n/a5.0总计0.250.250.253.520.54.7516.546.0举例:基于过程的估算方法

如果一个劳动力价格是10000美元/月,则总的项目成本估算是460000美元,工作量估算是46个人·月。如果需要做更详细的预算,每一个软件过程活动可以关联不同的劳动力价格。经验估算模型专家类比推断技术专家通过比较目标产品与他曾经亲身参与过的产品

项目,区别两者的异同,而得到估算结果由底向上估算方法把产品分解成许多更小的部分,先对每个部分的工作量和成本进行估算,然后把它们组合得到一个总的估算数据COCOMO(COnstructiveCOstMOdel,构造性成本模型)中级COCOMO估算模型基于对象点的估算计算对象点:(1)用户界

面数,(2)报表数,(3)构造应用可能需要的构件数确定三个复杂度级别之一,即简单级、中等级和困难级求和后得到了总的对象点数对象类型简单级中等级困难级界面123报表258构件10中级COCOMO估算模型估算复用的百分比,并调整对象点数:NOP=对象点×[(100-复用的百分比)/100]确

定生产率的值PROD=NOP/人·月得到项目工作量的估算值:估算工作量=NOP/PROD开发者的经验/能力非常低低正常高非常高环境成熟度/能力非常低低正常高非常高PROD47132550中级COCOMO估算模型基于代码行的估算首先用千条代码行数(KLOC)度量产品长度确定开发模

式,有三种模式:组织型(Organic,小型、较简单型)、半独立型(Semidetached,中等规模型)和嵌入型(Embedded,复杂型)计算正常工作量E(以人月为单位)和正常开发时间T(以月为单位)

正常工作量(E)=a×(KLOC)b正常开发时间(T)=c×(正常工作量)da,b,c,d取值由开发模式而定项目开发模式abcd组织型(简单型)3.21.052.50.38半独立型(中等规模型)3.01.122.50.3

5嵌入型(复杂型)2.81.202.50.32中级COCOMO估算模型正常的工作量E和开发时间T还必须与15个软件开发工作量调节因子(EAF,EffortAdjustmentFactor)相乘每个调节因子可以有6个值,分别是非常低、低、正常、高、非常高和

极高。15个工作量调节因子(EAF)值工作量调节因子(EAF)因素非常低低正常高非常高极高产品属性软件要求的可靠性0.750.881.01.151.40-数据库规模-0.941.01.081.16-产品复杂度0.700.851.01.151.301.65计算机属性执行时间

限制--1.01.111.301.66主存限制--1.01.061.211.56开发环境易变性-0.871.01.151.30-计算机响应时间-0.871.01.071.15-人员属性分析能力1.461.191.00.

860.71-应用领域的经验1.291.131.00.910.82-程序员的能力1.421.161.00.860.70-开发环境的使用经验1.211.101.00.90--程序语言使用经验1.141.071.00.95--项目属性现代软件技术使用程度1.241.101.00.910.82-软件

工具的使用程度1.241.101.00.910.83-要求的开发进度1.231.081.01.041.10-举例:中级COCOMO方法估算一个基于微处理器的通信处理软件该通信处理软件用于可靠的电子基金传输网络,具有性能、开发速度和接口方面

的要求,符合嵌入型模式的描述,估算有10000条源代码行,即10KLOC。该项目的具体情况和工作量调节因子(EAF)的取值如表15-10所示中级COCOMO工作量调节因子因素情况等级工作量乘数软件要求的可靠性

数据库规模产品复杂度执行时间限制主存限制开发环境易变性计算机周转时间分析能力应用领域的经验程序员的能力开发环境的使用经验程序语言的使用经验现代软件技术使用程度软件工具的使用程度要求的开发进度软件故障会带来严重的后果20000字节通信处理70%的时间可用64KB中的4

5KB(70%)基于商用微处理器硬件平均周转时间为两小时优秀的高级分析员两年优秀的程序员两年六个月大多数技术使用一年处于基本的小型机工具级九个月高低非常高高高正常正常高正常高正常低高低正常1.150.941.301.111.061.001.000.861.000.861.001.100.

911.101.00举例:中级COCOMO方法估算正常工作量E=2.8×101.20=44.4(人月)正常开发时间T=2.5×44.40.32=8.4(月)将表15-10中15个工作量调节因子相乘,结果为1.35。该项目的总估算为:E=

44.4×1.35=59.9(人月)T=8.4×1.35=11.3(月)成本估算管理跟踪实际的开发工作量,并把它们与预测值进行比较软件质量保证(SQA)小组独立对开发周期和成本估算再次进行估算分析实例分析短信系统POS机系统小结软件项目计划人员必须估算:需要多长时间、

需要多少工作量,以及需要多少人员和需要的资源。准确地估算开发周期和开发成本并不是一件容易的事软件产品规模的度量是软件成本估算的基础。采用分解技术(专家类比推断法、由底向上估算法)和一些采用统计理论和数学方程、经过验证的经验估算模型中级COCOMO模型是

一个最为广泛的成本估算方法第16章软件项目计划与管理软件质量管理项目计划项目管理工具软件项目计划与管理任务:制定软件开发计划跟踪、监督和协调工程进度保证工期软件质量管理软件质量管理手段:技术手段改

进测试方法,提高测试效率,提高软件质量改进开发过程,使各种错误不会或很少引入软件开发过程管理手段技术手段能力有限软件质量概念软件质量属性包括循环复杂度、内聚性、功能点数量、代码行数质量分为:设计质量:指设计者为一个产品规定的特征系统的需求规格说明设计一致性质量:指

在制造产品的过程中遵守设计规格说明的程度实现问题用户满意度=合格的产品+好的质量+按预算和进度交付软件质量管理软件的质量检测属于一种粗放式的质量管理形式事后检测的方式软件质量保证指软件生产过程包含的一系列质量保证活动体现了

软件质量全面控制(TQC,TotalQualityControl)的核心思想遵循的PDCA(Plan-Do-Check-Action)循环所建议的“计划—实施—检测—措施”的顺序软件质量认证把对个别产品的质量保证扩

展到对软件企业(组织)整体资质的认证ISO9000软件质量保证(SQA)SQA小组SQA活动:准备SQA计划参与和监督软件过程评审记录报告SQA计划ANSI/IEEEStd.983-1986SQA计划

1计划目的2参考文献3管理3.1组织3.2任务3.3责任4文档4.1目的4.2软件工程文档4.3其他文档5标准、实践和约定51目的5.2约定6复审和审计6.1目的6.2需求复审6.2.1软件需求复审6.2.2设计复审

6.2.3软件验证和确认复审6.2.4功能审计6.2.5物理审计6.2.6过程内部审计6.2.7管理复审7测试8问题报告和改正行动9工具、技术和方法10代码控制11媒体控制12供应商控制13记录收集、维护和保

留14培训15风险管理软件质量度量软件质量的定义和测量:正确性:软件完成所要求的功能的程度千行代码(KLOC)的缺陷数缺陷是按标准时间段来计数的,一般是一年可维护性:遇到错误时程序能够被修改的容易程度平均变更时间(m

ean-time-to-change,MTTC)完整性:一个系统对安全性攻击的抵抗能力完整性=∑[1–(危险性×(1-安全性))]可用性:使用的容易程度进行量化可靠性:在规定的条件和时间内,软件完成规

定功能的能力缺陷排除效率:软件团队排除软件故障的能力缺陷排除效率缺陷排除效率(defectremovalefficiency,DRE)是在项目级和过程级都有意义的质量度量定义:DRE=E/(E+D)

其中E是软件交付给用户之前发现的错误数,D是软件交付之后发现的缺陷数软件可靠性定义:软件可靠性是在给定的时间内,按照(系统规格说明书)规定的条件,软件成功运行的概率。软件可靠性分为五级分级故障后果工作量调节因子很低低正常高很高工作略有不便有损失,但容易弥补弥补损失比较困难有重大

的经济损失危及人的生命0.750.881.001.151.40评测可靠性的方法可靠性与软件的故障密切相关可靠性理论:R(t)可以表示为程序运行时间t和故障率λ(单位时间内程序运行失败的次数)的指数函数R(t)=e-λtR(t)1.0tλ1<λ2<λ3λ1λ2λ3评测可靠性的方法衡量

可靠性的方法是直接计算软件平均故障时间(MTTF,MeanTimeToFailure)MTTF可以是故障率的倒数,即MTTF=l/λ统可靠性(RSYS)是软件、硬件和运行操作三种可靠性(分别是RS,RH,ROP)的综合反映RSYS=RS·RH

·ROPλSYS=λS+λH+λOPMTTFSYS=l/(λS+λH+λOP)软件容错技术容错性是软件可靠性的子属性之一容错软件,即具有抗故障能力的软件,处理错误的方法有三种:①屏蔽错误——把错误屏蔽掉,使之不致产生危害②修复错误——能在一定程度上,使软件从错误状态恢复

到正常状态③减少影响——能在一定程度上,使软件完成预定的功能冗余(Redundancy)技术:以额外的资源消耗换取系统的正常运行”。常用的冗余技术有:结构冗余:利用多余的结构来换取可靠性的提高时间冗余:检测程序,

如看门狗信息冗余:附加的冗余信息(如奇偶码、循环码等误差校正码),检测和纠正传输或运算中可能出现的错误静态、动态冗余结构系统示例表决器┇M1M2Mn备用备用主用┇M1M2Mn软件复审软件复审是软件错误的过滤器软件复审可以认为是净化分析、设计和编程等过程所产生的软件产品的

必要手段复审分:技术复审:越在早期发现错误越容易改正,代价也越低正式的技术复审技术复审小组由审查组长、作者和评审员组成以会议形式进行完整的技术复审过程一般由准备、介绍情况、阅读资料、开审查会、返工和复查六个步骤组成审查会的目的是发现错误而不是改正错误管理复审

软件质量认证标准软件质量认证(SQC)ISO9000标准系列SO9000标准系列由五个相关的标准组成:①质量术语标准(ISO8402-1994);②质量保证标准(ISO9001等);③质量管理标准(ISO9004-1等);④质量管理和质量保证标准的选用

和实施指南(ISO9000-3等);⑤支持性技术标准(ISO10005等)ISO9001标准,包括:设计、开发、生产、安装和服务ISO9000-3标准:计算机软件开发、供应、安装和维护的使用指CMM标准,强调持续改进软件项目计

划目标是为项目负责人提供一个框架7个指导原则:(1)运用项目规划的方法进行协调而不是控制(2)在项目环境中利用不同个性的人(3)预先制定项目规划中需要经常修改的版本(4)授权员工对自己的工作进行评估(

5)描述创造价值的任务而不仅仅是价值创造的活动(6)定义具体的可实现的里程碑式的事件(7)在项目规划中使用检查列表、矩阵模型等其他补充工具项目进度安排目标是定义所有项目任务和活动,识别关键任务/活动,并跟踪关键任务/活动的进展基本原则:①划分②相

互依赖性③时间分配④人员分配⑤定义责任⑥定义结果⑦定义里程碑工作量调度指导原则:“40-20-40规则”,即40%或更多的工作量分配给前端的分析和设计任务,40%的比例用于后端测试,只有20%的比例用于编码工作进度安排方法方法:程序评估和复审技术(PERT,Program

EvaluationandReviewTechnique)关键路径管理(CPM,CriticalPathManagement)要点是:提供项目工作量划分的工具支持计划者确定关键路径(决定项目持续时间的任务链)通过使用统计模型为单个任务建立最

有可能的时间估算为特定任务定义其时间窗口的边界时间建立时间表甘特(Gantt)图PERT图:描绘任务的分解情况,每个任务的工作量、开始时间和结束时间、各个任务间的依赖关系圆框表示一项任务,圆框间的箭头表示任务的顺序圆框上面的(×,×)表示开始时间和结束时间

工程网络图:一种有向图圆表示事件有向弧或箭头表示子任务的进行箭头上的数字称为权,该权表示此子任务的持续时间箭头下面括号中的数字表示该任务的机动时间时间表(Gantt图)描述示例任务负责人1998345

6789101112199912345ASEBSECPGDSEEVVFVVGVVHVVPERT图起点(0,0)终点(15,15)E(3,5)A(0,3)B(3,7)D(7,9)H(11,15)F(0,2)C(7,11)G(2,8)

工程网络图条形图和活动网络图ActivityDuration(days)DependenciesT18T215T315T1(M1)T410T510T2,T4(M2)T65T1,T2(M3)T720T1(M1)

T825T4(M5)T915T3,T6(M4)T1015T5,T7(M7)T117T9(M6)T1210T11(M8)startT2M3T6FinishT10M7T5T7M2T4M5T84/7/038days14/7/0315days4/8/0315days25

/8/037days5/9/0310days19/9/0315days11/8/0325days10days20days5days25/7/0315days25/7/0318/7/0310daysT1M1T3T9M6T11M8

T12M44/711/718/725/71/88/815/822/829/85/912/919/9T4T1T2M1T7T3M5T8M3M2T6T5M4T9M7T10M6T11M8T12StartFinish项目进度的跟踪管理定

期举行项目状态会议,由项目组成员分析报告进度和问题。评估所有软件过程中所进行的复审的结果。确定正式的项目里程碑是否在预定日期内完成。比较项目表中列出的更新任务的实际开始日期与计划开始日期。与开发者进行非正式会谈,获取他们对项目进展及可能出现的问题的客观评估。软件项目管理工具M

icrosoftProject:分配任务,并跟踪已完成的工作请求和接收状态报表审阅其任务分配在“甘特图”中查看其任务审阅项目、任务和资源信息主界面小结软件项目管理是软件工程的保护性活动。它先

于任何技术活动之前开始,并持续贯穿于整个软件的定义、开发和维护过程之中。软件质量保证(SQA)机制是贯穿于整个生存周期的、全员参与的一系列保护性活动。软件可靠性在质量属性中占有主要地位,它既可表示为一定时间内软件正常运行的概率,也可表示为软件的平

均故障时间。可靠性是通过避免错误和容错两类技术支持的。软件项目整个开发周期的管理工作还必须涉及到软件项目的进度安排和跟踪管理。项目计划的目标是为项目负责人提供一个框架,使之能合理地估算软件项目开发所需的资源、经费和开发进度,并控制软件项目开发过程按此计划进行。

软件项目的进度安排是通过把工作量分配给特定的软件工程任务并规定完成各项任务的起止日期,从而将估算出的项目工作量分布于计划好的项目持续期内。本部分的实验安排实验14软件配置管理工具VSS实验15软件项目管理工具Proje

ct实验14软件配置管理工具VSS实验目的理解软件配置管理的目的、用途和意义了解现有软件配置管理工具的主要特点和功能掌握VSS工具的基本使用实验内容软件配置管理基本原理和功能要求学习VSS工具的安装、基本使用模拟一个项目进行软件配置管理软件配置管理工具综述

与比较实验15软件项目管理工具Project实验目的理解软件项目管理的目的、用途和意义了解现有软件项目管理工具的主要特点和功能掌握Project工具的基本使用实验内容软件项目管理目的、意义、功能综述结合课程项目使用Project进行软件项目配置计划管理

小橙橙
小橙橙
文档分享,欢迎浏览!
  • 文档 25747
  • 被下载 7
  • 被收藏 0
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?