軟件構件技術
— 筆記整理自 北京理工大學 計算機學院
構件化開發案例
- 大連路隧道監控系統開發
- 工期9個月,代碼29:35.85,效率提高5.2倍
- 大量複用成熟構件
- XCOM2.0實時通訊中間件
- MultiLink1.9 PLC通訊中間件
- ePass1.2授權認證中間件
- BSMQ2.0消息隊列
- VFC1.2畫面框架
- CTCS1.0城市交通指揮
- Call Center 2.0呼叫中心
複用的成功與失敗
- 成功複用的場景
- 在較小的特定領域
- 在理解充分的領域
- 當領域知識變動緩慢時
- 當存在構件互聯標準時
- 市場規模和技術規模形成
- 失敗複用的主要原因
- 缺乏對複用的管理支持
- 沒有複用激勵措施
- 沒有強調複用問題的規程或過程
- 沒有足夠的可複用資源
- 沒有良好的分類模式,使得構件查找比較困難
- 沒有構件庫支持和控制複用
- 構件庫中的構件沒有良好的接口
可複用構件屬性
- 有用性:構件必須提供有用的功能
- 可用性:構件必須易於理解和使用
- 質量:要求構件及其延伸構件必須能夠正確的工作
- 適應性:要求構件應該能夠通過參數化等方式在不同的語境中進行配置
- 可移植性:構件應該能夠在不同硬件平臺和軟件環境下正常工作
軟件構件模型
- 軟件構件模型是對軟件構件本質特徵的抽象描述,是對開發可重用軟件構件和構件之間相互通信標準的描述
- 構件模型由構件和其容器構成
- 容器爲構件提供通信和關聯的規範
- 與構件部署/實現相關模型
- 幫助人們決定如何使用某種程序設計語言或以某種可執行單元的形式來實現構件,這類模型也被稱爲基礎設施模型
- 與構件規約/組裝相關模型
- 描述構件的規約和目標,說明構件可以對外提供哪些功能, 構件需要外界對它提供哪些功能, 構件用於哪種語境,構件如何被定製等
- 與構件分類/描述相關模型
- 這類模型以綜合的方式來描述構件,用於管理大量的靜態構件,使得構件易於被用戶所理解,易於在構件庫中有效的進行分類,存儲和檢索
- 本質上來說,這類模型就是構建庫的信息模型
典型構件模型
- CORBA公共對象請求架構
- 分佈式對象機制
- 提供公共服務規範
- CCM構件開發模型
- EJB企業級JavaBean模型
- JavaBean
- EJB
- RMI
- COM構件對象模型
- OLE,COM,ActiveX,DCOM,COM+
CBSD開發方法
- 需求分析和構件的評選
- 構件的剪裁和擴展
- 構件的測試
- 構件的裝配和集成
- 應用系統的部署
- 系統的演化
青鳥軟件生產線示例
- 青鳥工程經歷了國家的4個五年計劃
- 研究開發具有自主知識產權的軟件工程環境
- 爲軟件產業提供基礎設施:工具,平臺,環境
- 以手工作坊式轉向爲計算機輔助式,提高軟件開發效率,改善軟件產品質量
- 採用面向對象技術,研究基於構建和構建模式的軟件生產技術
- 制定了符合國情的,國際兼容的青鳥構件標準規範
- 支持專業化的構件生產,架構開發
- 提供強有力的構件庫的管理
- 採用基於構件架構複用的應用系統集成技術
- 爲軟件開發組織提供組織,管理,技術,支撐,四位一體的支持
- 上圖可分爲左中右三部分
- 左邊的主要活動是生產構件
- 右邊的是生產構架
- 中間的是根據需求使用構架和構件組裝成應用系統
構件的標準化
- 標準化是產業化的必由之路
- 硬件的標準化已經成功了
- 軟件標準化的關鍵因素
- 標準構件的生產
- 構件的複用
構件庫
- 構建國家級構件庫的重要性
- 構件相關信息
- 構件的語義描述:描述構件功能和用途
- 構件的分類:類型,包括類,類庫,框架,模塊等等
- 構件的形態
- 構件的技術環境:開發工具,方法,部署環境等
- 構件的形式:源代碼,二進制代碼等等
- 構件的狀態:版本,歷史等時間相關的屬性
- 構件的操作
- 添加、檢索及管理
軟件構件技術研究內容
- 構件獲取:生產與提取
- 構件模型:構件特徵與構件間關係
- 構件描述語言:構件描述
- 構件分類與檢索:構件庫管理
- 構件複合組裝:組裝機制
- 標準化:構件和構件庫標準化