準則: 利用 UML 建置 Web 應用程式
這個準則將使用案例分析向前推進,進入 Web 應用程式的設計。
關係
相關元素
主要說明

參照

下列書籍和文件是這些準則的參考資料:

詳述使用案例分析

這和您在作業:使用案例分析中看到的不同事情,是界限類別會更專注於單一目的。這些類別的物件生命都很短,任何用戶端狀態(在網頁中)都必須由特定機制來明確管理。例如,Microsoft Active Server Pages 會利用 "cookies" 來作為目前所有主動式的用戶端的狀態對映索引。

另外,當您閱讀使用案例的規格時,也適用下列各項:

  • 當提及網頁時,轉換成界限類別。 
  • 當提及超鏈結時,轉換成從界限類別到另一個界限類別或控制器類別的關聯。 
  • 程序的動詞或說明往往對映到控制器類別。 
  • 名詞對映到實體類別。 

起始通訊的界限類別會與控制器類別交談。控制器類別通常不會透過這個界限類別的相同實例來回應。

使用互動圖

當使用案例分析在進行中,您可以利用序列圖來說明情境。這有助於針對使用案例的情境來驗證分析物件是否存在。如果發現分析物件並未參與任何情境,它們便不可信,需要重新評估。這裡的風險是,如果您進入細節太深,各個圖就會變成太大,無法管理。如果要避免這個情況,請將焦點集中於短而不連續的情境,只併入界限和主要控制器及實體物件。

請記住,在 Web 應用程式中,界限物件的有效期限很短。不過,在情境執行期間,界限類別可以實例化許多次,這表示圖中的相同類別可以實例化多個界限物件。

分析層次序列圖中的參與者會與界限物件互動。參與者會向界限物件送出一則導覽訊息。

建立起始設計類別

設計起始界限類別

界限類別可以對映到用戶端頁面類別。

如果界限類別包含輸入資訊,您通常會利用聚集,將它關聯於一份表單(或 Web 表單)。表單的模型可以是用戶端頁面的巢狀類別,因為它的整個生命週期都由用戶端頁面來管理。表單一律會有指向伺服器頁面的送出關係,伺服器頁面會處理表單的各個值,最後會導出新傳回的用戶端頁面。

如果使用者介面需要一些用戶端的動態行為,最簡單的方法是在用戶端使用動態 HTML。在設計模型中,這通常會表現成用戶端頁面的作業。用戶端頁面的作業直接對映到 Java Script 功能。Java 頁面的屬性直接對映到頁面的頁面範圍變數。動態 HTML 事件處理常式會以標示值的方式來擷取。

如果使用者介面有非常複雜的行為,您會考慮利用聚集,將 Applet 關聯於界限類別。

如果您的架構是以分散式物件系統(如 RMI、IIOP 或 DCOM)為基礎,用戶端頁面可能會避開 HTTP,而利用 RMI、IIOP 或 DCOM,從介面導向與伺服器直接通訊的元件。這幾類關係的模板通常是 <<rmi>>、<<iiop>> 或 <<dcom>>,以便通知設計者哪些區域將傳輸網路資料,因而可能出現瓶頸。

設計起始實體類別

在設計 Web 應用程式時,實體類別的唯一不同是,如果物件在用戶端頁面範圍內,實體物件便會對映到 Java Script 物件。

設計起始控制器類別

控制類別對映到伺服器頁面。控制器會表現和協調商業邏輯,以及協調其他邏輯。它們通常都在伺服器。許多控制器物件都承擔建置用戶端頁面的責任(它們本來就會送出 HTML 來作為它們的主要輸出)。控制器物件可以與各種伺服器端資源互動,例如,資料庫、中間層元件、交易監視器等。 

控制器類別通常會對映到伺服器端 Script 化的網頁(Active Server Pages、Javae Server Pages)。