

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 學校代碼:__________</p><p><b> 畢業(yè)論文(設計)</b></p><p> BACHELOR DISSERTATION</p><p> 論文題目:基于VC教學信息管理系統的設計與實現</p><p> 學位類別:______________ 本科_________
2、_______________________</p><p> 學科專業(yè):________ 通信工程____________________________</p><p> 完成時間:_________ __2012-5-4__________________________</p><p> 基于VC教學信息管理系統的設計與實現</p&
3、gt;<p><b> 中 文 摘 要</b></p><p> 隨著信息技術在管理上越來越深入而廣泛的應用,管理心細系統的實施在技術上已逐步成熟。管理信息系統是一個不斷發(fā)展的新型學科,任何一個單位要生存要發(fā)展,要高效率地把內部活動有機地組織起來,就必須建立與自身特點相適應的管理信息系統。</p><p> 學生信息管理系統是一個對學生隨著信息技術
4、在管理上越來越深入而廣泛的應用,管理信息系統的實施在技術上已逐步成熟。管理信息系統是一個不斷發(fā)展的新型學科,任何一個單位要生存要發(fā)展,要高效率地把內部活動有機地組織起來,就必須建立與自身特點相適應的管理信息系統。這個學生信息管理系統用Visual C++來設計界面,采用面向對象的語言編程,實現對學生信息的基本管理,包括學生信息,班級信息,課程信息,成績信息的添加,修改和查詢以及密碼等功能。該系統充分考慮用戶的操作簡便性,實現快捷操作如何
5、調程序也非常重要,通過這個程序可以學習到以前調試短程序沒有的經驗。</p><p> 關鍵詞:信息管理系統;學生管理;Visual C + + 6.0 應用平臺;Access;ADO</p><p> Based on the VC teaching information management system</p><p> design and Imple
6、mentation</p><p><b> ABSTRACT</b></p><p> With more and more widespread and profound application of information technology in management, the implement of management information sy
7、stem has become mature in technology step by step. Managing information system is a new subject. Enterprise needs existence and development, so enterprise activities should be organized efficiently and organically, which
8、 means tightening up the enterprise management and strengthening effective management of any resource (staff, finance, property, etc.) interna</p><p> Student Information Management System is one of the stu
9、dents with information technology in the management of increasingly deep and broad applications, management information system has been gradually implemented in the technical maturity. Management Information System is a
10、continuous development of new disciplines, any one unit to survive is to develop and efficient activities of the internal organization of organic, it must establish its own characteristics in line with the management of
11、infor</p><p> Keywords:Management information system;student management; Visual C + + 6.0 application; Access;ADO</p><p><b> 目 錄</b></p><p><b> 第一章 緒論1</b&
12、gt;</p><p> 1.1 學生信息管理系統的國內外研究現狀2</p><p> 1.1.1國內研究現狀2</p><p> 1.1.2國外研究現狀3</p><p> 1.2 學生信息管理系統的發(fā)展動態(tài)3</p><p> 1.2.1應用方面的發(fā)展動態(tài)3</p><p&g
13、t; 1.2.2技術方面的發(fā)展動態(tài)3</p><p> 第二章 開發(fā)環(huán)境5</p><p> 2.1 VC++概述5</p><p> 2.2 Access的簡介6</p><p> 2.3 Visual C++進行數據庫開發(fā)的優(yōu)勢7</p><p> 2.3.1 簡單性7</p>
14、<p> 2.3.2 靈活性7</p><p> 2.3.3 訪問速度快7</p><p> 2.3.4 可擴展性8</p><p> 2.3.5 訪問不同種類數據源8</p><p> 2.4 Visual C++提供的數據庫訪問技術8</p><p> 2.4.1 ODBC8&l
15、t;/p><p> 2.4.2 MFC ODBC9</p><p> 2.4.3 DAO9</p><p> 2.4.4 OLE DB9</p><p> 2.4.5 ADO9</p><p> 第三章 系統分析10</p><p> 3.1需求分析10</p>
16、<p> 3.2功能分析10</p><p> 第四章 系統設計12</p><p> 4.1系統模塊設計12</p><p> 4.1.1學生基本信息管理模塊12</p><p> 4.1.2課程信息管理模塊12</p><p> 4.1.3班級信息管理模塊12</p>
17、;<p> 4.1.4成績信息管理模塊12</p><p> 4.2系統總功能模塊圖13</p><p> 4.3系統結構設計14</p><p> 4.4系統數據庫設計14</p><p> 4.4.1 學生基本信息表設計StudentInfo14</p><p> 4.4.2 學
18、生成績信息表設計Scores15</p><p> 4.4.3 課程信息表設計Coures15</p><p> 4.4.4 系統用戶表設計Users16</p><p> 第五章 系統實現17</p><p> 5.1 添加ADO連接類CADOConn17</p><p> 5.2系統登錄模塊設計
19、19</p><p> 5.2.1界面設計19</p><p> 5.2.2設計思路20</p><p> 5.2.3核心代碼20</p><p> 5.3 主窗體設計23</p><p> 5.3.1界面設計23</p><p> 5.3. 設計思路23</p&
20、gt;<p> 5.3.3核心代碼24</p><p> 5.4學生基本信息管理模塊設計25</p><p> 5.4.1界面設計25</p><p> 5.4.2設計思路26</p><p> 5.4.3核心代碼26</p><p> 5.5課程信息管理模塊設計30</p&
21、gt;<p> 5.5.1界面設計30</p><p> 5.5.2設計思路31</p><p> 5.5.3核心代碼31</p><p> 5.6成績信息管理模塊設計34</p><p> 5.6.1界面設計34</p><p> 5.6.2設計思路35</p>&
22、lt;p> 5.6.3核心代碼36</p><p> 5.7系統用戶管理錄模塊設計41</p><p> 5.7.1界面設計41</p><p> 5.7.2設計思路41</p><p> 5.7.3核心代碼42</p><p><b> 第六章 結論47</b>&l
23、t;/p><p><b> 參考文獻48</b></p><p><b> 致謝49</b></p><p><b> 第一章 緒論</b></p><p> 隨著計算機技術的飛速發(fā)展和網絡時代的到來,我們已經進入了信息化的時代,有人也稱之為數字化的時代。在這個數字化時
24、代里,各個高校在各方面的信息查詢工作都受到了極大的挑戰(zhàn)。隨著各個高校的教育規(guī)模不斷的發(fā)展擴大,學生人數急劇的增加,有關學生的各種信息量也成倍增長。也帶來了各個高校教育發(fā)展過程中的一個重要的問題,就是學生信息的管理問題。面對龐大的信息量就需要有一個學生信息管理系統來提高學生信息管理工作的效率,做到信息的規(guī)范管理、科學統計和快速查詢,以減少管理工作方面的工作量。</p><p> 學生信息管理系統是一個人機系統,以
25、計算機為基礎的,但這并不意味著一切都是自動化的。人機系統的概念說明有些任務最好由人完成,而另一些任務由機器代替。因此,需要很好的分析把什么工作交給人做比較合適,什么工作交給機器比較合適,充分發(fā)揮人和機器的特長,組成一個和諧、有效的系統。</p><p> 近年來,越來越多的用戶認識到快速管理信息的重要性,紛紛開始選擇適合自己的信息管理系統。學生信息管理系統就是根據這些因素來設計和開發(fā)的。</p>
26、<p> 隨著各個學校校園網的建設和Internet技術的引進,基于校園網和Internet的系統開發(fā)也蓬勃發(fā)展。學生信息查詢是各個學校教學的一項重要工作,現代化的學生信息需要現代化的信息查詢系統支持。從20世紀90年代開始,為適應新世紀人才培養(yǎng)的目標,國內高校教育體制進行了大規(guī)模的改革。</p><p> 1.推進高校的信息化建設</p><p> 信息化是全球化的趨勢和
27、潮流,是國家社會經濟發(fā)展的必然選擇,信息化水平的高低已成為一個國家綜合國力與發(fā)展?jié)摿Φ闹匾饬恐笜耍e極推進國家信息化又是我國促進經濟社會發(fā)展的重要舉措,高校作為促進經濟社會發(fā)展的重要領地,他的信息化水平必將對國家信息化建設產生深遠的影響,必將對國家教育信息化建設提供借鑒,信息化不僅影響高校的教學與科研活動,也將給傳統教學、科研活動帶來巨大的變化,同時也將給學校現行的體系與機制提出挑戰(zhàn),推動他們的變革。高校的學生信息查詢系統的建設就是高
28、校數字化校園建設的重要組成部分。</p><p> 2.建設高校學生信息查詢平臺</p><p> 校園網的迅猛發(fā)展和Internet技術的引進,還有學生人數的不斷上升,為建立學生信息查詢系統提供了必要的條件,國內許多高校都根據學校的實際學生信息的情況和特點開發(fā)了適于自己學校的學生信息查詢系統。學生信息查詢系統的開發(fā)便于遠程查詢學生信息,使學校和用人單位及時了解學生信息,為實現學生信息
29、查詢現代化和信息化具有重要的意義。</p><p> 1.1 學生信息管理系統的國內外研究現狀</p><p> 1.1.1國內研究現狀</p><p> 隨著我國高等教育的發(fā)展,在信息化和數字化的背景下,國內高校迫切需要提高教育工作的質量與效率,數字化校園將成為一種必然的趨勢,并逐步走向成熟。</p><p> 教學信息管理工作是高
30、校信息管理工作的重要組成部分,許多高校都針對自己學校的規(guī)模和特點開發(fā)出了教學信息管理系統,將管理人員從繁雜的日常事務性工作中解脫出來,提高了工作效率,實現了信息共享。國內一些高校及軟件公司也紛紛看好這一有著廣闊市場前景的軟件開發(fā),但是從現有高校的教學信息管理系統來看還存在很多的問題,主要是:</p><p> (1)功能單一。一個系統只為了解決一個具體的問題而開發(fā)的。各個相關系統間沒有緊密、有效的聯系,影響了信
31、息的重用和共享。</p><p> (2)系統孤立。許多系統還處于單機應用狀態(tài),即僅限于負責此項業(yè)務的管理人員使用,沒有很好實現縱向及橫向的管理工作的緊密聯系,而且交互性差,造成信息重復采集、重復統計。同時,系統之間的孤立也會在查詢信息時查找不完全,不能提供充分的信息。</p><p> (3)在軟件的使用上,大多數只是停留在日常辦公的角度,缺乏綜合分析能力。另外,教學信息管理系統還存
32、在可擴充性和靈活性差,缺乏強有力后續(xù)技術支持,無法不斷完善系統,適應學校的發(fā)展需要,致使這些軟件運行了一段時間后中途廢棄或擱置,造成很大的浪費。</p><p> 1.1.2國外研究現狀</p><p> 隨著國外經濟的持續(xù)發(fā)展,高校辦學規(guī)模的擴大,學生的數量也成倍增長,學生信息管理模式也發(fā)生了變革,并隨著計算機科學技術的不斷發(fā)展,使得信息管理系統在各個領域發(fā)揮著越來越重要的作用。&l
33、t;/p><p> 國外的大中型軟件公司有很多也曾做過很多高校的學生的信息管理系統,開發(fā)技術也比國內的成熟,在開發(fā)過程中遵循了可擴展性和包容性,使得系統能接納已有的數據結構,在今后擴展時有效地保護已有的資源,在需要變化時,能方便地調整結構,易于擴充功能,升級方便,即滿足當前的業(yè)務需求,又為今后的擴展留有很大的空間。而在信息標準化和規(guī)范化的基礎上,對信息進行合理的布局,使得相關人員可以按照各自的權限進行信息查詢和維護
34、。</p><p> 1.2 學生信息管理系統的發(fā)展動態(tài)</p><p> 1.2.1應用方面的發(fā)展動態(tài)</p><p> 從應用的發(fā)展來看,信息化的發(fā)展給各個社會組織帶來了查詢信息的變革。高校作為社會組織的一部分,其查詢模式必然深受信息化的影響,高校教學信息管理系統必將隨著計算機技術的發(fā)展迅速普及和提高。主要體現在:</p><p>
35、 (1)單機查詢向網絡化查詢發(fā)展</p><p> 學生信息查詢工作涉及到學校內部的諸多部門,在學校內部實現數據交互與共享,形成全面綜合的管理已經是高校信息化管理的研究熱點和重點。</p><p> (2)輔助管理向輔助決策發(fā)展</p><p> 隨著查詢要求和查詢信息系統水平的不斷提高,信息管理系統從輔助管理向輔助決策發(fā)展是必然趨勢。如何利用信息管理系統查
36、看各個學生的信息,采用數據挖掘技術,找出有價值的信息,并根據此信息進行分析、比較、選擇等,獲得最有用的信息。</p><p> 1.2.2技術方面的發(fā)展動態(tài)</p><p> 從技術的發(fā)展來看,高校教學信息管理系統的開發(fā)技術已經日益成熟。計算機和網絡技術的不斷發(fā)展為學校的信息化建設提供了得天獨厚的技術條件;各個局域網、城域網的建成和完善為實現信息管理的網絡化提供了硬件設施保障;先進的軟
37、件系統開發(fā)工具、好的圖形用戶界面操作系統的推廣,高效漢字處理技術的不斷改進,都為高校教學信息管理系統的開發(fā)、應用提供了強有力的支持。</p><p><b> 第二章 開發(fā)環(huán)境</b></p><p> 2.1 VC++概述</p><p> VC++是微軟公司開發(fā)的一個IDE(集成開發(fā)環(huán)境),換句話說,就是使用C++的一個開發(fā)平臺。&l
38、t;/p><p> VC++是Windows平臺上的C++編程環(huán)境,學習VC要了解很Windows平臺的特性并且還要掌握MFC、ATL、COM等的知識,難度比較大。Windows下編程需要了解Windows的消息機制以及回調(callback)函數的原理; MFC是Win32API的包裝類,需要理解文檔視圖類的結構,窗口類的結構,消息流向等等;COM是代碼共享的二進制標準,需要掌握其基本原理等等。<
39、/p><p> VC++應用程序的開發(fā)主要有兩種模式,一種是WIN API方式,另一種則是MFC方式,傳統的WIN API開發(fā)方式比較繁瑣,而MFC則是對WIN API再次封裝,所以MFC相對于WIN API開發(fā)更具備效率優(yōu)勢。</p><p> Visual C++它大概可以分成三個主要的部分:</p><p> 1、Developer Studio。這是一個集
40、成開發(fā)環(huán)境,我們日常工作的99%都是在它上面完成的,再加上它的標題赫然寫著“Microsoft Visual C++”,所以很多人理所當然的認為,那就是Visual C++了。其實不然,雖然Developer Studio提供了一個很好的編輯器和很多Wizard,但實際上它沒有任何編譯和鏈接程序的功能,真正完成這些工作的幕后英雄后面會介紹。我們也知道,Developer Studio并不是專門用于VC的,它也同樣用于VB,VJ,VID等
41、Visual Studio家族的其他同胞兄弟。所以不要把Developer Studio當成Visual C++, 它充其量只是Visual C++的一個殼子而已。這一點請切記!</p><p> 2、MFC。從理論上來講,MFC也不是專用于Visual C++,Borland C++,C++Builder和Symantec C++同樣可以處理MFC。同時,用Visual C++編寫代碼也并不意味著一定要用MF
42、C,只要愿意,用Visual C++來編寫SDK程序,或者使用STL,ATL,一樣沒有限制。不過,Visual C++本來就是為MFC打造的,Visual C++中的許多特征和語言擴展也是為MFC而設計的,所以用Visual C++而不用MFC就等于拋棄了Visual C++中很大的一部分功能。但是,Visual C++也不等于MFC。</p><p> 3、Platform SDK。這才是Visual C++
43、和整個Visual Studio的精華和靈魂,雖然我們很少能直接接觸到它。大致說來,Platform SDK是以Microsoft C/C++編譯器為核心(不是Visual C++,看清楚了),配合MASM,輔以其他一些工具和文檔資料。上面說到Developer Studio沒有編譯程序的功能,那么這項工作是由誰來完成的呢?是CL,是NMAKE,和其他許許多多命令行程序,這些我們看不到的程序才是構成Visual Studio的基石。&l
44、t;/p><p> 2.2 Access的簡介</p><p> Microsoft Access 2010是一種關系型數據庫管理系統 (RDBMS)。</p><p> Access數據庫是Microsoft Office 2010套件的Professional版和Developer版的一個組件,不需要單獨安裝。 </p><p> 與
45、其他關系型數據庫一樣,MS Access充當“后端”,它的任務是存儲數據。除此之外,通過使用MS Access,用戶還可以創(chuàng)建“前端”或一種對用戶友好的、頗受歡迎的數據訪問方式。</p><p> 與SQL Server數據庫進行比較,Access數據庫具有以下的特點:</p><p> 1、功能比較單一,不提供數據發(fā)布、分布式事務處理等操作,因此比Access數據庫需要的內存和磁盤資
46、源要少;</p><p> 2、Access數據庫一般用于桌面應用程序,不適用于大型的企業(yè)級應用; </p><p> Access數據庫由七個對象組成:表、查詢、窗體、報表、頁、宏以及模塊。</p><p> —數據庫中的數據主要存儲在“表”中;</p><p> —“查詢”幫助用戶檢索基于某些條件的特定數據;</p>
47、<p> —“窗體”幫助用戶創(chuàng)建用于輸入、修改和操縱數據的用戶界面;</p><p> —“報表”以某種格式顯示一個或多個表中的數據,數據可以直接從表中提取,也可以是字段經過某些計算的結果,報表還提供良好的打印效果;</p><p> —“宏”和“模塊”有用來計算、在應用程序中導航以及打印報表等操作;</p><p> —“頁”有提供給瀏覽器忠訵
48、eb頁的形式查看數據庫中的數據。</p><p> 與SQL Server數據庫一樣,MS Access中的數據庫可以有一個或多個相關的表。</p><p> 2.3 Visual C++進行數據庫開發(fā)的優(yōu)勢</p><p> Visual C++提供了多種多樣的數據庫訪問技術——ODBC API、MFC ODBC、DAO、OLE DB、ADO等。這些技術各有
49、自己的特點,它們提供了簡單、靈活、訪問速度快、可擴展性好的開發(fā)技術。</p><p> 2.3.1 簡單性 </p><p> Visual C++中提供了MFC類庫、ATL模板類以及AppWizard、ClassWizard等一系列的Wizard工具用于幫助用戶快速的建立自己的應用程序,大大簡化了應用程序的設計。使用這些技術,可以使開發(fā)者編寫很少的代碼或不需編寫代碼就可以開發(fā)一個數據
50、庫應用程序。</p><p> 2.3.2 靈活性 </p><p> Visual C++提供的開發(fā)環(huán)境可以使開發(fā)者根據自己的需要設計應用程序的界面和功能,而且,Visual C++提供了豐富的類庫和方法,可以使開發(fā)者根據自己的應用特點進行選擇。</p><p> 2.3.3 訪問速度快 </p><p> 為了解決ODBC開發(fā)的數
51、據庫應用程序訪問數據庫的速度慢的問題,Visual C++提供了新的訪問技術——OLE DB和ADO,OLE DB和ADO都是基于COM接口的技術,使用這種技術可以直接對數據庫的驅動程序進行訪問,這大大提供了訪問速度。</p><p> 2.3.4 可擴展性 </p><p> Visual C++提供了OLE技術和ActiveX技術,這種技術可以增強應用程序的能力。使用OLE技術和A
52、ctiveX技術可以使開發(fā)者利用Visual C++中提供的各種組件、控件以及第三方開發(fā)者提供的組件來創(chuàng)建自己的程序,從而實現應用程序的組件化。使用這種技術可以使應用程序具有良好的可擴展性。</p><p> 2.3.5 訪問不同種類數據源 </p><p> 傳統的ODBC技術只能訪問關系型數據庫,在Visual C++中,提供了OLE DB訪問技術,不僅可以訪問關系型數據庫,還可以
53、訪問非關系型數據庫。</p><p> 2.4 Visual C++提供的數據庫訪問技術</p><p> Visual C++提供了多種訪問數據庫的技術,如下所示:</p><p> ODBC(Open DataBase Connectivity) </p><p> MFC ODBC(Microsoft Foundation Cl
54、asses ODBC) </p><p> DAO (Data Access Object) </p><p> OLE DB(Object Link and Embedding DataBase) </p><p> ADO(ActiveX Data Object) </p><p> 2.4.1 ODBC </p>
55、<p> ODBC是客戶應用程序訪問關系數據庫時提供的一個統一的接口,對于不同的數據庫,ODBC提供了一套統一的API,使應用程序可以應用所提供的API來訪問任何提供了ODBC驅動程序的數據庫。而且,ODBC已經成為一種標準,所以,目前所有的關系數據庫都提供了ODBC驅動程序,這使ODBC的應用非常廣泛,基本上可用于所有的關系數據庫。</p><p> 但由于ODBC只能用于關系數據庫,使得利用OD
56、BC很難訪問對象數據庫及其它非關系數據庫。</p><p> 由于ODBC是一種底層的訪問技術,因些,ODBC API可以使客戶應用程序能夠從底層設置和控制數據庫,完成一些高層數據庫技術無法完成的功能。</p><p> 2.4.2 MFC ODBC </p><p> 由于直接使用ODBC API編寫應用程序要編制大量代碼,在Visual C++中提供了M
57、FC ODBC類,封裝了ODBC API,這使得利用MFC來創(chuàng)建ODBC的應用程序非常簡便。</p><p> 2.4.3 DAO </p><p> DAO提供了一種通過程序代碼創(chuàng)建和操縱數據庫的機制。多個DAO構成一個體系結構,在這個結構中,各個DAO對象協同工作。MFC DAO是微軟提供的用于訪問Microsoft Jet數據庫文件(*.mdb)的強有力的數據庫開發(fā)工具,它通過D
58、AO的封裝,向程序員提供了DAO豐富的操作數據庫手段。</p><p> 2.4.4 OLE DB </p><p> OLE DB是Visual C++開發(fā)數據庫應用中提供的新技術,它基于COM接口。因此,OLE DB對所有的文件系統包括關系數據庫和非關系數據庫都提供了統一的接口。這些特性使得OLE DB技術比傳統的數據庫訪問技術更加優(yōu)越。與ODBC技術相似,OLE DB屬于數據庫訪
59、問技術中的底層接口。直接使用OLE DB來設計數據庫應用程序需要大量的代碼。在VC中提供了ATL模板,用于設計OLE DB數據應用程序和數據提供程序。</p><p> 2.4.5 ADO </p><p> ADO技術是基于OLE DB的訪問接口,它繼承了OLE DB技術的優(yōu)點,并且,ADO對OLE DB的接口作了封裝,定義了ADO對象,使程序開發(fā)得到簡化,ADO技術屬于數據庫訪問的
60、高層接口。 </p><p><b> 第三章 系統分析</b></p><p><b> 3.1需求分析</b></p><p> 學生信息管理系統是針對學校人事處的大量業(yè)務處理工作而開發(fā)的管理軟件,主要用于學校學生信息管理,總體任務是實現學生信息關系的系統化、科學化、規(guī)范化和自動化,其主要任務是用計算機對學生各種
61、信息進行日常管理,如查詢、修改、增加、刪除,另外還考慮到學生選課,針對這些要求設計了學生信息管理系統。推行學校信息管理系統的應用是進一步推進學生學籍管理規(guī)范化、電子化、控制輟學和提高義務教育水平的重要舉措。</p><p> 學生信息是高等學校非常重要的一項數據資源,是一個教育單位不可缺少一部分。特別是近幾年來,國家政策的調整,我國高等院校大規(guī)模的擴招,給高等院校的教學管理、學生管理、后勤管理等方面都帶來不少的
62、沖擊。其包含的數據量大,涉及的人員面廣,而且需要及時更新,故較為復雜,難以單純地依*人工管理,而且傳統的人工管理方式既不易于規(guī)范化,管理效率也不高,目前我國各類高等院校中還有相當一部分學生檔案管理還停留在紙介質的基礎上,尤其是中、小學對學生檔案的管理更是落后,這樣的管理機制已經不能適應時代發(fā)展的要求,其管理方法將浪費許多人力和物力。隨著科學技術的不斷提高,計算機科學與技術日漸成熟,計算機應用的普及已進入人類社會生活的各個領域,并發(fā)揮著越
63、來越重要的作用。這種傳統的手工管理模式必然被以計算機為物質基礎的信息管理方法所取代。作為計算機應用的一部分,使用計算機對學生檔案進行管理,有著手工管理所無法比擬的優(yōu)點,如:檢索迅速、查找方便、可靠性高、存儲量大、保密性好、壽命長、成本低等。這些優(yōu)點能夠極大地提高學生檔案管理的效率,也是學校向科學化、正規(guī)化管理發(fā)展的必要條件,更是各個高等院校與世界接軌的重要條件。</p><p><b> 3.2功能分
64、析</b></p><p> 權限功能:系統可分為普通用戶,管理員。普通用戶只是查詢不能修改,管理員用戶還能修改、刪除、添加所有信息。系統根據登錄用戶的權限進行相應的操作。</p><p> 錄入功能:為管理員用戶提供相應的錄入功能。</p><p> 查詢功能:為所有用戶提供查詢的功能,可查詢允許范圍內的所有信息。</p><
65、p> 維護功能:為管理員用戶提供查詢及相應的修改,刪除、添加功能。</p><p> 退出功能:結束并關閉系統。</p><p><b> 第四章 系統設計</b></p><p><b> 4.1系統模塊設計</b></p><p> 4.1.1學生基本信息管理模塊</p&g
66、t;<p> ?。?)添加學生基本信息,學生信息包括學號、姓名、性別、生日、專業(yè)、班級、家庭住址、備注等。</p><p><b> ?。?)修改</b></p><p><b> (3)刪除</b></p><p><b> ?。?)查詢</b></p><p&g
67、t; ?。?)導入:要求從EXCEL表中導入一個班的數據。</p><p> 4.1.2課程信息管理模塊</p><p> ?。?)課程信息的添加</p><p> (2)課程信息的修改</p><p> ?。?)課程信息的刪除</p><p><b> ?。?)查詢</b></p>
68、;<p> 4.1.3班級信息管理模塊</p><p><b> 不做要求</b></p><p> 4.1.4成績信息管理模塊</p><p> (1)添加、修改、刪除一條學生成績記錄:根據相應的學年、學期、課程、班級、學生學號、學生姓名、平時成績、考試成績、備注9項內容,選擇“添加”按鈕加入一個新數據。選中一條記錄后,
69、也可以“修改”某個學生的成績。選中一條記錄后,還可以“刪除”一個記錄。</p><p> ?。?)查詢:可以根據學年、學期、課程、班級(這些字段值是固定設置的,為簡單起間不從數據庫里提取)進行查詢并顯示在列表視圖里。</p><p> (3)導入:將預先準備好的某個學年、學期、課程、班級的學生成績數據一定要和數據庫中表Scores表格式完全一致,給定的Scores有10個字段)EXECL
70、文件導入進來,并在列表視圖里顯示出來。</p><p> ?。?)導出:根據某個學年、學期、課程、班級選擇之后的數據顯示在列表視圖里,可以選擇導出,將顯示的數據導出到EXCEL文件中。</p><p> ?。?)預覽和打?。嚎蓪⒘斜硪晥D里顯示的某個班的數據打印出來</p><p> 4.2系統總功能模塊圖</p><p><b>
71、 系統功能圖如下:</b></p><p><b> 圖1 系統功能圖</b></p><p> 系統功能流程圖如下:</p><p> 圖2 系統功能流程圖</p><p><b> 4.3系統結構設計</b></p><p> MFC提供3種應用程
72、序類型:單文檔、多重文檔和基本對話框。本系統采用基于對話框的應用程序框架,由一個主對話框和幾個模態(tài)子對話框組成。主對話框為系統主窗體對話框;模態(tài)子對話框分別是系統的幾個功能模塊的窗口界面,其中有系統登錄模塊對話框、學生基本信息管理模塊對話框、課程信息管理模塊對話框、系統用戶管理模塊對話框和成績信息管理模塊對話框。另外,還有查詢條件對話框和打印預覽對話框等。</p><p> 4.4系統數據庫設計</p&g
73、t;<p> 根據系統分析可以列出以下數據項和數據結構。</p><p> ?。?)學生基本信息,包括學號、姓名、性別、生日、專業(yè)、班級、家庭住址、備注(獎勵和處分等)。</p><p> ?。?)學生成績表,包括學號、課程代號、學年、學期、平時成績、期末成績、總評成績、備注(缺考/補考/緩考)。</p><p> ?。?)課程信息表,包括課程代號、
74、課程名、學時、學分、課程性質(必修/限選/校選)。</p><p> ?。?)系統用戶信息,包括用戶名、密碼、用戶類型(教師/學生/系統管理員)。</p><p> 根據系統分析,本系統數據庫名稱為StudentDB,包含4個表:學生基本信息表、學生成績表、課程信息表和系統用戶表。</p><p> 4.4.1 學生基本信息表設計StudentInfo</
75、p><p> 表1 StudentInfo</p><p> 4.4.2 學生成績信息表設計Scores</p><p><b> 表2 Scores</b></p><p> 4.4.3 課程信息表設計Coures</p><p><b> 表3 Coures</b>
76、</p><p> 4.4.4 系統用戶表設計Users</p><p><b> 表4 Users</b></p><p><b> 第五章 系統實現</b></p><p> 本系統采用基于對話框的應用程序框架,由一個主對話框和幾個模態(tài)子對話框組成,項目名為StudentMIS。本系統采
77、用ADO技術訪問數據庫。</p><p> 5.1 添加ADO連接類CADOConn</p><p> 為了適用ADO,首先要引入ADO的庫文件,在頭文件stdafx.h中加入以下代碼,導入msado15.dll動態(tài)鏈接庫。</p><p> #import "c:\program files\common files\system\ado\msad
78、o15.dll" no_namespacerename("EOF", "adoEOF") rename("BOF", "adoBOF")</p><p> ADO連接類CADOConn的主要代碼如下:</p><p> #include "stdafx.h"</p&g
79、t;<p> #include "StudentMIS.h"</p><p> #include "ADOConn.h"</p><p> #ifdef _DEBUG</p><p> #undef THIS_FILE</p><p> static char THIS_FILE
80、[]=__FILE__;</p><p> #define new DEBUG_NEW</p><p><b> #endif</b></p><p> //////////////////////////////////////////////////////////////////////</p><p>
81、// Construction/Destruction</p><p> //////////////////////////////////////////////////////////////////////</p><p> CADOConn::CADOConn(){}</p><p> CADOConn::~CADOConn(){}</p>
82、;<p> void CADOConn::OnInitADOConn()</p><p><b> {</b></p><p> ::CoInitialize(NULL); // 初始化COM環(huán)境</p><p><b> try</b></p><p><b>
83、 {</b></p><p> m_pConnection.CreateInstance("ADODB.Connection"); // 創(chuàng)建Connection對象</p><p> // 設置連接字符串</p><p> _bstr_t strConnect="Provider=Microsoft.Jet.OL
84、EDB.4.0;Data Source=StudentDB.mdb";</p><p> m_pConnection->Open(strConnect,"","",adModeUnknown); // 打開數據庫</p><p><b> }</b></p><p> catch
85、(_com_error e)</p><p><b> {</b></p><p> AfxMessageBox("數據庫連接失敗,確認數據庫路徑是否正確!"); </p><p><b> }</b></p><p><b> }</b><
86、/p><p> BOOL CADOConn::ExecuteSQL(_bstr_t bstrSQL)</p><p><b> {</b></p><p><b> try</b></p><p><b> {</b></p><p> if (
87、m_pConnection == NULL )</p><p> OnInitADOConn();</p><p> m_pConnection->Execute(bstrSQL,NULL,adCmdText); // 執(zhí)行SQL語句</p><p> return true;</p><p><b> }</
88、b></p><p> catch(_com_error e)</p><p><b> {</b></p><p> AfxMessageBox("不能打開記錄集!"); </p><p> return false;</p><p><b> }&
89、lt;/b></p><p><b> }</b></p><p> void CADOConn::ExitConnect()</p><p><b> {</b></p><p> //關閉記錄集和連接</p><p> if ( m_pRecordset
90、!= NULL )</p><p> m_pRecordset->Close();</p><p> m_pConnection->Close();</p><p><b> //釋放環(huán)境</b></p><p> ::CoUninitialize();</p><p><
91、;b> }</b></p><p> _RecordsetPtr& CADOConn::GetRecordset(_bstr_t bstrSQL)</p><p><b> {</b></p><p><b> try</b></p><p><b>
92、{</b></p><p> if ( m_pConnection == NULL )</p><p> OnInitADOConn();</p><p> m_pRecordset.CreateInstance(__uuidof(Recordset)); // 創(chuàng)建Recordset對象 </p><p><b&g
93、t; // 打開記錄集</b></p><p> m_pRecordset->Open(bstrSQL, m_pConnection.GetInterfacePtr(), adOpenDynamic,adLockOptimistic,adCmdText);</p><p><b> }</b></p><p> cat
94、ch(_com_error e)</p><p><b> {</b></p><p> AfxMessageBox("不能打開記錄集!"); </p><p><b> }</b></p><p> return m_pRecordset;</p>&l
95、t;p><b> }</b></p><p> 5.2系統登錄模塊設計</p><p> 系統登陸主要用于對用戶進行安全性檢查,以防止非法用戶進入系統。另外,使用的用戶有多種類型,不同的用戶具有不同的操作權限。</p><p> 系統運行時首先出現登錄窗口,要求用戶輸入用戶名和密碼,單擊“登陸”按鈕時對用戶的身份進行驗證。<
96、/p><p><b> 5.2.1界面設計</b></p><p> 系統登錄模塊界面主要實現系統用戶進入系統功能。用戶輸入用戶名和密碼,單擊“登陸”按鈕,就會實現進入系統主窗體的功能。</p><p> 系統登錄窗口如圖4所示。</p><p><b> 圖4 系統登錄窗口</b></p
97、><p><b> 5.2.2設計思路</b></p><p> 利用用戶登錄成功能實現對用戶操作權限的限制。用戶必須輸入正確用戶名和與該用戶名相對應的正確密碼才能進入下一界面,如果用戶的密碼輸入錯誤,應用程序會提示錯誤信息。</p><p><b> 5.2.3核心代碼</b></p><p>
98、 #include "stdafx.h"</p><p> #include "StudentMIS.h"</p><p> #include "LoginDlg.h"</p><p> #include "ADOConn.h"</p><p> #if
99、def _DEBUG</p><p> #define new DEBUG_NEW</p><p> #undef THIS_FILE</p><p> static char THIS_FILE[] = __FILE__;</p><p><b> #endif</b></p><p>
100、 /////////////////////////////////////////////////////////////////////////////</p><p> // CLoginDlg dialog</p><p> extern int UserType; // 用戶類型 0--學生,1--教師,2--系統管理員</p><p>
101、; extern CString UserName; // 用戶名</p><p> CLoginDlg::CLoginDlg(CWnd* pParent /*=NULL*/)</p><p> : CDialog(CLoginDlg::IDD, pParent)</p><p><b> {</b></p><
102、;p> //{{AFX_DATA_INIT(CLoginDlg)</p><p> m_strUserName = _T("");</p><p> m_strUserPsw = _T("");</p><p> //}}AFX_DATA_INIT</p><p><b> }
103、</b></p><p> void CLoginDlg::DoDataExchange(CDataExchange* pDX)</p><p><b> {</b></p><p> CDialog::DoDataExchange(pDX);</p><p> //{{AFX_DATA_MAP(CL
104、oginDlg)</p><p> DDX_Text(pDX, IDC_EDIT_USERNAME, m_strUserName);</p><p> DDX_Text(pDX, IDC_EDIT_USERPSW, m_strUserPsw);</p><p> //}}AFX_DATA_MAP</p><p><b> }
105、</b></p><p> BEGIN_MESSAGE_MAP(CLoginDlg, CDialog)</p><p> //{{AFX_MSG_MAP(CLoginDlg)</p><p> ON_WM_PAINT()</p><p> //}}AFX_MSG_MAP</p><p> END_
106、MESSAGE_MAP()</p><p> /////////////////////////////////////////////////////////////////////////////</p><p> // CLoginDlg message handlers</p><p> void CLoginDlg::OnOK() </p>
107、;<p><b> {</b></p><p> // TODO: Add extra validation here</p><p> UpdateData(true);</p><p> if ( m_strUserName == "" )</p><p><b>
108、 {</b></p><p> MessageBox("請輸入用戶名");</p><p><b> return;</b></p><p><b> }</b></p><p> if ( m_strUserPsw == "" )<
109、;/p><p><b> {</b></p><p> MessageBox("請輸入密碼");</p><p><b> return;</b></p><p><b> }</b></p><p> CADOConn m_A
110、DOConn;</p><p> m_ADOConn.OnInitADOConn();</p><p> _bstr_t strSQL = "select * from Users where UserName='"+m_strUserName+"'and UserPsw='"+m_strUserPsw+"
111、9;";</p><p> _RecordsetPtr LoginSet;</p><p> LoginSet=m_ADOConn.GetRecordset(strSQL);</p><p> if ( LoginSet->adoEOF )</p><p><b> {</b></p>
112、<p> MessageBox("用戶名或密碼錯誤,請注意大小寫!","登錄失敗"); </p><p><b> return;</b></p><p><b> }</b></p><p> _variant_t theValue;</p>&
113、lt;p> theValue=LoginSet->GetCollect("UserName"); //獲取用戶名</p><p> if ( theValue.vt != VT_NULL )</p><p> UserName = (char*)_bstr_t(theValue);</p><p> theValue=Logi
114、nSet->GetCollect("UserType"); //獲取用戶類型</p><p> if ( theValue.vt != VT_NULL )</p><p> UserType = theValue.iVal;</p><p> m_ADOConn.ExitConnect();</p><p>
115、 EndDialog(IDOK); // 登錄成功,結束對話框,返回IDOK</p><p><b> }</b></p><p> void CLoginDlg::OnPaint() </p><p><b> {</b></p><p> CPaintDC dc(this); //
116、device context for painting</p><p> // TODO: Add your message handler code here</p><p><b> // 創(chuàng)建新字體</b></p><p> CFont NewFont; </p><p> NewFont.CreateF
117、ont(30,0,0,0,700,TRUE,FALSE,0,ANSI_CHARSET,</p><p> OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,</p><p> DEFAULT_PITCH | FF_SWISS,"楷體");</p><p> dc.SetBkMode
118、(TRANSPARENT); // 設置背景模式</p><p> CFont *pOldFont=dc.SelectObject(&NewFont); </p><p> dc.SetTextColor(RGB(0,0,255)); // 設置文本顏色為藍色</p><p> dc.TextOut(60,20,"學生信息管理系統&q
119、uot;);</p><p> dc.SelectObject(pOldFont);</p><p> // Do not call CDialog::OnPaint() for painting messages</p><p><b> }</b></p><p><b> 5.3 主窗體設計<
120、;/b></p><p> 主窗體主要用于對系統各個模塊進行調用,使菜單調用每個模塊。</p><p><b> 5.3.1界面設計</b></p><p> 學生管理信息系統主界面主要實現學生基本信息管理、課程信息管理、學生成績管理和系統用戶等功能。選擇該界面中不同的功能按鈕,就會進入實現不同功能的窗體。下圖是學生管理信息系統主界
121、面窗體。</p><p><b> 圖3 主窗體圖</b></p><p><b> 5.3. 設計思路</b></p><p> (1)添加一個菜單資源IDR_MENU_MAIN,菜單屬性設置如下表。在對話框屬性窗口中為對話框關聯菜單。</p><p><b> 表5 菜單屬性設
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于vc++的班級信息管理系統畢業(yè)論文
- 基于vc++的班級信息管理系統畢業(yè)論文
- 學生信息管理系統的設計與實現-畢業(yè)論文
- 畢業(yè)論文——學生信息管理系統的設計與實現
- 畢業(yè)論文——教務信息管理系統的設計與實現
- 畢業(yè)論文——超市信息管理系統設計與實現
- 學生信息管理系統的設計與實現 畢業(yè)論文
- 畢業(yè)論文:醫(yī)院信息管理系統的設計與實現
- 畢業(yè)論文---醫(yī)院信息管理系統設計與實現
- 學生信息管理系統設計與實現畢業(yè)論文
- 畢業(yè)論文——學生信息管理系統的設計與實現
- 畢業(yè)論文:醫(yī)院信息管理系統的設計與實現
- 畢業(yè)論文:員工信息管理系統的設計與實現
- 學生信息管理系統的設計與實現-畢業(yè)論文
- 基于.net的車輛信息管理系統的設計與實現---畢業(yè)論文
- 信息管理與信息系統畢業(yè)論文小型酒店信息管理系統的設計與實現
- 教學信息管理系統畢業(yè)論文
- 畢業(yè)論文--基于c#職工信息管理系統的設計與實現
- 基于.net的車輛信息管理系統的設計與實現---畢業(yè)論文
- 企業(yè)人事信息管理系統設計與實現畢業(yè)論文
評論
0/150
提交評論