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:確認卡
分理處事務失敗
確認賬戶 確認賬戶 錯誤代碼/錯誤分理處代碼
錯誤分理處賬戶/錯的密碼
“分行”類的狀態圖
五. 建立功能模型
功能模型描述了值之間的信賴關係,通常用分層的數據流圖描述。數據流圖有助於表示功能信賴關係,其中的處理對應於狀態圖的活動和動作,其中的數據流對應於對象力中的對象或屬性,具體的步驟:
1. 確定輸入、輸出值
先列出輸入、輸出值,輸入輸出值是系統與外部世界之間的事件的參數。檢測問題陳述,從中找出遺漏的所有輸入、輸出值。由於所有系統與外部世界之間的交到都經過自動取款機,因而所有輸入、輸出值都是自動取款機事件的參數。
2. 建立數據流圖
數據流圖說明輸出值是怎樣從輸入值得來的,數據流圖通常按層次組織。最頂層由單個處理組成,也可由收集輸入、計算值及生成結果的一個綜合處理構成。
銀行卡 讀輸入 執行事務 賬戶 用戶 產生輸出
事務類型
賬戶類型
自動取款機頂層數據流圖
3. 描述處理
當數據流圖已細化到一定程度後,對各處理進行描述,描述方法用自然語言、僞碼及判定樹等。描述可以是說明性的或過程性的。說明性描述確定了輸入、輸出值之間的關係。說明性描述優於過程性描述,因爲它隱含實現的考慮。過程性描述確定一個算法來實現處理功能,算法只能用來確定處理幹什麼,過程性描述實現起來較爲容易。
-
南方煤礦井下綜採液壓支架的裝車方式
南方煤礦井下綜採液壓支架的裝車方式李開學(四川省川南煤業有限責任公司魯班山南礦,四川筠連645251)摘要:綜採工作面在搬遷過程中支架起吊裝車速度是影響搬遷速度的一個主要因素,在芙蓉集團綜採工作面搬遷中分別採用液壓支架起吊裝車方式、外置提升裝置裝車方式均取...
-
西南地區地質災害的危險與風險管理研究
西南地區地質災害的危險與風險管理研究摘要:我國西南地區地質條件較爲複雜、地質環境十分脆弱,具有地質災害種類多、規模大等特點,隨着西部大開發日漸深入,土地資源開發及建設,在一定程度上加劇了地質災害的發生,如何加強對地質災害危險的風險管理受到社會廣泛關注。...
-
淺談風力發電機組運行質量
淺談風力發電機組運行質量摘要:在各種可再生能源利用中,風能是使用最爲廣泛和發展最快的可再生能源之一,是近期內最具有大規模開發利用前景的可再生資源。通過對風力發電產業現狀進行梳理、歸納和分析,總結了風電機組未來發展趨勢。並對風電機組當前典型風電機...
-
深基坑工程動態設計與信息化施工管理
深基坑工程動態設計與信息化施工管理吉林東煤建築基礎工程公司徐志超摘要:全文以工程實例,闡述了深基坑的施工及基坑監測,及時準確的將監測數據信息反饋給設計,及時跟進調整設計方案,確保基坑施工安全。關鍵詞:深基坑動態設計信息化施工前言:隨着我國城市化進程的不斷...
相關文章
- 系統分析與設計心得(精選多篇)
- 管理工具之“SWOT分析法”、“五力分析法”、“魚骨圖分析法”及“SMART原則”再學習
- Unit 1 How tall are you?Part B Let’s try & Let’s talk 教學設計
- Unit 6 How many? Part ALet’s learn & Let’s chant教學設計
- 《Unit 5 What does he do? Part A Let’s learn》 教材分析與處理
- My favorite quote from “Mark Twain”
- Book 4 Unit 5 THEME PARKS-FUN AND MORE THAN FUN 閱讀課教學設計
- 礦建公司"我與企業共成長"演講稿
- 七年級英語Unit 6 I’m watching TV. Section A P1教學設計
- Unit1 Introductions Workshop & Grammar教學設計