一、實驗目的
1) 學習使用 EA(Enterprise Architect) 開發環境創建模型的一般方法;
2) 理解 EA 界面布局和元素操作的一般技巧;
3) 熟悉 UML 中的各種圖的建立和表示方法;
4) 掌握如何通過 EA 工具完成相關模型的建立
二、實驗內容及步驟
1、熟悉EA 環境
下載並安裝好EA軟件后,打開EA
先了解一下EA軟件各個區域的功能,如上圖。
2、采用EA工具完成以下ATM示例系統的UML模型的建立。
通過 EA 工具完成相關 UML 圖的繪制。在建立過程中嘗試理解模型元素,模型元素之間的關系。
提示:EA打開 toolbox 的快捷鍵為 alt+5
下面開始完成ATM系統的UML模型建立
(1)創建項目
點擊EA圖標,然后點擊新建項目,在彈出的窗口中選擇項目保存路徑並填寫項目名稱(ATM),點擊確定,即可完成項目的創建。
(2)創建需求
在項目瀏覽器面板創建幾個包,並在需求建模下創建兩個子包,功能性需求和非功能性需求。
在功能性需求包下新建幾個功能子包,並依次添加圖,添加方式如上。
建好包后,下面開始繪制需求模型
①卡處理模塊:從工具箱中拖出三個需求塊,分別命名為卡處理、識別卡、退卡。在連接三個需求時,由於卡處理與識別卡和退卡是聚合關系,然而單擊快速連接線連接時並沒有聚合選項,由於對EA軟件的不熟悉,我還試圖在網上找關於聚合線的按鈕,未果。后來在工具箱下面的需求關系里找到了聚合關系。
②取款模塊
③用戶登錄模塊
④查詢余額模塊
⑤用戶界面模塊
⑥添加一個標簽用以描述項目名稱----ATM功能性需求分析
(3)創建用例模型
從工具箱中拖出一個actor和三個usecase,actor名稱為用戶,3個usecase名稱分別為查詢余額、用戶登錄、取款。連接關系時,actor與usecase之間的關系時use關系,而usecase用戶登錄與查詢余額、用戶登錄與取款之間的關系應為precedes,原因是只有用戶登錄后才能進行查詢余額、取款等操作,但是由於對EA軟件的不熟悉,且與參考的視頻中EA版本不同,我並未找到precedes關系。網上查詢未果后,我使用了擴展關系線,然后將其改成了precedes。用例模型如下:
(4)創建活動圖
(5)創建狀態圖
(6)順序圖
由於順序圖太長,故截了多個圖。
三、思考題
通過網絡查找相關資料,了解有哪些工具可以支持UML模型與C++或JAVA或PYTHON代碼的相互轉換,並給出網絡鏈接及說明。
(1)StarUML。https://blog.csdn.net/weixin_43826242/article/details/105174613
(2)Rational Rose。https://blog.csdn.net/peishuai1987/article/details/89882924
(3)Enterprise Architect(簡稱EA)。https://blog.csdn.net/u010539352/article/details/38230505
(4)Visual Paradigm。https://www.visual-paradigm.com/cn/
四、實驗小結
(1)本次實驗我們初步學習了如何通過軟件來建立一個系統的UML模型。在此次學習實驗中,我也明白了為什么要學會創建一個系統的UML模型。一個系統在開始編寫代碼之前必須要有一個清晰明了的方向,編寫代碼必須設計先行。一個沒有經過設計而直接上手編寫的代碼將是雜亂無章的,而UML模型則可以很好的滿足我們的需要。
(2)本次實驗讓我對於UML模型也有了更深層次的理解,之前看視頻時總感覺這些東西看着很簡單,但是真正上手去做的時候才會發現,自己還是眼高手低了。
(3)由於對軟件的不了解,在開始做實驗時我有很多東西都不能很快找到,耽誤了很多時間。今后也要多多練習這方面,讓自己盡快熟悉起來。