UML 的創始人意識到總會存在這樣的情況:初始的 UML 不足以獲取一個特定領域或構架的相關語義。為了解決這個問題,他們確定了一種正式擴展機制,允許實踐者擴展 UML 的語義。該機制允許定義可應用到模型元素的構造型、標注值和約束。
構造型是一種修飾,允許我們為建模元素定義新的語義。標注值是可以與建模元素相關聯的鍵值對,允許我們在建模元素上“標注”任何值。約束是定義模型外形的規則。它們可表示為任何形式的文本,或者用更正式的對象約束語言 (OCL) 表示。
本文討論的工作引入了為 Web 應用程序所作的一種 UML 擴展。這種擴展從整體上看超出了本文的范圍,然而這里還是討論了其中大部分的概念和解釋。
關于建模最后還要注意一點,一定要明確區分業務邏輯和表示邏輯。對于典型的業務應用程序而言,只有業務邏輯才應成為 ADM 的一部分。表示細節,如動畫按鈕、浮動幫助和其他 UI 增強方式通常不屬于 ADM。如果為應用程序單獨構建一個 UI 模型,則可在其中納入表示細節。ADM 需要始終將重點放在業務問題和解決方案的表達上。在今天這個 Web 設計師的時代,對 Web 頁外觀的設計和實現最好由專業人員(技術繪圖師)取代傳統的開發人員來完成。
Web 應用程序構架
Web 應用程序的基本構架包括瀏覽器、一個網絡和一個 Web 服務器。瀏覽器向服務器請求“Web 頁”。每一頁都是內容和以 HTML 表達的格式指令的組合。一些頁包括客戶端腳本,它們由瀏覽器解釋。這些腳本為顯示的頁定義了其他動態行為,而且它們經常與瀏覽器、頁內容和頁中包含的其他控件(Applet、ActiveX 控件和插件)交互。用戶查看頁中的內容,并與其交互。有時,用戶在頁的字段元素中輸入信息,并提交給服務器處理。用戶還可以通過超鏈接導航到系統的其他頁,與系統進行交互。無論是哪種情況,用戶都在向系統提供輸入,這樣就可能改變系統的“業務狀態”。
從客戶端來看,Web 頁總是一個采用 HTML 格式的文檔。然而在服務器端,“Web 頁”可表現為多種形式。在最早的 Web 應用程序中,動態 Web 頁用公共網關接口 (CGI) 構建。CGI 定義了一個供腳本和已編譯模塊使用的接口,它們通過該接口訪問與頁請求一起傳遞的信息。在基于 CGI 的系統中,通常在 Web 服務器上配置一個特殊的目錄,以便針對頁請求來執行腳本。在請求 CGI 腳本時,服務器會用解譯器(通常是一個 PERL shell)處理或執行相應的文件,以流的形式將輸出返回給發出請求的客戶機,而不僅僅是返回文件內容(就像處理 HTML 格式的文件時一樣)。處理的最終結果是 HTML 格式的流,它會被返回給發出請求的客戶機。業務邏輯在處理文件的同時在系統中執行。在這段時間內,它能夠與服務器端資源(如數據庫和中間層構件)交互。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/