模式怎樣有助于視圖集成?
在文章展開論述時,我們將揭示關于產品訂貨系統更多的細節。雖然,由于篇幅的限制,我們既不能在此表述整個系統,也不能闡述所有的集成技術。相反,如前面提到的,我們將集中于視圖集成時模式承擔的角色上。對應于圖 2 中簡述的三個集成活動,模式支持如下活動(下節將說明例子):
映射
模式支持不同抽象層次的視圖之間的映射(交叉引用)。例如,一個高層框圖指出使用一個已知后來在低層次框圖中實現的模式。這樣,這類模式存在于低層次框圖的知識以及該模式粗略了解(如在[Gamma et al. 1994]和[Buschman et al 1996]中定義)的知識有助于在低層框圖中自動鑒別。
模式也支持不同類型視圖的映射。例如,模式描述經常指定其結構和它們的動態行為。那么,可以在我們的模型中使用這些知識來交叉引用結構化的和動態的信息。
變換
模式應用于變換的方法與它們在映射中的用途類似。對于變換,我們可以把它們用作抽象和轉化。對于抽象,我們意指簡化視圖的處理。例如,如果我們想知道高層視圖和低層視圖是否一致,那么我們需要精煉高層視圖或者抽象低層視圖以使直接比較成為可能。前者不能自動進行,而后者可以。為了抽象視圖,需要確定相關的片段,然后,它們被更加簡單的事物替換。對此,模式是完美的原始資料,因為它們提供哪些片段屬于一起的知識。我們可以使用模式知識抽象低層模式到高層模式(或者對等的單個部件)。
模式也可以如我們在映射中討論的那樣用于靜態與動態結構之間的轉化。既然模式經常用兩種式樣描述,我們可以通過結構推導行為(反之亦然)。這樣,利用模式我們也可以轉化視圖。
分化
如圖 2 中簡述,分化強依賴于映射和變換。這意味著要在視圖中找出不一致性,我們需要確定其建模元素的關系,并且需要找出從一個視圖到另一個視圖變換信息的方法。沒有前一個步驟我們不能知道要比較什么信息,沒有后一步,我們不知道怎樣比較。一旦上述步驟完成,我們可以使用兩個主要技術比較視圖:
(圖形)比較:依靠變換的視圖和原始視圖的對比進行比較。該技術暗示:一個視圖可以保留充分完整的風格變換為另一個視圖。
約束和規則檢查:我們頻繁地發現視圖不能廣泛的變換為另一個視圖,但它的少部分和片段可以。在這種情況下,我們可以使用規則和約束來論述和分析這些片段。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/