《軟件產(chǎn)品線工程》從一個軟件產(chǎn)品線工程框架出發(fā),闡述了與特定領(lǐng)域軟件產(chǎn)品開發(fā)有關(guān)的領(lǐng)域工程和應(yīng)用工程過程。介紹了過程申產(chǎn)生的各種工件、產(chǎn)品線可變性及其管理,以及兩個工程過程之間通過不變與可變性所建立的聯(lián)系。書申還包括與軟件產(chǎn)品線有關(guān)的組織、管理及如何向軟件產(chǎn)品線轉(zhuǎn)變等內(nèi)容。書中強調(diào)了軟件產(chǎn)品線工程的基本原理、實踐特點以及與單一系統(tǒng)開發(fā)的區(qū)別。尤其難得的是,為方便讀者理解,書中在各章中使用了同一個產(chǎn)品來講述具體的實例。
《軟件產(chǎn)品線工程》的作者為業(yè)內(nèi)資深專家。全書結(jié)構(gòu)嚴(yán)謹(jǐn)、條理清晰、圖文并茂,是介紹軟件產(chǎn)品線的優(yōu)秀著作!盾浖a(chǎn)品線工程》的讀者為軟件開發(fā)人員、測試人員、軟件產(chǎn)品線研究者與大專院校師生。
1.軟件產(chǎn)品線工程
你對以低成本、快速生產(chǎn)出高質(zhì)量的軟件產(chǎn)品或軟件密集型的系統(tǒng)感興趣嗎?如果是,那你手里拿的正是這樣的一本書。
軟件產(chǎn)品線工程已經(jīng)被證明是以低成本,短時間,生產(chǎn)高質(zhì)量、多樣性的軟件產(chǎn)品或軟件密集型系統(tǒng)的一種方法。大量的報告顯示了軟件業(yè)在引入軟件產(chǎn)品線后所取得的巨大的成就和寶貴經(jīng)驗。本書第21章總結(jié)了某些案例。
關(guān)于術(shù)語,“軟件產(chǎn)品家族”和“軟件產(chǎn)品線”的意義相同。然而在歐洲,前者使用得更多;在北美,后者用得較多。關(guān)于這一點,在兩個會議的名稱上也得到反映:其一是2000年始于美國的軟件產(chǎn)品線年會,另一個是1996年始于歐洲的軟件產(chǎn)品家族系列年會(PFE);后來,于2004年合并為著名的軟件產(chǎn)品線(SPLC)年會。
在本書中,我們使用軟件產(chǎn)品線這一術(shù)語。
2.本書的讀者
本書是為對軟件產(chǎn)品線工程原則感興趣的人準(zhǔn)備的,它詳細(xì)闡述了軟件產(chǎn)品線工程的基礎(chǔ),提供了基于經(jīng)驗的關(guān)于兩個主要過程(領(lǐng)域工程、應(yīng)用工程)的知識,定義了可變性與可變性的管理。
Klaus Pohl教授是杜依斯堡一埃森大學(xué)的全職教授,領(lǐng)導(dǎo)著一個軟件系統(tǒng)工程研究團隊。他從德國亞琛工業(yè)大學(xué)獲得博士學(xué)位。他參與了各種各樣的技術(shù)轉(zhuǎn)讓項目和一些關(guān)注軟件產(chǎn)品線工程各個方面的重要項目。
博士是西門子公司的一位項目經(jīng)理。他在1976年從斯圖加特大 學(xué)獲得數(shù)學(xué)博士學(xué)位。從1999年開始,他領(lǐng)導(dǎo)了多個軟件產(chǎn)品線項目。在此之前,他的 工作經(jīng)歷包括仿真、建模、系統(tǒng)評估、處理器架構(gòu)與設(shè)計、并行、軟件工程和系統(tǒng)工程。
Frank van der Linden博士從1999年開始在飛利浦醫(yī)療系統(tǒng)公司工作。
Gunter Bockle博士是西門子公司的一位項目經(jīng)理。他在1976年從斯圖加特大學(xué)獲得數(shù)學(xué)博士學(xué)位。從1999年開始,他領(lǐng)導(dǎo)了多個軟件產(chǎn)品線項目。在此之前,他的工作經(jīng)歷包括仿真、建模、系統(tǒng)評估、處理器架構(gòu)與設(shè)計、并行、軟件工程和系統(tǒng)工程。
第一部分 引言
第1章 軟件產(chǎn)品線工程介紹
1.1 產(chǎn)品線工程的原則
1.1.1 大規(guī)模定制
1.1.2 平臺
1.1.3 將基于平臺的開發(fā)和大規(guī)模定制相結(jié)合
1.2 定制產(chǎn)品的工程化
1.2.1 創(chuàng)建平臺
1.2.2 引入靈活性
1.2.3 公司的重新組織
1.3 產(chǎn)品線工程的動機
1.3.1 降低開發(fā)成本
1.3.2 提高質(zhì)量
1.3.3 縮短上市時間
1.3.4 其他動機
1.4 軟件產(chǎn)品線工程
1.4.1 定義
1.4.2 軟件平臺
1.4.3 前提條件
第2章 軟件產(chǎn)品線工程框架
2.1 引言
2.2 兩個開發(fā)過程
2.3 過程框架概述
2.4 領(lǐng)域工程
2.4.1 產(chǎn)品管理
2.4.2 領(lǐng)域需求工程
2.4.3 領(lǐng)域設(shè)計
2.4.4 領(lǐng)域?qū)崿F(xiàn)
2.4.5 領(lǐng)域測試
2.4.6 其他軟件質(zhì)量保證技術(shù)
2.5 領(lǐng)域工件
2.5.1 產(chǎn)品路線圖
2.5.2 領(lǐng)域變化模型
2.5.3 領(lǐng)域需求
2.5.4 領(lǐng)域架構(gòu)
2.5.5 領(lǐng)域?qū)崿F(xiàn)工件
2.5.6 領(lǐng)域測試工件
2.6 應(yīng)用工程
2.6.1 應(yīng)用需求工程
2.6.2 宜用設(shè)計
2.6 ‘3宜用實現(xiàn)
2.6.4 應(yīng)用測試
2.7 應(yīng)用工件
2.7.1 應(yīng)用變化模型
2.7.2 應(yīng)用需求
2.7.3 應(yīng)用架構(gòu)
2.7.4 應(yīng)用實現(xiàn)工件
2.7.5 應(yīng)用測試工件
2.8 在本書中框架的角色
第3章 住宅自動化領(lǐng)域的例子
3.1 智能住宅基礎(chǔ)設(shè)施
3.1.1 目標(biāo)
3.1.2 利益相關(guān)者
3.1.3 智能住宅和傳統(tǒng)住宅的區(qū)別
3.2 住宅自動化系統(tǒng)的構(gòu)建模塊
3.2.1 傳感器和激勵源
3.2.2 智能控制設(shè)備
3.2.3 住宅網(wǎng)關(guān)
3.2.4 網(wǎng)絡(luò)
3.2.5 住宅自動化領(lǐng)域的標(biāo)準(zhǔn)
3.3 例子
3.3.1 系統(tǒng)功能
3.3.2 一個簡單的系統(tǒng)配置
3.3.3 系統(tǒng)構(gòu)件交互
3.4 智能住宅應(yīng)用的軟件可變性
3.4.1.變性的例子
3.4.2 可變性的原因
3.5 本書中住宅自動化領(lǐng)域的角色
第二部分 產(chǎn)品線可變性
第4章 可變性原則
4.1 引言
4.2 變化主題和變化對象
4.3 軟件產(chǎn)品線工程中的可變性
4.3.1 變化點
4.3.2 變量
4.3.3 定義變化點和變量
4.3.4 軟件產(chǎn)品線的可變性
4.4 時間可變性和空間可變性的對比
4.5 內(nèi)部可變性和外部可變性
4.5.1 存在外部可變性的原因
4.5.2 存在內(nèi)部可變性的原因
4.5.3 內(nèi)部可變性和外部可變性的判定
4.5.4 可變性金字塔
4.6 正交變化模型
4.6.1 可變性的清晰描述
4.6.2 正交可變性定義
4.6.3 變化點、變量和可變性依賴
4.6.4 可替代選擇
4.6.5 可變性約束
4.6.6 變化模型和其他開發(fā)工件之間的追蹤關(guān)系
4.6.7 圖形標(biāo)記
4.6.8 例子
4.6.9 術(shù)語的使用
4.7 處理變化模型中的復(fù)雜性
4.8 與單一系統(tǒng)工程的差別
4.9 總結(jié)
第5章 需求工件的可變性描述
5.1 引言
5.2 描述需求
5.2.1 基于模型的和文本格式的需求描述
5.2.2 需求工件
5.2.3 目標(biāo)和特征
5.2.4 用例和場景
5.2.5 傳統(tǒng)的需求模型、
5.3 文本格式的需求中的可變性
5.3.1 在文本格式的需求中定義可變性
5.3.2 用XML描述可變性
5.4 需求模型中的可變性
5.4.1 特征模型中的可變性
5.4.2 用例模型中的可變性
5.4.3 傳統(tǒng)需求模型中的可變性
5.5 變化模型和需求工件之間的追蹤
5.6 與單一系統(tǒng)工程的區(qū)別
5.7 總結(jié)
第6章 設(shè)計工件的可變性描述
6.1 引言
6.2 架構(gòu)工件
6.3 參考架構(gòu)
6.4 開發(fā)視圖中的可變性
6.4.1 子系統(tǒng)和層
6.4.2 構(gòu)件
6.4.3 接口的作用
6.4.4 配置
6.5 處理視圖中的可變性
6.6 代碼視圖中的可變性
6.7 與單一系統(tǒng)工程的差別
6.8 總結(jié)
第7章 實現(xiàn)工件可變性描述
7.1 引言
7.2 詳細(xì)設(shè)計工件
7.3 構(gòu)件接口可變性
7.3.1 算法和協(xié)議的可變性
7.3.2 資源的可變性
7.3.3 應(yīng)用配置的可變性
7.3.4 多個構(gòu)件提供接口
7.4 內(nèi)在的構(gòu)件可變性,
7.5 與單一系統(tǒng)工程的區(qū)別
……
第8章 測試工作的可變性描述
第三部分 領(lǐng)域工程
第9章 產(chǎn)品管理
第10章 領(lǐng)域需求工程
第11章 領(lǐng)域設(shè)計
第12章 領(lǐng)域?qū)崿F(xiàn)
第13章 領(lǐng)域測試
第14章 高層COTS構(gòu)件選擇
第四部分 應(yīng)用工程
第15章 應(yīng)用需求工程
第16章 應(yīng)用設(shè)計
第17章 應(yīng)用實現(xiàn)
第18章 應(yīng)用測試
……
產(chǎn)品管理的目標(biāo)是將產(chǎn)品的開發(fā)、生產(chǎn)和銷售相結(jié)合,生產(chǎn)滿足客戶需求的產(chǎn)品,進(jìn)而為企業(yè)的成功做出重要貢獻(xiàn)。產(chǎn)品管理在軟件工程全過程中貫徹企業(yè)的目標(biāo)。因此,它對需求工程、設(shè)計、實現(xiàn)和測試都會產(chǎn)生影響。與產(chǎn)品管理緊密相關(guān)的子過程和工件如圖9-1所示中高亮部分所示。
對于軟件產(chǎn)品線工程框架來說,產(chǎn)品管理過程產(chǎn)生的主要結(jié)果是產(chǎn)品路線圖。請注意,在前面出現(xiàn)的框架圖中并未標(biāo)出路線圖,這是因為產(chǎn)品管理沒有與之對應(yīng)的常規(guī)意義上的開發(fā)工件(2.5.1節(jié))。產(chǎn)品路線圖是在給定的時間點上,對產(chǎn)品線的未來情況做出盡可能長遠(yuǎn)的預(yù)計。它定義了產(chǎn)品線中所有產(chǎn)品線應(yīng)用的主要通用和可變特征,以及向客戶提供某特定類型應(yīng)用的進(jìn)度表和上市時間。產(chǎn)品路線圖里定義的特征直接影響著領(lǐng)域需求工程和應(yīng)用需求工程。
領(lǐng)域需求工程和應(yīng)用需求工程必須與產(chǎn)品路線圖中描述的特征相一致。領(lǐng)域需求工程提供可重用需求工件,應(yīng)用需求工程為特定應(yīng)用創(chuàng)建需求工件,而這些應(yīng)用正是由產(chǎn)品路線圖所規(guī)劃的。下面各節(jié)主要描述產(chǎn)品管理和其他相關(guān)子過程之間的信息流,如圖9-2所示。