使用 UML 為 Web 應用程序構架建模 UML 模型 關鍵字:UML Web 構架建模 摘要 Web應用程序正變得越來越復雜,越來越重要。為了幫助管理這種復雜性,需要為Web應用程序建模。UML是軟件密集型系統的標準建模語言。在嘗試用UML為Web應用程序建模時,很明顯它的一
摘要
Web 應用程序正變得越來越復雜,越來越重要。為了幫助管理這種復雜性,需要為 Web 應用程序建模。UML 是軟件密集型系統的標準建模語言。在嘗試用 UML 為 Web 應用程序建模時,很明顯它的一些構件不能與標準的 UML 建模元素一一對應。為了讓整個系統(Web 構件,以及傳統的中間層構件)使用同一種建模表示法,必須擴展 UML。本文介紹 UML 的一種擴展方式(使用正式的擴展機制)。進行擴展是為了讓 Web 特有的構件能與系統模型的其余部分集成,向 Web 應用程序的設計員、實施員以及構架設計師展示適當的抽象和明細級別。
近年來,IT 詞匯表中出現了一條新的術語,它就是“Web 應用程序”。參與業務軟件系統的所有人似乎都有構建 Web 應用程序的計劃,而在與業務不相關的軟件方面也有很多人對此感興趣。對于很早前就采用這種構架的許多人來說,Web 應用程序這個詞象系統本身一樣,已經從成功的小型 Web 站點插件發展成了強壯的 n 層應用程序。Web 應用程序可以同時為分布在世界各地的、成千上萬的用戶提供服務,這種情況早已司空見慣。構建 Web 應用程序是一件嚴肅的事情。
在實際應用中,Web 應用程序這個詞對不同的人而言含義略有不同。一些人認為凡是用到
Java 的都是 Web 應用程序,而另一些人則認為凡是使用 Web
服務器的都是 Web 應用程序。多數人的意見介于這兩者之間。站在本文的角度,我們將 Web 應用程序大體定義為 Web 系統(Web 服務器、
網絡、HTTP、瀏覽器),在這個系統中,用戶的輸入(導航和數據輸入)會影響到業務狀態。該定義試圖將 Web 應用程序確立為一個具有業務狀態的軟件系統,并且它的“前端”基本上是通過 Web 系統傳遞的。
Web 應用程序的總體構架是一個客戶機服務器系統,但二者有幾點顯著的區別。Web 應用程序最重要的優點之一在于它的部署。部署 Web 應用程序通常指的是建立網絡的服務器端構件??蛻舳瞬恍枰貏e的軟件或配置。兩者的另一個重大差異在于客戶機和服務器通信的本質。Web 應用程序的基本通信協議是 HTTP,這是一個無連接協議,它不是為最大的通信吞吐量設計的,而是為強壯性和容錯而設計的。在 Web 應用程序中,客戶機和服務器的通信通常圍繞 Web 頁導航進行,而不是在服務器端和客戶端對象之間直接通信。在一定的抽象程度上,Web 應用程序中所有的信息傳遞都可描述為 Web 頁實體的請求和接收。通常所說的 Web 應用程序構架與動態 Web 站點的構架并無太大區別。
Web 應用程序與 Web 站點,甚至是與動態 Web 站點的區別都要涉及到使用。Web 應用程序實現的是業務邏輯,它的使用改變了業務的狀態(其狀態為系統捕獲)。這是很重要的,因為它確定了建模工作的重點。Web 應用程序執行業務邏輯,因此大多數重要的系統模型都側重于業務邏輯和業務狀態,而不是表示細節。表示很重要(否則系統將毫無用處),不過應盡量將業務和表示所關注的問題區分開。如果表示問題是重要的,甚至是復雜的,那么也需要對它們建模,但不必將它們作為業務邏輯模型的構成部分。此外,用于表示的資源更注重外觀設計,而與實施業務規則關系不大。
關系管理方法 (RMM) 是與 Web 系統
開發有關的一種方法/表示法。RMM 是一種用于設計、構建和維護 Intranet 及 Internet Web 系統的方法。它的根本目標是降低動態
數據庫驅動的 Web 站點的維護成本。它提倡系統進行形象化表示,以便展開設計上的討論。它是一個迭代式過程,包括 Web 頁可視元素的分解,及這些元素與數據庫實體的關聯關系。RMM 是一種用于動態 Web 站點創建和維護的“完整詳盡”的方案。
原文轉自:http://www.anti-gravitydesign.com