作為DARPA的DSSA計畫的一部分,Will Tracz在DSSA-ADAGE項目中提出了DSSA領域工程方法,與基於構架的系統開發過程相配合,套用於航空電子設備自動導航領域。
基本介紹
- 中文名:特定域軟體體系結構
- 外文名:domain-specific software architecture
- 屬於:DARPA的DSSA計畫的一部分
- 套用於:航空電子設備自動導航領域。
- 主要方式:領域工程師與領域專家的會談
簡介,準備工作,經歷階段,
簡介
在DSSA方法中,進行領域工程的主要方式是領域工程師與領域專家的會談,其中領域專家要就領域工程師提出的一系列問題進行報告,領域工程師對這些報告進行綜合和整理,然後與領域專家一起對結果進行複審。
DSSA的領域工程過程是並發的(concurrent)、遞歸的(recursive)和疊代的(iterative)。或者可以說,它是螺旋型的(spiral)。完成這個過程可能需要對每個階段都經歷幾遍,每次增加更多的細節。對每個階段的描述中包括一組需要回答的問題,一組需要的輸入,一組將產生的輸出和驗證準則。
該方法分為五個主要階段,在此之前還需要進行一些準備工作。其中前三個階段集中於領域分析,即顯式地把握領域特定的知識,這些知識時常被領域專家看作普通的知識。後兩個階段處理DSSA的設計、分析以及實現。
準備工作
在與領域專家會談之前,領域工程師應儘可能熟悉該領域。理想情況下,領域工程師應對該領域具有一定經驗。領域工程師應對DSSA方法指南中的問題回答有一定的想法,以便在會談過程中誘導領域專家的答案,或者由領域專家對這些想法進行確認。領域工程師要確定DSSA方法的指南文檔中哪些問題是與本次領域工程相關的,並對指南中的領域工程過程進行相應的裁剪。領域工程師還要理解本次領域工程所要達到的目標和實施這項工作的原因。
經歷階段
第一個階段――定義領域分析的範圍
本階段集中於在感興趣的領域之內有哪些事物。本步驟的輸出包括感興趣的領域與其它領域間的關係圖、領域中套用的用戶的需求列表、作為信息源的人的列表、作為信息源的項目的列表。
第二個階段――定義特定於領域的元素並限制範圍
本階段的目標是編輯特定於領域的術語字典和同義詞詞典。在高級別塊圖的基礎上,增加更多的細節,其中重點是在領域中的套用之間識別共同性,分離差異性。應特別重視對領域中的基本元素進行標準化和分類。
第三個階段――定義和精化特定於領域的設計和實現約束
DSSA方法的一個特色是區別“需求”和“約束”。在DSSA方法中,“需求”描述一組在問題空間中的特性。“約束”描述一組在解空間中的特性。本階段的目標是描述解空間中的特徵。不但要識別約束,而且要記錄它們對設計和實現決定的影響,以及對處理它們時產生的問題的討論。
第四個階段――開發領域構架/模型
本階段的目標是提出一般的構架,並說明構成構架的模組或構件的語法和語義。為滿足前面識別的需求和約束,在一個套用領域中可能需要設計幾個DSSA。
第五個階段――產生或蒐集復用產品
本階段的目標是為DSSA充實構件使得它可以被用來產生問題域中的新套用。參與這個階段的領域專家是開發過這個領域中套用的軟體工程師。他們最適合識別現有的可復用構件,或可以作為產生可復用構件的基礎的構件。