版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘要</b></p><p> 商業(yè)銀行是現(xiàn)在金融體系的主體,并且隨著經(jīng)濟(jì)的發(fā)展,它將在未來經(jīng)濟(jì)生活中發(fā)揮越來越重要的作用。</p><p> 銀行綜合業(yè)務(wù)系統(tǒng)作為電子化銀行業(yè)務(wù)運(yùn)行的最基本的支撐平臺(tái),不僅成為銀行市場(chǎng)運(yùn)作、金融創(chuàng)新、客戶服務(wù)、量化管理的技術(shù)基礎(chǔ),也是銀行爭(zhēng)取未來競(jìng)爭(zhēng)優(yōu)勢(shì)的重要手段。</p><p&
2、gt; 本文詳細(xì)地描述和記錄了作者在實(shí)習(xí)公司參與開發(fā)第三代商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)的過程。首先分析了目前商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)的實(shí)際需求,并且根據(jù)個(gè)人在團(tuán)隊(duì)中的分工確定主要工作內(nèi)容;然后著手概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),重點(diǎn)是數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)計(jì);最后是編碼和測(cè)試以及系統(tǒng)使用手冊(cè)說明。</p><p> 整個(gè)系統(tǒng)采用C/S的架構(gòu),在Unix平臺(tái)上完成開發(fā),使用C語(yǔ)言進(jìn)行程序編碼,使用Tuxedo作為中間件,使用Informix作
3、為數(shù)據(jù)庫(kù)管理器。</p><p> 本文最后對(duì)今后的銀行綜合業(yè)務(wù)系統(tǒng)的發(fā)展做了展望。</p><p> 關(guān)鍵詞: 商業(yè)銀行, 綜合業(yè)務(wù)系統(tǒng), 數(shù)據(jù)庫(kù)設(shè)計(jì), C/S架構(gòu)</p><p><b> 目錄</b></p><p><b> 1 緒論1</b></p><p&g
4、t; 1.1 系統(tǒng)開發(fā)背景1</p><p> 1.1.1 我國(guó)商業(yè)銀行的歷史與現(xiàn)狀1</p><p> 1.1.2 銀行綜合業(yè)務(wù)系統(tǒng)1</p><p> 1.1.3 對(duì)公儲(chǔ)蓄業(yè)務(wù)1</p><p> 1.2 論文的主要工作及安排1</p><p> 1.2.1 論文的主要工作1</p&g
5、t;<p> 1.2.2 論文的結(jié)構(gòu)安排2</p><p> 2 C/S架構(gòu)及中間件概述3</p><p> 2.1 基本C/S模式3</p><p> 2.2 可管理多層C/S模式3</p><p> 2.2.1 中間件概述3</p><p> 2.2.2 引入中間件管理的MMT
6、C/S模式3</p><p> 2.3 銀行綜合業(yè)務(wù)系統(tǒng)中的C/S模式應(yīng)用4</p><p> 2.3.1 客戶端4</p><p> 2.3.2 服務(wù)器端5</p><p> 3 相關(guān)技術(shù)和工具簡(jiǎn)介6</p><p> 3.1 C語(yǔ)言概述6</p><p> 3.2 T
7、opSmartTeller主要特點(diǎn)6</p><p> 3.2.1 用戶界面6</p><p> 3.2.2 腳本配置6</p><p> 3.2.3 交易驅(qū)動(dòng)方式6</p><p> 3.2.4 外設(shè)驅(qū)動(dòng)6</p><p> 3.2.5 編譯機(jī)制7</p><p> 3
8、.3 BEA Tuxedo簡(jiǎn)介7</p><p> 4 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)8</p><p> 4.1 需求分析8</p><p> 4.1.1 功能要求8</p><p> 4.1.2 開發(fā)環(huán)境8</p><p> 4.2 系統(tǒng)設(shè)計(jì)9</p><p> 4.2.1 系統(tǒng)框架
9、9</p><p> 4.2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)9</p><p> 4.3 模塊及交易的設(shè)計(jì)與實(shí)現(xiàn)11</p><p> 4.3.1 模塊設(shè)計(jì)11</p><p> 4.3.2 交易定義12</p><p> 4.3.3 交易流程設(shè)計(jì)12</p><p> 5 程序及界面調(diào)
10、試14</p><p> 5.1 程序結(jié)構(gòu)14</p><p> 5.1.1 交易程序14</p><p> 5.1.2元操作程序14</p><p> 5.1.3底層封裝函數(shù)。15</p><p> 5.2 源碼舉例分析15</p><p> 5.2.1 頭文件15&
11、lt;/p><p> 5.2.2 變量申明16</p><p> 5.2.3 主程序16</p><p> 5.3 測(cè)試與分析17</p><p> 5.3.1 交易正確驅(qū)動(dòng)17</p><p> 5.3.2 交易數(shù)據(jù)接收18</p><p> 5.3.3 交易執(zhí)行測(cè)試及結(jié)果返
12、回19</p><p> 6 總結(jié)與展望20</p><p> 6.1 論文總結(jié)20</p><p><b> 6.2 展望20</b></p><p><b> 謝辭21</b></p><p><b> 參考文獻(xiàn)22</b>&l
13、t;/p><p><b> 附錄23</b></p><p><b> 1 緒論</b></p><p> 1.1 系統(tǒng)開發(fā)背景</p><p> 1.1.1 我國(guó)商業(yè)銀行的歷史與現(xiàn)狀</p><p> 根據(jù)1995年7月1日開始實(shí)施的《中華人民共和國(guó)商業(yè)銀行法》的規(guī)
14、定,商業(yè)銀行是指依照公司法設(shè)立的吸收公眾存款、發(fā)放貸款、辦理結(jié)算等業(yè)務(wù)的企業(yè)法人。</p><p> 就目前我國(guó)市場(chǎng)經(jīng)濟(jì)金融活動(dòng)實(shí)際情況而言,商業(yè)銀行是現(xiàn)代金融體系的主體。在1979年以前的多數(shù)年份中,中國(guó)人民銀行是全國(guó)唯一的國(guó)家銀行,農(nóng)村信用合作社是全國(guó)唯一的民間金融機(jī)構(gòu)。自1979年我國(guó)實(shí)行經(jīng)濟(jì)體制改革以來,中國(guó)銀行、中國(guó)工商銀行先后從中國(guó)人民銀行分離出來,又恢復(fù)了中國(guó)農(nóng)業(yè)銀行,原先隸屬于財(cái)政部的中國(guó)人民建
15、設(shè)銀行(后更名中國(guó)建設(shè)銀行)在1985年也將其信貸計(jì)劃納入中國(guó)人民銀行負(fù)責(zé)編制并監(jiān)督執(zhí)行的國(guó)家銀行綜合信貸計(jì)劃的體系。此外,還恢復(fù)、成立了交通銀行、中信實(shí)業(yè)銀行、中國(guó)光大銀行等多家綜合性銀行。</p><p> ——————————</p><p> 1.1.2 銀行綜合業(yè)務(wù)系統(tǒng)</p><p> 隨著知識(shí)經(jīng)濟(jì)時(shí)代的到來和銀行電子化建設(shè)的發(fā)展,現(xiàn)代信息技術(shù)不再
16、只是銀行開展業(yè)務(wù)的一種輔助工具。銀行電子化水平已經(jīng)成為銀行市場(chǎng)運(yùn)作、金融創(chuàng)新、客戶服務(wù)、量化管理的技術(shù)基礎(chǔ),也是銀行爭(zhēng)取未來競(jìng)爭(zhēng)優(yōu)勢(shì)的重要手段。銀行綜合業(yè)務(wù)系統(tǒng)作為電子化銀行業(yè)務(wù)運(yùn)行的最基本的支撐平臺(tái),是其他所有銀行電子化產(chǎn)品得以應(yīng)用的前提。沒有綜合業(yè)務(wù)系統(tǒng),電子化銀行就等于沒有地基的大樓。</p><p> ——————————</p><p> 1.1.3 對(duì)公儲(chǔ)蓄業(yè)務(wù)</p
17、><p> 對(duì)公儲(chǔ)蓄業(yè)務(wù),是商業(yè)銀行開展的最基本也是最主要的業(yè)務(wù)項(xiàng)目之一。</p><p> 所謂對(duì)公,————————</p><p> 1.2 論文的主要工作及安排</p><p> 1.2.1 論文的主要工作</p><p> 商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)是一個(gè)復(fù)雜而龐大的系統(tǒng),并且在進(jìn)行開發(fā)工作之前,必需掌握相應(yīng)
18、的商業(yè)銀行會(huì)計(jì)知識(shí),了解銀行核算流程,熟悉銀行服務(wù)項(xiàng)目和種類。因此,明確的團(tuán)隊(duì)分工、良好的團(tuán)隊(duì)配合、始終保持一致的團(tuán)隊(duì)風(fēng)格就顯得尤為重要。這也是在此次畢業(yè)設(shè)計(jì)過程中,我所感受到的與那些在校內(nèi)完成既定設(shè)計(jì)課題的同學(xué)之間最大的不同之處。</p><p> 在整個(gè)開發(fā)團(tuán)隊(duì)中,作者主要的工作是完成對(duì)公儲(chǔ)蓄業(yè)務(wù)相關(guān)交易的后臺(tái)程序設(shè)計(jì)開發(fā)和測(cè)試,同時(shí)接觸、了解和學(xué)習(xí)相應(yīng)的前臺(tái)程序的設(shè)計(jì)。本文從軟件開發(fā)流程的角度,詳細(xì)記錄和
19、描述了整個(gè)工作過程,所涉及的主要工作也將圍繞著這個(gè)工作目標(biāo)展開,并且在必要的地方,適當(dāng)?shù)貙?duì)其他相關(guān)業(yè)務(wù)模塊進(jìn)行介紹。下面是各階段要完成的主要工作:</p><p> ?。?)基礎(chǔ)知識(shí)準(zhǔn)備:</p><p> 這部分工作主要包括兩個(gè)方面:</p><p> 學(xué)習(xí)商業(yè)銀行會(huì)計(jì)核算的相關(guān)基礎(chǔ)知識(shí),了解銀行業(yè)務(wù)和相應(yīng)會(huì)計(jì)核算的流程;</p><p&g
20、t; 分析前幾代商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)的內(nèi)核,重點(diǎn)在于熟悉后臺(tái)系統(tǒng)的常見層次和結(jié)構(gòu)。</p><p> ?。?)需求分析和系統(tǒng)設(shè)計(jì):</p><p> 在軟件工程的相關(guān)定義中,需求分析和系統(tǒng)設(shè)計(jì)是兩個(gè)階段。但是在實(shí)際參與開發(fā)的過程中,作者發(fā)現(xiàn)很難界定兩者之間的時(shí)間分割線。在開發(fā)中過程,根據(jù)客戶變更的需求來修改設(shè)計(jì),抑或由于實(shí)際情況來說服客戶對(duì)于某些需求進(jìn)行妥協(xié),這些都是不可避免的。因此,
21、這部分的工作勢(shì)必在一種隱含變數(shù)的穩(wěn)步交替中完成。但不可否認(rèn),這將對(duì)以后的工作開展起決定性作用。</p><p> (3)數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì):</p><p> 嚴(yán)格地說,這部分的設(shè)計(jì)應(yīng)該屬于系統(tǒng)設(shè)計(jì)的一部分。但是商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)本身的功能和目的,決定了其必然是依托在一個(gè)數(shù)據(jù)庫(kù)管理器的基礎(chǔ)上實(shí)現(xiàn)各個(gè)模塊的功能,因此數(shù)據(jù)庫(kù)結(jié)構(gòu)的設(shè)計(jì)也就尤為重要。在實(shí)際工作中,這一部分也需要相對(duì)獨(dú)立地去設(shè)計(jì)
22、和完成。其主要內(nèi)容是參考需求制定表結(jié)構(gòu)和表間參照性。</p><p><b> (4)實(shí)現(xiàn):</b></p><p> 后臺(tái)程序全部使用C語(yǔ)言完成編碼,由于作者所在的實(shí)習(xí)公司在綜合業(yè)務(wù)系統(tǒng)開發(fā)方面有相當(dāng)?shù)慕?jīng)驗(yàn),因此很多底層操作都由技術(shù)部封裝成函數(shù),供程序員直接調(diào)用,這在一定程度上提高了工作效率,降低了編碼難度。此外,作者還嘗試去熟悉和使用實(shí)習(xí)公司開發(fā)的TopSma
23、rtTeller工具編寫各個(gè)交易所對(duì)應(yīng)的前臺(tái)程序模塊。</p><p><b> ?。?)調(diào)試:</b></p><p> 這部分工作在整個(gè)開發(fā)過程中接近尾聲,卻非常重要,主要包括兩個(gè)工作步驟:</p><p> 單獨(dú)調(diào)試作者按團(tuán)隊(duì)分工所負(fù)責(zé)的各個(gè)模塊的功能是否正常實(shí)現(xiàn),發(fā)現(xiàn)并解決其中出現(xiàn)的問題;</p><p>
24、 系統(tǒng)組合后與團(tuán)隊(duì)同事聯(lián)測(cè)模塊間的聯(lián)系和配合是否正常實(shí)現(xiàn),發(fā)現(xiàn)并解決其中出現(xiàn)的問題。</p><p> 應(yīng)客戶需求,開發(fā)過程中對(duì)今后將會(huì)拓展的信貸系統(tǒng)接口做了預(yù)備工作,作者也參與了部分工作,由于條件和時(shí)間關(guān)系,論文中就不再贅述,留待日后擴(kuò)充。</p><p> 1.2.2 論文的結(jié)構(gòu)安排</p><p> 本文各個(gè)章節(jié)的內(nèi)容安排如下:</p>&
25、lt;p> 簡(jiǎn)要介紹商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)的開發(fā)背景,并將作者主要負(fù)責(zé)的對(duì)公儲(chǔ)蓄業(yè)務(wù)作單獨(dú)介紹。然后介紹了論文的主要工作和結(jié)構(gòu)安排。</p><p> 系統(tǒng)地介紹C/S架構(gòu)的系統(tǒng)結(jié)構(gòu),包括基本模式、可管理多層模式的演化、以及中間件的概念。</p><p> 對(duì)系統(tǒng)開發(fā)所用到的主要工具和技術(shù)進(jìn)行介紹,包括人們熟悉的C語(yǔ)言的概述、使用Tuxedo作為系統(tǒng)中間件的概念和技術(shù)、作為數(shù)據(jù)庫(kù)
26、管理器的Informix。最后說明了系統(tǒng)的開發(fā)環(huán)境和配置。</p><p> 該部分包含了系統(tǒng)的需求分析、詳細(xì)設(shè)計(jì)以及編碼實(shí)現(xiàn)和測(cè)試等內(nèi)容,是全文最重要的部分。在這一章中,對(duì)程序已經(jīng)實(shí)現(xiàn)的部分作了詳細(xì)的介紹。</p><p> 在這一章中,重點(diǎn)選取了幾段具有代表性的源碼進(jìn)行分析,從而說明整個(gè)系統(tǒng)編碼的結(jié)構(gòu)特征。此外,還對(duì)程序測(cè)試過程中出現(xiàn)的一些問題及解決方法進(jìn)行分析說明。</p&
27、gt;<p> 總結(jié)論文設(shè)計(jì)過程中所作的工作,并且對(duì)商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)在未來的發(fā)展前景作了簡(jiǎn)單的分析和展望。</p><p> 2 C/S架構(gòu)及中間件概述</p><p> 2.1 基本C/S模式</p><p> 圖 2.1 基本C/S模式結(jié)構(gòu)示意</p><p> C/S系統(tǒng)架構(gòu)即Client(客戶端)/Serv
28、er(服務(wù)端)系統(tǒng)架構(gòu),它是一種分布式系統(tǒng)架構(gòu),基本結(jié)構(gòu)如圖2.1所示,由其程序決定其主要特點(diǎn)是:</p><p> 客戶端部分執(zhí)行前端功能,如:提供用戶界面,向后臺(tái)發(fā)出用戶請(qǐng)求的交易,將結(jié)果返回給用戶。</p><p> 服務(wù)端提供一般后端功能,按交易組織,將結(jié)果返回前端。</p><p> 交易是分散的,按需求的操作,可以被遠(yuǎn)程客戶端訪問的程序。</
29、p><p> C/S系統(tǒng)架構(gòu)有如下幾項(xiàng)優(yōu)點(diǎn):</p><p> 減小客戶端程序體積,提高反應(yīng)速度</p><p><b> 位置無關(guān)</b></p><p><b> 模塊化</b></p><p><b> 擴(kuò)展性好</b></p>
30、<p> 2.2 可管理多層C/S模式</p><p> 2.2.1 中間件概述</p><p> 在本節(jié)中,必需要提出“中間件”這個(gè)詞,并且就這個(gè)問題,從概念上進(jìn)行一些介紹。</p><p> 所謂中間件,——————————</p><p> 2.2.2 引入中間件管理的MMT C/S模式</p>&l
31、t;p> 在可管理多層(Managed Multi-Tier –MMT)C/S模式中,提出了中間件管理。提供以下功能:</p><p> 在客戶端和服務(wù)端之間提供通信和傳輸?!?lt;/p><p> 在分布式交易處理框架下,并不在C/S間建立一對(duì)一的關(guān)系,因此服務(wù)端可以從多個(gè)客戶端接收數(shù)據(jù)流,客戶端也可以向多個(gè)服務(wù)發(fā)出請(qǐng)求。</p><p> 除
32、此以外,MMT C/S模式給OTLP應(yīng)用增加了如下的優(yōu)點(diǎn):</p><p> 基本C/S模式的優(yōu)點(diǎn)在MMT模式下都得到了有效的增強(qiáng)——————</p><p> 2.3 銀行綜合業(yè)務(wù)系統(tǒng)中的C/S模式應(yīng)用</p><p> 銀行綜合業(yè)務(wù)系統(tǒng),屬企業(yè)分布式事務(wù)系統(tǒng),因此針對(duì)C/S架構(gòu)的系統(tǒng)層次結(jié)構(gòu)為:</p><p><b>
33、 用戶界面。</b></p><p> 重在突出表示邏輯和表示管理。</p><p><b> 商業(yè)邏輯。</b></p><p> 重在商業(yè)應(yīng)用邏輯和商業(yè)應(yīng)用規(guī)則。</p><p><b> 邏輯實(shí)現(xiàn)。</b></p><p> 將商業(yè)應(yīng)用邏輯按商業(yè)應(yīng)
34、用規(guī)則實(shí)際化。</p><p><b> 數(shù)據(jù)管理。</b></p><p> 包含了數(shù)據(jù)訪問邏輯(SQL)和數(shù)據(jù)庫(kù)管理。</p><p><b> 2.3.1 客戶端</b></p><p> 在此節(jié)中,我們重新細(xì)致地認(rèn)識(shí)一些客戶端在C/S模式中扮演的角色。</p><
35、p> ——————————</p><p> 客戶端基本工作流程,如圖2.2所示:</p><p> 圖 2.2 客戶端基本工作流程</p><p> 這里針對(duì)商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)的開發(fā),對(duì)如圖2.2中的幾個(gè)名詞作一些解釋:</p><p><b> ?。?)交易</b></p><p&
36、gt; 商業(yè)銀行業(yè)務(wù)交易請(qǐng)求,簡(jiǎn)稱“交易”,它不是普通意義上價(jià)值與價(jià)值之間的互換。</p><p> 銀行業(yè)務(wù)系統(tǒng)中所謂交易,是指由客戶或終端柜員在系統(tǒng)前臺(tái)對(duì)系統(tǒng)后臺(tái)提供的服務(wù)項(xiàng)目發(fā)出服務(wù)請(qǐng)求,然后等待系統(tǒng)調(diào)用相關(guān)程序并返回結(jié)果的整個(gè)過程。</p><p> 一次過程的結(jié)束就是一個(gè)交易的結(jié)束,返回了客戶期望的正確結(jié)果稱為交易成功,反之稱為交易失敗。</p><p&
37、gt;<b> ?。?)系統(tǒng)</b></p><p> 圖2.2中有“連接系統(tǒng)”和“退出系統(tǒng)”兩項(xiàng)。</p><p> 這里的系統(tǒng)并不是指整個(gè)銀行綜合業(yè)務(wù)系統(tǒng),它僅特指某一項(xiàng)服務(wù)所涉及的程序、數(shù)據(jù)庫(kù)和底層元操作程序的集合,是針對(duì)一次交易而言的、狹義上的系統(tǒng)。</p><p> 2.3.2 服務(wù)器端</p><p>
38、 在此節(jié)中,我們重新細(xì)致地認(rèn)識(shí)一些服務(wù)端在C/S模式中扮演的角色。</p><p> 首先,服務(wù)是系統(tǒng)資源的聯(lián)系點(diǎn)。例如,————————</p><p> 服務(wù)端基本工作流程,如圖2.3所示:</p><p> 圖 2.3 服務(wù)端基本工作流程</p><p> 這里有必要對(duì)公告牌的概念作一個(gè)說明。首先必須明確,公告牌是伴隨中間件而
39、產(chǎn)生的一種“請(qǐng)求聯(lián)系服務(wù)”的管理機(jī)制。關(guān)于中間件,詳細(xì)內(nèi)容參考前文相關(guān)定義。</p><p> 當(dāng)一個(gè)服務(wù)端具備多個(gè)服務(wù)功能時(shí),————————</p><p> 3 相關(guān)技術(shù)和工具簡(jiǎn)介</p><p><b> 3.1 C語(yǔ)言概述</b></p><p> 本文中,系統(tǒng)設(shè)計(jì)編碼和實(shí)現(xiàn)工作使用的是C程序設(shè)計(jì)語(yǔ)言。
40、</p><p> 一直以來,作為一門在國(guó)際上廣泛流行的程序設(shè)計(jì)語(yǔ)言,C語(yǔ)言因其語(yǔ)言功能豐富、表達(dá)能力強(qiáng)、語(yǔ)法靈活直觀、應(yīng)用面廣和目標(biāo)程序效率高的特點(diǎn),適合于作為系統(tǒng)描述語(yǔ)言,編寫各類軟件。</p><p> 同時(shí),作為一門傳統(tǒng)的面向過程程序設(shè)計(jì)語(yǔ)言,使用C語(yǔ)言進(jìn)行系統(tǒng)設(shè)計(jì)與編碼的首要工作是強(qiáng)調(diào)程序結(jié)構(gòu)的規(guī)范化,遵循“自頂向下、逐步細(xì)化、模塊化設(shè)計(jì)、結(jié)構(gòu)化編碼”的原則,從而在保證程序結(jié)
41、構(gòu)清晰的前提下,降低資源占用、減少信息冗余、提高程序效率。</p><p> 但是,C語(yǔ)言畢竟不具備很多集成、交互、——————</p><p> 3.2 TopSmartTeller主要特點(diǎn)</p><p> 本文所圍繞的“商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)”是作者在實(shí)習(xí)期間接觸、了解的最主要的軟件項(xiàng)目,這也是作者選擇其作為畢業(yè)設(shè)計(jì)對(duì)象的主要原因。而實(shí)現(xiàn)該系統(tǒng)終端界面的開
42、發(fā)工具,就是作者實(shí)習(xí)公司專為銀行、郵儲(chǔ)系統(tǒng)終端所開發(fā)的TopSmartTeller,目前版本號(hào)V3.1。</p><p> 由于TopSmartTeller在設(shè)計(jì)上采用了基于腳本的思路,運(yùn)用了事件驅(qū)動(dòng)的處理機(jī)制和面向?qū)ο蟮慕缑嬖卦O(shè)計(jì)使得,TOPSmartTeller 擁有大量技術(shù)優(yōu)勢(shì),主要包括一下若干內(nèi)容。</p><p> 3.2.1 用戶界面</p><p&g
43、t; 作為終端開發(fā)工具,TopSmartTeller提供標(biāo)準(zhǔn)多窗口界面,便于用戶操作,同時(shí)滿足負(fù)責(zé)的應(yīng)用要求。針對(duì)開發(fā)應(yīng)用,TopSmartTeller提供了功能強(qiáng)大的下拉式菜單、支持動(dòng)態(tài)屬性變化的控件、多種信息提示方式和輸入方式,同時(shí)輕松實(shí)現(xiàn)了多種屏幕元素的動(dòng)態(tài)動(dòng)作。</p><p> 3.2.2 腳本配置</p><p> 所有畫面都是通過腳本配置編寫來實(shí)現(xiàn)的。腳本編寫使用STS
44、cript腳本語(yǔ)言,它是TopSmartTeller提供的專用的編程工具。提供腳本的配置,用戶可以定義畫面,消息格式,以及處理邏輯流程。使用了腳本配置方法一方面避免了大量C語(yǔ)言繁瑣的底層開發(fā),另一方面也避免了由此造成的開發(fā)要求高系統(tǒng)穩(wěn)定性沒有保障等問題。</p><p><b> ——————</b></p><p> 3.2.3 交易驅(qū)動(dòng)方式</p>
45、<p> 對(duì)系統(tǒng)而言,由于實(shí)現(xiàn)的功能和操作的對(duì)象不同,對(duì)交易的驅(qū)動(dòng)方式也有著不同的要求。</p><p> TopSmartTeller提供適合于大量交易復(fù)雜系統(tǒng)的菜單驅(qū)動(dòng)方式,適合于速度快、操作熟練柜員的交易代碼驅(qū)動(dòng)方式,針對(duì)一些特殊用途的功能鍵驅(qū)動(dòng)方式,以及適合同一業(yè)務(wù)流程多個(gè)相關(guān)交易的交易驅(qū)動(dòng)方式。</p><p> 以上幾類驅(qū)動(dòng)方式的互補(bǔ)并存,有效地提供了操作柜
46、員和系統(tǒng)本身的工作效率。</p><p> 3.2.4 外設(shè)驅(qū)動(dòng)</p><p> 在銀行業(yè)務(wù)流程中,往往需要許多外設(shè)硬件提供幫助,比如常見的POS機(jī)、打印機(jī)等,各類外設(shè)的使用規(guī)范往往各不相同。</p><p><b> ——————</b></p><p> 3.2.5 編譯機(jī)制</p><
47、p> TopSmartTeller采用的編譯機(jī)制是將每個(gè)交易的腳本編譯成為獨(dú)立的數(shù)據(jù)文件,每個(gè)交易的數(shù)據(jù)文件在運(yùn)行時(shí)刻動(dòng)態(tài)加載?!?lt;/p><p> 3.3 BEA Tuxedo簡(jiǎn)介</p><p> 系統(tǒng)的設(shè)計(jì)開發(fā)中,使用BEA Tuxedo作中間件。</p><p> BEA Tuxedo是在企業(yè)、Internet這樣的分布式運(yùn)算環(huán)境
48、中,開發(fā)和管理三層結(jié)構(gòu)的客戶/服務(wù)器型任務(wù)應(yīng)用系統(tǒng)的強(qiáng)有力工具。它具備分布式事務(wù)處理和應(yīng)用通信功能,并提供完善的各種服務(wù)來建立、運(yùn)行和管理任務(wù)應(yīng)用系統(tǒng)。開發(fā)人員能夠用它建立跨多個(gè)硬件平臺(tái)、數(shù)據(jù)庫(kù)和操作系統(tǒng)的可互操作的應(yīng)用系統(tǒng)。BEA TUXEDO是企業(yè)、Internet分布式應(yīng)用中的基礎(chǔ)主干平臺(tái)。它提供了一個(gè)開放的環(huán)境,支持各種各樣的客 戶、數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)、遺留系統(tǒng)和通訊方式。</p><p><b>
49、 ————————</b></p><p><b> 4 系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)</b></p><p> 從本章節(jié)開始,將對(duì)“商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)”的設(shè)計(jì)和實(shí)現(xiàn)過程作詳細(xì)說明。</p><p> 由于“商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)”其本身是龐大而復(fù)雜的,整個(gè)開發(fā)過程由十?dāng)?shù)人組成團(tuán)隊(duì)完成,而每個(gè)隊(duì)員則按分工不同,獨(dú)立完成相應(yīng)模塊的設(shè)計(jì)編碼并測(cè)
50、試相關(guān)程序,最終進(jìn)行系統(tǒng)模塊聯(lián)測(cè)。所以受到時(shí)間和其他條件制約,無法對(duì)整個(gè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)進(jìn)行完整敘述說明。接下來的敘述,將側(cè)重于針對(duì)作者所主要參與的對(duì)公儲(chǔ)蓄業(yè)務(wù)。此外,對(duì)與之相關(guān)的其他一些業(yè)務(wù)流程和設(shè)計(jì)情況,作者也將作一些介紹。</p><p><b> ————————</b></p><p><b> 4.1 需求分析</b></p
51、><p> 4.1.1 功能要求</p><p> 商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)對(duì)公儲(chǔ)蓄業(yè)務(wù),其功能服務(wù)的對(duì)象是經(jīng)過國(guó)家相關(guān)法規(guī)認(rèn)證的、具備商業(yè)運(yùn)營(yíng)資格的國(guó)有、合資或私營(yíng)公司企業(yè)。其功能的實(shí)現(xiàn)目標(biāo)是,不但提供大多數(shù)普通個(gè)人儲(chǔ)蓄業(yè)務(wù)的項(xiàng)目,而且還根據(jù)企業(yè)級(jí)客戶的實(shí)際需求開展一系列獨(dú)有的業(yè)務(wù)服務(wù)項(xiàng)目。該業(yè)務(wù)模塊所具備的主要功能包括:</p><p><b> (1)
52、單位活期業(yè)務(wù)</b></p><p> 單位活期業(yè)務(wù)包括:?jiǎn)挝换钇趲糸_立申請(qǐng)、帳戶開立、帳戶銷戶及反銷戶、現(xiàn)金存取、利息結(jié)算支付、帳戶相關(guān)信息查詢與維護(hù)等。</p><p><b> ?。?)單位定期業(yè)務(wù)</b></p><p> 單位定期業(yè)務(wù)包括:?jiǎn)挝欢ㄆ趲糸_立申請(qǐng)、帳戶開立、定期存取、定期質(zhì)押與解除質(zhì)押、存款變更、帳戶相
53、關(guān)信息查詢與維護(hù)等。</p><p><b> (3)保證金業(yè)務(wù)</b></p><p> 保證金業(yè)務(wù)包括:保證金帳戶開立、保證金存取、保證金相關(guān)信息查詢維護(hù)等。</p><p> ?。?)醫(yī)療保險(xiǎn)金/公積金業(yè)務(wù)</p><p> 醫(yī)療保險(xiǎn)金/公積金業(yè)務(wù)包括:醫(yī)療保險(xiǎn)金/公積金帳戶開立申請(qǐng)、帳戶開立、醫(yī)療保險(xiǎn)金/公
54、積金存取等。</p><p><b> (5)大額支付業(yè)務(wù)</b></p><p> 大額支付業(yè)務(wù)包括:委托收款的錄入、修改與發(fā)送、托收承付的錄入、修改與發(fā)送、申請(qǐng)報(bào)文的錄入、修改、發(fā)送及相對(duì)應(yīng)的反向撤銷操作、報(bào)文相關(guān)信息查詢與維護(hù)等。</p><p> ?。?)單位通知存款業(yè)務(wù)</p><p> 單位通知存款業(yè)務(wù)
55、包括:?jiǎn)挝煌ㄖ婵畹拈_戶與銷戶、存款存入、存款提取預(yù)約通知與通知取消、通知存款通知信息查詢等。</p><p> ?。?)同業(yè)存款/同業(yè)存放業(yè)務(wù)</p><p> 同業(yè)存款/同業(yè)存放業(yè)務(wù)包括:同業(yè)存款的開戶與相關(guān)信息查詢及維護(hù)、同業(yè)存放的開戶與相關(guān)信息查詢及維護(hù)等。</p><p> 4.1.2 開發(fā)環(huán)境</p><p><b>
56、; (1)開發(fā)工具</b></p><p> 使用C for SCOUnix作為服務(wù)端的程序編碼工具,使用TopSmartTeller V3.1for Unix/Linux/win32編寫客戶端的終端界面程序,這兩個(gè)工具的功能和特點(diǎn)在第三章中已經(jīng)作了詳細(xì)介紹,這里不再贅述。</p><p><b> ?。?)數(shù)據(jù)庫(kù)選擇</b></p>&
57、lt;p> 使用Informix V7.3 作為服務(wù)端數(shù)據(jù)庫(kù)管理器。</p><p> 銀行數(shù)據(jù)庫(kù)屬于典型的對(duì)象關(guān)系型數(shù)據(jù)庫(kù),其操作類型主要是在線事務(wù)處理(OLTP)。由于引入中間件幫助負(fù)責(zé)交易的通訊和管理,數(shù)據(jù)庫(kù)服務(wù)器便成為一個(gè)純粹的RM(Resouce Manager)。</p><p><b> ?。?)中間件選擇</b></p><
58、;p> 使用BEA Tuxedo 作為Client/Server間的中間件軟件,進(jìn)行兩者間的消息報(bào)傳送與處理,服務(wù)項(xiàng)發(fā)布,以及交易與服務(wù)間的選擇聯(lián)系。關(guān)于BEA Tuxedo的詳細(xì)介紹,請(qǐng)參見本文章節(jié)3.3。</p><p><b> 4.2 系統(tǒng)設(shè)計(jì)</b></p><p> 4.2.1 系統(tǒng)框架</p><p> 商業(yè)銀行綜合
59、業(yè)務(wù)系統(tǒng)框架如圖4.1,其中箭頭方向指示了一次交易的流程:</p><p> 圖 4.1 商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)框架</p><p> 4.2.2 數(shù)據(jù)庫(kù)設(shè)計(jì)</p><p> 商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)數(shù)據(jù)庫(kù)基本表內(nèi)容龐大,總量超過160張,按基本表的用途可大致分為三類。由于時(shí)間和本文篇幅的限制,以下只列出與對(duì)公儲(chǔ)蓄交易相關(guān)的基本表,并且同一類下只列出最具代表性的一
60、張表。</p><p><b> ?。?)系統(tǒng)記錄類</b></p><p> 系統(tǒng)記錄類基本表,不局限于某一模塊或某一具體交易,而是記錄系統(tǒng)運(yùn)行時(shí)的常規(guī)數(shù)據(jù),便于需要時(shí)審查核對(duì),一般情況下不對(duì)外提供查詢。其典型代表為“交易流水表”,如表4.1所示:</p><p> 表 4.1 交易流水表</p><p><
61、b> ?。?)系統(tǒng)定義類</b></p><p> 系統(tǒng)定義類基本表,記錄了系統(tǒng)底層的基本定義,提供給相關(guān)交易統(tǒng)一的標(biāo)準(zhǔn),是交易按正確流程進(jìn)行的保證,在一定權(quán)限或需求下才提供查詢。典型代表為“交易定義表”,如表4.2所示:</p><p> 表 4.2 交易定義表</p><p> (3)交易涉及對(duì)象定義類</p><p&
62、gt; 交易涉及對(duì)象定義基本表,針對(duì)交易涉及的具體對(duì)象,也是對(duì)象關(guān)系型數(shù)據(jù)庫(kù)中最常見的基本表。表的內(nèi)容往往就是交易處理的具體數(shù)據(jù)對(duì)象,處理內(nèi)容包括查詢、修改、刪除等。其典型代表為“企業(yè)客戶基本信息表”,如表4.3所示:</p><p> 表 4.3 企業(yè)客戶基本信息表</p><p> 4.3 模塊及交易的設(shè)計(jì)與實(shí)現(xiàn)</p><p> 4.3.1 模塊設(shè)計(jì)&
63、lt;/p><p> 一個(gè)模塊,由若干個(gè)互相間存在聯(lián)系的交易組成。</p><p> 所謂互相間存在聯(lián)系,主要指交易在業(yè)務(wù)流程上具有相似性,或者交易在業(yè)務(wù)流程上具有相關(guān)性。在設(shè)計(jì)模塊時(shí),一般不但將這些有聯(lián)系的交易組成一個(gè)大模塊(第一層模塊),而且再次基礎(chǔ)上,將在業(yè)務(wù)流程上具有相關(guān)性的交易組成小模塊(第二層模塊)。同一小模塊內(nèi)的交易在業(yè)務(wù)流程上具有相關(guān)性,而同一大模塊內(nèi)、不同小模塊間的交易在
64、業(yè)務(wù)流程上具有相似性。為了使表述能夠更加直觀,作者結(jié)合如圖4.2,來解釋模塊與交易間的關(guān)系:</p><p> 圖 4.2 系統(tǒng)模塊設(shè)計(jì)圖(局部)</p><p> 由圖4.2可見,“對(duì)公儲(chǔ)蓄業(yè)務(wù)”是“商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)”下的第一層模塊;在其下層則包含了“單位活期”、“單位定期”、“保證金”等若干個(gè)第二層模塊;每個(gè)第二層模塊下則又包含了若干個(gè)交易,同一層模塊下的交易在業(yè)務(wù)流程上具有相
65、關(guān)性,例如“活期帳戶信息查詢維護(hù)”交易只能對(duì)已經(jīng)在本行完成“活期開戶”的單位進(jìn)行操作。</p><p> 需要說明的是,————————</p><p> 4.3.2 交易定義</p><p> 商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)中,根據(jù)業(yè)務(wù)種類分,存在兩種交易類型:聯(lián)機(jī)和批量。</p><p> 所謂批量交易,是指銀行在一天的營(yíng)業(yè)結(jié)束后,————
66、——</p><p> ?。?)交易名與交易代碼</p><p> 每個(gè)交易都有一個(gè)交易名和一個(gè)交易代碼,交易名和交易代碼不但可以用來標(biāo)示不同,————————</p><p><b> ?。?)交易參數(shù)設(shè)置</b></p><p> 每個(gè)交易在正常使用前,必須在系統(tǒng)中完成相關(guān)申請(qǐng),提交參數(shù)。交易參數(shù)主要包括:<
67、;/p><p> 交易類型Xtype。</p><p> 標(biāo)示出交易為查詢類、賬務(wù)處理類、特殊處理類、信息維護(hù)類、審核類、系統(tǒng)管理類----</p><p> 子類型XSubtype。</p><p> 當(dāng)交易能用于交易驅(qū)動(dòng)或被驅(qū)動(dòng),那么該交易就有可能飽含子類型-----</p><p> 是否支持連續(xù)交易Mul
68、titxtype</p><p> 一些交易基于業(yè)務(wù)流程的規(guī)范,當(dāng)前交易是否支持連續(xù)交易?!?lt;/p><p> 交易參數(shù)設(shè)置的目的主要有兩個(gè):其一是幫助系統(tǒng)管理員對(duì)系統(tǒng)中存在的交易進(jìn)行管理,其二則是為系統(tǒng)后臺(tái)程序運(yùn)行提供了重要參數(shù)依據(jù)。后者主要針對(duì)的都是一些批量交易,不是作者分工任務(wù)范圍,這里簡(jiǎn)單介紹一些,不再贅述。</p><p> 4.3.3 交
69、易流程設(shè)計(jì)</p><p> 之前剛介紹了交易分為聯(lián)機(jī)和批量?jī)煞N類型。作者參與設(shè)計(jì)開發(fā)的對(duì)公儲(chǔ)蓄業(yè)務(wù)模塊,其涉及的主要交易全是聯(lián)機(jī)交易。前后臺(tái)之間的交易流程和數(shù)據(jù)流,如圖4.3所示,其中虛線間為中間件管理層:</p><p> 圖 4.3 聯(lián)機(jī)交易數(shù)據(jù)處理流程</p><p> 圖4.3中的“包頭”區(qū)域需要特別解釋一下。“包頭”也是一串字符數(shù)據(jù),它包含了一部分
70、系統(tǒng)信息,有一些給中間件聯(lián)系前臺(tái)交易請(qǐng)求和后臺(tái)服務(wù)程序提供了依據(jù),另外一些則是后臺(tái)程序可能會(huì)使用到的全局變量值,基本結(jié)構(gòu)參見圖4.4:</p><p> 圖 4.4 消息包頭結(jié)構(gòu)圖</p><p> 如圖4.4的結(jié)構(gòu)中,服務(wù)代碼、反饋類型和交易代碼等信息,提供了中間件聯(lián)系前臺(tái)交易請(qǐng)求和后臺(tái)服務(wù)程序的重要依據(jù)。而機(jī)構(gòu)號(hào)、柜員號(hào)及系統(tǒng)日期等信息,則是后臺(tái)程序可能會(huì)用到的全局變量值。<
71、/p><p> 在交易請(qǐng)求和應(yīng)答過程中,——————</p><p><b> 5 程序及界面調(diào)試</b></p><p><b> 5.1 程序結(jié)構(gòu)</b></p><p> 商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)程序由兩部分組成:前臺(tái)程序和后臺(tái)程序。前臺(tái)程序使用TopSmartTeller編寫,而后臺(tái)程序使用
72、C for SCOUnix編寫,本章主要針對(duì)后臺(tái)程序的設(shè)計(jì)編寫作詳細(xì)解釋說明。</p><p> 一個(gè)后臺(tái)程序的基本結(jié)構(gòu)包括一下若干部分:</p><p> 5.1.1 交易程序</p><p> 這是響應(yīng)服務(wù)請(qǐng)求,接收前臺(tái)數(shù)據(jù),并按業(yè)務(wù)會(huì)計(jì)流程對(duì)數(shù)據(jù)進(jìn)行操作的程序。交易程序的命名規(guī)則為:“模塊代碼+交易代碼+后綴名”。</p><p>
73、;<b> 模塊代碼</b></p><p> 模塊代碼是系統(tǒng)設(shè)計(jì)時(shí),——————一般為兩位英文字母。與對(duì)公儲(chǔ)蓄業(yè)務(wù)相關(guān)的部分模塊名稱與模塊代碼,見表5.1:</p><p> 表 5.1 模塊名稱與模塊代碼對(duì)照表</p><p><b> 交易代碼</b></p><p> 交易代碼的定
74、義在前文4.3.2中已經(jīng)詳細(xì)介紹過了,這里不再贅述。</p><p><b> 后綴名</b></p><p> 后綴分兩種,通常C語(yǔ)言程序代碼文件的后綴為.c,但是——————</p><p> 綜上所述,對(duì)于程序文件dp2032.c,其對(duì)應(yīng)的是對(duì)公定期模塊dp下,交易代碼為2032的交易,即“單位定期開戶申請(qǐng)”交易。并且由后綴名可知,
75、該程序中沒有內(nèi)嵌SQL語(yǔ)句。其他程序文件名也可以按此規(guī)律去理解其代表的含義,這里就不再逐一解釋了。</p><p> 5.1.2元操作程序</p><p> 元操作程序是位于交易程序下層的獨(dú)立程序。編碼和編譯時(shí),針對(duì)元操作程序的流程與針對(duì)交易程序的流程沒有本質(zhì)區(qū)別。但是在運(yùn)行時(shí),元操作程序不能直接獨(dú)立運(yùn)行,而只是供其所屬的上層交易程序按業(yè)務(wù)流程需要進(jìn)行調(diào)用,調(diào)用方式同函數(shù)調(diào)用的方式類似
76、。元操作程序的命名規(guī)則為:“模塊代碼+對(duì)象名+元操作名+后綴名”。</p><p><b> 模塊代碼</b></p><p> 模塊代碼的定義在前文5.1.1中已經(jīng)詳細(xì)介紹過了,這里不再贅述。</p><p><b> 對(duì)象名</b></p><p> 元操作一般都是針對(duì)數(shù)據(jù)庫(kù)中某張基本表
77、、甚或是具體的基本表內(nèi)某個(gè)字段中的數(shù)據(jù)進(jìn)行操作,所謂“元操作”中的“元”,就是單元、單獨(dú)的意思。因此利用在程序名中標(biāo)示基本表名、或者字段名的方法來區(qū)分同一模塊下針對(duì)不同基本表、或同一基本表不同字段的元操作。這樣的規(guī)則對(duì)以后程序的修改和維護(hù)工作將有很大幫助</p><p><b> 元操作名</b></p><p> 元操作名,指的是該元操作對(duì)基本表作了什么動(dòng)作,常
78、見動(dòng)作包括增加、刪除、修改、查尋、核對(duì)等,對(duì)應(yīng)的元操作名則是Add、Del、Upd、Inq、Chk等。此外,可以根據(jù)實(shí)際情況定義其他元操作名,但要求簡(jiǎn)潔明了易于理解,這同樣也是出于對(duì)今后程序修改維護(hù)的考慮,提高工作效率。</p><p><b> 后綴名</b></p><p> 元操作程序的后綴名同樣有.c和.ec兩種,使用規(guī)則及目的同交易程序后綴名的使用規(guī)則及
79、目的相同,這里不再贅述。</p><p> 綜上所述,對(duì)于元操作程序文件dpActChk.c,其對(duì)應(yīng)的是對(duì)公定期模塊dp下,對(duì)Act(賬號(hào)Actno),進(jìn)行核查操作。并且由后綴名可知,該程序中沒有內(nèi)嵌SQL語(yǔ)句。其他元操作程序文件名也可以按此規(guī)律去理解其所代表的含義,這里不再一一解釋。</p><p> 5.1.3底層封裝函數(shù)。</p><p> 底層封裝函數(shù)
80、,是將常用的SQL語(yǔ)句按固定格式封裝成函數(shù),供上層程序調(diào)用。目的在于減少或避免在上層程序中內(nèi)嵌SQL語(yǔ)句,保持簡(jiǎn)潔的程序風(fēng)格,提高程序可讀性,以及日后程序修改維護(hù)的工作效率。其命名規(guī)則為:“dbsvr_基本表名.ec”。</p><p><b> ―――――――</b></p><p> 5.2 源碼舉例分析</p><p> 本章節(jié)內(nèi),
81、作者選擇了一個(gè)交易程序和其包含的元操作程序,在對(duì)該程序分析解釋的過程中,闡述商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)后臺(tái)程序的特點(diǎn)。樣例選擇dp2032.c,即“單位定期存款開戶”交易程序。之所以選擇這個(gè)程序作樣例,是經(jīng)過一番考慮,有一定的原因的。</p><p> ――――――因此,作者最終選擇了dp2032.c,“單位定期存款開戶”交易程序。原因有二,首先從銀行業(yè)務(wù)流程和會(huì)計(jì)規(guī)范上說,該交易稱得上“中規(guī)中矩”,即使對(duì)商業(yè)銀行會(huì)
82、計(jì)業(yè)務(wù)知識(shí)不熟悉的讀者也能夠通過閱讀接下來的程序分析,理解該交易的流程規(guī)范;其次,從程序設(shè)計(jì)的角度來說,dp2032.c是該系統(tǒng)眾多程序中比較具有代表性的一個(gè),其程序結(jié)構(gòu)、編寫規(guī)范等都可以反映出這個(gè)系統(tǒng)的程序結(jié)構(gòu)和編寫規(guī)范。</p><p> 以下就是dp2032.c的部分程序源代碼,以及作者對(duì)它的詳細(xì)分析:</p><p><b> 5.2.1 頭文件</b>&
83、lt;/p><p> 程序首先要申明相關(guān)的頭文件,在系統(tǒng)中,頭文件命名格式為:“模塊代碼_頭文件類型”。模塊代碼相信大家已經(jīng)很清楚其涵義了,而頭文件類型主要有三種,申明格式如下:</p><p> ?。?)#Define dp_itf.h</p><p> 以itf做標(biāo)識(shí)的頭文件,其內(nèi)容包含了該交易程序所調(diào)用的元操作程序的傳入、傳出變量結(jié)構(gòu)和類型的申明。在5.1.2
84、中已經(jīng)說明過,元操作程序被交易程序的調(diào)用過程類似函數(shù)調(diào)用,因此對(duì)傳入傳出變量的結(jié)構(gòu)和類型申明也是必須的。</p><p> ?。?)#Define dp_def.h</p><p> 以def做標(biāo)識(shí)的頭文件,其內(nèi)容是在該交易程序中出現(xiàn)的宏變量定義和申明,尤其是對(duì)于一些標(biāo)志位,如果在程序中直接使用數(shù)字,會(huì)降低程序可讀性,提高日后的維護(hù)難度。使用宏定義將數(shù)字轉(zhuǎn)化為具有一定文字意義的短語(yǔ)就可以
85、解決這些問題。</p><p> ?。?)#Define dp_err.h</p><p> 以err做標(biāo)識(shí)的頭文件,其內(nèi)容是該交易程序執(zhí)行過程中可能出現(xiàn)的錯(cuò)誤類型代碼的宏定義。當(dāng)交易程序執(zhí)行過程中發(fā)現(xiàn)前臺(tái)傳來的信息有錯(cuò)誤,或者執(zhí)行過程中發(fā)生的錯(cuò)誤,那么同樣也要返回信息給前臺(tái),這個(gè)信息就是錯(cuò)誤類型代碼。這些錯(cuò)誤代碼同樣在頭文件中用宏定義轉(zhuǎn)換為有實(shí)際文字意義的短語(yǔ),提高程序可讀性,降低日后
86、維護(hù)難度。</p><p> 5.2.2 變量申明</p><p> 變量申明顧名思義,是對(duì)程序執(zhí)行過程中需要用的變量,進(jìn)行類型定義。其中比較重要的是前后臺(tái)之間傳遞數(shù)據(jù)的結(jié)構(gòu)定義,稱為TITA和TOTA結(jié)構(gòu):</p><p> /* define TITA text */</p><p> static struct {</p&
87、gt;<p> char actno[DLEN_OTACTNO]; /*基本帳號(hào)*/</p><p> char name[DLEN_CNAME]; /*名 稱*/</p><p><b> 。。。。。</b></p><p> char acno[DLEN_AC_ACNO]; /*科 目 號(hào)*/
88、</p><p> char outflag;</p><p> } tis2032;</p><p> /* define TOTA text */</p><p> static struct {</p><p> char newactno[DLEN_ACTNO]; /*新 帳 號(hào)*/</p&g
89、t;<p> char tlsrno[DLEN_TLSRNO]; /*交易流水*/</p><p> } tos2032;</p><p> 其他需要使用的變量的定義,緊接著TITA和TOTA結(jié)構(gòu)后列出,例如程序中調(diào)用的元操作程序,傳入和傳出變量結(jié)構(gòu)申明在頭文件中已經(jīng)完成,這里就要進(jìn)行定義:</p><p> /* define modul
90、e global variables */</p><p> static aTisCifTxnLog taTisCifTxnLog; /*客戶交易發(fā)生登記傳入結(jié)構(gòu)*/</p><p> 。。。。。。。。。。</p><p> static aTosDpActInfUpd taTosDpActInfUpd; /*存款賬號(hào)信息新增傳出
91、結(jié)構(gòu)*/</p><p> 除以上這些比較重要的變量結(jié)構(gòu)定義以外,其他程序要使用的變量也應(yīng)注意進(jìn)行定義,變量名應(yīng)盡量與其代表涵義相符合。</p><p> 此外,還要申明程序調(diào)用的自定義函數(shù)的類型和結(jié)構(gòu):</p><p> void dp2032Initial(); /*程序初始化*/</p><p><b> 。
92、。。。。。。。</b></p><p> void dp2032PutMessage(); /*反饋信息發(fā)送*/</p><p><b> 5.2.3 主程序</b></p><p> 在主程序中,嚴(yán)格按照交易相關(guān)業(yè)務(wù)流程和會(huì)計(jì)規(guī)范,調(diào)用相關(guān)元操作核函數(shù),對(duì)前臺(tái)傳來的數(shù)據(jù)進(jìn)行處理,并生成反饋信息傳回前臺(tái)。dp2032對(duì)公儲(chǔ)
93、蓄定期存款開戶的業(yè)務(wù)流程和會(huì)計(jì)規(guī)范基本如圖5.1:</p><p> 圖 5.1 單位定期存款開戶業(yè)務(wù)流程</p><p> 在圖5.1中的單位定期存款開戶交易業(yè)務(wù)流程中,如果任意一步產(chǎn)生錯(cuò)誤,那么開戶即告失敗。程序返回錯(cuò)誤代碼到前臺(tái),錯(cuò)誤代碼對(duì)應(yīng)的錯(cuò)誤類型在頭文件中已經(jīng)申明了宏定義。</p><p> 對(duì)于該流程中的每一步,程序都按照如圖5.2的步驟執(zhí)行元操
94、作:</p><p> 圖 5.2 元操作程序調(diào)用流程</p><p> /* 客戶號(hào)資料讀取與狀態(tài)檢查 */</p><p> memset(&taTisCifCorpChk, 0, sizeof(taTisCifCorpChk)); |</p><p> memset(&taTosCif
95、CorpChk, 0, sizeof(taTosCifCorpChk)); | 元操作輸入結(jié)構(gòu)變量賦值</p><p> memcpy(taTisCifCorpChk.sCustno, sCustno, DLEN_CUSTNO); |</p><p> 。。。。。。。。。。。。。</p><p> ERRT
96、RACE(E_FD_ACT_STATUS_ERR, "dp2032: iActid[%d]", taTisDpActInq.iActid);</p><p><b> return;</b></p><p> }
97、|返回錯(cuò)誤類型</p><p> 以上代碼是對(duì)客戶號(hào)和基本帳號(hào)的檢查程序。此外,其他各步驟的程序全部都按照這個(gè)程序結(jié)構(gòu)和風(fēng)格編寫。限于時(shí)間和篇幅的限制,這里不再詳細(xì)列出全部程序源代碼,如果需要進(jìn)一步了解系統(tǒng)程序編碼的結(jié)構(gòu)和特點(diǎn),請(qǐng)參見附錄。</p><p><b> 5.3 測(cè)試與分析</b></p><p> 調(diào)試的任務(wù)就是診斷和改正程
98、序中的錯(cuò)誤,而根本目的就是向客戶提交除符合其要求的軟件。如果不改正程序中存在的問題,那么這是就一個(gè)不合格的軟件。而把一個(gè)充滿bug的程序應(yīng)用到實(shí)際工作中,那么可能會(huì)因?yàn)闈撛诘膯栴}造成各種隱患,尤其針對(duì)銀行業(yè)務(wù)系統(tǒng)而言更是如此。因此,系統(tǒng)的調(diào)試顯得尤為重要。下面就本論文程序調(diào)試過程中發(fā)現(xiàn)的一些問題進(jìn)行分析。</p><p> ―――――對(duì)于交易的測(cè)試,主要就以下幾項(xiàng)內(nèi)容展開:</p><p&g
99、t; 5.3.1 交易正確驅(qū)動(dòng)</p><p> 一個(gè)交易的正常運(yùn)行,第一步就是保證交易的正確驅(qū)動(dòng)。在系統(tǒng)設(shè)計(jì)階段已經(jīng)介紹過,系統(tǒng)中的交易驅(qū)動(dòng)方式有兩種:交易代碼驅(qū)動(dòng)和交易菜單驅(qū)動(dòng)。如圖5.3所示,是對(duì)公模塊下單位活期業(yè)務(wù)各項(xiàng)交易的菜單驅(qū)動(dòng)測(cè)試圖。如圖5.4所示,“企業(yè)活期存款開戶申請(qǐng)”交易驅(qū)動(dòng)成功。</p><p> 圖 5.3 交易菜單驅(qū)動(dòng)方式測(cè)試圖</p><
100、;p> 圖 5.4 交易驅(qū)動(dòng)成功</p><p> 5.3.2 交易數(shù)據(jù)接收</p><p> 每一項(xiàng)聯(lián)機(jī)交易,必定要在前臺(tái)輸入相關(guān)的交易數(shù)據(jù),供后臺(tái)程序接收處理。為了正確、順利地完成程序執(zhí)行,前臺(tái)的數(shù)據(jù)輸入必須正確。而對(duì)于輸入錯(cuò)誤或輸入不合規(guī)范的數(shù)據(jù),程序必須具備識(shí)別能力,并且及時(shí)地發(fā)出錯(cuò)誤提示信息,提示用戶更正。</p><p> 如圖5.5所示,
101、是單位活期存款開戶交易界面,該交易要求前臺(tái)輸入客戶的基本號(hào),以便正確地定位總賬下內(nèi)部分戶帳,并對(duì)該基本號(hào)登記科目存款帳號(hào)。</p><p> 圖 5.5 企業(yè)活期存款開戶交易界面</p><p> 5.3.3 交易執(zhí)行測(cè)試及結(jié)果返回</p><p> 當(dāng)交易能正確驅(qū)動(dòng)并且前臺(tái)正確地接收了數(shù)據(jù)后,接下來的重點(diǎn)就是考察后臺(tái)程序是否按照相關(guān)業(yè)務(wù)流程執(zhí)行,并且返回給前
102、臺(tái)。</p><p> 如圖5.6所示,是活期現(xiàn)金存入交易界面,該交易要求輸入客戶名、對(duì)應(yīng)賬號(hào)類型與代碼、存入現(xiàn)金金額等數(shù)據(jù)。前臺(tái)將該數(shù)據(jù)包發(fā)送到后臺(tái),通過正確業(yè)務(wù)流程后,應(yīng)返回前臺(tái)客戶號(hào)、客戶名、對(duì)應(yīng)帳號(hào)、交易金額及帳戶余額。由于該交易參數(shù)設(shè)置為記交易流水,因此返回信息中還應(yīng)顯示當(dāng)日該機(jī)構(gòu)該筆交易的交易流水號(hào)。</p><p> 如圖5.7所示,是交易成功后的返回信息界面。</
103、p><p> 圖 5.6 活期無折現(xiàn)金存入交易界面</p><p> 圖 5.7 交易成功反饋信息界面</p><p><b> 6 總結(jié)與展望</b></p><p><b> 6.1 論文總結(jié)</b></p><p> 本文從計(jì)算機(jī)軟件的角度,對(duì)商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)
104、后臺(tái)進(jìn)行了部分研究和設(shè)計(jì)實(shí)現(xiàn)的工作。在整個(gè)設(shè)計(jì)過程中,主要完成的工作有:</p><p> ?。?) 通過現(xiàn)場(chǎng)調(diào)研和學(xué)習(xí),掌握了商業(yè)銀行綜合業(yè)務(wù)的主要會(huì)計(jì)流程,以及設(shè)計(jì)并實(shí)現(xiàn)該系統(tǒng)所需要的技術(shù)知識(shí)和工具使用方法。</p><p> ?。?) 在與客戶充分溝通的基礎(chǔ)上,做出需求分析。主要針對(duì)舊有系統(tǒng)的不足,以及隨著時(shí)間發(fā)展,在銀行會(huì)計(jì)流程上所發(fā)生的改變而相應(yīng)地對(duì)系統(tǒng)進(jìn)行更新和拓展。</
105、p><p> (3) 基于團(tuán)隊(duì)合作的精神,明確分工并制定統(tǒng)一的開發(fā)規(guī)則和編程風(fēng)格,為今后工作順利開展打下良好基礎(chǔ)。</p><p> (4) 在Unix環(huán)境下,使用C語(yǔ)言完成后臺(tái)程序的編寫工作。使用SmartTeller語(yǔ)言完成對(duì)應(yīng)前臺(tái)程序的編寫工作。</p><p> ?。?) 對(duì)程序進(jìn)行調(diào)試,及時(shí)糾正產(chǎn)生的錯(cuò)誤,并對(duì)調(diào)試過程中反映出的一些設(shè)計(jì)上的不足進(jìn)行分析并采
106、取相應(yīng)措施。</p><p> 論文部分完成或沒有完成的缺憾主要在于:</p><p> 首先,在本文完成時(shí),系統(tǒng)已提交客戶進(jìn)行現(xiàn)場(chǎng)聯(lián)測(cè)。在這個(gè)階段,仍有可能出現(xiàn)一些隱藏的問題,或是應(yīng)客戶要求對(duì)系統(tǒng)進(jìn)行一些調(diào)整或改變。作者沒能參與這一階段的工作,無法掌握第一手資料,因此在本文中對(duì)此無法進(jìn)行詳細(xì)分析和說明。</p><p> ―――――其次,――――而有一部分則
107、需留待日后,在掌握了更多相關(guān)知識(shí)并進(jìn)行進(jìn)一步需求分析和設(shè)計(jì)后才能開展。本文中則不能詳細(xì)的介紹了。</p><p><b> 6.2 展望</b></p><p> 隨著經(jīng)濟(jì)發(fā)展,商業(yè)銀行業(yè)務(wù)種類和服務(wù)內(nèi)容都不斷拓展,商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)具有非常重要的意義。未來一段時(shí)間內(nèi),針對(duì)該系統(tǒng)或與該系統(tǒng)相關(guān)的擴(kuò)展工作勢(shì)必持續(xù)不斷。目前作者已知的主要有:</p
108、><p> ?。?) 配合銀聯(lián)2.0改造計(jì)劃的繼續(xù)實(shí)施,對(duì)系統(tǒng)本身安全性進(jìn)一步分析和研究。此外,還包括完善對(duì)外接口的種類和數(shù)量,從而保證對(duì)各類外系統(tǒng)的支持。</p><p> ?。?) 由于商業(yè)活動(dòng)中,商業(yè)貸款流通次數(shù)日益增多、流通量日益增大,使得信貸業(yè)務(wù)系統(tǒng)紛紛從原先的綜合業(yè)務(wù)系統(tǒng)中剝離而成為獨(dú)立的系統(tǒng)。但是為了提高效率,很多交易又仍舊依賴綜合業(yè)務(wù)系統(tǒng)后臺(tái),這對(duì)綜合業(yè)務(wù)系統(tǒng)對(duì)外接口提出了新的
109、要求。</p><p> ?。?) 根據(jù)中國(guó)反洗錢監(jiān)測(cè)分析中心《中國(guó)反洗錢監(jiān)測(cè)分析本外幣報(bào)送標(biāo)準(zhǔn)》相關(guān)內(nèi)容,在數(shù)據(jù)報(bào)補(bǔ)入和監(jiān)測(cè)方面提出了新的要求。</p><p> ?。?) 商業(yè)銀行為了自身生存和搶占市場(chǎng)的角度考慮,提出愈來愈多的中間服務(wù),中間服務(wù)重在方便快捷,要做到這些,就必需要得到綜合業(yè)務(wù)系統(tǒng)的良好支持。</p><p> 總的來說,目前國(guó)內(nèi)在商業(yè)銀行綜合業(yè)
110、務(wù)系統(tǒng)開發(fā)上已經(jīng)積累了一定的經(jīng)驗(yàn),成果也得到了相當(dāng)范圍的注意和應(yīng)用。</p><p> 還有一點(diǎn)在上文中并沒有列出,目前屬于作者自己的估計(jì):在今后的日子中,考慮到外資銀行在中國(guó)被允許開展的業(yè)務(wù)種類和數(shù)目的增加,系統(tǒng)與國(guó)際標(biāo)準(zhǔn)的接軌將愈來愈成為今后設(shè)計(jì)開發(fā)工作的重點(diǎn)。相應(yīng)的,有關(guān)外匯業(yè)務(wù)的擴(kuò)展工作也勢(shì)必增加,并且很有可能如信貸業(yè)務(wù)系統(tǒng)一般,成為既依賴綜合業(yè)務(wù)系統(tǒng)又相對(duì)獨(dú)立的模式。從軟件開發(fā)的市場(chǎng)角度來說,這會(huì)成為
111、一片新天地。</p><p><b> 謝辭</b></p><p> 首先要感謝。。。老師在論文的設(shè)計(jì)過程中對(duì)我的精心輔導(dǎo)。―――在此,對(duì)。。。老師表示最誠(chéng)摯的感謝!</p><p> 同時(shí),要感謝大學(xué)四年來,各位老師對(duì)我的悉心教導(dǎo),――――。</p><p> 我還要感謝我的校外指導(dǎo)老師,。。。。。有限公司的
112、軟件工程師,。。。老師―――。我表示由衷的敬意和衷心的感謝。</p><p> 另外,要感謝我周圍的同學(xué)和公司開發(fā)團(tuán)隊(duì)中的隊(duì)友們?cè)趯W(xué)習(xí)和生活中對(duì)我的幫助,―――</p><p> 最后,感謝在百忙之中為本文審稿的諸位老師,―――。</p><p><b> 參考文獻(xiàn)</b></p><p> 張海藩. 軟件工程導(dǎo)
113、論. 北京:清華大學(xué)出版社(第三版),1998。</p><p> 薩師煊,王珊. 數(shù)據(jù)庫(kù)系統(tǒng)概論. 北京:高等教育出版社(第三版),2000。</p><p> 錢逢勝,孫燁,湯麗萍. 商業(yè)銀行會(huì)計(jì). 上海:上海財(cái)經(jīng)大學(xué)出版社(第二版),2004。</p><p> 譚浩強(qiáng). C語(yǔ)言程序設(shè)計(jì)教程. 北京:清華大學(xué)出版社,1998。</p>&l
114、t;p> 林銳,等. 高質(zhì)量程序設(shè)計(jì)指南——C/C++. 北京:電子工業(yè)出版社,2002。</p><p> 李凌云. UNIX環(huán)境下C語(yǔ)言編程規(guī)范. 上海華騰軟件系統(tǒng)有限公司內(nèi)部文檔,2000。</p><p> 林德良. 中國(guó)銀聯(lián)信息處理中心交換系統(tǒng)集成項(xiàng)目編程規(guī)范. 上海華騰軟件系統(tǒng)有限公司內(nèi)部文檔,2003。</p><p> 洪俊. TOPS
115、martTeller 使用手冊(cè) V3.1. 上海華騰軟件系統(tǒng)有限公司內(nèi)部文檔,2002。</p><p> TopSmartTeller終端界面開發(fā)平臺(tái) </p><p> (www.turbolinux.com.cn/solutions/ solutioncolumn/huateng.pdf)</p><p> Bea Tuxedo Quick Start.
116、 上海華騰軟件系統(tǒng)有限公司內(nèi)部文檔,2000。</p><p> Bea Tuxedo 技術(shù)概要. 上海華騰軟件系統(tǒng)有限公司內(nèi)部文檔,2002。</p><p> Bea Tuxedo Online Documentation Hyperlinked Product Information for Bea Tuxedo Users. Copyright to Bea System,19
117、99。</p><p> Bell Lab. Recommended C Style and Coding Standards. 1997。</p><p> Ron Patton (周予濱 姚靜 譯). Software Testing. SAMS,機(jī)械工業(yè)出版社,2002。</p><p> Paul C Jorgensen (韓柯 杜旭濤 譯). Sof
118、tware Testing A Craftsman’s Approach. CRC,機(jī)械工業(yè)出版社,2002。</p><p><b> 附錄</b></p><p><b> dp2032.c</b></p><p> 單位定期存款賬號(hào)開立交易程序源代碼</p><p> #include
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商業(yè)銀行綜合業(yè)務(wù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 商業(yè)銀行綜合業(yè)務(wù)模擬實(shí)習(xí)
- 商業(yè)銀行綜合業(yè)務(wù)模擬實(shí)習(xí)
- 商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)操作手冊(cè)
- 商業(yè)銀行綜合柜臺(tái)業(yè)務(wù)試題題庫(kù)
- 商業(yè)銀行信用擔(dān)保業(yè)務(wù)綜合系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 商業(yè)銀行綜合業(yè)務(wù)系統(tǒng)操作風(fēng)險(xiǎn)控制體系.pdf
- 商業(yè)銀行對(duì)公業(yè)務(wù)
- 商業(yè)銀行綜合業(yè)務(wù)模擬實(shí)驗(yàn)報(bào)告
- 商業(yè)銀行電商業(yè)務(wù)探索
- 《商業(yè)銀行綜合業(yè)務(wù)實(shí)訓(xùn)》課程設(shè)計(jì)報(bào)告書
- 淺析商業(yè)銀行企業(yè)綜合管理系統(tǒng)
- 商業(yè)銀行票據(jù)業(yè)務(wù)研究
- 商業(yè)銀行委托理財(cái)業(yè)務(wù)研究[畢業(yè)論文]
- 包頭商業(yè)銀行國(guó)際業(yè)務(wù)管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).pdf
- 商業(yè)銀行核心業(yè)務(wù)系統(tǒng)建設(shè)研究——以C商業(yè)銀行為例.pdf
- 商業(yè)銀行營(yíng)銷業(yè)務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 商業(yè)銀行資金業(yè)務(wù)管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 畢業(yè)設(shè)計(jì)(論文)我國(guó)商業(yè)銀行國(guó)際貿(mào)易融資業(yè)務(wù)風(fēng)險(xiǎn)及對(duì)策分析
- 商業(yè)銀行信息系統(tǒng)審計(jì)業(yè)務(wù)研究.pdf
評(píng)論
0/150
提交評(píng)論