軟件工程-ATM舉例課件_第1頁
軟件工程-ATM舉例課件_第2頁
軟件工程-ATM舉例課件_第3頁
軟件工程-ATM舉例課件_第4頁
軟件工程-ATM舉例課件_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

采用OMT方法對銀行網(wǎng)絡系統(tǒng)ATM(AutoTradeMachine)進行分析和設計。一、問題的陳述銀行網(wǎng)絡系統(tǒng)包括人工出納和分行共享的自動出納機;各分理處用自己的計算機處理業(yè)務(保存賬戶、處理事務等);各分理處與出納站通過網(wǎng)絡通信;出納站錄入賬戶和事務數(shù)據(jù);自動出納機與分行計算機通信;自動出納機與用戶接口,接受現(xiàn)金卡;發(fā)放現(xiàn)金;打印收據(jù);分行計算機與撥款分理處結賬。要求系統(tǒng)正確處理同一賬戶的并發(fā)訪問;網(wǎng)絡費用平均攤派給各分理處。圖1給出了銀行網(wǎng)絡系統(tǒng)的示意圖。銀行網(wǎng)絡系統(tǒng)ATM(AutoTradeMachine)退出下頁末頁案例一

銀行網(wǎng)絡系統(tǒng)ATM(AutoTradeMachine)自動出納機自動出納機自動出納機出納站分理處計算機分理處計算機出納站賬戶賬戶圖1銀行網(wǎng)絡系統(tǒng)的示意圖用戶分行計算機退出下頁末頁案例一

二、類的識別方法

常用的識別類的方法有:名詞識別法、系統(tǒng)實體識別法、使用重用、從用例中識別類等。1、名詞識別法

識別問題域中的實體,實體的描述通常用名詞、名詞短語、名詞性代詞的形式出現(xiàn)。用指定語言對系統(tǒng)進行描述;從系統(tǒng)描述中標識名詞、名詞短語、名詞性代詞;識別確定(取、舍)類。退出上頁首頁下頁末頁在確定類時,常使用兩類技術:

⑴分解技術將整體類和組合類分解??煽刂茊蝹€類的規(guī)模。⑵抽象技術根據(jù)一些類的相似性建立抽象類,并建立抽象類與這些類之間的繼承關系。抽象類實現(xiàn)了系統(tǒng)內部的重用,很好地控制了復雜性,并為所有子類定義了一個公共的界面,使設計局部化,提高系統(tǒng)的可修改性和可維護性。

三、建立對象模型根據(jù)下述原則進一步確定類:①去掉冗余類(一)確定類采用名詞識別法:檢查問題陳述中的所有名詞,得到初始類:軟件銀行網(wǎng)絡分行計算機系統(tǒng)分行出納站分理處分理處計算機自動出納機出納員帳戶數(shù)據(jù)帳戶現(xiàn)金卡事務數(shù)據(jù)用戶顧客收據(jù)記錄保管事務費用安全措施訪問現(xiàn)金

退出上頁首頁下頁末頁②去掉不相干的類③刪除模糊的類④刪除那些性質獨立性不強的,而應該是類“屬性”的候選類⑤

所描述的操作不適宜作為對象類

(二)為每個建模實體準備數(shù)據(jù)詞典—描述模板對類進行精確描述,如ATM系統(tǒng)中類的范圍、成員、方法的限制等。(三)確定關聯(lián)

兩個或多個類之間的相互依賴關系就是關聯(lián),實現(xiàn)關聯(lián)的方式有多種。關聯(lián)通常用描述性動詞和動詞詞組表示。關聯(lián)通常由以下方面確定:1、銀行網(wǎng)絡系統(tǒng)問題陳述中抽取可能的關聯(lián)(動詞詞組)2、隱含的動詞詞組3、基于問題域的知識4、去掉不必要和不正確的關聯(lián)三、建立對象模型退出上頁首頁下頁末頁

3、基于問題域的知識

分理處雇傭的出納員現(xiàn)金卡訪問帳戶2、隱含的動詞詞組分行由分理處組成分理處擁有賬戶分行擁有分行計算機系統(tǒng)提供記錄保管系統(tǒng)提供安全顧客有現(xiàn)金卡(三)確定關聯(lián)退出上頁首頁下頁末頁

4、去掉不必要和不正確的關聯(lián)

使用下列標準去掉不必要和不正確的關聯(lián):

(1)

若某個類已被刪除,那么與它有關的關聯(lián)也必須刪除或者用其他類來重新表述。在示例中,刪除了“銀行網(wǎng)絡”,相關的關聯(lián)也要刪除。(2)不相干的關聯(lián)或實現(xiàn)階段的關聯(lián)。刪除所有問題域之外的關聯(lián)或涉及實現(xiàn)結構中的關聯(lián),如“系統(tǒng)處理并發(fā)訪問”就是一種實現(xiàn)的概念。(3)動作。關聯(lián)應描述應用域的結構性質而不是瞬時事件,因此應刪除“自動出納機接受現(xiàn)金卡”,“自動出納機與用戶接口”等。(4)

派生關聯(lián),省略那些可以用其他關聯(lián)來定義的關聯(lián)。因為這種關聯(lián)是冗余的。銀行網(wǎng)絡系統(tǒng)的初步對象圖如圖2所示,其中含有關聯(lián)。退出上頁首頁下頁末頁

圖2初始對象圖

建立對象模型圖2銀行網(wǎng)絡系統(tǒng)的初始對象類圖分行分理處帳戶顧客分行計算機自動出納機遠程事務分理處計算機出納員現(xiàn)金卡出納站出納事務通信通信所有所有所有雇傭涉及涉及訪問授權有有保管組成錄入錄入錄入退出上頁首頁下頁末頁1+1..*1..*1..*1..*1..*1..*1..*1..*1+1..*

確定類屬性退出上頁首頁下頁末頁圖3銀行網(wǎng)絡系統(tǒng)的部分屬性自動出納機分發(fā)現(xiàn)金遠程事務種類,日期,時間,數(shù)量顧客名字地址現(xiàn)金卡密碼雇員號站代碼分理處名字賬戶號卡片碼銀行碼分理處計算機賬戶余額、類型貸款限定出納員名字出納事務出納站銀行碼分行分行計算機銀行碼站代碼

(五)使用繼承來細化類

使用繼承來共享公共結構,以此來重新組織類:1、自底而上

將現(xiàn)有類的共性一般化為父類。找出具有相同屬性、關聯(lián)、操作的類,來發(fā)現(xiàn)繼承,例如:“出納事務”和“遠程事務”其屬性與主要操作是是類似的,則將它們的共性一般化,得到父類“事務”。2、自頂而下將現(xiàn)有類細化為更具體的子類。

若假設的具體化與現(xiàn)有的類發(fā)生沖突,則說明該類結構不恰當,當同一關聯(lián)名多次出現(xiàn),且意義也相同時,應盡量具體化為相聯(lián)系的類。例如“事務”從“出納站”和“自動出納機”進入,“錄入站”就是“出納站”和“自動出納機”的一般化。

圖4給出了加入繼承后銀行網(wǎng)絡系統(tǒng)的對象模型。退出上頁首頁下頁末頁從一般類發(fā)現(xiàn)特殊類公司職員股東姓名身分證號碼……股份……職員工資……公司職員姓名身分證號碼股份工資…………………………??圖4使用繼承來細化類退出上頁首頁下頁末頁圖4銀行網(wǎng)絡系統(tǒng)的對象模型銀行碼出納站錄入站遠程事務賬戶余額、類型貸款限定顧客名字地址出納員名字現(xiàn)金卡密碼事務種類,日期,時間,數(shù)量分行計算機銀行碼站代碼銀行碼分行自動出納機分發(fā)現(xiàn)金出納事務雇員號站代碼分理處名字賬戶號卡片碼銀行碼分理處計算機

(六)完善對象模型在軟件開發(fā)的全過程中,需要不斷地完善對象模型??梢詮囊韵聨追矫婵紤]:

1、檢查是否有缺少的對象

如果一個類中,存在毫無關系的屬性和操作,則應該分解這個類。

一般化體系不清楚,可分離為兩個類。

存在名稱及目的相同的冗余關聯(lián),則通過一般化創(chuàng)建一個父類,并組織關聯(lián)。

2、查找多余的類若類中缺少屬性、操作和關聯(lián),刪除該類。

3、查找缺少的關聯(lián)4、系統(tǒng)的改進

退出上頁首頁下頁末頁⑴現(xiàn)金卡有多個獨立的特性,分解為卡片權限和現(xiàn)金卡??ㄆ瑱嘞奘倾y行用來鑒別用戶訪問權限的卡片,表示一個或多個用戶帳戶的訪問權限;各個卡片權限對象中可能具有好幾個現(xiàn)金卡,每張都帶有安全碼、卡片碼,它們附在現(xiàn)金卡上,表示銀行的卡片權限。⑵為了“事務”與“賬戶”之間的傳輸描述具有一般性,增加“更新”。因為一般在每個賬戶中,一個“事務”包括一個或多個“更新”,一個“更新”是對賬戶的一個動作,它們是取款、存款、查詢之一。即事務由若干更新組成,更多涉及到賬戶。⑶由于“分理處”與“分理處計算機”之間的區(qū)別不影響分析,可將“分理處計算機”并入“分理處”。同理,將“分行計算機”并入“分行”。

四、建立動態(tài)模型動態(tài)分析從尋找外部可見的模擬和響應事件開始,確定各對象的可能事件的順序,在分析階段不考慮算法的執(zhí)行,它是實現(xiàn)模型的一部分。通常動態(tài)模型有:事件跟蹤表、狀態(tài)圖。建立動態(tài)模型的步驟分為4步:

1、準備典型的對話腳本腳本是事件序列,每當系統(tǒng)中的對象與外部用戶發(fā)生互換信息時,就產(chǎn)生一個事件,所互換的信息值就是該事件的參數(shù)。對于各事件,應確定觸發(fā)事件的動作對象和該事件的參數(shù)。包括“正常腳本”、“例外腳本”,退出上頁首頁下頁末頁自動出納機與用戶交互的正常的腳本如下所示:⑴自動出納機請求用戶插入卡片;用戶插入現(xiàn)金卡。⑵自動出納機接受卡片并讀出它的卡號。⑶自動出納機要求密碼,用戶鍵入密碼“4011”。⑷自動出納機與分行確認卡號和密碼;分理處檢查它并通知承兌的自動出納機。⑸自動出納機要求選擇事務類型(取款、存款、轉戶及查詢),用戶選擇取款。⑹自動出納機要求現(xiàn)金數(shù)量;用戶輸入¥100。⑺自動出納機要求分行處理事務;分行把要求轉給分理處,確認事務成功。⑻自動出納機分發(fā)現(xiàn)金并且要求用戶取現(xiàn)金;用戶取現(xiàn)金。⑼自動出納機提示用戶是否想繼續(xù);用戶指出不繼續(xù)。⑽自動出納機打印收據(jù),退出卡,并請求用戶取出它們;用戶拿走收據(jù)和卡。⑾自動出納機請求用戶插入。

自動出納機與用戶交互的例外的腳本如下所示:

⑴自動出納機請求用戶插入卡;用戶插入現(xiàn)金卡。⑵自動出納機接受卡并讀它的卡號。⑶自動出納機要求密碼;用戶鍵入:9999:。⑷自動出納機與分行確認卡號和密碼,在咨詢分理處后拒絕它。⑸自動出納機指示密碼錯并要求重新鍵入;用戶鍵入:4011,分行確認成功。⑹自動出納機請求用戶選擇事務類型;用戶選擇取款。⑺自動出納機請求鍵入現(xiàn)金數(shù)量;用戶改變選擇并鍵入“CANCEL”(取消)。退出上頁首頁下頁末頁退出上頁首頁下頁末頁

圖7系統(tǒng)的事件圖自動出納機的事件流圖退出上頁首頁下頁末頁圖7銀行網(wǎng)絡系統(tǒng)的事件圖用戶分理處自動出納機分行確認卡及銀行,處理銀行事務分理處事務成功、失敗,分理處賬戶正確事務成功、事務失敗、賬戶正確、不正確賬戶、密碼、銀行代碼插入卡,輸入密碼,類型,取現(xiàn)金,取卡不顯示主屏可讀卡,要求密碼、類型、數(shù)量,取消信息,分發(fā)現(xiàn)金,要求繼續(xù),不正確賬戶信息確認賬戶處理事務4、構造狀態(tài)圖

對各對象類建立狀態(tài)圖,反映對象接收和發(fā)送的事件,每個腳本或事件跟蹤表都對應于狀態(tài)圖中一條路徑。

1)從影響建模的類的事件跟蹤表入手選擇一條路徑,該路徑描述了一種典型的交互并且只考慮那些影響單個對象的事件,把這些事件放入一條路徑,路徑的弧用跟蹤表上某列上的輸入輸出事件來標識,兩個事件之間的間隔就是一個狀態(tài),給每個狀態(tài)起名字,名字是有意義的,這張初始圖就是事件和狀態(tài)的一個序列。

2)從圖中找循環(huán)如果事件序列無限地重復,則構成一個循環(huán)。可能使用有限的事件序列取代循環(huán)。

為重要的類建立狀態(tài)圖退出上頁首頁下頁末頁“自動出納機”類的狀態(tài)圖開始do/顯示屏檢查do/要求密碼插入卡[可讀]輸入密碼核對do/確認帳戶帳戶正確選擇do/要求類型輸入類型輸數(shù)據(jù)do/要求數(shù)量不可讀do/不可讀卡信息密碼錯取消取卡片取消do/取消信息帳戶錯誤do/帳戶錯誤信息帳戶錯失敗do/失敗信息等5秒取消輸入事務事務do/處理事務發(fā)現(xiàn)金do/分發(fā)現(xiàn)金事務成功繼續(xù)否do/請求繼續(xù)取現(xiàn)金結束do/打印收據(jù)卡片退出do/退出卡,取卡片終止插入卡[不可讀]取消繼續(xù)取消事務失敗圖9分行類的狀態(tài)圖退出末頁

圖9“分行”類的狀態(tài)圖do:處理分理處事務do:確認分理處代碼do:確認卡[正確代碼]分理處事務成功/事務成功處理事務確認賬戶[錯誤代碼]/錯的分理處代碼錯的分理處賬戶/錯的賬戶錯的分理處密碼/錯的密碼分理處賬戶OK/賬戶OK分理處事務失?。聞帐∩享撌醉撓马揹o:更新賬戶do:確認卡片號do:確認密碼[有效][成功]/分理處事務成功處理分理處事務確認分理處與卡片[無效]/錯的分理處賬戶[無效]/錯的分理處密碼[有效]/分理處賬戶OK[失?。荩掷硖幨聞帐D10“分理處”類的狀態(tài)圖

五、建立功能模型

功能模型描述了值之間的依賴關系,通常用分層的數(shù)據(jù)流圖描述。數(shù)據(jù)流圖有助于表示功能依賴關系,其中的處理對應于狀態(tài)圖的活動和動作,數(shù)據(jù)流對應于對象圖中的對象或屬性。建立功能模型的步驟是:1、確定輸入、輸出值

先列出輸入、輸出值,輸入輸出值是系統(tǒng)與外部世界之間的事件的參數(shù)。退出上頁首頁下頁末頁圖11自動出納機的輸入輸出值現(xiàn)金卡用戶自動出納機銀行碼卡片碼賬戶類型事務類型密碼現(xiàn)金收據(jù)信息

圖12自動出納機頂層數(shù)據(jù)流圖自動出納機頂層數(shù)據(jù)流圖2、建立數(shù)據(jù)流圖退出上頁首頁下頁末頁數(shù)據(jù)流圖說明輸出值是怎樣從輸入值得來的,數(shù)據(jù)流圖通常按層次組織。最頂層由單個處理組成,也可由收集輸入、計算值及生成結果的一個綜合處理構成。圖給出自動出納機頂層數(shù)據(jù)流圖。

現(xiàn)金卡用戶讀輸入執(zhí)行事務產(chǎn)生輸出賬戶結算銀行碼卡碼密碼數(shù)量事務類型現(xiàn)金收據(jù)信息賬戶類型圖13自動出納

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論