網站首頁 個人文件 個人總結 工作總結 述職報告 心得體會 演講稿 講話致辭 實用文 教學資源 企業文化 公文 論文
當前位置:蒙田範文網 > 論文 > 理工論文

ATM系統分析與設計

欄目: 理工論文 / 釋出於: / 人氣:3.21W

                                  ATM系統分析與設計

ATM系統分析與設計

摘要:結合軟體工程相關理論,採用OMT方法對銀行網路系統ATM(Auto Trade Machine)進行分析和設計。

一.     問題需求分析

銀行網路系統包括人工出納和分行共享的自動出納機;各分理處用自己的計算機處理業務;各分理處與出納站通過網路通訊;出納站錄入賬戶和事務資料;自動出納機與分行計算機通訊;自動出納機與使用者介面,接受銀行卡,發放現金,列印收據;分行計算機與撥款分理處結賬。

要求系統能正確處理同一賬戶的併發訪問;網路費用平均攤派給各分理處。

分行計算機

分理處計算機

分理處計算機

分理處計算機

賬戶

賬戶

賬戶

自動取款機

 

 

自動取款機

自動取款機

                       銀行網路系統的示意圖

二.     軟體工程相關理論

u OMT是Object Modeling Technology的縮寫, 意為物件建模技術.   面向物件建模方法有很多種,也都在進一步的發展和完善中。OMT法是目前最為成熟和實用的方法之一。它從三個方面對系統進行建模,每個模型從一個側面反映系統的特性,三個模型分別是:物件模型、動態模型和功能模型。

主要的概念包括:類、屬性、操作、繼承、關聯(即關係)、聚集 

動態模型描述系統那些隨時間變化的方面,其主要概念有:狀態、子狀態和超狀態、事件、行為、活動。

功能模型描述系統內部資料值的轉換,其主要概念有:加工、 資料儲存、資料流、控制流、角色。該方法將開發過程分為四個階段:

 1 分析。基於問題和使用者需求的描述,建立現實世界的模型。

分析階段的產物有:問題描述、物件模型=物件圖+資料詞典、動態模型=狀態圖+全域性事件流圖 、功能模型=資料流圖+約束

2 系統設計。結合問題域的知識和目標系統的體系結構(求解域),將目標系 統分解為子系統。該階段的主要產物是:系統設計文件:基本的系統體系結構和高層次的決策 

3 物件設計。基於分析模型和求解域中的體系結構等新增的實現細節,完成系 統設計。主要產物包括:細化的物件模型、細化的動態模型、細化的功能模型 

4 實現。將設計轉換為特定的程式語言或硬體,同時保持可追蹤性、靈活性和可擴充套件性。  

u 類的識別方法

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

1.  名詞識別法

訪方法的關鍵是識別問題域中的實體,實體的描述通常以名詞、名詞短評、名詞性代詞的形式出現。首先對系統進行描述,從系統描述中標識名詞、名詞性代詞,在列出系統可能的類的基礎上,進一步識別類。

2.  系統實體識別法

該方法只考慮系統中的人員、組織、地點、表格、報告等實體,經過分析將它們識別為類。被標識的實體有:系統需要儲存、分析、處理的資訊實體,系統內部需要處理的裝置,與系統互動的外部系統,系統相關人員,系統的組織實體。

在確定類時,常使用兩類技術:

1)  分解技術:將整體類和組合類進行分解,可控制單個類的規模。

2)  抽象技術:根據一些類的相似性建立抽象類,並建立抽象類與這些類之間的繼承關係。抽象類實現了系統內部的重用,很好地控制了複雜性,併為所有子類定義了一個公共的介面,使設計區域性化,提高了系統的可修改性和可維護性。

三.     建立物件模型

1.  確定類

採用名詞識別法,檢查問題陳述中的所有名詞、名詞短語,列出所有可能的類,現根據以下原則進一步確定類:

1)  去掉冗餘類

2)  去掉不相關的類

3)  刪除模糊的類

4)  刪除獨立性不強的類,而應該是類的“屬性”的類。

5)  所描述的操作不適宜作為物件的類

   最終確定的類為:

分行計算機  分行  出納站  出納員 分理處  分理處計算機  自動出納機 賬戶  銀行卡  顧客  事務

2.  為每個建模實體準備資料

3.  確定關聯

兩個或多個類之間的相互信賴就是關聯,實現關聯的方式有多種。關聯通常用描述性動詞和動詞片語表示。銀行網路系統問題中的關聯:

l  銀行網路包括出納站和處動取款機

l  分行共享自動取款機

l  分理處提供分理處計算機

l  分理處計算機儲存賬戶

l  分理處計算機處理賬戶支付事務

l  分理處擁有出納站

l  出納站與分行計算機通訊

l  出納員為賬戶錄入事務

l  自動取款機接受銀行卡

l  自動取款機與使用者介面

l  自動取款機發放現金

l  自動取款機列印收據

l  系統處理併發訪問

l  分理處提供軟體

l  費用分攤給分理處

4.使用下列標準去掉不必要的和不正確的關聯。

1)  若某個類已被刪除,那麼與它有關的關聯也必須刪除或者用其他類來重新表述。

2)  不相干的關聯或實現階段的關聯。刪除所有問題域之外的關聯或涉及實     現結構中的關聯。如“系統處理併發訪問”就是一種實現的概念。

3)動作。關聯應描述應用域的結構性質而不是瞬時事件。因此應刪除“自動取款機接受銀行卡“,“自動取款機與使用者介面“。

4)      派生關聯。省略那些可以用其他關聯來定義的關聯。

5.確定類屬性

屬性通常用修飾性的名詞片語來表示。可按下列標準刪除不必要的和不正確的屬性: 1)限定詞。若屬性值固定下來後,能減少關聯的重數,則可考慮把該屬性重新表述為一個限定詞。

2)內部值。若屬性描述了物件的非公開的內部狀態,則應從物件模型中刪除訪屬性

3)細化。在分析階段應忽略那些不可能對大多數操作有影響的屬性。

6.使用繼承來細化類

有兩種方法:自底向上和自頂向下。1)自底向上:將現有的類的共性一般化為父類。2)自頂向下:將現有類細化為更具體的子類。

7.完美物件模型

在軟體開發的過程中,需要不斷的完美物件模型。可以從以下幾個方面考慮。1)檢查是否有缺少的物件。2)查詢多餘的類。3)查詢缺少的關聯4)系統的改進。由於“分理處”與“分理處計算機”之間的區別不影響分析,可將其合併為“分理處”。同理,將“分行計算機”併入“分行”。

四.    建立動態模型

動態分析從尋找外部可見的模擬和響應事件開始,確定各物件的可能事件的順序,在分析階段不考慮演算法的執行,它是實現模型的一部分。通常動態模型有事件跟蹤表和狀態圖。

建立動態模型的步驟為:

1.  準備典型的對話指令碼

指令碼是事件序列,每當系統中的物件與外部使用者發生互換資訊時,就產生一個事件,所互換的資訊值就是該事件的引數。對於各事件,應該確定觸發事件的動作物件和該事件的引數,包括正常指令碼、例外指令碼。

自動出納機與使用者互動的正常指令碼如下:

1)  自動取款機請求使用者插入銀行卡,使用者插入銀行卡

2)  自動取款機接受銀行卡並讀出它的卡號

3)  自動取款機要求密碼,使用者輸入

4)  自動取款機與分行確認卡號和密碼,分理處檢查並反饋兌現

5)  自動取款機要求選擇事務型別(取款、存款、轉帳或查詢),若使用者選擇取款

6)  自動取款機要求輸入現金數量

7)  自動取款機分發現金並要求使用者取現金,使用者取現金

8)  自動取款機查問使用者是否列印收據,若選擇“是”

9)  自動取款機列印收據,請求使用者取出它

10)      自動取款機詢問是否繼續,使用者選擇“不繼續”,自動出納機退出卡

11)      自動取款機退出卡並且請求使用者取卡,使用者取卡

12)      自動取款機請求使用者插入銀行卡

自動取款機與使用者互動的例外指令碼如下:

1)  自動取款機請求使用者插入銀行卡,使用者插入銀行卡

2)  自動取款機接受銀行卡並讀出它的卡號

3)  自動取款機要求密碼,使用者輸入

4)  自動取款機與分行確認卡號和密碼,分理處檢查並反饋拒絕

5)  自動取款機指示密碼錯並要求重新鍵入;使用者輸入併成功

6)  自動取款機請示使用者選擇事務型別,使用者選擇取款

7)  自動取款機請求鍵入現金數量,使用者改變選擇並輸入“取消”

8)  自動取款機退出卡並且請求使用者取卡,使用者取卡

9)  自動取款機請求使用者插入銀行卡

   2.畫出事件跟蹤表

      把指令碼表示成一個事件跟蹤表,即不同物件間的事件排序表

2.  構造狀態圖

對各物件類建立狀態圖,反映物件接收和傳送的事件,每個指令碼或事件跟蹤表都應對應於狀態圖中的一條路徑

 

 

 

DO:處理分理處事務

DO:確認分理處程式碼

DO:確認卡

事務處理              分理處事務成功

 

 

                      分理處事務失敗

確認賬戶            確認賬戶   錯誤程式碼/錯誤分理處程式碼

                    錯誤分理處賬戶/錯的密碼

                    分理處密碼/賬戶OK

          “分行”類的狀態圖

五.    建立功能模型

功能模型描述了值之間的信賴關係,通常用分層的資料流圖描述。資料流圖有助於表示功能信賴關係,其中的處理對應於狀態圖的活動和動作,其中的資料流對應於物件力中的物件或屬性,具體的步驟:

1.  確定輸入、輸出值

先列出輸入、輸出值,輸入輸出值是系統與外部世界之間的事件的引數。檢測問題陳述,從中找出遺漏的所有輸入、輸出值。由於所有系統與外部世界之間的交到都經過自動取款機,因而所有輸入、輸出值都是自動取款機事件的引數。

2.  建立資料流圖

資料流圖說明輸出值是怎樣從輸入值得來的,資料流圖通常按層次組織。最頂層由單個處理組成,也可由收集輸入、計算值及生成結果的一個綜合處理構成。

銀行卡

讀輸入

執行事務

賬戶

使用者

產生輸出

          卡號

 

 

          事務型別

             賬戶型別

 

               自動取款機頂層資料流圖

3.  描述處理

當資料流圖已細化到一定程度後,對各處理進行描述,描述方法用自然語言、偽碼及判定樹等。描述可以是說明性的或過程性的。說明性描述確定了輸入、輸出值之間的關係。說明性描述優於過程性描述,因為它隱含實現的考慮。過程性描述確定一個演算法來實現處理功能,演算法只能用來確定處理幹什麼,過程性描述實現起來較為容易。

 

Tags:ATM 系統分析