📅  最后修改于: 2020-12-04 07:59:54             🧑  作者: Mango
软件度量的框架基于三个原则-
在软件工程中,主要存在三类实体。他们是-
所有这些实体都具有内部和外部实体。
内部属性是可以完全根据流程,产品或资源本身进行衡量的属性。例如:大小,复杂性,模块之间的依赖性。
外部属性是只能根据其与环境的关系进行度量的属性。例如:用户经历的故障总数,搜索数据库和检索信息所花费的时间。
可以为每个实体衡量的不同属性如下-
流程是与软件相关的活动的集合。以下是一些可以直接用于流程的内部属性-
过程的持续时间或其活动之一
与流程或其活动之一相关的工作
在过程或其活动之一过程中发生的指定类型的事件数
过程的不同外部属性是成本,可控性,有效性,质量和稳定性。
产品不仅是管理层承诺交付的项目,还是软件生命周期中产生的任何工件或文档。
内部产品的不同属性是大小,工作量,成本,规格,长度,功能,模块化,重用,冗余和句法正确性。在这些大小,工作量和成本中,比其他方法相对容易衡量。
外部产品的不同属性是可用性,完整性,效率,可测试性,可重用性,可移植性和互操作性。这些属性不仅描述了代码,而且还描述了支持开发工作的其他文档。
这些是流程活动所需的实体。它可以是软件生产的任何输入。它包括人员,材料,工具和方法。
资源的不同内部属性是年龄,价格,大小,速度,内存大小,温度等。不同的外部属性是生产率,经验,质量,可用性,可靠性,舒适性等。
特定的度量只有在有助于理解过程或其结果产品之一时才有用。仅当项目为流程和产品明确定义了目标时,才能执行流程或产品的改进。对目标的清晰理解可用于在过程成熟度框架的背景下为给定项目生成建议的度量。
GQM方法提供了一个涉及以下三个步骤的框架-
列出开发或维护项目的主要目标
从每个目标中得出必须回答的问题,以确定目标是否得到满足
决定必须衡量什么才能能够充分回答问题
要使用GQM范例,首先我们要表达组织的总体目标。然后,我们生成问题,以便知道答案,以便我们确定目标是否达到。然后,根据我们需要什么度量来回答每个问题来分析每个问题。
典型目标用生产率,质量,风险,客户满意度等来表示。目标和问题要根据其听众来构建。
为了帮助生成目标,问题和度量标准,Basili&Rombach提供了一系列模板。
目的-为了(表征,评估,预测,激励等)(过程,产品,模型,度量标准等)以便理解,评估,管理,设计,学习,改进等。示例:产品以学习它。
观点-从开发人员,经理,客户等角度检查(成本,有效性,正确性,缺陷,变更,产品措施等)。示例:从客户角度检查缺陷。
环境-环境包括以下内容:过程因素,人员因素,问题因素,方法,工具,约束条件等。示例:该软件的客户是对工具一无所知的客户。
通常测量对于-
根据SEI提供的过程的成熟度级别,测量类型和测量程序将有所不同。以下是可以在每个成熟度级别上应用的不同测量程序。
级别1:临时
在此级别上,输入定义不明确,而预期输出。从输入到输出的过渡是不确定的且不受控制的。对于此级别的过程成熟度,需要进行基线测量以提供测量的起点。
级别2:可重复
在此级别上,可以识别过程的输入和输出,约束和资源。下图描述了可重复的过程。
输入度量可以是需求的大小和波动性。可以根据系统规模,根据人员工作量的资源以及根据成本和进度的约束条件来度量输出。
3级:已定义
在此级别上,定义了中间活动,并且知道和理解了它们的输入和输出。下图描述了定义过程的一个简单示例。
可以检查,衡量和评估中间活动的输入和输出。
4级:托管
在此级别上,早期项目活动的反馈可用于为当前活动设置优先级,之后为项目活动设置优先级。我们可以衡量流程活动的有效性。度量反映了整个过程的特征以及主要活动之间和之间的交互作用。
第5级:优化
在此级别上,活动的度量用于通过删除和添加过程活动以及响应于度量反馈而动态更改过程结构来改进过程。因此,过程变更会影响组织,项目以及过程。该过程将充当传感器和监视器,并且我们可以根据警告信号来显着更改该过程。
在给定的成熟度级别上,我们可以收集该级别及其下所有级别的度量。
流程成熟度建议仅衡量可见的内容。因此,将过程成熟度与GQM相结合将提供最有用的措施。
在1级,该项目可能有未明确定义的需求。在这个水平上,需求特征的测量是困难的。
在级别2上,对需求进行了明确定义,并且可以收集其他信息,例如每个需求的类型以及对每种类型的更改次数。
在级别3上,使用每个活动的进入和退出条件定义中间活动
目标和问题分析将是相同的,但是度量标准将随着成熟度而变化。过程越成熟,测量值就越丰富。 GQM范例与流程成熟度相结合,已被用作协助管理人员设计度量程序的多种工具的基础。
GQM有助于了解度量属性的需求,而流程成熟度则表明我们是否有能力以有意义的方式对其进行度量。它们一起提供了测量的环境。