摘 要:UML是一種面向對象的可視化建模語言,以臺灣水果銷售網為例,闡述基于UML技術進行電子商務系統的分析和設計的過程,通過用例模型、類模型及交互模型的建立可以快速、有效地進行電子商務系統的開發。
關鍵詞: UML;電子商務系統;系統分析;系統設計;建模
中圖分類號:TP文獻標識碼:A文章編號:1672-3198(2008)09-0328-02
1 引言
面向對象的開發方法已成為當今主流的軟件開發方法,并逐漸成熟,UML 作為一種通用的建模語言,融入了軟件工程領域的新思想、新方法、新技術,在軟件的開發不同階段可以采用相同的一套概念和表示法,在同一個模型中它們可以混合使用,具有定義良好、易于表達、功能強大等優勢。電子商務系統作為一個WEB應用系統,它的分析、設計、實現和運行是一個極其復雜的過程,因此應用UML技術進行電子商務系統的分析和設計,可以快速構建一個安全、性能良好的電子商務系統。
2 UML概述
UML(Unified Modeling Language)又稱統一建模語言或標準建模語言,是一個支持模型化和軟件系統的圖形化語言,為軟件開發的所有階段提供模型化和可視化支持,由類圖、對象圖、用例圖、狀態圖、順序圖、活動圖、協作圖、構件圖、包圖及部署圖這些基本圖型組成。
2.1 UML的三種模型
電子商務的系統建設過程中,通過類模型、狀態模型和交互模型完成系統的需求分析和系統設計,這三種模型將一個系統劃分成不同的視圖,不同的模型并不是完全獨立的,而是有著清晰的互連,每一種模型都描述了系統的一個方面,但也包含了對其他模型的引用。
類模型描述狀態交互模型操作的數據結構,標識與其他對象的關系、屬性和操作。類模型提供了狀態和交互模型的上下文。對象是我們劃分世界的單元,是模型的分子。在構建類模型的過程中,目標是從真實世界中捕獲那些對應用而言重要的概念。類圖表達了類模型。
狀態模型描述對象的控制結構,描述了與時間和順序相關的對象層面,標記變化的事件,界定事件上下文的狀態,以及事件和狀態的組織。狀態圖表示狀態模型。每幅狀態圖都顯示了系統內允許的某個對象類狀態和事件序列。狀態圖會引用其他的模型。狀態圖中的動作和事件都變成了類模型中對象上的操作。狀態圖之間的引用變成了交互模型中的交互。

交互模型專注于對象之間的信息互換,并提供了系統的整體視圖。狀態和交互模型描述了行為的不同側面,它們兩者配合才能完整描述行為。順序圖顯示交互的對象和交互的時間順序。活動圖顯示計算機的處理步驟之間的控制流。
2.2 UML的開發過程
UML的開發過程包括需求獲得、系統分析、系統設計、實現和測試五個階段。
需求獲得的目的是盡可能完整、準確地捕捉系統的功能需求和其他要求,其主要工作是識別用例。用例圖表述系統參與者希望系統提供的功能,通過確定系統邊界、確定參與者、確定用例和確定參與者與用例的關系四個步驟建立用例圖。
系統分析是找出描述問題域以及系統責任所需的類及對象,定義這些對象的屬性和操作,以及它們之間靜態和動態關系,其主要工作是:識別對象、為對象分類、確定類的發生和操作、確定類之間的關系、確定對象之間的交互、確定對象狀態變化等。
系統設計是有考慮技術問題和限制的條件下,是擴展和細化系統分析階段所建立的模型,包括總體設計和詳細設計兩個階段,總體設計需定義包、包間的相關性和基本的通信規則;詳細設計描述用戶接口和數據庫包中的類,擴展和細化業務對象類的,可以通過創建新的類圖、狀態圖和動態圖類和對象從實現的角度進行細化。
實現是對類進行編程的過程。測試是以用例定義的描述為依據,驗證開發的系統是否滿足要求。分為類測試、類集成測試和系統測試,類測試是類封裝的操作和類的狀態行為所驅動的,類集成測試有兩種不同的策略:基于執行線的測試(thread-based testing)和基于使用的測試(use-based testing),系統測試是對所有類和主程序構成的整個系統的測試。
3 基于UML的電子商務系統分析設計
3.1 需求獲得
臺灣水果銷售系統是一個B2C的電子商務平臺,網上客戶通過WEB頁面訪問水果銷售系統,客戶可以直接在主頁瀏覽、查詢各種水果信息,一旦對某些水果感興趣,客戶通過驗證用戶名和口令登錄系統后,在網上直接下訂單,并可查詢訂單的執行情況。供應商可以登錄系統,對自己所銷售的水果進行管理,處理客戶所下的訂單,并進行相應的查詢。系統管理員管理客戶及供應商,并對系統維護,以保證臺灣水果銷售網的正常運行。
經分析確定該系統的角色有:客戶、供應商、系統管理員。主要用例有:系統登錄、注冊用戶、瀏覽商品、下訂單、瀏覽訂單、商品管理、訂單管理、用戶管理及系統維護。其用例圖如圖1所示。

用例圖是一種用戶和開發人員都能理解的方式描述系統的功能和行為,幫助設計人員理清思路,整理用戶的需求。用例圖完全從用戶的角度出發理解系統,并不考慮系統的具體設計和實現。它是需求分析之后各階段的開發工作的基礎。不僅在開發中保證了系統的所有功能的實現, 還可以被用于驗證和檢驗所開發的系統,從而影響到開發的各個階段和UML 的各個模型。
3.2 系統分析
系統分析的主要任務是找出描述問題域以及系統責任所需的類及對象,以及它們之間靜態和動態關系。分析類是真實世界業務概念的映射,代表了問題域中的簡潔抽象,可以使用邊界類、控制類和實體類三種不同的構造型。用類模型描述系統的靜態特征,用狀態模型及交互模型描述系統的動態特征。
經分析,臺灣水果網上銷售系統中主要的類有系統用戶、訂單、水果、訂單管理、登錄控制、商品管理,其中登錄控制為邊界類,系統用戶、水果、訂單為實體類,訂單管理和商品管理為控制類,它們之間的關系如圖2所示。
行為圖描述系統的動態模型和組成對象間的交互關系。其中狀態圖描述類的對象所有可能的狀態以及事件發生時狀態的轉移條件。通常,狀態圖是對類圖的補充。在實用上并不需要為所有的類畫狀態圖,僅為那些有多個狀態其行為受外界環境的影響并且發生改變的類畫狀態圖。活動圖描述滿足用例要求所要進行的活動以及活動間的約束關系,有利于識別并行活動。
交互模型是以消息完成對象之間的交互來描述系統的行為,交互圖表示了對象之間的動態交互關系,可以用來說明一個場景,即描述一個事務的歷史過程,著重體現對象間消息傳遞的時間順序,可通過順序圖和協作圖建立交互模型。順序圖顯示對象之間的動態合作關系,它強調對象之間消息發送的順序,同時顯示對象之間的交互;協作圖描述對象間的協作關系,協作圖跟順序圖相似,顯示對象間的動態協作關系,除顯示信息交換外,協作圖還顯示對象以及它們之間的關系;如果強調時間和順序,則使用順序圖;如果強調上下級關系,則選擇協作圖。網上下訂單的順序圖如圖3所示。
3.3 系統設計
系統設計包括總體設計和詳細設計兩個階段,總體設計需定義包、包間的相關性和基本的通信規則,按應用的層次可將包分為用戶接口包、業務邏輯包和數據存取包,用戶接口包通過WEB界面為用戶提供查詢、操作的數據錄入及相應結果的返回;業務處理包包括分析域中的全部特定域類,實現業務過程的處理;數據存取包提供類和對象保存。
在本系統中,業務邏輯處理如圖4所示,訂單處理子系統實現網上訂單的接收和管理;商品管理子系統實現網上所售各種水果的管理,包括產品類別、定價等;結算處理子系統實現對訂單的結算;訂單查詢子系統可實現訂單的內容、訂單執行狀態等信息的查詢。
詳細設計描述用戶接口和數據庫包中的類,擴展和細化業務對象類的,可以通過創建新的類圖、狀態圖和動態圖類和對象從實現的角度進行細化。如圖5所示,訂單類可細化為添加訂單和查詢訂單類,對于添加訂單類具有客戶名、訂單日期、交貨地點、訂單水果品種及數量等屬性,并可通過建立連接、修改、關閉等事件與數據相連,實現相關的業務操作。詳細設計中類的細化使編程人員可以很容易設計數據庫和程序代碼。
4 結束語
UML是一種表達力豐富的建模語言,可應用于在電子商分析和設計的全過程,利用UML技術可以構造一個科學準確的電子商務系統模型,從而對降低系統的開發成本、提高勞動生產率、合理化配置資源都將起到積極的作用,必將得到更廣泛的應用。未來的研究工作將是探索如何從UML直接生成面向對象的Java代碼,發揮UML工具的最強大作用,為電子商務系統的軟件開發提供更大的支持。
參考文獻
[1]徐寶文,周毓明,盧紅敏.UML與軟件建模[M].北京:清華大學出版社,2006,(6).
[2]Joseph Schmuller著,李虎,趙龍剛譯.UML基礎、案例與應用[M].北京:人民郵電出版社,2007,(1).
[3][美] Michael Blaha ,James Rumbaugh著.Object-Oriented Modeling and Design with UML [M].北京:人民郵電出版社,2006,(7).
[4]徐天宇編著.電子商務系統規劃與設計[M].北京:清華大學出版社,2006,(5).
[5]王家華編著.軟件工程[M].遼寧:東北大學出版社,2003,(8).