【正文】
全滿足用戶的需求。因此系統(tǒng)開發(fā)工具可以采用 Visual Basic 進行開發(fā)。與面向?qū)ο蟮木幊谭椒ㄏ啾龋嫦驅(qū)ο缶幊谭椒ㄓ腥齻€優(yōu)點:1)程序易于閱讀和理解;2)程序易于修改;3)對象能重復使用多次,即程序員可以隨時根據(jù)需要將對象插入到程序中去。在這高科技時代,信息的處理是十分重要,如果用原始的方式進行處理,我們就會跟不上時代的進展;我們需用高科技時代的產(chǎn)品。第 1 章 可行性研究及需求分析 系統(tǒng)需求分析近年來隨著高校體制的不斷改革與發(fā)展,我國在校大中專學生的人數(shù)也在不斷擴大,給各大中專院校的學生管理工作帶來了諸多不便。系統(tǒng)有完整的用戶添加、修改、刪除和密碼修改功能,并具備報表打印功能。 經(jīng)過分析,我們使用 Microsoft 公司的 Visual Basic 開發(fā)工具,利用其提供的各種面向?qū)ο蟮拈_發(fā)工具,尤其是數(shù)據(jù)窗口這一能方便而簡潔操縱數(shù)據(jù)庫的智能化對象,首先在短時間內(nèi)建立系統(tǒng)應(yīng)用原型,然后,對初始原型系統(tǒng)進行需求迭代,不斷修正和改進,直到形成用戶滿意的可行系統(tǒng)。隨著教育的普及,各高等院校也在不斷的提高教學質(zhì)量和學校管理質(zhì)量,而學校管理就是對學生在校情況的管理,重要的是學生的學籍管理,因為學籍是學生在校學習的憑證,而學籍又包括確定招生計劃進行招生錄取工作;學生的基本情況、各科的成績、總成績(或總學分) 、獎懲;制定教學計劃,最后在學生離校時做出學生在校學習情況的總結(jié)。學生信息的管理是每個學校工作中一項非常重要的工作,要投入很大的人力進行管理。在面向?qū)ο蟮木幊谭椒ㄖ校總€程序通常包含一個主程序和若干個子程序,由某個子程序來處理某個小問題,再由主程序自頂向下調(diào)用各個子程序來逐步解決整個問題。而對數(shù)據(jù)庫的建立,由于建立的數(shù)據(jù)庫主要是對學籍的信息進行管理,所以可以采用微軟公司開發(fā)的 Microsoft SQL Server 2022。 設(shè)計簡述 VB設(shè)計的界面簡述漂亮界面,這個窗體要求漂亮,做成通用窗體的效果。 關(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)系在一起。 系統(tǒng)數(shù)據(jù)庫的結(jié)構(gòu)設(shè)計 一個數(shù)據(jù)庫應(yīng)用程序的開發(fā),其數(shù)據(jù)庫的設(shè)計是至關(guān)重要的一個環(huán)節(jié)。? 第三范式。2. 表之間的實體關(guān)系學生基本信息表與學生附加信息表應(yīng)該具有同步更新的功能,即這兩個表中的記錄是一一對應(yīng)的;另外,學生的成績表與學生基本信息表以及課程信息表也有著對應(yīng)關(guān)系。目前一種比較流行的應(yīng)用程序界面設(shè)計是為應(yīng)用程序提供一個目錄樹,利用目錄樹來執(zhí)行一些特定的應(yīng)用程序功能。盡管兩層的 C/S 結(jié)構(gòu)存在一定的缺點,然而作為一種成熟的應(yīng)用程序結(jié)構(gòu)模型,兩層結(jié)構(gòu)具有開發(fā)難度小,維護和使用比較方便的優(yōu)點。A. 啟動應(yīng)用程序的設(shè)計 在本系統(tǒng)中,應(yīng)用程序是從 Sub Main()過程來啟動的。這將使得程序開發(fā)更加高效,也更加靈活。 首先判斷輸入的用戶名和密碼是否合法,即判斷用戶的合法身份。該窗體有獨特的窗體風格,一般用來向用戶顯示一些有關(guān)程序的信息、公司的信息或是其他一些提示性的文字和畫面。在 For 循環(huán)中設(shè)置好遍歷的起點和終點,將使得只有特定的一條項目被添加到樹形控件中去。當該子窗體退出或是不再處于活動狀態(tài)時,MDI 應(yīng)用程序的父窗體將不會自動重新顯示父窗體菜單。在現(xiàn)在的Windows 應(yīng)用程序中,工具欄已經(jīng)成為非常重要的一個組成部分。在該容器上在放置一個Lable 控件,用來為該目錄樹顯示一個名稱;再在 PictureBox 控件的右上角放置一個按鈕,名稱為 cmdCancelTree,用來提供關(guān)閉目錄樹的操作。由于該函數(shù)較復雜,本系統(tǒng)中用到的 API 函數(shù)是從一些相關(guān)書籍中引用的。每次打開新的子窗體,都將在【窗口】菜單的底部動態(tài)地增加一個菜單項,已新打開的子窗體的窗體名為標題。該過程傳遞的參數(shù)是工具欄按鈕,由于按鈕具有唯一的標志 Key,因此可以根據(jù)39。因此,應(yīng)該避免這種操作,直接利用 NodeCL。由于 Key 屬性是可選項,如果在程序設(shè)計時候沒有為每個按鈕設(shè)定 Key,那么39。有的程序是直接用數(shù)組來設(shè)計子窗體,然后利用 For 循環(huán)將子窗體卸載;有的則是通過每次打開子窗體后,設(shè)置窗體的 Tag 屬性,然后依然利用循環(huán);也有的方法世紀路子窗體的個數(shù),從而利用 For 循環(huán)。在 MDI 的初始化事件中,窗體完成了界面的定制功能,并且完成了目錄樹的外觀顯示。為了界面的整潔,設(shè)置 TreeView 控件和 PictureBox 控件的寬度基本上相同,然后調(diào)整狀態(tài)欄控件中的第一個面板,使其寬度與 PictureBox 控件寬度一致。其他應(yīng)用程序功能菜單并沒有放置到工具欄中。這種方法雖然可行,然而,如果帶有菜單的子窗體數(shù)量比較多的話,程序?qū)@得臃腫而且難以維護。如果想要取得更大的靈活性,可能需要借助菜單數(shù)組甚至是有關(guān) INI 文件的技巧??扉W窗體一般要在應(yīng)用程序加載完畢顯示出來之后,在關(guān)閉掉。 在用戶通過身份驗證后,系統(tǒng)將在后臺執(zhí)行另外一個檢測過程,判斷該用戶的級別是否為“系統(tǒng)級” 。開發(fā)本系統(tǒng)采用的是利用 ActiveX Control Interface Wizard 來生成控件代碼的,因為,手工書寫代碼的效率比較低。該標準模塊中定義了要在整個系統(tǒng)中都要用到的程序變量和一些供用函數(shù)代碼。另外,應(yīng)用程序系統(tǒng)在訪問數(shù)據(jù)庫時,采用了 ODBC 數(shù)據(jù)源+ADO 的方式。在數(shù)據(jù)庫應(yīng)用程序中,利用目錄樹來執(zhí)行對數(shù)據(jù)庫數(shù)據(jù)的操作也是一種比較好的方法。應(yīng)用程序的分析與設(shè)計主要包括應(yīng)用程序各個功能模塊的總體規(guī)劃與分析、應(yīng)用程序界面的選擇與設(shè)計以及應(yīng)用程序結(jié)構(gòu)的選擇等部分。? 第四范式。 在設(shè)計關(guān)系型數(shù)據(jù)庫時,一般需要遵循如下幾條規(guī)則:(1) 表中的數(shù)據(jù)必須規(guī)則完整:一個數(shù)據(jù)庫,為了數(shù)據(jù)本身的完整,需要設(shè)置許多規(guī)則。目前,關(guān)系型數(shù)據(jù)庫是應(yīng)用最為廣泛的數(shù)據(jù)庫。主界面,用向?qū)?,可以通過各個菜單調(diào)用各種功能,并可以通過樹形結(jié)構(gòu)瀏覽數(shù)據(jù)庫中的表。 管理上的可行性因為系統(tǒng)主要應(yīng)用于學院內(nèi)部,而不具備網(wǎng)絡(luò)查找功能,因此在實現(xiàn)時可以做成單機版,對管理員賦予數(shù)據(jù)錄入、查詢、修改以及對數(shù)據(jù)庫的清零等功能。在 VB 中,沒有傳統(tǒng)意義上的主程序,程序執(zhí)行通過事件來驅(qū)動,即只有在事件發(fā)生時,程序才會執(zhí)行,若沒有發(fā)生任何事件,則處于停滯等待狀態(tài)。信息社會的高科技,商品經(jīng)濟化的高效益,使計算機的應(yīng)用已普及到經(jīng)濟和社會生活的各個領(lǐng)域。而由于信息管理是建立在龐大的數(shù)據(jù)庫中的,如何建立學生信息庫是進行自動化學籍管理的一個重要問題。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)的核心是數(shù)據(jù)庫中各個表的聯(lián)系,每一個表的修改都將連動的影響其它的表,當完成對數(shù)據(jù)的操作時系統(tǒng)會自動地完成數(shù)據(jù)庫的修改。對于前者要求數(shù)據(jù)的一致性、完整性和安全性。學生注冊獎懲信息管理學籍信息管理 基本信息管理 課程信息管理成績信息管理基本信息輸入課程信息輸入成績信息輸入入獎懲信息輸入學籍信息輸入 選題背景及意義隨著現(xiàn)代科學技術(shù)的飛速發(fā)展、計算機與全球互連網(wǎng)絡(luò) Inter 相連接,使今天的社會進入了以計算機為核心的社會。在面向過程的編程方法中,代碼和數(shù)據(jù)是分離的,由此帶來了很多缺陷,其中最重要的就是程序的可維護性差。SQL Server 的主要功能:? 支持客戶機/服務(wù)器模型;? 操作系統(tǒng)兼容性;? 多平臺支持;? 多協(xié)議兼容性;? 數(shù)據(jù)倉庫;? 數(shù)據(jù)復制。 數(shù)據(jù)庫分析在系統(tǒng)實現(xiàn)時,可以建立一個數(shù)據(jù)庫,但是建立多個表。合理的數(shù)據(jù)庫設(shè)計和建設(shè)是數(shù)據(jù)庫應(yīng)用系統(tǒng)成功的關(guān)鍵。? 觸發(fā)器:類似于存儲過程,但觸發(fā)器的執(zhí)行是自動的。任何非關(guān)鍵字字段必須取決于主關(guān)鍵字中的所有字段。另外,在系統(tǒng)中還將用到開除學生表(uExpelStudInfo)、畢業(yè)學生表(uGradStudInfo_XXXX)等數(shù)據(jù)庫表。選擇了窗體風格之后,就需要進行更細致的界面設(shè)計。另外,每個客戶端還需要進行相應(yīng)的配置以連接數(shù)據(jù)庫,例如 ODBC 的配置。連接數(shù)據(jù)庫正確的話,應(yīng)用程序?qū)?zhí)行到系統(tǒng)的登錄窗口。數(shù)據(jù)庫配置窗體的界面如圖 42 所示。 系統(tǒng)登錄的設(shè)計 完成數(shù)據(jù)庫的登錄以后,就需要面對應(yīng)用程序的系統(tǒng)登錄窗體。如果一個應(yīng)用程序在啟動是消耗時間比較長,用戶在等待時或許就會有不耐煩的感覺。這樣就限制了普通用戶對數(shù)據(jù)庫的操作。這些菜單的創(chuàng)建都可以利用 Menu Editor 來進行創(chuàng)建。如果想要更復雜的工具欄效果,可以將工具欄設(shè)置為與 3 個 ImageList 控件相關(guān)聯(lián)。最后,在設(shè)計 MDI 窗體時,要為放置 TreeView 控件增加一個容器,既PictureBox 控件,設(shè)置該控件的名稱為 picTreeView。其中包括了對背景圖片的處理。完全可以通過對 MDI 窗體的 Arrange 方法來完成對子窗體的排列,語法格式為: ParaName 參數(shù)ParaName 的不同取值決定了窗體的排列方式。 在單擊事件前該風格按鈕的狀態(tài)值在單擊該按鈕之后馬上發(fā)生了改變,此時,如果要根據(jù)當前按鈕的狀態(tài)對要執(zhí)行的代碼進行分支選擇時,If 語句需要認真的編寫。利用 NodeClick 事件而不是 TreeView 的 Click 事件39。如果單擊按鈕前的狀態(tài)處于未按下狀態(tài),那么單擊后 39。 循環(huán)只需要判斷是否在 ActiveForm 即可。MDI 窗體的菜單事件中, “學生查詢”子菜單的代碼實現(xiàn)過程中,需要先調(diào)用 ActiveX DLL 中的一個窗體,執(zhí)行完查詢后再顯示學生查詢窗體。設(shè)定目錄樹與菜單對應(yīng)的操作,這個地方利用了索引來查找目錄樹中與菜單中對應(yīng)的操作。將所有的非 tbrSeperate 風格的按鈕都按順序設(shè)置好對應(yīng)的圖像索引,并為每個按鈕添加上提示文本。該屬性用來獲取 MDI 應(yīng)用程序中當前的活動子窗體,從而對其進行窗體的任意操作,而不需要該窗體的名稱。一般而言,程序界面的設(shè)計應(yīng)該簡單、整潔。 在制作快閃窗體時,因為它的窗口風格與普通窗體的風格不同,所以需要為其窗體外觀進行一些特別的設(shè)置,具體做法如下:設(shè)置快閃窗體的BorderStyle 屬性為 0None,設(shè)置 MaxButton 和 MinButton 為 False。 在系統(tǒng)登錄中,對用戶級別的判斷以及根據(jù)級別執(zhí)行相對應(yīng)的動作是和最后用戶的登錄界面相關(guān)聯(lián)的?!按_定”按鈕的主要功能是用來登錄數(shù)據(jù)庫,同時把登錄數(shù)據(jù)庫成功的數(shù)據(jù)庫配置信息寫入到注冊表,已備應(yīng)用程序下次登錄數(shù)據(jù)庫用。在該系統(tǒng)中,操作注冊表的 API 函數(shù)在標準模塊 RegMod 中已經(jīng)聲名并且進行了封裝。在數(shù)據(jù)庫應(yīng)用程序中,用戶身份及其對系統(tǒng)的使用權(quán)限尤其顯得重要。上述功能模塊包含于應(yīng)用程序主界面的窗體菜單(或目錄樹)和相應(yīng)的子窗體中,具體的代碼實現(xiàn)詳見源代碼。基于對話框的應(yīng)用程序界面主要特點就是簡潔,具有一定的交互性。? 第五范式。 為了保證數(shù)據(jù)完整性,需要注意:(1) 實體完整性:表的主關(guān)鍵字段的任何部分不能為 MULL。數(shù)據(jù)庫中的每一列稱為一個字段。數(shù)據(jù)導入,管理員可以把 Excel 表中的數(shù)據(jù)導入到數(shù)據(jù)庫中。對光纖信息數(shù)據(jù)庫只有 管理員才能進行錄入,修改和刪除。本次畢業(yè)設(shè)計需要用一種新軟件來開發(fā)學習,但是接觸一門新的軟件往往上手容易,使用起來很困難,而且這次畢業(yè)設(shè)計時間短,任務(wù)重。使用者可以了解本系統(tǒng)的基本工作原理。數(shù)據(jù)庫能很方便的進行數(shù)據(jù)的統(tǒng)計和錄入工作,這對有大量數(shù)據(jù)的編輯有重要的作用。學籍管理系統(tǒng)是一個教育單位不可缺少的部分,它的內(nèi)容對于學校的決策者和管理者來說都至關(guān)重要,所以學籍管理系統(tǒng)應(yīng)該能夠為用戶提供充足的信息和快捷的查詢手段。而對于后者則要求應(yīng)用程序功能完備,方便使用等特點。因此,開發(fā)這樣一套學籍管理軟件成為很有必要的事情。經(jīng)過大學四年學習,開發(fā)軟件有了一定的基礎(chǔ),為使開發(fā)軟件的經(jīng)驗進一步提高和適應(yīng)社會發(fā)展,與同組軟件開發(fā)人員共同努力學習、提高軟件開發(fā)的經(jīng)驗。 開發(fā)工具的選用 Visual Basic的使用Visual Basic 是 Microsoft 公司推出的一個可視化的面向?qū)ο蟮膽?yīng)用程序開發(fā)工具。它是一個可伸縮、高效能的數(shù)據(jù)庫管理系統(tǒng),具備內(nèi)置的復制能力、Inter 集成、開放系統(tǒng)體系結(jié)構(gòu)以及