實驗2 物件模型建模
一、實驗目的
1.熟悉物件模型建模方法;
2.掌握使用staruml繪製類圖的方法;
3.掌握類的描述方法。
二、實驗內容
按照以下atm系統的描述,對其進行物件模型建模。
atm系統是乙個複雜的軟體控制硬體的系統,各功能模組協調工作。以具體業務為出發點對它進行建模,乙個功能齊全的atm系統包含以下幾個模組:
(1)讀卡機模組: 客戶銀行卡插入讀卡機,讀卡機識別卡在顯示器提示輸入密碼。
(2)鍵盤輸入模組: 客戶通過鍵盤輸入密碼與取款金額,選擇要進行的業務。
(3)ic認證模組: 基於安全性,鑑別卡的真偽。
(4)顯示模組: 顯示一切與客戶有關資訊,包括互動提示、確認等資訊。
(5)吐錢機模組: 照客戶需求選擇合適面值鈔票給客戶。
(6)列印報表模組: 客戶可自由選擇列印或不列印憑條(卡號、金額、日期等資訊)。
(7)監視器模組: 設定攝像頭以防意外事件,保證交易安全性,銀行有權調看記錄。
三、實驗要求
1.繪製atm系統的類圖,並儲存為staruml檔案。
2.按照規範要求描述物件模型建模過程。
四、實驗過程
1、尋找分析類(列出所有候選類)
通過以上對atm系統的描述,讀卡機模組的功能是識別客戶的銀行卡資訊,通過查詢資料,讀卡機讀取銀行卡號後,通過查詢資料庫,識別銀行卡的型別以及所屬銀行等資訊,然後輸出資訊。因而,在atm系統中存在讀卡機和資料庫連線兩類。客戶和銀行職員為主要參與者,顯然他們是本系統的兩個類。客戶通過從鍵盤輸入資訊選擇交易型別,因此,可加入鍵盤類。在顯示模組中,螢幕向客戶輸出相關資訊,通過與客戶的資訊互動,保證業務的正常進行,可以將螢幕作為乙個類。吐錢機模組中,取款存款是系統的主要業務,所以可以加入取款機類,保證客戶服務的完整進行。列印報表模組不是必要流程,所以,我認為可以不加人類圖分析。監視器模組和客戶的操作沒有聯絡,因而,不考慮此模組。
綜上所述,在atm 系統中我們可以得出以下7個類,分別是:
①account(客戶類)
②worker(銀行職員類)
③database connector(資料庫連線類)
④screen(螢幕類)
⑤keyboard(鍵盤類)
⑥cardreader(讀卡機類)
⑦cashdispenser(取款機類)
2、確定類之間的關係(畫出初始類圖,不需要繪製類的屬性和操作)
客戶和銀行職員通過呼叫和使用資料庫完成相關的服務,可見客戶類與資料庫連線類和銀行職員類與資料庫連線類之間都是使用依賴關係。客戶通過各種操作實現對之間賬戶資訊的訪問,螢幕類、讀卡機類、取款機類作為源物件訪問客戶類,客戶類為目標物件。相同地,客戶在鍵盤輸入資訊,鍵盤作為源物件訪問螢幕。從而得到系統各個類的關係如下圖:
atm系統初始類圖:
3、確定類的屬性和操作(給出完成的類圖,包括每個類的屬性和操作)
atm系統最終類圖:
4、類的詳細說明
(1)account類的詳細說明
類名:account
屬性(attribute) accountnumber 客戶賬號
balance 餘額
操作 with_draw_money() 取款
deposit_money() 存款
transfer() 轉賬
password_change() 修改密碼
query_balance() 查詢餘額
payment() 付款
協作(與account有關的類的列表)
database connector 資料庫連線類
cardreader 讀卡機類
screen 螢幕類
cashdispenser 取款機類
(2)worker類的詳細說明
類名:worker
屬性(attribute) workernumber 職員賬號
score 現金新增數目
操作 add_money() 現金新增數目
password_change() 修改密碼
preventive() 維護裝置
協作(與worker有關的類的列表)
database connector 資料庫連線類
(3)screen類的詳細說明
類名:screen
屬性(attribute)
操作 accept_input() 接受客戶輸入資訊
show() 顯示資訊
協作(與screen有關的類的列表)
account 客戶類
keyboard 鍵盤類
(4)keyboard類的詳細說明
類名:keyboard
屬性(attribute)
操作 enter_password() 輸入密碼
select_item() 選擇交易專案
協作(與keyboard有關的類的列表)
screen 螢幕類
(5)database connector類的詳細說明
類名:database connector
屬性(attribute) username 使用者名稱
密碼操作 connect_database() 連線資料庫
exit_connect() 取消資料庫連線
協作(與database connector有關的類的列表)
account 客戶類
worker 銀行職員類
(6)cashispenser類的詳細說明
類名:cashispenser
屬性(attribute) surplusmoney 取款機餘額
操作 provide_money() 提供現金
retrieve_money() 檢索現金
accept_money() 接收現金
output_money 輸出現金
協作(與cashispenser有關的類的列表)
account 客戶類
(7)cardreader類的詳細說明
類名:cardreader
屬性(attribute) cardnumber 卡號
bankname 成績
操作 accept_card 接受卡
sallow_card 吐卡
read_card 讀卡
協作(與cardreader有關的類的列表)
account
客戶類五、實驗結果分析
六、實驗總結
七、實驗評價
實驗二 使用UML進行對ATM系統建模
實驗二 使用uml進行對atm系統建模 一 實驗目的 針對指定軟體系統的需求進行分析和設計 使用microsoft visio軟體,繪製uml圖。二 實驗裝置 計算機 microsoft visio軟體。三 實驗內容及步驟 下圖所示是乙個自動取款機 atm 系統,它的需求陳述如下 本案例將要開發的a...
ATM系統物件模型建模
實驗2 物件模型建模 一 實驗目的 1.熟悉物件模型建模方法 2.掌握使用staruml繪製類圖的方法 3.掌握類的描述方法。二 實驗內容 按照以下atm系統的描述,對其進行物件模型建模。atm系統是乙個複雜的軟體控制硬體的系統,各功能模組協調工作。以具體業務為出發點對它進行建模,乙個功能齊全的at...
物件導向與UML建模
模型是什麼?簡單地說,模型是對現實的簡化。模型提供了系統的藍圖。模型既可以包括詳細的計畫,也可以包括從高層次考慮系統的總體計畫。乙個好的模型包括那些有廣泛影響的主要元素,而忽略那些與給定抽象水平不相關的次要元素。每個系統都可以從不同的方面用不同的模型來描述,因而每個模型都是乙個在語義上閉合的系統抽象...