背景:航空公司為了確保飛行路線不發生沖突,需要開發一款飛行路線管理軟件。
過程:我們先去找這個領域的專家,自然是作為平時管理和維護機場飛行秩序的工作人員;我們第一個目標就是與他們溝通,也許我們并不能從中獲取所有想要的知識,但至少可以篩選出主要的內容和元素。你可能會聽到諸如“起飛”,“著陸”,“飛行沖突”,“延誤”等領域名詞。
建模:我們開始建模,從一個簡單的模型示例開始:
起點
->飛機
->終點
這個模型很直接,我們可以繼續優化,起點
和終點
?兩個領域名詞都是某個具體的地點
。
優化后的模型:
飛機
?->?地點
(含起點
和終點
)
飛機
飛行的起點
和終點
?成對出現,起點
和終點
構成一條飛行路線。
繼續優化模型:
飛機
->路線
->地點
(含起點
和終點
)
這樣我們就得到3個基本的領域對象:飛機
?路線
?地點
。
我們可以看出領域建模就是通過與領域專家溝通,從中提煉必要的領域元素,不斷優化領域模型,建立領域知識的過程。