【正文】
用戶名,則給出提示,進(jìn)入系統(tǒng),若沒有此用戶名,則給出提示,返回用戶登錄界面。 系統(tǒng)的快捷性系統(tǒng)必須快速準(zhǔn)確的對所做的操作做出反映,不能出現(xiàn)長時間的延遲和錯誤或者莫名其妙的死機(jī)。 管理上的可行性因為系統(tǒng)主要應(yīng)用于學(xué)院內(nèi)部,而不具備網(wǎng)絡(luò)查找功能,因此在實現(xiàn)時可以做成單機(jī)版,對管理員賦予數(shù)據(jù)錄入、查詢、修改以及對數(shù)據(jù)庫的清零等功能。 系統(tǒng)的可行性研究 技術(shù)上的可行性由于 VB 語言簡單、易學(xué)的優(yōu)點,又增強(qiáng)了可視化、數(shù)據(jù)庫及 Inter 編程功能,很容易就可以進(jìn)行系統(tǒng)開發(fā)。它是一個可伸縮、高效能的數(shù)據(jù)庫管理系統(tǒng),具備內(nèi)置的復(fù)制能力、Inter 集成、開放系統(tǒng)體系結(jié)構(gòu)以及其強(qiáng)大的基于 GUI 的數(shù)據(jù)庫管理工具。顯然使用非常復(fù)雜的軟件進(jìn)行開發(fā)是不太現(xiàn)實的。在 VB 中,沒有傳統(tǒng)意義上的主程序,程序執(zhí)行通過事件來驅(qū)動,即只有在事件發(fā)生時,程序才會執(zhí)行,若沒有發(fā)生任何事件,則處于停滯等待狀態(tài)。面向?qū)ο缶幊蹋∣OP:Object Oriented Programming)則把數(shù)據(jù)和處理數(shù)據(jù)的代碼封裝到一個類中,類的實例就是對象。 開發(fā)工具的選用 Visual Basic的使用Visual Basic 是 Microsoft 公司推出的一個可視化的面向?qū)ο蟮膽?yīng)用程序開發(fā)工具。操作人員只需輸入一些簡單的漢字、數(shù)字就可以實現(xiàn)工作要求的操作。信息社會的高科技,商品經(jīng)濟(jì)化的高效益,使計算機(jī)的應(yīng)用已普及到經(jīng)濟(jì)和社會生活的各個領(lǐng)域。在信息社會中,信息的獲取、處理、交流和決策都需要大量高質(zhì)量的處理工具。經(jīng)過大學(xué)四年學(xué)習(xí),開發(fā)軟件有了一定的基礎(chǔ),為使開發(fā)軟件的經(jīng)驗進(jìn)一步提高和適應(yīng)社會發(fā)展,與同組軟件開發(fā)人員共同努力學(xué)習(xí)、提高軟件開發(fā)的經(jīng)驗。所以學(xué)校在學(xué)籍管理上很需要一個自動化,智能化的計算機(jī)學(xué)籍管理系統(tǒng)。而由于信息管理是建立在龐大的數(shù)據(jù)庫中的,如何建立學(xué)生信息庫是進(jìn)行自動化學(xué)籍管理的一個重要問題。而對于后者則要求應(yīng)用程序功能完備,方便使用等特點。因此,開發(fā)這樣一套學(xué)籍管理軟件成為很有必要的事情。但一直以來人們使用傳統(tǒng)人工的方式管理文件檔案,這種管理方式存在著許多缺點,如:效率低、保密性差,另外時間一長,將產(chǎn)生大量的文件和數(shù)據(jù),這對于查找、更新和維護(hù)都帶來了不少的困難。AbstractStudent 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 plete, easy usage etc. characteristics.This system pletes primarily to student39。查詢功能也是系統(tǒng)的核心之一,在系統(tǒng)中即有單條件查詢和多條件查詢,也有精確查詢和模糊查詢,系統(tǒng)不僅有靜態(tài)的條件查詢,也有動態(tài)生成的條件查詢,其目的都是為了方便用戶使用。而對于后者則要求應(yīng)用程序功能完備,方便使用等特點。對于前者要求建立起數(shù)據(jù)一致性和完整性強(qiáng)、數(shù)據(jù)安全性好的庫。系統(tǒng)的核心是數(shù)據(jù)庫中各個表的聯(lián)系,每一個表的修改都將連動的影響其它的表,當(dāng)完成對數(shù)據(jù)的操作時系統(tǒng)會自動地完成數(shù)據(jù)庫的修改。關(guān)鍵字:控件、窗體、數(shù)據(jù)庫、MIS、SQL Server 2022。學(xué)籍管理系統(tǒng)是一個教育單位不可缺少的部分,它的內(nèi)容對于學(xué)校的決策者和管理者來說都至關(guān)重要,所以學(xué)籍管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。這些優(yōu)點能夠極大地提高學(xué)生檔案管理的效率,也是企業(yè)的科學(xué)化、正規(guī)化管理,與世界接軌的重要條件。對于前者要求數(shù)據(jù)的一致性、完整性和安全性。由于學(xué)校和在校學(xué)生是一對多的關(guān)系,因此,學(xué)籍的管理是一個工作量大而又繁雜的工作。數(shù)據(jù)庫能很方便的進(jìn)行數(shù)據(jù)的統(tǒng)計和錄入工作,這對有大量數(shù)據(jù)的編輯有重要的作用。如何有效的管理這些學(xué)生信息,幫助學(xué)校和老師掌握學(xué)生的情況,這就是學(xué)籍管理系統(tǒng)需要完成的功能及開發(fā)目的;另外,為使本軟件的功能完善、功能更強(qiáng)大,還包括與學(xué)生信息有關(guān)的管理功能,例如成績管理等功能。學(xué)生注冊獎懲信息管理學(xué)籍信息管理 基本信息管理 課程信息管理成績信息管理基本信息輸入課程信息輸入成績信息輸入入獎懲信息輸入學(xué)籍信息輸入 選題背景及意義隨著現(xiàn)代科學(xué)技術(shù)的飛速發(fā)展、計算機(jī)與全球互連網(wǎng)絡(luò) Inter 相連接,使今天的社會進(jìn)入了以計算機(jī)為核心的社會。如果開發(fā)一套學(xué)籍管理系統(tǒng)軟件將具有十分重要的意義,可以減少人力資源在這方面的投入,而更多的投入教學(xué)或其它工作中。使用者可以了解本系統(tǒng)的基本工作原理。由于該系統(tǒng)主要應(yīng)用在學(xué)院內(nèi)部使用,而不在網(wǎng)絡(luò)上公開,因此在設(shè)計開發(fā)時可以做成單機(jī)版。在面向過程的編程方法中,代碼和數(shù)據(jù)是分離的,由此帶來了很多缺陷,其中最重要的就是程序的可維護(hù)性差。VB 徹底解決了這種編程機(jī)制。本次畢業(yè)設(shè)計需要用一種新軟件來開發(fā)學(xué)習(xí),但是接觸一門新的軟件往往上手容易,使用起來很困難,而且這次畢業(yè)設(shè)計時間短,任務(wù)重。SQL Server 提供了一系列方法將數(shù)據(jù)庫填充到 Web 服務(wù)器,同時提供了對數(shù)據(jù)的快捷訪問。SQL Server 的主要功能:? 支持客戶機(jī)/服務(wù)器模型;? 操作系統(tǒng)兼容性;? 多平臺支持;? 多協(xié)議兼容性;? 數(shù)據(jù)倉庫;? 數(shù)據(jù)復(fù)制。該軟件簡單易懂,應(yīng)用廣泛,比較適合開發(fā)數(shù)據(jù)庫軟件使用,而且建立的數(shù)據(jù)庫較為安全。對光纖信息數(shù)據(jù)庫只有 管理員才能進(jìn)行錄入,修改和刪除。第 2 章 概要設(shè)計 系統(tǒng)設(shè)計思路分析 界面用 VB 設(shè)計基礎(chǔ)界面,在初步設(shè)計時,可以只對窗體進(jìn)行設(shè)計,而不涉及程序的內(nèi)容,待窗體設(shè)計完畢后,再進(jìn)行程序編程,這也是 VB 的優(yōu)點之一。 數(shù)據(jù)庫分析在系統(tǒng)實現(xiàn)時,可以建立一個數(shù)據(jù)庫,但是建立多個表。登錄界面,要求管理員輸入帳戶密碼,并根據(jù)密碼是否正確決定進(jìn)入主界面。數(shù)據(jù)導(dǎo)入,管理員可以把 Excel 表中的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中。幫助信息,說明作者,版本信息。合理的數(shù)據(jù)庫設(shè)計和建設(shè)是數(shù)據(jù)庫應(yīng)用系統(tǒng)成功的關(guān)鍵。關(guān)系數(shù)據(jù)庫提供了結(jié)構(gòu)化查詢語言(SQL)的標(biāo)準(zhǔn)接口。數(shù)據(jù)庫中的每一列稱為一個字段。? 索引:索引是根據(jù)數(shù)據(jù)庫表中記錄的關(guān)鍵字值對數(shù)據(jù)庫表中的記錄進(jìn)行分類。? 觸發(fā)器:類似于存儲過程,但觸發(fā)器的執(zhí)行是自動的。好的數(shù)據(jù)庫設(shè)計能夠大大簡化開發(fā)的難度,提高開發(fā)工作的效率。 為了保證數(shù)據(jù)完整性,需要注意:(1) 實體完整性:表的主關(guān)鍵字段的任何部分不能為 MULL。? 第一范式。任何非關(guān)鍵字字段必須取決于主關(guān)鍵字中的所有字段。非關(guān)鍵字的字段不能取決于另一個非關(guān)鍵字字段。? 第五范式。下面是本系統(tǒng)數(shù)據(jù)庫的具體設(shè)計。另外,在系統(tǒng)中還將用到開除學(xué)生表(uExpelStudInfo)、畢業(yè)學(xué)生表(uGradStudInfo_XXXX)等數(shù)據(jù)庫表。 應(yīng)用程序的分析與設(shè)計 數(shù)據(jù)庫設(shè)計完成后,就開始進(jìn)入具體的應(yīng)用程序設(shè)計與分析設(shè)計階段?;趯υ捒虻膽?yīng)用程序界面主要特點就是簡潔,具有一定的交互性。具體原因如下:? 由于系統(tǒng)中涉及到的窗體比較多,如果采用 SDI 應(yīng)用程序,那么這些窗體將各自獨立地出現(xiàn)屏幕上。選擇了窗體風(fēng)格之后,就需要進(jìn)行更細(xì)致的界面設(shè)計。另外,目錄樹也具有導(dǎo)航功能。上述功能模塊包含于應(yīng)用程序主界面的窗體菜單(或目錄樹)和相應(yīng)的子窗體中,具體的代碼實現(xiàn)詳見源代碼。 兩層的 C/S 結(jié)構(gòu)存在一定的缺點:? 兩層 C/S 結(jié)構(gòu)中,客戶端應(yīng)用程序直接連接數(shù)據(jù)庫服務(wù)器,這樣數(shù)據(jù)庫服務(wù)器將消耗一定的資源以處理與客戶端的連接工作。另外,每個客戶端還需要進(jìn)行相應(yīng)的配置以連接數(shù)據(jù)庫,例如 ODBC 的配置。而且,對于學(xué)校內(nèi)部的學(xué)籍管理系統(tǒng)而言,由于系統(tǒng)本身處于校園之內(nèi),數(shù)據(jù)安全性能夠得到一定的保障,而且對數(shù)據(jù)處理效率的要求并不太高,因此本系統(tǒng)仍然采用了傳統(tǒng)的兩層 C/S 結(jié)構(gòu)來進(jìn)行開發(fā)。在數(shù)據(jù)庫應(yīng)用程序中,用戶身份及其對系統(tǒng)的使用權(quán)限尤其顯得重要。除了第一次運(yùn)行系統(tǒng)時需要配置連接數(shù)據(jù)庫外沒有必要每次運(yùn)行應(yīng)用程序時都去配置一次數(shù)據(jù)庫登錄信息,因此程序作如下設(shè)計: (1) 通過對注冊表的讀寫來決定是否要顯示配置數(shù)據(jù)庫的窗口。連接數(shù)據(jù)庫正確的話,應(yīng)用程序?qū)?zhí)行到系統(tǒng)的登錄窗口。Sub Main()過程位于標(biāo)準(zhǔn)模塊 StarMoudule 代碼之中。在該系統(tǒng)中,操作注冊表的 API 函數(shù)在標(biāo)準(zhǔn)模塊 RegMod 中已經(jīng)聲名并且進(jìn)行了封裝。Visual Basic 有幾個關(guān)于注冊表的相關(guān)寒暑,然而不夠靈活。數(shù)據(jù)庫配置窗體的界面如圖 42 所示。創(chuàng)建控件的方法分為:手工創(chuàng)建控件和利用 ActiveX Control Interface Wizard 來創(chuàng)建控件?!按_定”按鈕的主要功能是用來登錄數(shù)據(jù)庫,同時把登錄數(shù)據(jù)庫成功的數(shù)據(jù)庫配置信息寫入到注冊表,已備應(yīng)用程序下次登錄數(shù)據(jù)庫用。“系統(tǒng)數(shù)據(jù)源”按鈕的主要功能是在應(yīng)用程序的界面中直接調(diào)出配置ODBC 數(shù)據(jù)源的窗體,而免去用戶回到 Windows 的設(shè)置部分重新配置數(shù)據(jù)源的麻煩。 系統(tǒng)登錄的設(shè)計 完成數(shù)據(jù)庫的登錄以后,就需要面對應(yīng)用程序的系統(tǒng)登錄窗體。如果用戶輸入錯誤,程序?qū)⒔o出輸入錯誤的提示。 在系統(tǒng)登錄中,對用戶級別的判斷以及根據(jù)級別執(zhí)行相對應(yīng)的動作是和最后用戶的登錄界面相關(guān)聯(lián)的。系統(tǒng)登錄的界面如圖 44 所示。如果一個應(yīng)用程序在啟動是消耗時間比較長,用戶在等待時或許就會有不耐煩的感覺。 快閃窗體在許多應(yīng)用程序中都有應(yīng)用,例如 Visual Basic 在啟動時就有一個快閃窗體。 在制作快閃窗體時,因為它的窗口風(fēng)格與普通窗體的風(fēng)格不同,所以需要為其窗體外觀進(jìn)行一些特別的設(shè)置,具體做法如下:設(shè)置快閃窗體的BorderStyle 屬性為 0None,設(shè)置 MaxButton 和 MinButton 為 False。 在程序設(shè)計過程中,利用了兩個集合對象來存放要顯示于菜單上的標(biāo)題文本字符串。這樣就限制了普通用戶對數(shù)據(jù)庫的操作。 這種方法只是取得了一定程度上的靈活性:通過將幾個集合變量定義為模塊級變量,菜單標(biāo)題字符串定義為常量字符串,從而使得該程序具備一定的靈活性。一般而言,程序界面的設(shè)計應(yīng)該簡單、整潔。應(yīng)用程序主界面如圖 45所示。這些菜單的創(chuàng)建都可以利用 Menu Editor 來進(jìn)行創(chuàng)建。 解決這一問題的兩個方案:? 將所有不要的父窗體菜單功能都復(fù)制到每個子窗體菜單中去。該屬性用來獲取 MDI 應(yīng)用程序中當(dāng)前的活動子窗體,從而對其進(jìn)行窗體的任意操作,而不需要該窗體的名稱。另外,應(yīng)用程序還包含了一個 Timer 控件。如果想要更復(fù)雜的工具欄效果,可以將工具欄設(shè)置為與 3 個 ImageList 控件相關(guān)聯(lián)。在本系統(tǒng)中,工具欄上放置了一些用來操縱界面外觀的常用按鈕。將所有的非 tbrSeperate 風(fēng)格的按鈕都按順序設(shè)置好對應(yīng)的圖像索引,并為每個按鈕添加上提示文本。狀態(tài)欄通常用來顯示當(dāng)前界面的狀態(tài)信息。最后,在設(shè)計 MDI 窗體時,要為放置 TreeView 控件增加一個容器,既PictureBox 控件,設(shè)置該控件的名稱為 picTreeView。要想實現(xiàn)關(guān)閉目錄樹的功能,可以通過對 PictureBox 控件的 Visibal 屬性進(jìn)行操作來實現(xiàn)。設(shè)定目錄樹與菜單對應(yīng)的操作,這個地方利用了索引來查找目錄樹中與菜單中對應(yīng)的操作。該函數(shù)在應(yīng)用程序的標(biāo)準(zhǔn)模塊 MPaintMDIBackground 中定義。其中包括了對背景圖片的處理。在 MDI 的卸載事件中,MDI 窗體需要卸除所有不再使用的資源,釋放占用的系統(tǒng)資源。MDI 窗體的菜單事件中, “學(xué)生查詢”子菜單的代碼實現(xiàn)過程中,需要先調(diào)用 ActiveX DLL 中的一個窗體,執(zhí)行完查詢后再顯示學(xué)生查詢窗體。如果返回的數(shù)據(jù)集非空,那么就通過類將該數(shù)據(jù)集傳遞給應(yīng)用程序的窗口 frmQueryResult 所使用,用來顯示查詢結(jié)果。完全可以通過對 MDI 窗體的 Arrange 方法來完成對子窗體的排列,語法格式為: ParaName 參數(shù)ParaName 的不同取值決定了窗體的排列方式。(3) 關(guān)于“關(guān)閉所有子窗體”功能的實現(xiàn)。 循環(huán)只需要判斷是否在 ActiveForm 即可。通過調(diào)用按鈕事件,關(guān)閉目錄樹 cmdCancelTree_Click 39。 在單擊事件前該風(fēng)格按鈕的狀態(tài)值在單擊該按鈕之后馬上發(fā)生了改變,此時,如果要根據(jù)當(dāng)前按鈕的狀態(tài)對要執(zhí)行的代碼進(jìn)行分支選擇時,If 語句需要認(rèn)真的編寫。Key 屬性來對每個按鈕進(jìn)行識別39。如果單擊按鈕前的狀態(tài)處于未按下狀態(tài),那么單擊后 39。的同時就改變了按鈕的“按下/彈起”的狀態(tài) 39。利用 NodeClick 事件而不是 TreeView 的 Click 事件