ISO/IEC 25012:2008 系统和软件的质量模型(数据质量模型)

本文是对GBT 25000.12-2017《软件产品系统与软件质量要求与评价(SQuaRE)第12部分:数据质量模型》一文的转载,此外还参考了ISO/IEC 25012:2008(en) Software engineering — Software product Quality Requirements and Evaluation (SQuaRE) — Data quality model一文,有兴趣的同学可以自行参考原文。
正文如下:

前言

国际标准化组织(ISO, the International Organization for Standardization)和国际电工委员会(IEC, the International Electrotechnical Commission)构成了世界标准化的专门体系。作为ISO或IEC成员的国家机构通过各自组织设立的技术委员会参与国际标准的制定,这些技术委员会负责特定领域的技术活动。ISO和IEC会在共同感兴趣的领域开展合作。与ISO和IEC联络的其他国际组织、政府组织和非政府组织也参与了这项工作。在信息技术领域,ISO和IEC成立了一个联合技术委员会,即ISO/IEC JTC 1。
联合技术委员会的主要任务是制定国际标准。联合技术委员会通过的国际标准草案将分发给国家机构进行投票。作为国际标准发布需要至少75%的国家机构投票批准。
ISO/IEC 25012由ISO/IEC JTC 1信息技术联合技术委员会SC 7 软件和系统工程小组委员会编制。
ISO/IEC 25012是SQuaRE系列国际标准之一。SQuaRE系列由以下部分组成,总标题为软件工程–软件产品质量要求和评估(SQuaRE):
–质量管理部(ISO/IEC 2500n),
–质量模型部(ISO/IEC 2501n),
–质量测量部(ISO/IEC 2502n),
–质量要求部(ISO/IEC 2503n),
–质量评估部(ISO/IEC 2504n)。

简介

计算机系统处理的数据和信息量在全球范围内不断增长;数据质量是从这些数据导出信息的质量和有用性的关键组成部分,大多数业务过程都依赖于数据质量。
所有信息技术项目的一个共同前提条件是在计算机系统和用户之间以及计算机系统自身之间所交换、处理及使用的数据的质量。
管理并提高数据质量很重要,这是因为:
—— 从数据生产过程的质量未知或薄弱的组织获取数据;
—— 存在导致信息让人不满意、结果不可用或客户不满意的缺陷数据;
—— 这些数据在不同所有者和用户之间分散。根据单个组织的工作流程需求捕获的数据往往缺乏连贯和综合的愿景,而这是确保互操作性和合作所必需的;
—— 需要处理由于语义歧义性或者与其他现有的相关数据间缺乏一致性而无法直接重复使用的数据;
—— 遗留架构和计算机系统与在不同时间和不同标准设计和实现的分布式系统的共存;
—— 现存的信息系统(例如万维网)数据频繁变化,集成成为一个特别重要的问题。
本国际标准定义的数据质量模型旨在满足上述需求,并且考虑到数据生存周期通常比软件生存周期更长。该数据质量模型可以用于以下方面:
—— 定义和评估在数据生产、采集和集成过程中数据质量要求;
—— 确定数据质量保证标准,这对数据的重新设计、评估和改进很有用;
—— 评估数据是否符合法律的要求。
检测因数据带来的错误或低效,带来了针对数据和数据所在系统的其他组件的改善和纠正性干预,示例如下:
—— 数据(例如重新设计、解析、整理、增补、转换,匹配);
—— 软件(例如修改源程序以实现一致性控制);
—— 硬件(例如升级计算机系统以提高响应时间);
—— 人工业务过程(例如对用户培训以避免数据录入过程中的错误;改进管理数据的会计流程)。
本国际标准定义的数据质量模型,旨在与SQuaRE系列标准中的其他标准一起使用,如下图所示(改编自ISO/IEC 25000):
请添加图片描述
SQuaRE系列的组成如下:
—— ISO/IEC 2500n-质量管理部分。定义了SQuaRE系列所有其他国际标准中提及的所有通用模型、术语和定义。该部门还负责管理软件产品质量的要求、规范和评估的辅助功能提供要求和指导。此外,还提供了使用质量模型的实用指南。
—— ISO/IEC 2501n-质量模型部分。构成该部分的国际标准为软件和数据提供了详细的质量模型。此外,在软件质量模型中,内部和外部质量特征被分解为子特征。还提供了使用质量模型的实用指南。
—— ISO/IEC 2502n-质量测量部分。构成该部分的国际标准包括软件产品质量测量参考模型、质量测量的数学定义及其应用的实用指南。这个部分所提出的措施适用于内部软件质量、外部软件质量和使用质量。定义并介绍了构成质量测量基础的质量测量要素。
—— ISO/IEC 2503n-质量要求部分。构成该部门的国际标准有助于明确质量要求。这些质量要求可用在要开发的系统或软件产品的质量需求抽取过程(设计一个达到必要质量的过程)中或用作评价过程的输入。需求定义过程映射到ISO/IEC 15288中定义的技术过程。
—— ISO/IEC 2504n-质量评估部分。构成这个部分的国际标准给出了无论由独立评价方、需求方还是由开发方执行的系统或软件产品评价的要求、建议和指南。还给出了作为评价模块的质量测量编制支持。
—— ISO/IEC 25050至ISO/IEC 25099保留用于SQuaRE扩展国际标准、技术规范、公开可用规范(PAS)和技术报告,目前包括ISO/1EC 25051和ISO/IEC 25060~ISO/IEC 25069。

1 范围

本国际标准定义了计算机系统内以结构化格式保留的数据的通用数据质量模型。
本国际标准侧重于作为计算机系统一部分的数据质量,并定义了人类和系统使用的目标数据的质量特征。
目标数据是组织决定通过模型进行分析和验证的数据;非目标数据一词涵盖两种情况:第一种是指非持久性的数据,如操作系统处理的数据;第二种是指可能在标准范围内的数据,但组织选择不对其应用标准。
在图2中,一个通用系统的结构以图表的形式显示:这可以包括信息系统,而信息系统又可以包括一个或多个计算机系统。

本国际标准针对计算机系统中以某种结构化形式保存的数据,定义了通用的数据质量模型。
本国际标准侧重于作为计算机系统一部分的数据质量,并定义由人和系统使用的目标数据的质量特性。
目标数据是组织决定通过本模型来分析和确认的那些数据。非目标数据一词涵盖两种情况:第一种指非持久化的数据,如由操作系统处理的数据;第二种指虽然属于本标准范围内的数据,但该组织不采用本标准进行分析评估的数据。
在下图中展示了一个通用系统的结构:这可以包括信息系统,而信息系统又可以包括一个或多个计算机系统:
请添加图片描述
本国际标准可与SQuaRE系列中的其他标准一起使用,以建立数据质量要求、定义数据质量度量,或计划并实施数据质量评估。
数据质量要求和数据质量度量可以按照5.2中的数据质量特征进行分类,并由评估过程以独立于其他计算机系统组件分析数据。
本国际标准旨在支持系统生命周期过程(如ISO/IEC 15288中定义的过程)的实现。
本国际标准考虑了所有数据类型(如字符串、文本、日期、数字、图像、声音等)、分配的数据值和数据之间的关系(如同一实体或不同实体中的数据之间的一致性);该范围不包括嵌入式设备或实时传感器产生的、不会被保留用于进一步处理或历史信息的数据。
本国际标准不规定数据的物理组织(即数据库管理系统);此外,概念、逻辑和物理模式的设计活动不在本国际标准的范围内;与这些数据相关的所有流程和交付成果都受益于本国际标准的应用。
数据与数据设计的一致性包括在本国际标准的范围内。
本部分为评价数据质量引用了元数据,而元数据的定义由ISO/IEC 11179阐明。
本国际标准与行业和领域特定数据质量标准的关系及其相对于这些标准的优先级由用户在特定使用环境中确定。

2 符合性

当声称符合本部分时,使用者应对5.2中的每个数据质量特性都提供已涉及的证据,或给出将某些特性排除在外的理由,或描述自己特有的数据质量属性分类并提供它们与5.2中特性的映射关系。

3 规范性引用文件

下列文件对于本文件的应用是必不可少的。凡是注明日期的引用文件,仅注明日期的版本适用于本文件。凡是不注明日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。这些文件有:
ISO/IEC 25000,1—2010软件工程软件产品质量要求和评价(SQuaRE)SQuaRE指南(ISO/IEC 25000 2005.1DT)

4 术语和定义

ISO/IEC 25000界定的以及下列术语和定义适用于本文件。

4.1 计算机系统computer system

由一个或多个组件和元素,如计算机(硬件),相关的软件和数据,组成的系统。

4.2 数据data

信息的可再解释的形式化表示,以适用于通信、解释或处理。
注1:可以通过人工或自动手段处理数据。
注2:该定义没有完全引用ISO/IEC 25000的定义,因为后者是指与测量结果相关的数据。

4.3 数据质量data quality

在指定条件下使用时,数据的特性满足明确的和隐含的要求的程度。

4.4 数据质量特性data quality characteristic

对数据质量有影响的数据质量属性的类别。

4.5 数据质量测度data quality measure

变量,为其赋值作为数据质量特性的测量结果。注:改写自ISO/IEC 15939:2007

4.6 数据质量模型data quality model

已定义的特性集合。提供一个框架用于说明数据质量需求和评价数据质量。

4.7 数据类型data type

对属性的可能值的集合,特性和操作集合的一种抽象的分类。
注1:数据类型的示例有:字符串、文本、日期、数字、图像、声音等。
注2:改写自ISO/IEC 2382-17。

4.8 实体entity

一组具体或抽象事物的表示这些事物由于共享了相同的特性且能参与相同的关系而被识别为相同的类型。
注:改写自ISO/IEC 2382-17。

4.9 实体实例entity instance

由实体所表示的一组具体或抽象的事物中的一个。来源:IEEE Std 1320.2—1998]

4.10 信息information

在信息处理中,关于客体(如事实、事件、事物、过程或想法,包括概念)的知识。这些客体在一定的场合中具有特定的含义。
注1:改写自ISO/IEC 2382-1:1993
注2:尽管信息有一种表示形式使之可通信,但首先相关的是这种表示的解释(含义)。

4.11 信息系统information system

一个或多个提供或分发信息的、连同相关组织资源(如人力资源,技术资源和财经资源)的计算机系统和通信系统。
注:改写自 ISO/IEC 2382-1:1993。

4.12 完整性integrity

保护资产准确性和完备性的性质。
注:改写自 ISO/IEC 13335-1:2004。

4.13 元数据metadata

描述其他数据的数据。
注:改写自ISO/IEC 11179-1:2004。

4.14 质量测量元素quality measure element

度量,可以是基础度量或派生度量,用于构建软件或数据质量的度量。

5 数据质量

5.1 概述

数据质量使用所定义的数据质量模型描述。
本部分中定义的数据质量模型考虑固有的和依赖系统的两种视角,将质量属性分为15个特性。

5.1.1 固有的数据质量

固有的数据质量是指数据在指定条件下使用时,该数据的质量特性具有满足明确的和隐含的要求的内在潜力的程度。
从固有的视角看,数据质量是指数据本身,特别是:
—— 数据域值以及可能的限制(例如支配给定应用中的特性所要求的质量的业务规则);
—— 数据值的关系(例如一致性);
—— 元数据。

5.1.2 依赖系统的数据质量

依赖系统的数据质量是指数据在指定条件下使用时,该数据质量在计算机系统中已达到并被保持的程度。
从这种视角来看,数据质量依赖于使用数据的技术领域;数据质量通过计算机系统组件的能力来达成。这些组件,如硬件设备(例如使数据可用或者获取所需要的精度)、计算机系统软件(例如备份软件,以达到可恢复性)以及其他软件(例如迁移工具,以达到可移植性)。

5.2 数据质量模型

本部分中定义的数据质量模型按照固有的和依赖系统的两种视角概述了15个质量特性。
下表中的"X"符号,表明了所需或所评估的数据质量的特性与固有的和依赖的系统的视角的相关性,以及其可测量性。
请添加图片描述
有些特性从两种视角看都是相关的。
数据质量特性对于不同的利益相关方的重要性和优先级各不相同。

5.3 数据质量特征

5.3.1 固有的视角
5.3.1.1 准确性

在特定的使用环境中,数据具有正确地表示一个概念或事件的相关属性真实值的属性的程度。它分为以下两个主要方面:
—— 句法准确性。句法准确性定义为数据值与被认为是句法正确的域中的值的接近程度。示例1:当单词Mary被存储为Marj时,其句法准确度降低。
—— 语义准确性。语义准确性定义为数据值与被认为是语义正确的域中的值的接近程度。示例2:当人名John被存储为George时,其语义准确度低。这两个人名都是句法准确的,因为他们都存在于(人名)参考域中,但George是与另一个人相关的人名。
固有的数据质量测度的示例:
·数据质量测量名 记录的字段句法准确性
·测量函数 A/B
·质量测度元素 A一所指定的字段句法是准确的记录数;B一记录总数

5.3.1.2 完备性

在特定的使用环境中,与一个实体相关联的主题数据具有所有预期属性的值和相关的实例值的程度。示例:对于员工数据库,如果某些员工的记录未包含在紧急情况下能联系到他们的电话号码的数据,那么其完备性降低。
固有的数据质量测度的示例:
·数据质量测量名 文件中数据的完整性
·测量函数 A/B
·质量测度元素 A——数据文件中特定环境所需要的数据的个数;B——使用的指定的特定环境中数据的个数

5.3.1.3 一致性

在特定的使用环境中,数据具有表征其与其他数据无矛盾且是连贯的属性的程度。一致性可以存在于下列两种情况中的任意一种或两种:在与单个实体有关的数据之中;多个可比较实体的类似数据之间。
注:采用同义词代表了造成不一致性的一种特例:用来定义数据的术语词典可用于避免这种不一致性。示例:一个员工的出生日期不能比他的"就职日期"晚。
固有的数据质量测度的示例:
·数据质量测量名 数据文件的一致性
·测量函数 A/B
·质量测度元素 A一文件中一致的数据的个数;B一文件中记录的数据的个数

5.3.1.4 确实性

在特定的使用环境中,数据具有表征其被使用者认为真实和可信的属性的程度。
注:确实性包含真实性(起因、属性、承诺的真实)的概念。
示例:来自独立的、有信誉的组织所证明的数据被认为是确实的。
固有的数据质量测度的示例:
·数据质量测度名 被银行用于评价信用风险的确实性
·测量函数 A/B
·质量测度元素 A一在获得信用风险信息数据后经内部认证的数据个数;B一用于获得信用风险信息的数据个数

5.3.1.5 现时性

在特定的使用环境中,数据具有表征其有正确寿命的属性的程度。
示例:铁路站的时刻表必须按要求的顿率更新,即使预定时间或站台变了乘客也能乘车。
固有的数据质量测度的示例:
·数据质量测度名 一个字段数据值的现时性
·测量函数 A/B
·质量测度元素 A一检查所选数据值与现时性要求一致的数据个数;B一指定域的数据值上检查的数据个数

5.3.2 固有的且依赖系统的视角
5.3.2.1 可访问性

在特定的使用环境中,数据能被访问的程度,尤其是对因缺少某些能力而需要支持技术或特殊配置的人。
示例:需要被屏幕阅读器管理的数据不能被储存为图像。
固有的数据质量测度的示例:
·数据质量测度名 声音数据可访问性
·测量函数 A/B
·质量测度元素 A一仅作为"声音"存储的数据个数;B一表示声音的数据值个数
依赖系统的数据质量测度的示例:
·数据质量测度名 多信道数据可访问性
·测量函数 A/B
·质量测度元素 A—可以被不同能力的用户成功访问的数据个数;B一可用数据个数

5.3.2.2 依从性

在特定的使用环境中,数据具有表征其遵守生效的标准、惯例或规定,并且遵守与数据质量相关的类似规则的属性的程度。
示例:一个银行的信用风险数据必须遵守特定的法律和标准。
固有的数据质量测度的示例:
·数据质量测度名 与私密信息相关的法律法规不一致值
·测量函数 A
·质量测度元素 A—因数据内容而与私密信息相关的法律法规陈述不一致的条款数
依赖系统的数据质量测度的示例:
·数据质量测度名 与私密信息相关的法律法规不一致的架构
·测量函数 A
·质量测度元素 A—因技术架构失效而与私密信息相关的法律法规陈述不一致的条款数

5.3.2.3 保密性

在特定的使用环境中,数据具有表征确保其只能被授权用户访问和解释的属性的程度。注:保密性是信息安全(连同可用性、完整性)的一个方面,正如 ISO/IEC 13335中的定义。
示例:涉及个人或保密信息(诸如健康或收入等)的数据,必须只能被授权用户访问或被写成保密代码。
固有的数据质量测度的示例:
·数据质量测度名 加密使用
·测量函数 A/B
·质量测度元素 A一被加密的数据库字段数;B一需要被加密的字段数
依赖系统的数据质量测度的示例:
·数据质量测度名 非脆弱性
·测量函数 A/B
·质量测度元素 A一在正式入侵测试期间成功的入侵数;B一尝试的入侵数

5.3.2.4 效率

在特定的使用环境中,通过使用适当的资源数量和类型,数据具有表征其能被处理,并提供期望的性能等级的属性的程度。
示例:使用比必需空间更多的空间来存储数据会导致存储器、内存和时间的浪费。
固有的数据质量测度的示例:
·数据质最测度名 被存储为字符串的数
·测量函数 A
·质量测度元素 A一被存储为字符串的数据的个数
依赖系统的数据质量测度的示例:
·数据质量测度名 被浪费的存储空间
·测量函数 A/B
·质量测度元素 A一数据库中有效数据存储的基准值;B一数据库物理文件中数据已使用的空间

5.3.2.5 精度

在特定的使用环境中,数据具有表征其精确或提供区分度的属性的程度。
示例:5个小数位的精度允许比2个小数位的精度有更好的不同的功能性。
固有的数据质量测度的示例:
·数据质量测度名 数据值的精度
·测量函数 A/B
·质量测度元素 A一达到精度要求的数据值的个数;B一数据值的总数
依赖系统的数据质量测度的示例:
·数据质量测度名 一个数据库字段的精度
·测量函数 A/B
·质量测度元素 A一定义了精度要求的数据库数据字段的个数;B一数据库中数据字段的总数

5.3.2.6 可跟踪性

在特定的使用环境中,数据具有表征其对数据访问踪迹和对数据变更踪迹进行审计的属性的程度。
示例:公共管理机构必须保存有关用户执行访问的信息,以调查谁读(写)了保密数据。
固有的数据质量测度的示例:
·数据质量测度名 值的可跟踪性
·测量函数 A/B
·质量测度元素 A一具有所需可跟踪性的数据值的个数;B一进行可跟踪性测试的数据值的个数
依赖系统的数据质量测度的示例:
·数据质量测度名 自动可跟踪性
·测量函数 A
·质量测度元求 A一自动(使用系统能力)迫踪的数据项数

5.3.2.7 可理解性

在特定的使用环境中,数据具有表征其能被用户阅读和解释,以及用适当的语言、符号和(计量)单位来表达的属性的程度。
注:有关数据可理解性的某些信息通过元数据提供。
示例:欲表示一个州(在一个国家中),则标准的首字母缩写比数字代码要容易理解。
固有的数据质量测度的示例:
·数据质量测度名 起因于现有元数据的主数据可理解性
·测量函数 A/B
·质量测度元素 A一主数据文件中带现有元数据的数据个数;B一主数据文件的数据个数
依赖系统的数据质量测度的示例:
·数据质量测度名 起因于链接元数据的主数据可理解性
·测量函数 A/B
·质量测度元素 A一具有已自动链接到相关数据的元数据的字段数;B一字段总数

5.3.3 依赖系统的视角
5.3.3.1 可用性

在特定的使用环境中,数据具有表征其能被授权用户或应用程序检索的属性的程度。
注1:一个可用性的特殊案例是被一个以上用户或应用程序并发访问(读数据或更新数据或两者都有)。
注2:另一个可用性案例是在指定的时间段内数据可用的能力。
示例:数据在备份等管理操作期间也应该是可用的。
依赖系统的数据质量测度的示例:
·数据质量测度名 数据项可用性
·测量函数 A/B
·质量测度元素 A一备份(或恢复)操作活动期间可用的数据项数;B一备份(或恢复)处理的数据项数

5.3.3.2 可移植性

在特定的使用环境中,数据具有表征其能被安装,替换或从一个系统移动到另一个系统中,并保持已有质量的属性的程度。
依赖系统的数据质量测度的示例:
·数据质量测度名 数据可移植性
·测量函数 A/B
·质量测度元素 A一移动到不同的计算机系统后保持已有质量属性的数据个数;B一被移动的数据个数

5.3.3.3 可恢复性

在特定的使用环境中,数据具有表征其能维护并保持指定操作等级和质量等级(甚至在失效事件中)的属性的程度。
注:可恢复性能由像提交点(或同步点)、回滚(容错能力)等功能提供,或由备份恢复机制来提供。
示例:当一个媒体设备出现一个失效时,在这个设备中存储的数据应该是可恢复的。
依赖系统的数据质量测度的示例:
·数据质量测度名 可恢复性
·测量函数 A/B
·质量测度元索 A一备份(或恢复)操作期间成功地备份(或恢复)的数据项数;B一被执行备份(或恢复)处理的数据项数

参考

https://www.iso.org/obp/ui/en/#iso:std:iso-iec:25012:ed-1:v1:en ISO/IEC 25012:2008(en) Software engineering — Software product Quality Requirements and Evaluation (SQuaRE) — Data quality model
http://www.ckmst.com/newsinfo/2688741.html GBT 25000.12-2017 《软件产品系统与软件质量要求与评价(SQuaRE) 第12部分:数据质量模型》
https://kikakurui.com/x2/X25012-2013-01.html JISX25012:2013软件产品系统与软件质量要求与评价:数据质量模型
https://www.cnblogs.com/testing-/p/18345245 ISO/IEC 25010 2023年底第2版:系统和软件工程-系统和软件质量要求与评估 (SQuaRE)-产品质量模型

### Spring Framework ApplicationEventPublisher Example and Usage In the context of the Spring framework, `ApplicationEventPublisher` is an interface that allows beans to publish events to the application context. This mechanism facilitates a loosely coupled architecture where components can notify each other about significant occurrences without being directly dependent on one another. The core classes involved in this event-driven model include: - **ApplicationEvent**: A class extending from which all custom events should derive. - **ApplicationListener<E extends ApplicationEvent>**: An interface implemented by any bean wishing to listen for specific types of events. - **ApplicationEventMulticaster**: The component responsible for broadcasting events to registered listeners within the ApplicationContext[^1]. To demonstrate how these pieces work together using `ApplicationEventPublisher`, consider the following code snippets illustrating both publishing and listening capabilities. #### Publishing Events with ApplicationEventPublisher A service or repository layer might want to inform others when certain actions occur. For instance, after saving data into storage, it could broadcast such activity as shown below: ```java @Service public class MyService { private final ApplicationEventPublisher publisher; @Autowired public MyService(ApplicationEventPublisher publisher) { this.publisher = publisher; } void performAction() { // Action logic here... CustomEvent event = new CustomEvent(this); publisher.publishEvent(event); // Publishes the event through the context } } ``` Here, upon executing some action inside `performAction()`, a new `CustomEvent` gets created and published via injection of `ApplicationEventPublisher`. #### Listening for Specific Events Using ApplicationListener On the receiving end, interested parties implement `ApplicationListener<SpecificEventType>` to react accordingly whenever their targeted type occurs: ```java @Component public class EventConsumer implements ApplicationListener<MyCustomEvent> { @Override public void onApplicationEvent(MyCustomEvent event) { System.out.println("Received my custom event : " + event.getMessage()); } } ``` This listener will automatically receive notifications every time a matching event (`MyCustomEvent`) happens anywhere across different parts of your application[^2]. Additionally, annotations like `@EventListener` provide even more concise syntax while offering flexibility regarding method signatures and parameters used during handling processes. By leveraging these constructs effectively, developers gain powerful tools enabling robust communication patterns throughout complex systems built atop Spring's foundation.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值