佛山職業(yè)技術(shù)學(xué)院 馮欣悅
基于UML的銀行管理系統(tǒng)的建模
佛山職業(yè)技術(shù)學(xué)院馮欣悅
本文簡單介紹了UML的基本建模方法,通過分析銀行管理系統(tǒng),結(jié)合軟件工程面向?qū)ο蟮姆治龇椒ㄅc開發(fā)技術(shù),基于UML設(shè)計(jì)了系統(tǒng)的用例模型、靜態(tài)模型、動(dòng)態(tài)模型以及部署模型,使得系統(tǒng)開發(fā)人員根據(jù)建立起來的模型進(jìn)行編碼,降低了系統(tǒng)的開發(fā)成本,減小了系統(tǒng)的開發(fā)風(fēng)險(xiǎn),從而為系統(tǒng)的順利開發(fā)與正確實(shí)施提供了保證。
UML;用例;模型;銀行管理系統(tǒng)
UML(Unified Modeling Language)的中文名稱翻譯為“統(tǒng)一建模語言”,它是一種標(biāo)準(zhǔn)語言,它的定義良好、易于表達(dá)并且功能強(qiáng)大。UML的目標(biāo)之一就是為開發(fā)團(tuán)隊(duì)提供標(biāo)準(zhǔn)通用的設(shè)計(jì)語言來開發(fā)和構(gòu)建計(jì)算機(jī)應(yīng)用。當(dāng)模型建立之后,模型可以被UML工具轉(zhuǎn)化成指定的程序語言代碼。
UML主要有用例模型、靜態(tài)模型、動(dòng)態(tài)模型與部署模型,使用這四種模型,開發(fā)者可以從各個(gè)角度來觀察和展示系統(tǒng)的建模。本文結(jié)合Rational Rose2003工具,通過UML來設(shè)計(jì)銀行管理系統(tǒng),并詳細(xì)的闡述了UML的建模過程。
2.1系統(tǒng)總體需求分析
銀行是金融機(jī)構(gòu)之一,它與我們的生活息息相關(guān)。在現(xiàn)實(shí)生活中,銀行的業(yè)務(wù)及其功能非常的復(fù)雜,為了便于學(xué)習(xí),本文只簡單介紹了銀行這個(gè)龐大系統(tǒng)最基本的功能。本銀行系統(tǒng)的功能如下:
(1)客戶可以開戶。(2)客戶可以存錢。(3)客戶可以對(duì)已存入的錢進(jìn)行管理,可以查看余額、取款以及轉(zhuǎn)賬等。
(4)客戶可以銷戶。
2.2建立系統(tǒng)用例模型
銀行職員用例圖(見圖1):
(1)登錄銀行系統(tǒng)。銀行職員只有順利通過系統(tǒng)的身份驗(yàn)證才能登錄系統(tǒng)并進(jìn)入銀行系統(tǒng)進(jìn)行下一步的操作。
(2)管理客戶的賬戶,包括:創(chuàng)建賬戶、刪除賬戶以及修改賬戶信息。
圖1 銀行職員用例圖
圖2 客戶用例圖
客戶用例(見圖2)如下:
(1)存款。銀行職員幫助客戶將錢存入客戶賬戶中。
(2)取款。銀行職員幫助客戶將錢從自己賬戶中取出。
(3)轉(zhuǎn)賬。銀行職員可以幫助客戶轉(zhuǎn)賬,可以轉(zhuǎn)至同一銀行的其它賬戶,也可以轉(zhuǎn)至不同銀行的不同賬戶。轉(zhuǎn)賬又分為兩種:本行轉(zhuǎn)賬和跨行轉(zhuǎn)賬,轉(zhuǎn)賬與本行轉(zhuǎn)賬和跨行轉(zhuǎn)賬之間是繼承關(guān)系。
2.3建立系統(tǒng)靜態(tài)模型
根據(jù)系統(tǒng)需求,創(chuàng)建系統(tǒng)靜態(tài)模型。我們可以分析出系統(tǒng)中存在的主要實(shí)體類:Bank、Account以及Customer。
輔助類:Deposit、Withdraw以及 Transfer轉(zhuǎn)賬,這三個(gè)類又可以抽象出父類Transaction。
用戶界面類:MainForm、LoginFrame、QueryFormo、WithdrawForm、AccountForm、以及TransferForm。(見圖3)
圖3 銀行管理系統(tǒng)類圖
2.4建立系統(tǒng)動(dòng)態(tài)模型
2.4.1 銀行職員登錄銀行系統(tǒng)的系列圖(見圖4)與交互圖(見圖5)
銀行職員登錄銀行系統(tǒng)用例的工作流程:
(1)銀行職員進(jìn)入系統(tǒng),打開LoginFrame,輸入自己的用戶名和密碼并提交。
(2)系統(tǒng)對(duì)銀行職員輸入的用戶名和密碼進(jìn)行驗(yàn)證,如果正確,則創(chuàng)建系統(tǒng)主界面。
(3)如果用戶名和密碼不正確,未通過驗(yàn)證,則返回錯(cuò)誤提示信息。2.4.2 銀行賬戶狀態(tài)圖(見圖5)
圖4 銀行職員登錄銀行系統(tǒng)的序列圖
圖5 銀行職員登錄銀行系統(tǒng)的交互圖
在銀行系統(tǒng)中,賬戶有明確的狀態(tài)轉(zhuǎn)換。賬戶包含以下三種狀態(tài):被創(chuàng)建的新賬戶、被修改后賬戶、睡眠賬戶和被刪除的賬戶。
(1)當(dāng)客戶開立賬戶時(shí),將創(chuàng)建一個(gè)新的賬戶。
(2)客戶若要求修改原來賬戶的內(nèi)容,則賬戶信息被修改。
(3)賬戶長期擱置未使用,銀行則認(rèn)為賬戶進(jìn)入了睡眠賬戶狀態(tài)。
(4)客戶不再使用該賬戶,可對(duì)賬戶進(jìn)行注銷,賬戶被刪除。
圖5 銀行賬戶狀態(tài)圖
圖6 銀行職員登錄系統(tǒng)活動(dòng)圖
2.4.3銀行職員登錄系統(tǒng)活動(dòng)圖
銀行職員登錄系統(tǒng)的活動(dòng)圖(見圖6)中,創(chuàng)建了Clerk和System兩個(gè)泳道,具體活動(dòng)描述如下:
(1)系統(tǒng)要求用戶需輸入用戶名和密碼、并做出提示。
(2)銀行職員輸入用戶名和密碼并提交,系統(tǒng)收到用戶名和密碼并驗(yàn)證是否正確。
(3)如用戶名和密碼正確,則進(jìn)入主界面,否則,則顯示錯(cuò)誤信息,并提示用戶需重新輸入。
2.5建立系統(tǒng)部署模型(見圖7)
在銀行管理系統(tǒng)中,系統(tǒng)包括In Client、 Out Client、Database Server以及Bank Server四個(gè)節(jié)點(diǎn)。
圖7 銀行管理系統(tǒng)部署圖
本文以銀行管理系統(tǒng)為例,描述了基于 UML 的建模過程,通過 Rational Rose 2003 工具對(duì)銀行管理系統(tǒng)進(jìn)行了面向?qū)ο蟮慕TO(shè)計(jì),建立了系統(tǒng)的用例、靜態(tài)、動(dòng)態(tài)以及部署四種模型。無論所要開發(fā)的系統(tǒng)所屬什么領(lǐng)域,無論所面對(duì)的工程項(xiàng)目多么復(fù)雜,設(shè)計(jì)者都可以借助UML來進(jìn)行規(guī)劃和設(shè)計(jì),并以此來對(duì)系統(tǒng)的機(jī)構(gòu)進(jìn)行描述,從而使得開發(fā)人員在編碼前有了參照,進(jìn)而加快了開發(fā)的速度,提高了開發(fā)的質(zhì)量。這一技術(shù)的深入與普及,促進(jìn)了整個(gè)軟件產(chǎn)業(yè)的快速發(fā)展。