第2讲 过程和项目度量

合集下载

软件工程项目过程度量与管理研究

软件工程项目过程度量与管理研究

软件工程项目过程度量与管理研究随着技术的不断发展,软件工程在人们的生活中起着越来越重要的作用。

而软件工程项目的过程度量和管理则是保证项目顺利完成的关键。

因此,在软件工程项目中,如何进行有效的过程度量和管理,保证项目的高效率、高质量成为了一个重要的研究方向。

一、软件工程项目过程度量软件工程项目度量是指从项目的角度、整个过程的角度、项目生命周期的角度等方面对项目进行度量,旨在找出项目中存在的问题,及时调整问题,保证项目的顺利进行。

1.项目规划阶段的度量在项目规划阶段,需要对项目进行度量,包括需求分析、文档编写、测试计划等,以确定项目的整体架构方向。

这一过程的度量可以记录每个阶段的时间成本、工作量、人员投入等信息,以便更好地安排后续工作。

2.项目执行阶段的度量在项目执行阶段,需要对项目任务、进度、任务完成质量等进行度量。

这一阶段的度量需要时刻关注项目的进展情况,并根据实际情况进行合理调整,以达到最终的目标。

3.项目收尾阶段的度量项目收尾阶段的度量是指对项目的总体质量、工作成果以及整个项目的收尾情况进行评估,从而为以后的项目建设提供参考依据。

二、软件工程项目管理软件工程项目管理是指对软件工程项目各项活动的计划、组织、协调、监督和控制等一系列管理活动。

在软件工程项目管理中,需要综合运用人力、物力、财力等资源,进行信息沟通与项目流程管理,以确保项目按时、按质量完成。

项目管理的目的是提高项目的成功率和效率,降低项目失败率和成本,提高组织的市场竞争力。

1.项目的计划管理软件工程项目管理的核心是项目的计划管理,包括项目工作分配、流程设计、时间安排等,以将整个项目分为若干个阶段,从而实现有条理、有序地开展项目工作。

2.项目的进度管理在项目进行过程中,经常会出现工作进度不及时的情况,而项目经理需要对进度进行管控,观察进度是否正常,是否需要调整等,以保证项目按计划进行。

3.项目的风险管理项目管理中,项目经理需要对项目中可能出现的风险进行预判和管控,及时采取相应措施加以应对,从而降低项目失败的风险。

第2讲过程和项目度量

第2讲过程和项目度量
• 随着技术工作的启动,其他项目度量也开始有意义了。生产率 模型、评审的时间、功能点以及交付的源代码行数来测量。此 工程任务中所发现的错误也要进行跟踪。在软件从需求到设计 需要收集技术度量来评估设计质量,并提供若干指标,这些指 生成及测试所采用的方法。
第2讲过程和项目度量
过程领域和项目 领域中的度量
• 面向规模的度量并不被普遍认为是测量软件开发过程的最好方法 大多数的争议都是围绕着使用代码行(LOC)作为关键的测量是否
• LOC测量的支持者们声称LOC是所有软件开发项目的“生成品” 行计算;许多现有的软件估算模型使用LOC或KLOC作为关键的输 有大量的文献和数据涉及到LOC。
• 另一方面,反对者们则认为LOC测量依赖于程序设计语言;它们 但较小的程序会产生不利的评判;它们不适用于非过程语言;而 时需要一些可能难以得到的信息(如,早在分析和设计完成之前 估算出要产生的LOC)。
• 每千行代码(KLOC)的错误数。
• 每千行代码(KLOC)的缺陷数。
• 每千行代码(KLOC)的成本。
• 每千行代码(KLOC)的文档页数。
• 除此之外,还能够计算出其他有意义的度量:
• 每人·月错误数。
• 每人·月千代码行( KLOC )。
• 每页文档的成本。
第2讲过程和项目度量
软件测量
面向规模的度量
• 这些数据可由团队进行复查,以找出能够改善小组性能的指标 • 公用度量一般吸取了原本是个人的或团队的私有信息。收集和
陷率(肯定不能归因于某个个人)、工作量、时间及相关的数据 组织过程性能的指标。
第2讲过程和项目度量
过程领域和项目 领域中的度量
过程度量和软件过程改进
• 软件度量规则: • 解释度量数据时使用常识,并考虑组织的敏感性。 • 向收集测量和度量的个人及团队定期提供反馈。 • 不要使用度量去评价个人。 • 与开发者和团队一起设定清晰的目标,并确定为达到这些 量。 • 不要用度量去威胁个人或团队。 • 指出问题区域的度量数据不应该被“消极地”看待,这些 进的指标。 • 不要在某一个别的度量上纠缠,而无暇顾及其他重要的度

本地-02软件过程和项目度量

本地-02软件过程和项目度量

直接度量方法
► 代码行数; ► 执行速度; ► 在某段时间内所报告的错误数;
► 花费的成本;
► 文档的页数等。
间接度量方法
► 功能点;
► 复杂度;
► 生产率; ► 正确性; ► 可维护性; ► 完整性; ► 可使用性; ► 错误排除率等。
4.1 过程度量
► 过程度量的收集贯穿于整个项目之中,并经
► 从过去的项目中收集的度量可用来作为评估现
在软件项目的工作量及时间的基础。 ► 随着项目的进展,所花费的工作量及时间的测 量可以和预评估值(及目进度)进行比较。 ► 项目管理者使用这些数据来监督和控制项目的 进展。
► 软件项目管理中,主要关心生产率和质量的度量
► 根据投入的工作量和时间对软件开发“输出”的
4.5 软件质量度量
► 虽然有很多软件质量的测量方法,但对软件进
行:正确性、可维护性、完整性、及可用性的 测量为项目组提供了有用的技术指标。
► 正确性:一个程序必须能够正确操作,否
则对于用户就没有价值了。 ► 正确性是软件完成所需的功能的程度。 ► 关于正确性的最常用的测量是每千行代码 (KLOC)的缺陷数, ► 这里缺陷定义为验证出的与需求不符的地 方。
及交付的源代码行数来测量. 比如: ► 生产率=功能点数(或千代码行数)/每人月 ► 除此之外,对每一个软件工程任务中所发现的 错误也会加以跟踪。 ► 软件在从规格说明到设计的演化中,需要收集 技术度量,以评估设计质量,并提供若干指标, 这些指标会影响代码生成及模块测试和集成测 试所采用的方法。
► 项目度量的目的是双重的。首先,这些度
说明
► Fi(i=1..14)是复杂性校正值,它们应通
过逐一回答上述提问来确定。 ► Fi的取值0..5: ► 0 没有影响 1 偶然的 ► 2 适中的 3 普通的 ► 4 重要的 5 极重要的 ► SUM(Fi)是求和函数。

第2讲 过程和项目度量

第2讲  过程和项目度量

许多其他的“产品特性”。
18
软件测量
• 将项目度量联合起来可以得到整个软件组织公用的过程度量。但是,一个组织 如何将来自不同个人或项目的度量结合起来呐?
• 为了说明这个问题,我们看一个简单的例子:
• 两个不同项目团队中的人将他们在软件工程过程中所发现的所有错误进行了 记录和分类。然后,将这睦个人的测量结合起来就产生了团队的测量。
15
过程领域和项目 领域中的度量
项目度量
• 项目度量的目的是双重的。 • 首先,这些度量能够指导进行一些必要的调整以避免延迟,并减少潜在问题 及风险,从而使得开发时间减到最少。 • 其次,项目度量可在项目进行的基础上评估产品质量,并且可在必要时修改 技术方法以改进质量。
• 随着质量的提高,错误会减到最小,而随着错误数的减少,项目中所需的修改 工作量也会降低。这就导致整个项目成本的降低。
制定软件度量大纲
通过提供目标评估的机制,测量使我们能够对项目和过程有更 深入的了解。Lord Kelvin曾经说过:
当你能够测量你所说的事物,并能用数字表达它时,你就对它 有了一定的了解;但当你不能测量它,也不能用数字表达时,就说 明你对它的了解还很贫乏,不令人满意:这可能是知识的开始,但 你在思想上还远远没有进入科学的境地。
• 私有过程数据是软件工程师个人改进其工作的重要驱动力。
12
过程领域和项目 领域中的度量
过程度量和软件过程改进
• 某些过程度量对软件项目团队是私有的,但对所有团队成员是公用的。例如:
• 主要软件功能(由多个开发人员完成)的缺陷报告、
• 正式技术复审中发现的错误、 • 以及每个构件或功能的代码行数或功能点数。 • 这些数据可由团队进行复查,以找出能够改善小组性能的指标。 • 公用度量一般吸取了原本是个人的或团队的私有信息。收集和评估项目级的缺 陷率(肯定不能归因于某个个人)、工作量、时间及相关的数据,以找出能够改善 组织过程性能的指标。

软件工程中的软件度量与指标分析

软件工程中的软件度量与指标分析

软件工程中的软件度量与指标分析软件度量和指标分析在软件工程中扮演着至关重要的角色。

通过对软件的度量和指标进行系统分析和评估,可以提供有效的方法和工具来衡量、评估和改进软件的质量和性能。

本文将探讨软件度量与指标分析的概念、分类、作用以及在软件工程中的应用。

一、概念和分类软件度量是对软件产品和软件开发过程中的属性进行量化和评估的过程。

它可以用来衡量软件产品的质量、成本和进度,并从中获得对软件开发过程的改进。

软件度量可以分为三个维度:产品度量、过程度量和项目度量。

1. 产品度量:产品度量主要关注软件产品的特性和质量,如功能完整性、可靠性、可维护性、可测试性等。

产品度量可以通过一系列指标来进行评估,如代码行数、代码复杂度、bug数量等。

2. 过程度量:过程度量主要关注软件开发过程中的活动和成果,如需求分析、设计、编码、测试等。

通过衡量这些过程的效率和质量,可以识别出导致问题和风险的根本原因,并采取措施进行改进。

3. 项目度量:项目度量主要关注软件项目的进度、成本和资源分配等方面。

通过度量和分析项目的关键指标,可以实现对项目进展的监控和控制,确保项目按时、按质量要求完成。

二、作用和价值软件度量和指标分析在软件工程中具有以下作用和价值:1. 质量评估:通过软件度量和指标分析,可以对软件产品的质量进行定量评估。

通过衡量各种质量指标,如代码复杂度、运行效率等,可以了解软件系统的健康状况,并及时采取措施进行质量改进。

2. 风险控制:通过对软件开发过程的度量和分析,可以早期识别和控制潜在的风险因素。

通过对过程度量指标的监控和分析,可以发现可能导致项目延期、成本增加等问题的因素,并采取相应的风险应对措施。

3. 过程改进:通过对软件开发过程的度量和分析,可以识别出导致问题和低效的因素,并提出改进措施。

通过度量和分析过程中的各项指标,可以找出瓶颈和改进空间,并采取相应的措施来提高开发过程的效率和质量。

4. 决策支持:软件度量和指标分析可以为软件项目的决策提供数据支持。

项目度量分析过程

项目度量分析过程

度量分析过程修订记录修订类型包含:新增、修改、删除。

目录1 目的 (1)2 适用范围 (1)3 术语定义 (1)4 职责划分 (1)5 流程说明 (2)6 过程定义 (3)6.1 组织级度量 (3)6.1.1 度量指标 (3)6.1.2 度量计划 (4)6.1.3 度量数据 (4)6.1.4 度量应用 (5)6.2 项目级度量 (5)6.2.1 度量计划 (5)6.2.2 收集数据 (5)6.2.3 分析数据 (6)6.2.4 结果应用 (6)7 相关文件 (6)1目的明确组织和项目的度量过程及要求,通过量化指标和数据分析,促进组织提高生产效率、提高项目质量、降低成本和缩短开发周期。

2适用范围技术与研发中心。

3术语定义(1)度量项:用来表示度量对象在某个方面的属性值。

例如:预计总工时。

(2)基本度量项:直接反映度量对象在某方面的单个属性值,例如:系统缺陷数。

(3)衍生度量项:由多个基本度量项通过一定的数学函数关系获得,反映度量对象在某方面的属性值。

例如:工时偏差率=(实际工时-预计工时)/预计工时。

(4)度量指标:针对已定义的度量项,明确应达到的标准要求及计算方法。

4职责划分在度量分析管理活动中,各角色职责如下:5流程说明(1)组织级度量活动流程(2)项目级度量活动流程6过程定义6.1组织级度量结合公司战略目标的要求,应建立组织级度量标准及度量要求,组织资源开展度量分析活动,促进组织目标的实现。

6.1.1度量指标根据公司管理需求,组织级度量人员负责组织制定度量指标,用于组织和项目相关的度量活动。

(1)度量指标类型根据应用层级和目的不同,分为:1)组织级度量指标:用于组织层级的度量分析活动,为管理决策提供数据参考。

2)项目级度量指标:用于项目层级的度量分析活动,为项目改进提供数据参考。

根据数值类型不同,分为:1)比率性指标:用于表示某方面的增长、偏差、占比等情况。

2)数值型指标:用于表示某方面所达到的水平或标准情况。

软件工程项目评估与度量

软件工程项目评估与度量

软件工程项目评估与度量软件工程项目评估与度量是软件开发过程中非常重要的一环。

通过对项目的评估和度量,可以评估项目的可行性、进度和成果的质量,为项目的顺利进行提供科学依据。

本文将介绍软件工程项目评估与度量的概念、重要性、方法以及在实际项目中的应用。

一、概念和重要性软件工程项目评估与度量是指对软件开发项目进行评估和度量,以确定开发过程中的问题、改进方案和项目的可行性。

评估和度量的主要目的是提供数据和信息,帮助项目管理者、开发团队和利益相关者做出决策,并确保项目的质量和进度可控。

评估和度量的重要性主要体现在以下几个方面:1. 提供决策依据:通过评估和度量,可以获得项目的各项指标和数据,为项目管理者提供决策依据。

管理者可以根据这些数据,调整项目计划和资源分配,提高项目成功的概率。

2. 发现问题和风险:通过评估和度量,可以及时发现项目中存在的问题和风险。

及早发现并解决这些问题,可以避免项目延期、超预算或者质量不达标的情况发生。

3. 优化资源利用:评估和度量可以帮助项目管理者了解资源的利用情况,根据实际情况进行资源的分配和调整,使项目开发过程更加高效和有效。

二、方法和过程软件工程项目评估与度量的方法和过程可以分为以下几个方面:1. 选择适合的评估和度量指标:根据项目的需求和目标,选择合适的评估和度量指标。

评估指标可以包括成本、进度、质量等方面的指标。

2. 收集数据和信息:根据选择的指标,收集和整理项目的数据和信息。

可以使用各种工具和方法,如问卷调查、观察、数据分析等。

3. 分析和解读数据:对收集到的数据进行分析和解读,得出评估和度量的结果。

可以利用统计学方法、数据挖掘等技术,进行数据的分析和挖掘。

4. 提出改进方案和建议:根据评估和度量的结果,提出改进方案和建议。

可以从项目管理、流程优化、资源配置等方面提出具体的改善措施。

三、应用实例软件工程项目评估与度量在实际项目中有着广泛的应用。

下面以某个软件开发项目为例,介绍其评估与度量的应用过程。

软件过程和项目度量 (2)

软件过程和项目度量 (2)
功能点技术依据对软件信息域特性和软件复杂性的 评估结果,估算软件规模。这种方法用功能点 (FP)为单位度量软件规模。
PM (万美元) kLOC
文档页数 Pd
Alpah
24
Beta
62
gamm
a
43
16.8 12.1 365 44.0 27.2 1224 31.4 20.2 1050
2020/12/11
可编辑ppt
错误数 人数
Ne
M
29
3
86
5
64
6
17
4.2 软件测量79年提出,目前在欧共体很普遍, 只涉及多种因素的间接度量方式。它根据事物信息 处理程序的基本功能定义,因此在软件系统涉及初 期就能够估算出软件项目的规模。
软件度量在某种程度上与单个的测量相关(如每 一次复审所发现的错误的平均数,或复审中每 人/小时所发现的错误的平均数)。
2020/12/11
可编辑ppt
5
第4章 软件过程和项目度量
指标
软件工程师收集测量结果并产生度量,这样就 可以获得指标“indicator”。指标是一个度量 或度量的组合,它对软件过程、软件项目或产 品本身提供了更深入的了解。
2020/12/11
可编辑ppt
3
第4章 软件过程和项目度量
测量 对软件开发过程、产品和资源进行实时和事后 的定量描述,涉及测量的要素、方法、过程、 工具和数值结果。 直接测量和间接测量
➢ 直接测量用于不依赖于其它属性的简单属性; 例如:花费的成本、工作量、产生的LOC
➢ 间接测量用于依赖于若干其它属性的要素、准则和属 性。 例如:软件的质量、软件的可靠性
2020/12/11
可编辑ppt
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• 与进度计划是否一致的测量,以及其他测量。
我们还可以通过测量特定软件工程任务的特性来导出过程度量。如测量一般软 件工程活动所花费的工作量和时间。
11
过程领域和项目 领域中的度量
过程度量和软件过程改进
不同类型的过程数据的使用可以分为“私有的和公用的”。因为某个软件工程 师可能对在其个人基础上收集的度量的使用比较敏感,这是很自然的,这些数 据对此人应该是私有的,是仅供此人参考的指标。私有度量的例子有据: • 个人缺陷率 • 软件构件缺陷率 • 开发过程中发现的错误数。
• 在软件发布前,团队A在软件过程中发现了342个错误,团队B发现了184个错 误。所有其他情况都相同,那么在整个过程中哪个团队能更有效地发现错误 呢? • 因为不知道项目的规模或复杂性,所以我们不能回答这个问题。不过,如果 度量采用规范化的方法,就有可能产生能够在更大的组织范围内进行比较的 软件度量。如此说来,面向规模的度量和面向功能的度量都是规范化的方法 。
• “measure”(测量)对一个产品过程的某个属性的范围、数量、维度、容量或大 小提供了一个定量的指示。
• “Measurement”(测度)则是确定一个测量的行为。
• IEEE的软件工程术语标准辞典 (IEEE Standard Glossary of Software Engineering Terms)[IEE93]中定义 “metric”(度量)为“对一个系统、构件或过程具有的某个给定属性的度的一个 定量测量”。
进行测量的理由:
• 刻画-通过刻画而获得对过程、产品、资源和环境的了解,并 建立同未来评估进行比较的基线; • 评价-通过评价来确定相对于计划的状况; • 预测-通过理解过程和产品间的关系,并构造这些关系的模型 来进行预测; • 改进-通过识别障碍、根本原因、低效率和其他改进产品质量 和过程性能的机会来进行改进。
Software Project Management
第2 讲 过程和项目度量
主讲:张纲强
主要内容
过程领域和项目领域中的度量 有软件过程中集中度量 软件测量 小型组织的度量 软件质量度量
制定软件度量大纲
通过提供目标评估的机制,测量使我们能够对项目和过程有更 深入的了解。Lord Kelvin曾经说过:
图2-2 面向规模的度量
软件测量
面向规模的度量
• 为了产生能和其他项目中同类度量进行比较的度量,我们选择代码行作为规范 化值。根据表中所包含的基本数据,每个项目都能产生一组简单的面向规模度 量: • 每千行代码(KLOC)的错误数。 • 每千行代码(KLOC)的缺陷数。 • 每千行代码(KLOC)的成本。 • 每千行代码(KLOC)的文档页数。
• 私有过程数据是软件工程师个人改进其工作的重要驱动力。
12
过程领域和项目 领域中的度量
过程度量和软件过程改进
• 某些过程度量对软件项目团队是私有的,但对所有团队成员是公用的。例如:
• 主要软件功能(由多个开发人员完成)的缺陷报告、
• 正式技术复审中发现的错误、 • 以及每个构件或功能的代码行数或功能点数。 • 这些数据可由团队进行复查,以找出能够改善小组性能的指标。 • 公用度量一般吸取了原本是个人的或团队的私有信息。收集和评估项目级的缺 陷率(肯定不能归因于某个个人)、工作量、时间及相关的数据,以找出能够改善 组织过程性能的指标。
16
软件测量
• 测量在现实世界中可分为两类:直接测量(如螺钉的长度)和间接测量(如生产的 螺钉的“质量”,由计算其次品率来测量)。
• 软件测量也有两种分类方法:
• 软件工程过程的直接测量,包括花费的成本和工作量;产品的直接测量, 包括产生的代码行( lines of code,LOC )、运行速度、内存大小及某段时间内 报告的缺陷。 • 产品的间接测量,包括功能、质量、复杂性、有效性、可靠性、可维护性及
23
软件测量
面向功能的度量
• 面向功能的软件度量使用功能(由应用系统提供)测量数据作为规模化值。应 用最广泛的面向功能的度量是功能点(Function Point,FP)。功能点是根据软件 信息域的特性及复杂性来计算的。 • 与LOC测量一样,功能点测量也是有争议的。支持者们认为FP与程序设计语言无 关,对于使用传统语言和非过程语言应用系统来说,它都比较理想的;而且它 所依据的数据是在项目开发初期就可能得到的数据。因此,作为一种估算方法 ,FP更有吸引力。
6
测度、度量和指标
• 当获取到单个的数据点(如在一个模块的复审中发现的错误数)时,就建立了一个测 量。
• 测度的发生是收集一个或多个数据点的结果(如调研若干个模块的复审,以收集每 一次复审所发现的错误数的测量)。 • 软件度量在某种程度上与单个的测量相关(如每一次复审所发现的错误的平均数, 或复审中每人/小时所发现的错误的平均数)。 • 软件工程师收集测量结果并产生度量,这样就可以获得指标“indicator”。指标是 一个度量或度量的组合,它对软件过程、软件项目或产品本身提供了更深入的了 解[RAG95]。指标所提供的更深入的理解,使得项目管理者或软件工程师能够调 整开发过程、项目或产品,这样使事情进行得更顺利,能被更好地完成。
13
过程领域和项目 领域中的度量
过程度量和软件过程改进
• 软件度量规则:
• 解释度量数据时使用常识,并考虑组织的敏感性。 • 向收集测量和度量的个人及团队定期提供反馈。 • 不要使用度量去评价个人。 • 与开发者和团队一起设定清晰的目标,并确定为达到这些目标需要使用的度 量。 • 不要用度量去威胁个人或团队。 • 指出问题区域的度量数据不应该被“消极地”看待,这些数据仅仅是过程改 进的指标。 • 不要在某一个别的度量上纠缠,而无暇顾及其他重要的度量。
ቤተ መጻሕፍቲ ባይዱ
测量是一个管理工具,如果能正确地使用,它将为项目管理者提 供洞察力。因此,测量能够帮助项目管理者和软件团队制定出使 项目成功的决策。
测度、度量和指标
• 虽然术语“measure”(测量)、“measurement”(测度)和“metrics”(度量)经常被互换 地使用,但注意到它们之间的细微差别是很重要的。因为“measure”(测量)和 “Measurement”(测度)既可以作为名词也可以作为动词,所以它们的定义可能会 混淆。在软件工程领域中,
• 随着技术工作的启动,其他项目度量也开始有意义了。生产率可以根据创建的 模型、评审的时间、功能点以及交付的源代码行数来测量。此外,对每个软件 工程任务中所发现的错误也要进行跟踪。在软件从需求到设计的演化过程中, 需要收集技术度量来评估设计质量,并提供若干指标,这些指标将会影响代码 生成及测试所采用的方法。
7
过程领域和项目 领域中的度量
• 测量在工程界中是常事。我们测量动力消耗、重量、物理体积、温度、电压、信 号—噪音比 …… 不胜枚举。
• 过程度量的收集涉及所有的项目,而且要经历相当长的时间,目的是提供能够引 导长期的软件过程改进的一组过程指标。
• 项目度量使得软件项目管理都能够:(1)评估正在进行的项目的状态;(2)跟踪潜在 的风险;(3)在问题造成不良影响之前发现它们;(4)调整工作流程或任务;(5)评估 项目团队控制软件工程工作产品质量的能力。 • 测量数据由项目团队收集,然后被转换成度量数据在项目期间使用。测量数据也 可传送给那些负责软件过程改进的人员。因此,很多相同的度量既可以用于过程 领域,又可用于项目领域。
9
过程领域和项目 领域中的度量
过程度量和软件过程改进
• 改进任何过程的唯一合理的方法是测量该过程的特定属性,再根据这些属性建立 一组有意义的度量,然后使用这组度量提供的指标来导出过程改进策略。 • 但是,在我们讨论软件度量及它们对软件过程改进的影响之前,必须注意到过程 仅是众多“改进软件质量和组织性能的控制因素”中的一种[PAU94]。 • 在图2-1中,过程位于三角形的中央,连接了三 个对软件质量和组织绩效有重大影响的因素。人 员的技能和激励被认为是对质量和绩效最有影响 的因素[BOE81]。产品复杂性对质量和团队绩 效也有相当大的影响。过程中采用的技术(如软件 工程方法)也有影响。另外,过程三角形存在于环 境条件的圆圈之内,环境条件包括:开发环境(如 CASE工具)、商业条件(如交付期限,业务规则)、 客户特性(如通信的容易程度)。
19
软件测量
面向规模的度量
• 面向规模的软件度量是通过规范化质量和(或)生产率的测量值而得到的,这 些测量都基于已经开发的软件的“规模”。
• 如果软件组织一直在做简单的记录,就会产生一个如图2-2所示的面向规模测 量的表。该表列出了在过去几年中完成的每一个软件开发项目及其相关的测量 数据。 • 查看alpha项目的数据(图2-2):花费了24个人· 月的工作量,成本为168 000美元 ,产生了12 100行代码。
许多其他的“产品特性”。
18
软件测量
• 将项目度量联合起来可以得到整个软件组织公用的过程度量。但是,一个组织 如何将来自不同个人或项目的度量结合起来呐?
• 为了说明这个问题,我们看一个简单的例子:
• 两个不同项目团队中的人将他们在软件工程过程中所发现的所有错误进行了 记录和分类。然后,将这睦个人的测量结合起来就产生了团队的测量。
• LOC测量的支持者们声称LOC是所有软件开发项目的“生成品”,并且很容易进 行计算;许多现有的软件估算模型使用LOC或KLOC作为关键的输入,并且已经 有大量的文献和数据涉及到LOC。 • 另一方面,反对者们则认为LOC测量依赖于程序设计语言;它们对设计得很好, 但较小的程序会产生不利的评判;它们不适用于非过程语言;而且它们在估算 时需要一些可能难以得到的信息(如,早在分析和设计完成之前,计划者就必须 估算出要产生的LOC)。
• 除此之外,还能够计算出其他有意义的度量:
• 每人· 月错误数。 • 每人· 月千代码行( KLOC )。 • 每页文档的成本。
相关文档
最新文档