九九热最新网址,777奇米四色米奇影院在线播放,国产精品18久久久久久久久久,中文有码视频,亚洲一区在线免费观看,国产91精品在线,婷婷丁香六月天

歡迎來到裝配圖網(wǎng)! | 幫助中心 裝配圖網(wǎng)zhuangpeitu.com!
裝配圖網(wǎng)
ImageVerifierCode 換一換
首頁 裝配圖網(wǎng) > 資源分類 > DOC文檔下載  

畢業(yè)設(shè)計-學(xué)籍管理系統(tǒng)的設(shè)計與實現(xiàn)論文.doc

  • 資源ID:116772750       資源大?。?span id="24d9guoke414" class="font-tahoma">815.53KB        全文頁數(shù):65頁
  • 資源格式: DOC        下載積分:10積分
快捷下載 游客一鍵下載
會員登錄下載
微信登錄下載
三方登錄下載: 微信開放平臺登錄 支付寶登錄   QQ登錄   微博登錄  
二維碼
微信掃一掃登錄
下載資源需要10積分
郵箱/手機:
溫馨提示:
用戶名和密碼都是您填寫的郵箱或者手機號,方便查詢和重復(fù)下載(系統(tǒng)自動生成)
支付方式: 支付寶    微信支付   
驗證碼:   換一換

 
賬號:
密碼:
驗證碼:   換一換
  忘記密碼?
    
友情提示
2、PDF文件下載后,可能會被瀏覽器默認打開,此種情況可以點擊瀏覽器菜單,保存網(wǎng)頁到桌面,就可以正常下載了。
3、本站不支持迅雷下載,請使用電腦自帶的IE瀏覽器,或者360瀏覽器、谷歌瀏覽器下載即可。
4、本站資源下載后的文檔和圖紙-無水印,預(yù)覽文檔經(jīng)過壓縮,下載后原文更清晰。
5、試題試卷類文檔,如果標題沒有明確說明有答案則都視為沒有答案,請知曉。

畢業(yè)設(shè)計-學(xué)籍管理系統(tǒng)的設(shè)計與實現(xiàn)論文.doc

學(xué)籍管理系統(tǒng)學(xué)籍管理系統(tǒng) 摘 要 學(xué)籍管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),其開發(fā)主要包括后臺數(shù)據(jù)庫的 建立和維護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求建立起數(shù)據(jù)一致 性和完整性強、數(shù)據(jù)安全性好的庫。而對于后者則要求應(yīng)用程序功能完備,方便 使用等特點。 本系統(tǒng)主要完成對學(xué)生情況和學(xué)生成績的管理,包括數(shù)據(jù)庫中表的添加、 修改、刪除等。系統(tǒng)還可以完成對各類信息的瀏覽、查詢、添加、刪除、修改、 報表等功能。 系統(tǒng)的核心是數(shù)據(jù)庫中各個表的聯(lián)系,每一個表的修改都將連動的影響其 它的表,當完成對數(shù)據(jù)的操作時系統(tǒng)會自動地完成數(shù)據(jù)庫的修改。查詢功能也 是系統(tǒng)的核心之一,在系統(tǒng)中即有單條件查詢和多條件查詢,也有精確查詢和 模糊查詢,系統(tǒng)不僅有靜態(tài)的條件查詢,也有動態(tài)生成的條件查詢,其目的都 是為了方便用戶使用。系統(tǒng)有完整的用戶添加、修改、刪除和密碼修改功能, 并具備報表打印功能。 經(jīng)過分析,我們使用 Microsoft 公司的 Visual Basic 開發(fā)工具,利用其提 供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的 智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進行需 求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。 關(guān)鍵字:控件、窗體、數(shù)據(jù)庫、MIS、VB6.0、SQL Server 2000。 Abstract Student status management system is development two aspects that typical information management system (MIS), its development includes primarily the background database creates with support and the front end applies the procedure. Creates to rise to the former request the consistency of data is strong with the integrity, the library that the safeness of data like. But request the latter very much to apply the procedure function complete, easy usage etc. characteristics. This system completes primarily to students circumstance with the management of students score, include the database the inside the watch increase, modify, delete etc The system can also complete to the browsing various information, search, increase, delete, modify, and table-report etc. function. System of nucleus is other table in an influence for of relation, each a modification of watch moving in a table in database that modification that operation hour system, be to complete the logarithms according to will complete the database of oneself. Search the function is also one of the nucleus of the system, having namely in system the single condition search to search with many conditions, also having the accurate search to search with blur, system not only contain static condition search, also have the dynamic born condition search, its purpose is all for the sake of the convenient consumer to use. System contain complete consumer increase, delete to modify the function with the password, the union has the report prints the function. Through analysis, we use the Microsoft company Visual Basic development tool, making use of its every kind of the tool of development that provide that face to the object, particularly is intelligence that the window of data this on canning be convenient but manipulate the database in brief to turn the object, create in the in a short time first system application prototype, then, start to the beginning the prototype system proceeds to require with the iteration, revising continuously with improve, until forming the consumer is satisfied can row system. Keywords: Control piece, Form, Database, MIS, VB6.0, SQL Server 2000. 目 錄 ABSTRACTABSTRACT 2 1.1 系統(tǒng)需求分析7 1.2 系統(tǒng)的初步調(diào)查7 1.2.1 開發(fā)學(xué)籍管理系統(tǒng)的目的.7 1.2.2 業(yè)務(wù)流程分析8 1.2.3 數(shù)據(jù)流程分析:10 數(shù)據(jù)流程圖:.10 1.2.2 選題背景及意義.11 1.3 開發(fā)工具的選用.11 1.3.1 Visual Basic 的使用11 1.3.2 SQL Server 2000 的使用12 1.4 系統(tǒng)的可行性研究13 1.4.1 技術(shù)上的可行性.13 1.4.2 管理上的可行性.13 1.4.3 安全上的可行性.13 1.5 系統(tǒng)性能分析13 1.5.1 系統(tǒng)的安全性.13 1.5.2 系統(tǒng)的快捷性.14 1.5.3 系統(tǒng)的準確性.14 1.5.4 系統(tǒng)的嚴謹性.14 第第 2 章章 概要設(shè)計概要設(shè)計.14 2.1 系統(tǒng)設(shè)計思路分析15 2.1.1 界面.15 2.1.2 用戶登錄.15 2.1.3 學(xué)籍信息內(nèi)容查詢和錄入.15 2.1.4 數(shù)據(jù)庫分析.15 2.2 設(shè)計簡述15 2.2.1 VB 設(shè)計的界面簡述15 2.2.2 系統(tǒng)簡圖.16 第第 3 章章 系統(tǒng)的分析與設(shè)計系統(tǒng)的分析與設(shè)計.16 3.1 數(shù)據(jù)庫的分析與設(shè)計17 3.1.1 關(guān)系型數(shù)據(jù)庫簡介.17 3.1.2 系統(tǒng)數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計.18 3.2 應(yīng)用程序的分析與設(shè)計20 3.2.1 應(yīng)用程序的界面選擇與設(shè)計.20 3.2.2 應(yīng)用程序的功能模塊.21 3.2.3 應(yīng)用程序的結(jié)構(gòu).22 第第 4 章章 詳細設(shè)計詳細設(shè)計.23 4.1 系統(tǒng)登錄23 4.1.1 數(shù)據(jù)庫登錄的設(shè)計.24 4.1.2 系統(tǒng)登錄的設(shè)計.26 4.2 學(xué)籍管理系統(tǒng)主界面設(shè)計29 4.2.1 應(yīng)用程序主界面的窗體設(shè)計.29 4.2.2. 應(yīng)用程序界面的代碼實現(xiàn).31 4.3 數(shù)據(jù)錄入窗體的設(shè)計37 4.3.1 學(xué)生信息的錄入.38 4.3.2 學(xué)生成績的錄入.43 4.4 通用查詢模塊的設(shè)計46 4.4.1 利用 ActiveX DLL 設(shè)計一個通用查詢模塊46 4.4.2 通用查詢模塊在系統(tǒng)中的應(yīng)用.50 4.5 報表打印模塊的設(shè)計51 4.5.1 利用報表設(shè)計器制作報表.51 4.5.2 通用報表打印模塊的制作.54 4.6 學(xué)生信息管理及系統(tǒng)用戶管理58 4.6.1 學(xué)生信息管理.59 4.6.2 用戶管理模塊的設(shè)計與開發(fā).61 4.7 學(xué)生成績信息統(tǒng)計64 4.7.1學(xué)生成績統(tǒng)計功能的實現(xiàn)65 第第 5 章章 心得體會心得體會.68 5.1 界面設(shè)計的一些原則68 5.2 代碼編寫的一些原則70 前 言 近年來隨著高校體制的不斷改革與發(fā)展,我國在校大中專學(xué)生的人數(shù)也在 不斷擴大,給各大中專院校的學(xué)生管理工作帶來了諸多不便。學(xué)籍管理系統(tǒng)是 一個教育單位不可缺少的部分,它的內(nèi)容對于學(xué)校的決策者和管理者來說都至關(guān) 重要,所以學(xué)籍管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。但 一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺 點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、 更新和維護都帶來了不少的困難。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成 熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越 來越重要的作用。作為計算機應(yīng)用的一部分,使用計算機對學(xué)籍信息進行管理, 具有手工管理所無法比擬的優(yōu)點.例如:檢索迅速、查找方便、可靠性高、存儲 量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學(xué)生檔案管理 的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。因此,開發(fā) 這樣一套學(xué)籍管理軟件成為很有必要的事情。 學(xué)籍管理系統(tǒng)是典型的信息管理系統(tǒng)(MIS),它是一個基于 C/S 模式下,以 面向?qū)ο鬄殚_發(fā)語言的學(xué)籍管理系統(tǒng)。其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維 護以及前端應(yīng)用程序的開發(fā)兩個方面。對于前者要求數(shù)據(jù)的一致性、完整性和 安全性。而對于后者則要求應(yīng)用程序功能完備,方便使用等特點。 第 1 章 可行性研究及需求分析 1.1 系統(tǒng)需求分析 近年來隨著高校體制的不斷改革與發(fā)展,我國在校大中專學(xué)生的人數(shù)也在 不斷擴大,給各大中專院校的學(xué)生管理工作帶來了諸多不便。隨著教育的普及, 各高等院校也在不斷的提高教學(xué)質(zhì)量和學(xué)校管理質(zhì)量,而學(xué)校管理就是對學(xué)生 在校情況的管理,重要的是學(xué)生的學(xué)籍管理,因為學(xué)籍是學(xué)生在校學(xué)習(xí)的憑證, 而學(xué)籍又包括確定招生計劃進行招生錄取工作;學(xué)生的基本情況、各科的成績、 總成績(或總學(xué)分) 、獎懲;制定教學(xué)計劃,最后在學(xué)生離校時做出學(xué)生在校學(xué) 習(xí)情況的總結(jié)。由于學(xué)校和在校學(xué)生是一對多的關(guān)系,因此,學(xué)籍的管理是一 個工作量大而又繁雜的工作。而由于信息管理是建立在龐大的數(shù)據(jù)庫中的,如 何建立學(xué)生信息庫是進行自動化學(xué)籍管理的一個重要問題。 高等院校學(xué)籍管理比較復(fù)雜,工作量很大,在過去,學(xué)校里面往往采用人 工方式進行,可以想象其工作難度之大,需要的操作人員之多,既費工又費時, 尤其是它的錄入與統(tǒng)計工作,更是一項非常艱苦的工作。所以需要一種能夠智 能管理的計算機系統(tǒng)。數(shù)據(jù)庫能很方便的進行數(shù)據(jù)的統(tǒng)計和錄入工作,這對有 大量數(shù)據(jù)的編輯有重要的作用。所以學(xué)校在學(xué)籍管理上很需要一個自動化,智 能化的計算機學(xué)籍管理系統(tǒng)。在此,以一個學(xué)校的小型學(xué)籍信息管理系統(tǒng)的開 發(fā)為試驗,其作用主要是對學(xué)校學(xué)生信息檔案、成績進行錄入、查詢、維護、 統(tǒng)計、打印輸出等操作。 1.2 系統(tǒng)的初步調(diào)查 1.2.1 開發(fā)學(xué)籍管理系統(tǒng)的目的 學(xué)校每年都有新生入學(xué)、老生畢業(yè),還有其他各種人事變動。如何有效的 管理這些學(xué)生信息,幫助學(xué)校和老師掌握學(xué)生的情況,這就是學(xué)籍管理系統(tǒng)需 要完成的功能及開發(fā)目的;另外,為使本軟件的功能完善、功能更強大,還包 括與學(xué)生信息有關(guān)的管理功能,例如成績管理等功能。 經(jīng)過大學(xué)四年學(xué)習(xí),開發(fā)軟件有了一定的基礎(chǔ),為使開發(fā)軟件的經(jīng)驗進一 步提高和適應(yīng)社會發(fā)展,與同組軟件開發(fā)人員共同努力學(xué)習(xí)、提高軟件開發(fā)的 經(jīng)驗。 1.2.21.2.2 業(yè)務(wù)流程分析業(yè)務(wù)流程分析 班級管理業(yè)務(wù)流程圖: 教務(wù)處輸入計算機 班主任教務(wù)處 學(xué) 生 班 級 班 級 輸 出 學(xué)籍管理業(yè)務(wù)流程圖: 課程管理業(yè)務(wù)流程圖: 成績管理業(yè)務(wù)流程圖: 教務(wù)處輸入計算機 班主任教務(wù)處 學(xué) 生 檔 案 檔案 輸出 課程 教務(wù)處輸入計算機 教師教務(wù)處 學(xué) 生 課 程 輸出 教務(wù)處輸入計算 機 班主任教務(wù)處 學(xué) 生 班 級 班 級 輸 出 教務(wù)處輸入計算機 教師教務(wù)處 學(xué) 生 成 績 教 師 輸 1.2.31.2.3 數(shù)據(jù)流程分析:數(shù)據(jù)流程分析: 數(shù)據(jù)流程圖: 由于本系統(tǒng)的數(shù)據(jù)模塊較多,下面僅以學(xué)生成績管理模塊為例來進行編制。 下圖為學(xué)籍管理系統(tǒng)數(shù)據(jù)流程圖:下圖為學(xué)籍管理系統(tǒng)數(shù)據(jù)流程圖: 。 學(xué)生注冊 獎懲信息管理 學(xué)籍信息管理基本信息管理課程信息管理 成績信息管理 基本信息輸入 課程信息輸入 成績信息輸入 入 獎懲信息輸入 學(xué)籍信息輸入 1.2.2 選題背景及意義 隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展、計算機與全球互連網(wǎng)絡(luò) Internet 相連接, 使今天的社會進入了以計算機為核心的社會。在信息社會中,信息的獲取、處 理、交流和決策都需要大量高質(zhì)量的處理工具。在這高科技時代,信息的處理 是十分重要,如果用原始的方式進行處理,我們就會跟不上時代的進展;我們 需用高科技時代的產(chǎn)品。學(xué)生信息的管理是每個學(xué)校工作中一項非常重要的工 作,要投入很大的人力進行管理。如果開發(fā)一套學(xué)籍管理系統(tǒng)軟件將具有十分 重要的意義,可以減少人力資源在這方面的投入,而更多的投入教學(xué)或其它工 作中。 信息社會的高科技,商品經(jīng)濟化的高效益,使計算機的應(yīng)用已普及到經(jīng)濟 和社會生活的各個領(lǐng)域。計算機雖然與人類的關(guān)系愈來愈密切,還有人由于計 算機操作不方便繼續(xù)用手工勞動。為了適應(yīng)現(xiàn)代社會人們高度強烈的時間觀念, 學(xué)籍管理系統(tǒng)為教學(xué)辦公室?guī)砹藰O大的方便。使用者可以了解本系統(tǒng)的基本 工作原理。操作人員只需輸入一些簡單的漢字、數(shù)字就可以實現(xiàn)工作要求的操 作。 所開發(fā)系統(tǒng)主要是對高等院校的學(xué)生學(xué)籍信息進行管理,而不對其他公司 或單位內(nèi)容進行涉及。在對學(xué)籍信息的管理中,對管理員賦予所有的權(quán)限,即 既有具有查詢的權(quán)限,又具有對數(shù)據(jù)庫進行錄入和修改的功能,以及對數(shù)據(jù)庫 進行清空的功能。由于該系統(tǒng)主要應(yīng)用在學(xué)院內(nèi)部使用,而不在網(wǎng)絡(luò)上公開, 因此在設(shè)計開發(fā)時可以做成單機版。 1.3 開發(fā)工具的選用 1.3.1 Visual Basic 的使用 Visual Basic 是 Microsoft 公司推出的一個可視化的面向?qū)ο蟮膽?yīng)用程 序開發(fā)工具。由于 VB 繼承了 Basic 語言簡單、易學(xué)的優(yōu)點,又增強了可視化、 數(shù)據(jù)庫及 Internet 編程功能,因此很快便成為開發(fā) Windows 應(yīng)用程序的有效工 具。在本次設(shè)計中只所以采用 VB 進行開發(fā),主要是以為 VB 具有以下兩大特點: 1.面向?qū)ο缶幊?傳統(tǒng)的結(jié)構(gòu)化語言(如 C,Pascal 和 Basic 等)都是采用面向過程的編程 方法來解決問題。在面向過程的編程方法中,代碼和數(shù)據(jù)是分離的,由此帶來 了很多缺陷,其中最重要的就是程序的可維護性差。面向?qū)ο缶幊?(OOP:Object Oriented Programming)則把數(shù)據(jù)和處理數(shù)據(jù)的代碼封裝到一 個類中,類的實例就是對象。與面向?qū)ο蟮木幊谭椒ㄏ啾?,面向?qū)ο缶幊谭椒?有三個優(yōu)點:1)程序易于閱讀和理解;2)程序易于修改;3)對象能重復(fù)使用 多次,即程序員可以隨時根據(jù)需要將對象插入到程序中去。 2.事件驅(qū)動的編程機制 在面向?qū)ο蟮木幊谭椒ㄖ?,每個程序通常包含一個主程序和若干個子程序, 由某個子程序來處理某個小問題,再由主程序自頂向下調(diào)用各個子程序來逐步 解決整個問題。VB 徹底解決了這種編程機制。在 VB 中,沒有傳統(tǒng)意義上的主 程序,程序執(zhí)行通過事件來驅(qū)動,即只有在事件發(fā)生時,程序才會執(zhí)行,若沒 有發(fā)生任何事件,則處于停滯等待狀態(tài)。 事件驅(qū)動使得用 VB 編程沒有必要建 立明顯的開始和結(jié)束程序,而只需編寫若干微小的子程序,這些子程序分別由 各種事件來驅(qū)動執(zhí)行。由于子程序規(guī)模不大、功能單一,因此編程難度得意大 大降低。 本次畢業(yè)設(shè)計需要用一種新軟件來開發(fā)學(xué)習(xí),但是接觸一門新的軟件往往 上手容易,使用起來很困難,而且這次畢業(yè)設(shè)計時間短,任務(wù)重。顯然使用非 常復(fù)雜的軟件進行開發(fā)是不太現(xiàn)實的。而 Visual Basic 簡單易懂,控件的操作 簡單方便,且集成了多種開發(fā)和應(yīng)用軟件,使用的人比較多,方便在一起討論 學(xué)習(xí),所以在這次設(shè)計中,我采用了 VB 作為主要的開發(fā)工具。 1.3.2 SQL Server 2000 的使用 Microsoft SQL Server 2000 是為當前的分布式客戶機/服務(wù)器環(huán)境特別設(shè) 計的,SQL Server 數(shù)據(jù)庫能夠輕而易舉的通過 Internet 和內(nèi)部網(wǎng)絡(luò)加以訪問。 SQL Server 提供了一系列方法將數(shù)據(jù)庫填充到 Web 服務(wù)器,同時提供了對數(shù)據(jù) 的快捷訪問。它是一個可伸縮、高效能的數(shù)據(jù)庫管理系統(tǒng),具備內(nèi)置的復(fù)制能 力、Internet 集成、開放系統(tǒng)體系結(jié)構(gòu)以及其強大的基于 GUI 的數(shù)據(jù)庫管理工 具。它的一個獨特功能是基于服務(wù)器的作業(yè)調(diào)度系統(tǒng),允許直觀的控制多個服 務(wù)器和遠程操作。這極大地增強了數(shù)據(jù)庫的性能和可靠性。 SQL Server 的主要功能: 支持客戶機/服務(wù)器模型; 操作系統(tǒng)兼容性; 多平臺支持; 多協(xié)議兼容性; 數(shù)據(jù)倉庫; 數(shù)據(jù)復(fù)制。 1.4 系統(tǒng)的可行性研究 1.4.1 技術(shù)上的可行性 由于 VB 語言簡單、易學(xué)的優(yōu)點,又增強了可視化、數(shù)據(jù)庫及 Internet 編 程功能,很容易就可以進行系統(tǒng)開發(fā)。因此系統(tǒng)開發(fā)工具可以采用 Visual Basic 進行開發(fā)。而對數(shù)據(jù)庫的建立,由于建立的數(shù)據(jù)庫主要是對學(xué)籍的信息 進行管理,所以可以采用微軟公司開發(fā)的 Microsoft SQL Server 2000。該軟 件簡單易懂,應(yīng)用廣泛,比較適合開發(fā)數(shù)據(jù)庫軟件使用,而且建立的數(shù)據(jù)庫較 為安全。 1.4.2 管理上的可行性 因為系統(tǒng)主要應(yīng)用于學(xué)院內(nèi)部,而不具備網(wǎng)絡(luò)查找功能,因此在實現(xiàn)時可 以做成單機版,對管理員賦予數(shù)據(jù)錄入、查詢、修改以及對數(shù)據(jù)庫的清零等功 能。 1.4.3 安全上的可行性 在建立數(shù)據(jù)庫時可以通過對數(shù)據(jù)庫的設(shè)計用戶名和密碼進行保密,以及在 建立數(shù)據(jù)庫以后可以對數(shù)據(jù)進行壓縮等技術(shù),保證數(shù)據(jù)的安全,使數(shù)據(jù)庫具有 安全保障。 1.5 系統(tǒng)性能分析 1.5.1 系統(tǒng)的安全性 所開發(fā)系統(tǒng)必須保證系統(tǒng)的安全,必須保證系統(tǒng)數(shù)據(jù)庫不能被任意修改, 系統(tǒng)不容易被病毒侵蝕。對光纖信息數(shù)據(jù)庫只有 管理員才能進行錄入,修改和 刪除。 1.5.2 系統(tǒng)的快捷性 系統(tǒng)必須快速準確的對所做的操作做出反映,不能出現(xiàn)長時間的延遲和錯 誤或者莫名其妙的死機。 1.5.3 系統(tǒng)的準確性 系統(tǒng)必須準確的對所做的操作做出反映,要保證所輸出結(jié)果的準確無誤。 1.5.4 系統(tǒng)的嚴謹性 所開發(fā)系統(tǒng)必須嚴謹,不能隨意被修改,不能隨意被人下載源代碼。 第 2 章 概要設(shè)計 2.1 系統(tǒng)設(shè)計思路分析 2.1.1 界面 用 VB 設(shè)計基礎(chǔ)界面,在初步設(shè)計時,可以只對窗體進行設(shè)計,而不涉及程 序的內(nèi)容,待窗體設(shè)計完畢后,再進行程序編程,這也是 VB 的優(yōu)點之一。 2.1.2 用戶登錄 用戶登錄時,用戶信息進入存放用戶名和密碼的數(shù)據(jù)庫,若表中已有此用 戶名,則給出提示,進入系統(tǒng),若沒有此用戶名,則給出提示,返回用戶登錄 界面。 2.1.3 學(xué)籍信息內(nèi)容查詢和錄入 查詢結(jié)果可以通過網(wǎng)格輸出,輸出時顯示各個學(xué)籍信息的漢字意義。在管 理員進行錄入工作時,對所輸入信息插入數(shù)據(jù)庫內(nèi),并保證其安全和主屬性的 唯一。 2.1.4 數(shù)據(jù)庫分析 在系統(tǒng)實現(xiàn)時,可以建立一個數(shù)據(jù)庫,但是建立多個表。對用戶名和密碼, 設(shè)計一個用戶密碼表包括“用戶名”和“密碼”兩個字段;建立學(xué)生情況、教 師情況、班級情況、教學(xué)計劃等固定表;在建立成績數(shù)據(jù)表時,考慮到各專業(yè) 和班級的課程不相同,建立統(tǒng)一的表比較困難。所以讓系統(tǒng)管理員按照實際情 況動態(tài)的建立數(shù)據(jù)表,但要保證所查詢出的結(jié)果完全滿足用戶的需求。 2.2 設(shè)計簡述 2.2.1 VBVB設(shè)計的界面簡述 漂亮界面,這個窗體要求漂亮,做成通用窗體的效果。登錄界面,要求管 理員輸入帳戶密碼,并根據(jù)密碼是否正確決定進入主界面。主界面,用向?qū)?成,可以通過各個菜單調(diào)用各種功能,并可以通過樹形結(jié)構(gòu)瀏覽數(shù)據(jù)庫中的表。 新建畢業(yè)生表,要求可以生成以畢業(yè)年份命名的畢業(yè)生信息表,具體表中的字 段由管理員決定。數(shù)據(jù)輸入,可以在這個窗體中對數(shù)據(jù)庫中的任意表進行添加、 修改、刪除等操作。數(shù)據(jù)導(dǎo)入,管理員可以把 Excel 表中的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫 中。查找向?qū)?,可以根?jù)各種條件對學(xué)生進行查找,并顯示。成績查詢,對成 績進行單人或者課程查詢。打印管理,管理員可以打印單人或者本課程的成績, 并且對打印的字段進行設(shè)置。幫助信息,說明作者,版本信息。 2.2.2 系統(tǒng)簡圖 歡迎界面 學(xué) 籍 信 息 庫 用戶登錄退出 打印報表 零 學(xué)生查詢數(shù)據(jù)導(dǎo)入數(shù)據(jù)輸入建立新 表 登錄成功 主界面 成績查詢 版本信息 創(chuàng)建輸入輸入讀出讀出讀出 退出 第 3 章 系統(tǒng)的分析與設(shè)計 在開發(fā)系統(tǒng)之前,需要先對系統(tǒng)進行分析與設(shè)計,進而確定系統(tǒng)的設(shè)計方 案并且實現(xiàn)之。 對于數(shù)據(jù)庫應(yīng)用系統(tǒng)而言,其具體的分析、規(guī)劃與設(shè)計大體上可以分為數(shù) 據(jù)庫的分析與設(shè)計、應(yīng)用程序的分析與設(shè)計兩大部分。其中,數(shù)據(jù)庫的分析與 設(shè)計非常重要。合理的數(shù)據(jù)庫設(shè)計和建設(shè)是數(shù)據(jù)庫應(yīng)用系統(tǒng)成功的關(guān)鍵。 3.1 數(shù)據(jù)庫的分析與設(shè)計 系統(tǒng)中所用的 SQL Server 2000 數(shù)據(jù)庫屬于關(guān)系型數(shù)據(jù)庫。有關(guān)它的一些方 法和原則說明如下。 3.1.1 關(guān)系型數(shù)據(jù)庫簡介 關(guān)系型數(shù)據(jù)庫是以關(guān)系型數(shù)據(jù)庫為基礎(chǔ)的數(shù)據(jù)庫,是根據(jù)表、記錄和字段 之間的關(guān)系進行組織和訪問的一種數(shù)據(jù)庫,它通過若干個表(Table)來存取 數(shù)據(jù),并且通過關(guān)系(Relation)將這些表聯(lián)系在一起。關(guān)系數(shù)據(jù)庫提供了結(jié) 構(gòu)化查詢語言(SQL)的標準接口。目前,關(guān)系型數(shù)據(jù)庫是應(yīng)用最為廣泛的數(shù) 據(jù)庫。 關(guān)系型數(shù)據(jù)庫中的基本概念如下: 表:由行和列組成的數(shù)據(jù)集合,用于存儲數(shù)據(jù)。 字段:用于表示實體屬性的符號集。數(shù)據(jù)庫中的每一列稱為一個字段。 表是由他所包含的各種字段定義的,每個字段描述了他所含有的數(shù)據(jù)。 關(guān)鍵字:一般的,需要在表中定義一個字段(或多個字段) ,用于快速 檢索。一個表的主關(guān)鍵字用來唯一的標志表的每行。 索引:索引是根據(jù)數(shù)據(jù)庫表中記錄的關(guān)鍵字值對數(shù)據(jù)庫表中的記錄進 行分類。索引用來提高數(shù)據(jù)庫記錄的存取速度。 視圖:與表相關(guān),可以根據(jù)一定的條件選取或組織一個或多個表中的數(shù) 據(jù),構(gòu)成一個更易于操作的數(shù)據(jù)對象,其實質(zhì)是虛擬表。 存儲過程:是一組被編輯在一起,用以執(zhí)行特定功能的 SQL 語句;這 些語句通常是被編譯過的,執(zhí)行速度比較快。 觸發(fā)器:類似于存儲過程,但觸發(fā)器的執(zhí)行是自動的。 關(guān)系型數(shù)據(jù)庫一般可以分為兩大類:一類是桌面數(shù)據(jù)庫,例如 Access、FoxPro 等;另一類是客戶機/服務(wù)器數(shù)據(jù)庫,例如 SQL Server、Oracle 等。 一般而言,桌面數(shù)據(jù)庫用于小型的、單機的數(shù)據(jù)庫應(yīng)用程序;客戶機/服務(wù) 器數(shù)據(jù)庫用于大型的、多用戶的數(shù)據(jù)庫管理系統(tǒng)。 3.1.2 系統(tǒng)數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計 一個數(shù)據(jù)庫應(yīng)用程序的開發(fā),其數(shù)據(jù)庫的設(shè)計是至關(guān)重要的一個環(huán)節(jié)。好 的數(shù)據(jù)庫設(shè)計能夠大大簡化開發(fā)的難度,提高開發(fā)工作的效率。 在設(shè)計關(guān)系型數(shù)據(jù)庫時,一般需要遵循如下幾條規(guī)則: (1) 表中的數(shù)據(jù)必須規(guī)則完整:一個數(shù)據(jù)庫,為了數(shù)據(jù)本身的完整,需 要設(shè)置許多規(guī)則。例如,人的年齡不能為負數(shù),如果年齡字段出現(xiàn) 了負數(shù),數(shù)據(jù)庫將發(fā)生錯誤,這就稱為數(shù)據(jù)規(guī)則完整。 (2) 滿足數(shù)據(jù)的完整性:數(shù)據(jù)完整性指的主要是限制數(shù)據(jù)庫內(nèi)可能出現(xiàn) 的值,以保證數(shù)據(jù)庫的有效性。 為了保證數(shù)據(jù)完整性,需要注意: (1) 實體完整性:表的主關(guān)鍵字段的任何部分不能為 MULL。 (2) 參考完整性:如果在一個表中含有與另外一個表的主關(guān)鍵字相對應(yīng) 的字段,那么這個字段上的值必須取空值,或者是等于另外一個表 中的主關(guān)鍵字的值。 (3) 在設(shè)計數(shù)據(jù)庫表時必須規(guī)范化。 為了確保數(shù)據(jù)庫設(shè)計時做到規(guī)范化,定義了如下的一些基本規(guī)則,稱為范 式。 第一范式。指定記錄中的指定字段只能包含一個值。這就防止在單個 記錄中的任何重復(fù)的組別。 第二范式。任何非關(guān)鍵字字段必須取決于主關(guān)鍵字中的所有字段。解 決的辦法通常是將不規(guī)則的字段移到更合適的表。該范式還規(guī)定了兩 個或更多的表不可以有相同的主關(guān)鍵字。 第三范式。非關(guān)鍵字的字段不能取決于另一個非關(guān)鍵字字段。 第四范式。這種范式禁止在主要關(guān)鍵字字段與非關(guān)鍵字字段之間的多 重的、獨立的、一對多的關(guān)系。要完成第四范式,就必須為每一個一 對多的關(guān)系創(chuàng)建各自的表。 第五范式。這種范式經(jīng)常被忽略。它主要將一個表分割成最小可能的 片斷,以消除冗余。 上述 5 種范式是設(shè)計數(shù)據(jù)庫時需要遵循的準則,一般而言,數(shù)據(jù)庫設(shè)計應(yīng) 該確保能夠遵循第三范式,第四范式和第五范式相對而言用得比較少。 下面是本系統(tǒng)數(shù)據(jù)庫的具體設(shè)計。 1. 數(shù)據(jù)庫中表的結(jié)構(gòu) 學(xué)籍管理系統(tǒng)中,建立的數(shù)據(jù)庫名稱為 Students.其中關(guān)于學(xué)生的個人信 息主要存放在學(xué)生信息表(uStudBaseInfo)和學(xué)生附加信息表 (uStudInfoAdd)兩個表中,兩個數(shù)據(jù)庫表的主關(guān)鍵字都是“學(xué)號” 。 在學(xué)籍管理系統(tǒng)中,比較重要的數(shù)據(jù)表還包括課程信息表 (uCoursesInfo)和學(xué)生成績表(uScoreInfo)。這兩個表用來存放學(xué)校開設(shè)的 課程的一些基本信息以及學(xué)生考試的成績信息,數(shù)據(jù)庫的主關(guān)鍵字是“課程代 號” 。 另外,在系統(tǒng)中還將用到開除學(xué)生表(uExpelStudInfo)、畢業(yè)學(xué)生表 (uGradStudInfo_XXXX)等數(shù)據(jù)庫表。這些表是在程序代碼中自動創(chuàng)建生成的, 具有和學(xué)生基本信息表(uStudBaseInfo)相同的結(jié)構(gòu)。 除了上述數(shù)據(jù)庫表之外,在數(shù)據(jù)庫設(shè)計中還用到了視圖(View),該視圖 是對學(xué)生成績信息的一個綜合描述,創(chuàng)建成績視圖(v_ScoreInfo)所用到的 SQL 語句如下所示: SELECT TOP 100 PERCENT dbo.uScoreInfo.課程代號,dbo.uCoursesInfo.課程名稱, dbo.uScoreInfo.學(xué)號, dbo.uStudBaseInfo.姓名, dbo.uStudBaseInfo.所屬班級,dbo.uCoursesInfo.學(xué)期, dbo.uCoursesInfo.學(xué)分, dbo.uScoreInfo.成績 FROM dbo.uScoreInfo INNER JOIN dbo.uStudBaseInfo ON dbo.uScoreInfo.學(xué)號 = dbo.uStudBaseInfo.學(xué)號 INNER JOIN dbo.uCoursesInfo ON dbo.uScoreInfo.課程代號 = dbo.uCoursesInfo.課程代號 ORDER BY dbo.uScoreInfo.學(xué)號 該視圖分別從 3 個表中獲取所需要的數(shù)據(jù),形成一個完整的學(xué)生成績信息 表(視圖) ,使得用戶對學(xué)生成績信息的瀏覽和操作更加方便。 2. 表之間的實體關(guān)系 學(xué)生基本信息表與學(xué)生附加信息表應(yīng)該具有同步更新的功能,即這兩個表 中的記錄是一一對應(yīng)的;另外,學(xué)生的成績表與學(xué)生基本信息表以及課程信息 表也有著對應(yīng)關(guān)系。 3.2 應(yīng)用程序的分析與設(shè)計 數(shù)據(jù)庫設(shè)計完成后,就開始進入具體的應(yīng)用程序設(shè)計與分析設(shè)計階段。應(yīng) 用程序的分析與設(shè)計主要包括應(yīng)用程序各個功能模塊的總體規(guī)劃與分析、應(yīng)用 程序界面的選擇與設(shè)計以及應(yīng)用程序結(jié)構(gòu)的選擇等部分。 3.2.1 應(yīng)用程序的界面選擇與設(shè)計 目前常見的應(yīng)用程序的界面方案有基于對話框的應(yīng)用程序界面、單文檔界 面和多文檔界面。其中,如果應(yīng)用程序的功能比較單一、操作比較少時,往往 選用基于對話框的應(yīng)用程序界面?;趯υ捒虻膽?yīng)用程序界面主要特點就是簡 潔,具有一定的交互性。 單文檔(SDI)與多文檔(MDI)應(yīng)用程序常常用于一些比較復(fù)雜的情況。 單文檔與多文檔最明顯的區(qū)別就是單文檔應(yīng)用程序的各個界面窗體是相互獨立 的,而多文檔應(yīng)用程序的各個窗體要由 MDI 父窗體控制,集中在 MDI 窗體的客 戶區(qū)之內(nèi)。 盡管 Microsoft 公司在其 Word 2000 的產(chǎn)品中開始從 MDI 環(huán)境轉(zhuǎn)向 SDI 環(huán)境,在本系統(tǒng)中還是采用了 MDI 的界面風(fēng)格。具體原因如下: 由于系統(tǒng)中涉及到的窗體比較多,如果采用 SDI 應(yīng)用程序,那么這些 窗體將各自獨立地出現(xiàn)屏幕上。很難用一種方便,容易的手段來對這 些窗體進行統(tǒng)一的管理。 采用多文檔界面,應(yīng)用程序的各個窗體都作為多文檔界面的一個字窗 體,這樣有便于統(tǒng)一控制這些窗體;同時,由于這些窗體將出現(xiàn)在 MDI 的客戶區(qū)范圍之內(nèi)而不是在屏幕之上,因此對于整個操作系統(tǒng)而 言,界面將會顯得更加整潔一些。 基于上述原因,本系統(tǒng)選用了多文檔窗體的界面風(fēng)格。 選擇了窗體風(fēng)格之后,就需要進行更細致的界面設(shè)計。對于標準的 Windows MDI 應(yīng)用程序而言,至少需要為應(yīng)用程序提供菜單以執(zhí)行相應(yīng)的操 作。另外,在必要時,工具欄和狀態(tài)欄也是需要的,它們能提供一些快捷的操 作方式并且能夠顯示出當前系統(tǒng)的狀態(tài)與用戶進行交互。 目前一種比較流行的應(yīng)用程序界面設(shè)計是為應(yīng)用程序提供一個目錄樹,利 用目錄樹來執(zhí)行一些特定的應(yīng)用程序功能。另外,目錄樹也具有導(dǎo)航功能。在 數(shù)據(jù)庫應(yīng)用程序中,利用目錄樹來執(zhí)行對數(shù)據(jù)庫數(shù)據(jù)的操作也是一種比較好的 方法。 基于以上分析,學(xué)籍管理應(yīng)用程序的主界面將采用 MDI 應(yīng)用程序,并且提 供了菜單,工具欄,狀態(tài)欄以及一個用于操作的目錄樹。 3.2.2 應(yīng)用程序的功能模塊 圖 3-1 應(yīng)用程序的功能模塊結(jié)構(gòu)圖 學(xué)籍管理應(yīng)用系統(tǒng)主要包括學(xué)生管理、成績管理和用戶管理 3 個大模塊, 各個模塊的具體功能如圖 3-1 所示。 上述功能模塊包含于應(yīng)用程序主界面的窗體菜單(或目錄樹)和相應(yīng)的子 窗體中,具體的代碼實現(xiàn)詳見源代碼。 3.2.3 應(yīng)用程序的結(jié)構(gòu) 當前應(yīng)用得比較多的應(yīng)用程序系統(tǒng)的結(jié)構(gòu)與客戶機/服務(wù)器(C/S)結(jié)構(gòu)和 瀏覽器/服務(wù)器結(jié)構(gòu)(B/S) 。其中,C/S 結(jié)構(gòu)又分為兩層結(jié)構(gòu)和三層結(jié)構(gòu)。 兩層結(jié)構(gòu)的 C/S 結(jié)構(gòu)就是客戶端應(yīng)用程序通過 ODBC、SQL Link、 TCP/IP 直接連接數(shù)據(jù)局服務(wù)器進行通信,并完成數(shù)據(jù)的添加、修改、刪除和 檢索等操作。 兩層的 C/S 結(jié)構(gòu)存在一定的缺點: 兩層 C/S 結(jié)構(gòu)中,客戶端應(yīng)用程序直接連接數(shù)據(jù)庫服務(wù)器,這樣數(shù)據(jù) 庫服務(wù)器將消耗一定的資源以處理與客戶端的連接工作。如果連接工 作比較頻繁的話,數(shù)據(jù)庫服務(wù)器的效率將會不斷下降。 兩層 C/S 結(jié)構(gòu)中,只有惟一的一個在線的數(shù)據(jù)庫服務(wù)器,這將使得系 統(tǒng)可靠性降低。 兩層 C/S 結(jié)構(gòu)的應(yīng)用程序分布比較麻煩,需要一些 DLL 的支持。另外, 每個客戶端還需要進行相應(yīng)的配置以連接數(shù)據(jù)庫,例如 ODBC 的配置。 三層的 C/S 結(jié)構(gòu)在兩層結(jié)構(gòu)的基礎(chǔ)上加入了新的業(yè)務(wù)邏輯層,業(yè)務(wù)邏輯層 負責(zé)數(shù)據(jù)庫與客戶端的連接工作,起到了一個中繼的作用:一方面向數(shù)據(jù)庫服 務(wù)器傳遞客戶端的請求,一方面將數(shù)據(jù)庫服務(wù)器的處理結(jié)果返回客戶端。這是 得數(shù)據(jù)庫服務(wù)旗只需要相應(yīng)客戶端的請求,減輕了服務(wù)器的工作服負擔,提高 了其工作效率。 盡管兩層的 C/S 結(jié)構(gòu)存在一定的缺點,然而作為一種成熟的應(yīng)用程序結(jié)構(gòu) 模型,兩層結(jié)構(gòu)具有開發(fā)難度小,維護和使用比較方便的優(yōu)點。而且,對于學(xué) 校內(nèi)部的學(xué)籍管理系統(tǒng)而言,由于系統(tǒng)本身處于校園之內(nèi),數(shù)據(jù)安全性能夠得 到一定的保障,而且對數(shù)據(jù)處理效率的要求并不太高,因此本系統(tǒng)仍然采用了 傳統(tǒng)的兩層 C/S 結(jié)構(gòu)來進行開發(fā)。 另外,應(yīng)用程序系統(tǒng)在訪問數(shù)據(jù)庫時,采用了 ODBC 數(shù)據(jù)源+ADO 的方式。 利用 ODBC 設(shè)置,可以比較靈活的配置服務(wù)器數(shù)據(jù)庫;而采用 ADO 模型來進 行數(shù)據(jù)庫編程將使得應(yīng)用程序更加靈活,并能利用 ADO 提供的強大而又完善 的數(shù)據(jù)庫功能。 第 4 章 詳細設(shè)計 4.1 系統(tǒng)登錄 程序啟動 讀取注冊表中信息 用注冊表信息連接數(shù)據(jù)庫 系統(tǒng)登錄 成功 配置 ODBC 重寫注冊表 用注冊表信息 連接數(shù)據(jù)庫 啟動系統(tǒng) 成功 成功 成功 成功 失敗 失敗 失敗 圖 4-1 程序啟動,用戶登錄數(shù)據(jù)庫流程圖 應(yīng)用程序要求使用者進行登錄,以便確認使用者的身份以及使用權(quán)限。在 數(shù)據(jù)庫應(yīng)用程序中,用戶身份及其對系統(tǒng)的使用權(quán)限尤其顯得重要。在本系統(tǒng) 中,用到的系統(tǒng)登錄技術(shù)包括數(shù)據(jù)庫登錄和應(yīng)用程序登錄。其中數(shù)據(jù)庫登錄過 程如圖 4-1 所示。 4.1.1 數(shù)據(jù)庫登錄的設(shè)計 在圖 4-1 中顯示的是本系統(tǒng)中登錄數(shù)據(jù)庫的過程。除了第一次運行系統(tǒng)時需 要配置連接數(shù)據(jù)庫外沒有必要每次運行應(yīng)用程序時都去配置一次數(shù)據(jù)庫登錄信 息,因此程序作如下設(shè)計: (1) 通過對注冊表的讀寫來決定是否要顯示配置數(shù)據(jù)庫的窗口。 (2) 如果應(yīng)用程序是第一次運行,那么讀取注冊表的信息時就讀取不到 信息,從而就直接在這次運行的開始階段出現(xiàn)連接數(shù)據(jù)庫的界面。在該窗體上 配置好數(shù)據(jù)庫的連接信息后將改配置信息寫入注冊表,然后轉(zhuǎn)入應(yīng)用程序的登 陸窗口。 (3) 如果應(yīng)用程序不是第一次運行,則通過讀取注冊表中的相關(guān)數(shù)據(jù)庫 配置信息來登錄數(shù)據(jù)庫。連接數(shù)據(jù)庫正確的話,應(yīng)用程序?qū)?zhí)行到系統(tǒng)的登錄 窗口。 (4) 如果讀取到的注冊表信息不能正確的連接到數(shù)據(jù)庫,說明數(shù)據(jù)庫的 設(shè)置出現(xiàn)了變化,需要再次回到數(shù)據(jù)庫配置窗口進行設(shè)置,然后重新連接數(shù)據(jù) 庫。 了解了登錄數(shù)據(jù)庫的內(nèi)部工作流程之后,下面就來實現(xiàn)該功能。 A. 啟動應(yīng)用程序的設(shè)計 在本系統(tǒng)中,應(yīng)用程序是從 Sub Main()過程來啟動的。Sub Main()過程位 于標準模塊 StarMoudule 代碼之中。該標準模塊中定義了要在整個系統(tǒng)中都要 用到的程序變量和一些供用函數(shù)代碼。其中,用于檢測注冊表和查看數(shù)據(jù)庫配 置信息的代碼就位于 Sub Main()過程中。 為了實現(xiàn)對注冊表的讀寫,需要對 Windows API 函數(shù)進行封裝。在該系 統(tǒng)中,操作注冊表的 API 函數(shù)在標準模塊 RegMod 中已經(jīng)聲名并且進行了封裝。 實現(xiàn)數(shù)據(jù)庫登錄的模塊 StarMoudle 代碼除了實現(xiàn)登錄系統(tǒng)前的檢測外, 還定義了一些未來程序中常用的函數(shù)。 在項目開發(fā)中,需要將應(yīng)用程序的必要信息永久的存儲與磁盤。存放程序 信息的方式一般包括寫入.ini 文件和寫入注冊表兩種方式。Visual Basic 有幾 個關(guān)于注冊表的相關(guān)寒暑,然而不夠靈活。因此,在本系統(tǒng)開發(fā)中,采用了一 些資料中關(guān)于注冊表的函數(shù),能夠靈活的完成所需要的功能,包括打開注冊表 鍵值、創(chuàng)建注冊表鍵并設(shè)置鍵值、讀取鍵值、列舉注冊表中鍵值等操作。 詳細代碼見程序清單。 B. 數(shù)據(jù)庫設(shè)置窗體的設(shè)計 在有關(guān)程序啟動的代碼設(shè)計中,主要涉及到兩個窗體,一個是數(shù)據(jù)庫配置 窗體,一個就是系統(tǒng)登錄窗體。數(shù)據(jù)庫配置窗體的界面如圖 4-2 所示。 圖 4-2 用戶登錄數(shù)據(jù)庫,注冊數(shù)據(jù)庫配置信息 數(shù)據(jù)庫配置窗體上,除了 3 個標簽控件之外,其他幾個控件都是自己自定 義的控件。這些控件中加入自己所需要的常用特性,然后在后續(xù)的開發(fā)中可以 直接使用這個自定義控件。這將使得程序開發(fā)更加高效,也更加靈活。 創(chuàng)建控件的方法分為:手工創(chuàng)建控件和利用 ActiveX Control Interface Wizard 來創(chuàng)建控件。開發(fā)本系統(tǒng)采用的是利用 ActiveX Control Interface Wizard 來生成控件代碼的,因為,手工書寫代碼的效率比較低。 在自定義的組合框中枚舉出 ODBC 別名,用戶可以直接輸入,也可以從列 表中直接選擇。該自定義控件所具備的自動搜索功能將能夠簡化用戶的輸入。 “確定”按鈕的主要功能是用來登錄數(shù)據(jù)庫,同時把登錄數(shù)據(jù)庫成功的數(shù) 據(jù)庫配置信息寫入到注冊表,已備應(yīng)用程序下次登錄數(shù)據(jù)庫用。 如果輸入信息正確登錄到數(shù)據(jù)庫上,則可以直接退出該窗體。否則,提示 數(shù)據(jù)鏈接失敗之后,將不能退出窗體。除非按“取消”按鈕放棄登錄數(shù)據(jù)庫。 “系統(tǒng)數(shù)據(jù)源”按鈕的主要功能是在應(yīng)用程序的界面中直接調(diào)出配置 ODBC 數(shù)據(jù)源的窗體,而免去用戶回到 Windows 的設(shè)置部分重新配置數(shù)據(jù)源 的麻煩。如果數(shù)據(jù)庫連接不成功,一般需要重新檢查數(shù)據(jù)庫的設(shè)置情況,如果 設(shè)置有變動,則需要利用該按鈕對 ODBC 數(shù)據(jù)源進行重新配置,然后再利用“確 定”按鈕將新的登錄信息寫回到注冊表中。 “取消”按鈕的功能比較簡單,只是為了退出窗體用以放棄登錄數(shù)據(jù)庫。 完成數(shù)據(jù)庫登錄之后,數(shù)據(jù)庫的配置信息將寫入注冊表。 4.1.2 系統(tǒng)登錄的設(shè)計 完成數(shù)據(jù)庫的登錄以后,就需要面對應(yīng)用程序的系統(tǒng)登錄窗體。應(yīng)用程序 的登錄過程如圖 4-3 所示。 系統(tǒng)登錄 是否是正確的用戶? 是否是系統(tǒng)級別用戶? 系統(tǒng)用戶界面 登錄錯誤提示 普通用戶界面 是 是 否 否 圖 4-3 系統(tǒng)登錄的數(shù)據(jù)流程圖 從圖 4-3 中可以看出,系統(tǒng)登錄的窗口需要進行兩重檢測。 首先判斷輸入的用戶名和密碼是否合法,即判斷用戶的合法身份。如果用 戶輸入錯誤,程序?qū)⒔o出輸入錯誤的提示。 在用戶通過身份驗證后,系統(tǒng)將在后臺執(zhí)行另外一個檢測過程,判斷該用 戶的級別是否為“系統(tǒng)級” 。這個判斷主要是為了給用戶分配相應(yīng)的對應(yīng)用程序 的操作權(quán)限。如果該用戶是系統(tǒng)級別的用戶,用戶將能夠獲得對該應(yīng)用程序的 完整的操作權(quán)限,包括對學(xué)生信息的管理和查詢以及對學(xué)生成績的錄入和查詢; 如果該用戶只是普通級別的用戶,該用戶將只能獲得查詢學(xué)生成績的功能,而 不能對數(shù)據(jù)庫系統(tǒng)有其他更多的操作權(quán)限范圍。 在系統(tǒng)登錄中,對用戶級別的判斷以及根據(jù)級別執(zhí)行相對應(yīng)的動作是和最 后用戶的登錄界面相關(guān)聯(lián)的。因此,該部分的操作將在應(yīng)用程序的主界面窗體 的 Load 事件(或是 Initialize 事件)中完成。 有了具體的思路,結(jié)合工作流程圖即可進行實際的系統(tǒng)登錄界面設(shè)計,并 編寫相應(yīng)的程序代碼。 系統(tǒng)登錄界面非常簡單,包括兩個 Lable 控件、兩個字定義的文本框控件 和兩個字定義的位圖按鈕。系統(tǒng)登錄的界面如圖 4-4 所示。 圖 4-4 系統(tǒng)登錄窗體外觀 系統(tǒng)登錄窗體上的按鈕的功能如下: “確定”按鈕執(zhí)行從數(shù)據(jù)庫的用戶表中返回一個記錄集的功能,并且取得 該登錄用戶的用戶權(quán)限。 在編寫這段代碼的過程中用到了 frmFlash 窗體,這是一個快閃窗體。如 果一個窗體上面所放置的控件、位圖等資源比較多時,該窗體在載入時就需要 較長的時間。如果一個應(yīng)用程序在啟動是消耗時間比較長,用戶在等待時或許 就會有不耐煩的感覺。為了讓用戶能夠在系統(tǒng)啟動的這段時間里能夠了解到應(yīng) 用程序的一些信息,需要使用到快閃窗體??扉W窗體就是在該應(yīng)用程序初始化 的過程中,在用戶的系統(tǒng)平臺上率先顯示出來的一個窗體。該窗體有獨特的窗 體風(fēng)格,一般用來向用戶顯示一些有關(guān)程序的信息、公司的信息或是其他一些 提示性的文字和畫面。 快閃窗體在許多應(yīng)用程序中都有應(yīng)用,例如 Visual Basic 在啟動時就有一 個快閃窗體??扉W窗體一般要在應(yīng)用程序加載完畢顯示出來之后,在關(guān)閉掉。 有的快閃窗體上面放置了 Timer 控件,用來控制快閃窗體的關(guān)閉。在本系統(tǒng)中, 則是顯示完主窗體后,通過其他程序代碼塊中的相關(guān)代碼來關(guān)閉快閃窗體。 在制作快閃窗體時,因為它的窗口風(fēng)格與普通窗體的風(fēng)格不同,所以需要 為其窗體外觀進行一些特別的設(shè)置,具體做法如下:設(shè)置快閃窗體的 BorderStyle 屬性為 0-None,設(shè)置 MaxButton 和 MinButton 為 False。這 樣就完成了快閃窗體的制作。 可以為窗體的 Click 事件添加代碼,用來關(guān)閉窗體。一般用不上,因為快 閃窗體的顯示和關(guān)閉一般由其他程序代碼控制。 在程序設(shè)計過程中,利用了兩個集合對象來存放要顯示于菜單上的標題文 本字符串。其中,一個集合 colScore 用來存放“成績管理”菜單中的子菜單 項,另一個集合 colInfo 用來存放“學(xué)生信息管理”菜單中的子菜單項。 判斷出登錄用戶的用戶級別為“系統(tǒng)級別”之后,則所有菜單項設(shè)置為 Visible=True,使其可見;然后對兩個集合分別進行循環(huán)遍歷,將從這兩個集 合中搜索到的字符串添加到數(shù)形控件上去,從而形成系統(tǒng)級別的完整的操作界 面。 在普通級別的用戶界面中,將只有“成績查詢”功能菜單是可以使用的, 其他的“成績錄入” 、 “學(xué)生信息管理”以及“學(xué)生信息查詢”等菜單均為不可 見的。這樣就限制了普通用戶對數(shù)據(jù)庫的操作。 對應(yīng)地,此時的操作目錄樹也只有“成績查詢”一個子節(jié)點。具體的實現(xiàn) 方法依然是使用循環(huán)遍歷集合,只是在該段代碼中將只遍歷 colScore 集合。 在 For 循環(huán)中設(shè)置好遍歷的起點和終點,將使得只有特定的一條項目被添加到 樹形控件中去。 這種方法只是取得了一定程度上的靈活性:通過將幾個集合變量定義為模 塊級變量,菜單標題字符串定義為常量字符串,從而使得該程序具備一定的靈 活性。如果想要取得更大的靈活性,可能需要借助菜單數(shù)組甚至是有關(guān) INI 文 件的技巧。 具體的各部分的代碼實現(xiàn)見程序清單。 4.2 學(xué)籍管理系統(tǒng)主界面設(shè)計 應(yīng)用程序的主界面是整個應(yīng)用程序中比較重要的一個組成部分。一般而言, 程序界面的設(shè)計應(yīng)該簡單、整潔。另外,對于 Windows 應(yīng)用程序的界面最好 符合 Windows 標準應(yīng)用程序的一般操作規(guī)則,而不應(yīng)該追求一些外表的華麗 和與眾不同,使得用戶在操作時感到不適應(yīng)。 一個標準的 Windows 應(yīng)用程序界面一般包括菜單、工具欄和狀態(tài)欄等部 分。在學(xué)籍管理系統(tǒng)的界面設(shè)計中,也遵循這一風(fēng)格。應(yīng)用程序主界面如圖 4-5 所示。 圖 4-5 應(yīng)用程序的主界面 4.2.1 應(yīng)用程序主界面的窗體設(shè)計 在應(yīng)用程序中主要應(yīng)用了菜單、工具欄、目錄樹和狀態(tài)欄來構(gòu)成系統(tǒng)的主 界面。 1. 菜單的設(shè)計 菜單是 Windows 應(yīng)用程序中的重要組成部分,各個菜單項的設(shè)計功能都 按照標準界面菜單的功能進行設(shè)計。 MDI 應(yīng)用程序中,父窗體可以有自己的菜單,子窗體也可以有屬于自己的 菜單。這些菜單的創(chuàng)建都可以利用 Menu Editor 來進行創(chuàng)建。 然而,當一個 MDI 應(yīng)用程序的父窗體和子窗體都擁有各自的菜單時,將會 出現(xiàn)菜單替代的問題,也就是說,當擁有自身菜單的子菜單為活動窗體時,該 子窗體的菜單將不顯示在子窗體的本身,而是取代了父窗體原來的菜單,出現(xiàn) 在父窗體菜單原來的位置。這樣,就不能在子窗體運行時使 用父窗體的菜單功 能了。當該子窗體退出或是不再處于活動狀態(tài)時,MDI 應(yīng)用程序的父窗體將不 會自動重新顯示父窗體菜單。 解決這一問題的兩個方案: 將所有不要的父窗體菜單功能都復(fù)制到每個子窗體菜單中去。這種方 法雖然可行,然而,如果帶有菜單的子窗體數(shù)量比較多的話,程序?qū)?會顯得臃腫而且難以維護。 在父窗體的菜單中包含所有子菜單所必需的菜單功能??梢栽谶\行時 先讓這些子菜單功能不可見,然后當運行子菜單時,可以在子菜單對 應(yīng)的 GetFocus 和 LostFocus 事件中控制這些子菜單的每一項,可以 使用 MDI 父窗體的 ActiveForm 屬性。該屬性用來獲取 MDI 應(yīng)用程序 中當前的活動子窗體,從而對其進行窗體的任意操作,而不需要該窗 體的名稱。 以上兩種方案中,第二種方案比較好,因為將這些菜單合并成一個菜單進 行管理,在維護上比較方便,更便于操作。最好的做法是根本不需要在子窗體 中放置菜單,可以用按鈕或其他方式(例如,右鍵的彈出菜單就可以實現(xiàn))來 為子菜單提供具有相同功能的解決方案。 程序中包括兩個 ImageList 控件它們分別用來為工具欄和 TreeView 控件 提供圖片。另外,應(yīng)用程序還包含了一個 Timer 控件。通過 Timer 控件可以 對狀態(tài)欄進行定時更新。 2. ImageList 控件和 Timer 控件 ImageList 控件和 Timer 控件在應(yīng)用程序中有著比較重要的用途。在本系 統(tǒng)中,只為工具欄提供了一個 ImageList 關(guān)聯(lián)。 如果想要更復(fù)雜的工具欄效果,可以將工具欄設(shè)置為與 3 個 ImageList 控 件相關(guān)聯(lián)。這樣就可以分別對工具欄按鈕的正常狀態(tài)、不被激活的狀態(tài)和復(fù)選 樣式或下拉樣式的按鈕在激活的狀態(tài)分別提供圖片。 3. 工具欄設(shè)計 工具欄提供了便捷的操作方式來完成應(yīng)用程序常用菜單的操作。在現(xiàn)在的 Windows 應(yīng)用程序中,工具欄已經(jīng)成為非常重要的一個組成部分。 在本系統(tǒng)中,工具欄上放置了一些用來操縱界面外觀的常用按鈕。其他應(yīng) 用程序功能菜單并沒有放置到工具欄中。 工具欄的各個按鈕還需要設(shè)置一些其他的一些屬性,例如,為每個工具欄 按鈕的 ToolTipText 設(shè)置相應(yīng)的文本;為每個工具欄提供相關(guān)聯(lián)的圖片索引。 設(shè)置這些屬性需要通過工具欄的屬性頁來進行。將所有的非 tbrSeperate 風(fēng)格 的按鈕都按順序設(shè)置好對應(yīng)的圖像索引,并為每個按鈕添加上提示文本。這樣 就完成了對工具欄的設(shè)置。 4. TreeView 控件和狀態(tài)欄控件 現(xiàn)在的應(yīng)用程序界面常利用目錄樹來作為應(yīng)用程序的導(dǎo)航欄;也可以用目 錄樹來完成對應(yīng)的一些菜單的操作功能。在本系統(tǒng)中提供了使用目錄樹替代某 些菜單操作的功能,用戶可以根據(jù)習(xí)慣選擇是利用菜單還是目錄樹來完成自己 想要的操作。 狀態(tài)欄通常用來顯示當前界面的狀態(tài)信息。其中,樹形控件的外觀以及與 ImageList 控件的關(guān)聯(lián)都將在代碼中完成,這些代碼分別在 MDI 窗體的 Load 事件和 Initialize 事件中。 為狀態(tài)欄控件添加 4 個控制面板,分別用作 4 種用途:放置當前子窗體的 窗口信息、備用面板、顯示當前日期的面板、顯示當前時間的面板。這些屬性 需要在狀態(tài)欄的屬性頁中完成。 最后,在設(shè)計 MDI 窗體時,要為放置 TreeView 控件增加一個容器,既 PictureBox 控件,設(shè)置該控件的名稱為 picTreeView。在 MDI 窗體上,只能 放置 PictureBox 、ToolBar 和 StatusBar 等控件。因此可以利用 PictureBox 控件作為容器來放置 TreeView 控件。在該容器上在放置一個 Lable 控件,用來為該目錄樹顯示一個名稱;再在 PictureBox 控件的右上角放 置一個按鈕,名稱為 cmdCancelTree,用來提供關(guān)閉目錄樹的操作。要想實 現(xiàn)關(guān)閉目錄樹的功能,可以通過對 PictureBox 控件的 Visibal 屬性進行操作來 實現(xiàn)。為了界面的整潔,設(shè)置 TreeView 控件和 PictureBox 控件的寬度基本 上相同,然后調(diào)整狀態(tài)欄控件中的第一個面板,使其寬度與 PictureBox 控件 寬度一致。 4.2.2. 應(yīng)用程序界面的代碼實現(xiàn) 在窗體的公共聲名部分,定義了幾個字符串常量,這些常量用來記錄主要 菜單中的子菜單標題字符串;同時定義了 3 個集合對象,分別用來存放菜單標 題字符串,給出了對這 3 個集合的初始化的子過程代碼;為 MDI 窗體定義了一 個只讀的公用屬性 ChildWindowsCount 以及該屬性的屬性變量 mintChildWinCount,這個只讀屬性用來記錄在程序運行過程中,MDI 應(yīng)用

注意事項

本文(畢業(yè)設(shè)計-學(xué)籍管理系統(tǒng)的設(shè)計與實現(xiàn)論文.doc)為本站會員(good****022)主動上傳,裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。 若此文所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng)(點擊聯(lián)系客服),我們立即給予刪除!

溫馨提示:如果因為網(wǎng)速或其他原因下載失敗請重新下載,重復(fù)下載不扣分。




關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!