蘇杰
摘要:伴隨著面向?qū)ο蠹夹g(shù)在開發(fā)系統(tǒng)上越來(lái)越多的應(yīng)用,UML建模語(yǔ)言也在系統(tǒng)開發(fā)的各個(gè)階段占據(jù)著越來(lái)越重要的作用。本文以在線商城項(xiàng)目開發(fā)為例從UML的角度對(duì)項(xiàng)目開發(fā)進(jìn)行了分析與設(shè)計(jì),從而幫助項(xiàng)目開發(fā)人員更好地運(yùn)用UML進(jìn)行項(xiàng)目開發(fā)。
關(guān)鍵詞:面向?qū)ο蠹夹g(shù);UML;項(xiàng)目開發(fā)
中圖分類號(hào):TP311.52 文獻(xiàn)標(biāo)識(shí)碼:A
UML是Unified Modeling Language的簡(jiǎn)稱,是一種基于面向?qū)ο蠹夹g(shù)的非專利的標(biāo)準(zhǔn)建模語(yǔ)言,它的應(yīng)用領(lǐng)域非常廣泛,可用于多種類型軟件系統(tǒng)開發(fā)建模的各個(gè)階段,因此它已成為國(guó)際軟件界廣泛認(rèn)可承認(rèn)的標(biāo)準(zhǔn)。UML可用來(lái)描述系統(tǒng)中主要對(duì)象的屬性和方法以及對(duì)象之間的相互關(guān)系即靜態(tài)結(jié)構(gòu),除此之外,UML還可用來(lái)描述系統(tǒng)中重要對(duì)象的時(shí)間特性和對(duì)象間為完成某個(gè)目標(biāo)而相互進(jìn)行通信機(jī)制的動(dòng)態(tài)行為。
1系統(tǒng)功能分析
一是前臺(tái)功能系統(tǒng),用戶進(jìn)入網(wǎng)站和使用服務(wù)的人口。其中服務(wù)就包括商品信息展示:使用戶能夠觀看到商品分類展示,單個(gè)分類中分頁(yè)顯示,可以點(diǎn)擊按鈕加入購(gòu)物車,也可以查看商品的詳細(xì)信息,觀看以前瀏覽過(guò)的商品。注冊(cè)登錄:需要信息驗(yàn)證,符合條件才可注冊(cè),注冊(cè)后用戶登錄系統(tǒng)內(nèi)部,顯示用戶信息,進(jìn)行相關(guān)操作。購(gòu)物車。進(jìn)行商品的維護(hù)(包括移除某個(gè)商品、添加某個(gè)商品等)、下訂單并結(jié)算訂單。
二是后臺(tái)功能系統(tǒng),提供網(wǎng)站管理者維護(hù)和定義網(wǎng)站服務(wù)的功能。其中包括:1)用戶信息管理,錄用用戶的個(gè)人資料,同時(shí)可以刪除某些不守規(guī)則的用戶。2)商品信息管理,商品類別管理和具體商品管理,商品要屬于某個(gè)商品類別,可以對(duì)商品進(jìn)行搜索。訂單管理,訂單查詢(可以根據(jù)訂單號(hào)、訂貨人查詢),訂單維護(hù)(修改相關(guān)信息),訂單執(zhí)行(錄入訂單所處的階段,比如審核通過(guò),配貨,發(fā)貨并確認(rèn))。留言簿,錄入回復(fù),刪除某個(gè)留言和回復(fù)。
2利用UML進(jìn)行建模
2.1角色分析
根據(jù)在線商城的功能,該系統(tǒng)的用戶主要分為2類:一類是在線商城的普通用戶和注冊(cè)會(huì)員的用戶,一類是在線商城的管理員。普通用戶只是作為瀏覽網(wǎng)站的人員,注冊(cè)用戶是經(jīng)過(guò)網(wǎng)站注冊(cè)可以購(gòu)買商品等一系列操作的用戶,管理員是作為商品維護(hù)、管理注冊(cè)用戶等操作的人員。
2.2用例圖
用例圖(Use Case Diagram)是指由參與者、邊界、用例以及他們之間的關(guān)系構(gòu)成用于描述系統(tǒng)功能的視圖。用例圖是外部用戶所能管餐刀的系統(tǒng)功能的模型圖。用例圖是系統(tǒng)的藍(lán)圖。用例圖呈現(xiàn)了一些參與者,一些用例以及他們之間的關(guān)系,主要用于對(duì)系統(tǒng)、子系統(tǒng)或類的功能行為進(jìn)行建模。
如圖1所示展示客戶的用例圖??蛻艨梢酝ㄟ^(guò)系統(tǒng)進(jìn)行如商品查詢、商品詳情、留言、注冊(cè)、查看購(gòu)物車等功能。
2.3類圖
類圖(Class Diagram)是用來(lái)顯示系統(tǒng)中的類、接口、協(xié)作以及它們之間的靜態(tài)結(jié)構(gòu)和關(guān)系的一種靜態(tài)模型。類圖不顯示暫時(shí)性的信息、類圖是面向?qū)ο蠼5闹饕M成部分,它被用于描述軟件系統(tǒng)的結(jié)構(gòu)結(jié)構(gòu)化設(shè)計(jì),從而使人們能更好理解軟件系統(tǒng),同時(shí)也是系統(tǒng)編碼與測(cè)試的重要模型依據(jù)。
用戶類:用來(lái)描述使用該系統(tǒng)的所用用戶信息。用戶的基本個(gè)人信息包括編號(hào)、密碼、姓名、電話、地址等。
管理員類:用來(lái)管理此系統(tǒng)的人員信息。
顧客類:描述顧客信息。
訂單類:描述訂單信息。
商品信息維護(hù)類:進(jìn)行商品信息修改的操作。
管理員和顧客繼承用戶,管理員和用戶可以管理賬單,商品信息管理類使用商品類。
2.4包圖
包圖(Packet diagram)在UML值改變類似與文件夾的符號(hào)表示的模型元素的組合。系統(tǒng)中的每個(gè)元素只能為一個(gè)包所有,一個(gè)包可嵌套在另一個(gè)包中。試用包圖可以將相關(guān)元素歸為一個(gè)系統(tǒng)。
根據(jù)系統(tǒng)的功能將系統(tǒng)的包圖分為前臺(tái)與后臺(tái)的包圖,便于將系統(tǒng)做整體的處理,如圖3所示為前端功能的包圖。
2.5順序圖
順序圖(Sequence Diagram)描述對(duì)象之間的動(dòng)態(tài)協(xié)作和交互尤其是對(duì)象之間消息的時(shí)間順序,可以用來(lái)表示用例中的行為順序。順序圖顯示在系統(tǒng)執(zhí)行時(shí)某個(gè)指定時(shí)間點(diǎn)將要發(fā)生的事情,圖中的一條消息對(duì)應(yīng)一個(gè)類操作中引起轉(zhuǎn)換的觸發(fā)事件。
圖4顯示顧客在購(gòu)買商品時(shí)的順序圖。顧客通過(guò)輸入賬戶和密碼登錄進(jìn)系統(tǒng),進(jìn)入系統(tǒng)后可以進(jìn)入商品列表,提示選擇商品,當(dāng)顧客找到自己心怡的商品后就可以把商品添加進(jìn)購(gòu)物車,相應(yīng)的操作會(huì)觸發(fā)數(shù)據(jù)庫(kù),從而增加購(gòu)物車的數(shù)量。
2.6活動(dòng)圖
活動(dòng)圖(Activity Diagram)是用來(lái)表示在處理某個(gè)活動(dòng)時(shí)兩個(gè)或更多對(duì)象之間的過(guò)程控制流程,活動(dòng)圖有多個(gè)工作狀態(tài)組成,動(dòng)作狀態(tài)表示一個(gè)工作步驟,當(dāng)一個(gè)狀態(tài)完成,動(dòng)作狀態(tài)將會(huì)轉(zhuǎn)換為一個(gè)新的狀態(tài),控制在互相連接的兩個(gè)狀態(tài)之間流動(dòng),同時(shí)活動(dòng)圖還是可以顯示條件和決策以及動(dòng)作狀態(tài)的并發(fā)執(zhí)行?;顒?dòng)圖描述系統(tǒng)使用的活動(dòng)、判定點(diǎn)和分支。
管理員輸入用戶名和密碼后進(jìn)人在線商城后臺(tái)管理頁(yè)面。如果密碼或者用戶名輸入錯(cuò)誤就會(huì)結(jié)束并顯示重新登錄。管理員可進(jìn)入后臺(tái),可以進(jìn)行系統(tǒng)設(shè)置、訂單管理、商品管理、會(huì)員管理以及留言簿管理等活動(dòng)。在會(huì)員和商品管理中,管理員可以查看會(huì)員和商品信息、修改會(huì)員和商品信息。
4結(jié)束語(yǔ)
本文以在線商城作為背景,結(jié)合UML語(yǔ)言和面向?qū)ο蟮姆椒ㄟM(jìn)行了系統(tǒng)的分析與設(shè)計(jì)。本文先以系統(tǒng)的總體入手,接著又分別從UML語(yǔ)言中的幾個(gè)圖形人手進(jìn)行了分析,使得在線商城系統(tǒng)的開發(fā)流程更加清晰,項(xiàng)目開發(fā)的效率大大提高。因此,對(duì)于開發(fā)人員來(lái)說(shuō)熟練掌握UML建模語(yǔ)言具有十分重要的作用。