软件度量总结
软件工程 软件开发成本度量规范

软件工程软件开发成本度量规范软件开发成本度量是软件工程领域中非常重要的一环。
它可以帮助项目管理者和开发团队有效地估算和控制软件开发过程中的成本,从而确保项目在预算和时间范围内高质量地完成。
成本度量规范是指对软件开发成本进行度量和管理的一系列准则和规则。
本文将探讨软件开发成本度量规范所涉及的内容,并对其进行详细的介绍。
软件开发成本度量规范的内容包括但不限于以下几个方面:1.成本度量的目标和意义2.成本度量的基本概念3.成本度量的方法和工具4.成本度量的实施步骤5.成本度量的案例分析与实践经验下面将对以上内容逐一展开详细的介绍。
一、成本度量的目标和意义软件开发成本度量的主要目标是为了帮助项目管理者和开发团队更好地理解和控制软件开发过程中的成本,从而使得项目在预算和时间范围内高质量地完成。
成本度量可以帮助管理者更准确地估算和预测项目的成本,并及时对成本偏差进行监控和调整。
软件开发成本度量的意义在于,通过度量和分析软件开发过程中的成本,可以帮助管理者更好地把控项目的风险,避免成本超支和延期等问题,提高项目的成功率和客户满意度。
二、成本度量的基本概念成本度量的基本概念包括成本类型、成本估算、成本分析等。
其中,成本类型是指软件开发过程中所涉及的各项成本,包括直接成本和间接成本。
直接成本是指直接与软件开发活动相关的成本,如人力成本、软件工具成本等;间接成本是指与软件开发活动相关但不直接可归属于某项软件开发活动的成本,如办公室租金、通讯费用等。
成本估算是指在软件开发过程中对项目成本进行估算和预测。
成本估算的准确性直接影响到项目的预算和进度管控。
成本分析是指对软件开发过程中的各项成本进行分析和评估,以便及时发现成本偏差和风险点,从而采取相应的措施以控制成本。
三、成本度量的方法和工具软件开发成本度量的方法和工具是保证成本度量工作能够有效进行的关键。
常用的成本度量方法包括成本估算模型、成本控制方法、成本评估方法等。
成本估算模型是用来估算软件开发过程中成本的数学模型,如COCOMO模型、函数点模型等。
软件质量保证与控制知识点总结

软件质量保证与控制知识点总结在当今数字化时代,软件已成为各行各业不可或缺的一部分。
从智能手机上的应用程序到企业的核心业务系统,软件的质量直接影响着用户的体验和业务的成败。
因此,软件质量保证与控制成为了软件开发过程中至关重要的环节。
本文将对软件质量保证与控制的相关知识点进行总结,希望能为软件开发人员和相关从业者提供有益的参考。
一、软件质量的定义与特性软件质量是指软件产品满足规定的和隐含的与需求能力有关的全部特征和特性。
这包括功能性、可靠性、可用性、效率、可维护性和可移植性等方面。
功能性是指软件是否满足了用户的需求和期望,是否具备了所需的功能。
可靠性则关注软件在规定的条件下和规定的时间内,能否稳定、无故障地运行。
可用性侧重于软件是否易于理解、学习和操作,用户能否方便地使用软件完成任务。
效率涉及软件的性能,如响应时间、资源利用率等。
可维护性表示软件是否易于修改、更新和扩展,以适应不断变化的需求。
可移植性则关乎软件能否在不同的硬件、操作系统和环境中顺利运行。
二、软件质量保证软件质量保证(Software Quality Assurance,SQA)是为了确保软件产品在整个生命周期中满足规定的质量要求而进行的有计划、有系统的活动。
1、 SQA 的目标SQA 的主要目标包括:确保软件产品符合相关标准和规范;提高软件开发过程的透明度和可追溯性;及时发现和解决软件质量问题;增强客户对软件产品的信心。
2、 SQA 的活动SQA 活动涵盖了多个方面,如制定质量计划、审查和评估开发过程、进行质量审计、收集和分析质量数据等。
制定质量计划是在项目启动阶段,明确质量目标、质量标准以及实现这些目标的策略和方法。
审查和评估开发过程包括对需求分析、设计、编码、测试等阶段的工作产品和过程进行审查,以确保符合质量要求。
质量审计则是对软件开发过程和产品进行独立的评估,检查是否遵循了既定的流程和标准。
收集和分析质量数据有助于了解软件质量的现状和趋势,为改进提供依据。
软件工程 软件开发成本度量规范

软件工程软件开发成本度量规范一、引言软件开发成本度量是软件工程管理中非常重要的一项工作。
准确的成本度量可以帮助开发团队更好地控制项目进度和预算,确保项目按时按质交付。
成本度量规范是一个指导开发团队如何进行成本度量的指南,本文将介绍软件开发成本度量规范的相关内容。
二、成本度量的概念成本度量是指对软件开发活动涉及的各种成本进行度量和分析。
成本可以包括人力成本、硬件成本、软件工具成本、培训成本等各种方面。
成本度量的目的是为了帮助管理人员更好地了解项目的成本情况,为决策提供依据。
三、成本度量的目的1.了解项目成本情况:成本度量的首要目的是为了让管理人员了解项目的成本情况,包括项目目前的成本、成本分布情况、未来可能的成本变化等,从而为项目决策提供必要的信息。
2.控制项目成本:通过对成本的度量和分析,可以帮助管理人员更好地控制项目成本,确保项目在预算范围内进行。
3.评估项目投资回报率:成本度量也可以帮助公司评估项目的投资回报率,从而为公司决策提供数据支持。
四、成本度量的内容软件开发成本度量可以包括以下内容:1.人力成本度量:包括人员工资、社会保险、福利待遇等相关成本。
对于不同岗位的人员,可以根据工作量和技能水平进行成本度量。
2.硬件成本度量:包括计算机、服务器、网络设备等硬件设备的购置成本、维护成本等。
3.软件工具成本度量:包括各种软件工具的购置成本、培训成本等。
4.培训成本度量:包括对员工进行的各种培训成本,包括技术培训、管理培训等。
5.其他成本度量:包括办公用品、通讯费用、差旅费用等其他相关成本。
五、成本度量的方法软件开发成本度量可以采用以下方法:1.直接成本度量:直接成本度量是指直接对各种成本进行度量,比如人员工资、硬件设备购置成本等。
这是成本度量的基本方法。
2.间接成本度量:间接成本度量是指对间接成本进行度量,比如管理人员的成本、项目管理工具的成本等。
这些成本通常不能直接进行度量,需要通过一定的方法进行估算。
第7章 软件测试度量与评价

ISO-9126质量模型
• 使用质量: 在规定的使用环境下软件产品使特定用户在达到规定目标方 面的能力。 它是从用户观点出发,来看待软件产品用于特定环境和条件 下的质量,反映的是从用户角度看到的软件产品在适当系统 环境下满足其需求的程度。
可移植性的 依从性
ISO-9126质量模型
• 内部质量: 是从内部观点出发的软件产品特性的总体,是针对 内部质量需求被测量和评价的质量。
• 内部质量特征: 可维护性、灵活性、可移植性、可重用性、可读性、 可测试性、可理解性等。
ISO-9126质量模型
• 外部质量: 软件产品在规定条件下使用时满足需求的程度。 它是从外部观点出发的软件产品特性的总体,当软件执行时,更 典型地是使用外部度量在模拟环境中,用模拟数据测试时,所被 测量和评价的质量,即在预定的系统环境中运行时可能达到的质 量水平。
软件度量
• 软件的度量取向一般包括项目规模、项目成本、项目进度 、顾客满意度、质量等度量,以及品牌资产度量、知识产 权价值度量等。
• 度量取向要依靠事实、数据、原理、法则;其方法是测试 、审核、调查;其工具是统计、图表、数字、模型;其标 准是量化的指标。
软件质量及度量
软件质量需要 度量
质量包括哪些 方面?
• (415+230)/[(69+129+500+393)-(35+68+100)] *100%=73%
• 3.缺陷密度
• 软件缺陷密度是一种以平均值估算法来计算出软件缺 陷分布的密度值。程序代码通常是以千行为单位的, 软件缺陷密度是用下面公式计算的:
McCall质量模型 *
软件工程 软件开发成本度量规范

软件工程软件开发成本度量规范软件开发成本度量规范是软件工程中非常重要的一环,它可以帮助团队有效地管理和预算开发成本,确保项目在预算和时间内交付。
本文将详细介绍软件开发成本度量规范的相关内容,包括其定义、目的、基本原则和具体实施步骤等。
1.软件开发成本度量规范的定义软件开发成本度量规范是指在软件开发过程中,通过定量的方式对软件开发的成本进行度量和监控的一套规范和方法。
它旨在帮助软件项目团队更好地估算、监控和控制开发成本,从而确保项目在预算和时间范围内交付。
2.软件开发成本度量规范的目的软件开发成本度量规范的主要目的包括:(1)提供可靠的成本估算依据,使项目管理者可以做出合理的预算安排;(2)监控和控制开发成本的实际情况,及时发现并解决潜在的问题;(3)提高软件开发过程的透明度和可追溯性,保证项目的可控性和可管理性;(4)为项目评估和决策提供数据支持,帮助管理者做出科学的决策。
3.软件开发成本度量规范的基本原则在制定软件开发成本度量规范时,应当遵循以下基本原则:(1)可量化原则:成本的度量应当是可量化的,具体到每个成本项目的细节,以便项目管理者和团队能够清晰地了解和分析实际情况。
(2)客观公正原则:度量成本的方法应当客观公正,不能主观臆断或者人为干预,保证度量结果的真实可靠性。
(3)灵活性原则:成本度量规范应当考虑到不同项目的特点和实际情况,具有一定的灵活性,以适应不同项目的需求。
(4)实用性原则:成本度量规范应当是实用的,不仅可以帮助项目管理者做出决策和控制成本,还应当为项目的执行和实施提供有益的指导。
4.软件开发成本度量规范的具体实施步骤制定和实施软件开发成本度量规范需要按照以下步骤进行:(1)确立成本度量的目标和范围:首先需要明确成本度量的目标和范围,确定度量的对象和范围,包括什么样的成本项目需要度量,以及度量范围是整个项目还是某个阶段或者某个工作包。
(2)确定度量方法和指标体系:根据项目的实际情况,确定成本度量的方法和指标体系,包括哪些成本项目需要度量,采用什么样的度量方法和指标,以及如何统计和记录度量数据。
软件开发度量及考核方法

软件开发度量及考核方法一、引言如果要提高软件开发人员的开发质量,必须有相应的考核制度,有了制度后才能推动开发人员想方设法改善自已的开发质量。
虽然目前很多公司有这方面的绩效考核,但是由于软件开发行业的特殊性,大多数公司没有对软件开发的过程进行细粒度的度量,所以不能依据有效的度量数据来考核开发人员的工作绩效,大部份只是凭考核人主观意志来考核,不能形成对被考核人有效的说服力。
所以根据以前经验和相关的资料编写了适用于本部门的度量和考核方法。
该考核方法是技术支持部软件开发人员和测试人员的试行版本。
二、目的对软件开发的过程所产生的软件项的质量和过程进行定量的评价,用评价的结果指导软件的开发过程,不断地提高软件开发质量水平,并依据度量记录来考核软件开发人员的工作绩效。
三、考核实施办法1、定义1.1 、软件项包括1)、技术文档:"软件工程产品集"所确定的配置项。
主要包括:用户需求文档、需求分析文档、概要设计文档、详细设计文档、开发计划、测试文档、用户手册、总结报告等。
2)、计算机程序。
1.2 、度量数据的来源1)、项目计划:过程度量中及时度考核数据的主要依据。
2)、测试文档:计算机程序质量考核数据主要依据。
3)、软件维护记录:主要是指软件产品投入用户使用后产生的软件维护记录。
2、质量度量2.1度量指标主要根据各类软件项检查表的检查指标来确定。
例如,详细设计说明书检查表有10个检查指标,则根据具体项目检查侧重点不同,可从中选择相应的检查指标作为度量指标。
(本文末尾附了各工作阶段的考核检查指标表)2.2质量等级1)软件项的质量等级的确定根据度量综合指标进行。
2)度量综合指标计算公式为:Total =刀QiMi。
3)其中i=1,2,...n 代表指标数量;4)Q代表度量的指标;5)M代表度量的指标Q在整个指标体系中所占的权重系数,对不同的开发项目可能不同,此系数根据开发的不同着重点给出。
2.3度量指标计算方法2.3.1、度量指标评分标准:根据软件项的各检查指标的缺陷率来确定,既为每232、缺陷率来源:主要是各软件项检查、评审、测试的过程所产生的缺陷跟踪表,缺陷跟踪表中的缺陷类别对应检查表中的检查指标。
IT行业软件开发质量控制工作总结

IT行业软件开发质量控制工作总结近年来,随着信息技术的迅猛发展,IT行业的软件开发变得越来越重要。
然而,由于软件开发中的许多挑战和复杂性,保证软件质量成为一项关键任务。
在这篇文章中,我将对IT行业软件开发质量控制工作进行总结,以分享我的经验和见解。
一、需求分析与规划软件开发过程中,需求分析与规划是确保软件质量的关键步骤之一。
在此阶段,质量控制团队应与项目经理和客户密切合作,明确需求,并制定详细的开发计划。
同时,通过与客户多次沟通,了解他们的期望和需求,以便在开发过程中进行有效的质量控制。
二、开发过程的质量控制在软件开发过程中,质量控制不仅仅是验证最终产品是否满足需求的过程,更重要的是在开发过程中进行持续的质量检查和改进。
为了确保软件质量,我们采用了以下几种方法:1.代码评审:通过对程序员编写的代码进行评审,发现和修正潜在的缺陷,保证代码的可读性、可维护性和安全性。
2.单元测试:在开发过程中,开发人员应编写单元测试来验证每个程序组件的正确性。
单元测试应覆盖所有可能的情况,以确保代码在各种条件下都能正常工作。
3.集成测试:将各个组件进行集成,并测试整个系统是否按照预期的方式协同工作。
集成测试既可以手动进行,也可以借助自动化测试工具进行。
4.性能测试:通过对软件系统进行负载和压力测试,以评估其在真实使用情况下的性能表现。
通过性能测试,我们可以发现并解决潜在的性能问题,提高系统的稳定性和响应能力。
三、问题追踪与解决在软件开发过程中,问题的及时追踪和解决是确保软件质量的重要环节。
我们采用了以下措施来有效地追踪和解决问题:1.缺陷管理系统:建立和使用缺陷管理系统,用于记录和跟踪在软件开发过程中发现的缺陷。
这样可以确保所有的问题得到及时记录和解决,同时也方便了后续的质量分析和改进。
2.问题优先级管理:对于发现的缺陷,我们根据其影响程度和紧迫性进行优先级管理。
这样可以确保在有限的资源下,优先解决对系统稳定性和功能性有重要影响的问题。
软件工程软件开发成本度量规范

软件工程软件开发成本度量规范软件工程软件开发成本度量规范是指监控和控制软件开发过程成本的操作规范,旨在有效改善软件工程的质量和成本管理,确保软件开发项目的可控性和可行性。
1、把握原则:成本控制要以实现软件开发过程正确性为目标,为客户提供技术实现有效和可靠的质量。
2、度量维度:通过人工、规模、成本、时间、质量、技术、风险、资源等多维度的度量来评估软件开发过程,把握成本效率比率。
3、考虑因素:成本评估需要考虑开发过程中各种因素如组织管理结构、团队构成、工作分解细化程度、技术复杂度、时间安排、物资使用、沟通情况等多方面,有科学合理地设定成本控制标准,形成有效控制和管理措施,促使项目实现预期目标。
4、度量变量:要对软件开发过程中各种成本变量进行度量,及早确定项目的成功指标,有利于及时调整开发过程,预计软件开发项目的成功效果,确保开发过程的可控性和可行性。
1、从技术职能组织结构:建立以技术职能为基础的组织结构,划分参与项目的职责范围,提高团队的工作效率。
2、以成本为核算:根据软件开发成本度量规范进行开发项目的计算评估,按照成本核算来估算项目的完工时间和成本,设计更有效的计划安排。
3、提高项目把控能力:软件开发成本度量技术能够帮助把握项目的核心环节,可以识别和预警出现在项目开发过程中的问题,从而提高项目把控能力。
4、调整执行策略:针对软件开发成本度量结果进行分析,及时发现和调整执行策略,以更高的效率和优质的质量完成项目。
三、总结软件工程软件开发成本度量规范是软件开发过程中有效控制成本的重要手段,它通过以人工、规模、成本、时间、质量、技术、风险、资源等多维度度量来评估软件开发过程,有助于把握成本效率比率,提高项目把控能力,调整执行策略,实现软件更可靠、有效率和可行性的目标。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软件度量结课总结 软件度量总结
这次总结的结构比较简单,就是按照五个章节分别阐述了自己的理解。 一.软件度量的应用范围。 经过这一阶段的学习,我认为想要明白软件度量,首先要分清度量和测量的区别。度量具有前置性,它提供了一种定量研究软件问题的方法;测量具有实时性或后置性,主要集中在给度量提供数据或者处理数据的方法上。由于软件工程强烈的不确定性,使得软件工程的精确测量困难重重,但软件度量主要研究的是可能性的规律,通过概率和统计学的研究,寻找事物内在的规律。其并不具备1+1=2的特征,而是研究在多大可能性上这个结论是合理的,因为软件的主体是人,具有概率属性,设备和材料容易度量,但人很难度量。软件度量的主要作用是评估状况、跟踪进展情况、评价产品有效性和改进设计和过程的质量。定性分析可以提供迅速地判断能力,但定性分析终究需要定量分析的验证与支持,否则其结果很可能成为无目之本,出现错误。 软件度量的方法体系主要包括5个方面:1.项目度量,目的在于度量项目规模、成本、进度、顾客满意度等,辅助项目管理进行项目控制;2.规模度量,主要依靠经验和经验的模型,是决定项目成败的重要原因之一,是估算工作量、成本预算及策划项目进度的基础;3.成本度量,4。产品度量,实质上是软件质量的度量,软件的质量由一系列质量要素组成,每个质量要素又由一些衡量标准组成,主要肚量方法是McCabe复杂性度量法;5,过程度量,对软件开发过程的个各方面进行度量,目的在于预测过程的未来属性,减少结果的偏差,主要包括成熟度度量(例如CMMI, GJB5000A)、管理度量(主要包括里程碑管理、风险度量等项目管理度量,审查度量、质量保证度量等质量管理度量,变更控制、版本管理度量等配置管理度量)、生命周期度量三个大的方面。 不同层次的人员对软件度量有不同的需求。高级管理人员,如CEO、COO,关注点在上市时间、客户满意度、费用的节省等商业策略的组成部分上;中级管理层,如部门经理、总监等,则主要关注生产力、成本控制、效率等,他们更多的是着眼于总体的性能,交付情况以及产品的运行状态等,而不是项目每天完成的情况;项目管理层对度量的需求则是准确估计和控制软件产品,主要考虑通过每周的对比评测、研究进展,以确保项目开发方向的正确性,或者主动捕捉测量点,由度量分析师发展成一种模型,预测项目未来的结果。 二.软件测量基础。 软件测量是经典测量科学基础上的具体应用,为了使软件度量真正发挥作用,必须掌握测量的基础知识。软件度量不能用现成的公式进行计算,需要根据自己的实际情况建立模型,并通过历史数据来定义参数。首先,测量的表示理论。人们一般习惯从比较中获得对事物的理解,例如二元关系、三元关系中谁比谁大等,而这种关系可以映射到数学世界中,由此可以把测量定义为从经验世界到关系世界的一种映射,把度量定义为为了描述实体的某种属性,而为这个实体赋予的数字或者符号。比如为了描述人的年龄,将这个人从出生到现在的所经历的年数作为年龄属性赋予这个人。第二,测量和模型。模型是对显示的抽象,除去了实现的细枝末节,使我们可以我们从特定的角度看待实体和概念。测量可以分为直接测量和间接测量两种,而一个预测系统通常由一个数学模型和一组预测规程组成,其中,预测规程的作用是确定预测参数并对结果进行解释。第三,测量数据收集与分析。良好的数据应该具有正确性、准确性、一致性的特点,并要具有合适的精度,能与特定活动或持续时间相关联,且能够重复出现。就数据的收集而 软件度量结课总结 言,第一步要制订数据收集计划,然后决定测量项,根据需要选取合适的测试粒度,并确保产品处于配置控制之下,必须了解对产品的哪些版本进行测量; 三.软件规模的估算与度量。 软件规模的估算与度量部分,我主要想写一下我理解的功能点估算及用例点估算的主要流程及估算过程中需要注意的问题。在此之前先简单地描述一下传统的代码行度量,一般认为空白行和注释行不应该计算在代码行中,并把不带注释的行数缩写为NCLOC(又称为有效代码行ELOC),并将注释行定义为CLOC,则总长度为LOC=NCLOC+ELOC,注释行的密度用CLOC/LOC表示。但由于所用的语言不同导致代码行不同等原因,代码行不适于作估算,更适合用作完成之后的测量。 接下来是功能点估算。功能点估算提出的目的是使得不同国家,不同人对同样的需求估算得到的规模大小基本相同;其缺点是对需求描述的要求比较高。在这个方法中,功能点是一个度量单元,度量所得到的值和软件的代码量没有关系,也就不再依赖于选择的编程语言。至于功能点估算的过程,最简单地来说包括4个步骤:①估算数据功能规模,②估算事务处理规模,③计算调整因子,④根据公式计算功能点数。数据功能规模主要涉及系统所处理的数据文件对系统复杂性的影响,可以分为内部逻辑文件和外部接口文件两种。事务处理规模则可以分为三种形式,即外部输入、外部输出、外部查询。首先要对上述概念进行识别,内部逻辑文件可以描述为一个基本处理在应用程序内部维护逻辑上相关的数据块或者控制信息,其中,“维护”指增删改查等操作,“逻辑上相关”指仅考虑用到的或者逻辑上有关系的数据;外部接口文件可以理解为系统不进行维护的逻辑文件。这两种文件的复杂贡献度可以分别通过数据元素类型(字段个数)和记录元素类型(数据表的数目)两个纬度来考虑,每个具体文件所对应的加权系数可以查询对应的复杂型矩阵来得到,最后把加权系数相加即得到这两种文件的总功能点数,即数据功能的功能点数。这个过程中,难点在于对每个文件进行数据元素类型和记录元素类型的识别,有一系列的注意事项。接下来是对外部输入、外部输出和外部查询的识别,外部输入可以简单地理解为用户通过系统所进行地增、删、改,其结果可以是维护了内部的数据文件,也可以是改变了系统地行为状态;外部输出可以理解为系统所作出的反映,例如显示屏上显示某些结果,或者系统行为发生某些改变;外部查询没有对数据的处理,仅仅是对已有信息的抓取。这一部分相对容易理解,识别起来也比上面那部分容易一些,其加权系数由数据元素类型DET(与内部逻辑文件和外部接口文件中的DET基本相同)和参考文件类型FTR(被事务处理的文件总数)两个维度考虑,具体数值也是可以通过查询矩阵表来获得,分别得到后相加即可以得到事务处理的功能点数。接下来需要计算值调整因子VAF,VAF根据非功能需求获得,不同的项目可能会根据实际情况有一些调整,然后根据公式求得VAF的具体值。最后一步就是将前面两步所得的功能点相加,再乘以调整因子,得到最终的功能点数。 由于软件工程不断向着面向对象甚至面向过程方向发展,而功能点估算仍然是结构化的估算方法,所以出现了用例点估算。用例点估算的方法和功能点估算原理相似,都是讲系统先按照一定的原则分割成数个部分,分别得到估算结果之后再相加得到总的结果。用例点估算首先要明确什么是用例,我认为用例描述了一个动作序列,这些动作是系统为了响应事件而做的,其结果是产生了对发起事件的角色有价值的可见的结果。用例点估算必须具备的基础是良好的用例图和场景描述,有了这两个基础,估算过程相对来说就很简单,也可以分为4个基本步骤:①确定未调整功能点数,②计算复杂因子,③计算软件规模,④估算工作量。第①个过程主要是用例角色复杂度和用例事务数的识别,角色可以是人,计算机或者组织,关键是分清它用什么方式与系统交互,查到对应的权重,从而计算获得未平衡角色数;事物是指从用户到系统再到用户的一个“回路”,根据场景描述确定每个用例的事物数,同样查询其对应的权值之后计算得 软件度量结课总结 到未平衡用例数,最后这两个数值相加得到未调整功能点数。第②步中复杂度因子的计算主要分为技术复杂度因子TCF和环境复杂度因子ECF两类,与功能点估算中调整因子的计算方法相同,对各个项目分别打分后得出两个复杂因子。第③步,软件规模UCP即为技术复杂度因子TCF×环境复杂度因子ECF×软件规模UCP。最后根据历史数据确定每个UCP完成的工作量(通常为16人时~30人时),与计算所得的UCP相乘即为开发工作量,在此之外,用例点模型将项目管理、质量保证等时间作为补充效果SE计算,补充效果SE+开发工作量就是最终的估算结果。 四.过程规划、预测与监控中的度量。 这一章主要简单地说一下对项目评估预评审技术(PERT)、原始的CoCoMo模型、诤值分析以及项目监控中数据分析的理解。由于理解不是特别深刻,所以只能简单的描述一下现有的了解。关于PERT,我认为最主要的就是对三个数据的评估,即乐观的OD(不考虑效率和中断,完成任务的最小时间量)、悲观的PD(考虑各种培训、生病以及工作时间做与工作无关的事情等各种延误情况)和最有可能的ED(不是OD和PD的中间值,而是根据经验估算认为的最可能的情况)。根据这三个值得出项目的beta分布及其图像(使用beta分布而不是用正态分布的原因是人们的评估往往偏向于乐观),图中使得左右两侧面积近似相等的分割线所对应的时间即为最可能的工作量。这种估算方法需要策划小组人员分别进行估算得到结果后,再对结果按照一定的策略进行对比分析,得到最终的估计值。 原始的CoCoMo模型是用于软件开发不同阶段的三个模型的集合。基本、中间、详细这三个层次的模型分别用于对项目了解很少、明确需求、完成设计以后三个阶段,但都具有相同的形式,即E=aSbF。E是按人月计算的工作量,S是按千行交付的原指令数目的测量规模,F是调整因子(不同层次的模型中取不同值),a和b又根据软件的三种类别(有机式、半分离式和嵌入式)分别取不同的数值。 诤值分析法是为了将项目的范围偏差跟踪、进度偏差跟踪和成本偏差跟踪统一起来。这个方法的核心是比较准确的估算出工作完成的百分比。计划的费用PV是一条表示期望值的基线,代表着截止到某一时刻计划完成的工作,可以用计划消耗的费用来表示;实际的费用AC表示截止到某一时刻实际的成本;诤值EV表示截止某一时刻,实际完成的工作应该消耗的成本。同一时刻的EV与PV的单一变量是工作量,分别是实际的工作量和计划的工作量,所以这两个值可以得出进度的偏差;AC与EV的单一变量是实际的费用,分别是实际消耗的费用和计划消耗的费用,所以这两个值可以得出成本的偏差。这是两个最重要的偏差。 五.产品设计质量度量与控制。 我认为 非功能性需求是软件度量中最容易被忽略的,也最不容易被清晰掌握的部分。在需求分析中,常见的非功能性需求虽然都能设计感官需求、易使用性、安全性、可靠性、可维护性等方面,但对其要求的描述都只停留在定性的描述上,没有明确的度量标准。而需求是度量的重要标准,也是设计和测试的参考,需求描述的不明确很容易造成最后交付过程中出现分歧,这就需要在对产品的非功能性需求描述、设计和实现过程中引入可度量的体系。