1、如何理解構件
按照書本上說,構件是可預製、可重用的軟件構造體,可以是模塊、子系統甚至系統,猶如建築中的預製板、預製樑、隔離牆等預先在工廠中做好的、可以用在一些建築中的構造體。可預製,就是事先做好的;可重用就是可以在不同的系統中使用。例如登錄/註冊模塊可以在很多軟件系統中使用,電子商務中的客戶、商品和訂單模式就是該領域軟件體系結構中的構件。同樣地,在每一個應用領域中使用軟件系統,都存在若干構件。
所以理解構件就要記住它地兩大特徵:事先做好,可以重複使用的。軟件開發歷經幾十年的實踐,已經到了採用"搭積木"的方式構造軟件系統的階段。這些或大或小的“軟件積木”,其中有些就是構件。面向服務體系結構中的服務組件構件就是採用搭積木的方式構建軟件系統。
2、概念
可重複的軟件元素:
程序代碼、測試用例、設計文檔、設計過程、需求分析、領域知識等。
可重用構件:
語義完整、語法正確和有重用價值的單位軟件。
粒度:
可重用軟件元素的大小
3、屬性
(1)有用性:構件必須提供有用的功能
(2)可用性:構件必須易於理解和使用
(3)質量:構件及其變形必須能正確工作
(4)適應性:構件應該易於通過參數化等方式在不同的語境中進行配置
(5)可移植性:構件能在不同的硬件運行平臺和軟件環境中工作。日曆、工作流構件、訂單構件、用戶界面控制等等都可以是構件。
4、構件的獲取途徑
1、在現有的構件中搜尋,直接使用或修改後使用
2、通過遺留工程,將有重用價值的構件重用後使用
3、從市場上購買現成的商業構件
4、開發新構件
5、優勢和不足
優勢:降低開發成本,縮短開發時間。
不足:兼容性、獨創性缺失從而競爭力下降。