摘要:統一建模語言UML是一種定義良好,易于表達,功能強大且適用廣泛的建模語言。業務模型關注系統針對的業務,并不是每個項目都需要業務模型,但是有時業務模型的作用很大。在利用UML建立電子商務系統模型和開發軟件系統時,首要任務就是建立系統的業務模型。該文以電子商務系統(E-Commerce)為例詳細論述了Use Case以及如何運用正確的Use Case建立系統業務模型的方法。
關鍵詞:統一建模語言;電子商務;面向對象
中圖分類號:TP311文獻標識碼:A文章編號:1009-3044(2008)17-21475-03
1 引言
互聯網的興起和發展直接導致了人們生活和消費的改變,同時亦為電子商務的發展奠定了堅實的基礎。隨著技術和市場的發展,電子商務應用也在不斷的變化并且高速的增長,由于電子商務服務平臺信息互聯的廣泛性及復雜性,系統的可靠性、安全性就顯得格外重要了。尋找一個即具有直觀性、易理解性特點,又具有嚴格檢驗證明的開發電子商務系統的方法是極其必要的,而且也是目前電子商務系統應用研究的熱點。
電子商務平臺的實施是一項復雜的工程。同時,電子商務作為一個分布式Web應用系統,需要根據客戶需求的變化、環境的改變、技術的進步進行不斷的改進和完善,它的開發周期已不再是從需求定義、軟件設計、實現和交付的一次性過程,而是一個連續的、遞增的、螺旋式的迭代過程,如何結合軟件工程領域的新思想、新方法來實現一個滿足用戶需求的、易擴充的、健壯的Web電子商務系統己經成為軟件工程領域的一個重要課題。當前普遍采用的開發模式是,建立具有指導意義的系統模型,以模型為驅動來實現電子商務系統。對于電子商務這樣規模龐大、結構復雜的系統,其模型的構建是一個非常復雜的過程,目前解決這一問題的有效方法主要有面向對象方法。面向對象的建模可以視為是一個包含以下元素的概念框架:抽象、封裝、模塊化、層次、分類、并行、穩定、可重用和可擴展性,是從事物的屬性、行為、事件出發,更貼近事物的本身,能最大限度地反映業務實際。
2 用UML構建電子商務系統模型的設計
UML是Grady Booch、James Rumbaugh、Ivar Jacobson等人在各自原有的建模技術和面向對象研究成果的基礎上各取所長,融合而成,是迄今為止使用最廣泛的面向對象系統的可視化的標準建模方法。以下是用UML構建電子商務系統的設計模型。
2.1 需求分析
需求分析目的是盡可能完整、準確地捕捉系統的功能需求和其他要求。用例圖表述了系統參與者希望系統提供的功能,而用例描述則更加詳細地描述了系統應該做什么。
UML使用用例圖從宏觀上分析系統的基本功能,將系統的功能模塊抽象為諸多用例。現以電子購物為例研究基于UML的電子商務系統的建模實現過程。電子購物系統的實現需涉及到顧客、運營商、銀行、運營商等多方面因素。用戶通過瀏覽器查詢商品的信息,根據自己的需要選擇相應的商品放入購物籃,并進行電子付款,同時系統將用戶的商品選單入庫,并進行商品配送。從用戶角度看,系統需求用例包括:查詢商品信息、購買商品、付款。其中的付款功能提供同銀行的接口。從運營商的角度看,系統需求用例包括:財務管理、物資管理、配送管理以及定退貨等內容。其中的定退貨功能提供同廠家的接口。該系統用例包括如下:
a.顧客查詢商品信息
b.顧客購買商品
c.顧客收貨及反饋意見
d.顧客付款到銀行
e.運營商物資管理
f.運營商財務管理
g.運營商人員管理
h.運營商物資配送管理
i.運營商訂退貨
用UML的用例圖描述如圖1所示,每個用例都以文本的方式描述,描述的內容包括用例以及用例與角色交互的更詳細的信息。文本的內容是通過用戶和客戶共同討論后決定的。
2.2 系統分析
系統分析階段首先是要找出構成這個系統中的對象,描述它們的職責,確定它們之間的關系。系統分析模型中包括交互圖和類圖,它們描述對象及其交互。這些圖按照用例模型來組織,每個用例都會產生數張圖。順序圖可根據用例圖和用例描述,描述某一用例場景中的參與交互的對象及對象之間消息交互的順序。對每個用例做順序圖,必要時生成其協作圖,基于已確定的順序圖可以映射出分析類圖。分析類圖的類可以分為邊界類、控制類和實體類。修正順序圖和協作圖,對順序圖和協作圖做必要的修正,使其中的每個對象與一個類相對應,每個消息與一個類的操作相對應。系統分析的這幾步是反復的迭代過程。系統分析的最終結果是得到系統的對象模型。
UML通過順序圖和狀態圖分別從時間和空間對系統的業務流程進行直接而準確的描述。對于圖1中用例“購買商品”的順序如圖2所示。對于“購買商品”用例的順序為:用戶首先進行登錄,登錄頁面經過用戶身份驗證后打開電子購物頁面,顯示商品的基本信息,用戶可以對其中的商品詳細信息進行查詢,根據需求購買相應的商品,同時將其添加到購物籃內。當用戶選擇“付款”時,根據購物籃中信息下訂單,同時將事務記錄入庫保存。
2.3 系統設計
面向對象的設計是將分析階段獲得的模型變成抽象的系統實現方案的過程。在設計階段對分析模型進行擴展并將模型進一步細化,同時還要考慮技術細節和各種限制條件。設計的目的是開發出一個基于面向對象的可行的系統解決方案,以便編程人員能夠很方便地將其轉變成為程序代碼。系統的設計可以分為兩個階段:系統總體設計階段和詳細設計階段。系統總體設計階段是一個從較高層次進行的設計,主要包括如何把整個系統劃分為多個包(子系統)的策略,以及描述多個包之間的依賴性和通信機制等;詳細設計階段主要是決定在實現過程中使用的類和關系的全部定義,以及用于實現操作的各種方法的算法和接口。所有的類都盡可能地進行詳細描述,給編寫代碼的程序員一個清晰的規范說明。
詳細設計階段要細化和擴展包中定義的業務對象類描述,產生新的類圖、狀態圖、序列圖、協作圖和活動圖,建立構件圖和展開圖。這些圖與分析階段是一樣的,但在設計階段定義更詳細,涉及更多的技術細節。分析階段的用例描述被用來驗證用例在設計中的處理;序列圖被用來說明技術上如何在系統中實現每一個用例。
2.4 編程實現階段
編程人員可以根據設計階段的模型,利用面向對象的程序設計語言,實現系統的功能。由于電子商務系統十分龐大,可以結合多種OOPL的優點,對系統的每個包采取最合適的OOPL。
3 結束語
UML的目標是以面向對象圖的方式來描述任何類型的系統,具有很廣闊的應用領域。面對當今激烈的市場競爭,是否明確了商業活動中需要解決的關鍵問題決定了整個商業活動是成功或是失敗。使用UML來進行商業建模可以很容易地解決上述問題。UML代表了面向對象方法的軟件開發技術的發展方向,具有巨大的市場前景,也具有重大的經濟價值和國防價值。
參考文獻:
[1] 尤克濱.UML應用建模實踐過程[M].北京:機械工業出版社,2003.
[2] 楊友麒.從電子商務走向電子業務[J].計算機與應用化學,2002(04).
[3] 萬常選,劉云生.電子商務的技術及其應用[J].計算機工程與應用,2002(07).
[4] 王云.標準建模語言UML簡介[J].計算機應用研究,1999,16(12).
[5] 劉超,張莉.可視化面向對象建模技術[M].北京:北京航空航天大學出版社,1999.
注:本文中所涉及到的圖表、注解、公式等內容請以PDF格式閱讀原文