【UML建模案例】小型网上书店系统
小型網上書店系統
- 前言
- 一、案例簡介
- 二、使用工具
- 三、軟件過程
- 四、系統的UML基本模型
- 總結
前言
最近上半年的浙江軟考已經取消,于是開始高強度系統復習Java面向對象的各個知識點,順便將UML的系統性學習提上日程。
這里先附上本項目的.eap工程文件(須用Enterprise Architect打開)、生成的Java代碼以及參考教材存放的github倉庫地址
https://github.com/2820881540/online_book_store_system_UML.git
PS: 學校對于UML的教學很不重視,只給了2個選修學分,選不上就只能自學了
一、案例簡介
這里對于UML的重要性和一些基礎的定義不再贅述,詳細內容可參考呂云翔教授的《UML與Rose建模實用教程》,本案例就以該教材第15章的內容"小型網上書店系統"為例,通過一個簡單但完整軟件過程進行UML建模實踐學習。
二、使用工具
關于建模工具除了教材中展示的Rose之外,還可選擇PowerDesigner、Visio或 Enterprise Architect。
其中Rose過于古老而且安裝破解很麻煩。
PowerDesigner雖上手容易但我對該軟件的審美不敢恭維。
最后還是選擇功能最強大的Enterprise Architect來進行建模
三、軟件過程
1、 項目背景描述
隨著互聯網時代的到來,相對于實體書店,很多人選擇網絡購書。某公司計劃建立一個網上書店,需要本軟件團隊來為公司開發一款“小型網上書店系統”。
系統的主要功能是實現用戶通過互聯網的圖書購買。未注冊的用戶(以下稱為游客)可以通過本系統搜索圖書,并可以查看圖書的書名、作者、價格等一系列基本圖書信息,還可以通過注冊來成為網上書店的會員(注冊用戶)。會員仍然具有游客除了注冊之外的所有功能,還可以進行圖書的購買操作。購買行為又稱作交易, 每一次交易對應著一張訂單。
為了方便,本系統擬提供會員對已下訂單的管理功能。 一個典型的會員購買流程如下。
?用戶(注冊并)登錄; ?用戶在瀏覽圖書時選擇其中一本; ?填寫姓名、收貨地址、手機號等必要信息;(在這一步生成訂單) ?用戶確認訂單,并通過第三方支付平臺進行支付; ?支付成功,通知書店發貨; ?書店發貨; ?用戶收貨,并確認收貨。(訂單生命周期結束)考慮到網絡交易的非實時性,訂單的處理情況可能比較復雜(尤其是涉及取消訂單和退貨問題時),在實現時需要注意這一點。
2、系統需求分析
使用以下包含4個步驟的建模方法進行該項目的需求分析。
3、用戶管理模塊
用戶管理選塊的核心任務是提供用戶的注冊、登錄、個人信息添加和修改等功能。 本模塊涉皮的參與者包括游客、會員和管理員。對于三種不同的參與者分別存在以下功能。
?游客可以通過本模塊進行注冊和登錄;?會員可以通過本模塊添加個人信息、修改個人信息;個人信息包括昵稱、密碼、個人描述、 常用收貨地址等。?管理員通過本模塊對已注冊用戶(會員)進行管理,包括對一些常常進行非法操作的賬號進行封禁和銷號等。4、訂單管理模塊
訂單管理模塊的主要任務是管理用戶的訂單,即已確認和未確認的購買記錄。本模塊涉及的參與者主要為會員。
會員可以通過本模塊對指定圖書進行購買操作,生成訂單;可以對已有的訂單進行管理;可以取消一份未確認的訂單。
5、書目管理模塊
書目管理模塊的主要功能是管理網上書店的書目信息。本模塊設計的參與者為管理員。管理員可以通過本模塊進行圖書上新、下架、信息修改等工作。
四、系統的UML基本模型
1、需求分析階段模型
小型網上書店系統的整體用例圖如下。通過對項目背景進行需求分析,得到用戶管理模塊的主要業務參與者有游客、會員和管理員。另外還有一個外部服務參與者——第三方支付系統。
2、基本動態模型
(1)用戶登錄活動圖 用戶登錄的主要過程為:?用戶進入登錄界面; ?輸入用戶名、密碼、驗證碼; ?單擊登錄; ?系統對輸入信息進行驗證; ?驗證成功則用戶以會員身份進入網站,否則返回跳轉至重新進行登錄驗證。 (2)取消訂單活動圖 在本系統中,取消訂單是一個比較復雜的用例。 在訂單處于不同狀態時取消訂單的用例事件流有比較大的變化, 對這樣經常需要根據條件變化的事件過程適宜建立活動圖。 (3)提交訂單協作圖 提交訂單用例涉及用戶界面、訂單控制和數據庫管理三個對象,以及一個數據庫組件。 會員通過用戶界面來新建訂單、填寫必要信息并提交; 訂單提交到訂單控制對象時需要經過信息校驗, 校驗成功后通過數據庫管理類來向數據庫中記錄訂單信息, 數據庫將成功消息沿著各個類反向傳遞回用戶界面。 (4)訂單實體狀態圖 訂單實體在本系統中存在未確認、已確認、已發出、已取消和已確認收貨五個狀態, 不同狀態的語義如下:?未確認:用戶選擇了購買商品,輸入了必要的信息(如收貨地址等),但沒有確認購買; ?已確認:用戶確認購買并付款,網站正在對訂單進行處理或剛剛處理完畢,書店方面沒有發貨;?已發出:書店已經發貨,此時不支持從網站退貨,若退貨則需要另行和工作人員聯系; ?已取消:未發貨的訂單被取消,交易結束;?已確認收貨:用戶確認收到了商品,交易結束。 (5)添加圖書順序圖添加圖書的基本步驟如下。?管理員在圖書管理界面中選擇“添加圖書”; ?界面類返回一個添加圖書的操作界面; ?管理員錄入新圖書的各個信息并單擊“提交”按鈕; ?界面類向圖書管理控制類發出添加圖書請求,并將圖書信息傳給控制類; ?控制類收到添加圖書請求,執行一定方法,通過圖書數據管理類向數據庫中錄入信息; ?圖書數據管理類錄入成功,向控制類返回成功信息; ?控制類返回成功信息,由界面類向管理員呈現最終的成功界面。3、類的設計與實現
(1)系統設計類
4、系統的組件圖
5、系統的部署圖
總結
依照教材,使用 Enterprise Architect 針對本管理系統共繪制了9幅UML圖,其中最核心的是類圖、用例圖、順序圖,這三者分別描述了系統的靜態結構、系統開發的驅動因素以及系統動態的時間結構。
通過對UML建模的初步學習,幫助我有效完善了對軟件過程的理解,相信之后在參與真實的項目時不至于無從下手。
另外,本模型是筆者在短期內使用操作較為復雜的Architect繪制的UML圖倉促趕制的,必然會存在各種各樣的缺陷和不足之處(如對于各種類、接口關聯類型的選擇和構造型的設置問題),希望大家能多多提供批評和建議。
總結
以上是生活随笔為你收集整理的【UML建模案例】小型网上书店系统的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 2020软考程序员考试大纲要求的必会单词
- 下一篇: HTML网上书店代码,jsp网上书店系统