1、引 言
Web技術的發展,使得管理系統的
開發更方便、功能更強大,在此系統的
開發過程中,
Web技術起了一個骨架式的支持作用;與此同時組件技術的發展為系統的開放性、集成性提供了便利,有效合理地引入組件技術是當前Web系統開發與發展的一個方向;通過對系統的開發進行建模,形象直觀的圖形化表示,可以顯示系統的流程與功能。選擇有效的建模方法,充分利用Web技術與組件技術,提高軟件的開發效率,提高的軟件的
可靠性和可維護性,是每個軟件開發人員所關心的問題。
UML(Unified Modeling Language)是基于對象技術的標準建模語言,定義良好、易于表達、功能強大的特點使它在
面向對象的分析與設計中更具優勢。在基于Web技術和組件技術的系統建模中,它完善的組件建模思想和可視化建模的優勢更利于系統開發人員理解程序流程和功能,進一步提高Web系統的開發效率以及Web組件的可重用性和可修復性。
本文將結合我們自主開發的活塞PDM系統中的項目審批流程的建模,介紹UML在基于WEB技術和組件技術的系統建模中的應用。
2、基于Web的應用系統結構 對于基于Web技術的應用系統,用戶直接面對的是客戶端瀏覽器,用戶在使用系統時,請求之后的事務邏輯處理和數據的邏輯運算由
服務器與
javascript:;" onClick="javascript:tagshow(event, '%CA%FD%BE%DD%BF%E2');" target="_self">
數據庫系統共同完成,對用戶而言是完全透明的。運算后得到的結果再通過瀏覽器的方式返回給用戶。這個過程可分成一些子步驟,每一個子步驟的完成可理解為通過一個單獨的應用
服務器來處理,這些應用
服務器在最終得到用戶所需的結論之前,相互之間還會進行一定的數據交流和傳遞。圖1就是Web的應用結構簡圖。

隨著Web應用技術的發展,對Web數據流程的解釋上還會有相應的改進或補充。
3、Web應用系統的UML建模方法
頁面、腳本、表單和框架是Web應用系統的關鍵部分,數據流程的模型化表示關鍵就是用UML對上述Web元素應用及其關系建模,下面對這幾種元素的模型化表示作一個簡要介紹。
(1)頁面建模。用戶在使用Web應用系統時,是通過頁面進行系統的操作。在頁面建模中可用兩個類別模板《Client Page》和《Sever Page》分別表示客戶端頁面和服務器端頁面??蛻舳隧撁娴膶傩允琼摰淖饔糜蛑卸x的變量,方法是頁面腳本中的函數;服務器頁面的屬性是頁面腳本中的變量,方法是腳本中定義的函數。在使用頁面信息傳遞時,還可能出現服務器頁面的重定向,在UML建模中,用類別模板《redirect》來表示;對于客戶端頁面和服務器頁面的構造關聯用類別模板《bulid》表示,這種關聯是一種單向關聯,由服務器頁面指向客戶端頁面,具體表示如圖2所示。

在Web應用系統中,還會經常用到的就是超級鏈接,在UML建模中,用類別模板《link》表示超級鏈接,它的參數模擬為鏈接屬性。
(2)表單建模。用戶的要求一般通過表單與數據庫交互。在UML建模中,表單用類別模板《form》表示,屬性是表單中的域,表單沒有方法。表單在處理請求時,要與Web頁面交流數據,這個交流過程是用提交按鈕submit來完成,為了在建模中表示這種關系,用類別模板《submit》表示。
(3)組件建模。在使用組件技術的Web應用系統建模中,對組件的建模是個重要環節,在UML基本的圖形化建模元素中,設立了專門的組件圖。組件在使用過程中,同樣的分成了客戶端組件(如Java Applet,ActiveX控件)和服務器端組件。在系統的UML模型化表示中,用類別模板《Client Component》表示客戶端組件,用《Sever Component》表示服務器端組件。
(4)框架建模??蚣芡ㄟ^定義類別模板元素《frameset》來實現,frameset指定并命名各個框架,每個框架容納一個頁面;框架的使用還涉及到目標target,建模時用《target》來表示。
4、UML在活塞PDM系統建模中的運用
活塞PDM系統是在傳統PDM系統的基礎上,引入了組件技術和Web技術,對數據流程的處理更趨于簡易性和方便性。在對該系統的建模過程中,要體現整個系統前臺與后臺間數據交互的流程。在設計時,主要是考慮設計它的class diagram(類圖)和component diagram(組件圖),用這兩類模型圖來體現UML的用例驅動和系統組件結構的特性。由于在系統的開發中采用了模塊化的設計方法,因此在構劃模型圖時,采用了先整體后局部的思路,首先考慮整個系統的案例圖,再對子模塊進行分析和設計,在每個子模塊數據流的入口和出口設置模型圖間數據交互的接口。下面以活塞PDM系統中項目審批流程子模塊的建模為例說明UML在此系統建模中的應用。
4.1 項目審批流程
項目審批是項目管理流程的一部分,功能就是實現審批過程和數據傳遞的自動進行,取消了傳統審批流程中大量紙質文件的使用。下面以活塞新產品開發的項目審批為例來說明UML對項目審批流程的建模方法。
活塞新產品開發的項目審批過程有7個環節組成,分別是項目申請、組織評審、制定實施方案、技術委員會及專家委員會評審、技術副總審核、總經理審核和董事會審核。通過這七個環節來決定一個項目實施的可行性或者合理性。
審批過程自動化的實現方法,是在Web技術和組件技術的基礎上,對每一個環節設置了評審狀態tag。當tag=1時,表明項目已通過該環節評審,可進入下步評審;當tag=0時,表明項目還未經過評審,或者未通過評審,需要返回去修改項目運行的可行性研究,等待再一次的評審。同時在每個環節進行評審時,還要考慮該項目是否已進入了下一級評審,如若項目已進行了下一級的評審,這時該環節的操作人員都無權再對該環節所填寫的評審意見進行編輯。也就是在對每個環節進行維護時,還要考慮下一級的評審狀態。
在建模之前,首先看一下項目審批流程圖,如圖3所示。

除了這七個審批環節,為了讓用戶及時了解交叉投入生產的項目審批或進展情況,提供了項目瀏覽功能,用戶按照管理員所授予的權限,在權限范圍內并且利用項目瀏覽子模塊中提供的關鍵字段、項目評審狀態或者進展狀態進行分類檢索。
在項目評審流程的每個環節,一般設置了兩部分功能需求,即填寫該環節評審的內容、編輯該環節評審的內容。
比如總經理評審環節,它的功能設置如圖4所示。

為了實現網上審批的自動化,在整個流程的環節功能設置時,遵照了如下的規則要求:在每個環節的查看已填評審內容時,列出的項目都是正在等待進入該環節評審的項目,而不屬于這種情形的項目在此環節中是顯示不出來的;同樣,對于在編輯此環節評審內容上,已經進行了下一級評審的項目也是不可能列出的,每個環節的負責人只可以對此環節以前的評審內容具有瀏覽功能,而不具備編輯功能。如果要查看整個項目的評審狀況,在管理員授予項目瀏覽功能的權限下,通過項目瀏覽一項完成。
整個流程所包括的各個環節,在功能設置上是類似的,差異是評審環節在整個評審流程中所處的位置。在進行UML建模時采用了把這些環節分開的方法,先對每個環節建模,最后再把單個的環節模型圖整合成一個完整流程的模型圖。由于篇幅所限,下面以總經理評審的環節為例說明UML的建模方法。
4.2 總經理評審的類圖(Class Diagram)
在項目審批流程中,設計了總經理審核環節的Class Diagram,如圖(5)、圖(6)、圖(7)所示。圖(6)和圖(7)是圖(5)的延續。該類圖顯示了總經理審核環節中各個頁面之間的關系。為簡化,在此類圖中沒有列出各個類的屬性和方法。整個類圖實現了查看已填寫評審內容、填寫總經理評審內容和編輯評審內容。



4.3 總經理評審的組件圖(Component Diagram)
組件圖是分析該環節所涉及的功能是如何實現的,這部分與具體的編碼工作相關??偨浝碓u審環節的模塊組件圖如圖(8)所示。

4.4 由模型圖到代碼的轉換
類圖和組件圖說明了在基于Web技術的信息交互流程,頁面的超級鏈接和頁間的重新導向在JSP代碼設計中,由模型圖就可以掌握它們之間交互的邏輯,這樣使程序編寫更富條理性和方便性。在實際工作中,可以設置為CRC卡,方便編程人員的使用。如若再比較詳細地設計出對象圖和順序圖,對于整個系統的類定義和方法設置,會提供更大的方便。
5、結束語
建模對系統的開發過程中起著很重要的作用,在系統的開發和維護中有必要建立系統的模型。UML是一種圖示化的面向對象建模語言,它形象直觀、應用廣泛,并對Web技術和組件技術在系統開發中的建模方法有了比較合理有效的定義。在UML提供的各種模型圖的基礎上,還可以依照所有開發技術的特點對它的表示進行擴展,在本文的建模中就是用了UML的類別模塊擴充機制,為某些模型元素添加新的語義,構造新的模型,來說明開發過程中的隱含特性。
通過利用UML建模,對基于Web的PDM系統中的項目審批流程進行了分析和設計,對整個流程的功能有了一個清晰的認識,利于開發人員對系統的開發與維護,同時可為系統的升級或者二次開發提供一個理論依據。
參考文獻:
[1]黃江洋、楊燦軍、陳鷹 基于Web電梯銷售合同管理系統的UML建模 機電工程 2001年第18卷第5期
[2]杜龍姣、李尚慧 UML技術在Web開發中的應用 應用科技 Vol.30.No.2 Feb.,2003
[3][美]Roger S.Pressman 梅宏譯 軟件工程實踐者的研究方法(原書第5版) 機械工業出版社 2003年1月