版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、<p> 學(xué)生綜合素質(zhì)管理系統(tǒng)的設(shè)計與實現(xiàn)</p><p><b> 序 言</b></p><p> 隨著人類社會進(jìn)入信息時代,計算機越來越多地活躍在社會各個領(lǐng)域:管理、網(wǎng)絡(luò)、計算、控制,多媒體等。并且在許多方面成為不可缺少的工具,尤其在管理方面,管理軟件的出現(xiàn)使大量繁瑣復(fù)雜的問題變得簡單易行。</p><p> 現(xiàn)今學(xué)校
2、的規(guī)模不斷擴大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成倍增長。面對龐大的信息量,需要有學(xué)生信息管理系統(tǒng)來提高學(xué)生管理工作的效率,通過這樣的系統(tǒng),可以做到信息的規(guī)范管理,科學(xué)統(tǒng)計和快速查詢,從而減少管理方面的工作量。</p><p> 第一章介紹了該課題的設(shè)計背景和設(shè)計目標(biāo),了解現(xiàn)在學(xué)生管理系統(tǒng)的發(fā)展和局限,以及這個系統(tǒng)開發(fā)的意義,從而完善學(xué)生系統(tǒng)的管理,使其有更多的應(yīng)用。</p><p&
3、gt; 第二章簡要介紹了該管理系統(tǒng)的開發(fā)環(huán)境,有硬件、軟件以及一些開發(fā)工具,主要運用的是微軟公司的Visual FoxPro 6.0中文版。</p><p> 第三章進(jìn)行系統(tǒng)總體設(shè)計,描述總體設(shè)計思想,系統(tǒng)功能總體設(shè)計,對系統(tǒng)設(shè)計方法進(jìn)行簡介。</p><p> 第四章對系統(tǒng)中部分重點功能模塊(比如系統(tǒng)登錄與主界面模塊、添加模塊、查詢模塊等)作了詳細(xì)具體的介紹,對設(shè)計實現(xiàn)的技術(shù)和部分
4、功能作了說明。</p><p> 第五章從系統(tǒng)的界面、模塊的完整性,功能的完善方面總結(jié)了該系統(tǒng)的優(yōu)點,以及還存在的問題。</p><p> 對學(xué)生信息,學(xué)科成績和獎罰情況等的管理是該系統(tǒng)的主要職能,通過系統(tǒng)可以對學(xué)生基本信息,學(xué)科成績和獎罰情況進(jìn)行添加和查詢。從系統(tǒng)的設(shè)計語言介紹開始,確定系統(tǒng)的設(shè)計,到模塊的劃分,再到數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計,最后開始每個模塊編程開發(fā),貫穿了該系統(tǒng)開發(fā)的全過程
5、。</p><p><b> 第1章 緒 論</b></p><p><b> 1.1 課題背景</b></p><p> 現(xiàn)在我國的大、中、小學(xué)校中檔案的管理水平還停留在紙介質(zhì)的基礎(chǔ)上,一直以來人們使用傳統(tǒng)人工的方式管理學(xué)生的基本檔案,這種管理方式存在著許多缺點:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件
6、和數(shù)據(jù),對于查找、更新和維護都帶來了不少的困難。這樣的機制已經(jīng)不能適應(yīng)時代的發(fā)展,因為它浪費了許多人力和物力,因此,許多學(xué)校需要一個功能全面的學(xué)生信息管理系統(tǒng)來進(jìn)行管理,以使管理學(xué)生信息的工作在該系統(tǒng)的配合下更加高效和便捷。</p><p> 作為計算機應(yīng)用的一部分,使用計算機對學(xué)生綜合素質(zhì)進(jìn)行管理,具有著手工管理所無法比擬的優(yōu)點。例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長,成本低等。這些優(yōu)
7、點能夠極大地提高學(xué)生綜合素質(zhì)管理的效率,也是學(xué)校的科學(xué)化,正規(guī)化管理與先進(jìn)科學(xué)技術(shù)接軌的重要條件。計算機信息管理技術(shù)的應(yīng)用,除了能在相當(dāng)大程度上代替人工作業(yè)、減少人員工作量、減輕工作負(fù)擔(dān)、減少工作失誤外,更重要的是能夠建立一個準(zhǔn)確、暢通、簡便的信息流通渠道,為工作提供所需要的準(zhǔn)確、即時的信息以幫助決策者作出正確而又及時的選擇和決定,從而給采用這門技術(shù)的學(xué)校帶來巨大的可見和不可見的方便。</p><p><b
8、> 1.2 課題目標(biāo)</b></p><p> 學(xué)生綜合素質(zhì)管理系統(tǒng)是典型的管理信息系統(tǒng)(MIS),它是一個學(xué)校管理學(xué)生檔案不可缺少的部分,它的內(nèi)容對于學(xué)校的管理者來說是至關(guān)重要的,所以學(xué)生綜合素質(zhì)管理系統(tǒng)應(yīng)該能夠為學(xué)校的管理者提供充足的信息和快捷的查詢手段。</p><p> 該系統(tǒng)主要做到如下幾點:</p><p> ?。?)首先要系統(tǒng)界
9、面美觀、大方、簡潔,讓人一目了然。并且不再需要大量的人員利用紙介質(zhì)對學(xué)生的基本檔案及學(xué)科成績和綜合素質(zhì)進(jìn)行管理,而只需一到二名檔案錄入員就可以對系統(tǒng)進(jìn)行操作,節(jié)省人力。</p><p> ?。?)利用管理系統(tǒng)對學(xué)生各項信息進(jìn)行管理,可以提高學(xué)生檔案的可靠性,由于系統(tǒng)設(shè)置了密碼登錄,所以其保密性好,還有壽命長、成本低等優(yōu)點。</p><p> ?。?)通過這個系統(tǒng)可以迅速查到所需查詢學(xué)生的綜
10、合素質(zhì)信息,以及該學(xué)生的基本信息,還有其學(xué)科成績。通過這樣的查詢,對學(xué)生的評定便不再單一的只是看他的成績,而是能綜合考慮到他各方面的情況,拋開了傳統(tǒng)的只考慮學(xué)生成績的思想,更有利于學(xué)生的發(fā)展,以及老師和學(xué)校對一個學(xué)生的認(rèn)識。</p><p> ?。?)相對于紙介質(zhì)而言,憑借計算機這么一個現(xiàn)代產(chǎn)物,做成一個學(xué)生管理系統(tǒng)可以存儲歷屆學(xué)生綜合素質(zhì)的信息,且安全、方便、高效。</p><p>
11、學(xué)生綜合素質(zhì)管理系統(tǒng)的實現(xiàn),讓學(xué)校對學(xué)生綜合素質(zhì)的考慮運用到了實際中,真正做到了對學(xué)生綜合素質(zhì)的考慮,而不僅僅局限于學(xué)生的成績。在信息技術(shù)飛速發(fā)展的今天,通過現(xiàn)代信息手段,對學(xué)生的管理不再是手工的操作,利用計算機進(jìn)行操作已經(jīng)成為必然的趨勢。開發(fā)功能的完善及安全可靠的管理系統(tǒng)大大提高了學(xué)校資源的利用率,及時、準(zhǔn)確地獲取需要的信息,充分發(fā)揮人員的工作潛力。</p><p> 第2章 系統(tǒng)設(shè)計技術(shù)簡介</p&
12、gt;<p> 在科學(xué)飛速發(fā)展的今天,數(shù)據(jù)信息的管理、操作與維護變得越來越重要。該管理系統(tǒng)在設(shè)計中,主要運用了項目管理器對整個系統(tǒng)中運用到的內(nèi)容進(jìn)行管理,使用表單設(shè)計器對界面進(jìn)行設(shè)計,對于數(shù)據(jù)和表之間的管理則用到了數(shù)據(jù)庫。</p><p><b> 2.1 VFP簡介</b></p><p> 微軟公司(Microsoft)的Visual FoxP
13、ro 6.0是Windows應(yīng)用程序開發(fā)工具,是易學(xué)易用的面向?qū)ο蟮年P(guān)系型數(shù)據(jù)庫系統(tǒng)的開發(fā)工具。Visual Foxpro 6.0提供了大量的控件,這些控件可用于設(shè)計界面和實現(xiàn)各種功能,減少了編程人員的工作量,也簡化了界面設(shè)計過程,從而有效的提高了應(yīng)用程序的開發(fā)效率、運行效率和可靠性。故而,開發(fā)本系統(tǒng),Visual FoxPro 6.0是一個相對較好的選擇。</p><p> Visual FoxPro 6.0
14、能夠管理大量復(fù)雜的數(shù)據(jù)信息,同時具有良好的安全性。使用結(jié)構(gòu)化查詢技術(shù),能夠從大量的數(shù)據(jù)中快速查詢需要的信息,具有很好的實時性。使用面向?qū)ο蟮拈_發(fā)技術(shù),能夠開發(fā)出功能強大的專門針對用戶的應(yīng)用程序。</p><p> Visual FoxPro與其他關(guān)系數(shù)據(jù)庫管理系統(tǒng)相比,其所提供的數(shù)據(jù)庫開發(fā)語言更加方便實用,特別是Visual FoxPro所提供的命令與函數(shù)既豐富又簡練,通過Vsuo提供的命令窗口可執(zhí)行這些命令或
15、調(diào)用這些函數(shù),再配合菜單操作,大大提高了用戶的工作效率。</p><p> Visual FoxPro 6.0中文版比較適合于中小型數(shù)據(jù)庫市場,對于記錄數(shù)小于1000000條的數(shù)據(jù)庫,Visual FoxPro 6.0無疑是最優(yōu)秀的選擇之一,其強大的功能主要表現(xiàn)在:能夠管理大量復(fù)雜的數(shù)據(jù)信息,同時具有很好的安全性;使用結(jié)構(gòu)化查詢技術(shù),能夠從大量的數(shù)據(jù)中快速查詢需要的信息,具有很好的實時性;具有較強的網(wǎng)絡(luò)功能,能
16、夠?qū)崿F(xiàn)數(shù)據(jù)的遠(yuǎn)程訪問和存儲加工;使用面向?qū)ο蟮拈_發(fā)技術(shù),能夠開發(fā)出功能強大的專門針對用戶的應(yīng)用程序,具有強大的API函數(shù)庫,支持ActiveX和OCX技術(shù),并且在某些功能不能實現(xiàn)時可以借助Visual Basic和Visual C++等其他工具輔助開發(fā);能夠快速、隨意地制作出用戶需要的各種形式的報表和標(biāo)簽;能夠方便地根據(jù)數(shù)據(jù)制作直方圖,餅圖等。</p><p> 2.2 項目管理器簡介</p>&
17、lt;p> VFP為開發(fā)人員提供了一個優(yōu)秀的工作平臺“項目管理器”,開發(fā)人員可使用“項目管理器”組織和管理項目中的文件。項目是文件、數(shù)據(jù)、文檔以及VFP對象的集合,項目文件以.pjx擴展名保存。當(dāng)激活“項目管理器”窗口時,VFP在菜單欄中顯示“項目”菜單,在這里能看到應(yīng)用程序的元素。</p><p> 在“項目管理器”中,以類似于大綱的形式組織各項,可以展開或折疊它們。在項目中,如果某類型數(shù)據(jù)項有一個或
18、多個數(shù)據(jù)項,則在其標(biāo)志前有一個加號。單擊標(biāo)志前的加號可查看此項的列表,單擊減號可折疊展開的列表。如果希望能夠把程序做成獨立性非常強的軟件,應(yīng)該盡可能把所需要的東西包括進(jìn)來。但是如果數(shù)據(jù)庫等包括進(jìn)來后,就不可以進(jìn)行更改了;否則更改時就會出現(xiàn)錯誤,設(shè)計的時候應(yīng)該特別關(guān)注這個問題。</p><p> 與工具欄類似,可以將“項目管理器”拖動到屏幕頂或雙擊標(biāo)題欄,從而停放“項目管理器”。“項目管理器”停放后,將自動折疊,
19、只顯示選項卡。</p><p> 有經(jīng)驗的軟件制作者設(shè)計一個應(yīng)用系統(tǒng)時,首先建立好一個項目,在以后的制作過程中再把所有零散的成分都納入此項目。項目管理器是整個應(yīng)用系統(tǒng)的大管家和承載平臺,軟件開發(fā)者隨時可以把制作過程中的成品或半成品交付其管理。</p><p> 通過“項目管理器”獲取要制作或要修改的各個制作成分,這些成分是以不同類型的文件體現(xiàn)的。項目管理器能把開發(fā)人員交付的文件管理得井
20、井有條,一目了然。交付“項目”管理的文件不要隨意從資源管理器中刪除,文件的添加和刪除均應(yīng)通過項目管理器實現(xiàn)。有了“項目”將為全系統(tǒng)完成后的匯編和編譯奠定基礎(chǔ)。</p><p> 項目管理器的功能和作用歸納起來,可以有以下幾方面:</p><p> ?。?)采用目錄樹結(jié)構(gòu)的形式,使項目中的內(nèi)容一目了然。</p><p> ?。?)提供基本功能按鈕,為新建、修改、增刪
21、、移去,以及調(diào)試、運行項目中的相關(guān)內(nèi)容,提供了方便。</p><p> ?。?)支持項目建立數(shù)據(jù)詞(字)典,使數(shù)據(jù)庫表在功能上大大強于自由表。</p><p><b> 2.3 數(shù)據(jù)庫簡介</b></p><p> Visual FoxPro 6.0的“真諦”當(dāng)然是對數(shù)據(jù)庫、數(shù)據(jù)表的處理和管理。只有當(dāng)開發(fā)項目的管理對象是大量數(shù)據(jù)時,VFP才
22、可能成為眾多軟件開發(fā)工具的首選。</p><p> VFP“最拿手”的便是對數(shù)據(jù)庫和表的處理和管理,用戶處理的數(shù)據(jù)以記錄的方式存儲于表中;表又可由數(shù)據(jù)庫統(tǒng)一管理。</p><p> VFP中數(shù)據(jù)庫的概念不同F(xiàn)oxBASE或FoxPro,在VFP中數(shù)據(jù)庫是一個邏輯上的概念,通過一組系統(tǒng)文件將相互關(guān)聯(lián)的數(shù)據(jù)表及其數(shù)據(jù)庫對象組織起來,成為擴展名為.dbc的數(shù)據(jù)庫文件、擴展名為.dct的數(shù)據(jù)庫
23、備注文件和擴展名為.dcx的數(shù)據(jù)庫索引文件,三個文件一般不能直接使用,而是交由VFP數(shù)據(jù)庫統(tǒng)一管理。</p><p> VFP把.dbf文件稱為“數(shù)據(jù)表”,不納入數(shù)據(jù)庫管理的表稱為“自由表”。開發(fā)時可以把數(shù)據(jù)表添加到數(shù)據(jù)庫中成為數(shù)據(jù)表,也可以把數(shù)據(jù)表從數(shù)據(jù)庫中移出成為自由表。</p><p> 數(shù)據(jù)是應(yīng)用程序的操作對象,程序說到底可以看成對數(shù)據(jù)流的控制。因此若要創(chuàng)建高效的應(yīng)用程序,必須
24、首先分析數(shù)據(jù)需求,確定建立數(shù)據(jù)庫的目的,然后設(shè)計相應(yīng)的數(shù)據(jù)庫、表和索引,以滿足這些需求。</p><p> 在VFP中,可以使用數(shù)據(jù)庫組織和建立表與視圖間的關(guān)系。數(shù)據(jù)庫不但提供了存儲數(shù)據(jù)的結(jié)構(gòu),而且還有很多其他的好處。在使用數(shù)據(jù)庫時,可以在表一級進(jìn)行功能擴展,例如創(chuàng)建字段級規(guī)則和記錄級規(guī)則、設(shè)置默認(rèn)字段值和觸發(fā)器等,還可以創(chuàng)建存儲過程和表之間的永久關(guān)系。</p><p> 在這里要注意
25、的是,“數(shù)據(jù)庫”和“表”不是同義詞。“數(shù)據(jù)庫”(.dbc文件)指的是關(guān)聯(lián)的數(shù)據(jù)庫,它是一個或多個表(.dbf文件)或視圖信息的容器。通過將信息拆分入表,來增加數(shù)據(jù)庫的靈活性。</p><p><b> 2.4 表單簡介</b></p><p> Visual FoxPro 是Windows系統(tǒng)平臺上的信息管理系統(tǒng)開發(fā)工具,為了便于構(gòu)造應(yīng)用程序窗口,提供了表單設(shè)計器
26、。表單(Form)類似于進(jìn)行Windows操作時的應(yīng)用程序窗口,提供了程序與用戶間交互的界面。在Visual FoxPro應(yīng)用程序中,表單為數(shù)據(jù)庫信息的顯示、輸入和編輯提供了非常方便的方法。</p><p> 表單是一種容器,它包容其他相類似的Visual FoxPro基類。例如,一個表單類中可以包含一組控件類,可以將這些控件作為一個整體利用表單來進(jìn)行操作。一般可以使用表單設(shè)計器的表單控件工具欄在表單上繪制在V
27、isual FoxPro中所包括的例如復(fù)選框、文本框、標(biāo)簽、線條、圖像、形狀等控件。利用這些控件,可以在表單上顯示數(shù)據(jù),執(zhí)行操作,從而可以簡化編程。另一方面,表單又是一個或多個頁面的集合,它類似標(biāo)準(zhǔn)窗口或?qū)υ捒颉?lt;/p><p> 基于現(xiàn)在開發(fā)工具的先進(jìn)性,對于表單的設(shè)計可以采用表單生成器和表單設(shè)計器。</p><p> 表單生成器也是進(jìn)行表單設(shè)計的工具,可以利用表單生成器來設(shè)計表單,
28、就像用表單向?qū)碓O(shè)計表單一樣。使用表單生成器是向表單中添加字段的一種快捷方法,如果在表單中已有了字段,可以按已有字段的樣式向表單添加字段,也可以為要加進(jìn)表單的字段選擇不同的數(shù)據(jù)源。這樣可以很方便地把其他表或視圖中的字段加進(jìn)表單中。但是用表單生成器來設(shè)計的表單一般很難滿足用戶的要求,用戶不得不借助于表單設(shè)計器來修改表單。</p><p> 雖然有很多種方法來設(shè)計表單,但是用表單設(shè)計器來進(jìn)行表單設(shè)計是最明智的選擇。
29、表單設(shè)計器提供進(jìn)行表單設(shè)計的最強方式,在表單設(shè)計器中可以盡量發(fā)揮智慧,設(shè)計出最具有個性的表單,為用戶的應(yīng)用程序添加光彩。該學(xué)生綜合素質(zhì)管理系統(tǒng)便是使用表單設(shè)計器來設(shè)計界面的,這樣更加美觀,實用,符合自己個人的要求。在使用表單設(shè)計器設(shè)計表單時,主要運用到了:向表單添加控件對象和類,以及設(shè)置各控件對象的屬性并在對象的事件中編寫程序代碼。</p><p> 在Visual FoxPro中表單是一個可處理的對象,它有自
30、己的屬性、事件和方法。通過設(shè)置表單的屬性,響應(yīng)表單的事件,執(zhí)行表單的代碼,就可以完成較強功能的應(yīng)用程序設(shè)計??傊?,表單是應(yīng)用程序設(shè)計的核心。</p><p> 第3章 系統(tǒng)總體設(shè)計</p><p> 在系統(tǒng)總體設(shè)計中,主要介紹了該系統(tǒng)的設(shè)計思想,以及系統(tǒng)的各個組成模塊和各個模塊的基本功能,同時對各個模塊之間的關(guān)系也做了一些簡要的介紹,并介紹各個表的建立與表之間的聯(lián)系。</p>
31、;<p> 3.1 系統(tǒng)設(shè)計思想</p><p> 在制作系統(tǒng)之前首先應(yīng)該考慮系統(tǒng)的內(nèi)容,包括系統(tǒng)的功能和用戶的需求,整個設(shè)計都應(yīng)該圍繞這些方面來進(jìn)行。然后根據(jù)需求分析規(guī)劃系統(tǒng)的主要功能和模塊,例如系統(tǒng)的結(jié)構(gòu)、模塊的設(shè)置、系統(tǒng)的風(fēng)格、顏色搭配、界面布局、文字圖片的運用等等,這一步驟是系統(tǒng)設(shè)計中的關(guān)鍵。具體實現(xiàn)過程中可以根據(jù)需要靈活運用多種制作工具軟件,按照先大后小、先簡單后復(fù)雜的原則進(jìn)行制作。所
32、謂先大后小,就是在制作系統(tǒng)時,先把大的結(jié)構(gòu)設(shè)計好,然后再逐步完善小的結(jié)構(gòu)設(shè)計。所謂先簡單后復(fù)雜,就是先設(shè)計出簡單的內(nèi)容,然后再設(shè)計復(fù)雜的內(nèi)容,以便出現(xiàn)問題時容易修改。</p><p> 圖3-1 系統(tǒng)總體設(shè)計框圖</p><p> 本系統(tǒng)利用項目管理器把使用的所有文件有效地組織和管理起來,這些文件包括表單、數(shù)據(jù)庫、表、報表、標(biāo)簽、查詢、菜單等不同類型的文件。建立好一個項目,在以后的制
33、作過程中再把所有零散的成分都納入此項目。項目管理器是整個應(yīng)用系統(tǒng)的大管家和承載平臺,軟件開發(fā)者隨時可以把制作過程中的成品或半成品交付其管理。通過“項目”獲取要制作或要修改的各個制作成分,這些成分是以不同類型的文件體現(xiàn)的。項目管理器能把開發(fā)人員交付的文件管理得井井有條,一目了然。</p><p> 對于系統(tǒng)中的各個界面,是通過一個個“表單”來體現(xiàn)的,最開始的表單應(yīng)通過設(shè)計的主標(biāo)題明確制作的是什么系統(tǒng),通過副標(biāo)題明
34、確該系統(tǒng)的設(shè)計單位或設(shè)計人。“表單”是項目中的一項,借此能完善可視化窗體設(shè)計。依次運行一個個表單就展示了應(yīng)用界面的全貌。有了表單就有了承載不同控件的平臺,就好比畫家有了可展現(xiàn)才華的宣紙,設(shè)計者可以根據(jù)自己的慧眼,制作獨具特色的應(yīng)用系統(tǒng)。本系統(tǒng)還采用了模塊化設(shè)計思想,大大提高了設(shè)計的效率,在設(shè)計工作中要確定整個系統(tǒng)的功能模塊以及數(shù)據(jù)庫的結(jié)構(gòu)。</p><p> 3.2 系統(tǒng)模塊設(shè)計</p><
35、p> 按照系統(tǒng)開發(fā)的基本觀點對系統(tǒng)進(jìn)行設(shè)計。本系統(tǒng)是一個對學(xué)生綜合素質(zhì)進(jìn)行管理的系統(tǒng),除了一般學(xué)生管理系統(tǒng)的基本功能要具備外,還有一些不同的地方。比如與一般的學(xué)生管理系統(tǒng)相比,本系統(tǒng)增加了對學(xué)生獎罰情況的考慮,目的是為了更好的綜合的去看一個學(xué)生。在本系統(tǒng)的設(shè)計中,從系統(tǒng)主界面便可看到該系統(tǒng)具有的模塊,界面清晰美觀,使得第一次使用該系統(tǒng)的用戶便能很方便的操作,快速地找到需要的功能模塊,完成必要的操作。為防止不必要的麻煩,該系統(tǒng)設(shè)有
36、密碼,增強了系統(tǒng)的安全性。</p><p> 在系統(tǒng)分析的基礎(chǔ)上,結(jié)合操作上的方便性,學(xué)生綜合素質(zhì)管理系統(tǒng)應(yīng)用程序包括系統(tǒng)主界面和添加、查詢幾大功能模塊,該系統(tǒng)考慮將整個系統(tǒng)分解成如圖3-2系統(tǒng)模塊結(jié)構(gòu)圖:</p><p> 圖3-2 系統(tǒng)模塊結(jié)構(gòu)圖</p><p> 并且在系統(tǒng)的開發(fā)過程中,盡量注意模塊的高內(nèi)聚、低耦合,提高系統(tǒng)整體性能。</p>
37、;<p> 系統(tǒng)主模塊提供了學(xué)生綜合素質(zhì)管理的主界面,作為進(jìn)入系統(tǒng)的唯一出入口。在系統(tǒng)主界面中,不僅提供了用于調(diào)用系統(tǒng)各功能模塊的操作方法,而且還需要對使用系統(tǒng)的用戶進(jìn)行合法性檢驗等操作。</p><p> 學(xué)校每年要添加新生記錄,所以添加模塊必不可少,在這里主要添加的是學(xué)生信息,學(xué)生的學(xué)科成績以及獎勵記錄這些部分,為防止數(shù)據(jù)丟失或有錯誤,在這部分考慮到對數(shù)據(jù)進(jìn)行備份。</p>&
38、lt;p> 查詢學(xué)生信息,學(xué)科成績和獎勵記錄這幾個部分提供了用于對數(shù)據(jù)進(jìn)行查詢操作的操作界面,用戶根據(jù)查詢目標(biāo)選擇相應(yīng)的查詢對象,如學(xué)生的基本信息、學(xué)生的學(xué)科成績、獎罰記錄,然后指定相應(yīng)的查詢依據(jù),查詢相關(guān)的數(shù)據(jù)信息。</p><p> 3.3 系統(tǒng)數(shù)據(jù)庫設(shè)計</p><p> 數(shù)據(jù)庫是一種存儲數(shù)據(jù)并對數(shù)據(jù)進(jìn)行操作的工具,數(shù)據(jù)庫的作用在于組織和表達(dá)信息。進(jìn)行數(shù)據(jù)庫的設(shè)計之前,往
39、往要在需求分析的基礎(chǔ)上,設(shè)計出能夠滿足用戶針對學(xué)生綜合素質(zhì)管理需要的各種實體以及它們之間的關(guān)系,為數(shù)據(jù)庫的邏輯結(jié)構(gòu)和無力結(jié)構(gòu)設(shè)計打下基礎(chǔ)。</p><p> 數(shù)據(jù)庫分為非關(guān)系數(shù)據(jù)庫(flat-file)和關(guān)系數(shù)據(jù)庫(relational)。關(guān)系數(shù)據(jù)庫中包含了多個數(shù)據(jù)表的信息,數(shù)據(jù)庫含有各個不同部分的術(shù)語,象記錄、域等。在該系統(tǒng)中,運用到的就是關(guān)系數(shù)據(jù)庫。 </p><p> 綜合考慮現(xiàn)
40、代教學(xué)部門特別是中小學(xué)院校的實際情況,學(xué)生綜合管理系統(tǒng)通常包括學(xué)生基本信息管理、學(xué)科管理、獎罰管理等。設(shè)計學(xué)生綜合管理系統(tǒng)的目的就是利用計算機的快速查詢和添加功能,替代管理人員對數(shù)據(jù)的手工處理。特別是這個系統(tǒng)不僅從學(xué)生的學(xué)科成績來考慮,還考慮到學(xué)生的綜合素質(zhì)。</p><p> 創(chuàng)建任何一個數(shù)據(jù)庫的第一步是仔細(xì)的規(guī)劃數(shù)據(jù)庫,設(shè)計必須是靈活的、有邏輯的。創(chuàng)建一個數(shù)據(jù)庫結(jié)構(gòu)的過程被認(rèn)為是數(shù)據(jù)模型設(shè)計。根據(jù)學(xué)校的教務(wù)
41、人員提供的學(xué)生綜合素質(zhì)管理的信息,在這個系統(tǒng)中,需要學(xué)生基本信息、學(xué)生的學(xué)科成績、學(xué)生獎罰記錄。</p><p> 對于學(xué)生基本信息,需要收集學(xué)生的學(xué)號、姓名、性別、民族、專業(yè)、系別;對于學(xué)生學(xué)科成績,需要收集學(xué)生的學(xué)號、科目、成績,學(xué)期這些字段;學(xué)生獎罰記錄,需要收集包括學(xué)號、獎罰成績、獎罰原因、獎罰日期。</p><p> 查詢學(xué)生基本信息,可由學(xué)號、姓名、民族、專業(yè)、系別來對學(xué)生
42、基本情況表進(jìn)行篩選。</p><p> 在該系統(tǒng)中,其主關(guān)鍵字段就是學(xué)生的學(xué)號。</p><p> 數(shù)據(jù)庫之間的關(guān)系指明兩個庫之間共享一個共同的關(guān)鍵字值。一個連接是指一種虛擬的表,這種表是在當(dāng)用戶要求從相互關(guān)聯(lián)的各個不同的表中獲取信息時建立的,關(guān)鍵字段用于在相互連接的不同表中查找匹配的記錄。一個更高級的連接形式稱為自連接。這種連接是指一個表被連接到它自己的一個字段,或在不同的記錄中由重
43、復(fù)數(shù)據(jù)的組合字段。數(shù)據(jù)庫中有三種不同類型的關(guān)鍵字:主關(guān)鍵字、組合關(guān)鍵字和外關(guān)鍵字。在表中使用的關(guān)鍵字類型用于描述庫表示什么,以及在數(shù)據(jù)庫中如何與其它的庫建立關(guān)系。</p><p> 表3-1 獎罰明細(xì)表</p><p> 這張表的字段有學(xué)號、獎罰日期、獎罰原因、序號,與獎罰目錄表連接起來,可以明顯的看出是哪個學(xué)生,因為什么事情獎罰,獎罰的日期是多少號,以及該件事情的獎罰成績,并用序號
44、標(biāo)明。</p><p> 表3-2 課程情況表</p><p> 依據(jù)這張表可以簡單明了的看出學(xué)生的學(xué)號,學(xué)科是哪一門,該門學(xué)科的成績,以及是具體哪個學(xué)期的成績。</p><p> 表3-3 學(xué)生基本情況表</p><p> 既然稱其為基本情況表,根據(jù)這張表,可以了解到學(xué)生很基本的信息,比如學(xué)號、姓名、性別、民族、所學(xué)專業(yè)以及該學(xué)
45、生所在的系別。</p><p> 這些表的調(diào)用和聯(lián)系可以在界面的按鈕事件中,利用編寫代碼的方式來實現(xiàn)。</p><p><b> 比如:</b></p><p> use 學(xué)生基本情況表.dbf </p><p> locate for 學(xué)號=thisform.text1.value </p>
46、;<p> if eof() </p><p> append blank</p><p> 調(diào)用學(xué)生基本情況表,令其按順序搜索表從而找到滿足學(xué)號等于文本框1的值的第一個記錄,如果記錄指針指向文件尾。</p><p> repl 學(xué)號 with thisform.text1.value </p><p>
47、 repl 姓名 with thisform.text2.value</p><p> repl 性別 with alltrim(thisform.combo2.value) </p><p> repl 民族 with alltrim(thisform.combo1.value) </p><p> repl 專業(yè) with alltrim(thisfor
48、m.combo3.value) </p><p> repl 系別 with alltrim(thisform.combo4.value)</p><p> 這段代碼實現(xiàn)用學(xué)號、姓名、性別、名族、專業(yè)、系別字段里的內(nèi)容來代替文本框1、文本框2、組合框2、組合框1、組合框3、組合框4的值。</p><p> 第4章 系統(tǒng)主要功能設(shè)計</p><
49、;p> 在一個系統(tǒng)的設(shè)計過程中,系統(tǒng)的主要功能模塊設(shè)計是一個很重要的環(huán)節(jié),這其中主要是對系統(tǒng)中的重要模塊的實現(xiàn)過程進(jìn)行描述。在這個學(xué)生綜合素質(zhì)管理系統(tǒng)中,主要有登陸與主界面模塊的設(shè)計,添加模塊和查詢模塊這幾個功能模塊。</p><p> 4.1 登錄與主界面模塊設(shè)計</p><p> 這部分主要包括登錄模塊和主界面模塊設(shè)計。對一個系統(tǒng)來說,用戶登錄模塊是必須的,為了保證系統(tǒng)的安
50、全運行,只有知道系統(tǒng)密碼的用戶后才能實現(xiàn)信息的添加,信息查詢等操作。在登錄界面中的文本框內(nèi)輸入密碼,如果密碼正確,則出現(xiàn)主界面:</p><p> 圖4-1 系統(tǒng)主界面圖</p><p> 整個學(xué)生綜合素質(zhì)管理系統(tǒng)采用藍(lán)色做底色,通過“標(biāo)簽”按鈕在最醒目的位置寫出主標(biāo)題“學(xué)生綜合素質(zhì)管理系統(tǒng)”,讓人清楚的看到這個系統(tǒng)的名稱,在左下角有副標(biāo)題為“學(xué)生綜合素質(zhì)管理系統(tǒng) V1.0”。并將原
51、本做上角的表單標(biāo)題“Form1”改為“學(xué)生綜合素質(zhì)管理系統(tǒng)”。在這個主界面上可以明顯看出本系統(tǒng)有那些功能,簡明,清晰。在界面上添加了一副圖片,不至于讓主界面看起來太空洞,但也沒有添加很花俏的圖片,給人感覺干凈,顏色搭配協(xié)調(diào)。整個系統(tǒng)主界面給人的感覺是簡潔大方,整體結(jié)構(gòu)布局合理,點擊各個按鈕用戶便可進(jìn)入自己要的功能模塊,又能方便地返回,整體色調(diào)適宜而統(tǒng)一的,有鮮明的個性,讓使用者感覺非常舒服。</p><p>
52、登陸界面中的接受輸入口令的文本框,需要設(shè)置“PasswordChar”屬性為“*”,有了此設(shè)置,系統(tǒng)接受用戶輸入時會以“*”作為掩碼顯示,從而真正的密碼不會被旁觀者看到。該系統(tǒng)的密碼登錄主要是用“口令字表”完成用戶口令的確定,并使用系統(tǒng)提供的MessageBox函數(shù)顯示登錄成功與否的提示,具體實現(xiàn)方式是通過編寫“確定”按鈕的Click事件代碼實現(xiàn)的。</p><p><b> use tjk</
53、b></p><p> repl all 當(dāng)前用戶 with .f.</p><p> locate for thisform.text1.value=</p><p> 該段代碼主要是利用口令字表,接著置所有“當(dāng)前用戶”值為.f.,也就是設(shè)置當(dāng)前只有一個用戶,然后在口令字表中查找與文本框一致的口令密碼。</p><p> if
54、 found()</p><p> replace 當(dāng)前用戶 with .t.</p><p> thisform.release</p><p> 如果能找到則繼續(xù)操作,置與口令字對應(yīng)的“當(dāng)前用戶”為.t.,并釋放當(dāng)前的口令字表,進(jìn)入主界面表單。在這里要說明的是,主界面表單需要建好后才可以使用。</p><p><b>
55、Else</b></p><p> thisform.text1.passwordchar=’’</p><p> thisform.text1.value=‘密碼錯誤’</p><p><b> =inkey(2)</b></p><p> 如果不成立,去除掩碼“*”,以便顯示出漢字,相應(yīng)地在文本框
56、顯示出“密碼錯誤”,等待2秒鐘的時間,以便用戶可以看清文本顯示。</p><p> thisform.text1.value=’’</p><p> thisform.optiongroup1.value=0</p><p> thisform.text1.setfocus</p><p> thisform.text1.passwo
57、rdchar=’*’</p><p><b> endif</b></p><p> 接著清除文本框內(nèi)容,讓“確認(rèn)”按鈕彈起,并且光標(biāo)定位在文本框,重新置掩碼“*”,最后結(jié)束命令,關(guān)閉口令字表。</p><p> 有了對當(dāng)前用戶的確認(rèn)(口令字表中“當(dāng)前用戶”字段為.t.),對有訪問權(quán)限限定的某個或某些表單(如數(shù)據(jù)錄入表單),在用戶調(diào)用表單
58、前,就可知道當(dāng)前用戶的訪問權(quán)限或是否為錄入員,以決定是否允許訪問表單,或僅允許以“只讀”方式訪問。系統(tǒng)可依據(jù)口令字表的信息給出提示,或作出限制。</p><p> “退出”按鈕的Click事件代碼為:</p><p> CLOSE DATABASES ALL</p><p><b> 關(guān)閉所有的數(shù)據(jù)表</b></p><
59、;p> THISFORM.RELEASE</p><p> RELEASE ALL </p><p> clea events</p><p> THISFORM.RELEASE這句命令的含義是釋放當(dāng)前表單。</p><p> 完善的應(yīng)用系統(tǒng)要允許用戶在他認(rèn)為必要時修改自己的口令。修改口令字段是進(jìn)入系統(tǒng)后的任選操作,一般
60、需在適當(dāng)?shù)捻撁嫣峁┮粋€“修改密碼”的按鈕,通過這個按鈕調(diào)用相應(yīng)的表單。修改密碼可能出現(xiàn)四種情況:</p><p> 第一種情況:兩次輸入的新密碼不一致,應(yīng)提示用戶重新輸入;</p><p> 第二種情況:兩次輸入的新密碼一致,但是舊密碼輸入錯誤,重新輸入;</p><p> 第三種情況:兩次新密碼一致,且舊密碼輸入正確,修改有效,保存新密碼(替換舊密碼);&l
61、t;/p><p> 第四種情況:用戶自動放棄修改,仍舊使用舊密碼。</p><p> 和系統(tǒng)登錄一樣,密碼修改也是用“口令字表”完成用戶口令的修改,并使用系統(tǒng)提供的MessageBox函數(shù)現(xiàn)實登錄成功與否的提示,messagebox()是用來顯示提示窗口用的,它有兩個參數(shù)第一個是顯示提示內(nèi)容,第二個是顯示窗口的標(biāo)題,具體實現(xiàn)方式是通過編寫“確定修改”按鈕的Click事件代碼實現(xiàn)的。<
62、/p><p> use tjk.dbf </p><p> key22=key1 </p><p> 使用口令字表表,使變量key22的值等于口令字表中kye1的值,也就是之前所設(shè)密碼的值。</p><p><b> use</b></p><p> if thisform.
63、text3.value=key22 </p><p> if thisform.text1.value=thisform.text2.value </p><p> 這兩句是說,如果文本框3的值等于變量key22的值,并且如果文本框1的值等于文本框2的值,那么繼續(xù)以下部分。 </p><p> use tjk.dbf </p><
64、p> repl key1 with thisform.text1.value </p><p> messagebox("修改完畢!","提示窗口") </p><p> thisform.re
65、lease </p><p> 使用tjk表,用key1來代替文本框1的值,即第三種情況彈出提示窗口,窗口里顯示修改完畢!最后釋放該窗體。</p><p> else </p><p> messagebox("兩次輸入密碼不等!請檢查!&qu
66、ot;,"提示窗口") </p><p> endif </p><p> if語句是條件判斷語句,if后面的條件成立就執(zhí)行條件后面的語句,如果不成立就執(zhí)行else后面的語句 endif為if語句的結(jié)束語句</p><p> else
67、 </p><p> messagebox("舊密碼錯誤!請檢查!","提示窗口") </p><p> thisform.text3.setfocus &&文本框3得到焦點,焦點就是鼠標(biāo)光標(biāo)所在的位置</p><p> endif </p><p&g
68、t; 若兩次輸入的密碼不一樣,則是第一種情況,便會彈出提示窗口,窗口里顯示“兩次輸入密碼不等!請檢查”。遇到第二種情況,即舊密碼錯誤,則彈出提示窗口,顯示“舊密碼錯誤!請檢查”。在最后,if語句結(jié)束先判斷原密碼是否正確,然后再進(jìn)行修改。</p><p> 代碼中出現(xiàn)的“thisform.text3.setfocus”是指,文本框3得到焦點,焦點就是鼠標(biāo)光標(biāo)所在的位置。</p><p>
69、 在整段程序代碼中,可以看到主要的判斷是以if語句實現(xiàn)的,if是條件判斷語句,if后面的條件成立就執(zhí)行條件后面的語句,如果不成立就執(zhí)行else后面的語句,endif為if語句的結(jié)束語句。</p><p> 系統(tǒng)的主界面,是整個系統(tǒng)的門戶,主界面的風(fēng)格,是系統(tǒng)風(fēng)格的總體體現(xiàn),對系統(tǒng)的推廣和發(fā)展起著重要的作用。系統(tǒng)的主界面應(yīng)該是一個信息含量較高,內(nèi)容較清晰的直觀平臺——既可以展現(xiàn)自己,又可以讓用戶使用方便。本系統(tǒng)
70、的主界面結(jié)構(gòu)清晰、內(nèi)容豐富,達(dá)到了很好的學(xué)生綜合素質(zhì)管理作用。</p><p> 4.2 添加模塊的設(shè)計與實現(xiàn)</p><p> 信息的添加對一個系統(tǒng)來說是必不可少的一部分,可以利用添加模塊添加學(xué)生的基本信息,他們的學(xué)科成績以及該系統(tǒng)最具特色的學(xué)生的獎罰情況。以添加學(xué)生基本情況為例,每所學(xué)校在每個學(xué)期都會有新生進(jìn)入,必定需要添加新生記錄,一般來說主要添加的是學(xué)生的學(xué)號、姓名、名族、專業(yè)
71、等相關(guān)信息,方便用戶了解學(xué)生的基本情況。</p><p> 添加模塊界面包括的控件有標(biāo)簽、文本框、組合框、命令按鈕。功能是提示用戶輸入學(xué)生的詳細(xì)信息和備份已經(jīng)輸入的學(xué)生信息、學(xué)科成績和獎罰情況,在此我們以登記學(xué)生基本信息為例進(jìn)行詳細(xì)講述。</p><p> 圖4-2 登記學(xué)生基本信息界面圖</p><p> 第一步將所需的控件放到表單的相應(yīng)位置,方法:首先在
72、“表單控件”工具欄先選中所需的控件圖件,然后在表單的恰當(dāng)位置上單擊鼠標(biāo)并拖動鼠標(biāo),即可把由所選取的控件生成的對象添加到表單上,此時,在屬性窗口里顯示了該控件對象的所有屬性、事件。</p><p> 第二步雙擊相應(yīng)的控件,在控件的相應(yīng)過程中編寫程序。</p><p> if this.listcount>=1</p><p> for i=1 to thi
73、s.listcount</p><p> this.removelistitem(i)</p><p><b> endfor</b></p><p><b> endif</b></p><p> endif程序段的作用是判斷組合框中是否有列表項;</p><p>
74、 endfor的作用是將現(xiàn)有的列表框全部移除;涉及組合框的兩個重要屬性:listcount統(tǒng)計組合框的成員個數(shù);removelistitem(i)移除組合框的第i個成員。</p><p> do while .not. eof()</p><p> this.additem(民族)</p><p><b> skip</b></p
75、><p> enddo程序段的作用是將民族庫(mzk.dbf)中的所有記錄添加到組合框中,使用的一個重要屬性是additem(字符串)。</p><p> 按鈕的作用是進(jìn)行字典維護,如果在錄入的過程中遇到一個少數(shù)民族在組合框中沒有,開發(fā)者便可以點按此按鈕進(jìn)行民族庫的維護,可以增加民族也可修改民族等。</p><p> 圖4-3 字典維護表圖</p>
76、<p> 此按鈕的click過程如下:</p><p> use mzk.dbf</p><p> dele for 民族=" "</p><p><b> pack</b></p><p> append blank</p><p><b>
77、 use</b></p><p> km="mzk.dbf"</p><p> do form 詞典維護.scx</p><p> 此段代碼主要意義是,使用民族庫,從備注文件中刪除為使用控件,但不從表中刪除標(biāo)有刪除標(biāo)記的記錄,使km=mzk.dbf,最后運行詞典維護。</p><p> 添加學(xué)生基本信息
78、放進(jìn)庫中,并繼續(xù)錄入的過程的實現(xiàn),是通過編寫“添加入庫并繼續(xù)錄入”按鈕的click事件?,F(xiàn)對該段代碼進(jìn)行講述:</p><p> locate for 學(xué)號=thisform.text1.value </p><p><b> if eof() </b></p><p> 按順序
79、搜索表從而找到滿足學(xué)號等于文本框1的值的第一個記錄,如果記錄指針指向文件尾。</p><p> append blank</p><p> repl 學(xué)號 with thisform.text1.value </p><p> repl 姓名 with thisform.text2.value </p><p> 用學(xué)號、姓
80、名字段里的內(nèi)容來代替文本框1、文本框2的值。</p><p> repl 性別 with alltrim(thisform.combo2.value) </p><p> 用性別字段里的內(nèi)容來代替組合框2的值。</p><p> repl 民族 with alltrim(thisform.combo1.value) </p><p>
81、; 用民族字段里的內(nèi)容來代替組合框1的值。</p><p> repl 專業(yè) with alltrim(thisform.combo3.value) </p><p> 用專業(yè)字段里的內(nèi)容來代替組合框3的值。</p><p> repl 系別 with alltrim(thisform.combo4.value) </p><p>
82、; 用系別字段里的內(nèi)容來代替組合框4的值,代替組合框與代替文本框不同,編寫代碼的時候需要注意。</p><p><b> use</b></p><p> thisform.text1.value="" </p><p> thisform.text2.value="" </p>&
83、lt;p> thisform.combo1.value="" </p><p> thisform.combo2.value="" </p><p> thisform.combo3.value="" </p><p> thisform.combo4.value="" &
84、lt;/p><p> 這些代碼是設(shè)置文本框1、文本框2、組合框1、組合框2、組合框3、組合框4的值為空。</p><p> messagebox("已入庫,點<確定>繼續(xù)錄入學(xué)生基本情況!","繼續(xù)錄入") </p><p> thisform.text1.setfocus</p><p&g
85、t;<b> else</b></p><p> messagebox("該學(xué)號已經(jīng)存在,請檢查學(xué)號!","提示") </p><p><b> endif</b></p><p><b> else</b></p>&
86、lt;p> messagebox("學(xué)號/姓名不能為空!","確認(rèn)窗口") </p><p><b> endif </b></p><p> 首先判斷學(xué)號欄與姓名欄是否為空,如果不為空,則到庫中尋找有沒有該學(xué)號的學(xué)生,如果沒有,則新增記錄,如有則提示用戶該學(xué)生已存在,如果學(xué)號/姓名欄為空,則提示用戶學(xué)號/姓名不
87、能為空。</p><p> 其中判斷學(xué)號欄與姓名欄是否為空,用的是函數(shù)len(),尋找某學(xué)號的學(xué)生,用的是locate for語句。提示信息用的是函數(shù)messagebox()。</p><p> 如果添加到最后一個學(xué)生的基本信息,不需要再添加的時候,用戶可以點擊“添加入庫后返回”按鈕即可,其實現(xiàn)方式也是通過編寫該按鈕的的click過程。</p><p> 為防
88、止數(shù)據(jù)有錯,或者其他不必要的情況出現(xiàn),添加數(shù)據(jù)的同時,設(shè)置有備份功能。 VFP數(shù)據(jù)庫文件的備份形式一般有兩種:</p><p> 一種是以記錄格式,即以VFP表格(.dbf)形式進(jìn)行存儲,這種方法的優(yōu)點是表的數(shù)據(jù)被按照原樣進(jìn)行備份,備注字段、通用字段等特殊字段不必進(jìn)行特殊處理即可很容易地進(jìn)行數(shù)據(jù)備份和數(shù)據(jù)恢復(fù),缺點是記錄格式一旦丟失,將造成記錄無法恢復(fù)。</p><p> 另一種是將記
89、錄以文本格式進(jìn)行備份,優(yōu)點是文本數(shù)據(jù)比較穩(wěn)定,不容易被破壞,缺點是備注字段、通用字段等特殊字段需要進(jìn)行特殊處理,不容易實現(xiàn)自動備份和恢復(fù)。</p><p> 常用的數(shù)據(jù)庫主要有兩種:即小型數(shù)據(jù)庫和大型數(shù)據(jù)庫,在此只對小型數(shù)據(jù)庫進(jìn)行介紹。</p><p> 小型數(shù)據(jù)庫是指庫文件容量不超過一張普通磁盤存儲容量的數(shù)據(jù)庫,對這種數(shù)據(jù)庫,有一下兩種方式備份。</p><p&g
90、t; 在該系統(tǒng)中用的就是其中一種備份方式,其備份按鈕的click過程如下:</p><p><b> close all</b></p><p> use 學(xué)生基本情況表.dbf</p><p> copy to "備份\"+"學(xué)生基本情況表"+dtoc(date(),1)+".dbf&
91、quot;</p><p> thisform.label30.caption="備份完畢!"</p><p> copy to "備份\ "+"學(xué)生基本情況表"+dtoc(date(),1)+".dbf"作用是拷貝一份放在過程備份目錄下并取名為:學(xué)生基本情況表.dbf, thisform.label30.
92、caption="備份完畢!"的作用是提示備份完畢。</p><p> 添加模塊的實現(xiàn),讓錄入學(xué)生基本信息的操作人員可以輕松方便的錄入新生的基本信息,以及學(xué)生的各個學(xué)期的學(xué)科成績,最主要的還考慮到學(xué)生的獎罰情況,考慮全面,且操作簡單。</p><p> 4.3 查詢模塊的設(shè)計與實現(xiàn)</p><p> 查詢是系統(tǒng)的最基本而又很重要的一個功能,
93、能讓用戶方便快捷、多角度地得知想查找的信息。本系統(tǒng)中共設(shè)有學(xué)生基本信息查詢、學(xué)科成績查詢和學(xué)生獎罰情況查詢的功能。</p><p> 下面以學(xué)生基本信息查詢?yōu)槔?,看看如何實現(xiàn)查詢表單的設(shè)計。</p><p> 圖4-4 字典維護表圖</p><p> 界面包括的控件有單選按鈕、文本框、命令按鈕、表格,功能是按不同的選項查詢學(xué)生基本信息,該系統(tǒng)是對于預(yù)先指定數(shù)據(jù)
94、表的任意條件查詢。表單預(yù)先設(shè)定的數(shù)據(jù)表是學(xué)生基本情況表.dbf,在表單上左上角顯示的對應(yīng)字段中,選擇用戶的查詢條件后,單擊“文本框”,用戶在這里可以修改查詢表達(dá)式的值。如果表達(dá)式正確,用戶可以單擊“查詢”按鈕,就可以查看數(shù)據(jù)表中符合條件的內(nèi)容。</p><p> 先將各控件放到表單上,然后對其進(jìn)行屬性設(shè)置。</p><p> 設(shè)置ButtonCount屬性為5,這是設(shè)置單選的項數(shù)。&l
95、t;/p><p> 表格控件的屬性則設(shè)置ReadOnly設(shè)置為.F.,這是設(shè)置只讀方式,設(shè)置數(shù)據(jù)源RecordSource為學(xué)生基本情況表,最后設(shè)置打開方式RecordSourceType為0_表。</p><p> 最后設(shè)置相應(yīng)的代碼,在此講述查詢學(xué)號實現(xiàn)的代碼,另外的姓名、名族、專業(yè)、系別字段的查詢基本相同。</p><p> if thisform.opti
96、ongroup1.value=1 </p><p> set filt to 學(xué)號=alltrim(thisform.text1.value) </p><p> thisform.grid1.setfocus</p><p><b> endif</b></p><p> 這段代碼實現(xiàn)的是,如果
97、單選按鈕的值為1,即選了“學(xué)號”字段,則查找“學(xué)號”為文本框中的值的記錄,讓表格控件得到焦點。</p><p> endif該段代碼主要是應(yīng)用set filt to 對數(shù)據(jù)進(jìn)行篩選,通過判斷optiongroup1.value的值來確定用戶選擇的是哪一個單選按鈕。</p><p> 設(shè)計一個查詢文件的時候,通常有多種情況,在該系統(tǒng)中主要用到的是單個表的簡單查詢和連接多個表格進(jìn)行的復(fù)雜查
98、詢。</p><p> ?。?)單個表的簡單查詢:由于是單表查詢,所以無聯(lián)接關(guān)系。只需在代碼中調(diào)用要查詢的表,然后對其進(jìn)行查詢就可以了。</p><p> ?。?)連接多個表格進(jìn)行查詢:首先要明確各表之間的關(guān)系,此數(shù)據(jù)庫中的四個基本數(shù)據(jù)庫表之間有不同的關(guān)系。如果在建立數(shù)據(jù)庫表時已經(jīng)建立了上述關(guān)系,在加入查詢時它們相互之間的關(guān)系默認(rèn)為與原來數(shù)據(jù)庫表之間的關(guān)聯(lián)相同。如果在建立此數(shù)據(jù)庫時,各表之
99、間并沒有定義任何連接,也可以在生成查詢文件時建立連接,因為要查詢的是各表之間匹配的記錄,所以在為各表建立連接時都要為內(nèi)部連接。</p><p> 如果想修改各表之間的連接,雙擊查詢設(shè)計器上部窗口表之間的連線,系統(tǒng)將彈出一【連接條件】對話框;或者打開查詢設(shè)計器下部的【聯(lián)接】選項卡,進(jìn)行修改即可。一般不應(yīng)隨便更改連接條件,不然會與世紀(jì)數(shù)據(jù)間的關(guān)系不符。</p><p> 其次要確定輸出字段
100、,輸出字段決定于要查詢的內(nèi)容。比如我們要查詢學(xué)生的成績,則在選定字段中必須有學(xué)生的學(xué)號、姓名、學(xué)科、成績、學(xué)期等。</p><p> 建立連接和加入字段后,數(shù)據(jù)庫設(shè)計器如圖:</p><p> 圖4-5 查詢數(shù)據(jù)源圖</p><p> 接著,需要根據(jù)條件確定篩選依據(jù)。在【字段名】列表框內(nèi)選擇【表達(dá)式】選項,系統(tǒng)彈出一個【表達(dá)式生成器】對話框。打開【字符串】下
101、拉列表框選擇函數(shù)ALLTRIM(expC),然后在【字段】列表框內(nèi)雙擊order_id選項。單擊【確定】按鈕關(guān)閉【表達(dá)式生成器】對話框。在【條件】列表框內(nèi)選擇==選項,有所要查詢的條件可知,兩個篩選依據(jù)之間為“與(AND)”的關(guān)系,所以在第一個篩選依據(jù)后的【邏輯】下拉列表框內(nèi)選擇AND選項。</p><p> 最后講輸出結(jié)果按一定順序排序輸出即可。打開【排序依據(jù)】選項卡,用鼠標(biāo)左鍵將【選定字段】列表框內(nèi)的表達(dá)式
102、拖入到【排序條件】列表框中,然后選中【排序選項】欄內(nèi)的【升序】單選鈕,至此,整個查詢設(shè)計工作已經(jīng)完成。</p><p> 通過查詢功能,用戶可以方便快捷的查找到自己所需要的信息,比如已知一個學(xué)生的序號,需要知道其他的相關(guān)信息,我們就可以通過該學(xué)號來查詢,可以查找到學(xué)生的姓名、性別、年齡、專業(yè)、學(xué)科成績以及該學(xué)生的獎罰情況,省去了從前紙張查找的麻煩。</p><p> 第5章 總結(jié)與展
103、望</p><p> 該系統(tǒng)的功能基本符合學(xué)校管理學(xué)生檔案的需求,能夠完成學(xué)生基本情況、學(xué)生學(xué)科成績、學(xué)生獎罰記錄等信息的輸入、查詢。并提供部分系統(tǒng)維護功能。同時也考慮到了單位編碼以減少數(shù)據(jù)冗余的問題,對于數(shù)據(jù)的一致性的問題也通過程序進(jìn)行了有效的解決。</p><p> 整體總結(jié)有如下優(yōu)點:</p><p> 1. 在系統(tǒng)設(shè)計時,采用了模塊化設(shè)計,把界面中的一
104、些常用的部分集成為模塊,例如系統(tǒng)的登錄模塊和主界面模塊,對于添加學(xué)生基本情況、獎罰情況等這些都屬于添加模塊,查詢學(xué)生基本情況、學(xué)科成績、獎罰情況這幾部分歸在查詢模塊中,在界面上將其展示顯示,方便用戶使用,比較清晰,同時提高了開發(fā)的效率及其可維護性。</p><p> 2. 該系統(tǒng)采用面向?qū)ο笤O(shè)計,系統(tǒng)中將用戶、學(xué)生等都封裝成相應(yīng)的類,同時每個類都有相應(yīng)的操作類,從而再次提高了對數(shù)據(jù)庫操作的安全性和程序的可擴展性
105、。</p><p> 3. 功能全面,使用簡單,能將學(xué)生各方面的信息有機地結(jié)合起來,使用戶能夠容易地掌握該系統(tǒng),且能很方便的使用該系統(tǒng)。</p><p> 在系統(tǒng)的設(shè)計中,因為對有些技術(shù)了解不多,如果在系統(tǒng)的完整性方面再有所改進(jìn)的話,相信會使系統(tǒng)做到更好。由于自己的水平有限加之時間的限制,還有許多做的不好的地方。通過對系統(tǒng)的多次測試,證明系統(tǒng)具有一定的可行性與可擴充性。</p&g
106、t;<p> 1. 系統(tǒng)的功能方面還可以在增加一些,比如聯(lián)機文檔比較少,還有學(xué)生資料修改功能還沒有實現(xiàn),出錯處理不完善。</p><p> 2. 在系統(tǒng)安全方面沒有過多涉及,一旦發(fā)生管理員密碼被盜用的情況,系統(tǒng)無法識別出來,系統(tǒng)有可能被破壞。</p><p> 3. 在系統(tǒng)界面的美工方面還有待加強,用戶界面不夠美觀。</p><p> 總體來說
107、,該系統(tǒng)是針對中小學(xué)而設(shè)計的一個系統(tǒng),可用性和使用行比較強,該系統(tǒng)還考慮到了大學(xué)里面的管理機制,不再僅限于對一個學(xué)生成績的考核,還考慮到了學(xué)生的綜合素質(zhì),以獎罰成績來規(guī)范學(xué)生,促進(jìn)學(xué)生更好的發(fā)展。通過這個系統(tǒng)可以看到學(xué)生的基本信息,他的學(xué)科成績,以及他的獎罰情況,從而綜合考慮一個學(xué)生的素質(zhì)。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]許向
108、榮,潘清,楊一平FoxPro 6.0項目案例導(dǎo)航[M].北京:科學(xué)出版社,2002.</p><p> [2]夏邦貴,何海賓.Visual Foxpro 6.0數(shù)據(jù)庫開發(fā)經(jīng)典實例精解[M].北京:機械工業(yè)出版社,2006.</p><p> [3]捷新工作室.中文Visual FoxPro 6.0基礎(chǔ)教程[M].北京:國防工業(yè)出版社,1999.</p><p>
109、 [4]劉艷松,彭劍.淺談VFP中索引文件的建立[J].科技情報開發(fā)與經(jīng)濟,2007,(12): 223-225.</p><p> [5]周艷香.掌握Visual FoxPro應(yīng)用的一些小技巧[J].技術(shù)應(yīng)用,2007,(7):162-163.</p><p> [6]楊文龍.軟件工程[M].電子工業(yè)出版社,2001.</p><p> [7]陶雪琴.數(shù)據(jù)
110、庫Visual Foxpro6.0的學(xué)習(xí)——淺談索引和查詢的運用[J].福建電腦,2005,(11):155.</p><p> [8]孫淑霞.Visual FoxPro6.0程序設(shè)計教程[M].電子工業(yè)出版社,2007.</p><p> [9]許曉紅.Visual Foxpro中表格控件設(shè)計技巧二例[J].科技信息(學(xué)術(shù)版),2007,(6):49.</p><
111、p> [10]韓存鴿.淺談Visual foxpro數(shù)據(jù)庫中的數(shù)據(jù)完整性[J].科技信息(科學(xué)·教研),2007,(5):30-31.</p><p> [11]同志工作室.Visual FoxPro6.0 多媒體開發(fā)實例[M].北京:人民郵電出版社,2005.</p><p> [12]蔣衛(wèi)國.Visual Foxpro實現(xiàn)不規(guī)則形狀的窗口編程實例[J].科技信息,
112、2007, (24):102-103.</p><p> [13]Mcleod.Management Information System [M].Printice Hall,2002.</p><p> [14]Thomas R. Peltier. Information Security RiskAnalysis[J]. Rothstein Associates Inc,2005,
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文--學(xué)生綜合素質(zhì)測評系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文-大學(xué)生素質(zhì)拓展系統(tǒng)的設(shè)計與實現(xiàn)
- 學(xué)生管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文
- 物流綜合管理系統(tǒng)的設(shè)計與實現(xiàn)【畢業(yè)論文】
- 學(xué)生課程管理系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)論文
- 畢業(yè)論文-java學(xué)生管理系統(tǒng)設(shè)計與實現(xiàn)
- 學(xué)生課程管理系統(tǒng)設(shè)計與實現(xiàn)畢業(yè)論文
- 學(xué)生學(xué)籍管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文
- 學(xué)生畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn).pdf
- 畢業(yè)論文-學(xué)生社團管理系統(tǒng)設(shè)計與實現(xiàn)
- 學(xué)生學(xué)籍管理系統(tǒng)的設(shè)計與實現(xiàn)畢業(yè)論文
- 學(xué)生社團管理系統(tǒng)的設(shè)計與實現(xiàn)——畢業(yè)論文
- 學(xué)生社團管理系統(tǒng)的設(shè)計與實現(xiàn)——畢業(yè)論文
- 學(xué)生綜合管理系統(tǒng)畢業(yè)論文
- 學(xué)生綜合管理系統(tǒng)畢業(yè)論文
- 學(xué)生信息管理系統(tǒng)的設(shè)計與實現(xiàn)-畢業(yè)論文
- 畢業(yè)論文——學(xué)生公寓管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文——學(xué)生信息管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文---學(xué)生成績管理系統(tǒng)的設(shè)計與實現(xiàn)
- 畢業(yè)論文 學(xué)生成績管理系統(tǒng)設(shè)計與實現(xiàn)
評論
0/150
提交評論