畢業(yè)設(shè)計(jì)(論文)學(xué)生的成績(jī)管理開(kāi)發(fā)設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)學(xué)生的成績(jī)管理開(kāi)發(fā)設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)學(xué)生的成績(jī)管理開(kāi)發(fā)設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)學(xué)生的成績(jī)管理開(kāi)發(fā)設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)學(xué)生的成績(jī)管理開(kāi)發(fā)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩83頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

畢業(yè)設(shè)計(jì)(論文) 1第一章相關(guān)技術(shù)介紹 31.1客戶機(jī)/服務(wù)器 31.2面向?qū)ο缶幊?OOP) 3 3第二章系統(tǒng)分析及工具選擇 52.1系統(tǒng)及需求分析 2.1.1系統(tǒng)需求 52.1.2可行性分析 52.2數(shù)據(jù)庫(kù)選擇 8第三章系統(tǒng)概述 93.1總體設(shè)計(jì) 9 93.3系統(tǒng)的功能簡(jiǎn)介 3.3.1項(xiàng)目規(guī)劃 3.3.2功能描述 3.4數(shù)據(jù)庫(kù)設(shè)計(jì) 第四章系統(tǒng)功能模塊設(shè)計(jì)及實(shí)現(xiàn) 4.1登錄模塊 4.2系統(tǒng)主界面 4.3課程管理 4.5班級(jí)課表 4.6考試成績(jī)管理 4.7學(xué)生成績(jī)查詢 4.8班級(jí)成績(jī)分析 4.9用戶管理 2隨著絡(luò)時(shí)代的到來(lái),作為網(wǎng)絡(luò)的必要組成部分,PC機(jī)越來(lái)越為人們所應(yīng)用,以完成各種各樣的工作,這不僅提高了工作效率和使用計(jì)算機(jī)的水平,也作為我們整個(gè)社會(huì)生產(chǎn)提高的一個(gè)具體表現(xiàn),在越來(lái)越多的人使用計(jì)算機(jī)來(lái)進(jìn)行管理的同時(shí),作為當(dāng)前熱門專業(yè)和科技前沿信息學(xué)院則更應(yīng)充分發(fā)揮自身的優(yōu)勢(shì),將各項(xiàng)工作都提高到一個(gè)更高的水平,因此,使用計(jì)算機(jī)程序和軟件來(lái)不定管理學(xué)生成績(jī)是必然而又必要的工作。目前,此項(xiàng)工作一直實(shí)行人工管理,由專人進(jìn)行手工填寫,修改,統(tǒng)計(jì)和查找學(xué)生成績(jī);又由于每個(gè)學(xué)生都非常重視自己的學(xué)習(xí)成績(jī),并且在成績(jī)管理的過(guò)程中,從學(xué)生,任課教師到教務(wù)部門,此項(xiàng)工作又具有涉及面廣,人數(shù)眾多的特點(diǎn),從而也就決定了工作人員在為學(xué)生提供服務(wù),幫助和完成學(xué)校各項(xiàng)關(guān)于成績(jī)管理工作的同時(shí),人為誤差和低效率的工作速度也在所難免,特別是為響應(yīng)國(guó)家政策和滿足社會(huì)需要,學(xué)院近幾年實(shí)行擴(kuò)在招生的政策以來(lái),學(xué)生人數(shù)大幅度增多,同時(shí),為更好地指導(dǎo)和教育學(xué)生的生活和學(xué)習(xí),采用從選專業(yè)和變動(dòng)班級(jí)的方法,這就使得人工的學(xué)生成績(jī)管理工作變得更加繁重和難以滿足學(xué)生的要求。使用計(jì)算機(jī)軟件對(duì)學(xué)生的成績(jī)管理不僅能夠克服手工管理的缺點(diǎn)和弊病,大大提高了工作效率,節(jié)省了大量的人力,物力,使我們的學(xué)院的管理水平走上一個(gè)新的臺(tái)階,也給了我們這批計(jì)算機(jī)專業(yè)畢業(yè)生一個(gè)很好的實(shí)踐鍛煉機(jī)會(huì),從而使我們?cè)诠ぷ鲘徫恢芯哂懈叩膶I(yè)素質(zhì)和能力,同時(shí),也進(jìn)一步顯示和證實(shí)了信息學(xué)院的計(jì)算機(jī)應(yīng)用水平和普及程度。當(dāng)代社會(huì)是一個(gè)數(shù)字化的社會(huì),數(shù)字化的實(shí)現(xiàn)需要依賴一定的手段,于此系統(tǒng)相關(guān)的領(lǐng)域有Windows2000(WindowsNt后繼操作系統(tǒng))局域網(wǎng),Client/Server工作模式,VisualBasic6.0,Access關(guān)系型數(shù)據(jù)庫(kù)等;此系統(tǒng)在二維數(shù)據(jù)庫(kù)的理論基礎(chǔ)上,應(yīng)用VisualBasic6.0數(shù)據(jù)庫(kù)管理系統(tǒng),使用規(guī)范的程序設(shè)計(jì)方法,運(yùn)用實(shí)際數(shù)據(jù)驗(yàn)證,逐步分析的調(diào)試手段,并達(dá)到了預(yù)期的結(jié)果。3第一章相關(guān)技術(shù)介紹客戶機(jī)/服務(wù)器模式簡(jiǎn)稱C/S模式,局域網(wǎng)上三種工作模式(對(duì)等模式,文件服務(wù)器模式,客戶機(jī)/服務(wù)器模式)中的一種,并不是一種特定的硬件產(chǎn)品或服務(wù)器技術(shù),它是一種體系結(jié)構(gòu)。Server是一個(gè)向請(qǐng)求進(jìn)程提供服務(wù)的邏輯進(jìn)程,它可以是一種進(jìn)程,也可以是有多個(gè)分布進(jìn)程所組成。向一個(gè)Server請(qǐng)求服務(wù)的進(jìn)程稱為該服務(wù)的Client,通信事物是由Server應(yīng)按請(qǐng)求進(jìn)程的要求執(zhí)行服務(wù)并返回結(jié)果。Client和Server之間的通信可以涉及到許多機(jī)制如:局域網(wǎng),廣域網(wǎng)及操作系統(tǒng)中任務(wù)間的通一機(jī)器上。此外,一個(gè)Server可以同時(shí)又是另一個(gè)Server的Client,并向它請(qǐng)求服務(wù)。通常,若一臺(tái)機(jī)器的主要任務(wù)是支持一個(gè)特定的Server進(jìn)程,那么這個(gè)具體的機(jī)器(硬件)就常稱為服務(wù)器 (Server)。Server既可指Server進(jìn)程(軟件),也可以指一個(gè)具體的機(jī)器(硬件),對(duì)Client也是如Client/Server模式將處理功能分為兩部分,一部分(前端)由Client處理,另一部分(后端)樣有利于全面發(fā)揮各自的計(jì)算能力,可以分別對(duì)Clie要承擔(dān)應(yīng)用方面的專門任務(wù),而Server端則主要用于數(shù)據(jù)處理。這種C/S模式還能給用戶提供一個(gè)理想的分布環(huán)境,消除了不必要的網(wǎng)絡(luò)傳輸負(fù)擔(dān)。60年代末期,為應(yīng)付當(dāng)時(shí)日趨嚴(yán)重的“軟件危機(jī)”,人們提出了結(jié)構(gòu)化程序設(shè)計(jì)方法。結(jié)構(gòu)化程序設(shè)計(jì)一定程度上緩解了“軟件危機(jī)”,但并沒(méi)有徹底解決。70年代末80年代初的面序設(shè)計(jì)是一種基于結(jié)構(gòu)分析,以數(shù)據(jù)為中心的程序設(shè)計(jì)方法。傳統(tǒng)上,編程時(shí)是把程序和數(shù)據(jù)嚴(yán)格區(qū)分開(kāi)的。而OOP方法卻把二者統(tǒng)一到一個(gè)可重用的單元中,稱為類(CLASS),就象是C語(yǔ)言中的結(jié)構(gòu)或PASCAL的記錄,但它除了包含數(shù)據(jù)(叫做屬性)之外,還包含過(guò)程(在OOP中叫做方法),你可以用定義特殊結(jié)構(gòu)或記錄類型變量的方法來(lái)實(shí)例化(即生成一個(gè)實(shí)例)一個(gè)類。實(shí)例化的類被稱作對(duì)象(object)。因?yàn)閷?duì)象中的代碼可以像變量一樣進(jìn)行復(fù)制和訪問(wèn),所以能自動(dòng)實(shí)現(xiàn)事件驅(qū)動(dòng)編程方式是在事件驅(qū)動(dòng)的操作系統(tǒng)(Windows)下的軟件開(kāi)發(fā)方式。在非可視化的程序開(kāi)發(fā)環(huán)境中,當(dāng)你要寫一個(gè)過(guò)程時(shí),必須找處所有執(zhí)行該過(guò)程的地方。用來(lái)保證當(dāng)調(diào)用它,也只4有在調(diào)用它時(shí),它才執(zhí)行。事件驅(qū)動(dòng)基本思想時(shí)當(dāng)你的程序運(yùn)行時(shí),它只做了一些初始化和準(zhǔn)備工作,然后就停下來(lái)。用戶將看著它,而它卻不做任何事,只有用戶執(zhí)行某個(gè)操作——單擊鼠標(biāo),選擇菜單等類似操時(shí)程序才會(huì)響應(yīng),這是因?yàn)槌绦騿T不再控制程序而由用戶來(lái)控制。程序員把代碼寫成叫做事件的小塊,它告訴程序“如果單擊這個(gè)按鈕,那么就執(zhí)行這個(gè)過(guò)程,如果用戶選擇哪個(gè)菜單項(xiàng),就執(zhí)行哪個(gè)過(guò)程。”程序員的責(zé)任是在某些控件禁止一些不能使用的選項(xiàng),以保證程序正確52.1.1系統(tǒng)需求(1)由于操作人員的計(jì)算機(jī)知識(shí)普遍較差,要求有良好的人機(jī)界面;(3)原始數(shù)據(jù)修改簡(jiǎn)單方便,支持多條件修改(4)方便的數(shù)據(jù)查詢,支持多條件查詢;(5)在相應(yīng)的權(quán)限下,刪除數(shù)據(jù)方便簡(jiǎn)單,數(shù)據(jù)穩(wěn)定性好;(6)數(shù)據(jù)計(jì)算自動(dòng)完成,盡量減少人工干預(yù);2.1.2可行性分析的微機(jī)都是PIII以上的機(jī)器,在存儲(chǔ)量、速度方面都能滿足數(shù)據(jù)庫(kù)運(yùn)行的要求。在技本系統(tǒng)的設(shè)計(jì)是在WindowsXP中文版操作系統(tǒng)環(huán)境下,使用VisualBasic6.0中文版開(kāi)發(fā)成功的。數(shù)據(jù)庫(kù)是MIS中的重要支持技術(shù),在MIS開(kāi)發(fā)過(guò)程中,如何選擇數(shù)VisualBasic是一種可視化的、面對(duì)對(duì)象和條用事件驅(qū)動(dòng)方式的結(jié)構(gòu)化高級(jí)程序可以與Windows的專業(yè)開(kāi)發(fā)工具SDK相媲美,而且程序開(kāi)發(fā)人員不必具有C/C++編程基礎(chǔ)。在VisualBasic環(huán)境下,利用事件驅(qū)動(dòng)的編程機(jī)制、新穎易用的可視化設(shè)計(jì)工具,使用Windows內(nèi)部的應(yīng)用程序接口(API)函數(shù),以及動(dòng)態(tài)鏈接庫(kù)(DLL)、動(dòng)態(tài)數(shù)據(jù)交換發(fā)出Windows環(huán)境下功能強(qiáng)大、圖形界面豐富的應(yīng)用軟件系統(tǒng)。6總的來(lái)說(shuō),VisualBasic具有以下特點(diǎn):用傳統(tǒng)程序設(shè)計(jì)語(yǔ)言設(shè)計(jì)程序時(shí),都是通過(guò)編寫程序代碼來(lái)設(shè)計(jì)用戶界面,在設(shè)計(jì)過(guò)程中看不到界面的實(shí)際顯示效果,必須編譯后運(yùn)行程序才能觀察。如果對(duì)界面的效果不滿意,還要回到程序中修改。有時(shí)候,這種編程-編譯-修改的操作可能要反復(fù)多次,大大影響了軟件開(kāi)發(fā)效率。VisualBasic提供了可視化設(shè)計(jì)工具,把Windows界面設(shè)計(jì)的復(fù)雜性“封裝”起來(lái),開(kāi)發(fā)人員不必為界面設(shè)計(jì)而編寫大量程序代碼。只需要按設(shè)計(jì)要求的屏幕布局,用系統(tǒng)提供的工具,在屏幕上畫(huà)出各種“部件”,即圖形對(duì)象,并設(shè)置這些圖形對(duì)象的屬性。VisualBasic自動(dòng)產(chǎn)生界面設(shè)計(jì)代碼,程序設(shè)計(jì)人員只需要編寫實(shí)現(xiàn)程序功能的那部分代碼,從而可以大大提高程序設(shè)計(jì)的效率。4.0版以后的VisualBasic支持面向?qū)ο蟮某绦蛟O(shè)計(jì),但它與一般的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言(C++)不完全相同。在一般的面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言中,對(duì)象由程序代碼和數(shù)據(jù)組成,是抽象的概念;而VisualBasic則是應(yīng)用面向?qū)ο蟮某绦蛟O(shè)計(jì)方法(00P),把程序和數(shù)據(jù)封裝起來(lái)作為一個(gè)對(duì)象,并為每個(gè)對(duì)象賦予應(yīng)有的屬性,使對(duì)象成為實(shí)在的東西。在設(shè)計(jì)對(duì)象時(shí),不必編寫建立和描述每個(gè)對(duì)象的程序代碼,而是用工具畫(huà)在界面上,VisualBasic自動(dòng)生成對(duì)象的程序代碼并封裝起來(lái)。每個(gè)對(duì)象以圖形方式顯示在界面上,都是可視的。VisualBasic是在BASIC語(yǔ)言的基礎(chǔ)上發(fā)展起來(lái)的,具有高級(jí)程序設(shè)計(jì)語(yǔ)言的語(yǔ)句結(jié)構(gòu),接近于自然語(yǔ)言和人類的邏輯思維方式。VisualBasic語(yǔ)句簡(jiǎn)單易懂,其編輯器支持彩色代碼,可自動(dòng)進(jìn)行語(yǔ)法錯(cuò)誤檢查,同時(shí)具有功能強(qiáng)大且使用靈活的調(diào)試器和編譯器。(.EXE),脫離VisualBasic環(huán)境,直接在Windows環(huán)境下運(yùn)行。VisualBasic通過(guò)事件來(lái)執(zhí)行對(duì)象的操作。一個(gè)對(duì)象可能會(huì)產(chǎn)生多個(gè)事件,每個(gè)事件都可以通過(guò)一段程序來(lái)響應(yīng)。例如,命令按鈕是一個(gè)對(duì)象,當(dāng)用戶單擊該按鈕時(shí),將產(chǎn)生一個(gè)“單擊“(CLICK)事件,而在產(chǎn)生該事件時(shí)將執(zhí)行一段程序,用來(lái)實(shí)現(xiàn)指定的操作。在用VisualBasic設(shè)計(jì)大型應(yīng)用軟件時(shí),不必建立具有明顯開(kāi)始和結(jié)束的程序,而是編寫若干個(gè)微小的子程序,即過(guò)程。這些過(guò)程分別面向不同的對(duì)象,由用戶操作引發(fā)7訪問(wèn)數(shù)據(jù)庫(kù):VisualBasic具有強(qiáng)大的數(shù)據(jù)庫(kù)管理功能,利用數(shù)據(jù)控件和數(shù)據(jù)庫(kù)管理窗口,可以直接建立或處理MicrosoftAccess格式的數(shù)據(jù)庫(kù),并提供了強(qiáng)大的數(shù)據(jù)存儲(chǔ)和檢索功能。等,這些數(shù)據(jù)庫(kù)格式都可以用VisualBasic編輯和處理。VisualBasic提供開(kāi)放式數(shù)據(jù)連接,即ODBC功能,可通過(guò)直接訪問(wèn)或建立連接的方式使用并操作后臺(tái)大型網(wǎng)絡(luò)數(shù)據(jù)庫(kù),如SQLServer,Oracle等。在應(yīng)用程序中,可以使用結(jié)構(gòu)化查詢語(yǔ)言SQL數(shù)據(jù)標(biāo)準(zhǔn),直接訪問(wèn)服務(wù)器上的數(shù)據(jù)庫(kù),并提供了簡(jiǎn)單的面向?qū)ο蟮膸?kù)操作指令和多用戶數(shù)據(jù)庫(kù)訪問(wèn)的加鎖機(jī)制和網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的SQL的編程技術(shù),為單機(jī)上運(yùn)行的數(shù)據(jù)庫(kù)提供了SQL網(wǎng)絡(luò)接口,以便在分布式環(huán)境中快速而有效地態(tài)地鏈接到另一種應(yīng)用程序中,使兩種完全不同的應(yīng)用程序建立起一條動(dòng)態(tài)數(shù)據(jù)鏈路。當(dāng)原始數(shù)據(jù)變化時(shí),可以自動(dòng)更新鏈接的數(shù)據(jù)。VisualBasic提供了動(dòng)態(tài)數(shù)據(jù)交換的編程技術(shù),可以在應(yīng)用程序中與其他Windows應(yīng)用程序建立動(dòng)態(tài)數(shù)據(jù)交換,在不同的應(yīng)對(duì)象的鏈接與嵌入(OLE)將每個(gè)應(yīng)用程序都看做是一個(gè)對(duì)象(object),將不同的對(duì)象動(dòng)畫(huà)、文字等各種信息的集合式的文件。OLE技術(shù)是Microsoft公司對(duì)象技術(shù)的戰(zhàn)略,應(yīng)用程序一體化的技術(shù)。利用OLE技術(shù),可以方便地建立復(fù)合式文檔(compounddocument),這種文檔由來(lái)自多個(gè)不同應(yīng)用程序的對(duì)象組成,文檔中的每個(gè)對(duì)象都與原來(lái)的應(yīng)用程序相聯(lián)系,并可執(zhí)行與原來(lái)應(yīng)用程序完全相同的操作。VisualBasic是一種高級(jí)程序設(shè)計(jì)語(yǔ)言,不具備低級(jí)語(yǔ)言的功能,對(duì)訪問(wèn)機(jī)器硬件入到VisualBasic應(yīng)用程序中,可以像調(diào)用內(nèi)部函數(shù)一樣調(diào)用其他語(yǔ)言外,通過(guò)動(dòng)態(tài)鏈接庫(kù),還可以調(diào)用Windows應(yīng)用程序接口(API)函數(shù),實(shí)現(xiàn)SDK所具8Access是微軟公司推出的基于Windows的桌面關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS),是Office系列應(yīng)用軟件之一。它提供了表、查詢、窗體、報(bào)表、頁(yè)、宏、模塊7種用來(lái)面設(shè)計(jì)、報(bào)表生成等操作規(guī)范化;為建立功得普通用戶不必編寫代碼,就可以完成大部分?jǐn)?shù)據(jù)管理的任務(wù)。Access是一種關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng),其主要特點(diǎn)如下:(1)存儲(chǔ)方式單一Access管理的對(duì)象有表、查詢、窗體、報(bào)表、頁(yè)、宏和模塊,以上對(duì)象都存放在后綴為(.mdb)的數(shù)據(jù)庫(kù)文件種,便于用戶的操作和管理。Access是一個(gè)面向?qū)ο蟮拈_(kāi)發(fā)工具,利用面向?qū)ο蟮姆绞綄?shù)據(jù)庫(kù)系統(tǒng)中的各種Access是一個(gè)可視化工具,是風(fēng)格與Windows完全一樣,用戶想要生成對(duì)象并應(yīng)Access基于Windows操作系統(tǒng)下的集成開(kāi)發(fā)環(huán)境,該環(huán)境集成了各種向?qū)Ш蜕衫肁ccess強(qiáng)大的DDE(動(dòng)態(tài)數(shù)據(jù)交換)和OLE(對(duì)象的聯(lián)接和嵌入)特性,可報(bào)表和窗體等。Access還可以將程序應(yīng)用于網(wǎng)絡(luò),并與網(wǎng)絡(luò)上的動(dòng)態(tài)數(shù)據(jù)相聯(lián)接。利用數(shù)據(jù)庫(kù)訪問(wèn)頁(yè)對(duì)象生成HTML文件,輕松構(gòu)建Internet/Intranet的應(yīng)用。因此我們選用了微軟公司的Access作為后臺(tái)數(shù)據(jù)庫(kù)平臺(tái),來(lái)進(jìn)行該系統(tǒng)的后臺(tái)數(shù)9第三章系統(tǒng)概述的實(shí)用性和先進(jìn)性。實(shí)際上,由于院教務(wù)科學(xué)生成績(jī)管理工作與院學(xué)生管理中和成績(jī)相關(guān)的工作有著緊密的聯(lián)系,程序本著統(tǒng)籌兼顧,從總體考慮將以往兩個(gè)部門工作中重復(fù)的操作有機(jī)結(jié)合起來(lái),并為以后程序功能擴(kuò)展提供接口。學(xué)生成績(jī)管理系統(tǒng)初訂了三種方案:方案一:采用星形拓?fù)渚钟蚓W(wǎng)結(jié)構(gòu),由服務(wù)器、工作站、集線器、計(jì)算機(jī)、打印機(jī)組成,服務(wù)器上運(yùn)行數(shù)據(jù)庫(kù)及系統(tǒng)管理程序SQLServer6.5,前端(客戶端)采用PowerBuilder7.0為程序設(shè)計(jì)語(yǔ)言。方案二:采用單機(jī)上運(yùn)行學(xué)生成績(jī)管理系統(tǒng)軟件,采用VisualBasic6.0程序設(shè)計(jì)語(yǔ)言和本地?cái)?shù)據(jù)庫(kù)。方案三:采用星形拓樸局域網(wǎng)結(jié)構(gòu),由服務(wù)器務(wù)、工作站、集線器、計(jì)算機(jī)、打印機(jī)組成,服務(wù)器上運(yùn)行數(shù)據(jù)庫(kù)及系統(tǒng)管理和序access2000,前端(客戶機(jī))用VisualBasic6為程序設(shè)計(jì)語(yǔ)言。以上三種方案中都有采用VisualBasic6.0程序設(shè)計(jì)語(yǔ)言,一方面,VisualBasic6.0是目前流行和好用的前端開(kāi)發(fā)工具,適合于畢業(yè)生以此作為做畢業(yè)課題的工具,另一方面,由于社會(huì)需求量大,掌握了此工具的學(xué)生將會(huì)有更多的機(jī)會(huì)來(lái)實(shí)現(xiàn)自己的想法和目標(biāo)。對(duì)于方案一,鑒于學(xué)院目前的自身?xiàng)l件,采用在單機(jī)上開(kāi)發(fā)和運(yùn)行成績(jī)管理系統(tǒng)軟件,縮短了開(kāi)發(fā)時(shí)間的同時(shí)也降低了開(kāi)發(fā)的難度,因此,不利于學(xué)生更好地煅煉和實(shí)踐,最重要的是不利于程序向網(wǎng)絡(luò)應(yīng)用擴(kuò)展,不久的將來(lái),計(jì)劃成績(jī)管理系統(tǒng)具有供學(xué)生在計(jì)算機(jī)網(wǎng)絡(luò)上查詢的功能。不符合當(dāng)前的計(jì)算機(jī)應(yīng)用的形勢(shì)。方案二和方案三的不同之處在于使用了不同的數(shù)據(jù)庫(kù)管理系統(tǒng).為了最終實(shí)現(xiàn)目標(biāo)系統(tǒng),必須將一些功能復(fù)雜的模塊與分解成若干子模塊,并確定這些子模塊之間的關(guān)系。經(jīng)過(guò)分解之后使每個(gè)功能對(duì)大多數(shù)程序員而言是明顯易懂得,這樣也增加了系統(tǒng)的可維護(hù)性。3.3系統(tǒng)的功能簡(jiǎn)介本系統(tǒng)主要可以實(shí)現(xiàn)以下的管理功能:班級(jí)管理、學(xué)生課程管理、學(xué)生成績(jī)管理、用戶管理等等。學(xué)生課程管理系統(tǒng)是一個(gè)典型的數(shù)據(jù)庫(kù)應(yīng)用程序,由班級(jí)管理、學(xué)生課程管理、學(xué)生(1)課程管理模塊(CTRL+C)該模塊的主要任務(wù)是維護(hù)系統(tǒng)的正常運(yùn)行和安全性設(shè)置,包括課程庫(kù)(快捷鍵:捷鍵:CTRL+T)等等。這四個(gè)功能模塊各自獨(dú)立,完成學(xué)校的全部學(xué)生的課程安排及管該模塊的功能是實(shí)現(xiàn)對(duì)全校學(xué)生的成績(jī)管理工作,包括:成績(jī)庫(kù)管理(快捷鍵:這三個(gè)功能模塊各自獨(dú)立,完成學(xué)校的全部學(xué)生的成績(jī)管理。該模塊的主要功能是實(shí)現(xiàn)對(duì)系統(tǒng)的維護(hù)工作,包括用戶管理(快捷鍵:CTRL+C)、退出系統(tǒng)等(快捷鍵:CTRL+D)、功能,從而方便管理用戶和退出該系統(tǒng),對(duì)該系統(tǒng)起主要描述系統(tǒng)的模塊及其功能:班級(jí)成績(jī)分析學(xué)生成績(jī)查詢成績(jī)庫(kù)管理班級(jí)課表課程安排查詢課程安排課程庫(kù)管理學(xué)生課程成績(jī)管理系統(tǒng)課程管理成績(jī)管理3.4數(shù)據(jù)庫(kù)設(shè)計(jì)字段名稱數(shù)據(jù)類型自動(dòng)編號(hào)文本文本日期/時(shí)間備注字段名稱數(shù)據(jù)類型文本文本文本日期/時(shí)間文本文本備注字段名稱數(shù)據(jù)類型文本文本數(shù)字?jǐn)?shù)字文本備注表2-4CourseSelect表:字段名稱數(shù)據(jù)類型自動(dòng)編號(hào)文本文本文本文本表2-5Department表:字段名稱數(shù)據(jù)類型文本文本文本文本表2-6Publish表:字段名稱數(shù)據(jù)類型自動(dòng)編號(hào)文本文本日期/時(shí)間備注字段名稱數(shù)據(jù)類型自動(dòng)編號(hào)文本文本數(shù)字字段名稱數(shù)據(jù)類型文本文本文本文本日期/時(shí)間文本字段名稱數(shù)據(jù)類型文本文本文本備注本章主要內(nèi)容為本系統(tǒng)的運(yùn)行界面以及主要界面的源代碼本界面的主要功能是為了對(duì)系統(tǒng)進(jìn)行安全性管理,本系統(tǒng)的用戶名和密碼保存在USER表中,用戶可以選擇不同的登錄編號(hào)及密碼??诳诘卿浗虒W(xué)信息管理版權(quán)所有盜版必究代碼實(shí)現(xiàn):strUserID=Replace(TristrPassword=Replace(TriIfstrUserID=""ThenMsgBox"用戶名不能為空,請(qǐng)輸入用戶名!",,"登錄錯(cuò)誤"ElseIfstrPassword=""ThenMsgBox"密碼不能為空,請(qǐng)輸入密碼!",,"登錄錯(cuò)誤"EndIfstrSQL="SELECT*FROMUSERSWHEREUserID='"'&strUserID&""Ifrs.EOFThenMsgBox"用戶名不存在或密碼錯(cuò)誤!",,"登錄失敗"UserName=rs("UserNameEndIfIfCount>=3ThenMsgBox"超過(guò)登錄次數(shù),無(wú)權(quán)登錄本系統(tǒng)!",,"登錄失敗"EndIf主控模塊起著連接各個(gè)程序的作用,通過(guò)此模塊可以方便的進(jìn)入其他各子模塊中。運(yùn)行界面如下所示:圖4-2系統(tǒng)主界面代碼實(shí)現(xiàn):Caption="課程管理系統(tǒng)-["&UserName&"]"本界面顯示的是課程管理信息,包括課程的安排、學(xué)分、任課老師及課程的說(shuō)明。課程管理O口區(qū)學(xué)時(shí)數(shù)說(shuō)明?數(shù)據(jù)結(jié)構(gòu)4必修計(jì)算機(jī)原理4張浩必修大學(xué)英語(yǔ)5王冰必修軟件工程4催冬華必修高等數(shù)學(xué)5張洪賓必修電子電工技術(shù)4李曉明必修鄧論3原林虎選修軍事基礎(chǔ)3東方選修c語(yǔ)言5劉玉海必修匯編4王躍龍必修5梁小生必修H州冊(cè)除①)修改M)添加(A)保存(S)退出Q)課程編號(hào)說(shuō)明學(xué)分?jǐn)?shù)學(xué)時(shí)數(shù)欣圖4-3課程管理界面代碼實(shí)現(xiàn):DimConnAsADODB.ConnectionDimWithEventsrsAsADODimstrSQLS,strCourseIDS,strCourseName$,intCredit!,intPeriod!,strTeacher$,strDesc$strCourselD=Replace(TristrCourseName=Replace(TrimstrTeacher=Replace(TIfstrCourseID=""ThenMsgBox"課程編號(hào)不能為空!",,"輸入錯(cuò)誤"ElselfstrCourseName=""ThenMsgBox"課程名稱不能為空!",,"輸入錯(cuò)誤"ElselfintCredit=0ThenMsgBox"該課程學(xué)分不能為空!",,"輸入錯(cuò)誤"ElselfintPeriod=0ThenElselfstrTeacher=""ThenMsgBox"任課老師不能為空!",,"輸入錯(cuò)誤"EndIfstrSQL="SELECT*FROMCourseWHERECourselD='"&strCoMsgBox"該課程編號(hào)已經(jīng)存在,請(qǐng)重新輸入!"EndIfrs("CourseID").Value=strCrs("CourseName").Value=strCrs("Credit").Value=inrs("Period").Value=intrs("Teacher").Value=strTrs("Description").ValueEndIfIfrs.EOFAndrs.RecordCount>0ThenEndIfIfNotrs.BOFThenrs.MovePreviousIfrs.BOFAndrs.RecordCount>0ThenEndIfDimcmdUpdateAsADDimstrSQLS,strCourseID$,strCourseName$,intCredit!,intPeriod!,strTeacher$,strDesc$strCourseID=Replace(TristrCourseName=Replace(TrimstrTeacher=Replace(TIfstrCourseID=""ThenMsgBox"課程編號(hào)不能為空!",,"輸入錯(cuò)誤"ElselfstrCourseName=""ThenMsgBox"課程名稱不能為空!",,"輸入錯(cuò)誤"ElselfintCredit=0ThenMsgBox"該課程學(xué)分不能為空!",,"輸入錯(cuò)誤"ElselfintPeriod=0ThenMsgBox"該課程學(xué)時(shí)數(shù)不能為空!",,"輸入錯(cuò)誤"ElselfstrTeacher=""ThenMsgBox"任課老師不能為空!",,"輸入錯(cuò)誤"EndIfIfstrCourselDrs("CourselD")ThenstrSQL="SELECT*FROMCourseWHERECourseID='"&strCourseID&";"IfNotrsValid.EOFThenMsgBox"該課程編號(hào)已經(jīng)存在,請(qǐng)重新輸入!"EndIfSetrsValid=Nothing級(jí)聯(lián)更新strSQL=strSQL&"WHERECourselD='"&rs("CourselD")&";"strSQL=strSQL&""WHERECourselD='"&rs("CoEndIfrs("CourselD").Value=strCrs("CourseName").Value=strCrs("Credit").Value=inrs("Period").Value=intrs("Teacher").Value=strTrs("Description").ValuePrivateSubrs_MoveComplete(ByValadReasonAsADODB.EventReasonEnum,_ByValpErrorAsADODB.Error,adStatusAsADODB.EventStatusSetConn=NewADODB.C.Columns(0).Caption="課程編號(hào)".Columns(1).Caption=".Columns(4).Caption="任課老師"PrivateSubForm_Unload(CancelAsInte顯示課程的安排、班級(jí)、上課時(shí)間、上課地點(diǎn)。在此處可以課程安排信息。課程安排O口×班級(jí)編號(hào)班級(jí)信息班級(jí)編號(hào)課程信息學(xué)分4任課老師譚有為上課教室所屬院系信息工程系班主任趙成上課時(shí)間州冊(cè)除①)上課地點(diǎn)?數(shù)據(jù)結(jié)構(gòu)周二下午4譚有為計(jì)算機(jī)原理周一下午4張浩大學(xué)英語(yǔ)周三下午5王冰軟件工程周四下午4催冬華高等數(shù)學(xué)周四下午5張洪賓電子電工技術(shù)周五下午4李曉明鄧論周五上午3原林虎軍事基礎(chǔ)周四上午3東方c語(yǔ)言周三上午5劉玉海代碼實(shí)現(xiàn):DimConnAsADODB.ConnectionDimWithEventsrsAsADODimcmdUpdateAsADDimrsCheckAsADODDimstrSQL$,strClaIfcmbClass.ListIndex<0ThenMsgBox"請(qǐng)選擇一個(gè)班級(jí)!"EndIfIflstCourse.ListIndex<0ThenMsgBox"請(qǐng)選擇一門課程!"EndIfstrClassRoom=Replace(TrstrClassDate=Replace(TrIfstrClassRoom=""ThenMsgBox"上課教室沒(méi)有指定!",,"輸入錯(cuò)誤"ElselfstrClassDate=""ThenMsgBox"上課時(shí)間沒(méi)有指定!",,"輸入錯(cuò)誤"EndIfstrSQL="SELECT*FROMCourseSelectWHEREMsgBox"該班級(jí)已經(jīng)安排了該課程,不要重復(fù)安排!"EndIfstrSQL="INSERTINTOCourseSelect(CourseID,ClastrSQL=strSQL&"VALUES("&lstCourse.TextstrSQL=strSQL&strClassRoom&","&strClassDate&");"Ifrs.EOFOrrs.BOFThenExitSubIfrs.RecordCount>0Thenrs.MoveFirstIfrs.RecordCount>0Thenrs.MoveLastIfrs.EOFOrrs.BOFThenExitSubtxtClassRoom.Text=rs("ClassRtxtClassDate.Text=rs("ClassIfNotrs.EOFThenrs.MoveNextIfrs.EOFAndrs.RecordCount>0ThenEndIfIfNotrs.BOFThenrs.MovePreviousIfrs.BOFAndrs.RecordCount>0ThenEndIfDimcmdUpdateAsADDimstrSQL$,strClaIfrs.EOFOrrs.BOFThenExitSubstrClassRoom=Replace(TristrClassDate=Replace(TrIfstrClassRoom=""ThenMsgBox"上課教室沒(méi)有指定!",,"輸入錯(cuò)誤"ElseIfstrClassDate=""ThenMsgBox"上課時(shí)間沒(méi)有指定!",,"輸入錯(cuò)誤"IfcmbClass.ListCount>0ThencmbDimrsCourseAsADODBSetrsCourse=NewADODB.RecordsetIstCourse.AddltemrsCourse("CIflstCourse.ListCount>0ThenlstCourse.ListIfrs.State<>adStateClosedThenrs.ClosestrSQL="SELECTCourseSelect.ID,CourseName,ClassRostrSQL=strSQL&"WHERECourse.CourselD=CourseSelect.CourseID"strSQL=strSQL&"ANDCourseSelect.ClassID="&cmbClass.Text.Columns(1).Caption="課程名稱".Columns(2).Caption="上課地點(diǎn)".Columns(5).Caption="學(xué)時(shí)數(shù)".Columns(6).Caption="任課老師"SetrsClass=NewADODB.RecordsetstrSQL=strSQL&"WHERElblDepartName=rsClass(IblBeginDate=Str(rsClass("BEndIflblCount=Str(rsClassstrSQL="SELECT*FROMCourseWHERECourseID="&lstCourse.Text&";"rsCourse.OpenstrSQL,Conn,1,1IfNotrsCourse.EOFThenlblCredit=Str(rsCourseIblPeriod=Str(rsCourse("PIblTeacher=rsCourse("=EndIfPrivateSubrs_MoveComplete(ByValadReasonADODB.Error,adStatusAsADODB.EventStatusEnum,ByValpRecordsetAsADODB.Recordset)課程安排查詢:通過(guò)此界面查詢課程的安排:課程安排查詢02級(jí)信息管理1班代碼實(shí)現(xiàn):DimConnAsADODB.ConnectionDimWithEventsrsAsADODB.ReSetConn=NewADODB.ConDimrsCourseAsADODB.RecordsetSetrsCourse=NewADODB.RecordsetWhileNotrsCourse.EOFcmbCourse.AddltemrsCourIfcmbCourse.ListCount>0ThencmbCoDimrsCourseAsADODBSetrsCourse=NewADODB.RecordsetstrSQL="SELECT*FROMCourseWHERECoursIfNotrsCourse.EOFThenlblCredit=Str(rsCourselblPeriod=Str(rsCourse(IblTeacher=rsCourse(EndIfIfrs.State<>adStateClosedThenrs.strSQL="SELECTClassName,ClassRoom,ClassDate"strSQL=strSQL&"FROMCourseSelect,Class"strSQL=strSQL&"WHEREClass.ClassID=CourseSelect.ClassID"strSQL=strSQL&"ANDCourseSelect.CourseID='"'&cmbCourse.TextSetdgCourseSelect.Da課程名稱上課地點(diǎn)課程名稱上課地點(diǎn)上課時(shí)間學(xué)分學(xué)時(shí)數(shù)任課老師?數(shù)據(jù)結(jié)構(gòu)周二下午4譚有為計(jì)算機(jī)原理周一下午4張浩大學(xué)英語(yǔ)周三下午5王冰軟件工程周四下午4催冬華高等數(shù)學(xué)周四下午5張洪賓電子電工技術(shù)周五下午4李曉明鄧論周五上午3原林虎軍事基礎(chǔ)周四上午3東方c語(yǔ)言周三上午5劉玉海匯編周二上午4王躍龍周一上午5梁小生文學(xué)周一上午3朱慶芳班級(jí)編號(hào)退出Q)班級(jí)信息班級(jí)編號(hào)040201班主任趙成班級(jí)名稱02級(jí)信息管理1班入學(xué)日期2004-9-1所屬院系信息工程系人數(shù)5圖4-5班級(jí)課表界面代碼實(shí)現(xiàn):SetConn=NewADODB.ConneDimrsClassAsADODSetrsClass=NewADODB.RecordsetWhileNotrsClass.EOFcmbClass.AddItemrsCIfcmbClass.ListCount>0ThencmbClass.ListInDimrsClassAsADODSetrsClass=NewADODB.RecordsetstrSQL=strSQL&"WHEREClass.DepartID=Department.DepartID"strSQL=strSQL&"ANDClassID="'&cmbClass.Text&rsClass.OpenstrSQL,Conn,1,1IblDepartName=rsClass("D"";Ifrs.State<>adStateClosedThestrSQL="SELECTCourseSelect.ID,CourseName,ClassRoom,ClassDate,Credit,Period,TeacherstrSQL=strSQL&"WHEREC考試成績(jī)查詢選擇課程編號(hào)、開(kāi)課班級(jí)、能顯示相應(yīng)的班級(jí)信息,在此模塊可以添加和修改所選課程的成績(jī)。OO口區(qū)班級(jí)編號(hào)040201班級(jí)名稱02級(jí)信息管理1班所屬院系信息工程系班主任趙成姓名杜威趙鴨馬麗徐潔孫曉紅圖4-6考試成績(jī)管理界面課程信息學(xué)分4任課老師譚有為學(xué)號(hào)040201冊(cè)除①)學(xué)號(hào)考試成績(jī)管理代碼實(shí)現(xiàn):DimWithEventsrsAsADODimcmdUpdateAsADODB.CommandDimrsCheckAsADODB.RecordsetIfcmbCourse.ListIndex<0ThenMsgBox"請(qǐng)選擇一門課程!"EndIfIflstClass.ListIndex<0ThenMsgBox"請(qǐng)選擇一個(gè)班級(jí)!"EndIfstrStudentID=Replace(TrimtxtScore.Text=Replace(Trim(txtScoreIfstrStudentID=""ThenMsgBox"請(qǐng)輸入學(xué)生學(xué)號(hào)!",,"輸入錯(cuò)誤"ElselftxtScore.Text=""ThenMsgBox"請(qǐng)輸入考試成績(jī)!",,"輸入錯(cuò)誤"ElselfintScore<0OrintScore>100ThenMsgBox"考試成績(jī)輸入不合格,請(qǐng)重新輸入!",,"輸入錯(cuò)誤"EndIfIfrsCheck.EOFThenMsgBox"該該學(xué)生不屬于這個(gè)班級(jí)!"EndIfMsgBox"該生成績(jī)已經(jīng)錄入,不要重復(fù)輸入!"EndIfstrSQL=strSQL&"VALUES(""&cmbCourse.Text&"',"&SetcmdUpdate=NewADODB.DimcmdUpdateAsADIfrs.EOFOrrs.BOFThenExitSubSetcmdUpdate=NewADODB.CommandIfrs.RecordCount>0Thenrs.MoveFirstIfrs.RecordCount>0Thenrs.MoveLastIfrs.EOFOrrs.BOFThenExitSubtxtStudentID.Text=rs("StudenttxtScore.Text=Str(rs("ScoreIfNotrs.EOFThenrs.MoveNextIfrs.EOFAndrs.RecordCount>0ThenEndIfIfNotrs.BOFThenrs.MovePreviousIfrs.BOFAndrs.RecordCount>0ThenEndIfDimcmdUpdateAsADDimrsCheckAsADODIfcmbCourse.ListIndex<0ThenMsgBox"請(qǐng)選擇一門課程!"EndIfIflstClass.ListIndex<0ThenMsgBox"請(qǐng)選擇一個(gè)班級(jí)!"EndIfstrStudentID=Replace(TrimtxtScore.Text=Replace(Trim(txtScore.IfstrStudentID=""ThenMsgBox"請(qǐng)輸入學(xué)生學(xué)號(hào)!",,"輸入錯(cuò)誤"ElselftxtScore.Text=""ThenMsgBox"請(qǐng)輸入考試成績(jī)!",,"輸入錯(cuò)誤"ElselfintScore<0OrintScore>100ThenMsgBox"考試成績(jī)輸入不合格,請(qǐng)重新輸入!",,"輸入錯(cuò)誤"EndIfstrSQL=strSQL&"SETstrSQL=strSQL&"WHEREid="&rs("ID").ValueSetcmdUpdate=NewADODB.rsClass.OpenstrSQL,Conn,1,1IfNotrsClass.EOFThenlblClassName=rsClass(lblBeginDate=Str(rsClassEndIfstrSQL="SELECTCount"";rsClass.OpenstrSQL,Conn,1,1lblCount=Str(rsClass("StuSetrsClass=NewADODB.RecordsetstrSQL="SELECT*FROMCourseSelectWHERECourrsClass.OpenstrSQL,Conn,1,1IstClass.AddltemrsClass("ClassID").ValueIflstClass.ListCount>0ThenlstCla一個(gè)人信息性別男所屬院系信息工程系班主任趙成?44圖4-7學(xué)生成績(jī)查詢界面代碼實(shí)現(xiàn):DimConnAsADODB.ConnectionSetConn=NewADOIfrs.State

adStateClosedThenrs.CloseDimrsClassAsADODB.RecordsetIfrs.StateadStateClosedThenrs.ClosestrSQL="SELECTCourseName,Score,Credit,TeacherFROMstrSQL=strSQL&"WHEREScore.CourselD=Course.CourseID"strSQL=strSQL&"ANDScore.StudentID='"&t.Columns(1).Caption.Columns(3).Caption="任課老師"DimrsStudentAsADODSetrsStudent=NewADODB.RestrSQL="SELECTStudent.*,ClassNstrSQL=strSQL&"ANDClass.DstrSQL=strSQL&"ANDStudeIfNotrsStudent.EOFThenIblStudentID=rsStudent("StlblDepart=rsStudent("EndIfrsScore.OpenstrSQL,Conn,1,1lblMax=If(IsNull(rsScore("Max").Value),"",Str(rsSlblMin=IIf(IsNull(rsScore("Min").Value),"",Str(rsSlblBJG=If(IsNull(rsScore("BJG").Value),"",Str(rs此模塊用于班級(jí)成績(jī)分析,輸入班級(jí)的編號(hào),再選擇課程編號(hào)可以顯示班級(jí)的整個(gè)成績(jī)情況:用于班級(jí)評(píng)比:退出Q)學(xué)號(hào)姓名成績(jī)退出Q)學(xué)號(hào)姓名成績(jī)?杜威趙鵬馬麗徐潔課程名稱計(jì)算機(jī)原理圖4-8班級(jí)成績(jī)分析界面代碼實(shí)現(xiàn):Conn.OpenConnStringSetdgScore.DataSource=SetrsClass=NewADODB.RecordsetstrSQL="SELECT*FROMClass"cmbClass.AddltemrsCIfcmbClass.ListCount>0ThencmbrsCourse.OpenstrSQL,Conn,1,1lstCourse.AddItemrsCourseIflstCourse.ListCount>0ThenlstCoursIfrs.State

adStateClosedThenrs.ClosestrSQL="SELECTScore.ID,Score.StudentIstrSQL=strSQL&"WHEREStudent.strSQL=strSQL&"ANDScore.CourseIDstrSQL=strSQL&"ANDStudent.ClassID='"&cmbClass.Text&"".Columns(2).Caption.Columns(3).CaptionDimrsCourseAsADODBSetrsCourse=NewADODB.RecordsetstrSQL="SELECT*FROMCourseWHERECourseID='"&lstCourse.Text&";"IfNotrsCourse.EOFThenlblCourselD=rsCourse("IblCourseName=rsCourse("ColblCredit=Str(rsCourseEndIfDimrsCourseAsADODBSetrsCourse=NewADODB.RecordsetstrSQL="SELECTCount(*)asRS,Max(Score)asMax,Min(Score)asFROMScoreWHERECourseID='"&lstCIfNotrsCourse.EOFThenIfintRS>0ThenIblAvg=Str(rsCourseEndIfEndIfrsCourse.OpenstrSQL,Conn,1,1IfNotrsCourse.EOFAndintRS>0ThenEndIf用戶管理界面,可以管理用戶:學(xué)生管理員說(shuō)明用戶名圖4-9用戶管理界面代碼實(shí)現(xiàn):

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論