複製鏈接
請複製以下鏈接發送給好友

領域工程

鎖定
領域工程是在構造一個特定領域內的系統或者系統的某些部分時,以可重用方面的形式(也就是説,可重用的工作產物),收集、組織並保存過去的經驗的活動,以及在構造新系統時,提供一種充分的方法來重用這些資源(也就是説,獲取、限定、改造、裝配等等)。
中文名
領域工程
外文名
Domain Engineering
目    的
對特定領域中可複用成分的分析等
實施原則
可複用信息的領域特定性等
組    成
領域分析、領域設計和領域實現
學    科
軟件術語

領域工程簡述

作為軟件複用的核心技術之一。領域工程的主要目的是實現對特定領域中可複用成分的分析、生產和管理。領域工程的萌芽可以追溯到Parnas在1976年提出的“程序家族”(ProgramFamily)的概念。其基本思想是把一組具有顯著共性的程序作為一個整體(或家族)並對其共性進行分析;其動機則是為了簡化一組相似程序的開發和維護問題。後來,Neighbors在其博士論文中明確提出了“領域分析”的概念,用來指代“識別特定問題域中一組相似系統所包含的對象和操作的活動”。他還對領域分析和(軟件)系統分析這兩種活動進行了對比,提出了“領域分析員”的概念,並分析了在軟件複用活動中領域分析的必要性和可行性。 [1] 

領域工程實施原則

對領域工程的研究和實施主要基於以下兩個基本原則:
1.可複用信息的領域特定性
可複用性不是信息的一種孤立的屬性,它依賴於特定的問題和特定問題的解決方法,即我們説某信息具有可複用性,是指當使用特定的方法解決特定的問題時,它是可複用的。基於這一基本認識,在識別、獲取和表示可複用信息時,它採用面向領域的策略。
2.問題領域的內聚性和穩定性
人們長期以來觀察的結果表明,在現實世界特定的領域中,問題的解決辦法具有充分的內聚性和穩定性,這是獲得和表示這些知識的前提和基礎。基於此,使得人們可以通過一組有限的、相對較少的可複用信息來把握解決大量問題的知識。領域的穩定性,使得獲取和表示這些信息所付出的代價,可以通過在一段較長的時間內多次複用它們來得到補償。
從領域工程和應用工程的關係來看,領域工程的實施還需要遵循以下原則:
(1)來源於應用工程,服務於應用工程。
(2)將隱式的知識顯式地表達出來。
(3)建立和維護可追蹤性。
(4)過程的迭代性和逐漸精化性。 [2] 

領域工程工程階段

領域工程過程的5個階段分別如l下。
(1)定義領域範圍:本階段的重點是確定什麼在感興趣的領域中以及本過程到何時結束。這個階段的一個主要輸出是領域中的應用需要滿足的一系列用户的需求。
(2)定義領域特定的元素:本階段的目標是編譯領域字典和領域術語的同義詞詞典。存領域工程過程的前一個階段產生的商層塊圖將被增加更多的細節,特別是識別領域中應用間的共同性和差異性。
(3)定義領域特定的設計和實現需求約束:本階段的目標是描述解空間有差別的特性。不僅要識別出約束,並且要記錄約束對設計和實現決定造成的後果,要記錄對處理這螳問題時產生的所有問題的討論。
(4)定義領域模型和構架:本階段的目標是產生一般的構架,並説明構成它們的模塊或構件的語法和語義。
(5)產生、蒐集可複用產品:本階段的目標是為DSSA增加構件使得它可以被用來產生問題域中的新應用。 [3] 

領域工程組成

領域工程由3個過程組成:領域分析、領域設計和領域實現,而領域模型、DSSA和領域構件是它們相應的產品,即可複用資產。可複用資產由領域工程團隊負責生產、維護和分類,具體包括:
1、領域分析。這個任務在於通過定義應用領域、分析應用領域來確定是否值得為該領域的應用系統進行定性、廣泛、深入地分析,然後對該領域的這些應用系統的相同點和可變點進行分類,以便確定在這個領域進行開發所需的開銷。
2、領域設計。如果領域分析階段結束,則領域工程團隊應該開始構建支持領域應用系統開發所需的複用基礎設施。這包括通用體系結構、結構上的共同點,以及可複用資產的規格説明。該規格説明的重點是規定資產如何匹配體系結構,如何通過參數化適應在領域分析階段確定的可變點的協議。
3、資產獲取。這個階段包括針對複用的開發,可能還包括某些可複用資產,諸如COTS產品的外部採購。複用的開發不同於傳統的軟件開發,這是因為其需要滿足通用性、可靠性和可維護性。可見覆用的開發成本要顯著增加。
4、資產分類。資產分類是指數據庫的管理,包括分類和存儲可複用資產,以便應用工程團隊檢索和評估等。
5、資產維護。資產維護是指與配置管理和版本控制任務結合在一起,主要是構件的更正性維護和完善性維護,使用這些構件的應用系統可能也會受到影響,甚至需要修改。 [4] 
參考資料
  • 1.    劉中華,鄭毅平主編;馮永政等副主編.現代軟件工程模型及方法探析:中國水利水電出版社,2015.07
  • 2.    張永恆,艾曉燕主編;劉紅霞,楊斐,吳敏寧,張慧副主編.軟件工程原理及應用:中國水利水電出版社,2013.05
  • 3.    周麗娟,王華,張樹東編著.軟件工程實用教程:清華大學出版社,2016.03
  • 4.    王映輝編著.軟件構件與體系結構-原理、方法與技術:機械工業出版社,2009.09