版本、變體和其他的基礎(chǔ)定義
“ 大家好,這是【產(chǎn)品線工程(PLE)專題】更新的第三篇,上一篇我們介紹了‘我們是否需要統(tǒng)一產(chǎn)品線工程的標準——如果需要,有哪些標準?’,這一篇我們介紹版本、變體和其他的基礎(chǔ)定義”
版本和變體:了解它們之間的區(qū)別
? pure-systems GmbH
在談?wù)摦a(chǎn)品線工程和變體管理時的重要的事情是對基本術(shù)語有共同的理解。多年來的經(jīng)驗告訴我,明確“版本”和“變體”之間的區(qū)別是具挑戰(zhàn)性的事情之一。在產(chǎn)品線工程(PLE)之外的許多場景下,都會或多或少地使用這些術(shù)語。這也是我們在展會上經(jīng)常遇到有參觀者說“我看到你們在做版本管理相關(guān)的事情,與產(chǎn)品、與xx版本控制系統(tǒng)相比,你們的做法有什么不同”相似的話的原因之一。
事實上,這有很多不同,因為我們根本就沒有做版本管理。在這篇文章中,我將給出一些與版本和變體有關(guān)的基本定義。我還將說明這些術(shù)語之間的關(guān)系,并解釋為什么它們會經(jīng)常被當作是在描述同一件事。
基本術(shù)語的定義
?? 版本(Version)
資產(chǎn)的版本是指該資產(chǎn)在描述某一個特定時間點所記錄的狀態(tài)/內(nèi)容。一個資產(chǎn)的兩個版本之間可能存在相同或不同的內(nèi)容。因此,版本反映了同一資產(chǎn)在不同時間點上的情況。在大多數(shù)情況下,版本是由一些標簽或數(shù)字所標識的。在某些情況下,修訂版(只要資產(chǎn)發(fā)生變化就會創(chuàng)建)和版本(會指向有標簽/名稱的修訂版)之間會有區(qū)別。
?? 基線(Baseline)
一條基線是指一組資產(chǎn)的一個被命名的版本快照。
?? 變化(Variation)
變化或變異(Variation)是兩個可比較的資產(chǎn)之間的差異。假設(shè)有一個產(chǎn)品的外殼是由金屬或塑料制成的,那么"金屬外殼"和"塑料外殼"就是該產(chǎn)品外殼的兩個變化或變異。
?? 變化點(Variation Point)
變化點代表導(dǎo)致資產(chǎn)有不同變體的決策點。一個變化點由一組可能的實例(變化點的合法變體)組成。繼續(xù)以帶有金屬或塑料外殼的產(chǎn)品為例,變化點是“外殼材料”,相應(yīng)的變化是"金屬外殼"和"塑料外殼"。變化點通常需要明確綁定時間,即做出決定來獲得實例的時間。綁定時間可以是編譯時、安裝時或運行時。
?? 變體派生(Variant derivation)
變體派生是將可用資產(chǎn)集作為輸入,將它們組合在一起并綁定/實例化其中的變體點的操作。如果存在具有多個綁定時間的變化點,則派生將分多個步驟進行,每個綁定時間進行一個步驟。派生的結(jié)果是一組變體資產(chǎn)。在技術(shù)層面上,派生可以通過許多方式執(zhí)行。較簡單的(也是不太推薦的)方式是復(fù)制資產(chǎn)并手動修改它們(例如,通過指定配置參數(shù))。派生的結(jié)果通常稱為配置。
派生是產(chǎn)品線工程的核心部分,因為改變一個產(chǎn)品線的資產(chǎn)(例如在修復(fù)一個錯誤時)往往需要重新創(chuàng)建所有包括改變后的資產(chǎn)的派生產(chǎn)品。為了盡量減少重新創(chuàng)建派生產(chǎn)品的工作,派生通常是在一個工具中自動進行的。
?? 變體(Variant)
如果資產(chǎn)X’源自資產(chǎn)X且具有與利益攸關(guān)者(stakeholder)相關(guān)的屬性,這些屬性使得X’與從同一資產(chǎn)X派生的其他變體不同,則該資產(chǎn)X’就是變體。
例如,如果一臺機器可以通過給球涂上藍色或紅色的油漆來生產(chǎn)藍色和紅色(其他方面都一樣)的球,那么它就能創(chuàng)造出兩種變體(藍球,紅球)。涂有藍色或紅色的球的實際數(shù)量并不重要。無論是一個藍球和一個紅球,還是100個藍球和200個紅球,變體的數(shù)量總是兩個。
如果你仔細閱讀,你會注意到變體的定義并沒有談到派生發(fā)生的時間。這是有意而為之的,因為變體的概念是獨立于時間的。因此無論變體是在同一時刻創(chuàng)建的,還是相隔數(shù)月之后創(chuàng)建的,都不重要。
需要強調(diào)的是,并不是兩個資產(chǎn)之間的任意一個小的差異都會產(chǎn)生一個變體,而是相關(guān)的利益攸關(guān)者是否“看到了”相關(guān)的變體。可以想象一下,假如你買了兩件襯衫,一件是某天買的,另一件是一周之后買的。這兩件是同樣的品牌,同樣的顏色,同樣的剪裁,同樣的尺寸。不過襯衫的區(qū)別是有不同的洗滌標簽,因為制造商在這期間修改了洗滌標簽。但是對于你來說(在這個場景中你是利益攸關(guān)者)這些襯衫是相同的,因為你并不關(guān)心洗滌標簽。接下來,我們想象另一個不同的情景。你為自己買了一件襯衫,為另一個人買了一件不同尺寸的襯衫。在這種情景下,襯衫的尺寸是一個相關(guān)的差異或者說是你關(guān)心的差異,因此,你會認為這兩件襯衫是彼此的變體。
?? 可變性(Variability)
最后一個重要的定義是可變性。可變性描述了具有變化點的資產(chǎn)的可能變化。由于潛在變體的數(shù)量是龐大的,因此通常不可能窮舉出所有可能的變體,故通常借助可變性模型(如特征模型或配置規(guī)則)來描述系統(tǒng)的可變性。
總結(jié)
希望這些定義能讓我們更清楚地了解變體和版本的區(qū)別,以及為什么這種區(qū)別在產(chǎn)品線工程中很重要。如果你想了解更多,請看看我們有關(guān)PLE的其他系列文章。
作者:Danilo Beuche
翻譯:經(jīng)緯恒潤
【產(chǎn)品線工程(PLE)專題】下期預(yù)告:特征模型和特征——這是什么
* 如果您對PLE或pure::variants感興趣,可以通過撥打電話與我們?nèi)〉寐?lián)系,同時還能獲得pure::variants30天的試用申請哦~
工程師必備
- 項目客服
- 培訓(xùn)客服
- 平臺客服
TOP




















