0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

版本、变体和其他的基础定义

经纬恒润 2021-12-29 11:42 次阅读

“大家好,这是【产品线工程(PLE)专题】更新的第三篇,上一篇我们介绍了我们是否需要统一产品线工程的标准——如果需要,有哪些标准?,这一篇我们介绍版本、变体和其他的基础定义

版本和变体:了解它们之间的区别

© pure-systems GmbH

在谈论产品线工程和变体管理时的重要的事情是对基本术语有共同的理解。多年来的经验告诉我,明确“版本”和“变体”之间的区别是具挑战性的事情之一。在产品线工程(PLE)之外的许多场景下,都会或多或少地使用这些术语。这也是我们在展会上经常遇到有参观者说“我看到你们在做版本管理相关的事情,与产品、与xx版本控制系统相比,你们的做法有什么不同”相似的话的原因之一。

事实上,这有很多不同,因为我们根本就没有做版本管理。在这篇文章中,我将给出一些与版本和变体有关的基本定义。我还将说明这些术语之间的关系,并解释为什么它们会经常被当作是在描述同一件事。

基本术语的定义

???? 版本(Version)

资产的版本是指该资产在描述某一个特定时间点所记录的状态/内容。一个资产的两个版本之间可能存在相同或不同的内容。因此,版本反映了同一资产在不同时间点上的情况。在大多数情况下,版本是由一些标签或数字所标识的。在某些情况下,修订版(只要资产发生变化就会创建)和版本(会指向有标签/名称的修订版)之间会有区别。

???? 基线(Baseline)

一条基线是指一组资产的一个被命名的版本快照。

???? 变化(Variation)

变化或变异(Variation)是两个可比较的资产之间的差异。假设有一个产品的外壳是由金属或塑料制成的,那么"金属外壳"和"塑料外壳"就是该产品外壳的两个变化或变异。

???? 变化点(Variation Point)

变化点代表导致资产有不同变体的决策点。一个变化点由一组可能的实例(变化点的合法变体)组成。继续以带有金属或塑料外壳的产品为例,变化点是“外壳材料”,相应的变化是"金属外壳"和"塑料外壳"。变化点通常需要明确绑定时间,即做出决定来获得实例的时间。绑定时间可以是编译时、安装时或运行时。

???? 变体派生(Variant derivation)

变体派生是将可用资产集作为输入,将它们组合在一起并绑定/实例化其中的变体点的操作。如果存在具有多个绑定时间的变化点,则派生将分多个步骤进行,每个绑定时间进行一个步骤。派生的结果是一组变体资产。在技术层面上,派生可以通过许多方式执行。较简单的(也是不太推荐的)方式是复制资产并手动修改它们(例如,通过指定配置参数)。派生的结果通常称为配置。

派生是产品线工程的核心部分,因为改变一个产品线的资产(例如在修复一个错误时)往往需要重新创建所有包括改变后的资产的派生产品。为了尽量减少重新创建派生产品的工作,派生通常是在一个工具中自动进行的。

???? 变体(Variant)

如果资产X’源自资产X且具有与利益攸关者(stakeholder)相关的属性,这些属性使得X’与从同一资产X派生的其他变体不同,则该资产X’就是变体。

例如,如果一台机器可以通过给球涂上蓝色或红色的油漆来生产蓝色和红色(其他方面都一样)的球,那么它就能创造出两种变体(蓝球,红球)。涂有蓝色或红色的球的实际数量并不重要。无论是一个蓝球和一个红球,还是100个蓝球和200个红球,变体的数量总是两个。

如果你仔细阅读,你会注意到变体的定义并没有谈到派生发生的时间。这是有意而为之的,因为变体的概念是独立于时间的。因此无论变体是在同一时刻创建的,还是相隔数月之后创建的,都不重要。

需要强调的是,并不是两个资产之间的任意一个小的差异都会产生一个变体,而是相关的利益攸关者是否“看到了”相关的变体。可以想象一下,假如你买了两件衬衫,一件是某天买的,另一件是一周之后买的。这两件是同样的品牌,同样的颜色,同样的剪裁,同样的尺寸。不过衬衫的区别是有不同的洗涤标签,因为制造商在这期间修改了洗涤标签。但是对于你来说(在这个场景中你是利益攸关者)这些衬衫是相同的,因为你并不关心洗涤标签。接下来,我们想象另一个不同的情景。你为自己买了一件衬衫,为另一个人买了一件不同尺寸的衬衫。在这种情景下,衬衫的尺寸是一个相关的差异或者说是你关心的差异,因此,你会认为这两件衬衫是彼此的变体。

???? 可变性(Variability)

最后一个重要的定义是可变性。可变性描述了具有变化点的资产的可能变化。由于潜在变体的数量是庞大的,因此通常不可能穷举出所有可能的变体,故通常借助可变性模型(如特征模型或配置规则)来描述系统的可变性。

总结

希望这些定义能让我们更清楚地了解变体和版本的区别,以及为什么这种区别在产品线工程中很重要。如果你想了解更多,请看看我们有关PLE的其他系列文章。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 汽车电子
    +关注

    关注

    3026

    文章

    7943

    浏览量

    166943
收藏 人收藏

    评论

    相关推荐

    KEPServerEX V6.17版本已发布

    其他驱动更新及修复 Universal Device驱动(UDD) 新版本支持Kepware服务器访问存储在传统文件系统中文件对象中的数据。该功能允许用户监视或修改文件的目录,从文件内容提取数据并将结果
    的头像 发表于 11-18 16:25 188次阅读

    vivado导入旧版本的项目,IP核心被锁。

    vivado导入其他版本的项目的时候,IP核被锁,无法解开,请问该如何解决。 使用软件:vivado 2019.2 导入项目使用版本:vivado 2018
    发表于 11-08 21:29

    LORA模块与其他通信模块的比较

    模块概述 定义 :LORA是一种基于扩频技术的无线调制方式,主要用于长距离通信。 特点 :低功耗、长距离(可达数公里)、星型或网状网络拓扑。 应用场景 :智慧城市、农业监测、环境监测等。 其他通信模块概述 Wi-Fi模块 : 定义
    的头像 发表于 10-31 16:00 450次阅读

    Xpedition 2409版本新功能说明

    新的Xpedition 2409版本是西门子重新定义电子系统设计的一个重要里程碑。该版本引入了人工智能功能和云连接,为用户提供了更加直观、自适应和安全的设计体验。
    的头像 发表于 10-23 15:21 763次阅读

    需要自定义量产烧录软件,esptool.py最新版本(v2.1)不支持ESP8285如何解决?

    需要自定义量产烧录软件,需要用到 esptool.py,但 esptool.py 最新版本(v2.1)不支持 ESP8285,请问如何解决?谢谢!
    发表于 07-11 06:32

    Allegro X 23.11 版本更新 I 原理图设计:变体及 function 的创建与管理

    基于最新的AllegroX23.11版本更新,我们将通过实例讲解、视频演示让您深入了解AllegroXSystemCapture、AllegroXPCBEditor、AllegroXPulse产品
    的头像 发表于 06-22 08:12 989次阅读
    Allegro X 23.11 <b class='flag-5'>版本</b>更新 I 原理图设计:<b class='flag-5'>变体</b>及 function 的创建与管理

    CY7113如何下载/启用/使用PDstack的调试变体

    Get_Battery_Cap 扩展信息。但是,当 Battery_Capabilities 消息中出现回复时,预定义的 app_extd_msg_handler () 从未被调用。在
    发表于 05-29 08:10

    TSMaster 自定义 LIN 调度表编程指导

    TSMaster(v2023.10.7.990)之后的版本中新增了实现自定义LIN调度表相关API。今天重点和大家分享一下关于编程实现TSMaster自定义LIN调度表
    的头像 发表于 05-11 08:21 660次阅读
    TSMaster 自<b class='flag-5'>定义</b> LIN 调度表编程指导

    在labview中怎么获取变体控件内显示的文本Data呢?

    比如这个变体,如何获取黄色部分的文本呢??
    发表于 04-23 10:17

    fpga仿真器接口定义

    FPGA(Field-Programmable Gate Array,现场可编程门阵列)仿真器接口的定义主要依赖于仿真器的具体设计和所支持的通信协议。在FPGA的设计和仿真过程中,接口的定义对于实现与仿真器、计算机或其他设备的通
    的头像 发表于 03-15 14:01 1245次阅读

    TC38xx和TC37xx变体之间的AURIX处理器中的Core0是否相同?

    我想确认一下 TC38xx 和 TC37xx 变体之间的 AURIX 处理器中的 Core0 是否相同。
    发表于 01-26 06:33

    TC332如何获得变体中物理上独立的ADC通道的数量?

    根据 TC33X 的附录,TC332 变体的模拟输入总数应为 9+8 通道。 但是在引脚配置工具中,输入较少。 我还检查了其他变体;工具和 ds 总是不同的。 如何获得变体中物理上独立
    发表于 01-25 06:53

    什么是 Nano-D 连接器

    (D-subminiature)连接器的变体。ITTCannon(前身为Cannon)拥有D-sub及其较小变体的商标,尽管其他公司此后设计了自己的版本。与之前的micro-D和Dsu
    的头像 发表于 01-11 08:26 776次阅读
    什么是 Nano-D 连接器

    简单认识Nano-D连接器

    及其较小变体的商标,尽管其他公司此后设计了自己的版本。与之前的 micro-D 和 D subs 连接器一样,nano-D 的名字来源于它的形状,类似于字母 D。
    的头像 发表于 01-09 10:02 585次阅读

    altium designer哪个版本稳定

    相比可能有所不同。因此,选择哪个版本的Altium Designer是一个复杂的问题,需要考虑用户的需求、版本的稳定性以及其他因素。下面是对几个常见版本的Altium Designer
    的头像 发表于 01-04 16:52 2.2w次阅读