[精品論文]VB學(xué)生信息管理系統(tǒng)畢業(yè)論文_第1頁
[精品論文]VB學(xué)生信息管理系統(tǒng)畢業(yè)論文_第2頁
[精品論文]VB學(xué)生信息管理系統(tǒng)畢業(yè)論文_第3頁
[精品論文]VB學(xué)生信息管理系統(tǒng)畢業(yè)論文_第4頁
[精品論文]VB學(xué)生信息管理系統(tǒng)畢業(yè)論文_第5頁
已閱讀5頁,還剩44頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計課程定做 Q1摘 要21.2前 言21.3開發(fā)學(xué)生信息管理系統(tǒng)相關(guān)問題21.3.1學(xué)生信息管理系統(tǒng)的簡介21.4系統(tǒng)的實現(xiàn)以及相關(guān)問題21.4.1Visual Basic 6.0總概括21.4.2實施環(huán)境與工具的比較選擇31.4.3編程環(huán)境、工具、實現(xiàn)與數(shù)據(jù)準(zhǔn)備概況31.4.4學(xué)校管理者對學(xué)生信息管理系統(tǒng)的需求31.5學(xué)生信息管理系統(tǒng)功能模塊設(shè)計、數(shù)據(jù)庫的設(shè)計和功能實現(xiàn)41.5.1學(xué)生信息管理系統(tǒng)的功能模塊設(shè)計41.5.2數(shù)據(jù)庫設(shè)計41.6學(xué)生信息管理系統(tǒng)的具體實現(xiàn)81.6.1學(xué)生信息管理系統(tǒng)主窗體的創(chuàng)建81.6.2系統(tǒng)用戶管理模塊111.6.3學(xué)籍管理模塊的創(chuàng)建121.6.4班級管理模塊的創(chuàng)建141.6.5課程設(shè)置模塊的創(chuàng)建151.6.6成績管理模塊的創(chuàng)建171.6.7幫助模塊的設(shè)計171.7系統(tǒng)測試概況171.7.1系統(tǒng)轉(zhuǎn)換方案及實現(xiàn)概況171.7.2軟硬件平臺171.8結(jié)束語171.9致 謝171.10參 考 文 獻(xiàn)171.11附程序代碼清單171.1 摘 要信息管理系統(tǒng)就是我們常說的MIS(Management Information System),它是一個計算機軟硬件資源以及數(shù)據(jù)庫的人-機系統(tǒng)。它能提供信息支持企業(yè)或組織的運行、管理和決策功能。學(xué)生信息管理系統(tǒng)是典型的信息管理系統(tǒng),其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護(hù)以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起資料一致性和完整性強、資料安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,易使用等特點。 經(jīng)過分析如此情況,我們使用Microsoft公司的Visual Basic 6.0開發(fā)工具,由于它給我們提供了用于從數(shù)據(jù)庫中訪問數(shù)據(jù)的強大工具集,使用它可以建立開發(fā)比較完善的數(shù)據(jù)庫操作應(yīng)用程序,并利用SQL Server2000提供數(shù)據(jù)庫。尤其是Visual Basic 6.0可視化設(shè)計窗口這一方便而簡潔的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進(jìn)行需求迭代,不斷修正和改進(jìn),直到形成學(xué)校管理者滿意的可行系統(tǒng)。關(guān)鍵詞:原型法,面向?qū)ο?資料窗口,信息管理系統(tǒng)。1.2 前 言 學(xué)生信息管理系統(tǒng)是一個學(xué)校不可缺少的部分,它的內(nèi)容對于學(xué)校管理者來說是至關(guān)重要,所以學(xué)生信息管理系統(tǒng)應(yīng)該能夠為學(xué)校管理者提供充足的信息和快捷的查詢手段。但一直以來人們使用傳統(tǒng)人工的方式管理學(xué)生檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間長了,將產(chǎn)生大量的文件和資料,這對于查找、更新和維護(hù)都帶來了不少的困難。 隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認(rèn)識,它已進(jìn)入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。 作為計算機應(yīng)用的一部分,使用計算機對學(xué)生檔案進(jìn)行管理,具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高的效率,也是學(xué)??茖W(xué)化、正規(guī)化管理的重要條件。因此,開發(fā)這樣一套管理軟件成為很有必要的事情,在下面的各章中我們將以開發(fā)一套學(xué)生信息管理系統(tǒng)為例,談?wù)勂溟_發(fā)過程和所涉及到的問題及解決方法。1.3 開發(fā)學(xué)生信息管理系統(tǒng)相關(guān)問題1.3.1 學(xué)生信息管理系統(tǒng)的簡介學(xué)生信息管理系統(tǒng)是針對學(xué)校學(xué)生檔案管理的大量工作而開發(fā)的管理軟件,并以重慶市松橋中學(xué)作為本軟件的開發(fā)背景。隨著學(xué)校的規(guī)模不斷擴(kuò)大,學(xué)生數(shù)量急劇增加,有關(guān)學(xué)生的各種信息量也成信增加。面對龐大的信息量,就需要有學(xué)生信息管理系統(tǒng)來提高學(xué)生管理工作的效率。通過這樣的系統(tǒng),可能做到信息的規(guī)范管理、科學(xué)統(tǒng)計和快速的查詢,從而減少管理方面的工作。系統(tǒng)開發(fā)的總體任務(wù)是實現(xiàn)學(xué)生信息關(guān)系的系統(tǒng)化、規(guī)范化和自動化。1.4 系統(tǒng)的實現(xiàn)以及相關(guān)問題1.4.1 Visual Basic 6.0總概括 Visual Basic 6.0是美國Microsoft公司推出的一個可視化程序開發(fā)軟件。它是完全按照面向?qū)ο蠼Y(jié)構(gòu)研制設(shè)計。采用圖形化的應(yīng)用開發(fā)環(huán)境。是面向?qū)ο箝_發(fā)工具的前端產(chǎn)品。它與其它的開發(fā)工具軟作相比,有其自己獨立的特點,其主要表現(xiàn)在:所見所得的界面設(shè)計;基于對象的設(shè)計方法;極短的軟件開發(fā)周期;較易維護(hù)的生成代碼。在有關(guān)數(shù)據(jù)庫的應(yīng)用中, Visual Basic 6.0具有描述多個數(shù)據(jù)庫連接與檢索的功能,特別是Visual Basic 6.0能提供ADO(Active Data Objects)作為應(yīng)用程序和OLE-DB連接的橋梁。它能從大多數(shù)流行的數(shù)據(jù)庫系統(tǒng)中提取資料,而且不管資料存放在什么地方。另外,各種應(yīng)用程序也可以獨立于數(shù)據(jù)庫系統(tǒng)運行,因而Visual Basic 6.0可以使用數(shù)據(jù)庫更簡單。Visual Basic 6.0正在成為面向?qū)ο箝_發(fā)工具的標(biāo)準(zhǔn)。它為應(yīng)用開發(fā)提供了全面、綜合性的支持,可以分別概括為如下幾點:1. 應(yīng)用程序的事件驅(qū)動2. Visual Basic 6.0語言與函數(shù)3. 面向?qū)ο蟮木幊?. 與數(shù)據(jù)庫的連接性1.4.2 實施環(huán)境與工具的比較選擇系統(tǒng)的實施是在系統(tǒng)設(shè)計的基礎(chǔ)上,用Visual Basic 6進(jìn)行程序設(shè)計開發(fā)。Visual Basic 6是新一代的程序語言,它提供了開發(fā) Microsoft Windows(R) 應(yīng)用程序的最迅速、最簡捷的方法。與系統(tǒng)管理系統(tǒng)常用的開發(fā)工具Power Builder相比,Visual basic 6主要有以下優(yōu)勢:1支持ADO(ActiveX 數(shù)據(jù)對象):這項新的數(shù)據(jù)訪問技術(shù)的特性包括:更簡單的對象模型;與其它 Microsoft 和非 Microsoft 的技術(shù)更好的集成;為本地和遠(yuǎn)程數(shù)據(jù)數(shù)據(jù)提供的通用接口;可遠(yuǎn)程訪問的和斷開的記錄集;用戶可訪問的數(shù)據(jù)綁定接口;以及層次結(jié)構(gòu)的記錄集。2完整的編程語言:同Power Builder只提供腳本不同,Visual Basic 6提供了一套完整的編程結(jié)構(gòu)和語言元素。豐富的數(shù)據(jù)類型也提高了程序的性能。2.用對象編程:Visual Basic 6 是一種基于對象的編程語言。Visual Basic 6使得對象的使用變得很容易,它使在程序性編碼和使用對象的程序設(shè)計之間進(jìn)行平穩(wěn)轉(zhuǎn)換成為可能。1.4.3 編程環(huán)境、工具、實現(xiàn)與數(shù)據(jù)準(zhǔn)備概況本系統(tǒng)是在Visual Basic 6自帶的IDE下開發(fā),數(shù)據(jù)庫設(shè)計工具使用了SQL Server 2000。所有開發(fā)工具都是在Windows 2000操作系統(tǒng)使用,并考慮了系統(tǒng)程序在其他Windows版本操作系統(tǒng)下運行的要求。程序代碼是以對象的觀點來編寫,整個系統(tǒng)所有的基本功能都封裝在4個對象中,系統(tǒng)的功能實現(xiàn)都是通過調(diào)用這4個對象提供的接口實現(xiàn)。這樣便提高了程序代碼的模塊化,有助于程序代碼的調(diào)試及以后的功能擴(kuò)展。1.4.4 學(xué)校管理者對學(xué)生信息管理系統(tǒng)的需求1.4.4.1 總體功能需求 學(xué)生信息管理系統(tǒng)是針對學(xué)校管理的大量工作,用計算機進(jìn)行全面現(xiàn)代化管理。主要包括成績信息管理、課程信息管理、班級信息管理、學(xué)籍信息管理和系統(tǒng)管理等幾個方面的功能,以實現(xiàn)學(xué)校管理者方便的輸入、查詢、修改和刪除等工作需求。1.4.4.2 具體系統(tǒng)功能需求描述 有關(guān)學(xué)籍等信息的輸入,包括學(xué)生基本信息、所在班級、所學(xué)課程和成績表等。 學(xué)生信息的查詢,包括學(xué)生基本信息、所在班級、已學(xué)課程和成績等。 學(xué)生信息的修改。 班級管理信息的輸入,包括班級設(shè)置、年級信息等。 班級管理信息的查詢。 班級管理信息的修改。 學(xué)?;菊n程信息的輸入。 基本課程信息的修改。 學(xué)生課程的設(shè)置和修改。 學(xué)生成績信息的輸入。 學(xué)生成績信息的修改。 學(xué)生成績信息的查詢。 學(xué)生成績信息的統(tǒng)計。1.5 學(xué)生信息管理系統(tǒng)功能模塊設(shè)計、數(shù)據(jù)庫的設(shè)計和功能實現(xiàn)1.5.1 學(xué)生信息管理系統(tǒng)的功能模塊設(shè)計通過對上述的各項系統(tǒng)功能進(jìn)行集中、分塊,按照程序設(shè)計的要求,得到如圖2-1所示的系統(tǒng)功能模塊圖。1.5.2 數(shù)據(jù)庫設(shè)計 數(shù)據(jù)庫在一個信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計的好壞將直接對應(yīng)用系統(tǒng)的效率以及實現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計可以提高數(shù)據(jù)存儲的效率,圖2-1保證數(shù)據(jù)的完整和一致。同時,合理的數(shù)據(jù)庫結(jié)構(gòu)也將有利于程序的實現(xiàn)。圖2-11.5.2.1 數(shù)據(jù)庫需求分析 用戶的需求體現(xiàn)在各種信息的提供、保存、更新和查詢,這就要求數(shù)據(jù)庫結(jié)構(gòu)能充分滿足各種信息的輸出和輸入。在仔細(xì)分析調(diào)查有關(guān)學(xué)生信息需要的基礎(chǔ)上,將得到如圖2-2本系統(tǒng)所處理的數(shù)據(jù)流程。 圖2-2針對一般學(xué)生信息管理系統(tǒng)的需求,通過對學(xué)生學(xué)習(xí)過程的內(nèi)容和數(shù)據(jù)流程分析,設(shè)計如下所示的數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu): 學(xué)生基本信息:包括的數(shù)據(jù)項有:學(xué)生學(xué)號、學(xué)生姓名、性別、出生日期、班號、聯(lián)系電話、入校日期、家庭住址、備注等。 設(shè)計結(jié)果如下表:student_Info 學(xué)生基本信息表列 名數(shù)據(jù)類型可否為空說 明student_IDInt(4)NOT NULL學(xué)生學(xué)號(主鍵)student_NameCHAR(10)NULL學(xué)生姓名student_GenderCHAR(2)NULL學(xué)生性別Born_DateDATETIME(8)NULL出生日期Class_NOINT(4)NULL班號Telt_NumberCHAR(10)NULL聯(lián)系電話Ru_dateDATETIME(8)NULL入校日期AddressVARCHAR(50)NULL家庭住址CommentVARCHAR(200)NULL注釋 班級信息:包括的數(shù)據(jù)項有:班號、所在年級、班主任姓名、所在教室等。設(shè)計結(jié)果如下表:class_info 班級信息表格列 名數(shù)據(jù)類型可否為空說 明Class_NOINT(4)NOT NULL班號(主鍵)GradeCHAR(10)NULL年級DirectorCHAR(10)NULL班主任Classroom_noCHAR(10)NULL教室 課程基本信息:包括的數(shù)據(jù)項有:課程號、課程名稱、課程類別、課程描述等。設(shè)計結(jié)果如下表:course_info 課程基本信息表列 名數(shù)據(jù)類型可否為空說 明Course_NOINT(4)NOT NULL課程編號(主鍵)Course_nameCHAR(10)NULL課程名稱Course_typeCHAR(10)NULL課程類型Course_desCHAR(10)NULL課程描述 課程設(shè)置信息:包括的數(shù)據(jù)項有:年級信息、所學(xué)課程等。設(shè)計結(jié)果如下表:gradecourse_info 課程設(shè)置表列 名數(shù)據(jù)類型可否為空說 明gradeCHAR(10)null年級Course_nameCHAR(10)null課程設(shè)置 學(xué)生成績信息:包括的數(shù)據(jù)項有:考試編號、所在班號、學(xué)生學(xué)號、學(xué)生姓名、所學(xué)課程、考試分?jǐn)?shù)等。Result_info 學(xué)生成績信息表列 名數(shù)據(jù)類型可否為空說 明Exan_NOCHAR(10)NOT NULL考試編號Student_IDINT(4)NOT NULL學(xué)生學(xué)號Student_NameCHAR(10)NULL學(xué)生姓名Class_NOInt(4)NULL學(xué)生班號Course_NameCHAR(10)NULL課程名稱resultFLOAT(8)NULL分?jǐn)?shù)User_info 系統(tǒng)用戶表列 名數(shù)據(jù)類型可否為空說 明User_idCHAR(10)NOT NULL用戶名稱(主鍵)User_PWDCHAR(10)NULL用戶密碼User_desCHAR(10)NULL用戶描述有了如上的數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)項和數(shù)據(jù)流程,我們就能進(jìn)行數(shù)據(jù)庫設(shè)計。1.5.2.2 數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計 根據(jù)前面的設(shè)計規(guī)劃出的實體有:學(xué)生實體、班級實體、年級實體、年級實體、課程實體。各個實體的具體描述E-R圖如下:圖2-3 圖2-4其中,圖2-3為學(xué)生實體E-R圖,圖2-4為班級實體E-R圖。 圖2-5 圖2-6圖2-5為課程實體E-R圖,圖2-6為年級實體E-R圖。實體和實體之間的關(guān)系如圖2-7所示。1.5.2.3 數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計現(xiàn)在需要將上面的數(shù)據(jù)庫概念結(jié)構(gòu)轉(zhuǎn)化為SQL Server 2000數(shù)據(jù)庫系統(tǒng)所支持的實際數(shù)據(jù)模型,也就是數(shù)據(jù)庫的邏輯結(jié)構(gòu)。在上面的實體以及實體之間關(guān)系的基礎(chǔ)上,形成數(shù)據(jù)庫的表格以及各個表格之劉的關(guān)系。1.5.2.4 數(shù)據(jù)庫結(jié)構(gòu)的實現(xiàn)經(jīng)過需求分析和概念結(jié)構(gòu)設(shè)計之后,得到數(shù)據(jù)庫的邏輯結(jié)構(gòu)?,F(xiàn)在在SQL Server 2000數(shù)據(jù)庫系統(tǒng)中實現(xiàn)該邏輯結(jié)構(gòu),利用SQL Server 2000數(shù)據(jù)庫系統(tǒng)中的SQL查詢分析器來實現(xiàn)。創(chuàng)建系統(tǒng)用戶表格user_Info的SQL語句如下:CREATE TABLEdbo.user_Info(user_IDchar(10)COLLATE Chinese_PRC_CI_AS NOT NULL,user_PWDchar(10)COLLATE Chinese_PRC_CI_AS NULL,user_Deschar(10)COLLATE Chinese_PRC_CI_AS NULL)ON PRIMARY1.6 學(xué)生信息管理系統(tǒng)的具體實現(xiàn)上面的的SQL語句在SQL Server 2000中的查詢分析器中執(zhí)行后,將產(chǎn)生所需要的表格,下面將使用Visual Basic 6.0來編寫數(shù)據(jù)庫系統(tǒng)的客戶端程序。 1.6.1 學(xué)生信息管理系統(tǒng)主窗體的創(chuàng)建在本系統(tǒng)開發(fā)中,我們使用MDI(即多文檔界面),這樣可以使程序更加的美觀、整齊有序。學(xué)生信息管理系統(tǒng)的主窗體如圖4-1所示。1.6.1.1 創(chuàng)建公用模塊在Visual Basic 中可以用公用模塊來存放整個工程項目公用的函數(shù)、全局變量等。整個項目中的優(yōu)任何地方都可以調(diào)用公用模塊中的函數(shù),這樣就可以極大地提高代碼的效率。由于系統(tǒng)中各個功能模塊都將頻繁使用數(shù)據(jù)庫中的各種數(shù)據(jù),因此需要一個公用的數(shù)據(jù)操作函數(shù),用以執(zhí)行各種SQL語句。添加函數(shù)ExecuteSQL,代碼如下:Public Function ExecuteSQL(ByVal SQL _ As String, MsgString As String) _ As ADODB.Recordsetexecutes SQL and returns Recordset Dim cnn As ADODB.Connection Dim rst As ADODB.Recordset 圖4-1 程序主窗體 Dim sTokens() As String On Error GoTo ExecuteSQL_Error sTokens = Split(SQL) Set cnn = New ADODB.Connection cnn.Open ConnectString If InStr(INSERT,DELETE,UPDATE, _ UCase$(sTokens(0) Then cnn.Execute SQL MsgString = sTokens(0) & _ query successful Else Set rst = New ADODB.Recordset rst.Open Trim$(SQL), cnn, _ adOpenKeyset, _ adLockOptimistic rst.MoveLast get RecordCount Set ExecuteSQL = rst MsgString = 查詢到 & rst.RecordCount & _ 條記錄 End IfExecuteSQL_Exit: Set rst = Nothing Set cnn = Nothing Exit Function ExecuteSQL_Error: MsgString = 查詢錯誤: & _ Err.Description Resume ExecuteSQL_ExitEnd FunctionExecuteSQL函數(shù)共有兩個參數(shù): SQL和MsgString。其中SQL用來存放需要執(zhí)行的SQL語句,MsgString用來返回執(zhí)行的提示信息。函數(shù)執(zhí)行時,首先判斷SQL語句中包含的內(nèi)容:當(dāng)執(zhí)行查詢操作時,MsgStringSQL函數(shù)將返回一個與函數(shù)同名的記錄集對象(Recordset),所有滿足條件的記錄包含在對象中;當(dāng)執(zhí)行如刪除、更新、添加等操作時,不返回記錄對象。在MsgStringSQL函數(shù)中使用了Connect String函數(shù),這個函數(shù)用來連接數(shù)據(jù)庫,代碼如下:Public Function ConnectString() _ As Stringreturns a DB ConnectString ConnectString = FileDSN=studentinfo.dsn;UID=sa;PWD=End Function由于在后面的過程中, 需要頻繁檢查各促文本框的內(nèi)容是否為空,這里還需要定義Testtxt 函數(shù)代碼,代碼如下:Public Function Testtxt(txt As String) As Boolean If Trim(txt) = Then Testtxt = False Else Testtxt = True End IfEnd Function由于學(xué)生信息管理系統(tǒng)啟動后,需要對用戶進(jìn)行判斷。如果登陸者是授權(quán)用戶,將進(jìn)入系統(tǒng),否則停止程序的執(zhí)行。這個判斷在系統(tǒng)運行的最初進(jìn)行,因此代碼應(yīng)該放在公手模塊中。代碼如下:Sub Main() Dim fLogin As New frmLogin fLogin.Show vbModal If Not fLogin.OK Then Login Failed so exit app End End If Unload fLogin Set fMainForm = New frmMain fMainForm.ShowEnd Sub過程Main將在系統(tǒng)啟動時首先執(zhí)行,保證對用戶的管理。系統(tǒng)需要知道登陸用戶的信息,定義全局變量UserName。 Public UserName As String1.6.2 系統(tǒng)用戶管理模塊系統(tǒng)用戶管理模塊主要實現(xiàn): 用戶登陸 添加用戶 修改用戶密碼1.6.2.1 用戶登陸窗體的創(chuàng)建 系統(tǒng)啟動后,將首先出現(xiàn)如圖6-2所示的用戶登陸窗體,用戶首先輸入用戶名,然后輸入密碼。如果連續(xù)3次輸入密碼不正確,將退出程序。 圖6-2 用戶登陸窗口中放置了兩個文本框(TextBox),用來輸入用戶名和密碼;兩個按鈕(CommanmdButton)用來確定和取消登陸;四個標(biāo)簽(Label)用來標(biāo)示窗體的信息。并為之設(shè)置屬性。1.6.2.2 添加用戶窗體的創(chuàng)建進(jìn)入系統(tǒng)后,選擇菜單”系統(tǒng)添加用戶”就可以添加用戶,出現(xiàn)如圖6-3所示的窗體。這個窗體中放置了3個文本框,用來輸入用戶和密碼;兩個按鈕用來確定是否添加用戶;3個標(biāo)簽用來標(biāo)示文本框的提示。 圖6-3 1.6.2.3 修改用戶密碼窗體的創(chuàng)建用戶可以修改自己的密碼,選擇菜單“系統(tǒng)修改密碼”出現(xiàn)如圖6-4所示的窗體。 圖6-41.6.3 學(xué)籍管理模塊的創(chuàng)建 學(xué)籍管理模塊主要實現(xiàn)如下功能: 添加黨籍信息 修改學(xué)籍信息 查詢學(xué)籍信息1.6.3.1 添加學(xué)籍信息窗體的創(chuàng)建 選擇“學(xué)籍管理添加學(xué)籍信息”菜單,將出現(xiàn)圖6-5所示的窗體。圖6-51.6.3.2 修改學(xué)籍信息窗體的創(chuàng)建選擇“學(xué)籍管理-修改學(xué)籍信息”菜單,將出現(xiàn)如圖6-6所示的窗體。本修改學(xué)籍窗口,不但能夠修改學(xué)籍信息而且能夠查看相關(guān)的學(xué)知信息。當(dāng)窗口中出現(xiàn)某一學(xué)生的學(xué)籍信息后,可以點“上一條記錄”、“下一條記錄”、“第一條記錄”和“最后一條記錄”來分別查找相關(guān)記錄。由于查找課程信息和班級信息等窗口中與此大致相同,以下不再累述。 圖6-61.6.3.3 查詢學(xué)籍信息窗口 選擇“學(xué)籍管理查詢學(xué)籍信息”菜單。將出現(xiàn)如圖6-7所示的窗體,在這里可以按照各種組合方式進(jìn)行查詢。圖6-7 1.6.4 班級管理模塊的創(chuàng)建班級管理模塊主要實現(xiàn)如下功能: 添加班級信息 修改班級信息1.6.4.1 添加班級信息窗口模塊進(jìn)入系統(tǒng)后,選擇“班級管理添加班級信息”菜單,將出現(xiàn)如圖6-8所示的窗體。圖6-81.6.4.2 修改班級信息窗體的創(chuàng)建進(jìn)入系統(tǒng)后,選擇“班級管理修改班級信息”菜單,將出現(xiàn)如圖6-9所示的窗體。圖6-91.6.5 課程設(shè)置模塊的創(chuàng)建課程設(shè)置模塊主要實現(xiàn)如下功能: 添加課程信息 修改課程信息 設(shè)置年級課程1.6.5.1 添加課程信息窗體的創(chuàng)建選擇“課程設(shè)置添加課程信息”菜單,將出現(xiàn)如圖6-10所示的窗體。圖6-101.6.5.2 修改課程信息窗口的創(chuàng)建選擇“課程設(shè)置修改課程信息”菜單,將出現(xiàn)如圖6-11所示的窗體。 圖6-111.6.5.3 設(shè)置年級課程表選擇“課程設(shè)置設(shè)置年級課程”,將出現(xiàn)如圖6-12所示的窗體。圖6-11 1.6.6 成績管理模塊的創(chuàng)建成績管理模塊主要實現(xiàn)以下功能: 添加成績信息 修改成績信息 查詢成績信息1.6.6.1 添加成績信息窗體的創(chuàng)建選擇“成績管理添加成績信息”菜單,將出現(xiàn)如圖6-12所示的窗體。圖6-121.6.6.2 修改成績信息窗體的創(chuàng)建選擇“成績管理修改成績信息”菜單。將出現(xiàn)如圖6-13所示的窗體。圖6-131.6.6.3 查詢成績信息窗體選擇“成績管理查詢成績信息”菜單。將出現(xiàn)如圖6-14所示的窗體。圖6-141.6.7 幫助模塊的設(shè)計一個良好的WINDOWS應(yīng)用程序應(yīng)該提供一個ABOUT窗口,基中包括系統(tǒng)的名稱、所有權(quán)等。學(xué)生信息管理系統(tǒng)的ABOUT窗口如圖6-15。圖6-151.7 系統(tǒng)測試概況鑒于本系統(tǒng)規(guī)模不是很大,因此系統(tǒng)的測試主要集中在4個封裝基本功能的對象的代碼測試和最后系統(tǒng)的總體測試。代碼測試主要是測試對象提供的接口運行是否正常,測試運行結(jié)果是否與期望相同。以及對象的接口的容錯性??傮w測試主要是測試整個系統(tǒng)的運行正確性、可靠性和穩(wěn)定性,其中正確性最主要??傮w測試的內(nèi)容包括使用本系統(tǒng)進(jìn)行大量數(shù)據(jù)的錄入,特別是邊緣數(shù)據(jù)的錄入測試。其次測試系統(tǒng)的查詢和打印功能,測試其結(jié)果是否與預(yù)期相符。由于測試項目內(nèi)容較多,無法在此一一羅列,故將幾個在測試中發(fā)現(xiàn)的主要問題列出。1 系統(tǒng)開發(fā)過程中與數(shù)據(jù)庫的連接情況出現(xiàn)問題由于一開始沒有注意到數(shù)據(jù)庫連接的相關(guān)問題,所以在剛開始開發(fā)的過程中,比如一輸入用戶名和密碼的時候,就出現(xiàn)錯誤,這是由于在與數(shù)據(jù)庫的連接中出現(xiàn)了問題。通過對代碼的單步跟蹤及有關(guān)文檔,以及指導(dǎo)教師的指導(dǎo),找到了錯誤的原因。經(jīng)過調(diào)整某些參數(shù)以后,操作運行正常。2ComboxBox的使用在程序許多對話框中都要用到改變一個ComboBox的選擇項,其他的相關(guān)ComboBox的內(nèi)容要進(jìn)行相應(yīng)的改變,如在學(xué)院的ComboBox中選定了某個年級,則相應(yīng)的專業(yè)ComboBox的內(nèi)容應(yīng)變?yōu)檫@個學(xué)院的專業(yè)項。開始,這一更新相關(guān)ComboBox的代碼是放在ComboBox的Change事件中,認(rèn)為ComboBox的選擇項的改變就出發(fā)此事件。但在運行過程中,相應(yīng)ComboBox沒有如預(yù)期隨選擇項的改變而改變。通過單步跟蹤,發(fā)現(xiàn)此事件并沒有因為選擇項的改變而觸發(fā)。后查閱文檔,改用Click事件放更新代碼,運行正常。1.7.1 系統(tǒng)轉(zhuǎn)換方案及實現(xiàn)概況本系統(tǒng)的實現(xiàn)比較方便,只要具備本系統(tǒng)運行的環(huán)境就可使用。系統(tǒng)安裝只需使用提供的系統(tǒng)安裝程序?qū)⑾到y(tǒng)安裝到計算機上,如需多臺計算機一起使用,只需要分別將系統(tǒng)裝在相應(yīng)的計算機上,然后指定使用一臺計算機上的數(shù)據(jù)庫,其他計算機在使用時需與此計算機聯(lián)網(wǎng),并在系統(tǒng)登錄時選擇指定計算機上的數(shù)據(jù)庫文件即可。系統(tǒng)運行與維護(hù)概況平時應(yīng)注意對使用系統(tǒng)的計算機的日常管理,特別是存放數(shù)據(jù)庫文件的計算機。有條件的應(yīng)該定期對數(shù)據(jù)庫文件進(jìn)行拷貝備份,防止因意外或人為因素導(dǎo)致數(shù)據(jù)庫文件的破壞而造成數(shù)據(jù)丟失的損失,保證系統(tǒng)的正常運行。1.7.2 軟硬件平臺 客戶機/服務(wù)器:采用Pentium II 或以上級別PC機,至少30M硬盤,Pentium90MHZ,支持VGA或分辨率更高的顯示器客戶機/服務(wù)器操作系統(tǒng):Window 98/Me,也可使用Windows NT作為操作系統(tǒng)數(shù)據(jù)庫:SQL Server2000網(wǎng)絡(luò):以太網(wǎng)組成的局域網(wǎng),可設(shè)多臺客戶機。1.8 結(jié)束語經(jīng)過三個多月的設(shè)計和開發(fā),學(xué)生信息管理系統(tǒng)基本開發(fā)完畢。其功能基本符合學(xué)校管理者需求,能夠完成成績信息、課程信息、班級信息、學(xué)籍信息的輸入、查詢、修改和刪除,以及各類相關(guān)報表的打印。 但是由于畢業(yè)設(shè)計時間較短,所以該系統(tǒng)還有許多不盡如人意的地方,比如聯(lián)機文檔比較少,學(xué)校管理者接口不夠美觀,出錯處理不夠等多方面問題。這些都有待進(jìn)一步改善。1.9 致 謝在本次畢業(yè)設(shè)計中,我從指導(dǎo)老師尚老師身上學(xué)到了很多東西。尚老師認(rèn)真負(fù)責(zé)的工作態(tài)度,嚴(yán)謹(jǐn)?shù)闹螌W(xué)精神和深厚的理論水平都使我收益匪淺。他無論在理論上還是在實踐中,都給與我很大的幫助,使我得到不少的提高,這對于我以后的工作和學(xué)習(xí)都有一種巨大的幫助,感謝他耐心的輔導(dǎo)。另外,在系統(tǒng)開發(fā)過程中,我的朋友APPLE ZHOU給予我很大精神支持,讓我渡過難關(guān)。也從技術(shù)上給予我不少幫助,這里一并表示感謝。1.10 參 考 文 獻(xiàn)1Visual Basic 程序設(shè)計 陳 明 中央廣播電視大學(xué)出版社2000年2SQL Sever 高級開發(fā)與專業(yè)運用3Visual Basic 6.0 數(shù)據(jù)庫開發(fā)與專業(yè)運用 敬 錚 國防工業(yè)出版社 2002年1.11 附程序代碼清單畢業(yè)設(shè)計課程定做 QQ1714879127系統(tǒng)主窗體:Private Sub addcinfoMenu_Click() frmAddclassinfo.ShowEnd SubPrivate Sub addcourseMenu_Click() frmAddcourseinfo.ShowEnd SubPrivate Sub addresultMenu_Click() frmAddresult.ShowEnd SubPrivate Sub addsinfoMenu_Click() frmAddsinfo.ShowEnd SubPrivate Sub adduserMenu_Click() frmAdduser.Show sbStatusBar.Panels(1).Text = 添加用戶End SubPrivate Sub exitMenu_Click() EndEnd SubPrivate Sub exitsinfoMenu_Click() Unload frminquireinfoEnd SubPrivate Sub gradecourseMenu_Click() frmSetcourseinfo.ShowEnd SubPrivate Sub inquireresultMenu_Click() frmInquireresult.ShowEnd SubPrivate Sub inquiresinfoMenu_Click() frmInquiresinfo.ShowEnd SubPrivate Sub MDIForm_Load() Me.Left = GetSetting(App.Title, Settings, MainLeft, 1000) Me.Top = GetSetting(App.Title, Settings, MainTop, 1000) Me.Width = GetSetting(App.Title, Settings, MainWidth, 6500) Me.Height = GetSetting(App.Title, Settings, MainHeight, 6500) End SubPrivate Sub MDIForm_Unload(Cancel As Integer) If Me.WindowState vbMinimized Then SaveSetting App.Title, Settings, MainLeft, Me.Left SaveSetting App.Title, Settings, MainTop, Me.Top SaveSetting App.Title, Settings, MainWidth, Me.Width SaveSetting App.Title, Settings, MainHeight, Me.Height End IfEnd SubPrivate Sub modifycinfoMenu_Click() frmModifyclassinfo.ShowEnd SubPrivate Sub modifycourseMenu_Click() frmModifycourseinfo.ShowEnd SubPrivate Sub modifypwdMenu_Click() frmModifyuserinfo.ShowEnd SubPrivate Sub modifyresultMenu_Click() frmModifyresult.ShowEnd SubPrivate Sub modifysinfo_Menu_Click() frmModifysinfo.ShowEnd Sub登陸窗口Option ExplicitPrivate Declare Function GetUserName Lib advapi32.dll Alias GetUserNameA (ByVal lpbuffer As String, nSize As Long) As LongPublic OK As Boolean記錄確定次數(shù)Dim miCount As IntegerPrivate Sub Form_Load() Dim sBuffer As String Dim lSize As Long sBuffer = Space$(255) lSize = Len(sBuffer) Call GetUserName(sBuffer, lSize) If lSize 0 Then txtUserName.Text = Else txtUserName.Text = vbNullString End If OK = False miCount = 0End SubPrivate Sub cmdCancel_Click() OK = False Me.HideEnd SubPrivate Sub cmdOK_Click() Dim txtSQL As String Dim mrc As ADODB.Recordset Dim MsgText As String ToDo: create test for correct password check for correct password UserName = If Trim(txtUserName.Text = ) Then MsgBox 沒有這個用戶,請重新輸入用戶名!, vbOKOnly + vbExclamation, 警告 txtUserName.SetFocus Else txtSQL = select * from user_Info where user_ID = sa & txtUserName.Text & Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF = True Then MsgBox 沒有這個用戶,請重新輸入用戶名!, vbOKOnly + vbExclamation, 警告 txtUserName.SetFocus Else If Trim(mrc.Fields(1) = Trim(txtPassword.Text) Then OK = True mrc.Close Me.Hide UserName = Trim(txtUserName.Text) Else MsgBox 輸入密碼不正確,請重新輸入!, vbOKOnly + vbExclamation, 警告 txtPassword.SetFocus txtPassword.Text = End If End If End If miCount = miCount + 1 If miCount = 3 Then Me.Hide End If Exit SubEnd Sub設(shè)置年級課程信息窗口:Option ExplicitDim flagSet As BooleanDim flagGrade As BooleanPrivate Sub cmdAdd_Click() If listAllcourse.ListIndex -1 Then listSelectcourse.AddItem listAllcourse.List(listAllcourse.ListIndex) End If End SubPrivate Sub cmdDelete_Click() If listSelectcourse.ListIndex -1 Then listSelectcourse.RemoveItem listSelectcourse.ListIndex End IfEnd SubPrivate Sub cmdExit_Click() Unload MeEnd SubPrivate Sub cmdModify_Click() Dim i As Integer Dim mrc As ADODB.Recordset Dim mrcc As ADODB.Recordset Dim txtSQL As String Dim MsgText As String Dim myBookmark As Variant If Not Testtxt(comboGrade.Text) Then MsgBox 請先選擇年級!, vbOKOnly + vbExclamation, 警告 Exit Sub End If If Not Testtxt(listSelectcourse.List(0) Then MsgBox 請選擇課程!, vbOKOnly + vbExclamation, 警告 Exit Sub End If txtSQL = select * from gradecourse_Info where grade = & Trim(comboGrade.Text) & Set mrc = ExecuteSQL(txtSQL, MsgText) If mrc.EOF Then For i = 1 To listSelectcourse.ListCount mrc.AddNew mrc.Fields(0) = comboGrade.Text mrc.Fields(1) = listSelectcourse.List(i - 1) mrc.Update Next i mrc.Close MsgBox 課程設(shè)置成功!, vbOKOnly + vbExclamation, 警告 Else mrc.Close txtSQL = delete from gradecourse_Info where grade = & Trim(comboGrade.Text) & Set mrcc = ExecuteSQL(txtSQL, MsgText) txtSQL = select * from gradecourse_Info Set mrcc = ExecuteSQL(txtSQL, MsgText) For i = 1 To listSelectcourse.ListCount mrcc.AddNew mrcc.Fields(0) = comboGrade.Text mrcc.Fields(1) = listSelectcourse.List(i - 1) mrcc.Update Nex

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論