版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、. . . . 目錄1 概述11.1課題名稱與其來源11.2 信息系統(tǒng)與管理信息系統(tǒng)11.3賬目管理的網(wǎng)銀模擬系統(tǒng)的現(xiàn)狀與發(fā)展趨勢21.4 賬目管理的網(wǎng)銀模擬系統(tǒng)的意義32 系統(tǒng)分析42.1 系統(tǒng)的功能42.2 用戶需求分析42.2.1應(yīng)用程序結(jié)構(gòu)確定42.2.2 確定系統(tǒng)開發(fā)環(huán)境53 開發(fā)工具簡介63.1 MyEclipse 6.0的JSP 語言63.2 JSP 簡介103.3 SQL Server 2000114 系統(tǒng)的功能設(shè)計(jì)124.1 功能概述124.2 后臺(tái)數(shù)據(jù)庫設(shè)計(jì)134.2.1 存儲(chǔ)過程介紹134.2.2 數(shù)據(jù)庫的表的設(shè)計(jì)164.2.3 設(shè)計(jì)局部ER模式174.2.4 設(shè)計(jì)全局E
2、R模式194.2.5數(shù)據(jù)字典205 應(yīng)用程序界面設(shè)計(jì)235.1 用戶登陸235.2 系統(tǒng)主操作界面245.3 賬戶信息添加模塊255.4 信息查詢模塊265.5 查詢余額管理模塊295.6 賬戶明細(xì)管理模塊295.7 轉(zhuǎn)賬取現(xiàn)管理模塊306 系統(tǒng)測試316.1 軟件測試概念316.2 軟件系統(tǒng)測試326.3 系統(tǒng)整體測試326.4 不足與改進(jìn)32結(jié)論和建議33參考文獻(xiàn)34致3634 / 361 概述1.1課題名稱與其來源本課題根據(jù)銀行商業(yè)運(yùn)營中的實(shí)際需要而產(chǎn)生,隨著社會(huì)的發(fā)展,互聯(lián)網(wǎng)已經(jīng)成為人們?nèi)粘I?、學(xué)習(xí)辦公中不可缺少的一部分,并在各個(gè)領(lǐng)域發(fā)揮著越來越重要的作用。特別是在商業(yè)運(yùn)營管理方面發(fā)
3、展尤為迅速。本系統(tǒng)的開發(fā)主要是根據(jù)銀行實(shí)際運(yùn)營管理中需要而制作,系統(tǒng)整體包括:基礎(chǔ)資料管理、銀行業(yè)務(wù)管理、財(cái)務(wù)報(bào)表管理、系統(tǒng)維護(hù)管理四大功能模塊。對(duì)其進(jìn)行一條龍式的集中管理。“網(wǎng)銀模擬系統(tǒng)”的出現(xiàn)打破了銀行傳統(tǒng)的經(jīng)營管理模式,它憑借其銀行信息更新速度快、信息存儲(chǔ)量大、應(yīng)用簡便、安全性高等特點(diǎn),為銀行的人員管理等信息的管理帶來了極大的方便,大大減輕了銀行管理人員的工作量,使管理者足不出戶便可對(duì)銀行的貨柜存儲(chǔ)信息、進(jìn)出場信息、財(cái)務(wù)信息等了如執(zhí)掌,針對(duì)具體情況做出正確的決策。因此成為當(dāng)今銀行管理者不可缺少的管理工具之一,同時(shí)對(duì)于一個(gè)銀行的正常運(yùn)做也發(fā)揮著極為重要的作用,并且隨著國家經(jīng)濟(jì)的不斷發(fā)展,國
4、家和銀行進(jìn)出口貿(mào)易量的不斷增加,“銀行賬目信息管理系統(tǒng)”必將在未來國家進(jìn)出口貿(mào)易發(fā)展中發(fā)揮越來越重要的作用。1.2 信息系統(tǒng)與管理信息系統(tǒng)1.2.1信息系統(tǒng)信息系統(tǒng)是一個(gè)人造系統(tǒng),它由人、硬件、軟件和數(shù)據(jù)資源組成,目的是與時(shí)、正確地收集、加工、存儲(chǔ)、傳遞和提供信息,實(shí)現(xiàn)組織中各項(xiàng)活動(dòng)的管理、調(diào)節(jié)和控制。信息系統(tǒng)包括信息處理系統(tǒng)和信息傳輸系統(tǒng)兩個(gè)方面。信息處理系統(tǒng)對(duì)數(shù)據(jù)進(jìn)行處理,使它獲得新的結(jié)構(gòu)與形態(tài)或者產(chǎn)生新的數(shù)據(jù)。信息傳輸系統(tǒng)不改變信息本身的容,作用是把信息從一處傳到另一處。從第一臺(tái)電子計(jì)算機(jī)創(chuàng)始,50多年來,信息系統(tǒng)經(jīng)歷了由單片機(jī)到網(wǎng)絡(luò),由低級(jí)到高級(jí),由電子數(shù)據(jù)處理到管理信息系統(tǒng)、再到?jīng)Q策
5、支持系統(tǒng),由數(shù)據(jù)處理到智能處理的過程。EDPS是面向業(yè)務(wù)的信息系統(tǒng),MIS是面向管理的信息系統(tǒng),DSS則是面向決策的信息系統(tǒng)。EDPS、 MIS、DSS各自代表了信息系統(tǒng)發(fā)展過程中的某一階段,至今它們?nèi)愿髯圆粩嗟匕l(fā)展著,而且是相互交叉的關(guān)系。1.2.2管理信息系統(tǒng)管理信息系統(tǒng)是一個(gè)具有高度復(fù)雜性、多元性和綜合性的人機(jī)系統(tǒng),它全面使用計(jì)算機(jī)技術(shù)、網(wǎng)絡(luò)通訊技術(shù)、數(shù)據(jù)庫技術(shù)以與管理科學(xué)、運(yùn)籌學(xué)、統(tǒng)計(jì)學(xué)、模型論和各種最優(yōu)化技術(shù)、為經(jīng)營管理和決策服務(wù)。從廣義上說,管理信息系統(tǒng)是一個(gè)對(duì)組織進(jìn)行全面管理的綜合系統(tǒng)。隨著計(jì)算機(jī)技術(shù)的發(fā)展,信息技術(shù)在人們生活中變得越來越重要,信息化成為人們生活的主要容。管理信息
6、系統(tǒng)作為信息化的一部分,在各行各業(yè)中,發(fā)揮著其不可替代的作用。管理信息系統(tǒng)綜合的意義在于產(chǎn)生更高層次的管理信息,為管理決策服務(wù)。管理信息系統(tǒng)綜合了管理科學(xué)、信息科學(xué)、系統(tǒng)科學(xué)、行為科學(xué)、計(jì)算機(jī)科學(xué)和通信技術(shù)。在一個(gè)國家里管理信息系統(tǒng)的建立,運(yùn)行和發(fā)展水平,標(biāo)志著這個(gè)國家的管理現(xiàn)代化水平和信息化水平。管理工作的成敗,取決于能否作出有效的決策,而決策的正確與否則在很大程度上取決于信息的質(zhì)量。隨著人類進(jìn)入信息時(shí)代,信息管理的水平越來越成為衡量國家綜合實(shí)力的重要標(biāo)志。管理信息系統(tǒng)是現(xiàn)代管理方法與手段相結(jié)合的系統(tǒng)。尤其是在銀行管理信息系統(tǒng)中,計(jì)算機(jī)系統(tǒng)與現(xiàn)代管理方法的結(jié)合才能使系統(tǒng)在管理中發(fā)揮作用。管理
7、信息系統(tǒng)的目的是要使各級(jí)管理人員在計(jì)算機(jī)系統(tǒng)支持下,從各種繁瑣的日常事務(wù)中解脫出來,以便更好地投入到?jīng)Q策工作中去。管理信息系統(tǒng)不能只是對(duì)原有手工系統(tǒng)的簡單的模仿,它還必須能夠在仿真原管理信息系統(tǒng)的基礎(chǔ)上,改進(jìn)管理系統(tǒng),使銀行管理在先進(jìn)的技術(shù)手段和準(zhǔn)確與時(shí)的信息支持下,達(dá)到一個(gè)新層次。1.3賬目管理的網(wǎng)銀模擬系統(tǒng)的現(xiàn)狀與發(fā)展趨勢網(wǎng)銀模擬系統(tǒng)由自助銀行賬戶管理系統(tǒng)、出入賬管理系統(tǒng)等多個(gè)子系統(tǒng)組成。網(wǎng)銀模擬系統(tǒng)在整個(gè)銀行系統(tǒng)中占有十分重要的地位。自助銀行賬目管理是銀行管理的重要方面,因?yàn)樗豌y行的日常運(yùn)營息息相關(guān)。出入賬管理是一項(xiàng)計(jì)算瑣碎復(fù)雜,具有重復(fù)性,又牽涉到每個(gè)人的利益,必須與時(shí)準(zhǔn)確地完成,一
8、般不容發(fā)生差錯(cuò)。計(jì)算機(jī)進(jìn)行基礎(chǔ)管理工作,不僅能夠保證數(shù)據(jù)核算正確無誤,快速輸出,而且還可以利用工資數(shù)據(jù)庫對(duì)相關(guān)各種信息進(jìn)行統(tǒng)計(jì),服務(wù)于財(cái)務(wù)部門其他方面的核算和帳務(wù)處理?,F(xiàn)行的自助銀行管理軟件大多是基于單機(jī)版的,或者即使是網(wǎng)絡(luò)版,其用戶也是限制在一個(gè)。但牽涉到大型銀行的管理時(shí),這往往是不夠的,一方面大型銀行部的各個(gè)部門自己要進(jìn)行工資管理,這樣用戶數(shù)就會(huì)很多,另一方面,其他的管理系統(tǒng)如財(cái)務(wù)系統(tǒng)等需要工資管理系統(tǒng)的一些數(shù)據(jù),若網(wǎng)絡(luò)化程度不夠,則無法做到真正的自動(dòng)化信息集成。信息管理網(wǎng)絡(luò)化會(huì)在很大程度上提高辦事效率,尤其工資管理方面的網(wǎng)絡(luò)化,都會(huì)給公司與員工帶來益處。1.4 賬目管理的網(wǎng)銀模擬系統(tǒng)的意
9、義現(xiàn)在社會(huì)各行各業(yè)崇尚的是高效管理,銀行也不例外。為贏得更多從業(yè)人員的青睞,本系統(tǒng)大大提高現(xiàn)代銀行管理效率,同時(shí)大大減輕對(duì)銀行管理人員的工作量,有利的保障銀行的正常經(jīng)營,促進(jìn)銀行的發(fā)展。2 系統(tǒng)分析本系統(tǒng)采用了結(jié)構(gòu)化生命周期法,結(jié)構(gòu)化生命周期法是最常用的管理信息系統(tǒng)開發(fā)方法,分為四個(gè)步驟,即系統(tǒng)調(diào)研分析、數(shù)據(jù)庫設(shè)計(jì)實(shí)現(xiàn)、界面設(shè)計(jì)實(shí)現(xiàn)和系統(tǒng)功能設(shè)計(jì)實(shí)現(xiàn)。其中系統(tǒng)調(diào)研分析階段是最基礎(chǔ)、也是最容易被開發(fā)人員忽視的環(huán)節(jié)。2.1 系統(tǒng)的功能系統(tǒng)開發(fā)的總體任務(wù)是實(shí)現(xiàn)自助銀行的自動(dòng)化管理,從而達(dá)到提高降低管理成本、提高作業(yè)效率、提高管理現(xiàn)代化水平,減少成本、促進(jìn)相關(guān)產(chǎn)業(yè)的發(fā)展。首先要考慮項(xiàng)目的軟件組成分為兩
10、大類:前臺(tái)的用戶操作界面與整個(gè)程序的后臺(tái)數(shù)據(jù)庫部分。前臺(tái)的用戶操作界面要實(shí)現(xiàn)用戶對(duì)倉庫的各種操作,要能夠?qū)崿F(xiàn)基礎(chǔ)資料管理、銀行業(yè)務(wù)管理、財(cái)務(wù)報(bào)表管理、系統(tǒng)維護(hù)管理等功能。后臺(tái)數(shù)據(jù)庫方面要實(shí)現(xiàn)對(duì)項(xiàng)目中用到的所有信息的管理、儲(chǔ)存。2.2 用戶需求分析用戶需求分析就是在用戶需求調(diào)研的基礎(chǔ)上,確定系統(tǒng)的總體結(jié)構(gòu)方案,完成相應(yīng)的需求分析報(bào)告。在確定系統(tǒng)的總體結(jié)構(gòu)方案過程中,包括確定應(yīng)用程序的結(jié)構(gòu)、系統(tǒng)開發(fā)環(huán)境和系統(tǒng)的功能模塊。用戶需求調(diào)研結(jié)束之后,應(yīng)該立即進(jìn)行用戶需求分析。根據(jù)對(duì)系統(tǒng)要實(shí)現(xiàn)的功能的分析用戶操作界面設(shè)計(jì)了如下模塊:自助銀行賬戶管理模塊、出入賬管理模塊、系統(tǒng)維護(hù)管理模塊。2.2.1應(yīng)用程序結(jié)
11、構(gòu)確定從用戶應(yīng)用角度來看,可把應(yīng)用程序系統(tǒng)的組成部分分成數(shù)據(jù)存儲(chǔ)層、業(yè)務(wù)處理層和界面表示層等3個(gè)層次,而應(yīng)用程序結(jié)構(gòu)可歸納為:集中式應(yīng)用程序結(jié)構(gòu)、單用戶應(yīng)用程序結(jié)構(gòu)、多層服務(wù)器應(yīng)用程序結(jié)構(gòu)、瀏覽器服務(wù)器應(yīng)用程序結(jié)構(gòu)、交易記錄機(jī)服務(wù)器應(yīng)用程序結(jié)構(gòu)等5種類型。本系統(tǒng)的交易記錄端程序部分就采用了當(dāng)前最流行的交易記錄機(jī)服務(wù)器應(yīng)用程序結(jié)構(gòu)(即B/S結(jié)構(gòu)),此時(shí),交易記錄機(jī)提出請求,服務(wù)器對(duì)交易記錄機(jī)的請求作出回應(yīng)。通過對(duì)服務(wù)功能的分布實(shí)現(xiàn)了分工服務(wù)。數(shù)據(jù)存儲(chǔ)層放在服務(wù)器上,業(yè)務(wù)處理層和界面表示層放在交易記錄機(jī)上,因此又被稱為“靈敏的交易記錄機(jī)”結(jié)構(gòu)。許多操作可以在本地的交易記錄機(jī)上執(zhí)行,只是當(dāng)需要數(shù)據(jù)時(shí)
12、,才向服務(wù)器發(fā)出請求。并使應(yīng)用程序的處理更接近用戶,使整個(gè)系統(tǒng)具有較好的性能,可以并行地處理應(yīng)用程序的請求、減少了數(shù)據(jù)傳輸量、降低了服務(wù)器的負(fù)荷。由于條件所限,將此系統(tǒng)所有程序都置于一臺(tái)計(jì)算機(jī)上,以便調(diào)試運(yùn)行。2.2.2 確定系統(tǒng)開發(fā)環(huán)境1. 數(shù)據(jù)庫的選擇:Microsoft SQL Server與Access,Orcale,Sybase都是當(dāng)前比較流行的數(shù)據(jù)庫管理系統(tǒng)(BDMS)。隨著SQL Server的不斷完善與發(fā)展,以與與網(wǎng)絡(luò)操作系統(tǒng)的完美結(jié)合,為系統(tǒng)擴(kuò)展為多機(jī)操作提供可能,SQL Server 2000是一個(gè)可縮放、高性能的數(shù)據(jù)庫管理系統(tǒng),有完善的數(shù)據(jù)庫維護(hù)計(jì)劃。而且在這個(gè)項(xiàng)目中,由
13、于數(shù)據(jù)量的考慮,本論文決定使用SQL Server 2000作為后臺(tái)的數(shù)據(jù)庫。2. 開發(fā)工具的選擇:由于Microsoft Visual Studio .NET 2005的JSP語言是微軟公司目前主推的編程語言,因此本項(xiàng)目決定選用JSP語言來進(jìn)行代碼的編寫,這樣既可以鍛煉我的學(xué)習(xí)能力又可以是我了解目前先進(jìn)的編程語言。由于大多數(shù)公司部使用的計(jì)算機(jī)平臺(tái)都是基于Windows環(huán)境的。為了降低系統(tǒng)成本,應(yīng)最大程度地利用現(xiàn)有的資源、兼容現(xiàn)有的環(huán)境,可確定使用下面的開發(fā)環(huán)境:(1) 網(wǎng)絡(luò)操作系統(tǒng):Windows XP;(2) 數(shù)據(jù)庫服務(wù)器:SQL Server 2000;(3) 服務(wù)器平臺(tái):Windows
14、 XP; (4) 交易記錄機(jī)平臺(tái):Windows XP;(5) 前臺(tái)開發(fā)工具:Microsoft Visual Studio .NET 2005的JSP語言;(6) 數(shù)據(jù)訪問對(duì)象:JAVA(7) 網(wǎng)絡(luò)開發(fā)語言:JSP3 開發(fā)工具簡介本系統(tǒng)中的前臺(tái)程序使用的是Microsoft Visual Studio .NET 2005的JSP 語言;網(wǎng)絡(luò)部分使用的是JSP技術(shù);后臺(tái)數(shù)據(jù)庫系統(tǒng)使用的是SQL Server 2000。3.1 MyEclipse 6.0的JSP 語言自比爾蓋茨宣布微軟公司將成為一家以.NET平臺(tái)為重點(diǎn)發(fā)展的公司后,微軟己經(jīng)將.NET發(fā)展成了新一代的平臺(tái)標(biāo)準(zhǔn)。當(dāng)前,Microso
15、ft .NET平臺(tái)己經(jīng)成為業(yè)界公認(rèn)的開發(fā)平臺(tái)。本系統(tǒng)的網(wǎng)絡(luò)查詢部分基于Microsoft .NET平臺(tái)中的JSP采用JSP語言開發(fā),交易記錄端的應(yīng)用程序也是采用了JSP語言進(jìn)行開發(fā),以保持整個(gè)項(xiàng)目的代碼的開發(fā)語言的一致性1。.NET開發(fā)平臺(tái)的主要組成部分:首先是整個(gè)開發(fā)框架的基礎(chǔ),即CLR(Common Language Runtime)以與它所提供的一組基礎(chǔ)類庫;在開發(fā)技術(shù)方面,.NET提供了全新的數(shù)據(jù)庫訪問技術(shù)JAVA,以與網(wǎng)絡(luò)應(yīng)用開發(fā)技術(shù)ASP NET和Windows編程技術(shù)Win Forms;在開發(fā)語言方面,.NET提供了Visual Basic, Visual C+,JSP和Java
16、script等多種語言支持,并具有如下新特性:(1)通用語言運(yùn)行庫除了通用語言運(yùn)行庫的字面含義外,在開發(fā)階段和運(yùn)行過程中它還扮演著另一個(gè)角色。在組件運(yùn)行時(shí),運(yùn)行庫負(fù)責(zé)管理存分配、啟動(dòng)和中止線程和進(jìn)程、強(qiáng)化安全系數(shù),同時(shí)還調(diào)整任何該組件涉與到的其他組件的附件配置。在開發(fā)階段,運(yùn)行庫的角色稍微有點(diǎn)變化:因?yàn)楹芏喾矫婵梢宰詣?dòng)實(shí)現(xiàn)(例如存管理等)。運(yùn)行庫可以使開發(fā)過程變得非常簡單,特別是同今天的COM編程相比更是如此。特別典型的是,像Reflection(反射)這樣的特性可以極縮小開發(fā)人員將商業(yè)邏輯轉(zhuǎn)化成一個(gè)可重復(fù)使用的組件而不得不編寫的代碼數(shù)量。運(yùn)行庫對(duì)于編程語言來說并不是新鮮的東西。實(shí)際上每一種編
17、程語言都已包含一個(gè)運(yùn)行庫。Visual Basic開發(fā)系統(tǒng)有最明顯的運(yùn)行庫(正規(guī)名字為VBRUN), Visual C+也有一個(gè)MSVCRT,此外,像Visual FoxPro,Jscript,SmallTalk,Perl,Python和Java等等都如此。.NET框架中的通用語言運(yùn)行庫的核心就是提供了一個(gè)跨所有編程語言的統(tǒng)一環(huán)境。(2)統(tǒng)一編程類.NET框架類為開發(fā)人員提供了一套可以使用的統(tǒng)一的面向?qū)ο?、異步、層次結(jié)構(gòu)的可擴(kuò)展類庫?,F(xiàn)在,C+的使用者使用Microsoft Foundation Classes,Java程序員使用Windows Foundation Classes,Visua
18、l Basic的用戶使用Visual Basic APIs a微軟用.NET框架統(tǒng)一了這些不同的框架。結(jié)果是,開發(fā)人員不用去學(xué)多個(gè)框架來完成自己的工作。而且,通過創(chuàng)建一套跨編程語言的通用API, .NET框架可以實(shí)現(xiàn)跨語言繼承、糾錯(cuò)處理以與程序調(diào)試。實(shí)際上,從JScript到C+的所有編程語言,對(duì)于.Net框架都是相互等同的,開發(fā)人員可以自由地選擇他們想使用的任何語言。(3)JSPJSP的全稱是Java Server Page,其頁面有HTML代碼和嵌入其中的Java代碼組成。服務(wù)器在頁面被客戶端請求以后對(duì)這些Java代碼進(jìn)行處理,然后將生成的HTML頁面返回給客戶端的瀏覽器。Java Ser
19、vlet是JSP技術(shù)的基礎(chǔ),而且大型的Web應(yīng)用程序的開發(fā)需要Java Servlet和JSP配合才能完成。JSP具備了Java技術(shù)的簡單易用、完全面向?qū)ο?、具有平臺(tái)無關(guān)性且安全可靠、主要面向Internet的所有特點(diǎn)。JSP技術(shù)的優(yōu)勢系統(tǒng)的多平臺(tái)支持?;旧峡梢栽谒衅脚_(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行系統(tǒng)部署,在任意環(huán)境中擴(kuò)展。強(qiáng)大的可伸縮性。從只有一個(gè)Jar文件就可以運(yùn)行Servlet和JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理、消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服務(wù)器,JSP顯示出巨大的生命力。多樣化和功能強(qiáng)大的開發(fā)工具支持。JSP已經(jīng)有了許多非常
20、優(yōu)秀的開發(fā)工具,而且有許多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利地運(yùn)行于多種平臺(tái)之下。在JSP第一次獲得請求時(shí),不管請求來自于客戶端瀏覽器還是服務(wù)器上的Servlet,JSP文件將被JSP引擎(JSP engine)轉(zhuǎn)換成為一個(gè)Servlet,而這個(gè)引擎本身也是一個(gè)Servlet。所有的JSP最終都會(huì)被編譯成為Servlet。當(dāng)Servlet接受到請求后,如果用戶設(shè)置了使用最新的JSP的話,它就會(huì)去找JSP文件,檢查JSP文件在上次編譯后是否改動(dòng)過,如果改動(dòng)過的話,就會(huì)重新編譯,最終還是會(huì)把請求轉(zhuǎn)交給編譯好的Servlet去運(yùn)行的。在編譯時(shí)候如果發(fā)現(xiàn)JSP文件有任何語法錯(cuò)誤,轉(zhuǎn)換過程將中斷,并
21、向客戶端發(fā)出出錯(cuò)信息;而如果編譯成功了,則所轉(zhuǎn)換產(chǎn)生的Servlet代碼被編譯,然后該Servlet被JSP引擎加載到存中。此時(shí)JSP引擎還請求了jspInit()方法的執(zhí)行,并對(duì)此Servlet作初始化。jspInit()方法在Servlet的生命周期中只被請求一次,然后jspService()方法被調(diào)用用來處理客戶端的請求和回復(fù)操作。由于Servlet始終駐于存,所以響應(yīng)是非常快的。圖3.1 NET開發(fā)平臺(tái)結(jié)構(gòu)如圖Microsoft.eclipse計(jì)劃將徹底改變我們對(duì)因特網(wǎng)的認(rèn)識(shí),從而在這樣一個(gè)網(wǎng)絡(luò)時(shí)代徹底改變我們的生活。軟件是一種服務(wù)技術(shù),是我們的仆人。時(shí)間與地點(diǎn)將不再是我們面前的障礙,
22、建立在CLR與類庫基礎(chǔ)上的.NET框架是.NET平臺(tái)的核心組件之一。這為軟件的可移植性與可擴(kuò)展能力奠定了堅(jiān)實(shí)的基礎(chǔ),并為JSP語言的應(yīng)用創(chuàng)造了良好的環(huán)境2。JSP是.myeclispe平臺(tái)的通用開發(fā)工具,它能夠建造所有的.NET應(yīng)用。其固有的特性保證了它是一種高效安全靈活的現(xiàn)代程序設(shè)計(jì)語言。從最普通的應(yīng)用到大規(guī)模的商業(yè)開發(fā)JSP與.NET 平臺(tái)的結(jié)合將為你提供完整的解決方案3。為了實(shí)現(xiàn)對(duì)數(shù)據(jù)的訪問,可以利用.Net框架的ActiveX數(shù)據(jù)對(duì)象(JAVA)來實(shí)現(xiàn)。ADO .NET由Microsoft ActiveX Data Objects (ADO)改進(jìn)而來,它提供平臺(tái)互用和可收縮的數(shù)據(jù)訪問功
23、能。由于XML(Extensible Markup Language,可擴(kuò)展標(biāo)示語言)是用于進(jìn)行數(shù)據(jù)傳送的格式,任何可以讀取XML格式的應(yīng)用程序都可以對(duì)數(shù)據(jù)進(jìn)行處理。實(shí)際上,接收組件根本不需要JAVA組件。它可以是基于Microsoft Visual Studio的解決方案或在任何平臺(tái)上運(yùn)行的任何應(yīng)用程序4。JAVA是一組提供數(shù)據(jù)訪問服務(wù)的類,它提供了對(duì)數(shù)據(jù)庫數(shù)據(jù)、XML中的數(shù)據(jù)和應(yīng)用程序數(shù)據(jù)的訪問;而且所有的訪問都是按照一個(gè)相容的,標(biāo)準(zhǔn)化的設(shè)計(jì)模型來執(zhí)行。ADO是Microsoft現(xiàn)有的、廣泛應(yīng)用的數(shù)據(jù)訪問接口。但是,它卻有一些自身難以改變的不適應(yīng)于Web環(huán)境的缺陷:(1) Web環(huán)境要求一
24、定程度的互操作性,因?yàn)椴僮魉媾c的各個(gè)服務(wù)可能運(yùn)行在不同的軟件和硬件平臺(tái)上。然而,ADO對(duì)象天生地定位在Windows平臺(tái)上。ADO基于COM的本性使得一記錄集很難在一個(gè)分布式、異種平臺(tái)構(gòu)成的環(huán)境中使用。(2) ADO對(duì)象模型中的每一個(gè)地方都體現(xiàn)了以數(shù)據(jù)庫為中心的思想。ADO把數(shù)據(jù)看成是一組來自數(shù)據(jù)源的記錄,而不是把數(shù)據(jù)看成一些獨(dú)立的信息。在ADO中,如果脫離了數(shù)據(jù)提供者用來保存和描述數(shù)據(jù)的結(jié)構(gòu),數(shù)據(jù)將不能獨(dú)立存在。(3) JAVA從Web的角度對(duì)ADO進(jìn)行檢討和改進(jìn)。兩個(gè)功能使得這方面的增強(qiáng)成為可能:脫機(jī)記錄集,以與與生俱來的對(duì)XML的支持。這主要是通過其中的DataSet(數(shù)據(jù)集)對(duì)象來實(shí)
25、現(xiàn)以上兩個(gè)功能。JAVA結(jié)構(gòu)的一個(gè)核心元素是.NET數(shù)據(jù)提供程序,其目的是為了實(shí)現(xiàn)數(shù)據(jù)操作和對(duì)數(shù)據(jù)的快速、只進(jìn)、只讀訪問,為此包含了幾個(gè)對(duì)象:Connection對(duì)象提供與各種不同類型數(shù)據(jù)源的連接;Command對(duì)象能夠訪問用于返回?cái)?shù)據(jù)、修改數(shù)據(jù)、運(yùn)行存儲(chǔ)過程以與發(fā)送或檢索參數(shù)信息的數(shù)據(jù)庫命令,其包含的可選Parameters集合中可以定義數(shù)據(jù)庫命令或存儲(chǔ)過程的參數(shù);DataReader從數(shù)據(jù)源中提供高性能的數(shù)據(jù)流,以便對(duì)數(shù)據(jù)進(jìn)行快速、只進(jìn)、只讀訪問;最后,DataAdapter提供連接DataSet:對(duì)象和數(shù)據(jù)源的橋梁。DataAdapter使用SelectCommand對(duì)象在數(shù)據(jù)源中執(zhí)行S
26、QL命令,以便將數(shù)據(jù)加載到DataSet中,并可以使用InsertCommand,UpdateCommand或DeleteCommand對(duì)象將DataSet中數(shù)據(jù)的更改返回到數(shù)據(jù)源中。可以為任何數(shù)據(jù)源編寫.NET數(shù)據(jù)提供程序,在.NET框架中附帶了兩個(gè).NET數(shù)據(jù)提供程序:SQL Server .NET數(shù)據(jù)提供程序和OLE DB .NET數(shù)據(jù)提供程序。JAVA有效地從數(shù)據(jù)操作中將數(shù)據(jù)訪問分解為多個(gè)可以單獨(dú)使用或一前一后使用的不連續(xù)組件。ADO. NET包含用于連接到數(shù)據(jù)庫、執(zhí)行命令和檢索結(jié)果的.NET數(shù)據(jù)提供程序,它是一組包括Connection, Command, DataReader和Da
27、taAdapter對(duì)象在的組件:同時(shí)既可以直接處理檢索到的結(jié)果,也可以將其放入JAVA中的另一核心組件:DataSet中。DataSet是JAVA的斷開式結(jié)構(gòu)的核心組件。相對(duì)于ADO,DataSet是在JAVA中加入的全新對(duì)象,使用該對(duì)象的目的是為了實(shí)現(xiàn)獨(dú)立于任何數(shù)據(jù)源的數(shù)據(jù)訪問。因此,它可以用于多種不同的數(shù)據(jù)源,DataSet包含一個(gè)或多個(gè)的集合,這些DataTable對(duì)象中可以包含主鍵、外鍵、約束等信息,DataTable對(duì)象之間還可以包含關(guān)系信息等。所以,可以將DataSet組件看做是一個(gè)脫機(jī)的、保存在存中的、由多個(gè)數(shù)據(jù)源提供其數(shù)據(jù)的微型關(guān)系數(shù)據(jù)庫5。JAVA中各個(gè)組件對(duì)象之間的關(guān)系如圖
28、3.2所示:圖3.2 JAVA中各個(gè)組件對(duì)象之間的關(guān)系圖3.2 JSP 簡介基于WEB的應(yīng)用系統(tǒng),在Internet/Intranet技術(shù)推廣以來,得到了迅速發(fā)展。無論是銀行、政府的部計(jì)算機(jī)應(yīng)用系統(tǒng),還是在互聯(lián)網(wǎng)上的應(yīng)用服務(wù)系統(tǒng),基于WEB的計(jì)算機(jī)應(yīng)用系統(tǒng)都發(fā)揮著越來越多的作用。逐漸成為計(jì)算機(jī)應(yīng)用系統(tǒng)的主流。JSP是微軟公司的.NET框架技術(shù)的一部分,旨在建立WEB應(yīng)用程序和XML WEB服務(wù)。JSP使用編譯的、事件驅(qū)動(dòng)編程模型從而提高運(yùn)行速度和分離應(yīng)用程序邏輯和用戶界面。使用JSP可以很容易的開發(fā)基于三層架構(gòu)的B/S應(yīng)用程序6。JSP又叫ASP+,但并不是ASP的簡單升級(jí),而是Microso
29、ft推出的新一代Active Server Pages腳本語言。ASP NET是Microsoft發(fā)展的新型體系結(jié)構(gòu).NET框架中的核心要素。JSP完全基于模塊和組件,具有更好的可擴(kuò)展性和可定制性,JSP建立在CLR ( Common Language Runtime,通用語言運(yùn)行庫)基礎(chǔ)之上,它主要用于在服務(wù)器上開發(fā)功能強(qiáng)大的Web應(yīng)用。JSP具有如下的優(yōu)點(diǎn):(1) 速度奇快,所有的JSP代碼(包括服務(wù)器腳本)都經(jīng)過了編譯后運(yùn)行,所以執(zhí)行效率極高。(2) 可用XCOPY輕松完成部署與應(yīng)用升級(jí)。JSP支持應(yīng)用程序的實(shí)時(shí)更新。管理員不必關(guān)掉網(wǎng)絡(luò)服務(wù)器或者甚至不用停止應(yīng)用程序的運(yùn)行就可以更新應(yīng)用程
30、序。(3) 代碼與容分離。JSP程序通過Code-Behind、用戶控件、自定義控件與組件這四種方法將程序結(jié)構(gòu)與執(zhí)行代碼分離,使程序的邏輯結(jié)構(gòu)一目了然,便于團(tuán)隊(duì)開發(fā)。(4) 廣泛的移動(dòng)設(shè)備支持。JSP的移動(dòng)控件使開發(fā)人員可以面向廣泛的移動(dòng)設(shè)備,包括支持Web的移動(dòng)、尋呼機(jī)和個(gè)人數(shù)字助理(PDA)。(5) 輕松構(gòu)建和使用Web服務(wù)。由于JSP和.NET遠(yuǎn)程處理建立在.NET Framework之上,因此它們可以使創(chuàng)建XML Web services變得更為容易7。3.3 SQL Server 2000SQL Server 2000是建立在 SQL Server 7.0 在可伸縮性、可用性、可管理
31、性和數(shù)據(jù)倉庫成功的基礎(chǔ)上,并且引入了針對(duì)電子商務(wù)的重要新功能8。4 系統(tǒng)的功能設(shè)計(jì)4.1 功能概述本系統(tǒng)要實(shí)現(xiàn)用戶對(duì)自助銀行的所有操作:賬戶管理、出入賬管理、系統(tǒng)維護(hù)管理等功能。(一) 自助銀行賬戶管理模塊:本模塊又包括賬戶資料添加模塊、賬戶資料管理模塊等子模塊。(二) 出入賬管理模塊:本模塊又包括出入賬資料添加、出入賬資料管理模塊等子模塊。(三) 系統(tǒng)維護(hù)管理:本模塊又包括公司用戶設(shè)置模塊、重新登錄模塊、數(shù)據(jù)管理模塊等子模塊。根據(jù)上功能模塊圖,可設(shè)計(jì)出相對(duì)應(yīng)的系統(tǒng)數(shù)據(jù)流程圖。如下:自助模擬銀行管理系統(tǒng)登陸系統(tǒng)系統(tǒng)信息管理數(shù)據(jù)備份ATM賬戶管理出入賬管理用戶信息管理數(shù)據(jù)還原自助模擬銀行管理系統(tǒng)
32、數(shù)據(jù)輸出退出系統(tǒng)圖4-1系統(tǒng)數(shù)據(jù)流程圖4.2 后臺(tái)數(shù)據(jù)庫設(shè)計(jì)4.2.1 存儲(chǔ)過程介紹1. 考慮使用存儲(chǔ)過程的理由相對(duì)于使用一般的SqlCommand 對(duì)象的 T-SQL語句,使用存儲(chǔ)過程可以使SqlCommand 對(duì)象的 T-SQL語句并入數(shù)據(jù)訪問代碼更好的位置。由于應(yīng)用程序隨著時(shí)間的推移增添了一些功能,因此其部可能包含一些復(fù)雜的 T-SQL 過程代碼。存儲(chǔ)過程為封裝此代碼提供了一個(gè)替換位置。大多數(shù)人可能對(duì)存儲(chǔ)過程已有所了解,但對(duì)于那些不了解存儲(chǔ)過程的人員而言,存儲(chǔ)過程是指一組作為單個(gè)代碼單元一起存儲(chǔ)于數(shù)據(jù)庫中的 T-SQL 語句。您可以使用輸入?yún)?shù)傳入運(yùn)行時(shí)信息,并取回作為結(jié)果集或輸出參數(shù)的
33、數(shù)據(jù)。存儲(chǔ)過程在首次運(yùn)行時(shí)將被編譯。這將產(chǎn)生一個(gè)執(zhí)行計(jì)劃 - 實(shí)際上是 Microsoft SQL Server 為在存儲(chǔ)過程中獲取由 T-SQL 指定的結(jié)果而必須采取的步驟的記錄。然后,執(zhí)行計(jì)劃在存中得到緩存,以備以后使用。這樣會(huì)改善存儲(chǔ)過程的性能,因?yàn)?SQL Server 無需為確定如何處理代碼而重新分析它,而只需引用緩存的計(jì)劃即可。這個(gè)緩存的計(jì)劃一直可用,直到SQL Server 重新啟動(dòng),或直到它由于使用率較低而溢出存9。2. 性能緩存的執(zhí)行計(jì)劃曾使存儲(chǔ)過程較之查詢更有性能優(yōu)勢。但對(duì)于 SQL Server 的幾個(gè)最新版本,執(zhí)行計(jì)劃已針對(duì)所有 T-SQL 批處理進(jìn)行了緩存,而不管它們
34、是否在存儲(chǔ)過程中。因此,基于此功能的性能已不再是存儲(chǔ)過程的賣點(diǎn)。任何使用靜態(tài)語法,且提交頻率足以阻止執(zhí)行計(jì)劃溢出存的 T-SQL 批處理將會(huì)獲得同樣的性能好處?!办o態(tài)”部分是關(guān)鍵;任何更改,即使像添加注釋這樣無關(guān)緊要的更改,也將導(dǎo)致無法與緩存的計(jì)劃相匹配,從而將無法重復(fù)使用計(jì)劃。但是,當(dāng)存儲(chǔ)過程可以用于降低網(wǎng)絡(luò)流量時(shí),它們?nèi)匀荒軌蛱峁┬阅芎锰?。您只需在網(wǎng)絡(luò)中發(fā)送 EXECUTE stored_proc_name 語句,而非整個(gè) T-SQL 例程,這可以在復(fù)雜操作中廣泛使用。設(shè)計(jì)良好的存儲(chǔ)過程可以將交易記錄端與服務(wù)器之間的許多往返過程簡化為單個(gè)調(diào)用。此外,使用存儲(chǔ)過程使您能夠增強(qiáng)對(duì)執(zhí)行計(jì)劃的重復(fù)
35、使用,由此可以通過使用遠(yuǎn)程過程調(diào)用 (RPC) 處理服務(wù)器上的存儲(chǔ)過程而提高性能。使用 StoredProcedure 的SqlCommand mandType 時(shí),存儲(chǔ)過程通過 RPC 執(zhí)行。RPC 封裝參數(shù)和調(diào)用服務(wù)器端過程的方式使引擎能夠輕松地找到匹配的執(zhí)行計(jì)劃,并只需插入更新的參數(shù)值??紤]使用存儲(chǔ)過程提高性能時(shí),最后要考慮是否要充分利用 T-SQL 的優(yōu)點(diǎn)。請考慮要如何處理數(shù)據(jù)。 (1) 是否要使用基于集合的操作,或執(zhí)行 T-SQL 中完全支持的其他操作?那么存儲(chǔ)過程就是一個(gè)選擇,而聯(lián)查詢也可以使用。(2) 是否嘗試執(zhí)行基于行的操作,或復(fù)雜的字符串處理?那么可能要重新考慮在T-SQL
36、中進(jìn)行這種處理,這不包括使用存儲(chǔ)過程,至少要到 Yukon 發(fā)布并且公共語言運(yùn)行庫 (CLR) 集成可用后,才能使用存儲(chǔ)過程。3. 可維護(hù)性和抽象要考慮的另一個(gè)潛在優(yōu)勢是可維護(hù)性。理想情況下,數(shù)據(jù)庫架構(gòu)從不更改,業(yè)務(wù)規(guī)則不被修改,但在現(xiàn)實(shí)環(huán)境中,情況則完全不同。既然情況如此,那么如果可以修改存儲(chǔ)過程以包括新 X、Y 和 Z 表(為支持新的銷售活動(dòng)而添加了這些表)中的數(shù)據(jù),而不是在應(yīng)用程序代碼中的某個(gè)位置更改此信息,則維護(hù)對(duì)您來說可能比較容易。在存儲(chǔ)過程中更改此信息使得更新對(duì)應(yīng)用程序而言具有透明性。您仍然返回一樣的銷售信息,即使存儲(chǔ)過程的部實(shí)現(xiàn)已經(jīng)更改。更新存儲(chǔ)過程通常比更改、測試以與重新部署程
37、序集需要較少的時(shí)間和精力。 另外,通過抽象化實(shí)現(xiàn)并將此代碼保存在存儲(chǔ)過程中,任何需要訪問數(shù)據(jù)的應(yīng)用程序均可以獲取一致的數(shù)據(jù)。您無需在多個(gè)位置維護(hù)一樣的代碼,用戶便可獲取一致的信息。在存儲(chǔ)過程中存儲(chǔ) T-SQL 的另一個(gè)可維護(hù)性優(yōu)點(diǎn)是更好的版本控制。您可以對(duì)創(chuàng)建和修改存儲(chǔ)過程的腳本進(jìn)行版本控制,就像可以對(duì)任何其他源代碼模塊進(jìn)行版本控制一樣。通過使用 Microsoft Visual SourceSafe 或某個(gè)其他源代碼控制工具,您可以輕松地恢復(fù)到或引用舊版本的存儲(chǔ)過程。 在使用存儲(chǔ)過程提高可維護(hù)性時(shí)應(yīng)值得注意的一點(diǎn)是,它們無法阻止您對(duì)架構(gòu)和規(guī)則進(jìn)行所有可能的更改。如果更改圍大到需要對(duì)輸入存儲(chǔ)過
38、程的參數(shù)進(jìn)行更改,或者要更改由其返回的數(shù)據(jù),則您仍需要更新程序集中的代碼以添加參數(shù)、更新GetValue()調(diào)用,等等。要注意的另一個(gè)問題是,由于存儲(chǔ)過程將應(yīng)用程序綁定到SQL Server,因此使用存儲(chǔ)過程封裝業(yè)務(wù)邏輯將限制應(yīng)用程序的可移植性。如果應(yīng)用程序的可移植性在您的環(huán)境中非常重要,則將業(yè)務(wù)邏輯封裝在不特定于RDBMS的中間層中可能是一個(gè)更佳的選擇。 4. 安全性考慮使用存儲(chǔ)過程的最終原因是它們可用于增強(qiáng)安全性。 就管理用戶對(duì)信息的訪問而言,通過向用戶授予對(duì)存儲(chǔ)過程(而不是基礎(chǔ)表)的訪問權(quán)限,它們可以提供對(duì)特定數(shù)據(jù)的訪問。存儲(chǔ)過程可以看成是SQL Server視圖,除非存儲(chǔ)過程接受用戶的
39、輸入以動(dòng)態(tài)更改顯示的數(shù)據(jù)。存儲(chǔ)過程還可以解決代碼安全問題。它們可以防止某些類型的SQL插入攻擊。主要是一些使用運(yùn)算符(如AND或OR)將命令附加到有效輸入?yún)?shù)值的攻擊。在應(yīng)用程序受到攻擊時(shí),存儲(chǔ)過程還可以隱藏業(yè)務(wù)規(guī)則的實(shí)現(xiàn)。這對(duì)于將此類信息視為知識(shí)產(chǎn)權(quán)的公司非常重要。另外,使用存儲(chǔ)過程使您可以使用JAVA中提供的SqlParameter類指定存儲(chǔ)過程參數(shù)的數(shù)據(jù)類型。這為驗(yàn)證用戶提供的值類型(作為深層次防御性策略的一部分)提供了一個(gè)簡單方法。在縮小可接受用戶輸入的圍方面,參數(shù)在聯(lián)查詢中與在存儲(chǔ)過程中一樣有用。使用存儲(chǔ)過程僅僅能夠增強(qiáng)數(shù)據(jù)庫安全性,而不能完全使數(shù)據(jù)庫免受攻擊。如果數(shù)據(jù)庫的安全性或編
40、碼做法不完善仍然會(huì)受到攻擊。對(duì)SQL Server角色創(chuàng)建和分配如果不加注意將導(dǎo)致人們訪問到不應(yīng)看到的數(shù)據(jù)。同時(shí),如果認(rèn)為使用存儲(chǔ)過程便可防止所有SQL插入代碼攻擊(例如,將數(shù)據(jù)操作語言 (DML) 附加到輸入?yún)?shù)),后果將是一樣的。另外,無論T-SQL位于代碼還是位于存儲(chǔ)過程中,使用參數(shù)進(jìn)行數(shù)據(jù)類型驗(yàn)證都不是萬無一失的。所有用戶提供的數(shù)據(jù)(尤其是文本數(shù)據(jù))在傳遞到數(shù)據(jù)庫之前都應(yīng)受到附加的驗(yàn)證。5. 使用存儲(chǔ)過程的優(yōu)缺點(diǎn)使用存儲(chǔ)過程封裝應(yīng)用邏輯的優(yōu)點(diǎn)如下:(1) DBA+Developer分工明確,之間代碼模塊化。減少數(shù)據(jù)庫操作員和程序員的錯(cuò)誤。(2) 數(shù)據(jù)庫安全性;可以設(shè)置連接字符串中賬號(hào)只
41、可訪問存儲(chǔ)過程,不可操作表。這樣數(shù)據(jù)完整性也有保證。(3) 存儲(chǔ)過程是編譯過的,執(zhí)行快。(4) 事務(wù)的級(jí)別,存儲(chǔ)過程級(jí)別的事務(wù),JAVA級(jí)別的事務(wù)比較。一致性。(5) 減少網(wǎng)絡(luò)通信量。一個(gè)需要數(shù)行 Transact-SQL 代碼的操作由一條執(zhí)行過程代碼的單獨(dú)語句就可實(shí)現(xiàn),而不需要在網(wǎng)絡(luò)中發(fā)送數(shù)行代碼。使用存儲(chǔ)過程封裝應(yīng)用邏輯的缺點(diǎn)如下:(1) 編程語言SQL功能較差(不包括 SQL 2005)(2) 與編程環(huán)境集成不夠(不包括 SQL 2005)(3) 移植性差(不同數(shù)據(jù)庫)(4) 數(shù)據(jù)庫服務(wù)器壓力大4.2.2 數(shù)據(jù)庫的表的設(shè)計(jì)根據(jù)項(xiàng)目要求進(jìn)行數(shù)據(jù)庫中表格的建立。根據(jù)對(duì)用戶的需求分析,在項(xiàng)目中
42、,需要記錄銀行的基本信息、交易記錄的基本信息、銀行的操作信息。數(shù)據(jù)庫的設(shè)計(jì)式是數(shù)據(jù)庫設(shè)計(jì)所需要滿足的規(guī),滿足這些規(guī)的數(shù)據(jù)庫是簡潔的、結(jié)構(gòu)明晰的,同時(shí),不會(huì)發(fā)生插入(insert)、刪除(delete)和更新(update)操作異常。反之則是亂七八糟,不僅給數(shù)據(jù)庫的編程人員制造麻煩,而且面目可憎,可能存儲(chǔ)了大量不需要的冗余信息。式的介紹:第一式(1NF):數(shù)據(jù)庫表中的字段都是單一屬性的,不可再分。這個(gè)單一屬性由基本類型構(gòu)成,包括整型、實(shí)數(shù)、字符型、邏輯型、日期型等。第二式(2NF):數(shù)據(jù)庫表中不存在非關(guān)鍵字段對(duì)任一候選關(guān)鍵字段的部分函數(shù)依賴(部分函數(shù)依賴指的是存在組合關(guān)鍵字中的某些字段決定非關(guān)鍵
43、字段的情況),也即所有非關(guān)鍵字段都完全依賴于任意一組候選關(guān)鍵字。第三式(3NF):在第二式的基礎(chǔ)上,數(shù)據(jù)表中如果不存在非關(guān)鍵字段對(duì)任一候選關(guān)鍵字段的傳遞函數(shù)依賴則符合第三式。所謂傳遞函數(shù)依賴,指的是如果存在“A B C”的決定關(guān)系,則C傳遞函數(shù)依賴于A。因此,滿足第三式的數(shù)據(jù)庫表應(yīng)該不存在如下依賴關(guān)系:關(guān)鍵字段 非關(guān)鍵字段x 非關(guān)鍵字段y鮑依斯-科得式(BCNF):在第三式的基礎(chǔ)上,數(shù)據(jù)庫表中如果不存在任何字段對(duì)任一候選關(guān)鍵字段的傳遞函數(shù)依賴則符合第三式。可以消除第三式刪除異常、插入異常和更新異常13。系統(tǒng)中還需要有用戶的登錄信息表用于記錄用戶的登錄信息。登錄信息表中應(yīng)該有登錄的用戶名和密碼,
44、其中登錄名為主鍵。4.2.3 設(shè)計(jì)局部ER模式1實(shí)體和屬性的定義:1)管理員用戶類別(用戶名,密碼,權(quán)限,注冊時(shí)間等)管理員用戶用戶名密碼權(quán)限注冊時(shí)間圖4-2管理員用戶實(shí)體與屬性的定義2)賬戶信息類別(,性別,聯(lián)系,地址,注冊時(shí)間等)賬戶信息XX性別地址注冊時(shí)間時(shí)間圖4-3賬戶信息實(shí)體與屬性的定義3)交易記錄信息類別(,性別,地址)轉(zhuǎn)入賬戶轉(zhuǎn)出賬戶類型XX交易信息圖4-4 交易記錄信息實(shí)體與屬性的定義2 實(shí)體關(guān)系定義:ER模型的“聯(lián)系”用于刻畫實(shí)體之間的關(guān)聯(lián)。一種完整的方式是對(duì)局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型,依據(jù)需求分析的結(jié)果,考察局部結(jié)構(gòu)中任意兩個(gè)實(shí)體類型之間是否存在聯(lián)系。若有聯(lián)系,進(jìn)一步確定是
45、1:1、1:N、M:N的關(guān)系。還要考察一個(gè)實(shí)體類型部是否存在聯(lián)系,兩個(gè)實(shí)體類型之間是否存在聯(lián)系,多個(gè)實(shí)體類型之間是否存在聯(lián)系,等等針對(duì)本系統(tǒng)分析如下:實(shí)體間的關(guān)系:一個(gè)管理員可以管理多個(gè)自助銀行賬戶,而一個(gè)自助銀行賬戶只能被一個(gè)管理員管理。管理員ATM賬戶1N管理圖4-5 自助銀行賬戶與管理員信息管理1:N(一對(duì)多的關(guān)系)管理員出入賬信息1N管理 一個(gè)管理員可以管理多個(gè)出入賬信息,而一個(gè)出入賬信息只可以被一個(gè)管理員管理圖4-6管理員與出入賬信息1:N(一對(duì)多的關(guān)系)4.2.4 設(shè)計(jì)全局ER模式所有局部ER模式都設(shè)計(jì)好了后,接下來就是把它們綜合成單一的全局概念結(jié)構(gòu)。全局概念結(jié)構(gòu)不僅要支持所有局部
46、ER模式,而且必須合理地表示一個(gè)完整、一致的數(shù)據(jù)庫概念結(jié)構(gòu)。1) 確定公共實(shí)體類型 為了給多個(gè)局部ER模式的合并提供開始合并的基礎(chǔ),首先要確定各局部結(jié)構(gòu)中的公共實(shí)體類型。在這一步中我們僅根據(jù)實(shí)體類型名和鍵來認(rèn)定公共實(shí)體類型。一般把同名實(shí)體類型作為公共實(shí)體類型的一類候選,把具有一樣鍵的實(shí)體類型作為公共實(shí)體類型的另一類候選。2) 局部ER模式的合并 合并的原則是:首先進(jìn)行兩兩合并;先合并那些現(xiàn)實(shí)世界中有聯(lián)系的局部結(jié)構(gòu);合并從公共實(shí)體類型開始,最后再加入獨(dú)立的局部結(jié)構(gòu)。3) 消除沖突 沖突分為三類:屬性沖突、結(jié)構(gòu)沖突、命名沖突。 設(shè)計(jì)全局ER模式的目的不在于把若干局部ER模式形式上合并為一個(gè)ER模式
47、,而在于消除沖突,使之成為能夠被所有用戶共同理解和接受的同一的概念模型。4) 全局ER模式的優(yōu)化 在得到全局ER模式后,為了提高數(shù)據(jù)庫系統(tǒng)的效率,還應(yīng)進(jìn)一步依據(jù)處理需求對(duì)ER模式進(jìn)行優(yōu)化。一個(gè)好的全局ER模式,除能準(zhǔn)確、全面地反映用戶功能需求外,還應(yīng)滿足下列條件:實(shí)體類型的個(gè)數(shù)要盡可能的少;實(shí)體類型所含屬性個(gè)數(shù)盡可能少;實(shí)體類型間聯(lián)系無冗余。4.2.5數(shù)據(jù)字典數(shù)據(jù)字典是在新系統(tǒng)數(shù)據(jù)流程圖基礎(chǔ)上,進(jìn)一步定義和描述所有數(shù)據(jù)項(xiàng)的工具,是關(guān)于數(shù)據(jù)的數(shù)據(jù)。它包括對(duì)一切動(dòng)態(tài)數(shù)據(jù)和表態(tài)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)和相互關(guān)系等的說明,是數(shù)據(jù)分析和數(shù)據(jù)管理的重要工具。數(shù)據(jù)字典實(shí)際上是新系統(tǒng)的所有數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)結(jié)構(gòu)、數(shù)
48、據(jù)元素和處理功能等卡片的集合。這些卡片容是根據(jù)數(shù)據(jù)流程圖,通過數(shù)據(jù)調(diào)查和分析得到的。數(shù)據(jù)字典可以匯總成清單形式,經(jīng)過數(shù)據(jù)分析與規(guī)化轉(zhuǎn)換成組織模式,進(jìn)行數(shù)據(jù)庫的邏輯設(shè)計(jì);或者,直接用來進(jìn)行文件設(shè)計(jì)。數(shù)據(jù)字典的卡片容不可能在系統(tǒng)分析階段都填寫完善,還須在系統(tǒng)設(shè)計(jì)和實(shí)施階段進(jìn)行補(bǔ)充和修改。數(shù)據(jù)字典是關(guān)于數(shù)據(jù)的信息的集合,也就是對(duì)數(shù)據(jù)流圖中包含的所有元素的定義的集合。數(shù)據(jù)流圖和數(shù)據(jù)字典共同構(gòu)成系統(tǒng)的邏輯模型。1. 數(shù)據(jù)字典列表數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)名稱:管理員信息數(shù)據(jù)來源:管理員信息表數(shù)據(jù)去向:管理員登陸模塊數(shù)據(jù)組成:管理員信息管理員+管理員+管理員密碼描述:存儲(chǔ)了管理員的基本信息數(shù)據(jù)存儲(chǔ)名稱:自助銀行信息數(shù)
49、據(jù)來源:自助銀行信息表數(shù)據(jù)去向:自助銀行模塊數(shù)據(jù)組成:自助銀行信息=編號(hào)+自助銀行名稱+類型+聯(lián)系人+聯(lián)系方式+添加時(shí)間等描述:存儲(chǔ)了自助銀行的基本信息數(shù)據(jù)存儲(chǔ)名稱:交易記錄信息數(shù)據(jù)來源:交易記錄信息表數(shù)據(jù)去向:交易記錄模塊數(shù)據(jù)組成:交易記錄信息=編號(hào)+交易記錄名稱+性別+聯(lián)系方式+添加時(shí)間等描述:存儲(chǔ)了交易記錄的基本信息表4-1數(shù)據(jù)流2. 數(shù)據(jù)字典列表數(shù)據(jù)處理表4-2數(shù)據(jù)處理描述:管理員登錄系統(tǒng)進(jìn)行管理員登錄管理輸入:管理員的用戶名、密碼過程:判斷是否為合法的管理員輸出:后臺(tái)系統(tǒng)主界面名稱: 查詢信息描述:根據(jù)條件查詢所需信息輸入: 輸入查詢的條件過程:查詢系統(tǒng)的用戶所需的信息輸出: 查詢得
50、到的信息頁面附表4-2數(shù)據(jù)處理名字:錄入信息描述:賬戶信息,交易信息等的錄入輸入: 輸入要添加錄入的信息過程: 將需要添加錄入的信息加入數(shù)據(jù)庫中輸出: 系統(tǒng)新的信息表頁面輸出: 查詢得到的信息頁面名字:修改、刪除信息描述:對(duì)會(huì)員信息,資料信息等修改或刪除后存入數(shù)據(jù)庫中輸入: 輸入要修改或刪除的信息過程:對(duì)需要修改的信息做修改、刪除過時(shí)的信息輸出: 系統(tǒng)新的信息表頁面輸出: 查詢得到的信息頁面3. 數(shù)據(jù)字典列表數(shù)據(jù)存儲(chǔ)表4-3數(shù)據(jù)存儲(chǔ)名字: 數(shù)據(jù)庫信息別名:無描述:存儲(chǔ)了數(shù)據(jù)庫的基本信息數(shù)據(jù)組成:數(shù)據(jù)庫信息=賬戶信息+資訊記錄信息+管理員信息位置:數(shù)據(jù)庫輸出: 查詢得到的信息頁面4.數(shù)據(jù)表圖例a
51、llusers表:表4-4 alluser表序號(hào)字段名稱字段類型大小允許為空最大長度備注1IDInt 4自增編號(hào)102usernameVarChar 50是2553pwdVarChar 50是2554cxVarChar 50是2555addtimeDateTime 8是23zhanghuxinxi表:表4-5 zhanghuxinxi表序號(hào)字段名稱字段類型大小允許為空最大長度備注1IDInt 4自增編號(hào)102zhanghaoVarChar 50是2553mimaVarChar 50是2554xingmingVarChar 50是2555xingbieVarChar 50是2556shenfen
52、zhengVarChar 50是2557dizhiVarChar 50是2558yueFloat 8是159zhuangtaiVarChar 50是25510beizhuVarChar 50是25511addtimeDateTime 8是23zhuanzhangjilu表:表4-6 zhuanzhangjilu表序號(hào)字段名稱字段類型大小允許為空最大長度備注1IDInt 4自增編號(hào)102zhuanchuzhanghaoVarChar 50是2553zhuanruzhanghaoVarChar 50是2554zhuanzhangjineVarChar 50是2555beizhuVarChar 50是2556addtimeDateTime 8是237leixingVarChar 50是2555 應(yīng)用程序界面設(shè)計(jì)5.1 用戶登陸圖5-1登錄界面在運(yùn)行程序后,首先看到的是用戶登錄窗口。用戶要填寫他的用戶名和密
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 物業(yè)課程設(shè)計(jì)案例
- 微波課程設(shè)計(jì)開題報(bào)告
- 染整技術(shù)員工藝流程設(shè)計(jì)與實(shí)施能力考核試卷
- 工程勘察課程設(shè)計(jì)報(bào)告
- 衛(wèi)生陶瓷制品倉儲(chǔ)與物流配送考核試卷
- 玉石歷史文化研究與傳統(tǒng)工藝傳承考核試卷
- 石材裝飾施工流程規(guī)范考核試卷
- 玻璃制造行業(yè)的環(huán)境保護(hù)問題考核試卷
- 煤炭及制品進(jìn)出口業(yè)務(wù)考核試卷
- 社會(huì)創(chuàng)業(yè)與社會(huì)創(chuàng)新實(shí)踐考核試卷
- 南寧二中、柳州高中2025屆高一上數(shù)學(xué)期末聯(lián)考試題含解析
- 2024年秋季學(xué)期新魯教版(54制)6年級(jí)上冊英語課件 Unit6 Section A (3a-3c)(第3課時(shí))
- 福建省泉州市2023-2024學(xué)年高一上學(xué)期1月教學(xué)質(zhì)量檢測(期末考試)地理試題 附答案
- 【期末復(fù)習(xí)提升卷】浙教版2022-2023學(xué)年八年級(jí)上學(xué)期數(shù)學(xué)期末壓軸題綜合訓(xùn)練試卷1(解析版)
- 山東省臨沂市費(fèi)縣2023-2024學(xué)年八年級(jí)上學(xué)期1月期末生物試題
- 2024年廣東石油化工學(xué)院公開招聘部分新機(jī)制合同工20名歷年高頻難、易錯(cuò)點(diǎn)500題模擬試題附帶答案詳解
- 青年產(chǎn)業(yè)園鋁灰和廢酸資源化綜合利用試驗(yàn)項(xiàng)目環(huán)評(píng)報(bào)告表
- PDCA血液透析水循環(huán)案例匯報(bào)
- 巖石鉆機(jī)施工方案
- 山東省煙臺(tái)市2023-2024學(xué)年七年級(jí)上學(xué)期期末數(shù)學(xué)試題(含答案)
- 2024年貴州省銅仁市四年級(jí)數(shù)學(xué)第一學(xué)期期末教學(xué)質(zhì)量檢測模擬試題含解析
評(píng)論
0/150
提交評(píng)論