正文 基於組件的軟件產品線方法(1 / 3)

基於組件的軟件產品線方法

技術廣角

作者:楊正武

摘要:軟件產品線方法通過在軟件開發的各個階段引入不同重量級別的重用,可使軟件產品開發如同在流水線上批量生產工業產品,一方麵軟件產品的成本可以大幅降低,另一方麵軟件產品的生產周期可以大大縮短,同時其質量也可以得以顯著提高[1]。基於軟件產品線驅動的現代組件技術,把軟件產品開發過程劃分為塑造空間和創建空間,以行業組件框架為核心支撐,開發出一係列軟件產品。

關鍵詞:組件;軟件產品線方法;行業組件框架;塑造空間;創建空間

中圖分類號:TP311.11 文獻標誌碼:A 文章編號:1006-8228(2013)09-08-02

0 引言

當前市場所需要的是大量高品質、低成本和快速應用的軟件產品,傳統的軟件企業采用的生產方式低效、落後,是不可能滿足這些要求的。應用軟件產品如同實物產品非常豐富而又千差萬別,需要有不同行業的企業產品線來生產。軟件產品線驅動著現代軟件企業的形成,分析軟件生產線方法與技術對於軟件企業發展有積極和重要的現實意義。

1 軟件生產線的內容及作用

產品線需要把產品生產分成若幹過程,每一個過程基於相同生產工藝和方法,對同一和相似的產品進行生產和加工。工業化的產品線還需要有一個具有統一標準的平台和零部件,統一標準零部件不僅可以來自於軟件企業自身,也可來自於軟件市場。基於產品線的行業業務組件方法中的產品線,是指軟件企業的工業化產品線。在軟件開發過程中將各種級別的重用引入到產品線,是其他工程學科一直都在追求而又能夠達到的目標,但在軟件工程學中卻往往不盡如人意。然而,在過去的幾年裏,一些新的軟件開發範型的出現徹底改變了這種狀況,使得軟件工程能夠在工程學科這個大家族中找到一席之地。其中最引人注目的就是基於組件的軟件開發和產品線工程。按照粒度從小到大排序,一端是組件——即能快速簡單地組裝成新係統的可重用的軟件組件塊,另一端是產品線工程——即在單一的可高度重用的軟件核心內,將產品中一定結構範圍內的所有公共部分合並[1]。

軟件產品線工程要求是以高度重用的方法及工具形成該軟件產品線的生產階段及相關設備,把產品中一定結構範圍內的所有公共部分合並為單一的可高度重用的軟件核心基礎,並根據需求來生產個別具體的產品。這要求一條軟件產品線的產品從內容上能做到最大化的相同性或相似性,從軟件開發的生產終端作出了約束性要求。軟件開發是基於一個具體、個別的軟件,而軟件產品線是基於一個共性的基礎上的批量軟件;軟件開發的主體往往是科研機構和團隊,而軟件產品線的主體是現代軟件企業;軟件開發的目的是軟件本身,而軟件產品線的目的是企業或團體的應用。因此,軟件開發不需要考慮過多的軟件成本和產生軟件的過程的方法成熟度,而軟件產品線要充分考慮軟件成本和產生軟件的過程的方法成熟度。

2 軟件生產線方法的組件技術及方法

軟件生產線方法涵蓋了軟件開發方法,但它需要底層技術和方法支撐,組件技術及方法就屬於後者,軟件生產線方法在空間上具有最大跨度,從軟件企業的生產線直至具體的軟件產品,它也需要組件技術及方法來聯接。組件是一種軟件實體。組件是僅由指定接口和上下文依賴關係所構成的單元。組件具有:服務性、可部署性、合成性、上下文依賴性四種基本性質,它決定了組件與其他軟件實體:對象、函數等的區別[2]。目前,主要的軟件公司所用開發工具均支持組件,所推出的組件模型又各有特色。已有的組件模型包括Microsoft的COM+、Sun的Java Beans和Enterprise Java Beans,以及OMG的CORBA組件標準。根據組件及其基本性質,形成新的軟件開發方法——組件方法[3]。組件方法的特征有以下。