資料介紹
軟件的可復用性是人們評價一個軟件系統的重要指標。軟件復用是提高軟件生產效率與質量的一種有效途徑,它可以通過軟件中的可復用構件(reusable component)來實現,即通過集成已有的構件來創建新系統。以領域分析為基礎的特定領域復用(Domain-Specific Reuse)是提高軟件復用水平的重要途經之一。將目標集中在一個特定應用領域中實現軟件復用,從構件的開發到構件的存儲與管理都比較容易。本文對結合面向對象、FODA方法和構件化思想的領域分析方法進行了初步探索,提出了構件化的領域分析方法,從而為在軟件開發的前期階段實現構件化開發,更加有效地實現軟件復用提供了指導。
1 相關理論
1.1 軟件復用
軟件復用是指重復使用“為了復用目的而設計的軟件”的過程。軟件復用是在軟件開發中避免重復勞動的解決方案,其出發點是應用系統的開發不再采用一切“從零開始”的模式,而是以已有的工作為基礎,充分利用過去應用系統開發中積累的知識和經驗,如:需求分析結果、設計方案、源代碼、測試計劃及測試案例等,從而將開發的重點集中于應用的特有構成成分。
與軟件復用相關的兩個基本開發活動是面向復用的開發和基于復用的開發,前者是生產可復用構件的過程,后者是利用現有的可復用構件生產新系統的過程。它們分別對應領域工程和應用工程,處理好它們之間的關系,才能實現真正成功的軟件復用。
1.2 領域工程
領域工程是為一組相似或相近系統的應用工程建立基本能力和必備基礎的過程,它覆蓋了建立可復用的軟件構件的所有活動。其中“領域”是指一組具有相似或相近軟件需求的應用系統所覆蓋的功能區域。
領域工程是創建可復用構件的過程,其核心思想是:應用模式領域化,問題抽象通用化,軟件元素重用化,開發過程工程化。實施領域工程的過程可以分為以下三個主要的階段:
?。?)領域分析:目標是獲得領域模型。
?。?)領域設計:目標是獲得DSSA(特定領域軟件體系結構)。
?。?)領域實現:主要任務是依據領域模型和DSSA開發、組織可重用構件。
需要特別指出的是,領域工程的三個基本階段所描述的過程是一個反復的、逐漸求精的過程。在實施領域工程的每個階段中,都可能返回到以前的步驟,對以前得到的結果進行修改和完善,再回到當前步驟,在新的基礎上實施本階段的過程。
1.3 面向特定領域的軟件開發
與領域工程相對的是開發單個應用系統的軟件工程的過程,稱為應用工程。
在應用工程中,軟件開發人員的任務是針對一組特定的需求產生一組特定的設計和實現。與此相對,在領域工程中,領域工程人員的基本任務是對一個領域中的所有系統進行抽象。領域工程的各個階段主要是對應用工程中相應階段產品的抽象,領域工程又對本領域中新系統的開發提供支持。在CBSE思想的指導下,基于構件的應用工程實際上是構件的組裝過程。構件(Component)是指應用系統中可以明確辨識的構成成分。而可復用構件是指具有相對獨立的功能和可復用價值的構件。隨著對軟件復用理解的深入,構件的概念已不再局限于源代碼構件,而是延伸到需求、系統和軟件的需求規約、系統和軟件的構架、文檔、測試案例和數據以及其他對開發活動有用的信息。這些可復用軟件構件通過領域工程獲得,作為應用工程開發的基本元素。
在開發實際的應用系統時,將領域工程與應用工程相結合,可以快速、有效地開發出用戶滿意的系統。兩者相結合的軟件開發模型如圖1所示。
通過以上討論可以看到,在面向領域的軟件開發過程中,領域模型的建立是軟件開發的基礎。當開發同一領域的新系統時,可根據領域分析確定新應用的需求規約,以此來指導貫穿于整個開發的設計與組裝。因此領域分析的成功與否,對今后的開發具有舉足輕重的作用。領域分析的成功復用,可以從更抽象的層次實現軟件復用。
1.4 領域分析
所謂領域分析(DA)就是在系統分析之前,分析、研究有關應用領域特性的活動。它是發現和記錄某個領域各系統的共性和差異的過程,是系統化、形式化、有效復用的關鍵。通過領域分析,相似系統的公共特性將被提取,適用于該領域所有公共的、基本的對象、操作也將被標志出來,并且可通過定義模型描述它們之間的關系。領域分析的目標就是獲得領域模型。領域模型(Domain Model)是領域中各系統的共同需求的描述。它描述了領域內系統需求上的共性。
1.4.1 FODA方法與特征模型
FODA對領域分析過程進行了完整的描述,特征概念是FODA方法的核心。所謂特征是指系統中的屬性和特點,按特征在領域中的可選性及特征間的相互關系可分為三類:
?。?)強制性特征:必須被選擇的特征。
?。?)可選特征:從0到n個可供選擇的特征。
(3)可替換特征:至少有一個被選擇的特征。
按特征的內容也可分為三類:
?。?)功能相關:系統所作的事情。
(2)環境相關:系統是如何被使用的,變化點的原因。
?。?)表示相關:系統信息是如何被用戶所觀察的或者是如何被相關應用所獲得的。
特征模型通過使用抽象和細化的機制對領域中不同應用的所有特征進行了分類,從而提供了關于領域體系結構和可復用構件的高層視圖。特征模型可作為應用開發者的地圖,當應用開發者面對龐雜的Use Case模型或者其他模型時,特征模型提供了關于哪些是可選的、哪些是可合并的信息。
1 相關理論
1.1 軟件復用
軟件復用是指重復使用“為了復用目的而設計的軟件”的過程。軟件復用是在軟件開發中避免重復勞動的解決方案,其出發點是應用系統的開發不再采用一切“從零開始”的模式,而是以已有的工作為基礎,充分利用過去應用系統開發中積累的知識和經驗,如:需求分析結果、設計方案、源代碼、測試計劃及測試案例等,從而將開發的重點集中于應用的特有構成成分。
與軟件復用相關的兩個基本開發活動是面向復用的開發和基于復用的開發,前者是生產可復用構件的過程,后者是利用現有的可復用構件生產新系統的過程。它們分別對應領域工程和應用工程,處理好它們之間的關系,才能實現真正成功的軟件復用。
1.2 領域工程
領域工程是為一組相似或相近系統的應用工程建立基本能力和必備基礎的過程,它覆蓋了建立可復用的軟件構件的所有活動。其中“領域”是指一組具有相似或相近軟件需求的應用系統所覆蓋的功能區域。
領域工程是創建可復用構件的過程,其核心思想是:應用模式領域化,問題抽象通用化,軟件元素重用化,開發過程工程化。實施領域工程的過程可以分為以下三個主要的階段:
?。?)領域分析:目標是獲得領域模型。
?。?)領域設計:目標是獲得DSSA(特定領域軟件體系結構)。
?。?)領域實現:主要任務是依據領域模型和DSSA開發、組織可重用構件。
需要特別指出的是,領域工程的三個基本階段所描述的過程是一個反復的、逐漸求精的過程。在實施領域工程的每個階段中,都可能返回到以前的步驟,對以前得到的結果進行修改和完善,再回到當前步驟,在新的基礎上實施本階段的過程。
1.3 面向特定領域的軟件開發
與領域工程相對的是開發單個應用系統的軟件工程的過程,稱為應用工程。
在應用工程中,軟件開發人員的任務是針對一組特定的需求產生一組特定的設計和實現。與此相對,在領域工程中,領域工程人員的基本任務是對一個領域中的所有系統進行抽象。領域工程的各個階段主要是對應用工程中相應階段產品的抽象,領域工程又對本領域中新系統的開發提供支持。在CBSE思想的指導下,基于構件的應用工程實際上是構件的組裝過程。構件(Component)是指應用系統中可以明確辨識的構成成分。而可復用構件是指具有相對獨立的功能和可復用價值的構件。隨著對軟件復用理解的深入,構件的概念已不再局限于源代碼構件,而是延伸到需求、系統和軟件的需求規約、系統和軟件的構架、文檔、測試案例和數據以及其他對開發活動有用的信息。這些可復用軟件構件通過領域工程獲得,作為應用工程開發的基本元素。
在開發實際的應用系統時,將領域工程與應用工程相結合,可以快速、有效地開發出用戶滿意的系統。兩者相結合的軟件開發模型如圖1所示。
通過以上討論可以看到,在面向領域的軟件開發過程中,領域模型的建立是軟件開發的基礎。當開發同一領域的新系統時,可根據領域分析確定新應用的需求規約,以此來指導貫穿于整個開發的設計與組裝。因此領域分析的成功與否,對今后的開發具有舉足輕重的作用。領域分析的成功復用,可以從更抽象的層次實現軟件復用。
1.4 領域分析
所謂領域分析(DA)就是在系統分析之前,分析、研究有關應用領域特性的活動。它是發現和記錄某個領域各系統的共性和差異的過程,是系統化、形式化、有效復用的關鍵。通過領域分析,相似系統的公共特性將被提取,適用于該領域所有公共的、基本的對象、操作也將被標志出來,并且可通過定義模型描述它們之間的關系。領域分析的目標就是獲得領域模型。領域模型(Domain Model)是領域中各系統的共同需求的描述。它描述了領域內系統需求上的共性。
1.4.1 FODA方法與特征模型
FODA對領域分析過程進行了完整的描述,特征概念是FODA方法的核心。所謂特征是指系統中的屬性和特點,按特征在領域中的可選性及特征間的相互關系可分為三類:
?。?)強制性特征:必須被選擇的特征。
?。?)可選特征:從0到n個可供選擇的特征。
(3)可替換特征:至少有一個被選擇的特征。
按特征的內容也可分為三類:
?。?)功能相關:系統所作的事情。
(2)環境相關:系統是如何被使用的,變化點的原因。
?。?)表示相關:系統信息是如何被用戶所觀察的或者是如何被相關應用所獲得的。
特征模型通過使用抽象和細化的機制對領域中不同應用的所有特征進行了分類,從而提供了關于領域體系結構和可復用構件的高層視圖。特征模型可作為應用開發者的地圖,當應用開發者面對龐雜的Use Case模型或者其他模型時,特征模型提供了關于哪些是可選的、哪些是可合并的信息。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 設計模式_可復用面向對象軟件的基礎.pdf 0次下載
- 基于面向對象概念格的卸掉集判定定理 3次下載
- 面向過程和面向對象有什么區別
- 面向對象的程序設計總結與過程化程序設計有什么區別? 0次下載
- 實例分析基于構件技術的系統軟件架構 0次下載
- 構件技術的通用自動測試系統軟件設計 0次下載
- RFID領域軟件構件化開發技術研究 22次下載
- 基于面向對象的軟件測試技術研究
- 面向對象軟件自動生成在檢測系統中的應用
- 基于對象Petri網的研究導彈作戰效能評估的方法
- 面向對象的可編程控制器程序設計方法
- 面向對象軟件度量C&K方法的研究與改進
- Java面向對象程序設計教程 0次下載
- 面向對象的參數化CAD二次開發方法研究
- 面向UUT問題域的測試需求分析方法研究
- Objects:為對象類提供對象技術 432次閱讀
- Python中的類和對象詳解 1178次閱讀
- 循環隊列C語言面向對象實現 649次閱讀
- C語言是怎么面向對象編程 1708次閱讀
- 面向對象開發的SOLID五大基本原則 797次閱讀
- 面向對象方法實現IIC驅動封裝以及AT24CXX存儲器的封裝 1490次閱讀
- 基于構件化軟件開發的IEEE802.15.4標準的設計與實現 2399次閱讀
- 使用JavaScript創建對象的方法和案例 2958次閱讀
- UML軟件分析與建模技術在嵌入式指紋門禁系統中的應用研究 1904次閱讀
- RFID領域軟件構件化開發技術你知道嗎 851次閱讀
- 南京紫光基于對象存儲系統的隨機讀寫對象的方法 3336次閱讀
- 這可能是Python面向對象編程的最佳實踐 2695次閱讀
- 史上最全Python面向對象編程的資料合集 3184次閱讀
- 基于嵌入式實時系統的提高構件化嵌入式操作系統性能的方案設計 850次閱讀
- 面向對象設計之定義領域服務 1072次閱讀
下載排行
本周
- 1TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 2開關電源基礎知識
- 5.73 MB | 6次下載 | 免費
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設計
- 0.60 MB | 3次下載 | 免費
- 5基于FPGA的光纖通信系統的設計與實現
- 0.61 MB | 2次下載 | 免費
- 6基于FPGA的C8051F單片機開發板設計
- 0.70 MB | 2次下載 | 免費
- 751單片機窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費
- 8基于51單片機的RGB調色燈程序仿真
- 0.86 MB | 2次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33564次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21548次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6653次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537796次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191185次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183278次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多