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

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

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