UML建模案例——網(wǎng)上訂單處理系統(tǒng)-PPT
單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,UML,統(tǒng)一建模語言,UML,統(tǒng)一建模語言,單擊此處編輯母版標題樣式,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,*,重點內(nèi)容:,需求分析,創(chuàng)建系統(tǒng)用例模型,創(chuàng)建系統(tǒng)靜態(tài)模型,創(chuàng)建系統(tǒng)動態(tài)模型,創(chuàng)建系統(tǒng)部署模型,網(wǎng)上訂單處理系統(tǒng),1,一、需求分析,隨著網(wǎng)絡的發(fā)展和計算機的普及,越來越多的企業(yè)都在因特網(wǎng)上建立了自己的企業(yè)網(wǎng)站。網(wǎng)上訂單處理系統(tǒng)就是企業(yè)在進行網(wǎng)上銷售活動時,利用計算機來對客戶選擇產(chǎn)品的訂單進行系統(tǒng)的處理,從而提高企業(yè)經(jīng)營管理的效益。,網(wǎng)上訂單處理系統(tǒng)的功能性需求包括以下內(nèi)容:,(,1,)客戶在企業(yè)網(wǎng)站中選擇需要的產(chǎn)品并放入購物車,進行訂購。,(,2,)客戶輸入購買細節(jié),提交訂單,系統(tǒng)自動將訂單信息保存到數(shù)據(jù)庫。,(,3,)客戶能夠要求企業(yè)營銷人員與自己聯(lián)系,進一步了解產(chǎn)品、協(xié)商價格,確認訂單的細節(jié)。,(,4,)企業(yè)營銷人員在收到客戶的聯(lián)系要求后,及時與客戶聯(lián)系,為客戶提供咨詢服務,確認訂單的細節(jié)。如果需要修改原訂單,將修改后的訂單信息更新到數(shù)據(jù)庫并向客戶發(fā)出訂單確認信息。,(,5,)客戶收到訂單確認信息后,匯款或網(wǎng)上支付產(chǎn)品款項至企業(yè)銀行賬戶。,(,6,)訂單處理系統(tǒng)檢查用戶帳號及付款金額,若金額無誤,修改訂單狀態(tài),將付款成功信息通知營銷人員。,(,7,)訂單處理系統(tǒng)從數(shù)據(jù)庫中獲取訂購信息和收到的付款信息生成發(fā)票后將該發(fā)票提供給營銷人員。營銷人員發(fā),E-mail,通知客戶已發(fā)貨,并將發(fā)票提供給倉庫管理員。,(,8,)系統(tǒng)從數(shù)據(jù)庫中獲得該客戶的訂單信息和個人資料,生成訂購信息列表,將該列表提供給倉庫管理員。由倉管員根據(jù)訂購信息列表配貨后,向客戶發(fā)貨并附上發(fā)票。最后修改訂單的狀態(tài)。,2,二、,創(chuàng)建系統(tǒng)用例模型,客戶用例能夠通過該系統(tǒng)進行如下活動:,(,1,)選擇產(chǎn)品。客戶可以查詢所需要的產(chǎn)品,包括價格和型號等。將選中的產(chǎn)品加入購物車,同時,客戶可隨時增減購物車內(nèi)產(chǎn)品,界面自動對總價進行更新。,(,2,)訂購產(chǎn)品??蛻艨梢暂斎胍环葙徺I產(chǎn)品的訂單,該訂單包括提供送貨地址,以及相關付款的情況。,(,3,)協(xié)商聯(lián)絡??蛻粢鬆I銷人員在訂單確認之前與自己聯(lián)系,進一步了解產(chǎn)品的細節(jié)、協(xié)商價格等。,(,4,)付款??蛻羰盏接唵未_認信息后,通過匯款或網(wǎng)上,支付完成付款。,3,二,、,創(chuàng)建系統(tǒng)用例模型,營銷人員用例能夠通過該系統(tǒng)進行如下活動:,(,1,)聯(lián)絡協(xié)商。營銷人員聯(lián)系客戶,對訂單細節(jié)進行解釋,并協(xié)商價格。按協(xié)商后的結果修改原訂單,將新的訂單信息保存到數(shù)據(jù)庫中。,(,2,)修改訂單狀態(tài)??蛻籼峤挥唵魏?,營銷人員檢查訂單后,發(fā)送,e-mail,給客戶,修改訂單為確認狀態(tài)??蛻舾犊畛晒?,錢款到賬,金額無誤,營銷人員修改訂單為付款成功狀態(tài)。,(,3,)通知發(fā)貨。營銷人員確認客戶付款無誤后,將客戶訂購信息提交給倉庫管理員以便及時配貨和發(fā)貨。,(,4,)打印發(fā)票。營銷人員使用系統(tǒng)從數(shù)據(jù)庫中提取訂購信息和收到的付款信息生成發(fā)票。發(fā),E-mail,給客戶,通知已發(fā)貨。,4,二、,創(chuàng)建系統(tǒng)用例模型,倉庫管理員用例比較簡單,能夠通過該系統(tǒng)修改訂單狀態(tài)。當倉庫管理員向客戶發(fā)貨后,將訂單狀態(tài)修改為已發(fā)貨。,5,三、創(chuàng)建系統(tǒng)靜態(tài)模型,根據(jù)系統(tǒng)需求,創(chuàng)建靜態(tài)系統(tǒng)類圖。我們可以識別系統(tǒng)中存在的主要實體類:客戶類(,Customer,)、營銷人員類(,Salesman,)、倉庫管理員類(,Warehouse Manager,)、產(chǎn)品類(,Product,)、付款類(,Payment,)、發(fā)票類(,Invoice,)和訂單類(,Order,)。,輔助類:數(shù)據(jù)庫類(,DataBase,)和商品列表類(,List,)。,界面類:產(chǎn)品界面類(,ProductForm,),購物清單界面(,ShoppingListForm,)、查詢界面(,QueryForm,)、輸入訂單界面(,InputForm,)和訂單服務界面(,OrderForm,)。,6,三、,創(chuàng)建系統(tǒng)動態(tài)模型,1,、客戶選擇產(chǎn)品的序列圖和交互圖,客戶選擇產(chǎn)品的工作流程:,(,1,)客戶進入選擇產(chǎn)品的界面,ProductForm,,獲得產(chǎn)品的信息。,(,2,)客戶將選擇的產(chǎn)品放入購物車,通過,List,類中的計算方法,獲得總價格并將價格返回到,ProductForm,界面。,(,3,)客戶進入顯示購物清單的界面,ShoppingListForm,,查看購物詳情。,(,4,)客戶可以修改購物清單中產(chǎn)品的內(nèi)容,,ShoppingListForm,會重新計算總價并顯示修改后的購物清單。,7,大家應該也有點累了,稍作休息,大家有疑問的,可以詢問和交流,8,三、,創(chuàng)建系統(tǒng)動態(tài)模型,2,、客戶訂購產(chǎn)品的序列圖和交互圖,客戶訂購產(chǎn)品的工作流程:,(,1,)客戶在訂單信息界面,InputForm,輸入訂單信息。,(,2,)界面將信息發(fā)送到訂單類,Order,創(chuàng)建新訂單。同時通過付款類,Payment,設置訂單的狀態(tài)。,(,3,)然后,Order,類將訂單信息保存到數(shù)據(jù)庫,DataBase.,(,4,)最后向界面,InputForm,返回訂單詳情。,9,三、創(chuàng)建系統(tǒng)動態(tài)模型,客戶與營銷人員協(xié)商聯(lián)絡的工作流程描述如下:,(,1,)客戶在提交訂單后選擇在界面,InputForm,發(fā)送消息給,Salesman,要求咨詢。,(,2,)營銷人員接到咨詢請求信息后,從數(shù)據(jù)庫,DataBase,獲得客戶訂單的詳細情況。,(,3,)接著營銷人員與客戶進行聯(lián)系,為客戶提供咨詢服務,雙方就訂單細節(jié)問題進行溝通。,(,4,)雙方達成共識后,如果需要修改現(xiàn)有訂單的內(nèi)容,由營銷人員在訂單界面,OrderForm,修改,然后將修改好的訂單內(nèi)容通知,Order,類,訂單類負責將修改好的訂單數(shù)據(jù)保存到數(shù)據(jù)庫,DataBase,。,3,、,客戶和營銷員協(xié)商聯(lián)絡訂的序列圖和交互圖,10,三、創(chuàng)建系統(tǒng)動態(tài)模型,客戶付款的工作流程:,(,1,)客戶根據(jù)訂單金額完成付款。,(,2,)系統(tǒng)中的付款類,Payment,,得到客戶付款到賬的消息,馬上對到賬的金額進行確認是否與訂單中的應付金額一致。如果金額無誤,確定付款成功。,(,3,)付款類,Payment,設置付款狀態(tài)為已付款。同時,Payment,發(fā)送,E-mail,告知客戶錢款已收到。,(,4,)付款類通知訂單類,Order,更改訂單狀態(tài)為已支付,并更新數(shù)據(jù)庫訂單的信息。,(,5,)如果客人支付的金額有問題,向客戶發(fā)生,E-mail,告知支付的金額有誤。,4,、,客戶付款的序列圖和交互圖,11,三、創(chuàng)建系統(tǒng)動態(tài)模型,營銷人員修改訂單狀態(tài)的工作流程:,(,1,)營銷人員在確認客戶付款無誤的前提下,在訂單服務界面,OrderForm,進行訂單狀態(tài)的修改。,(,2,)訂單服務界面將修改后的訂單狀態(tài)通知訂單類,Order,,由,Order,對指定的訂單的狀態(tài)進行重新的設定。,(,3,),Order,對象將修改好的訂單狀態(tài)保存到數(shù)據(jù)庫,DataBase,。,5,、營銷員修改訂單狀態(tài)的序列圖和交互圖,12,三、創(chuàng)建系統(tǒng)動態(tài)模型,營銷人員打印發(fā)票的工作流程:,(,1,)營銷人員訂單服務界面,OrderForm,請求獲得客戶訂單詳情。,OrderForm,從數(shù)據(jù)庫,DataBase,獲得訂單詳情并返回給訂單服務界面,(,2,)營銷人員在,OrderForm,界面執(zhí)行打印發(fā)票的命令。打印完畢后將發(fā)票發(fā)送給倉庫管理員。,6,、營銷員打印發(fā)票序列圖和協(xié)作圖,13,三、創(chuàng)建系統(tǒng)動態(tài)模型,營銷員通知倉管員發(fā)貨的工作流程:,(,1,)營銷人在訂單服務界面,OrderForm,將客戶的購物清單發(fā)送到倉庫管理員處。,(,2,)倉庫管理獲得購物清單后,根據(jù)購物清單進行配貨。,(,3,)倉庫管理隨即向客人發(fā)貨并附上發(fā)票。,(,4,)然后倉庫管理員修改訂單的狀態(tài)。同時,將訂單更改后的數(shù)據(jù)保存到數(shù)據(jù)庫。,7,、營銷員通知倉管員發(fā)貨的序列圖和協(xié)作圖,14,三、創(chuàng)建系統(tǒng)動態(tài)模型,在網(wǎng)上訂單處理系統(tǒng)中,客戶付款行為包含以下三種狀態(tài):未付款狀態(tài)、部分付款狀態(tài)、全額付款狀態(tài)。它們之間的轉化規(guī)則是:,(,1,)客戶確認訂購產(chǎn)品,企業(yè)接受客戶的訂單后,付款行為進入未付款階段。,(,2,)當客戶支付了部分款項后,客戶的付款行為進入部分付款狀態(tài)。,(,3,)當支付完全部的款項后,客戶的付款行為進入全額付款狀態(tài)。,8,、付款行為狀態(tài)圖,15,三、創(chuàng)建系統(tǒng)動態(tài)模型,9,、訂單對象狀態(tài)圖,在網(wǎng)上訂單處理系統(tǒng)中,訂單對象包含以下六種狀態(tài):未確認狀態(tài)、已取消狀態(tài)、被確認狀態(tài)、已修改狀態(tài)、已付款狀態(tài)和已完成狀態(tài)。它們之間的轉化規(guī)則是:,(,1,)客戶在線訂購產(chǎn)品后,建立了一個新的訂單,訂單處于未經(jīng)雙方確認的狀態(tài)。,(,2,)在未向客戶發(fā)貨前,客戶可以隨時取消訂單,此時訂單處于已取消的狀態(tài)。,(,3,)當雙方確認訂單內(nèi)容后,訂單處于確定的狀態(tài)。,(,4,)同樣,在未向客戶發(fā)貨前,客戶隨時可以修改訂單的內(nèi)容,這時訂單屬修改狀態(tài)。,(,5,)客戶支付清全額款項后,訂單進入已付款狀態(tài)。,(,6,)當向客戶發(fā)貨完畢后,訂單進入已完成狀態(tài)。,16,三、創(chuàng)建系統(tǒng)動態(tài)模型,10,、客戶選擇產(chǎn)品活動圖,在客戶選擇產(chǎn)品的活動圖中,活動的對象是客戶,具體的活動過程描述如下:,(,1,)客戶進入顯示產(chǎn)品的界面,瀏覽產(chǎn)品和選擇自己需要的產(chǎn)品。,(,2,)客戶將選擇好的產(chǎn)品放入購物車。,(,3,)客戶可以對購物車中的產(chǎn)品進行增減。,(,4,)客戶確定購買購物車中的產(chǎn)品,在界面提交訂購信息。,17,三、創(chuàng)建系統(tǒng)動態(tài)模型,11,、客戶訂購產(chǎn)品活動圖,客戶訂購產(chǎn)品的活動圖中,活動的對象是客戶和系統(tǒng),我們使用二個泳道圖來表示活動的過程,具體描述如下:,(,1,)客戶在訂購界面輸入訂購產(chǎn)品的詳細信息。,(,2,)系統(tǒng)生成新的訂單,并將訂單保存到數(shù)據(jù)庫。,(,3,)將訂單已被接受的信息和訂單詳細的情況通過,E-mail,發(fā)送給客戶。,18,三、創(chuàng)建系統(tǒng)動態(tài)模型,12,、客戶聯(lián)系營銷員活動圖,客戶與營銷人員聯(lián)絡協(xié)商的活動圖。在活動圖中的二個泳道,分別是客戶泳道和營銷人員泳道,具體的活動過程描述如下:,(,1,)用戶訂購產(chǎn)品后,在界面發(fā)送信息給營銷人員要求咨詢訂單和產(chǎn)品詳情。,(,2,)營銷人員接到該消息后立即與客戶取得聯(lián)系,雙方就訂單內(nèi)容進行協(xié)商并對訂單內(nèi)容予以最終的確認。,(,3,)如果最終確認的訂單內(nèi)容與原訂單有出入,營銷人員修改原訂單,然后將修改后的訂單保存到數(shù)據(jù)庫。,19,三、創(chuàng)建系統(tǒng)動態(tài)模型,13,、客戶付款活動圖,對于客戶付款的活動圖,創(chuàng)建了二個泳道,分別是客戶泳道和付款對象,具體活動過程描述如下:,(,1,)用戶通過匯款或網(wǎng)上支付的方式付款到企業(yè)開立銀行賬戶內(nèi)。,(,2,)系統(tǒng)接收到到款通知后,由付款對象對到賬的金額進行核實。如果金額與應付的金額有出入,立即向客戶發(fā)生錯誤信息。,(,3,)如果金額正確,修改付款狀態(tài)和訂單狀態(tài)。,(,4,)同時,將數(shù)據(jù)保存到數(shù)據(jù)庫。,20,三、創(chuàng)建系統(tǒng)動態(tài)模型,14,、通知倉管員發(fā)貨活動圖,通知倉管員發(fā)貨的活動圖。在活動圖中有二個泳道,分別是客戶泳道和營銷人員泳道,具體的活動過程描述如下:,(,1,)營銷人員在確定客戶付款金額正確無誤后,從數(shù)據(jù)庫獲得客戶的訂購清單。,(,2,)然后將訂購清單發(fā)送到倉庫管理員處,通知倉管員及時向客戶發(fā)貨。,(,3,)倉庫管理員接到通知后,立即根據(jù)客戶的購物清單進行配貨并向客戶發(fā)貨。,(,4,)倉庫管理員發(fā)貨后,修改訂單的狀態(tài)并保存到數(shù)據(jù)庫,。,21,三、創(chuàng)建系統(tǒng)動態(tài)模型,15,、營銷員打印發(fā)票活動圖,營銷人員打印發(fā)票的活動圖。在活動圖中二個泳道,分別是營銷人員泳道和倉庫管理員泳道,具體的活動過程描述如下:,(,1,)營銷人員在確定客戶付款金額正確無誤后,從數(shù)據(jù)庫獲得客戶的訂單和付款的詳細信息。,(,2,)然后打印發(fā)票。,(,3,)將打印好的發(fā)票轉送到倉庫管理員處。,(,4,)倉庫管理員發(fā)貨時將發(fā)票一并附上。,22,四、創(chuàng)建系統(tǒng)部署模型,