軟體複用技術綜述
1 引言
1.1 基本概念
軟體複用是指重複使用"為了複用目的而設計的軟體"的過程 [Tracz 95].相應地,可複用軟體是指為了複用目的而設計的軟體.與軟體複用的概念相關,
傳統產業的發展,其基本模式均是符合標準的零部件(構件)生產以及基於標準構件的產品生產(組裝),其中,構件是核心和基礎,"複用"是必需的手段.
1.2 複用意義
軟體複用是在軟體開發中避免重複勞動的解決方案,其出發點是應用系統的開發不再採用一切"從零開始"的模式,而是以已有的工作為基礎。
1.3 關鍵因素
軟體複用有三個基本問題,一是必須有可以複用的物件,二是所複用的物件必須是有用的,三是複用者需要知道如何去使用被複用的物件.軟體複用包括兩個相關的過程:可複用軟體(構件)的開發(Development for Reuse)和基於可複用軟體(構件)的應用系統構造(整合和組裝)(Development with Reuse).解決好這幾個方面的問題才能實現真正成功的軟體複用.
2 軟體複用的核心技術--軟體構件技術
到了80年代,面向物件重新崛起,面向物件的認識論是將系統看成由多個物件組成,通過物件之間的通訊形成了系統,為客觀世界過渡到軟體系統提供了途徑和程式設計的思維方法.
概念
構件(component)簡單地說是可複用的軟體組成成份,可被用來構造其他軟體.構件(Component)是指應用系統中可以明確辨識的構成成分.
2.1 構件模型和構件描述語言
研究構件軟體的兩個核心是:如何提取可複用構件以及如何組裝成系統並能實現互操作.
"3C"模型是學術界普遍認同的一個具有指導性的構件模型.該模型從概念(concept),內容(content)和語境(context)三個不同方面來描述構件:
概念 - 關於"構件做什麼"的抽象描述,可以通過概念去理解構件的功能.概念包括介面規約和語義描述兩個部分;
內容 - 概念的具體實現,描述構件如何完成概念所刻劃的功能;
語境 - (使用說明)構件和外圍環境在概念級和內容級的關係.語境刻劃構件的應用環境,為構件的選用和適應性修改提供指導.
3 複用的其它相關技術
3.1 領域工程
從軟體開發過程的角度看,有關軟體複用的問題可以分為兩類,一類是關於面向複用的開發(Development for Reuse),另一類是關於基於複用的開發(Development with Reuse).第一類問題主要是關於如何產生具有較高可複用性的構件或生成過程,第二類問題包含三個方面,即:如何找到可複用構件,如何判斷可複用構件是否符合當前需要,以及如何對可複用構件進行適應性修改 [Mili 95].
3.2 軟體構架
Client/Server,分層的體系結構(Layered),分散式物件計算(Distributed Object Computing),管道和過濾器(Pipe & Filter),黑板系統(Blackboard)等都是廣泛使用的軟體構架風格.
https://blog.csdn.net/yzhsuper/article/details/1875304