通過分別考慮,我們就可以用一個類為 Web 頁的服務器端建模,用另一個類為客戶端建模。我們采用 UML 擴展機制為兩者分別定義構造型和圖標:«server page» 和 «client page»,以此來區分兩者。UML 中的構造型允許我們為建模元素定義新的語義。已指定構造型的類在 UML 圖中可用定制圖標表示,或者僅僅用 («») 之間的構造型名稱說明。圖標對概述圖很有用,在概述圖中,最好使用簡單的標記對顯示出的類屬性和操作進行標注。
對于 Web 頁,構造型指出了類是客戶機或服務器上 Web 頁邏輯行為的抽象。兩種抽象通過兩者之間的定向關系相互關聯關系。這種關聯關系的構造型為:«build»,因為可以說服務器頁構建了客戶機頁(圖 1)。每個動態 Web 頁(即頁內容在運行時才能決定的頁)都用一個服務器頁構建。每個客戶機頁至多只能用一個服務器頁構建,而一個服務器頁可以構建多個客戶機頁。
Web 頁之間通過超鏈接建立公共關系。Web 應用程序中的超鏈接代表系統的一條導航路徑。這種關系在模型中用一個構造型為 «link» 的關聯關系表示。關聯關系總是從客戶機頁出發,指向另一個客戶機頁或服務器頁。
超鏈接作為 Web 頁請求在系統中實施,Web 頁作為實施視圖中的構件來建模。指向客戶機頁的鏈接關聯關系大體等同于指向構建該客戶機頁的服務器頁的鏈接關聯關系。這是因為鏈接實際是一個頁請求,不是上述兩種類抽象。由于 Web 頁構件同時實現兩種頁抽象,因此指向由該頁構件實現的任何類的鏈接都是等同的。
標注值用于定義隨鏈接請求一起傳遞的參數。«link» 關聯關系標注值“Parameters”是一個參數名(和可選值)的列表,處理請求的服務器頁要用到它。在圖 2 中,SearchResults 頁包含數目可變的指向 GetProduct 服務器頁的超鏈接 (0..*),每一個鏈接都有一個不同的 productId 參數值。GetProduct 頁用于構建 productId 參數所指定產品的 ProductDetail 頁。

圖 1. 服務器頁構建客戶機頁。

圖 2. 使用超鏈接參數。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/