UML實(shí)例中ATM類圖和用例圖解析
在學(xué)習(xí)UML的過(guò)程中,經(jīng)常會(huì)遇到UML實(shí)例問(wèn)題,這里就向大家介紹一個(gè)UML實(shí)例中ATM類圖和類圖,主要以ATM取款機(jī)為例向大家講解UML的使用,希望本文的介紹對(duì)你的學(xué)習(xí)有所幫助。
UML實(shí)例中ATM類圖和用例圖
"例,比也"(《說(shuō)文》),本次連載將給出一個(gè)利用UML進(jìn)行建模的完整實(shí)例,綜合應(yīng)用前面學(xué)到的知識(shí),達(dá)到"舉此以例其余"(元?jiǎng)丁峨[居通議·歐陽(yáng)公》)的目的。
在我國(guó)十年前ATM(自動(dòng)取款機(jī))還是一個(gè)很新鮮的事物,現(xiàn)在在城市的大街小巷隨處可見(jiàn)。我們?cè)谌粘I钪幸步?jīng)常和ATM打交道。本章我們將以簡(jiǎn)化的ATM系統(tǒng)為例將前面幾章中學(xué)到的用例圖、類圖、順序圖、狀態(tài)圖、活動(dòng)圖及協(xié)作圖知識(shí)運(yùn)用到此例中。
1.1UML實(shí)例中ATM用例圖
首先看一下UML實(shí)例中的用例圖,參與者"銀行儲(chǔ)戶"和ATM機(jī)。簡(jiǎn)化后的ATM機(jī)僅有取款、存款及其余功能。其余功能不做詳細(xì)說(shuō)明。
圖1.1自動(dòng)取款機(jī)(ATM)系統(tǒng)用例圖
銀行儲(chǔ)戶在ATM機(jī)上完成取款、存款及其他業(yè)務(wù)。
1.2UML實(shí)例中ATM類圖
圖1.2銀行系統(tǒng)類圖
我們來(lái)看一下UML實(shí)例中ATM類圖,圖1.2所示的銀行系統(tǒng)類圖和圖3.5是類似的,只是將工作人員換成了ATM。整個(gè)銀行系統(tǒng)包括了帳戶庫(kù)、銀行儲(chǔ)戶庫(kù)及ATM系統(tǒng)。
許多單個(gè)的帳戶組成了帳戶庫(kù)。帳戶具有帳戶類型、帳戶號(hào)、余額三個(gè)屬性,均為private,其類型分別為char,int,double。六個(gè)操作分別為setType、getType、getAccountNumbe、setAccountNumbe、caculateBalance、getBalance,除caculateBalance為protected其余均為public。
setType設(shè)置帳戶類型,返回類型為void,參數(shù)類型為char,輸入帳戶類型。
getType獲取帳戶類型,返回類型為char,無(wú)參數(shù)。
setAccountNumbe設(shè)置帳戶號(hào),返回類型為void,參數(shù)類型為int,輸入帳戶號(hào)。
getAccountNumbe獲取帳戶號(hào),返回類型為int,無(wú)參數(shù)。
caculateBalance計(jì)算余額,返回類型為void,參數(shù)為double,***個(gè)參數(shù)為輸入存取款數(shù)額,第二個(gè)參數(shù)為存款余額,既為輸入也為輸出。
getBalance獲取帳戶余額,返回類型為double,無(wú)參數(shù)。
許多銀行儲(chǔ)戶組成了儲(chǔ)戶庫(kù)。ATM系統(tǒng)包含了許多ATM機(jī)。銀行儲(chǔ)戶及ATM機(jī)兩個(gè)類包含哪些屬性,哪些操作,它們的可見(jiàn)性及操作的返回類型、參數(shù)個(gè)數(shù)、參數(shù)類型從類圖上都一目了然。更多的屬性及操作都可以一一加上,使這個(gè)類圖更詳細(xì)更完整,從而使參與項(xiàng)目的每個(gè)成員都能無(wú)歧義的明了整個(gè)設(shè)計(jì)的類的結(jié)構(gòu)。同樣對(duì)于一個(gè)真正的銀行系統(tǒng),這個(gè)類圖過(guò)于簡(jiǎn)單。比如帳戶類型我們可以先定義一個(gè)abstractclass,它包含一個(gè)帳戶最基本的屬性及操作。而有些操作先定義為abstract,如余額的計(jì)算。然后再繼承這個(gè)abstractclass,我們可以有savingaccount和checkingaccount等等。不同的帳戶有不同的余額計(jì)算方法,我們可以加上具體的算法。對(duì)于不同的帳戶可能還有一些它特有的操作,我們也可以加上,比如savingaccount在存款達(dá)到多少時(shí)可以享受機(jī)票打折的優(yōu)惠。對(duì)于此UML實(shí)例中ATM類圖不僅可以使設(shè)計(jì)者明確的表達(dá)自己的設(shè)計(jì)意圖,也能幫組自己整理思路,充實(shí)及優(yōu)化自己的設(shè)計(jì)。
【編輯推薦】
- UML精粹 UML類圖全面剖析
- 專家指導(dǎo) UML類圖關(guān)系表示方法
- 四種UML類圖關(guān)系簡(jiǎn)明介紹
- UML類圖關(guān)系大全
- UML基礎(chǔ)與應(yīng)用--UML類圖解析