自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

UML實例:ATM中的用例圖 類圖和順序圖詳解

開發(fā) 架構(gòu)
在學(xué)習(xí)UML的過程中,經(jīng)常會遇到UML實例問題,這里就向大家介紹一個UML實例,主要以ATM取款機(jī)為例向大家講解UML的使用,希望本文的介紹對你的學(xué)習(xí)有所幫助。

本節(jié)和大家一起學(xué)習(xí)一下UML實例,我們在日常生活中也經(jīng)常和ATM打交道,本節(jié)就以ATM系統(tǒng)為例將前面幾章中學(xué)到的用例圖、類圖、順序圖知識運用到此例中。下面讓我們一起來學(xué)習(xí)具體介紹吧。

統(tǒng)一建模語言UML實例

"例,比也"(《說文》),本次連載將給出一個利用UML進(jìn)行建模的完整實例,綜合應(yīng)用前面學(xué)到的知識,達(dá)到"舉此以例其余"(元劉壎《隱居通議·歐陽公》)的目的。

  在我國十年前ATM(自動取款機(jī))還是一個很新鮮的事物,現(xiàn)在在城市的大街小巷隨處可見。我們在日常生活中也經(jīng)常和ATM打交道。本章我們將以簡化的ATM系統(tǒng)為例將前面幾章中學(xué)到的用例圖、類圖、順序圖、狀態(tài)圖、活動圖及協(xié)作圖知識運用到此例中。

  1.1用例圖

  首先看一下UML實例中的用例圖,參與者"銀行儲戶"和ATM機(jī)。簡化后的ATM機(jī)僅有取款、存款及其余功能。其余功能不做詳細(xì)說明。

圖1.1自動取款機(jī)(ATM)系統(tǒng)用例圖

  銀行儲戶在ATM機(jī)上完成取款、存款及其他業(yè)務(wù)。

  1.2類圖

  我們來看一下UML實例中的類圖,圖1.2所示的銀行系統(tǒng)類圖和圖3.5是類似的,只是將工作人員換成了ATM。整個銀行系統(tǒng)包括了帳戶庫、銀行儲戶庫及ATM系統(tǒng)。

  許多單個的帳戶組成了帳戶庫。帳戶具有帳戶類型、帳戶號、余額三個屬性,均為private,其類型分別為char,int,double。六個操作分別為setType、getType、getAccountNumbe、setAccountNumbe、caculateBalance、getBalance,除caculateBalance為protected其余均為public。

  setType設(shè)置帳戶類型,返回類型為void,參數(shù)類型為char,輸入帳戶類型。

  getType獲取帳戶類型,返回類型為char,無參數(shù)。

  setAccountNumbe設(shè)置帳戶號,返回類型為void,參數(shù)類型為int,輸入帳戶號。

  getAccountNumbe獲取帳戶號,返回類型為int,無參數(shù)。

  caculateBalance計算余額,返回類型為void,參數(shù)為double,第一個參數(shù)為輸入存取款數(shù)額,第二個參數(shù)為存款余額,既為輸入也為輸出。

  getBalance獲取帳戶余額,返回類型為double,無參數(shù)。

  許多銀行儲戶組成了儲戶庫。ATM系統(tǒng)包含了許多ATM機(jī)。銀行儲戶及ATM機(jī)兩個類包含哪些屬性,哪些操作,它們的可見性及操作的返回類型、參數(shù)個數(shù)、參數(shù)類型從類圖上都一目了然。更多的屬性及操作都可以一一加上,使這個類圖更詳細(xì)更完整,從而使參與項目的每個成員都能無歧義的明了整個設(shè)計的類的結(jié)構(gòu)。同樣對于一個真正的銀行系統(tǒng),這個類圖過于簡單。比如帳戶類型我們可以先定義一個abstractclass,它包含一個帳戶最基本的屬性及操作。而有些操作先定義為abstract,如余額的計算。然后再繼承這個abstractclass,我們可以有savingaccount和checkingaccount等等。不同的帳戶有不同的余額計算方法,我們可以加上具體的算法。對于不同的帳戶可能還有一些它特有的操作,我們也可以加上,比如savingaccount在存款達(dá)到多少時可以享受機(jī)票打折的優(yōu)惠。對于此UML實例通過類圖不僅可以使設(shè)計者明確的表達(dá)自己的設(shè)計意圖,也能幫組自己整理思路,充實及優(yōu)化自己的設(shè)計。

圖1.2銀行系統(tǒng)類圖

  1.3順序圖

  再來看一下UML實例中的順序圖,圖1.3描述了顧客在ATM機(jī)上取款時信息的流動情況。以時間為順序。因為僅是示例,所以整個過程是沒有出現(xiàn)任何故障時的流程,并且只畫到了取款結(jié)束。通過這個圖,我們可以看出消息是如何在系統(tǒng)中不同對象之間進(jìn)行交互。

  通過流程圖我們可以很清楚地看到系統(tǒng)是如何工作的,系統(tǒng)各部分之間的信息及控制是如何發(fā)送的,整個流程是否合理。流程圖對我們的設(shè)計起到了很好的幫助作用。注意在本圖沒有一個生命線終端有一個"X",這是因為這個流程中還未遇到有對象生命結(jié)束。當(dāng)有對象生命結(jié)束時需在對應(yīng)的生命線終端畫"X",表明這個對象在這時被銷毀。

  首先銀行儲戶將ATM卡插入讀卡機(jī),讀卡機(jī)將信息傳給客戶管理,客戶管理提出查詢密碼,顯示部分將輸入密碼請求顯示出來…..因為這個順序圖較長,且很清晰,即便是初學(xué)者也很容易讀懂,在此就不對本圖做過多的解釋。

圖1.3ATM取款順序圖

【編輯推薦】

  1. 圖書管理系統(tǒng)中UML圖分析與設(shè)計
  2. UML類圖中的四種關(guān)系深入剖析
  3. 如何繪制UML用例圖
  4. UML中各種UML圖形的建立步驟簡明介紹
  5. UML用例圖用法實例剖析

 

責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2010-06-29 12:30:15

UML實例中ATM類圖

2010-06-18 14:56:15

UML綜合實例

2010-07-06 15:57:58

UML圖形

2010-07-02 08:57:45

UML用例圖

2010-07-09 11:01:30

UML動態(tài)建模

2010-06-08 17:01:34

UML用例圖

2010-06-10 10:53:10

UML實例

2010-06-07 19:02:52

UML用例圖

2010-07-08 16:34:01

UML包圖

2010-07-09 09:00:22

UML建模

2010-07-12 09:37:26

UML建模

2010-06-30 10:42:23

UML動態(tài)建模機(jī)制

2010-07-06 15:08:46

UML圖詳解

2010-07-01 15:22:28

UML順序圖

2010-06-29 11:00:25

UML類圖實例

2010-06-30 17:36:58

UML用例圖

2010-06-13 14:37:04

UML實踐

2010-07-01 12:53:34

UML用例圖

2010-06-09 18:56:44

UML用例圖

2010-07-05 11:01:05

常用UML圖
點贊
收藏

51CTO技術(shù)棧公眾號