版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
導論1.1研究背景隨著學校規(guī)模在不斷的擴大以及在校學生人數(shù)的擴大,一卡通系統(tǒng)也得到飛速的發(fā)展,與學生相關(guān)的一卡通信息量也就出現(xiàn)了成倍的增長,對于一卡通信息的日常查詢工作自然而然也就變的不那么容易了。以往一卡通查詢系統(tǒng)對于信息的查詢都是有很多局限之處,各個子系統(tǒng)負責管理各自的信息查詢,這就導致了一卡通查詢信息的不集中。而且,一卡通查詢的各種信息也存放在各種不同的文檔里面。對于查找和統(tǒng)計只能依靠手工的收集所有信息,并手工進行統(tǒng)計。這不但耗時而且也不精確。往往導致許多錯誤的出現(xiàn)?,F(xiàn)在,隨著各種終端在校園里的普及,一卡通查詢系統(tǒng)都會使用各種輔助軟件來管理自己的信息查詢工作,但是對于整個學校來說,一卡通查詢信息分散于各個子系統(tǒng)手中,對于統(tǒng)一的一卡通查詢信息系統(tǒng)已成為學校信息化建設(shè)的一大障礙?,F(xiàn)今,隨著計算機軟硬件技術(shù)的不斷發(fā)展,對于集中處理大量信息已不再困難。對于高校規(guī)模的不斷擴大所帶來的信息大量增長,有必要開發(fā)一套一卡通查詢信息查詢系統(tǒng),以方便、快捷、高效的處理一卡通數(shù)據(jù)信息。1.2研究意義“一卡通信息查詢系統(tǒng)”可以合理的整合本校學校的各項一卡通信息,方便學生和管理者及時對信息信息進行必要的增、刪、改、查工作,打開對學生一卡通信息管理的通道,大幅提高工作效率。而且,系統(tǒng)完成之后,可以方便的與其它系統(tǒng)如:教職工信息管理系統(tǒng),成績管理系統(tǒng),學生選課系統(tǒng),獎學金管理系統(tǒng)等進行有效的集成,對學校信息化建設(shè)具有重要意義。1.2.1理論意義雖然國內(nèi)很多高校都推出了自己的一卡通信息查詢系統(tǒng),但是,由于不同院校的管理模式并不相同,使得這些系統(tǒng)不能夠在其它院校通用。所以,為了能夠方便的管理和查詢本校學生的各項一卡通信息,就需要針對本校的具體情況,開發(fā)出具有本校特色,適合本校使用的“一卡通信息查詢系統(tǒng)”。1.2.2實踐意義隨著計算機技術(shù)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,人類科學正進入信息時代,信息技術(shù)本身正對教育的改革產(chǎn)生深遠的影響?,F(xiàn)代化的學校少不了現(xiàn)代化的教學設(shè)施、設(shè)備的武裝。建設(shè)“校園一卡通信息服務(wù)”,為學校的教師、學生和教學管理人員提供具有開放性、靈活性、面向?qū)W校應(yīng)用服務(wù)的管理平臺、是教學管理科學化的必要前提和基本途徑,所以,“校園一卡通信息服務(wù)”的建設(shè)勢在必行。而隨著社會的進步與變革,各學校原有的消費和管理模式已不能適應(yīng)新的發(fā)展要求,基于目前現(xiàn)狀“一卡通信息服務(wù)”應(yīng)運而生。所謂“一卡通信息服務(wù)”即在學校內(nèi),凡有現(xiàn)金、票證或需要識別身份的場合均可以通過終端查詢。此種管理模式代替了傳統(tǒng)的消費管理模式,為學校的管理帶來了高效、方便與安全。建立先進的信息管理查詢系統(tǒng)是實現(xiàn)高等教育現(xiàn)代化的必由之路,而智能卡技術(shù)的推廣運用,則是推進高校信息化管理的重要舉措之一。校園智能卡可供學生用于校園內(nèi)部處理雜務(wù),購買食品、飲料、書本,借閱圖書,查資料,洗澡等。1.3研究目的我們的目的在于做好“一卡通信息查詢系統(tǒng)”的開發(fā),重點在于,理清一卡通信息查詢系統(tǒng)的操作流程,以及如何通過編程使得系統(tǒng)能夠?qū)崿F(xiàn)這樣的流程,這其實也就是系統(tǒng)的需要分析。眾所周知,需要分析是系統(tǒng)設(shè)計中最重要的一個環(huán)節(jié),只有在清楚需要的情況下,才能開展后續(xù)工作。也只有在清楚需要的情況下,才能開發(fā)出適合本校使用的一卡通信息查詢系統(tǒng)。在項目的實施過程中,我們發(fā)現(xiàn),系統(tǒng)不僅要處理大量的一卡通信息,還要處理上萬條的基礎(chǔ)數(shù)據(jù)。作為一個應(yīng)用型系統(tǒng),基礎(chǔ)信息的完整性是必不可少的,所以,這些數(shù)據(jù)的收集整理也成了系統(tǒng)設(shè)計的重點也是難點。開發(fā)過程中的一些需求變動,也使得整個項目的進度和流程受到了很大的影響。因為對學校日常一卡通查詢系統(tǒng)運作的方式和流程的不熟悉,導致了需求變動的高頻出現(xiàn),這便成為了系統(tǒng)設(shè)計的又一難點。另外,因為項目為團隊開發(fā),實施過程中人員的變動比較大,使得項目開發(fā)的連續(xù)性受到很大影響,做好系統(tǒng)開發(fā)的同時還要做好人員的分配,這也是系統(tǒng)設(shè)計的一個難點。1.4國內(nèi)外研究綜述1.4.1我國數(shù)字化校園的發(fā)展歷程在上個世紀末,國家教育部就制訂了“中國教育信息化九五規(guī)劃和2000年發(fā)展綱要”(草案),提出了我國教育系統(tǒng)信息化建設(shè)的指導方針和發(fā)展戰(zhàn)略,并開始“中國教育科研網(wǎng)”(CERNET)的建設(shè)工作。其后又啟動了“現(xiàn)代遠程教育工程”,積極開展利用現(xiàn)代信息通訊技術(shù)來進行遠程教育方面的試點工作。此外,教育部批準的67所現(xiàn)代遠程教育試點高校也相繼建立了網(wǎng)絡(luò)教育學院,現(xiàn)已招收學生160多萬人。在大學信息化基礎(chǔ)建設(shè)方面,20世紀90年代初期,國內(nèi)大學建成了校園網(wǎng)并通過CERNET與國際互聯(lián)網(wǎng)連接的大學總數(shù)不過10所左右,計算機網(wǎng)絡(luò)用戶僅數(shù)萬名。但是到了90年代末期,CERNET已經(jīng)建成與國際互聯(lián)網(wǎng)相連的包括全國主干網(wǎng)、地區(qū)網(wǎng)和校園網(wǎng)在內(nèi)的三級層次結(jié)構(gòu)的網(wǎng)絡(luò)。與此同時,中國國內(nèi)各大學的校園網(wǎng)建設(shè)也在迅速發(fā)展,到1999年已經(jīng)有500余所大學建設(shè)了結(jié)構(gòu)先進、功能完備的校園網(wǎng)絡(luò)并通過CERNET接入國際互聯(lián)網(wǎng)。2002年,國內(nèi)1071所各類型全日制高校中,已有900所左右成為中國教育科研計算機網(wǎng)絡(luò)的用戶。這為我國數(shù)字化校園的建設(shè)打下堅實的基礎(chǔ)。近年來,國內(nèi)高校的數(shù)字化校園建設(shè)取得了很大進展,在硬件方面:90%以上的普通高校建設(shè)了自己的校園網(wǎng);在軟件方面:一些有實力的高校通過自主開發(fā),研發(fā)出了教務(wù)管理、辦公、人事管理、學生管理、數(shù)字圖書館、遠程教學等多種應(yīng)用系統(tǒng),網(wǎng)絡(luò)在高校的教學、科研、管理中的應(yīng)用取得了很大進步,到目前為止,絕大多數(shù)高校都建設(shè)了一些網(wǎng)絡(luò)應(yīng)用軟件系統(tǒng)。在高校自主開發(fā)的同時,一些有遠見和實力的軟件公司也紛紛加入到了數(shù)字化校園建設(shè)的行業(yè),研發(fā)出了功能完善的數(shù)字化校園軟件系統(tǒng),對高校的數(shù)字化校園建設(shè)起到了推動作用。1.4.2國外數(shù)字化校園建設(shè)現(xiàn)狀1990年美國克萊蒙特大學教授凱尼斯.格林(KennethGreen)發(fā)起并主持的一項大型科研項目“信息化校園計劃”(TheCampusComputingProject),是數(shù)字化校園的概念最早出現(xiàn)。1998年1月31日,美國前副總統(tǒng)戈爾(ALGORE)在美國加利福尼亞科學中心發(fā)表了題為“數(shù)字地球:二十一世紀認識地球的方式(TheDigitalEarth:Understandingourplanetinthe21stCentury)”的演講,最先提出“數(shù)字地球”概念,全世界普遍接受數(shù)字化概念,引出“數(shù)字城市”、“數(shù)字校園”等各種概念。新世紀以來,西方發(fā)達國家大部分高校均成功地完成了數(shù)字化校園建設(shè)工作。目前西方國家的信息數(shù)字化工作也進入一個全新發(fā)展時期,特別是高校的信息化建設(shè)已進入了全面的發(fā)展階段,諸多高西方校充分地認識到,信息化建設(shè)己經(jīng)成為了高校提高自身管理水平、提升綜合競爭實力的重要手段。1.5研究設(shè)計與分析思路本“一卡通信息查詢系統(tǒng)”采用的是C/S,即ClienttoServer結(jié)構(gòu),中文全稱客戶端服務(wù)器結(jié)構(gòu)。這里提到的客戶端和服務(wù)器都是指通信中的兩個應(yīng)用軟件。操作計算機的人是系統(tǒng)的用戶(User)而不是客戶(Client)。它具有可以充分利用兩個端的硬件資源的優(yōu)勢,能將任務(wù)合理地分配到Client端和Server端來協(xié)同實現(xiàn)相應(yīng)的功能,降低了系統(tǒng)的通信開銷。目前,大多數(shù)的應(yīng)用型軟件系統(tǒng)都采用的是Client/Server結(jié)構(gòu)??紤]到學校的信息化的實際情況,本“一卡通信息查詢系統(tǒng)”選用了胖客戶端思想,把用戶界面展示和業(yè)務(wù)邏輯實現(xiàn)放到了客戶端來實現(xiàn)。這樣可以充分發(fā)揮客戶端計算機機的處理能力,很多工作可以在客戶端處理完成后再提交到服務(wù)器端,緩解了服務(wù)器端在多用戶并發(fā)訪問的時候的處理壓力和通信壓力。客戶端軟件是使用JAVA編寫的桌面應(yīng)用程序?qū)?shù)據(jù)進行加工處理并顯示,服務(wù)器端是采用MySQL提供數(shù)據(jù)庫支持。1.5.1基本概念界定校園一卡通信息服務(wù)系統(tǒng)最根本的立足點是“信息共享、集中控制”,因此系統(tǒng)的設(shè)計不應(yīng)是各單個功能的簡單組合,從統(tǒng)一網(wǎng)絡(luò)平臺、統(tǒng)一數(shù)據(jù)庫、統(tǒng)一的身份認證體系、數(shù)據(jù)傳輸安全、各類管理系統(tǒng)接口、異常處理等軟件總體設(shè)計思路的技術(shù)實現(xiàn)考慮,使各管理系統(tǒng),各讀卡終端設(shè)備綜合性能的智能化達到最佳系統(tǒng)設(shè)計。在上述基礎(chǔ)上,我們設(shè)計基于此的信息查詢系統(tǒng),系統(tǒng)統(tǒng)應(yīng)設(shè)計盡可能詳盡的故障處理方案,保證系統(tǒng)的高質(zhì)量、穩(wěn)定、可靠。采用冗余技術(shù)保證數(shù)據(jù)可靠存儲。并采用容錯性設(shè)計(系統(tǒng)的容錯性設(shè)計是指設(shè)計軟件時能夠保證用戶輸入的正確性和對系統(tǒng)非法的或破壞性的輸入有很強的容錯能力),避免造成系統(tǒng)的死機和癱瘓,提高系統(tǒng)的可靠性。在系統(tǒng)使用過程中,由于硬件出現(xiàn)故障或其它原因造成系統(tǒng)暫時性的中斷后系統(tǒng)重新啟動時,能夠保證系統(tǒng)將原有的數(shù)據(jù)快速恢復,使其繼續(xù)運行下去。在系統(tǒng)正常運行時,定期地將數(shù)據(jù)庫中的數(shù)據(jù)備份,也保證了數(shù)據(jù)的安全。1.5.2研究方法我們的課題研究方法如下:1、調(diào)查法首先對校園數(shù)字化相關(guān)現(xiàn)狀進行調(diào)查、采訪和咨詢,整理相關(guān)的信息和資料,通過這些數(shù)據(jù)和材料,調(diào)查企業(yè)存在的問題和不足,為實施信息查詢系統(tǒng),建立實施計劃提供實際的數(shù)據(jù)支持。2、文獻法大量閱讀關(guān)于信息查詢系統(tǒng)實施方面的文獻,歸納、整理和比較相關(guān)不同的研究方法和實施方式,尋找實施信息查詢系統(tǒng)的理論依據(jù),分析當前校園信息查詢系統(tǒng)管理軟件的系統(tǒng)架構(gòu)的優(yōu)點和不足,借鑒其理論精華,為撰寫論文提供足夠的資料。3、比較法對其他學校的一卡通信息查詢系統(tǒng)實施的基本情況進行比較研究,尋找它們的相似之處和不同之處,得到我們學校實施信息查詢系統(tǒng)的具體方案。4、分析法分析當前企業(yè)管理系統(tǒng)的現(xiàn)狀以及存在的問題和不足,提出實信息查詢系統(tǒng)的想法與建議。1.5.3研究路線根據(jù)論文要解決的問題,通過實證研究與案例分析相結(jié)合的方法,查閱了大量有關(guān)信息查詢系統(tǒng)及其在數(shù)字化校園中應(yīng)用的資料,借鑒己有的研究成果,提出自己的研究結(jié)論和創(chuàng)新看法,在研究過程中注重實際應(yīng)用。具體方法如下:一、文獻資料:根據(jù)已掌握的文獻,查找相關(guān)書籍,利用圖書館文獻資料庫查詢各類期刊,學術(shù)報告,學術(shù)會議論文,學位論文等,了解一卡通信息查詢的概念和理論知識,了解數(shù)字化校園的現(xiàn)狀和實施應(yīng)用過程中的問題,系統(tǒng)地掌握數(shù)字化校園的知識。二、比較分析法:對企業(yè)調(diào)研,了解數(shù)字化校園管理的程度、現(xiàn)狀和存在的問題。比較實施數(shù)字化校園解決方案在各方面的變化改進,從而對實施效果進行評價。三、人員訪談:根據(jù)本研究內(nèi)容,深入學校數(shù)字化項目一線人員進行面談,獲取第一手的詳實資料;通過有關(guān)專家的書籍來了解他們在一些問題上的想法,也可在相關(guān)網(wǎng)上留言,尋求專家解答。1.5.4研究的可能創(chuàng)新之處在目前高校普遍重視數(shù)字化校園的今天,各種應(yīng)用軟件系統(tǒng)層出不窮。但仍存在許多問題,如:功能單一,系統(tǒng)孤立,在軟件使用上系統(tǒng)存在可擴充請和靈活性差,無法不斷完善系統(tǒng)來適應(yīng)學校的發(fā)展需要等。而國外的開發(fā)技術(shù)較國內(nèi)的相對來說比較成熟,在開發(fā)過程中遵循了可擴展性和包容性,使得系統(tǒng)能接納已有的數(shù)據(jù)結(jié)構(gòu),擴展時有效地保護了已有資源,能方便的調(diào)整結(jié)構(gòu),易于擴充,升級方便?;贘AVA的開發(fā)技術(shù),有利于將原有的一卡通信息查詢系統(tǒng)進一步優(yōu)化。使用更少的系統(tǒng)資源,獲得更有效率的管理。在系統(tǒng)檢索迅速、查找方便、可靠性高,儲存量大、保密性好、壽命長、成本低等方面更可以有所創(chuàng)新2數(shù)字化校園概述2.1數(shù)字化校園的概念數(shù)字化校園是以網(wǎng)絡(luò)為基礎(chǔ),利用先進的信息化手段和工具—計算機技術(shù)、網(wǎng)絡(luò)技術(shù)、通訊技術(shù),實現(xiàn)對學校與教學、科研、管理和生活服務(wù)有關(guān)的所有信息資源進行全面的數(shù)字化;并用科學規(guī)范的管理對這些信息資源進行整合和集成,以構(gòu)成統(tǒng)一的用戶管理、統(tǒng)一的資源管理和統(tǒng)一的權(quán)限控制;把學校建設(shè)成面向校園內(nèi),也面向社會的一個超越時間、超越空間的虛擬大學,提升傳統(tǒng)校園的效率,擴展傳統(tǒng)校園的功能,最終實現(xiàn)教育過程的全面信息化。從而達到提高教育管理水平和效率的目的。2.2數(shù)字化校園的結(jié)構(gòu)2.2.1網(wǎng)絡(luò)基礎(chǔ)層網(wǎng)絡(luò)基礎(chǔ)層是系統(tǒng)對數(shù)據(jù)提供支撐的層面,雖然不是解決實際問題的層面,但是卻為解決系統(tǒng)數(shù)據(jù)和系統(tǒng)中的核心部分提供支持,也是設(shè)計和編碼的重點。我們把系統(tǒng)的各項需要都放到到了這一層進行支撐,并預(yù)留出了網(wǎng)絡(luò)基本服務(wù)的接口。這樣,當需求發(fā)生變動的時候,我們也只需要根據(jù)這些接口開發(fā)新的業(yè)務(wù)邏輯,同樣不會對其它層產(chǎn)生影響。2.2.2網(wǎng)絡(luò)基本服務(wù)層網(wǎng)絡(luò)基本服務(wù)層在本系統(tǒng)的體系結(jié)構(gòu)中起著非常關(guān)鍵的作用,困為它處于表示層和數(shù)據(jù)訪問層的中間,起著數(shù)據(jù)交換中的承上啟下的作用。層是一種弱耦合的結(jié)構(gòu),層與層之間的依賴關(guān)系是自上而下的,底層對于上層來說是“未知”的,改變上層的設(shè)計,對于其調(diào)用的底層來說是沒有影響的。如果在分層設(shè)計的時候,完全遵循了面向接口程序設(shè)計的思想,那么,這種向下的依賴關(guān)系就應(yīng)該是一種弱依賴關(guān)系。因而,在保持接口定義不變的前提下,理想的分層式結(jié)構(gòu)設(shè)計,應(yīng)該是支持可抽取,且可替換的“抽屜”式結(jié)構(gòu)。也正因為如此,網(wǎng)絡(luò)基本服務(wù)層的設(shè)計在一個支持可擴展的結(jié)構(gòu)中尤為關(guān)鍵。因為,它同時扮演了兩個不同的角色。對于數(shù)據(jù)訪問角度來說,它是調(diào)用者;而對于表示的角度來說,它卻成了被調(diào)用者。依賴與被依賴的關(guān)系都同時作用在網(wǎng)絡(luò)基本服務(wù)層之上,如何做到依賴關(guān)系的解耦,則成為了設(shè)計師們實現(xiàn)網(wǎng)絡(luò)基本服務(wù)之外的重要任務(wù)。2.2.3應(yīng)用支撐層本層主要包括支撐信息查詢工作流擎臺。需要支持跨平臺的分布式異構(gòu)數(shù)據(jù)訪問,從而向應(yīng)用信息服務(wù)層提供統(tǒng)一的數(shù)據(jù)服務(wù)。基于信息服務(wù)系統(tǒng)通過數(shù)據(jù)在信息服務(wù)層的各應(yīng)用之間流轉(zhuǎn),以便根據(jù)分工、合理、高效和完整地分配信息。通過上層的面向信息領(lǐng)域的應(yīng)用框架,框架也可以看作一種半成品,它可以根據(jù)需求定制,可快速生成各種具體的信息服務(wù)應(yīng)用,并可根據(jù)需要進行動態(tài)擴充。2.2.4信息服務(wù)層信息服務(wù)層是系統(tǒng)與用戶直接打交道的層面,也就是用戶在使用系統(tǒng)的時候直接見到的層面。在設(shè)計這一層的時候,我們嚴格按照Windows應(yīng)用程序的用戶界面設(shè)計準則,在滿足用戶使用需求的前提下,最大限度的優(yōu)化了顯示效果。表現(xiàn)層直接相關(guān)的只是應(yīng)用支撐層,與網(wǎng)絡(luò)基本服務(wù)層并沒有直接聯(lián)系。在應(yīng)用支撐層中向表現(xiàn)層中提供了相應(yīng)的接口,因此,如果在后續(xù)開發(fā)中如果需要替換用戶界面,就只需要將這一層替換掉,而不影響其它層面。2.3數(shù)字化校園建設(shè)模式分析及其特點“數(shù)字化校園"是以校園網(wǎng)為背景而建構(gòu)的集教學、管理、娛樂為一體的新型數(shù)字化的工作、學習和生活環(huán)境,是在傳統(tǒng)校園的基礎(chǔ)上,利用先進的信息化手段和工具,將現(xiàn)實校園的各項資源數(shù)字化,形成的一個數(shù)字空間,使現(xiàn)實的校園環(huán)境在時間和空間上得到延伸?!睌?shù)字化校園“旨在用層次化、整體性的觀點來實施校園信息化建設(shè),將校園網(wǎng)上信息更好地組織分類,讓用戶在網(wǎng)上快速發(fā)現(xiàn)自己需求地信息,并為師生提供網(wǎng)上信息交流環(huán)境,同時也可以讓管理人員科學、規(guī)范地管理自己地數(shù)據(jù),并將這些信息快捷地發(fā)布出去。”“數(shù)字化校園”以網(wǎng)絡(luò)為基礎(chǔ),在將教學環(huán)境、教學資源以及教學管理活動全部數(shù)字化后,通過應(yīng)用系統(tǒng)的緊密聯(lián)結(jié)實現(xiàn)校園的信息傳遞和信息服務(wù),從而提高教學質(zhì)量、科研水平和管理水平。也就是說他是以數(shù)字化信息為依托,利用計算機技術(shù)、網(wǎng)絡(luò)技術(shù)、通訊技術(shù)支持學校教學和管理信息流實現(xiàn)教育、教學、科研、管理、技術(shù)服務(wù)等校園信息的收集、處理、整合、存儲、傳輸、應(yīng)用,使教學資源得到充分優(yōu)化利用的一種虛擬教育環(huán)境。簡單來說就是實現(xiàn)學校、老師、家長之間三者溝通的數(shù)字化平臺2.4數(shù)字化校園的發(fā)展趨勢我國的數(shù)字化校園起源于大學的一卡通建設(shè),“校園一卡通”的功能和用途主要體現(xiàn)在校園消費、管理和金融應(yīng)用(銀行)兩方面,實現(xiàn)了“一卡在手,走遍校園,一卡通用,一卡多用”。校園卡具有借書卡、上機卡、就餐卡、醫(yī)療收費卡、洗澡卡、購物卡、門禁卡、存車卡、乘車卡等多種功能,以后還會逐步擴充功能。隨著教育現(xiàn)代化和信息化步伐日益加快,越來越多的中小學校也開始重視基于網(wǎng)絡(luò)的數(shù)字化校園建設(shè)。數(shù)字化校園的價值在于創(chuàng)造網(wǎng)絡(luò)文化氛圍,增強教育的開放性、靈活性、普遍性和共享性,促進教育的民主化、平等化和個性化,探索在網(wǎng)絡(luò)環(huán)境下的學習、教學、管理和科研的新模式,培養(yǎng)具有創(chuàng)新精神、實踐能力的一代新人。因此,數(shù)字化校園是數(shù)字時代學校的必然發(fā)展目標,是校園文化發(fā)展的必然。3開發(fā)環(huán)境為了能夠高效、高質(zhì)量的完成本次項目開發(fā),我們選用的開發(fā)平臺和開發(fā)工具都是比較先進的。如:用于支撐整個項目開發(fā)和運行的系統(tǒng)框架NETFramework2.0,用于整個項目開發(fā)的程序設(shè)計語言JAVA,用于編碼和調(diào)試的集成開發(fā)環(huán)境Eclipse,用于管理源代碼的VisualSourceSafe2005,用于管理數(shù)據(jù)庫的MySQL等。這些工具的使用,使得我們能在既定時間完成這個數(shù)據(jù)量極大的項目的開發(fā)、測試及部署。3.1NETFramework2.0.NetFramework是用于生成、部署和運行應(yīng)用程序以及XMLWebServices的多語言環(huán)境。它由三個主要部分組成:3.2公有語言運行庫運行庫實際上在組件的運行時和開發(fā)時操作中都起到很大的作用,盡管名稱中沒有體現(xiàn)這個意思。在組件運行時,運行庫除了負責滿足此組件在其他組件上可能具有的依賴項外,還負責管理內(nèi)存分配、啟動和停止線程和進程,以及強制執(zhí)行安全策略。在開發(fā)時,運行庫的作用稍有變化:由于做了大量的自動處理工作(如內(nèi)存管理),運行庫使開發(fā)人員的操作非常簡單,尤其是與今天的COM相比。特別是反射等功能顯著減少了開發(fā)人員為將業(yè)務(wù)邏輯轉(zhuǎn)變?yōu)榭芍赜媒M件而必須編寫的代碼量。3.3統(tǒng)一編程類該框架為開發(fā)人員提供了統(tǒng)一的、面向?qū)ο蟮摹⒎謱拥暮涂蓴U展的類庫集(API)。目前,Java開發(fā)人員使用Windows基礎(chǔ)類。該框架統(tǒng)一了這些完全不同的模型,還為JAVA和JAVA+=程序員提供了對類庫的訪問。通過創(chuàng)建跨所有編程語言的公共API集,公共語言運行庫使得跨語言繼承、錯誤處理和調(diào)試成為可能。從JAVA到JAVA++的所有編程語言具有對框架的相似訪問,開發(fā)人員可以自由選擇要使用的開發(fā)環(huán)境。3.4Eclipse集成開發(fā)環(huán)境Eclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務(wù),用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentKit,JDK)。雖然大多數(shù)用戶很樂于將Eclipse當作Java集成開發(fā)環(huán)境(IDE)來使用,但Eclipse的目標卻不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個組件主要針對希望擴展Eclipse的軟件開發(fā)人員,因為它允許他們構(gòu)建與Eclipse環(huán)境無縫集成的工具。由于Eclipse中的每樣東西都是插件,對于給Eclipse提供插件,以及給用戶提供一致和統(tǒng)一的集成開發(fā)環(huán)境而言,所有工具開發(fā)人員都具有同等的發(fā)揮場所。這種平等和一致性并不僅限于Java開發(fā)工具。盡管Eclipse是使用Java語言開發(fā)的,但它的用途并不限于Java語言;例如,支持諸如C/C++、COBOL、PHP等編程語言的插件已經(jīng)可用,或預(yù)計將會推出。Eclipse框架還可用來作為與軟件開發(fā)無關(guān)的其他應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)?;贓clipse的應(yīng)用程序的一個突出例子是IBMRationalSoftwareArchitect,它構(gòu)成了IBMJava開發(fā)工具系列的基礎(chǔ)。3.4.1Eclipse特點在Eclipse中注入多種語言和代碼編輯器功能,這些功能將為JAVA開發(fā)人員提供“專注于代碼的RAD”,從而提高創(chuàng)建業(yè)務(wù)框架和可重用的面向?qū)ο蠼M件的工作效率。這些功能包括泛型、迭代器、匿名方法、不完全類型以及重構(gòu)。隨著項目的復雜性不斷提高,程序員經(jīng)常需要一種方式來更好地重用和自定義現(xiàn)有的基于組件的軟件。為了達到這樣一種高級代碼重用,程序員通常利用一種稱為泛型的功能。在Eclipse中,CLR包含一個類型安全、高性能、編譯時驗證版本的泛型,與JAVA中的模板以及為Java語言提供的泛型相比,該泛型的語法稍有不同,而實現(xiàn)則有很大區(qū)別。泛型使開發(fā)人員能一次性地創(chuàng)作、測試和部署代碼,然后將這些代碼重用于多種不同的數(shù)據(jù)類型,而性能影響可忽略不計。與其他強類型實現(xiàn)相比,CLR的泛型實現(xiàn)還將減小代碼膨脹,從而使源代碼更加易于閱讀和維護。除通過泛型提高代碼重用性以外Eclipse還將提供對迭代器的支持,以便消除與實現(xiàn)枚舉數(shù)模式相關(guān)聯(lián)的、頻繁重復的事務(wù)性工作?;谘芯啃驼Z言(如CLU、Sather和Icon)中的類似功能,迭代器使類型易于聲明foreach語句對其元素進行迭代的方式。JAVA編譯器會自動將迭代器代碼轉(zhuǎn)換為適當?shù)念?,而無需創(chuàng)建類和生成狀態(tài)機,以便手動實現(xiàn)枚舉數(shù)模式。匿名方法是實用的語言構(gòu)造,讓使用Eclipse的程序員能夠創(chuàng)建可封裝在委托中且后期執(zhí)行的代碼塊。它們基于稱為λ函數(shù)這一語言概念,類似于Lisp和Python中對應(yīng)的語言概念。匿名方法在其使用時動態(tài)定義,而不是作為特定類的命名方法預(yù)定義。匿名方法使某些類型的操作更加方便,尤其是方法簽名或方法體在運行時需要更改的情況。通過匿名,JAVA開發(fā)人員可在編寫代碼以后改進代碼的設(shè)計和效率。Eclipse包含下列重構(gòu)類型:重命名、封裝字段、更改方法簽名、提取方法和提取接口。3.4.2Tomcat特點與優(yōu)勢Tomcat服務(wù)器是一個免費的開放源代碼的Web應(yīng)用服務(wù)器。Tomcat是Apache軟件基金會(ApacheSoftwareFoundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn)。因為Tomcat技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web應(yīng)用服務(wù)器。[2]Tomcat很受廣大程序員的喜歡,因為它運行時占用的系統(tǒng)資源小,擴展性好,支持負載平衡與郵件服務(wù)等開發(fā)應(yīng)用系統(tǒng)常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場ApacheTomcat合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置好Apache服務(wù)器,可利用它響應(yīng)對HTML頁面的訪問請求。實際上Tomcat部分是Apache服務(wù)器的擴展,但它是獨立運行的,所以當你運行tomcat時,它實際上作為一個與Apache獨立的進程單獨運行的。3.5基于Windows的WEB程序設(shè)計特點Windows設(shè)計方法使開發(fā)人員能夠具備Windows客戶端PC的全部強大功能。在.NETFramework2.0中,Windows類將得到增強,以便包含改進的應(yīng)用程序部署模型、提高的開發(fā)人員的工作效率和簡化的數(shù)據(jù)訪問。.NETFramework2.0還將包含對Windows客戶端應(yīng)用程序性能和安全性的顯著增強。.NETFramework2.0非接觸部署策略通過引入“ClickOnce”(一種將Web應(yīng)用程序部署的簡易性和安全性帶給Windows客戶端應(yīng)用程序的新技術(shù))進而得到改進。建立在自說明性程序集、組件清單和并排組件安裝的特征基礎(chǔ)之上,ClickOnce使開發(fā)人員能夠發(fā)布、安裝和維護Windows客戶端應(yīng)用程序,而無需害怕破壞客戶端操作系統(tǒng)上的現(xiàn)有功能。盡管傳統(tǒng)的部署會生成可能要求對系統(tǒng)注冊表和到共享系統(tǒng)文件夾的安裝進行修改的MSI軟件包,但ClickOnce發(fā)布被定制為安裝獨立的、無需注冊的程序集。開發(fā)人員可選擇最適合其Windows客戶端應(yīng)用程序的模型:ClickOnce發(fā)布、MSI部署或者兩者的組合。使用ClickOnce安裝的Windows客戶端應(yīng)用程序新功能包括:對脫機運行應(yīng)用程序的支持,回滾到以前版本的應(yīng)用程序,在Windows“開始”菜單中列出應(yīng)用程序,以及控制面板中的“刪除程序”目錄。此外,.NETFramework2.0中的ClickOnce部署使開發(fā)人員能夠用Windows客戶端應(yīng)用程序分發(fā).NETFramework。為進一步支持該部署模型,在代碼訪問安全方面進行大量的投入,以便控制從遠程Web服務(wù)器部署的應(yīng)用程序的功能,從而防止用戶受到惡意代碼的攻擊。在.NETFramework2.0中,授權(quán)操作(可以由已部署的應(yīng)用程序安全地執(zhí)行)的范圍將得到擴展。此外,對.NETFramework進行的增強將使系統(tǒng)管理員更容易安全地產(chǎn)生對代碼訪問安全策略的更新。其次,Windows窗體將包含能夠提高開發(fā)人員工作效率的功能和控件。這些功能和控件包括:用于承載Office文檔的活動文檔容器、MicrosoftOffice樣式工具欄、直觀的拆分器控件、可以在不完全信任模式下運行的聲音組件、可以通過托管代碼安全訪問的Web瀏覽器控件,以及隨屏幕分辨率或窗體大小的更改而自動調(diào)整窗體上控件位置和大小的布局控件。此外,通過在Windows窗體異步編程模型方面的大規(guī)模投入,多線程應(yīng)用程序的實現(xiàn)將得到簡化。很多Windows窗體控件將具有異步屬性,并且將由一個能管理異步任務(wù)的新的、直觀的BackgroundWorker組件加以補充。這些新的控件和組件將使用為Windows窗體設(shè)計器計劃的增強功能,包括智能標記、視圖輪廓線、數(shù)據(jù)預(yù)覽等。使用智能標記,Windows客戶端應(yīng)用程序開發(fā)人員可通過單擊鼠標方便地自定義數(shù)據(jù)綁定控件的外觀和行為;視圖輪廓線將簡化窗體內(nèi)控件組的布局,而數(shù)據(jù)預(yù)覽將使開發(fā)人員能夠在設(shè)計時查看填充的數(shù)據(jù)綁定控件。3.6MySQL數(shù)據(jù)庫MySQL數(shù)據(jù)庫是一個客戶機/服務(wù)器關(guān)系數(shù)據(jù)庫系統(tǒng),它使用Transact-SQL語言在客戶機與MySQL數(shù)據(jù)庫服務(wù)器之間發(fā)送請求。MySQL是一個全新的數(shù)據(jù)庫服務(wù)器產(chǎn)品,是一個企業(yè)級的網(wǎng)絡(luò)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),該產(chǎn)品擁有的種種新特性使它成為數(shù)據(jù)庫服務(wù)器產(chǎn)品中的佼佼者,并且越來越得到廣大用戶的青睞。SQL全稱是“結(jié)構(gòu)化查詢語言(StructuredQueryLanguage)”,它的前身是SQUARE語言。SQL語言結(jié)構(gòu)簡單、功能強大、簡單易學,所以自從IBM公司1981年推出以來,SQL語言得到了廣泛的應(yīng)用。如今無論是像Oracle、Sybase、Informix、SQLSever這些大型的數(shù)據(jù)庫管理系統(tǒng),還像VisualFoxpro等計算機上常用的數(shù)據(jù)庫開發(fā)系統(tǒng),都支持SQL數(shù)據(jù)查詢語言。SQL是一個非過程化的語言,因為它一次處理一個記錄,對數(shù)據(jù)提供自動導航。SQL允許用戶在高層的數(shù)據(jù)結(jié)構(gòu)上工作,而不對單個記錄進行操作,可操作記錄集。所有SQL語句接受集合作為輸入,返回集合作為輸出。SQL的集合特性允許一條SQL語句的結(jié)果作為另一條SQL語句的輸入。SQL不要求用戶指定對數(shù)據(jù)的存放方法。這種特性使用戶更易集中精力于要得到的結(jié)果。所有SQL語句使用查詢優(yōu)化器,它是RDBMS的一部分,由它決定對指定數(shù)據(jù)存取的最快速度的手段。查詢優(yōu)化器知道存在什么索引,哪兒使用合適,而用戶從不需要知道表是否有索引,表有什么類型的索引。MySQL的主要功能就是同各種數(shù)據(jù)庫建立聯(lián)系,進行溝通。按照ANSI(美國國家標準協(xié)會)的規(guī)定,SQL被作為關(guān)系型數(shù)據(jù)庫管理系統(tǒng)的標準語言。SQL語句可以用來執(zhí)行各種各樣的操作,例如更新數(shù)據(jù)庫中的數(shù)據(jù),從數(shù)據(jù)庫中提取數(shù)據(jù)等。目前,絕大多數(shù)流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),如Oracle,Sybase,MicrosoftSQLServer,Access等都采用了SQL語言標準。雖然很多數(shù)據(jù)庫都對SQL語句進行了再開發(fā)和擴展,但是包括Select,Insert,Update,Delete,Create,以及Drop在內(nèi)的標準的SQL命令仍然可以被用來完成幾乎所有的數(shù)據(jù)庫操作。MySQL相比其SQLServer有很大優(yōu)勢,新增加或改進了了一些很實用的功能。如:SQLServer2000中的Top表達式,是一個固定值,MySQL改為可用參數(shù);新增加了簡單的分頁算法;可以直接發(fā)布WebService等。3.7系統(tǒng)安全3.7.1網(wǎng)絡(luò)信息安全為了避免系統(tǒng)中敏感信息在網(wǎng)絡(luò)上傳輸時的泄露,系統(tǒng)將會對數(shù)據(jù)進行加密后再傳輸。為了進一步保障系統(tǒng)數(shù)據(jù)的安全,我們可以對訪問系統(tǒng)的IP段進行隔離,讓學校辦公室所使用的網(wǎng)段能順利登錄系統(tǒng),使用系統(tǒng)的所有資源,而其它網(wǎng)段則不能夠登錄到系統(tǒng)當中。3.7.2數(shù)據(jù)庫安全SQL注入式攻擊是黑客常用的對數(shù)據(jù)庫攻擊手段之一。一般情況下,SQL注入攻擊都是通過惡意的構(gòu)造SQL語句,騙取系統(tǒng)的登錄驗證來獲得系統(tǒng)的訪問權(quán)限。這種攻擊可能造成的后果是無法想象的。通過SQL注入式攻擊可以獲得超出系統(tǒng)用戶最高權(quán)限的權(quán)限級別,可以修改數(shù)據(jù)庫中的數(shù)據(jù),甚至可以刪除數(shù)據(jù)庫的數(shù)據(jù)。為了防止SQL注入式攻擊,最佳的解決方安就是使用存儲過程。因為,存儲過程都是通過其名字調(diào)用的,不涉及具體的SQL語句,傳遞進去的參數(shù)都需要經(jīng)過MySQL服務(wù)器的審核才能夠正常使用。而且,具體的SQL語句都存儲在MySQL服務(wù)器中,攻擊者無法再通過構(gòu)造惡意SQL語句來對系統(tǒng)數(shù)據(jù)進行破壞。為了避免用戶無意中刪除數(shù)據(jù)庫中的表影響到數(shù)據(jù)的完整性,我們在數(shù)據(jù)庫服務(wù)器中定義了不同的角色,并將用戶加入到不同的角色里,實現(xiàn)了不同用戶具有不同數(shù)據(jù)庫操作權(quán)限的劃分。3.7.3用戶安全在前一小節(jié)中有提到數(shù)據(jù)庫的用戶劃分了不同權(quán)限,但僅僅這樣還不夠,還需要在應(yīng)用程序級建立不同的角色,劃分不同的權(quán)限。通過驗證登錄和基于角色的授權(quán),保證通過驗證的用戶才能訪問本系統(tǒng),并且,只是屬于某一角色的用戶,才能獲得相應(yīng)的許可,對系統(tǒng)中的數(shù)據(jù)進行更改。角色的思想方便了對系統(tǒng)用戶的管理。對任何一個應(yīng)用軟件來說,日志記錄都是非常重要的,通過對日志的分析,管理員可以很快了解到系統(tǒng)中做了哪些更改,并從中找到合理的和不合理的改動,定位到相關(guān)責任人,并阻止錯誤的擴大化,及時修復已經(jīng)發(fā)生的錯誤。3.7.4數(shù)據(jù)備份機制由于是學校信息查詢類實際應(yīng)用軟件,對系統(tǒng)中數(shù)據(jù)的安全性要求非常高,數(shù)據(jù)的丟失若不能被快速的恢復,就意味著系統(tǒng)是失敗的。所以,數(shù)據(jù)庫的備份就顯得非常有必要。數(shù)據(jù)庫的備份操作能使一卡通數(shù)據(jù)意外丟失的可能性降至最低。即使數(shù)據(jù)庫服務(wù)器發(fā)生意外,學生數(shù)據(jù)丟失,我們也能盡快的回復丟失的數(shù)據(jù)。隨時保持數(shù)據(jù)的完整性、一致性。MySQL服務(wù)器提供了非常杰出的數(shù)據(jù)自動備份功能,這當然給我們帶來了極大的便利。不過,考慮到學生數(shù)據(jù)的重要性。我們建議每隔一段時間,管理員自己手動備份一次。而且數(shù)據(jù)備份要放到其他機器上,避免和數(shù)據(jù)庫服務(wù)器在同一機上。這樣如果數(shù)據(jù)庫服務(wù)器被Down機,我們?nèi)杂袀浞輸?shù)據(jù)可以使用,可以隨時準備恢復使用。3.8信息注銷機制考慮到隨著學校辦學時間的延續(xù),學生的數(shù)量會不斷增長,數(shù)據(jù)庫中的數(shù)據(jù)行也會隨著增多,而學校日常管理對已經(jīng)畢業(yè)的學生的一卡通信息的需求并不多,所以,系統(tǒng)對學生的畢業(yè)狀態(tài)加了標識,查詢的時候可以根據(jù)需要選擇是否包含畢業(yè)的學生。系統(tǒng)中要有設(shè)置畢業(yè)的功能,當一屆學生畢業(yè)之后,由管理員將所有畢業(yè)學生的標識設(shè)置為已經(jīng)畢業(yè)。設(shè)置為畢業(yè)過后,畢業(yè)學生的所有數(shù)據(jù)都將成為不能更改的數(shù)據(jù)。3.9日常管理機制系統(tǒng)要能夠記錄所有用戶的登錄和修改操作。登錄日志需要記錄登錄者及登錄時間。操作日志則需要記錄用戶對系統(tǒng)內(nèi)信息所做的任何改動。如,修改學生的一卡通號碼,記錄時需要將原一卡通號碼和新一卡通號碼同時保存,以備不慎錯改時的恢復。3.10意見和建議的提出用戶可以在對系統(tǒng)的使用過程中提出自己的意見或改進建議,系統(tǒng)要能對用戶提出的意見或改進建議進行保存,管理員能夠查看系統(tǒng)中保存的意見或改進建議,并在處理之后做出回應(yīng)3.11系統(tǒng)的部署環(huán)境服務(wù)器端硬件:CPU2GHz以上,內(nèi)存1G以上,磁盤剩余空間10G以上,10/100M自適應(yīng)網(wǎng)卡。服務(wù)器端軟件:WindowsServer2003+InternetInformationSystem6.0以上,SQLServer2005,.NetFramework2.0以上,MicrosoftOffice2000以上??蛻舳擞布篊PU1GHz以上,內(nèi)存512M以上,磁盤剩余空間10G以上,10/100M自適應(yīng)網(wǎng)卡。客戶端軟件:WindowsXP,InternetExplorer6.0以上,.NetFramework2.0以上,MicrosoftOffice2000以上。3.12系統(tǒng)的可靠性系統(tǒng)統(tǒng)應(yīng)設(shè)計盡可能詳盡的故障處理方案,保證系統(tǒng)的高質(zhì)量、穩(wěn)定、可靠。采用冗余技術(shù)保證數(shù)據(jù)可靠存儲。并采用容錯性設(shè)計(系統(tǒng)的容錯性設(shè)計是指設(shè)計軟件時能夠保證用戶輸入的正確性和對系統(tǒng)非法的或破壞性的輸入有很強的容錯能力),避免造成系統(tǒng)的死機和癱瘓,提高系統(tǒng)的可靠性。在系統(tǒng)使用過程中,由于硬件出現(xiàn)故障或其它原因造成系統(tǒng)暫時性的中斷后系統(tǒng)重新啟動時,能夠保證系統(tǒng)將原有的數(shù)據(jù)快速恢復,使其繼續(xù)運行下去。在系統(tǒng)正常運行時,定期地將數(shù)據(jù)庫中的數(shù)據(jù)備份,也保證了數(shù)據(jù)的安全。4系統(tǒng)實現(xiàn)功能復雜的系統(tǒng)都是由一系列不同的層級組合起來的,各層級是否能良好的發(fā)揮自己的作用,是否能順利的合作關(guān)系到系統(tǒng)的可用性和完整性。接下來將對系統(tǒng)主要層級的實現(xiàn)做詳細的說明。4.1數(shù)據(jù)庫系統(tǒng)的實現(xiàn)數(shù)據(jù)庫是一個應(yīng)用軟件系統(tǒng)的基礎(chǔ),所以,數(shù)據(jù)庫設(shè)計是否優(yōu)良會直接影響到整個系統(tǒng)的開發(fā)和使用。4.1.1數(shù)據(jù)表的設(shè)計關(guān)系數(shù)據(jù)庫中的關(guān)系必須滿足一定的要求。滿足不同程度要求的為不同范式。數(shù)據(jù)庫的設(shè)計范式是數(shù)據(jù)庫設(shè)計所需要滿足的規(guī)范。只有理解數(shù)據(jù)庫的設(shè)計范式,才能設(shè)計出高效率、優(yōu)雅的數(shù)據(jù)庫,否則可能會設(shè)計出錯誤的數(shù)據(jù)庫。目前,主要有六種范式:第一范式、第二范式、第三范式、BC范式、第四范式和第五范式。滿足最低要求的叫第一范式,簡稱1NF。在第一范式基礎(chǔ)上進一步滿足一些要求的為第二范式,簡稱2NF。其余依此類推。范式可以避免數(shù)據(jù)冗余,減少數(shù)據(jù)庫的空間,減輕維護數(shù)據(jù)完整性的麻煩,但是操作困難,因為需要聯(lián)系多個表才能得到所需要數(shù)據(jù),而且范式越高性能就會越差。要權(quán)衡是否使用更高范式是比較麻煩的,一般在項目中,用得最多的也就是第三范式,我認為使用到第三范式也就足夠了,性能好而且方便管理數(shù)據(jù)。因此,要建立一個良好的數(shù)據(jù)庫,應(yīng)首先考慮遵循第三范式,但是范式的應(yīng)用不是死板的,在實際應(yīng)用中,有時候會為了從系統(tǒng)整體上考慮,使得部分數(shù)據(jù)表不滿足第三范式。本系統(tǒng)建立的數(shù)據(jù)表如下:1、accesscontrolinfo表名稱類型cardNovarcharinTimedatatimeoutTimedatatimeplacevarcharmoneydoubleidintborrowbookinfo表idintcardNovarcharbookNamevarcharbeginTimedatatimeendTimedatatimefinedouble3、consumeinfo表idintcardNovarcharconsumePlacevarcharconsumeTypevarcharconsumeTimevarcharmoneydouble4、machineroom表idintnamevarcharindentifyvarchardepartmentvarcharcardNovarcharcardTypevarcharcardstatevarcharmoneydoublepasswardvarchar5、userinfo表idintnamevarcharindentifyvarchardepartmentvarcharcardNovarcharcardTypevarcharcardstatevarcharmoneydoublepasswardvarchar4.1.2數(shù)據(jù)存儲過程的設(shè)計SQL語句執(zhí)行的時候要先編譯,然后執(zhí)行。存儲過程(StoredProcedure)是一組為了完成特定功能的SQL語句集,經(jīng)編譯后存儲在數(shù)據(jù)庫中。用戶通過指定存儲過程的名字并給出參數(shù)(如果該存儲過程帶有參數(shù))來執(zhí)行它。存儲過程是數(shù)據(jù)庫中的一個重要對象,任何一個設(shè)計良好的數(shù)據(jù)庫應(yīng)用程序都應(yīng)該用到存儲過程。存儲過程是利用MySQL所提供的Tranact-SQL語言所編寫的程序。Tranact-SQL語言是MySQLr提供專為設(shè)計數(shù)據(jù)庫應(yīng)用程序的語言,它是應(yīng)用程序和MySQL數(shù)據(jù)庫間的主要程序式設(shè)計界面。它好比Oracle數(shù)據(jù)庫系統(tǒng)中的Pro-SQL和Informix的數(shù)據(jù)庫系統(tǒng)能夠中的Informix-4GL語言一樣。存儲過程具有以下優(yōu)點:#存儲過程的能力大大增強了SQL語言的功能和靈活性。存儲過程可以用流控制語句編寫,有很強的靈活性,可以完成復雜的判斷和較復雜的運算。
#可保證數(shù)據(jù)的安全性和完整性。
#通過存儲過程可以使沒有權(quán)限的用戶在控制之下間接地存取數(shù)據(jù)庫,從而保證數(shù)據(jù)的安全。
#通過存儲過程可以使相關(guān)的動作在一起發(fā)生,從而可以維護數(shù)據(jù)庫的完整性。
#在運行存儲過程前,數(shù)據(jù)庫已對其進行了語法和句法分析,并給出了優(yōu)化執(zhí)行方案。這種已經(jīng)編譯好的過程可極大地改善SQL語句的性能。由于執(zhí)行SQL語句的大部分工作已經(jīng)完成,所以存儲過程能以極快的速度執(zhí)行。
#可以降低網(wǎng)絡(luò)的通信量。
#使體現(xiàn)企業(yè)規(guī)則的運算程序放入數(shù)據(jù)庫服務(wù)器中,以便:集中控制。
#當企業(yè)規(guī)則發(fā)生變化時在服務(wù)器中改變存儲過程即可,無須修改任何應(yīng)用程序。企業(yè)規(guī)則的特點是要經(jīng)常變化,如果把體現(xiàn)企業(yè)規(guī)則的運算程序放入應(yīng)用程序中,則當企業(yè)規(guī)則發(fā)生變化時,就需要修改應(yīng)用程序工作量非常之大(修改、發(fā)行和安裝應(yīng)用程序)。如果把體現(xiàn)企業(yè)規(guī)則的運算放入存儲過程中,則當企業(yè)規(guī)則發(fā)生變化時,只要修改存儲過程就可以了,應(yīng)用程序無須任何變化。下圖既是存儲過程文件:圖4.1存儲過程文件4.2數(shù)據(jù)庫的操作系統(tǒng)的中對數(shù)據(jù)庫操作的類都集中存放在文件中,包含的方法都是靜態(tài)方法,使用時無需實例化,直接調(diào)用就可以完成對數(shù)據(jù)庫的直接操作。例如要執(zhí)行一個數(shù)據(jù)讀取器查詢,可以直接調(diào)用ExecuteReader方法,具體操作:ExecuteReadersdr=SqlHelper.ExecuteReader(OperateSeverStudent.selectOperateByDynamic,CommandType.StoredProcedure,"Student",OperateSeverStudent.selectParameter);本系統(tǒng)主要設(shè)計的數(shù)據(jù)庫操作主要包括:參數(shù)傳遞、返回數(shù)據(jù)集、返回數(shù)據(jù)讀取器、返回單個值和無返回值部分;詳細的JAVA數(shù)據(jù)庫操作代碼如下:4.2.1參數(shù)傳遞privatestaticvoidPrepareCommand(SqlConnectionconn,SqlCommandcmd,CommandTypecmdType,stringcmdText,SqlParameter[]cmdParms){cmd.Connection=conn;cmd.CommandText=cmdText;cmd.CommandType=cmdType;if(cmdParms!=null){foreach(SqlParameterparmincmdParms){cmd.Parameters.Add(parm);}}}4.2.2返回數(shù)據(jù)集publicstaticDataSetExecuteDataset(stringcmdText,CommandTypecmdType,stringTableName,paramsSqlParameter[]cmdParms){if(connStr==""){GetConnectionStr();}SqlConnectionconn=newSqlConnection(connStr);SqlDataAdapteradapter=newSqlDataAdapter();SqlCommandcmd=newSqlCommand();adapter.SelectCommand=cmd;PrepareCommand(conn,cmd,cmdType,cmdText,cmdParms);DataSetds=newDataSet();try{conn.Open();adapter.Fill(ds);conn.Close();cmd.Parameters.Clear();returnds;}catch(SqlExceptionsqle){thrownewException(sqle.Message);}}4.3.3返回數(shù)據(jù)讀取器publicstaticSqlDataReaderExecuteReader(stringcmdText,CommandTypecmdType,paramsSqlParameter[]cmdParms){if(connStr==""){GetConnectionStr();}SqlConnectionconn=newSqlConnection(connStr);SqlCommandcmd=newSqlCommand();PrepareCommand(conn,cmd,cmdType,cmdText,cmdParms);try{conn.Open();SqlDataReaderreader=cmd.ExecuteReader(CommandBehavior.CloseConnection);cmd.Parameters.Clear();returnreader;}catch(SqlExceptionsqle){thrownewException(sqle.Message);}4.3.4返回單個值publicstaticobjectExecuteScalar(stringcmdText,CommandTypecmdType,paramsSqlParameter[]cmdParms){if(connStr==""){GetConnectionStr();}SqlConnectionconn=newSqlConnection(connStr);SqlCommandcmd=newSqlCommand();PrepareCommand(conn,cmd,cmdType,cmdText,cmdParms);try{conn.Open();objectval=cmd.ExecuteScalar();conn.Close();cmd.Parameters.Clear();returnval;}catch(SqlExceptionsqle){thrownewException(sqle.Message);}}4.3.5無返回值publicstaticintExecuteNonQuery(stringcmdText,CommandTypecmdType,paramsSqlParameter[]cmdParms){if(connStr==""){GetConnectionStr();}SqlConnectionconn=newSqlConnection(connStr);SqlCommandcmd=newSqlCommand();PrepareCommand(conn,cmd,cmdType,cmdText,cmdParms);try{conn.Open();intval=cmd.ExecuteNonQuery();conn.Close();cmd.Parameters.Clear();returnval;}catch(SqlExceptionsqle){thrownewException(sqle.Message);}}4.3系統(tǒng)功能與結(jié)構(gòu)詳述用戶信息服務(wù)是本系統(tǒng)的主要研究內(nèi)容,包括用戶基本信息查詢、消費信息查詢、門禁信息查詢、圖書借閱信息查詢、機房上機情況查詢、領(lǐng)導統(tǒng)計查詢六個部分。4.3.1用戶基本信息查詢模塊本模塊主要實現(xiàn)持卡人基本信息的查詢,包括用戶姓名、身份、部門、卡類型、卡狀態(tài)等,詳細查詢情況如下:圖4.3.1用戶基本信息查詢模塊4.3.2用戶消費信息查詢模塊主要實現(xiàn)對持卡人與卡片金額變動有關(guān)的所有消費明細進行查詢,(消費地點:各食堂,超市,水房,電子閱覽室,洗浴中心、電費處等)a)按照交易類型進行查詢,交易類型包括消費、充值、補助、罰款等;b)按消費場所查詢,主要包括:飲食中心(第六食堂、第七食堂等),超市(濟大超市、荷園超市等),水電中心(水房、電費處),機房管理中心,圖書館(超期書籍、電子閱覽室),醫(yī)院等;c)按照交易時間查詢,用戶既可以選擇固定時間段(如“今天”,“最近一周”,“最近一月”等)查詢,也可以根據(jù)需求,輸入開始日期和終止日期進行查詢;圖4.3.2消費查詢模塊的界面設(shè)計4.3.3消費系統(tǒng)模塊的架構(gòu)設(shè)計4.3.3門禁信息查詢模塊門禁管理模塊主要由校園一卡通、計算機、門禁管理軟件、門禁讀卡器、門禁控制器和電子門鎖等幾部分組成。根據(jù)具體應(yīng)用,還可外接開門按鈕、門磁開關(guān)、報警器、發(fā)卡器等輔助裝置。能夠快速的發(fā)現(xiàn)自己進出宿舍或教學樓的流水情況,機房上課情況,及時發(fā)現(xiàn)是否被別人使用的情況。同樣包含以下幾種查詢功能:按照時間查詢,用戶可以查詢指定時間段其進行學校各個具有門禁系統(tǒng)的場所的相關(guān)記錄;按照場所查詢,用戶可以查詢其進出指定場所的相關(guān)記錄圖4.3.4門禁系統(tǒng)查詢界面4.3.5門禁子系統(tǒng)功能架構(gòu)圖4.3.4圖書借閱信息查詢模塊本模塊主要為了方便廣大師生查閱自己的圖書借閱情況,是否超期以及已借多少本圖書,更好的把握自己借閱和歸還圖書的時間;主要包括以下兩個功能:按照科室查詢,用戶可以查詢已經(jīng)借閱的圖書、借閱時間、到期時間、超期罰款額等信息;按照時間查詢,用戶可以通過該系統(tǒng)自助實現(xiàn)圖書的續(xù)借和圖書預(yù)約等。(5)機房情況查詢:按照姓名和時間查詢;有,校園卡號,姓名,上機時間下機時間,消費金額4.3.6圖書借閱模塊架構(gòu)圖4.3.7圖書信息查詢流程圖4.3.5機房上機情況查詢模塊本模塊主要能按照姓名和時
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版新能源汽車租賃與充電設(shè)施運營管理合同范本3篇
- 2025年度鋼管架施工項目質(zhì)量保證與驗收合同
- 2025版?zhèn)€人住房裝修安全監(jiān)理服務(wù)合同2篇
- 2025年度個人住房抵押貸款房產(chǎn)抵押評估合同3篇
- 二零二五年度水資源保護與利用項目合同2篇
- 科技教育在醫(yī)療領(lǐng)域的應(yīng)用與探索
- 二零二五年度離婚后住房公積金提取及分割合同3篇
- 遠程工作中的嵌入式學習支持服務(wù)
- 科技環(huán)境下的安全教育培訓新模式
- 網(wǎng)絡(luò)安全意識教育的現(xiàn)狀與挑戰(zhàn)
- 2024年江蘇護理職業(yè)學院高職單招(英語/數(shù)學/語文)筆試歷年參考題庫含答案解析
- 電能質(zhì)量與安全課件
- 醫(yī)藥營銷團隊建設(shè)與管理
- 工程項目設(shè)計工作管理方案及設(shè)計優(yōu)化措施
- 圍場滿族蒙古族自治縣金匯螢石開采有限公司三義號螢石礦礦山地質(zhì)環(huán)境保護與土地復墾方案
- 小升初幼升小擇校畢業(yè)升學兒童簡歷
- 資金支付審批單
- 第一單元(金融知識進課堂)課件
- 新概念二冊課文電子版
- 介入導管室護士述職報告(5篇)
- 零件的工藝分析及毛坯選擇
評論
0/150
提交評論