

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