數(shù)據(jù)庫原理與應用實驗14(二版)_第1頁
數(shù)據(jù)庫原理與應用實驗14(二版)_第2頁
數(shù)據(jù)庫原理與應用實驗14(二版)_第3頁
數(shù)據(jù)庫原理與應用實驗14(二版)_第4頁
數(shù)據(jù)庫原理與應用實驗14(二版)_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、實驗十四 模擬銀行前臺系統(tǒng)設計與實現(xiàn)(綜合性實驗)一、實驗目的及要求本實驗主要目的是讓學生綜合運用所學的數(shù)據(jù)庫知識,結合一個主題實戰(zhàn)性地進行數(shù)據(jù)庫系統(tǒng)的分析、設計和實現(xiàn)。通過整個過程不但加深對數(shù)據(jù)庫理論知識的理解,更能強化對實驗技能的掌握,最重要的是通過有條理系統(tǒng)化的實驗,來掌握數(shù)據(jù)庫系統(tǒng)開發(fā)的基本流程和基本方法,為將來的就業(yè)和學習提升奠定基礎。本實驗主要目標是:l 熟悉數(shù)據(jù)庫系統(tǒng)系統(tǒng)分析、設計和實現(xiàn)的基本步驟和方法。l 進一步熟練數(shù)據(jù)庫設計的方法。l 熟悉數(shù)據(jù)庫應用開發(fā)的基本步驟和方法。l 綜合運用各種數(shù)據(jù)庫技術,解決實際問題。本實驗更是面向實際應用的,通過實驗可以讓學生領會數(shù)據(jù)庫知識在實踐

2、中是如何運用的,提高他們運用知識的能力,增強對數(shù)據(jù)庫的興趣。主要要求有:l 學生可以分組完整,組內既要有分工,又要有合作。l 數(shù)據(jù)庫的設計要求參考實驗十一。l 要有系統(tǒng)設計內容,主要是模塊和功能設計。l 數(shù)據(jù)庫開發(fā)技術可以自選,不限定。l 數(shù)據(jù)庫訪問時不推薦使用綁定技術,至少有一半內容使用純代碼方式。l 程序開發(fā)工具可以自選,不限定。l 報表整理技術可以自選,不限定,但必須有報表技術。l 系統(tǒng)界面要簡潔易用。l 必須有用戶控制功能。l 必須有數(shù)據(jù)輸出功能。l 必須完成重點模塊開發(fā)。l 至少完成百分之八十的模塊或者編碼工作量。l 數(shù)據(jù)庫中要有符合現(xiàn)實的調試數(shù)據(jù)。l 源碼中要添加必要注釋。l 程序

3、要正確運行無錯誤出現(xiàn)。l 最終得到一個可運行的教完整系統(tǒng)。l 要求提交設計文檔和系統(tǒng)源碼。二、實驗原理及背景知識(一)數(shù)據(jù)庫系統(tǒng)開發(fā)知識1、數(shù)據(jù)庫設計知識。參考第一篇第4章。2、數(shù)據(jù)庫應用開發(fā)知識。參考第一篇第5章。(二)銀行前臺知識銀行跟我們生活息息相關,每個人都難免會跟銀行打交道。本實驗選擇以銀行前臺業(yè)務為基礎來建一個模擬的應用系統(tǒng),在實驗過程中不但可以掌握數(shù)據(jù)庫知識,還可以通過對銀行業(yè)務進行分析來加強對銀行業(yè)的了解。本小節(jié)重點介紹銀行前臺業(yè)務知識,為實驗提供背景知識,供實驗者參考,但鑒于本實驗內容中需要多業(yè)務分析,因此本業(yè)務知識僅僅是提示性質的,實驗者需要進行實地調查、向專業(yè)人士請教、網

4、絡搜索等各種方式來進行業(yè)務分析。另外,本實驗背景知識是抽象的或者普通的銀行前臺業(yè)務,不針對任何一具體銀行,但實驗者可以選擇某一具體銀行網點來進行調研,以此作為本實驗的基礎。銀行有多個部門,本實驗選擇前臺作為對象,前臺一般是銀行面向大眾的普通營業(yè)部門,我們印象中的銀行多是針對銀行前臺的。前臺業(yè)務主要分為對公業(yè)務和對私業(yè)務,對公業(yè)務是針對企事業(yè)單位的,而對私業(yè)務是針對個人的。本實驗中前臺業(yè)務僅僅局限于對私業(yè)務這一范疇,同時不專門針對前臺內容的會計業(yè)務。本實驗中對私業(yè)務以儲蓄為核心,一般來講主要業(yè)務有:1、人民幣儲蓄業(yè)務1)賬戶類型管理定期一本通、活期一本通、定期轉存、約定轉存、通知存款、個人存款聯(lián)

5、名賬戶等。2)賬號管理。開戶、銷戶、凍結、解凍、掛失、補卡/折、換卡/折、補登記等業(yè)務。3)取款?;钇陬I取、定期到期取、存本取息、大額、提前支取等。4)存款?;钇凇⒍ㄆ?、定活兩便、通知存款、存本取息等。5)轉賬。同行同城、同城跨行、異地跨行、電匯等。6)其他掛失、繼承過戶、雙貨幣存款等其他儲蓄業(yè)務。2、電子銀行服務 電話銀行、網上銀行、手機銀行。3、外匯服務 外幣儲蓄存款、外匯兌換、外匯購買等。4、代理業(yè)務便民業(yè)務代收水費、電費、電信費、有線費等。代發(fā)工資證券代理保險代理旅游代理(虛擬增加)。考慮到旅游業(yè)發(fā)展,可以虛擬增加這一業(yè)務。其他代理業(yè)務5、其他業(yè)務開具各種證明、資產推介、黃金業(yè)務、假幣

6、的收繳與鑒定、信用卡還款等。注意:信用卡屬于信用卡部,前臺只負責信用卡還款。個人貸款屬于貸款部。公積金等不是傳統(tǒng)個人業(yè)務,不在本系統(tǒng)范疇。另外,本虛擬銀行前臺業(yè)務還應該可以調整利率和計息方式、簡單核對賬目、客戶資料管理等業(yè)務。所有相關的一些業(yè)務或功能在本實驗中可以虛擬,比如驗證身份證等等。(三)ADO.NET知識二、實驗內容及步驟本實驗雖然為綜合性實驗,但是實驗內容的重要性是不相同的,鑒于本實驗為數(shù)據(jù)庫課程實驗,不是軟件工程或者管理信息系統(tǒng)實驗,更不是程序設計實驗,因此本實驗中的重點內容是針對本課程的,既不是針對其他課程,也不是針對真正的軟件系統(tǒng)開發(fā)。本實驗重點內容主要為:數(shù)據(jù)需求分析、數(shù)據(jù)庫

7、設計與實現(xiàn)、數(shù)據(jù)庫中數(shù)據(jù)的訪問、編輯與顯示。難點為如何把顯示業(yè)務操作轉換為對數(shù)據(jù)的操作。(一)系統(tǒng)分析重點圍繞實驗背景知識中的前臺業(yè)務進行分析,分析各個業(yè)務的辦理流程和數(shù)據(jù)流程,提取系統(tǒng)的功能需求和數(shù)據(jù)需求,并得到系統(tǒng)的數(shù)據(jù)流圖和數(shù)據(jù)字典,并撰寫系統(tǒng)分析報告。在進行系統(tǒng)分析的時候可以按照業(yè)務相似性進行分類分析,然后對業(yè)務進行逐步細化。(二)數(shù)據(jù)庫設計和建設在系統(tǒng)分析的基礎上,根據(jù)數(shù)據(jù)流圖和數(shù)據(jù)字典,抽象出系統(tǒng)所用數(shù)據(jù)庫概念結構。具體內容參考實驗十一。系統(tǒng)基本數(shù)據(jù)主要包括:客戶信息、賬戶信息、業(yè)務類型、業(yè)務信息、柜員信息等。(三)系統(tǒng)功能設計1、設計系統(tǒng)基本結構體系,選擇開發(fā)工具和開發(fā)技術。2、

8、繪制系統(tǒng)模塊結構圖,并進行模塊設計。對每個模塊都要設計其主要功能、子模塊、輸入輸出,模塊主要算法等內容。3、對每一個模塊和功能設計主要界面,并詳細描述業(yè)務執(zhí)行流程,所需要使用的數(shù)據(jù)庫表等對象,并對不用的系統(tǒng)用戶進行區(qū)別。4、一定要有用戶控制及登錄模塊,用戶管理各種類型的用戶,并為不同用戶提供不同權限。5、要有系統(tǒng)設置模塊。擁有設置系統(tǒng)信息,比如利率、計息日等。6、要有核對賬目信息的功能,比如對單個柜員或者整個營業(yè)部門的收支情況進行核對,并能幫助尋找差錯信息。7、要設計一種排錯功能。比如取款時:當柜員所輸入的賬號扣款金額跟點鈔機清點的金額不一致的時候,系統(tǒng)能給出報警提示。8、系統(tǒng)設計時候每個模塊

9、和功能都要設計排錯能力,避免出現(xiàn)不可預料的錯誤。9、設計各功能實現(xiàn)時要設計授權功能,因為很多業(yè)務室需要上級授權完成的。(四)開發(fā)系統(tǒng)登錄模塊(以ADO.NET為例)基本內容:1、提前設計好各種用戶類型,并為每種用戶類型設置權限,不同權限代表對系統(tǒng)的使用功能不想同。2、利用Connection對象鏈接到數(shù)據(jù)庫服務器,重點是是設置連接字符串。3、利用輸入的賬號和密碼通過數(shù)據(jù)庫進行身份驗證,實現(xiàn)登錄系統(tǒng)功能。4、某種高級用戶可以實現(xiàn)用戶信息的管理,所有用戶都可以實現(xiàn)個人密碼修改?;痉椒安襟E:1、首先在項目中添加對ADO.NET的引用,并導入命名空間。一般使用sqlClient命名空間。2、創(chuàng)建C

10、onnection、Command和Datareader對象,并為Connection對象的ConnectionString屬性賦值。具體內容參考第一篇知識。3、對輸入的登錄賬戶格式進行驗證,避免無效和非法字符。4、利用輸入的賬號書寫一條查詢語句,通過Command對象執(zhí)行,并利用Datareader對象來獲取該用戶信息。5、通過驗證Datareader對象有無數(shù)據(jù)來驗證該用戶是否合法用戶。6、如果是合法用戶,則從Datareader中獲得密碼信息,進而驗證密碼是否正確。7、當密碼正確后即通過身份驗證,但同時要獲得用戶權限,進而為用戶呈現(xiàn)合法界面和功能。(五)查詢數(shù)據(jù)的顯示基本內容:1、 設計

11、友好的界面,為常用業(yè)務提供查詢界面。2、 通過用戶在界面中輸入的信息,進行邏輯組合,獲得正確無誤的SQL查詢語句。3、 講查詢獲得的批量數(shù)據(jù)在某個控件進行顯示?;痉椒安襟E:1、在當前項目中添加數(shù)據(jù)顯示控件,比如MSFlexGrid控件或者DataGridView控件。2、對該控件進行初始化設置,主要是根據(jù)要顯示的信息設置控件的初始行和列數(shù)量,并設置外觀格式及表頭信息。3、獲得SQL語句的固定部分,一般是欲顯示的字段及所使用的表及連接,此處也可以使用視圖。4、根據(jù)界面控件隱含的邏輯,注意判別哪些控件有值,并將其轉換為查詢條件字段值。同時為各個查詢條件進行邏輯組合。最終的SQL語句的后半部分,

12、主要是WHERE語句之后內容。5、利用完整的SQL語句及ADO.NET對象執(zhí)行查詢,獲得數(shù)據(jù)。數(shù)據(jù)可以使用Datareader對象保存,也可以使用DataSet對象。下面以Datareader為例說明。6、對Datareader對象進行遍歷,沒得到一行就在數(shù)據(jù)控件進行顯示,同時為數(shù)據(jù)控件增加一個新行,直到所有數(shù)據(jù)都遍歷完畢。注意:在完成系統(tǒng)的時候可以先完成基本功能,任何再進行優(yōu)化及美化。(六)數(shù)據(jù)編輯實現(xiàn)基本內容:數(shù)據(jù)編輯主要是提供一系列控件讓用戶輸入數(shù)據(jù)和選擇數(shù)據(jù)編輯類型,然后將數(shù)據(jù)和命令類型轉換為SQL,并通過SQL完成對數(shù)據(jù)庫中數(shù)據(jù)的編輯。編輯主要包括:數(shù)據(jù)添加、數(shù)據(jù)刪除和數(shù)據(jù)修改。基本

13、方法及步驟:1、首先合理組織界面控件,主要是數(shù)據(jù)接收控件和命令控件。2、數(shù)據(jù)接收控件盡量使用選擇型,以便方便用戶操作,同時減少錯誤輸入。3、合理組織命令控件的邏輯執(zhí)行流程,因為添加、刪除和修改一般在同一個界面,而且每一個過程都運行進行反悔,所以要合理組織流程。4、注意修改主鍵和刪除的時候要通過數(shù)據(jù)庫觸發(fā)器或者代碼進行完整性保證。5、對于添加,一般步驟是先點擊添加按鈕,然后清空所有控件供用戶輸入數(shù)據(jù),輸入完成后用戶點擊確認安全進行添加確認。這時程序從界面獲得數(shù)據(jù),并進行基本的合法性驗證,不能把全部驗證交給數(shù)據(jù)庫去完成。驗證通過后,生成Insert語句,在執(zhí)行前詢問用戶,用戶確認后就通過執(zhí)行SQL

14、語句,完成真正的數(shù)據(jù)添加。完成添加后,需要同步更新數(shù)據(jù)顯示控件中的數(shù)據(jù)。6、對于修改,首先讓用戶選擇數(shù)據(jù),然后點擊修改,這時候記錄舊數(shù)據(jù)主鍵信息。然后解鎖控件,供用戶修改數(shù)據(jù),用戶修改完畢后點擊確認。程序對數(shù)據(jù)進行驗證,然后判斷是否修改了主鍵,如果沒有就得到update語句,然后詢問用戶,得到確認后執(zhí)行update語句。如果用戶修改了主鍵,則首先根據(jù)主鍵刪除舊數(shù)據(jù),然后通過insert語句添加新數(shù)據(jù)。完成后同步更新數(shù)據(jù)顯示。7、對于刪除數(shù)據(jù),首先讓用戶選擇數(shù)據(jù),然后點擊刪除,經過用戶確認后執(zhí)行delete語句刪除數(shù)據(jù),然后同步更新數(shù)據(jù)顯示。注意:1、數(shù)據(jù)添加和修改可以使用同一系列控件,注意主鍵

15、的處理,自動生成的主鍵不允許添加。2、數(shù)據(jù)刪除的時候應該提供一種快速的查詢方式,查詢到要刪除的數(shù)據(jù)后讓用戶進行選擇進而刪除。3、一般來講數(shù)據(jù)編輯可以使用一個窗體界面來實現(xiàn),上面提供輸入控件,下面是顯示數(shù)據(jù)的控件,中間是各種按鈕。4、也可以分別使用兩個窗體實現(xiàn)數(shù)據(jù)編輯,分別對應添加和修改界面,查詢和刪除界面。初始界面是查詢和刪除界面,界面同時提供添加和修改按鈕,分別打開同一個窗體,但是添加打開的沒有內容,修改打開的有內容。添加或者修改完成后返回默認界面后,顯示的數(shù)據(jù)要更新。5、各個按鈕的邏輯控制一定要設計好。不要出現(xiàn)不該出現(xiàn)的按鈕和沒用的按鈕,尤其是數(shù)據(jù)添加或修改過程中,把無關控件禁用。6、可以

16、把一些常輸入的數(shù)據(jù)存放在數(shù)據(jù)庫中,然后在系統(tǒng)運行的時候自動填充到控件中供用戶選擇,從而減少輸入工作量和輸入錯誤。(七)數(shù)據(jù)查詢實現(xiàn)實驗內容:數(shù)據(jù)查詢重點在于如何利用界面中用戶輸入的數(shù)據(jù)得到正確的SQL查詢語句。此處的數(shù)據(jù)查詢是指專門的復雜的查詢,不是數(shù)據(jù)編輯中的查詢?;痉椒安襟E:1、選擇一方面實際業(yè)務需求,分析其各種需求,得到各種查詢要求。2、對每個需求選用合理控件。輸入值沒有范圍的使用文本框;有一定范圍的使用組合框;完全限定范圍的使用列表框;有限多選的使用復項框;幾個只能選一的使用單選框。3、對多個需求歸并整理。對同類互斥的條件歸為同一組,同組內只能選擇一個條件;對相容的化為不同組;對相

17、容的組根據(jù)實用性進行合并;各個組之間設置AND和OR條件供選擇;對各個條件相應設置選擇標志5、得到合理的SQL語句。在代碼中分別判斷每組有沒有被選中;在代碼中對選中的組的各個條件進行一一判斷,并相應加入SQL語句;判斷各個組之間的關系,加入SQL語句;整理合并生成正確的SQL語句6、執(zhí)行SQL并保存查詢結果7、使用數(shù)據(jù)顯示控件顯示查詢結果8、有時候需要對查詢的數(shù)據(jù)進行高級處理,以便得到新的數(shù)據(jù)。(八)存儲過程調用實驗內容:1、主要使用command對象來執(zhí)行存儲過程,關鍵是為存儲過程設置參數(shù),并且正確接收存儲過程返回的值。2、把系統(tǒng)中經常使用的SQL語句改寫成數(shù)據(jù)庫的存儲過程,然后在系統(tǒng)中通過

18、代碼調用?;静襟E及方法:1、 為存儲過程參數(shù)定義變量,并獲得參數(shù)值。2、 主要是為Command的CommandText屬性設置存儲過程名稱。3、 為Command對象設置各個參數(shù)。4、 調用Command方法執(zhí)行存儲過程,并接收返回值。(九)錯誤處理實驗內容:再完美的代碼也會有出錯的地方,所以系統(tǒng)編碼的時候必須有相應的錯誤處理機制。主要有兩種類型的錯誤處理。1、數(shù)據(jù)庫連接和操作中的錯誤。2、代碼中的不可以預料錯誤。3、對出現(xiàn)的錯誤應該盡量給出恰當?shù)奶崾?,同時盡量避免系統(tǒng)崩潰。基本方法及步驟:1、 使用ADO.NET的Error對象捕捉數(shù)據(jù)庫中錯誤。2、 利用程序的功能捕捉程序中錯誤,比如使用Try Catch finally語句等。(十)報表處理實驗內容:要根據(jù)實際情況為系統(tǒng)生產一些報表,比如賬號變動信息表、內部的月結財務報

溫馨提示

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

評論

0/150

提交評論