溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Web應(yīng)用中UML建模的示例分析

發(fā)布時間:2021-12-06 11:45:59 來源:億速云 閱讀:257 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下Web應(yīng)用中UML建模的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

Web應(yīng)用中UML建模

本文通過分析Web應(yīng)用的構(gòu)架模式,引入UML擴(kuò)展機(jī)制,實現(xiàn)對Web應(yīng)用中各種對象的建模。探討.NET框架下Web應(yīng)用的UML建模及開發(fā)方法,并將其應(yīng)用到一個實際的研究所管理系統(tǒng)中。實際應(yīng)用表明該方法有利于降低開發(fā)的復(fù)雜性,縮短開發(fā)周期,取得了較好的效果。

1引言

基于Web的應(yīng)用系統(tǒng)一般包含兩部分:服務(wù)器和客戶端瀏覽器。服務(wù)器主要對事務(wù)進(jìn)行邏輯處理,而用戶對服務(wù)器上業(yè)務(wù)邏輯的影響,使Web應(yīng)用往往具有復(fù)雜性和高度動態(tài)性的特點。這種特點使得基于Web應(yīng)用的系統(tǒng)開發(fā)比較復(fù)雜、管理困難。為了有效地解決上述問題,縮短開發(fā)周期,減少維護(hù)費(fèi)用,主要策略是對Web應(yīng)用進(jìn)行建模。UML是面向?qū)ο蠹夹g(shù)領(lǐng)域中占主導(dǎo)地位的統(tǒng)一建模語言。此外,.NET框架在通用語言運(yùn)行時CLR的基礎(chǔ)上,提供了完善的基礎(chǔ)類庫、數(shù)據(jù)庫訪問技術(shù)ADO.NET和網(wǎng)絡(luò)開發(fā)技術(shù)ASP.NET,使開發(fā)者可以快速構(gòu)建Web應(yīng)用。因此,本文主要探討基于.NET框架Web應(yīng)用的UML建模及開發(fā)方法,并將該方法用于作者開發(fā)的研究所管理系統(tǒng)中,實際應(yīng)用表明該方法可以有效地降低系統(tǒng)開發(fā)和管理的復(fù)雜性,提高經(jīng)濟(jì)效益。

2Web應(yīng)用的構(gòu)架模式

Web應(yīng)用的基本構(gòu)架包括瀏覽器、網(wǎng)絡(luò)和Web服務(wù)器。瀏覽器向服務(wù)器請求Web頁,Web頁可能包括由瀏覽器解釋執(zhí)行的客戶端腳本,而且可以與瀏覽器、頁內(nèi)容和頁中包含的其他控件(JavaApplet、ActiveX控件和插件等)進(jìn)行交互。用戶向Web頁輸入信息或通過超級鏈接導(dǎo)航到其它Web頁,與系統(tǒng)進(jìn)行交互,改變系統(tǒng)的“業(yè)務(wù)狀態(tài)”。

2.1瘦Web客戶端

主要適用于基于Internet的應(yīng)用,對客戶端配置幾乎沒有控制??蛻舳酥恍枰獦?biāo)準(zhǔn)Web瀏覽器,可以請求和顯示標(biāo)準(zhǔn)的HTML頁面。所有的業(yè)務(wù)邏輯都在服務(wù)器上執(zhí)行。
客戶端瀏覽器通過HTTP協(xié)議向服務(wù)器請求頁面資源,服務(wù)器將被請求的URL解析為文件系統(tǒng)中的文件,或者由應(yīng)用服務(wù)器處理并可能改變業(yè)務(wù)狀態(tài),得到請求的頁面,返回給客戶端。

2.2胖Web客戶端

胖Web客戶端對于可以確定客戶端配置和瀏覽器版本的Web應(yīng)用是最適合的。客戶端通過HTTP與服務(wù)器通信,使用DHTML、Javaapplet或者ActiveX控件執(zhí)行業(yè)務(wù)邏輯。HTTP的無連接特性,決定了客戶端腳本、ActiveX控件和JavaApplet只能同客戶端對象進(jìn)行交互。
客戶端顯示接收的頁面時,執(zhí)行嵌入的腳本,這些腳本通??梢栽诓煌木€程中執(zhí)行,通過DOM接口與頁面內(nèi)容進(jìn)行交互。

2.3Web傳輸

Web傳輸模式除了使用HTTP負(fù)責(zé)客戶端和服務(wù)器的通信之外,還可以使用IIOP和DCOM等協(xié)議以支持分布式對象系統(tǒng)。Web頁面通過遠(yuǎn)程對象樁和遠(yuǎn)程對象傳輸協(xié)議與遠(yuǎn)程對象服務(wù)器通信,由服務(wù)器管理遠(yuǎn)程業(yè)務(wù)對象的生命周期,向客戶端對象提供服務(wù)。

遠(yuǎn)程對象樁是一個對象,在客戶端執(zhí)行,并與遠(yuǎn)程對象具有相同的接口。當(dāng)通過這個對象調(diào)用方法時,這些方法被封裝起來,使用遠(yuǎn)程對象傳輸協(xié)議RMI/DCOM發(fā)送到遠(yuǎn)程對象服務(wù)器,服務(wù)器解釋請求,實例化并調(diào)用實際對象實例中的方法。
實際應(yīng)用中,往往根據(jù)業(yè)務(wù)需要,綜合使用上述構(gòu)架。在我們的研究所管理系統(tǒng)中,綜合采用了瘦Web客戶端和Web傳輸構(gòu)架??蛻舳耸褂昧薐avaScript進(jìn)行客戶端驗證,把經(jīng)過驗證的數(shù)據(jù)提交服務(wù)器處理。在數(shù)據(jù)的后臺管理上,采用了Web傳輸構(gòu)架,保持客戶端與服務(wù)器的開放連接,以便進(jìn)行較長時間的、較復(fù)雜的會話。

3UML的Web應(yīng)用擴(kuò)展

UML(UnifiedModelingLanguage)是一種通用的可視化建模語言,適用于各種軟件開發(fā)方法、軟件生命周期的各個階段、各種應(yīng)用領(lǐng)域以及各種開發(fā)工具。但在對Web應(yīng)用進(jìn)行建模時,它的一些構(gòu)件不能與標(biāo)準(zhǔn)UML建模元素一一對應(yīng),因此必須對UML進(jìn)行擴(kuò)展。
UML的三種核心擴(kuò)展機(jī)制包括構(gòu)造型、標(biāo)記值和約束。其中最重要的擴(kuò)展機(jī)制是構(gòu)造型,它不能改變原模型的結(jié)構(gòu),但可以在模型元素上附加新的語義,通常用“《構(gòu)造型名》”來表示。約束是模型元素中的語義關(guān)系,定義了模型如何組織在一起,通常用一對“{}”之間的字符串表示。標(biāo)記值是對模型元素特性的擴(kuò)展,大多數(shù)的模型元素都有與之關(guān)聯(lián)的特性,通常用帶括號的字符串表示。

3.1Web頁建模

Web頁可能同時包含客戶端腳本和服務(wù)器端腳本,因此必須分別進(jìn)行建模。服務(wù)器端Web頁面一般包含由服務(wù)器執(zhí)行的腳本,每一次被請求時都在服務(wù)器上組合,更新業(yè)務(wù)邏輯狀態(tài),返回給瀏覽器。客戶端Web頁可能包含數(shù)據(jù)、表現(xiàn)形式甚至業(yè)務(wù)邏輯,由瀏覽器解釋執(zhí)行,并可以與客戶端組件相關(guān)聯(lián),如JavaApplet、ActiveX、插件等。兩者之間通過定向關(guān)系相互關(guān)聯(lián)。這種關(guān)聯(lián)關(guān)系的構(gòu)造型為«build»。
Web應(yīng)用中的超級鏈接代表導(dǎo)航路徑,用構(gòu)造型為«link»的關(guān)聯(lián)關(guān)系表示。標(biāo)記值用于定義隨超級鏈接請求傳遞的參數(shù)列表,供服務(wù)器端Web頁使用。

.NET框架中大多數(shù)建立的是服務(wù)器端Web頁,經(jīng)編譯后生成HTML代碼傳遞到客戶端瀏覽器。同時,為了提高效率,對于那些不包含業(yè)務(wù)邏輯的Web頁,在.NET框架中可以直接用HTML元素建立客戶端Web頁,再建立起與對應(yīng)的服務(wù)器端Web頁之間的調(diào)用關(guān)系。

3.2表單建模

Web應(yīng)用的UML建模中表單是Web頁的基本輸入機(jī)制,包括<input>、<select>和<textarea>等輸入元素,用《Form》構(gòu)造型進(jìn)行建模。《Form》沒有操作,與之交互的操作是包含表單的Web頁的特性。它可以與作為輸入控件的Applet或ActiveX控件關(guān)聯(lián),還可以把表單內(nèi)容提交到服務(wù)器進(jìn)行處理。.NET中每一個頁面只有一個表單,包含所有的輸入元素,通常表現(xiàn)為服務(wù)器端控件或客戶端控件,其中服務(wù)器端控件由服務(wù)器端Web頁經(jīng)過編譯后傳送到客戶端。

3.3組件建模

Web應(yīng)用中的組件分為服務(wù)器端組件和客戶端組件兩類。服務(wù)器端較復(fù)雜的業(yè)務(wù)邏輯通常由中間層完成,包括一組封裝了所有業(yè)務(wù)邏輯的已編譯好的組件。因此,使用中間層不僅可以提高性能,而且可以共享整個應(yīng)用的業(yè)務(wù)功能??蛻舳薟eb頁中常見的組件是JavaApplet和ActiveX,利用它們訪問瀏覽器和客戶端的各種資源,實現(xiàn)HTML無法實現(xiàn)的功能。
Web應(yīng)用擴(kuò)展定義了《staticpage》和《dynamicpage》兩個抽象組件構(gòu)造型?!秙taticpage》實現(xiàn)客戶端組件?!禿ynamicpage》的主要任務(wù)是在運(yùn)行時系統(tǒng)的物理文件和邏輯視圖中的邏輯表現(xiàn)之間提供映射。

3.4框架建模

Web應(yīng)用擴(kuò)展定義了構(gòu)造型《frameset》和《target》以及關(guān)聯(lián)關(guān)系構(gòu)造型《targetedlink》來實現(xiàn)對框架的建模。《frameset》直接映射到HTML的<frameset>標(biāo)記。《target》表示當(dāng)前Web頁引用的其它Web頁或框架?!秚argetedlink》是指向另一個Web頁的超級鏈接,但它要在特定目標(biāo)中才能提供。

看完了這篇文章,相信你對“Web應(yīng)用中UML建模的示例分析”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI