基于VC的小型機房計費管理系統(tǒng)的開發(fā)畢業(yè)論文_第1頁
基于VC的小型機房計費管理系統(tǒng)的開發(fā)畢業(yè)論文_第2頁
基于VC的小型機房計費管理系統(tǒng)的開發(fā)畢業(yè)論文_第3頁
基于VC的小型機房計費管理系統(tǒng)的開發(fā)畢業(yè)論文_第4頁
基于VC的小型機房計費管理系統(tǒng)的開發(fā)畢業(yè)論文_第5頁
已閱讀5頁,還剩30頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 本科畢業(yè)設(shè)計說明書題 目:小型機房計費管理系統(tǒng)的開發(fā)院 (部): 理學院專 業(yè): 信息與計算科學目 錄 TOC o 1-3 h z u HYPERLINK l _Toc233175557 摘 要 PAGEREF _Toc233175557 h III HYPERLINK l _Toc233175558 ABSTRACT PAGEREF _Toc233175558 h IV HYPERLINK l _Toc233175559 1前 言 PAGEREF _Toc233175559 h 1 HYPERLINK l _Toc233175560 1.1系統(tǒng)開發(fā)的背景 PAGEREF _Toc23317

2、5560 h 1 HYPERLINK l _Toc233175561 1.2系統(tǒng)開發(fā)的意義 PAGEREF _Toc233175561 h 1 HYPERLINK l _Toc233175562 1.3 系統(tǒng)實現(xiàn)的目標 PAGEREF _Toc233175562 h 1 HYPERLINK l _Toc233175563 2系統(tǒng)的可行性分析 PAGEREF _Toc233175563 h 2 HYPERLINK l _Toc233175564 2.1技術(shù)可行性 PAGEREF _Toc233175564 h 2 HYPERLINK l _Toc233175565 2.2經(jīng)濟可行性 PAGERE

3、F _Toc233175565 h 2 HYPERLINK l _Toc233175566 3 開發(fā)工具的選擇與介紹 PAGEREF _Toc233175566 h 3 HYPERLINK l _Toc233175567 3.1 Visual C+ 6.0的簡介 PAGEREF _Toc233175567 h 3 HYPERLINK l _Toc233175568 3.2 Visual C+ 6.0的特點 PAGEREF _Toc233175568 h 3 HYPERLINK l _Toc233175569 3.3 Access 2003數(shù)據(jù)庫簡介 PAGEREF _Toc233175569

4、h 3 HYPERLINK l _Toc233175570 3.4 ADO訪問技術(shù)簡介 PAGEREF _Toc233175570 h 3 HYPERLINK l _Toc233175571 4需求分析 PAGEREF _Toc233175571 h 5 HYPERLINK l _Toc233175572 4.1項目目標 PAGEREF _Toc233175572 h 5 HYPERLINK l _Toc233175573 4.2 功能目標 PAGEREF _Toc233175573 h 5 HYPERLINK l _Toc233175574 4.3 系統(tǒng)要求 PAGEREF _Toc2331

5、75574 h 6 HYPERLINK l _Toc233175575 5系統(tǒng)的總體設(shè)計 PAGEREF _Toc233175575 h 8 HYPERLINK l _Toc233175576 5.1系統(tǒng)目標設(shè)計 PAGEREF _Toc233175576 h 8 HYPERLINK l _Toc233175577 5.2 開發(fā)設(shè)計思想 PAGEREF _Toc233175577 h 8 HYPERLINK l _Toc233175578 5.3 系統(tǒng)模塊的劃分 PAGEREF _Toc233175578 h 8 HYPERLINK l _Toc233175579 5.4 數(shù)據(jù)庫設(shè)計 PAGE

6、REF _Toc233175579 h 9 HYPERLINK l _Toc233175580 6系統(tǒng)的詳細設(shè)計 PAGEREF _Toc233175580 h 11 HYPERLINK l _Toc233175581 6.1 封裝ADO PAGEREF _Toc233175581 h 11 HYPERLINK l _Toc233175582 6.2 系統(tǒng)登錄模塊 PAGEREF _Toc233175582 h 13 HYPERLINK l _Toc233175583 6.3 系統(tǒng)計費模塊 PAGEREF _Toc233175583 h 19 HYPERLINK l _Toc233175584

7、 6.4 用戶操作模塊 PAGEREF _Toc233175584 h 20 HYPERLINK l _Toc233175585 6.5 日志登記模塊 PAGEREF _Toc233175585 h 23 HYPERLINK l _Toc233175586 6.6賬戶管理模塊 PAGEREF _Toc233175586 h 25 HYPERLINK l _Toc233175587 6.7系統(tǒng)測試 PAGEREF _Toc233175587 h 26 HYPERLINK l _Toc233175588 7 結(jié) 論 PAGEREF _Toc233175588 h 28 HYPERLINK l _T

8、oc233175589 謝 辭 PAGEREF _Toc233175589 h 29 HYPERLINK l _Toc233175590 參考文獻 PAGEREF _Toc233175590 h 30摘 要隨著學校辦學水平的不斷提高和辦學條件的不斷改善,機房計費管理系統(tǒng)得到越來越普遍的應(yīng)用,它在提高管理效率和減少管理工作量方面發(fā)揮了重要作用。但隨著學校上機人數(shù)的增多,很多機房計費管理系統(tǒng)因設(shè)計開發(fā)不夠科學而暴露出很多不足和缺點。本小型機房計費管理系統(tǒng)正是為此目的而開發(fā),一是便于同學們更加有效、安全、便利的上機進行課程實踐;二是提高機房的科學管理水平,同時減輕機房管理的工作量。在充分參考了學校機

9、房以及網(wǎng)吧的收費管理系統(tǒng)的基礎(chǔ)上,本系統(tǒng)依照軟件開發(fā)過程理論進行分析設(shè)計,對各部分進行了詳盡的分析和描述,并基于Visual C+ 6.0和Access技術(shù)進行設(shè)計開發(fā)。它能夠?qū)崿F(xiàn)利用學號和密碼實現(xiàn)用戶登錄、自動計費功能、生成用戶訪問日志,利用數(shù)據(jù)庫實現(xiàn)帳戶管理等功能。整個機房管理系統(tǒng)設(shè)計簡單,操作方便,具有穩(wěn)定高效、界面友好等特點。關(guān)鍵詞:小型機房計費管理系統(tǒng);Visual C+ 6.0;Access;ADO;信息管理The Design of Charging Management System on Small Computer Labs ABSTRACTAlong with the f

10、ast development of the ability to run universities and the improvement of school operation conditions, computer labs charging management system has obtained widespread application and it has been playing an important role in improve the managing efficiency and reducing the managing workload.But for

11、the growing number of students of computer practice,many computer labs charging management system exposed many shortcomings and deficiencies duo to the unscientific design and implementation.It is just the purpose that this small computer labs charging management system is design for:First,it is mor

12、e efficient,safe and convenient for students to operate the computer;second,it will improve the scientific management level and reduce the workload of the lab management.On the basis of fully analyzed the current charging management system which have been installed in school and internet bar,we anal

13、yzed and designed by theory and practice of software development,fully analyzed and descriped all parts and design and implement it by Visual C+ 6.0 and Access.This system realizes the system access by users name and password,automatic calculation of the fees,system log producement,user management b

14、y database and so on.This system is simple to design,easy to operate, stability and efficiency,friendly interface is also its characters.Key Words: Small computer labs charging management system; Visual C+ 6.0; Access;ADO;information management1前 言1.1系統(tǒng)開發(fā)的背景隨著學校辦學水平的不斷提高和辦學條件的不斷改善,信息化教育的不斷普及使得機房在教學中

15、的地位不斷提高,上機人數(shù)不斷增多,原有的人工管理模式更加暴露出勞動強度大,容易出錯的弊端,于是各學校紛紛引進機房管理信息系統(tǒng),以求充分發(fā)揮學校機房的效能,最大限度的為教學服務(wù),既要提高機房的科學管理水平,又要減輕機房的管理工作量,但現(xiàn)有的學校機房管理信息系統(tǒng)普遍存在穩(wěn)定性不佳、安全性差、IC卡容易損壞或丟失的缺點,給學校管理員和學生都制造了不少麻煩。1.2系統(tǒng)開發(fā)的意義針對學?,F(xiàn)有機房計費管理信息系統(tǒng)的弊端,本系統(tǒng)采用軟件實現(xiàn)方法,有效解決了上述問題。目前在大多數(shù)學校里,公用的計算機房的主要作用是安排學生的課堂學習和業(yè)余上機,但是開放機房存在許多的問題。建立一套完備的機房管理體制,利用現(xiàn)代計算

16、機和數(shù)據(jù)庫開發(fā)技術(shù)來代替人工處理機房工作是很必要的。這樣可以減輕機房管理員的勞動強度,提高工作質(zhì)量和效率,提高機房的利用率和機房管理水平,保證機房管理的穩(wěn)定性和機房的良性運作,確保學生正常上機,提高機房的工作效率,使機房的利用率達到最大化,基于對這些情況的仔細調(diào)查、分析,決定開發(fā)一個小型機房計費管理系統(tǒng)。1.3 系統(tǒng)實現(xiàn)的目標(1) 實現(xiàn)系統(tǒng)操作方便和操作界面美觀的特點。(2) 學生完成以學號為標示的登錄功能,并有效防止因有意或無意而造成非法登錄系統(tǒng)的情況。(3) 實現(xiàn)按時計費的功能,并及時更新數(shù)據(jù)庫。(4) 將學生上機記錄自動記入數(shù)據(jù)庫,形成用戶上機日志,管理員可以對該日志作統(tǒng)計分析。(5)

17、 實現(xiàn)系統(tǒng)的安全性和可靠性,避免數(shù)據(jù)庫信息被破壞。2系統(tǒng)的可行性分析小型機房計算機管理系統(tǒng)主要應(yīng)用于學校機房,也可應(yīng)用于網(wǎng)吧,所以系統(tǒng)的開發(fā)必須遵循安全可靠、穩(wěn)定、維護性好等原則,以便于系統(tǒng)既能滿足目前的需要,又能適應(yīng)將來擴展的需要。2.1技術(shù)可行性本系統(tǒng)采用Visual C+6.0作為開發(fā)工具來開發(fā)該系統(tǒng)界面以及實現(xiàn)各個模塊功能,并利用ADO技術(shù)連接訪問Access數(shù)據(jù)庫,以學校以及網(wǎng)吧的計費系統(tǒng)作為參考,因此可以開發(fā)出合適的應(yīng)用軟件。2.2經(jīng)濟可行性從經(jīng)濟效益來分析,軟件的開發(fā)成本不大,而其它的投入也只是電腦。電腦的普及也帶來了低成本投入。由于系統(tǒng)運行的基礎(chǔ)環(huán)境均已具備,無需重新開發(fā)建設(shè),

18、所以系統(tǒng)開發(fā)、運行所需的費用是比較低的。而系統(tǒng)可以提高管理效率實現(xiàn)計算機化、系統(tǒng)化、規(guī)范化操作,有效降低工作人員的工作強度,效益大于投入,可行性很高。綜上所述,從系統(tǒng)技術(shù)可行性,經(jīng)濟可行性,該系統(tǒng)是值得開發(fā)的。3 開發(fā)工具的選擇與介紹3.1 Visual C+ 6.0的簡介微軟公司生產(chǎn)的工具Visual C+ 6.0是一種強大的可視化編程環(huán)境,一種高效、快捷的Windows應(yīng)用程序開發(fā)工具。并且微軟公司提供了MFC類庫,該類庫已經(jīng)成為業(yè)界事實上的標準,一般性工作可以全部交給VC來完成,用戶只需要在MFC提供的基類上,繼承、添加自己想要實現(xiàn)的功能即可。VC支持訪問多種數(shù)據(jù)庫,包括微軟公司的SQL

19、數(shù)據(jù)庫,Oracle公司的Oracle數(shù)據(jù)庫,IBM公司的DB2數(shù)據(jù)庫,Sybase公司的ASE數(shù)據(jù)庫,Microsoft公司的桌面型數(shù)據(jù)庫Access等。并具有豐富的人機界面,并能生成高效的機器代碼的可執(zhí)行文件,通過設(shè)計任務(wù)的需求分析,采用Visual C+ 6.0開發(fā)工具是理想的選擇。3.2 Visual C+ 6.0的特點Visual C+6.0使用的語言是c+,簡單、高效,功能強大,代碼結(jié)構(gòu)清晰,可讀性好,由于Visual C+6.0是微軟公司出品的,所以能夠和windows系統(tǒng)緊密結(jié)合。MFC是微軟推出的一個類庫,程序開發(fā)人員按照c+類的層次形式組織在一起,幾個高層類提供一般功能,而

20、底層類實現(xiàn)更具體的行為?;谝陨线@些因素,選擇C+程序設(shè)計語言,以及Microsoft公司的Visual C+6.0集成開發(fā)環(huán)境( IDE)來作為開發(fā)工具。3.3 Access 2003數(shù)據(jù)庫簡介作為Microsoft的office套件產(chǎn)品之一,Access已經(jīng)成為世界上最流行的桌面數(shù)據(jù)庫系統(tǒng)。它是一個功能強大而且使用方便的數(shù)據(jù)庫管理系統(tǒng),它為中小型數(shù)據(jù)庫提供了良好的創(chuàng)建環(huán)境,并且Access與許多優(yōu)秀的關(guān)系數(shù)據(jù)庫一樣,可以讓你很容易地連接相關(guān)的信息而且還對其他的數(shù)據(jù)庫系統(tǒng)有所補充。同時,Access完全支持Microsoft的OLE技術(shù)。Access還提供Windows操作系統(tǒng)的高級應(yīng)用程序

21、開發(fā)系統(tǒng)。Access數(shù)據(jù)庫與其它數(shù)據(jù)庫開發(fā)系統(tǒng)之間相當顯著的區(qū)別就是:不用寫一行代碼,就可以在很短的時間里開發(fā)出一個功能強大而且相當專業(yè)的數(shù)據(jù)庫應(yīng)用程序,并且這一過程是完全可視的!3.4 ADO訪問技術(shù)簡介ADO(Activex Data Objects)是當前流行的數(shù)據(jù)庫訪問技術(shù)之一,它是Microsoft數(shù)據(jù)庫應(yīng)用程序開發(fā)的新接口,是建立在OLE DB底層技術(shù)之上的高層數(shù)據(jù)庫訪問技術(shù)。OLE DB是數(shù)據(jù)庫底層接口,為各種數(shù)據(jù)源提供了高性能的訪問;而ADO則封裝了OLE DB所提供的接口,使用戶能夠編寫應(yīng)用程序以通過OLE DB提供訪問和操作數(shù)據(jù)庫服務(wù)器中的數(shù)據(jù)。ADO的優(yōu)點在于使用簡便、

22、速度快、內(nèi)存支出少和磁盤遺跡小,同時還具有遠程數(shù)據(jù)服務(wù)功能,可以在一次往返過程中實現(xiàn)將數(shù)據(jù)從服務(wù)器移動到客戶端程序,然后在客戶端對數(shù)據(jù)進行處理并將更新結(jié)果返回到服務(wù)器,此外ADO還提供了多語言支持,除了面向Visual C+以外,還提供了面向其他各種開發(fā)工具的應(yīng)用。在Visual C+中使用ADO操作數(shù)據(jù)庫有兩種方法,一種是使用ActiveX控件,一種是使用ADO對象。使用ADO對象操作數(shù)據(jù)庫雖然比使用ActiveX控件復(fù)雜一些,但是使用ADO對象具有更大的靈活性,只要將ADO對象封裝到類中也可以很好的簡化對數(shù)據(jù)庫的操作。4需求分析用戶需求分析是整個設(shè)計制作的起點,它是在用戶需求調(diào)研的基礎(chǔ)上,

23、確定系統(tǒng)的總體結(jié)構(gòu)方案,完成相應(yīng)的需求分析報告。在確定系統(tǒng)的總體結(jié)構(gòu)方案過程中,需要確定應(yīng)用程序的結(jié)構(gòu)、系統(tǒng)開發(fā)環(huán)境、系統(tǒng)測試環(huán)境和運行環(huán)境以及系統(tǒng)的功能模塊。在用戶需求調(diào)研結(jié)束之后,應(yīng)立即進行用戶需求分析。需求分析的結(jié)果反映了用戶的實際需要,它將影響到設(shè)計的合理性和實用性。4.1項目目標機房計費管理系統(tǒng)主要應(yīng)用于學校的機房管理,實現(xiàn)機房管理的信息化、網(wǎng)絡(luò)化和自動化,替代傳統(tǒng)的人工管理模式,提高工作效率和管理水平。為此,系統(tǒng)須實現(xiàn)如下目標:(1)提高機房管理水平,提高學生上機素養(yǎng),產(chǎn)生良好的經(jīng)濟效益和社會效益。(2)提高軟件模塊重用能力,使系統(tǒng)易于擴展和升級。(3)提高軟件的穩(wěn)定性和安全性,使

24、系統(tǒng)能安全穩(wěn)定的運行。(4)減少系統(tǒng)對內(nèi)存資源的占有量,使電腦不會因運行本系統(tǒng)而影響速度。(5)降低對使用人員的計算機水平要求,為求簡單實用、易于操作。4.2 功能目標為了實現(xiàn)項目目標,系統(tǒng)必須實現(xiàn)相應(yīng)的功能。用戶登錄功能。學生輸入學號和相應(yīng)的密碼完成登錄,經(jīng)驗證正確后方可進入系統(tǒng),并有效防止因有意或無意而造成的非法登錄。計時收費功能。學生登錄后,系統(tǒng)根據(jù)預(yù)先的程序設(shè)定自動完成準確的計時收費操作,并及時更新數(shù)據(jù)庫。用戶查詢操作。學生上機后,可以通過相應(yīng)的功能按鈕查看本次上機時長,賬戶余額,上次上機時間等信息。日志形成功能。用戶登錄后,系統(tǒng)自動記錄學生的上機信息,并存入數(shù)據(jù)庫,以便以后供管理員作

25、統(tǒng)計分析之用。賬戶管理功能。用戶管理包含添加用戶、刪除用戶、修改用戶、查詢用戶和充值操作 ,這是管理員管理用戶的需要。退出系統(tǒng)功能。用戶單擊退出后安全下機。4.3 系統(tǒng)要求為了使我們設(shè)計的系統(tǒng)能很好地滿足機房管理的需要,以下幾個問題是必須考慮的。1、安全機房計算機管理系統(tǒng)不僅僅是一個一般的管理系統(tǒng),它是一個集信息管理、網(wǎng)絡(luò)控制和財務(wù)管理于一身的綜合管理系統(tǒng)。這其中最重要的還是財務(wù)管理方面。因為一般機房都在業(yè)余時間對外收費開放,所以在設(shè)計機房管理系統(tǒng)時,我們把安全性作為首要考慮因素。一旦系統(tǒng)的安全性遭到破壞,記賬功能遭到襲擊,則后果不堪設(shè)想。系統(tǒng)的安全性包括系統(tǒng)本身的安全和數(shù)據(jù)的安全。系統(tǒng)必須既

26、能夠防止惡意的侵擾,又能防止因誤操作引起的數(shù)據(jù)錯誤。在本系統(tǒng)中安全主要包括以下五個方面:(1)如何防止學生繞過客戶端的登錄界面。因為學生一旦繞過登錄界面,就會造成逃費現(xiàn)象的發(fā)生,這樣就不能對收費上機的學生進行正常的收費,也不能對學生進行有效地控制和管理,整個系統(tǒng)形同虛設(shè)。(2)如何防止學生正常登錄以后拔掉網(wǎng)線。若學生登錄后再拔掉網(wǎng)線,則客戶端和服務(wù)器的連接就會斷開,這樣管理人員同樣不能對學生進行管理,也不能對收費上機的學生進行收費,造成和繞過登錄界面同樣的后果。(3)如何防止個別學生或其它人員對系統(tǒng)的惡意攻擊。如果服務(wù)器遭到惡意攻擊,造成服務(wù)器數(shù)據(jù)的丟失或系統(tǒng)的癱瘓,則不但給實驗室?guī)砭薮蟮慕?jīng)

27、濟損失,而且還會影響到正常的實驗課上課工作,給實驗教學帶來嚴重惡果。(4)數(shù)據(jù)庫的安全。數(shù)據(jù)庫中記錄著整個系統(tǒng)正常運行時的所有數(shù)據(jù),包括學生的收費信息、上機記錄、機房中每臺計算機的信息、學生和管理員的信息等。這些信息都是系統(tǒng)正常運行的保證。因此必須要保證這些信息的絕對安全。2、系統(tǒng)速度系統(tǒng)速度主要包括學生登錄的速度、控制消息傳輸?shù)乃俣?、學生用機的上網(wǎng)速度以及服務(wù)器對各種消息的響應(yīng)速度。系統(tǒng)速度的快慢對系統(tǒng)的性能有很大的影響。如果使用了機房計算機管理系統(tǒng)后,造成學生上機速度緩慢或控制信息響應(yīng)很慢,則本系統(tǒng)就失去了它的實用意義。3、合理設(shè)計數(shù)據(jù)庫本系統(tǒng)在開發(fā)時涉及到的數(shù)據(jù)庫是所有信息保存的場所,它

28、的設(shè)計是否合理直接影響到系統(tǒng)軟件的質(zhì)量,影響到軟件對數(shù)據(jù)訪問的速度。它是系統(tǒng)可以長期穩(wěn)定存在的基礎(chǔ)。建立數(shù)據(jù)庫需要考慮以下幾個問題:(1)數(shù)據(jù)的一致性。由應(yīng)用程序產(chǎn)生工作編碼,要保證不同工作任務(wù)具有不同編碼,工作編碼具有唯一性。(2)合理冗余。如果數(shù)據(jù)冗余低,數(shù)據(jù)的完整性容易得到保證,但增加了表間連接查詢的操作,為了提高系統(tǒng)的響應(yīng)時間,合理的數(shù)據(jù)冗余有時也是必要的。(3)合理選擇數(shù)據(jù)的類型。數(shù)據(jù)類型的合理選擇對于數(shù)據(jù)庫的性能和操作具有很大的影響,因為不同的數(shù)據(jù)類型所占用的存儲空間不一樣,其運算的速度也不一樣,所以合理地選擇數(shù)據(jù)類型對程序的性能也有很大影響。(4)數(shù)據(jù)規(guī)范化存儲。規(guī)范化的數(shù)據(jù)存儲

29、不但有利于我們養(yǎng)成良好的數(shù)據(jù)庫設(shè)計習慣,提高程序的質(zhì)量,而且對日后的數(shù)據(jù)庫維護也有很大的益處。5、合理運用新技術(shù)在軟件開發(fā)過程中,如何合理運用新技術(shù)應(yīng)該遵循以下三個原則:(l)創(chuàng)新原則,體現(xiàn)先進性。計算機技術(shù)日新月異,要及時了解新技術(shù),使用新技術(shù),使目標系統(tǒng)較原系統(tǒng)有質(zhì)的飛躍。(2)經(jīng)濟原則,體現(xiàn)實用性。大而全和高精尖并不是管理信息系統(tǒng)成功與否的唯一衡量標準。事實上許多失敗的軟件正是由于盲目地追求高新技術(shù)而忽視了其實用性,盲目追求完美而忽視了本單位的技術(shù)水平、管理水平和人員素質(zhì)所致。(3)前瞻性原則,體現(xiàn)發(fā)展性。為了延長系統(tǒng)的生命周期,有效地發(fā)揮管理系統(tǒng)的作用,應(yīng)當注意技術(shù)的發(fā)展方向和環(huán)境的變

30、化趨勢。5系統(tǒng)的總體設(shè)計5.1系統(tǒng)目標設(shè)計系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)機房管理的系統(tǒng)化、規(guī)范化和自動化,從而達到提高機房管理效率的目的。5.2 開發(fā)設(shè)計思想 機房計費管理系統(tǒng)的特點是信息處理量比較大,各個環(huán)節(jié)要求連接性能強,而且人員任務(wù)落實到個人。機房管理系統(tǒng)主要是為了方便機房的管理工作,減少人員、材料等的耗費,提高機房的管理質(zhì)量。在設(shè)計中,要求刪除不必要的管理冗余,實現(xiàn)管理規(guī)范化、科學化、程序代碼標準化、軟件統(tǒng)一化,確保軟件的可維護性和實用性,做到界面盡量簡單化,做到實用、方便。5.3 系統(tǒng)模塊的劃分通過分析確定機房管理系統(tǒng)將包含以下幾個主要功能模塊,即用戶登錄模塊、計費模塊、用戶操作模塊、日志

31、形成模塊、賬戶管理模塊。(1)系統(tǒng)登錄模塊用于學生進行上機、下機操作。(2)計費模塊可以根據(jù)設(shè)置完成對學生賬戶的自動計費操作,準確高效的記錄學生上機費用。(3)用戶操作模塊可以使用戶查看賬戶余額、本次上機時長、上次上機時間。(4)日志登記模塊將用戶的上機信息記入數(shù)據(jù)庫,以便以后供管理員進行統(tǒng)計分析。(5)賬戶管理模塊是管理員可以添加用戶、刪除用戶、修改用戶、查找用戶以及為用戶充值。圖系統(tǒng)前臺結(jié)構(gòu)功能圖系統(tǒng)結(jié)構(gòu)功能圖如圖所示。啟動進入收費管理系統(tǒng)系統(tǒng)登錄模塊系統(tǒng)計費模塊用戶操作模塊日志登記模塊賬戶管理模塊上機下機賬戶余額本次上機時長上次上機時間系統(tǒng)記錄日志管理日志添加編輯刪除查詢充值計費圖5.1

32、 系統(tǒng)結(jié)構(gòu)功能圖5.4 數(shù)據(jù)庫設(shè)計根據(jù)系統(tǒng)功能設(shè)計的要求以及功能模塊的劃分,考慮到現(xiàn)實情況以及程序設(shè)計時實現(xiàn)的可能性,應(yīng)使設(shè)計出的數(shù)據(jù)庫中數(shù)據(jù)的冗余度盡可能小以減少存儲空間,并使設(shè)計出的數(shù)據(jù)庫盡可能滿足高一級范式的要求。但有時為提高查詢效率,在設(shè)計中也允許一定的冗余。經(jīng)過分析,可以對本系統(tǒng)列出以下數(shù)據(jù)項和數(shù)據(jù)庫:表5.1 學生信息表(stu)字段名類型長度說明stuno(學號)文本50主鍵,非空password(密碼)文本50非空stuname(姓名)文本50非空amount(賬戶額)數(shù)字8B單精度,有兩位小數(shù),非空,默認為0sex(性別)文本非空department(院系)文本50非空Cla

33、ss(班級)文本50非空表5.1 上機信息表(recordinfo)字段名類型長度說明infonum(記錄編號)數(shù)字4B主鍵,非空stuno(學號)文本50非空begintime(上機時間)文本50非空endtime(下機時間)文本50非空6 系統(tǒng)的詳細設(shè)計對于需求分析、概要設(shè)計確定的概念性的數(shù)據(jù)類型進行確切的定義。實現(xiàn)每個模塊的功能及設(shè)計出整個系統(tǒng)的界面格式。6.1 封裝ADO在Visual C+中使用ADO操作數(shù)據(jù)庫有兩種方法,一種是使用ActiveX控件,一種是使用ADO對象。使用ADO對象操作數(shù)據(jù)庫雖然比使用ActiveX控件復(fù)雜一些,但是使用ADO對象具有更大的靈活性,只要將ADO對

34、象封裝到類中也可以很好的簡化對數(shù)據(jù)庫的操作。對ADO的封裝包括ADO的聲明和ADO的定義,最后還要在stdafx.h中導(dǎo)入ADO動態(tài)鏈接庫,代碼為#import C:Program FilesCommon FilesSystemadomsado15.dll no_namespace rename(EOF,adoEOF)rename(BOF,adoBOF)6 .1 .1 ADO對象的聲明class ADO public:_ConnectionPtr m_pConnection; /連接對象指針_RecordsetPtr m_pRecordset; /記錄集對象指針public:ADO();vir

35、tual ADO();void OnInitADOConn(); /連接數(shù)據(jù)庫_RecordsetPtr& OpenRecordset(CString sql); /打開記錄集void CloseRecordset(); /關(guān)閉記錄集void CloseConn(); /關(guān)閉數(shù)據(jù)庫連接UINT GetRecordCount(_RecordsetPtr pRecordset); /獲得記錄數(shù); ADO對象的定義ADO:ADO()ADO:ADO()void ADO:OnInitADOConn():CoInitialize(NULL);try m_pConnection.CreateInstance

36、(ADODB.Connection); /創(chuàng)建連接對象實例 _bstr_t strConnect=DRIVER=Microsoft Access Driver (*.mdb);uid=;pwd=;DBQ=jifei.mdb; m_pConnection-Open(strConnect,adModeUnknown); /打開數(shù)據(jù)庫catch(_com_error e)AfxMessageBox(e.Description(); /彈出錯誤處理_RecordsetPtr& ADO:OpenRecordset(CString sql)ASSERT(!sql.IsEmpty(); /SQL語句不能為空

37、trym_pRecordset.CreateInstance(_uuidof(Recordset); /創(chuàng)建記錄集對象實例m_pRecordset-Open(_bstr_t(sql), m_pConnection.GetInterfacePtr(),adOpenDynamic, adLockOptimistic, adCmdText); /執(zhí)行SQL得到記錄集catch(_com_error e) /捕獲可能的異常AfxMessageBox(e.Description();return m_pRecordset;void ADO:CloseRecordset()if(m_pRecordset-

38、GetState() = adStateOpen) /判斷當前的記錄集狀態(tài)m_pRecordset-Close(); /關(guān)閉記錄集void ADO:CloseConn()m_pConnection-Close(); /關(guān)閉數(shù)據(jù)庫連接:CoUninitialize(); /釋放COM環(huán)境UINT ADO:GetRecordCount(_RecordsetPtr pRecordset)int nCount = 0; /聲明保存記錄數(shù)的變量trypRecordset-MoveFirst(); /將記錄集指針移動到第一條記錄catch(.) /捕捉可能出現(xiàn)的錯誤return 0; /產(chǎn)生錯誤時返回0i

39、f(pRecordset-adoEOF) /判斷記錄集中是否沒有記錄return 0; /無記錄時返回0while (!pRecordset-adoEOF) /當記錄集指針沒有指向最后時pRecordset-MoveNext(); /將記錄集指針移動到下一條記錄nCount = nCount + 1; /記錄個數(shù)的變量加1pRecordset-MoveFirst(); /將記錄集指針移動到第一條記錄return nCount; /返回記錄數(shù)6.2 系統(tǒng)登錄模塊6.2.1 設(shè)計思路說明在系統(tǒng)啟動時彈出登錄界面,學生輸入學號、密碼,對用戶的輸入信息進行以下兩種情況的判斷:學號或密碼是否非空,如果至

40、少有一個為空,應(yīng)使用戶重填。填入的學號或密碼是否正確,不正確應(yīng)使用戶重填。用戶單擊上機按鈕后檢索數(shù)據(jù)庫,若記錄集非空,則說明為合法用戶,即可進入系統(tǒng),同時暫存用戶的學號和上機時間。由于下機操作同時要根據(jù)保存的學號生成上機日志,因此本模塊重點講上機功能。上機下機流程圖如圖所示。開始判斷學號、密碼是否非空判斷學號、密碼是否一致根據(jù)提交的學號、密碼連接數(shù)據(jù)庫并暫存用戶的學號和上機時間否是是否根據(jù)保存的學號生成上機日志,記入數(shù)據(jù)庫結(jié)束圖6.1 用戶上機下機流程圖6.2.2 功能實現(xiàn)為了在進入系統(tǒng)前彈出登錄對話框,因此要在主對話框的初始化函數(shù)OnInitDialog()中添加如下代碼,以模態(tài)對話框方式調(diào)

41、用登錄對話框。BOOL CJifeiDlg:OnInitDialog( ) CLoginDlg dlg;if(dlg.DoModal()!=IDOK)EndDialog(0);在登錄對話框中,主要實現(xiàn)了上機、下機功能,其中,OnButok( )響應(yīng)了單擊登錄對話框的“上機“按鈕消息。PreTranslateMessage( )和 OnMyFunction( )函數(shù)響應(yīng)了按鍵盤回車鍵實現(xiàn)上機功能的消息。void CLoginDlg:OnButok() CString c_password;m_stuno.GetWindowText(c_stuno);m_password.GetWindowTex

42、t(c_password);if(c_stuno.IsEmpty()|c_password.IsEmpty()MessageBox(學號或密碼不能為空);return;ADO ado;ado.OnInitADOConn();CString sql;sql.Format(select * from stu where stuno=%s and password=%s,c_stuno,c_password);ado.m_pRecordset=ado.OpenRecordset(sql);if(!ado.m_pRecordset-adoEOF)tt1=CTime:GetCurrentTime();E

43、ndDialog(0);elseMessageBox(學號或密碼錯誤!);return;ado.CloseRecordset();ado.CloseConn();CDialog:OnOK();BOOL CLoginDlg:PreTranslateMessage(MSG*pMsg)/登錄界面時實現(xiàn)對回車鍵的響應(yīng)HWND hWnd=GetSafeHwnd();if(pMsg-message=WM_KEYDOWN&pMsg-wParam=VK_RETURN)OnMyFunction();return CDialog:PreTranslateMessage(pMsg);void CLoginDlg:O

44、nMyFunction()CString c_password;m_stuno.GetWindowText(c_stuno);m_password.GetWindowText(c_password);if(c_stuno.IsEmpty()|c_password.IsEmpty()MessageBox(學號或密碼不能為空);return;ADO ado;ado.OnInitADOConn();CString sql;sql.Format(select * from stu where stuno=%s and password=%s,c_stuno,c_password);ado.m_pRec

45、ordset=ado.OpenRecordset(sql);if(!ado.m_pRecordset-adoEOF)tt1=CTime:GetCurrentTime();EndDialog(0);elseMessageBox(學號或密碼錯誤!);return;ado.CloseRecordset();ado.CloseConn(); 6 .2 .3 頁面截圖。圖6.2 用戶登錄對話框圖6.3 學號或密碼為空時彈出提示框圖6.4 學號或密碼錯誤時彈出提示框圖6.5 成功登錄6.3 系統(tǒng)計費模塊本模塊利用系統(tǒng)計時器實現(xiàn)系統(tǒng)計時收費操作,首先在CJifeiDlg的初始化函數(shù)(完成登錄后)OnInit

46、Dialog中設(shè)置定時器SetTimer(1,180000,NULL);在退出系統(tǒng)前關(guān)閉定時器KillTimer(1);并利用CJifeiDlg的OnTimer函數(shù)響應(yīng)定時器消息,代碼如下。void CJifeiDlg:OnTimer(UINT nIDEvent) ADO ado;ado.OnInitADOConn();CString sql;float tempmoney;sql.Format(select * from stu where stuno=%s,c_stuno);ado.m_pRecordset=ado.OpenRecordset(sql);tempmoney=ado.m_pR

47、ecordset-GetCollect(amount);if(tempmoneyPutCollect(amount,tempmoney);ado.m_pRecordset-Update();ado.CloseRecordset();ado.CloseConn(); KillTimer(1);EndDialog(0);elsetempmoney=tempmoney-0.05;ado.m_pRecordset-PutCollect(amount,tempmoney);ado.m_pRecordset-Update();ado.CloseRecordset();ado.CloseConn();CDi

48、alog:OnTimer(nIDEvent);6.4 用戶操作模塊學生登錄到自己的頁面后點擊相應(yīng)的按鈕可查詢賬戶詢余、本次上機時長、上次上機時間和實現(xiàn)下機功能。6.4.1 功能說明及實現(xiàn)余額查詢用戶單擊”賬戶余額”按鈕,響應(yīng)函數(shù)OnButamount()開始執(zhí)行并實現(xiàn)響應(yīng)功能。代碼如下。void CJifeiDlg:OnButamount() ADO ado;ado.OnInitADOConn();CString sql;float tempmoney;sql.Format(select * from stu where stuno=%s,c_stuno);ado.m_pRecordset=a

49、do.OpenRecordset(sql);CString yue,str; /余額yue=你的賬戶還剩;tempmoney=ado.m_pRecordset-GetCollect(amount);str.Format(%.2f,tempmoney);yue+=str;yue+=元;m_info.SetWindowText(yue);ado.CloseRecordset();ado.CloseConn();本次上機時長用戶單擊”本次上機時間”按鈕,響應(yīng)函數(shù)OnButtimespan ()開始執(zhí)行并實現(xiàn)響應(yīng)功能。代碼如下。void CJifeiDlg:OnButtimespan() CStrin

50、g str;CTime tt2;CTimeSpan ts;tt2=CTime:GetCurrentTime(); ts=tt2-tt1;str=ts.Format(_T(%H:%M:%S);m_info.SetWindowText(str);上次上機時間用戶單擊”上次上機時間”按鈕,響應(yīng)函數(shù)OnButlastac ()開始執(zhí)行并實現(xiàn)響應(yīng)功能。代碼如下。void CJifeiDlg:OnButlastac() ADO ado;ado.OnInitADOConn();CString sql,str;sql.Format(select * from recordinfo where stuno=%s

51、,c_stuno);ado.m_pRecordset=ado.OpenRecordset(sql);if(ado.m_pRecordset-adoEOF) m_info.SetWindowText(你還未產(chǎn)生訪問記錄);elseado.m_pRecordset-MoveLast();str=(char*)(_bstr_t)ado.m_pRecordset-GetCollect(begintime); m_info.SetWindowText(str);ado.CloseRecordset();ado.CloseConn();6 .4 .2 界面截圖圖6.6 余額查詢圖6.7 本次上機時長查詢圖

52、6.8 上次上機時間查詢6.5 日志登記模塊日志登記模塊將學生的上機信息自動記入數(shù)據(jù)庫,以便以后供管理員作統(tǒng)計分析之用。該日志在學生下機時由系統(tǒng)自動形成,具體代碼如下。void CJifeiDlg:OnClose() CTime tt2;tt2=CTime:GetCurrentTime();CString s1,s2;s1.Format(%d年%d月%d日%d:%d:%d,tt1.GetYear(),tt1.GetMonth(),tt1.GetDay(),tt1.GetHour(),tt1.GetMinute(),tt1.GetSecond(); s2.Format(%d年%d月%d日%d:%

53、d:%d,tt2.GetYear(),tt2.GetMonth(),tt2.GetDay(),tt2.GetHour(),tt2.GetMinute(),tt2.GetSecond();ADO ado;ado.OnInitADOConn();CString sql=select * from recordinfo;ado.m_pRecordset=ado.OpenRecordset(sql);long int num;if(ado.m_pRecordset-adoEOF)num=1;elseado.m_pRecordset-MoveLast();num=ado.m_pRecordset-Get

54、Collect(infonum);num+;ado.m_pRecordset-AddNew();ado.m_pRecordset-PutCollect(infonum,num);ado.m_pRecordset-PutCollect(stuno,(_bstr_t)c_stuno);ado.m_pRecordset-PutCollect(begintime,(_bstr_t)s1);ado.m_pRecordset-PutCollect(endtime,(_bstr_t)s2);ado.m_pRecordset-Update();ado.CloseRecordset();ado.CloseConn();CDialog:OnClose();已生成的用戶訪問日志如圖所示。圖6.9 用戶訪問日志6.6賬戶管理模塊6.6.1 功能說明及實現(xiàn)賬戶管理模塊用來對會員的信息進行添加、刪除、查詢、修改和充值。添加:用_RecordsetPtr對象的AddNew()函數(shù)在數(shù)據(jù)庫的table表中插入一新行,然后用GetDlgItem()函數(shù)將對話框中的內(nèi)容取出,然后調(diào)用_RecordsetPtr對象的PutC寫入該行的相應(yīng)字段中。查詢:在_RecordsetP

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論