版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
1、<p><b> 成都信息工程學院</b></p><p><b> 學位論文</b></p><p> 網(wǎng)上選課系統(tǒng)的設計與實現(xiàn)</p><p> 網(wǎng)上選課系統(tǒng)的設計與實現(xiàn)</p><p><b> 摘 要</b></p><p>
2、; 隨著教育改革的不斷深化,建立一套能夠適應這些改變的行政管理方案也就顯得尤為重要。在高等院校的日常工作中,每個學期都要面臨學生的選課工作。以往在選課工作的各個階段都是手工操作,不但效率低下、工作繁瑣,而且容易出錯,于是開發(fā)一套適合校情的網(wǎng)上選課系統(tǒng)便成為了教務處的迫切需求。</p><p> 本文設計是根據(jù)部分學校的實際情況,在Visual Studio 2005環(huán)境中,利用ASP.NET、SQL Serv
3、er數(shù)據(jù)庫等技術開發(fā)了基于B/S模式的網(wǎng)上在線選課系統(tǒng)。在設計中完成了院系、專業(yè)、課程、教師、學生信息的管理功能及在線選課、查看選課學生、權(quán)限限制等功能。經(jīng)測試,此系統(tǒng)滿足教務系統(tǒng)用戶需求,能夠促進當前高校教務工作的管理水平,有一定的實際應用價值。</p><p> 關鍵詞:選課;SQL Server;ASP.NET;教務管理</p><p> The Design and Imple
4、mentation of an Online Course-Choosing System</p><p><b> Abstract</b></p><p> With the continuous deepening of the educational reform, the construction and development of universit
5、ies play an increasingly important role to raise the overall quality. For this, to establish an administration solution to adapt these changes is particularly important. In the day-to-day work, each student is faced with
6、 the course-choosing. For the past, in each stage, the work has done not only inefficient, cumbersome, but also prone to error. So an Online Course-Choosing System which is suita</p><p> This project is bas
7、ed on some university’s basic needs and developed by Visual Studio 2005 and ASP.NET, SQL Server. This system completed the function of department management, major management, course management, teacher management, stude
8、nt management and online-course-choosing and so on. When the B/S system in working, the Users only need a personal computer can access the site for completing course-choosing and relating information management. This sys
9、tem can meet the current college's needs.</p><p> Key words: Course-Choosing; SQL Server; ASP.NET; Education Manage</p><p><b> 目 錄</b></p><p><b> 論文總頁數(shù):24頁
10、</b></p><p><b> 1引言1</b></p><p> 1.1課題背景1</p><p> 1.2課題目標1</p><p> 1.3課題意義1</p><p> 2開發(fā)平臺、相關技術的介紹2</p><p> 2
11、.1ASP.NET2</p><p> 2.2SQL Server3</p><p> 2.3C#簡介4</p><p><b> 3需求分析5</b></p><p> 3.1應解決的問題5</p><p> 3.2系統(tǒng)架構(gòu)5</p><p&
12、gt; 3.3設計原則6</p><p> 3.3.1實用性原則6</p><p> 3.3.2可擴展性與可維護性原則6</p><p> 3.3.3安全可靠性原則6</p><p> 3.3.4用戶界面設計原則6</p><p> 3.3.5數(shù)據(jù)庫設計原則6</p>
13、<p> 3.4中間件引用6</p><p> 4系統(tǒng)設計與實現(xiàn)6</p><p> 4.1數(shù)據(jù)庫設計6</p><p> 4.2模塊設計11</p><p> 4.2.1登錄模塊設計11</p><p> 4.2.2院系管理模塊設計12</p><p&
14、gt; 4.2.3專業(yè)管理模塊設計13</p><p> 4.2.4課程管理模塊設計13</p><p> 4.2.5學生管理模塊設計14</p><p> 4.2.6教師管理模塊設計14</p><p> 4.2.7學生個人信息維護模塊設計14</p><p> 4.2.8選課模塊設
15、計16</p><p> 4.2.9擔任課程查看模塊設計17</p><p> 4.2.10選課學生信息查看模塊設計18</p><p> 4.2.11數(shù)據(jù)庫鏈接設計19</p><p> 5部署與測試19</p><p> 5.1部署圖19</p><p>
16、5.2模塊測試19</p><p><b> 結(jié)論21</b></p><p><b> 參考文獻21</b></p><p><b> 致謝23</b></p><p><b> 聲明24</b></p><p&g
17、t;<b> 引言</b></p><p> “選課”是現(xiàn)在高校行政管理工作中一項很重要的課題。而且是每個學期都必須要面對的問題。選課工作做不好,學生不知道自己將要學習的課程,老師也不知道自己將要講授的課程,教務處的排課計劃、教室安排等其他調(diào)度工作也無從做起。因此,如何解決高校教務管理中的選課工作便成為了如今各大高校面臨的很實際的問題。</p><p> 隨著科
18、學技術的不斷提高,計算機科學日漸成熟,其強大的功能已為人們深刻認識,它已進入人類社會的各個領域并發(fā)揮著越來越重要的作用。應用計算機對高校教務信息工作進行輔助,具有人工管理所無法比擬的優(yōu)點。例如:檢索迅速,查找方便,可靠性強,存儲量大,保密性能好等。這些優(yōu)點能夠極大地提高教務工作的質(zhì)量和效率,也是高校教務工作科學化,規(guī)范化,信息化管理的重要條件。因此,開發(fā)在線選課系統(tǒng)很有必要。</p><p> 計算機在線系統(tǒng)在
19、現(xiàn)代社會已經(jīng)深入到各行各業(yè),由于計算機技術的迅速發(fā)展和普及,在線選課系統(tǒng)其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端WEB應用程序兩個方面。本文是在Microsoft.NET框架的集成環(huán)境中使用Windows.NET平臺,C#語言,SQL Server數(shù)據(jù)庫進行開發(fā)的。完成了對選課相關信息的計算機管理,以及對信息的添加,修改,刪除等計算機管理工作。在文中對相關的技術進行了描述,對系統(tǒng)的各個子系統(tǒng)的功能,設計思路及設計方法都作了詳細的描述
20、。</p><p><b> 課題背景</b></p><p> 隨著進幾年高校的持續(xù)擴招,學生人數(shù)逐年增加。為了滿足廣大學生的求學需要,各個高校的師資力量、硬件配置也隨之增強。這樣一來,日常行政部門的工作也就越來越繁重,這一點在選課這塊顯得尤為突出。而傳統(tǒng)的手工操作,即費時又費力,而且容易出錯,工作效率較低。因此,擁有一套實用、高效、完善的在線選課系統(tǒng)就顯得尤為
21、重要了,它可以提升高校的教育質(zhì)量和教學管理質(zhì)量,提高工作效率,降低行政成本。</p><p><b> 課題目標</b></p><p> 設計并實現(xiàn)一套完整統(tǒng)一、技術先進、高效穩(wěn)定、安全可靠的基于B/S架構(gòu)的網(wǎng)上選課系統(tǒng)。</p><p><b> 課題意義</b></p><p> 通過
22、網(wǎng)上在線選課系統(tǒng)的實現(xiàn),不僅可以提高自己的開發(fā)經(jīng)驗,也解決了實際的問題,提高了學校的辦公管理的效率,減少了工作出錯的幾率,節(jié)約了資金成本。</p><p> 開發(fā)平臺、相關技術的介紹</p><p><b> ASP.NET</b></p><p> ASP.NET 是建立在公共語言運行庫上的編程框架,可用于在服務器上生成功能強大的 We
23、b 應用程序。與以前的 Web 開發(fā)模型相比,ASP.NET 提供了數(shù)個重要的優(yōu)點:</p><p><b> 增強的性能。</b></p><p> ASP.NET 是在服務器上運行的編譯好的公共語言運行庫代碼。與被解釋的前輩不同,ASP.NET 可利用早期綁定、實時編譯、本機優(yōu)化和盒外緩存服務。這相當于在編寫代碼行之前便顯著提高了性能。</p>
24、<p><b> 世界級的工具支持。</b></p><p> ASP.NET 框架補充了 Visual Studio 集成開發(fā)環(huán)境中的大量工具箱和設計器。WYSIWYG 編輯、拖放服務器控件和自動部署只是這個強大的工具所提供功能中的少數(shù)幾種。</p><p><b> 威力和靈活性。</b></p><p&g
25、t; 由于 ASP.NET 基于公共語言運行庫,因此 Web 應用程序開發(fā)人員可以利用整個平臺的威力和靈活性。.NET 框架類庫、消息處理和數(shù)據(jù)訪問解決方案都可從 Web 無縫訪問。ASP.NET 也與語言無關,所以可以選擇最適合應用程序的語言,或跨多種語言分割應用程序。另外,公共語言運行庫的交互性保證在遷移到 ASP.NET 時保留基于 COM 的開發(fā)中的現(xiàn)有投資。</p><p><b> 簡易
26、性。</b></p><p> ASP.NET 使執(zhí)行常見任務變得容易,從簡單的窗體提交和客戶端身份驗證到部署和站點配置。例如,ASP.NET 頁框架使您可以生成將應用程序邏輯與表示代碼清楚分開的用戶界面,和在類似 Visual Basic 的簡單窗體處理模型中處理事件。另外,公共語言運行庫利用托管代碼服務(如自動引用計數(shù)和垃圾回收)簡化了開發(fā)。</p><p><b&
27、gt; 可管理性。</b></p><p> ASP.NET 采用基于文本的分層配置系統(tǒng),簡化了將設置應用于服務器環(huán)境和 Web 應用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應用新設置。此“零本地管理”哲學也擴展到了 ASP.NET 框架應用程序的部署。只需將必要的文件復制到服務器,即可將 ASP.NET 框架應用程序部署到服務器。不需要重新啟動服務器,即使是
28、在部署或替換運行的編譯代碼時。</p><p><b> 可縮放性和可用性。</b></p><p> ASP.NET 在設計時考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進程受到 ASP.NET 運行庫的密切監(jiān)視和管理,以便當進程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進程,以幫助保持應用程序始終可用于處理請求。</p&g
29、t;<p><b> 自定義性和擴展性。</b></p><p> ASP.NET 隨附了一個設計周到的結(jié)構(gòu),它使開發(fā)人員可以在適當?shù)募墑e“插入”代碼。實際上,可以用自己編寫的自定義組件擴展或替換 ASP.NET 運行庫的任何子組件。實現(xiàn)自定義身份驗證或狀態(tài)服務一直沒有變得更容易。</p><p><b> 安全性。</b>&
30、lt;/p><p> 借助內(nèi)置的 Windows 身份驗證和基于每個應用程序的配置,可以保證應用程序是安全的。</p><p> SQL Server</p><p> 隨著計算機技術的不斷發(fā)展,信息化管理成都的不斷提高,數(shù)據(jù)庫技術在信息管理中的作用日益重要。Microsoft SQL Server是目前使用最廣泛的數(shù)據(jù)庫之一,它與Windows網(wǎng)絡操作系統(tǒng)的無縫
31、集成,智能化的內(nèi)容管理,強大的功能,使它得到大量用戶的喜愛。</p><p> 數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術,是計算機科學的重要分支。多年來,數(shù)據(jù)庫管理系統(tǒng)已從專用的應用程序包發(fā)展成為通用系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)結(jié)構(gòu)化、最低冗余度、較高的程序與數(shù)據(jù)獨立性、易于擴充、易于編制應用程序等優(yōu)點,較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫設計之上的。</p><p> 在SQL Server中,使用的是
32、T-SQL語言,T-SQL是ANSI SQL的加強版語言,它提供了標準的SQL 命令,由于SQL語言功能豐富、語言簡潔,使用方法靈活,倍受用戶和計算機業(yè)界的青睞,被眾多的計算機公司和軟件公司采用。經(jīng)過多年的發(fā)展,SQL語言已成為關系數(shù)據(jù)庫的標準語言。</p><p> SQL語言主要有數(shù)據(jù)定義語言、數(shù)據(jù)操縱語言、數(shù)據(jù)控制語言和其他類語言要素組成。T-SQL的分類也有類似于SQL語言的分類,不過做了許多擴充。T-
33、SQL語言的分類如下:變量說明語句、數(shù)據(jù)定義語言(用來建立數(shù)據(jù)庫、數(shù)據(jù)庫對象和定義其列,大部分是以CREATE 開頭的命令)、數(shù)據(jù)操縱語言(用來操縱數(shù)據(jù)庫中的數(shù)據(jù)的命令,如:SELECT、INSERT、DELETE等)、數(shù)據(jù)控制語言(用來控制數(shù)據(jù)庫組件的存取許可、存取權(quán)限等的命令,如:GRANT 等)、流程控制語言(用于設計應用程序的語句 ,如:If …While和Case等)、內(nèi)嵌函數(shù)(說明變量的命令)、其他命令(嵌于命令中使用的標準
34、函數(shù))。</p><p> 在數(shù)據(jù)庫中,數(shù)據(jù)查詢是通過SELECT語句來完成的。SELECT語句可以從數(shù)據(jù)庫中按用戶要求檢索數(shù)據(jù),并將查詢結(jié)果以表格的形式返回。當然用戶在查詢數(shù)據(jù)庫時往往并不需要了解全部信息,而只需要其中一部分滿足某些條件的信息。在這種情況下就需要在SELECT語句中加入條件以選擇數(shù)據(jù)行,這時,就用到WHERE子句 。WHERE 子句中的條件是由表達式以及邏輯聯(lián)結(jié)詞AND、OR和NOT等組成。用
35、戶在進行查詢時,會出現(xiàn)重復結(jié)果,這時就需要使用DISTINCT關鍵字來取消重復部分。在WHERE子句中,可以使用謂詞LIKE來進行字符串的匹配檢查。當用戶要對查詢結(jié)果進行排序時,就需要在SELECT語句中加入ORDER BY子句。在ORDER BY子句中,可以使用一個或多個排序,要求其優(yōu)先級次序從左到右。</p><p> 一個數(shù)據(jù)庫能否保持信息的正確性、及時性、很大程度上依賴數(shù)據(jù)庫的更新功能的強弱與數(shù)據(jù)庫的實
36、時更新能力,這些操作包括插入、刪除、修改,也成為更新3種操作。</p><p> SQL Server是Microsoft公司推出的SQL Server數(shù)據(jù)庫管理系統(tǒng),它使得用戶能夠更方便,更快捷地管理數(shù)據(jù)庫和進行系統(tǒng)開發(fā)?;谝髷?shù)據(jù)庫的吞吐量和穩(wěn)定性較高,在線選課管理系統(tǒng)的開發(fā)選擇了該數(shù)據(jù)庫。</p><p><b> C#簡介</b></p>
37、<p> C# 是由Microsoft開發(fā)的一種新型編程語言,由于它是從C和C++ 中派生出來的,因此具有C++的功能。同時,由于是Microsoft公司的產(chǎn)品,它又同 VB一樣簡單。對于web開發(fā)而言,C#像 Java,同時具有Delphi的一些優(yōu)點。C#具有以下的優(yōu)點:</p><p><b> A.簡單 </b></p><p> 1.C#中指針
38、已經(jīng)消失。 </p><p> 2.不安全的操作,比方說直接內(nèi)存操作不被允許了。 </p><p> 3.C#中"::"或"->"操作符是沒用的。</p><p> 4.因為它是基于.NET平臺的,它繼承了自動內(nèi)存管理和垃圾回收的特點。</p><p> 5.原始數(shù)據(jù)類型可變的數(shù)據(jù)范圍像I
39、nteger, Floats等。</p><p> 6.整形數(shù)值0和1不再作為布爾值出現(xiàn).C#中的布爾值是純粹的true和false值而且沒有更多的"="操作符和"=="操作符錯誤."=="被用于進行比較操作而"="被用做賦值操作。</p><p><b> B.現(xiàn)代 </b><
40、/p><p> 1.C#建立在當前的潮流上,對于創(chuàng)建相互兼容的,可伸縮的,健壯的應用程序來說是非常強大和簡單的。</p><p> 2.C#擁有內(nèi)建的支持來將任何組件轉(zhuǎn)換成一個web service,運行在任何平臺上的任何應用程序都可以通過互聯(lián)網(wǎng)來使用這個服務。</p><p><b> C.面向?qū)ο蟮?lt;/b></p><
41、p> 1.C#支持數(shù)據(jù)封裝,繼承,多態(tài)和對象界面(即java中的interface關鍵字)。</p><p> 2.(Integer,F(xiàn)loat, Double)在java中都不是對象,但是C#引入和結(jié)構(gòu)體(struts)來使原始數(shù)據(jù)類型變成對象int i=1;String a=i Tostring();//轉(zhuǎn)換(或者)Boxing。</p><p><b> D.類
42、型安全</b></p><p> 1.在C#中我們不能進行不安全的類型轉(zhuǎn)換像將double轉(zhuǎn)換成Boolean.。</p><p> 2.值類型(常量類型)被初始化為零值而引用類型(對象和類被編譯器自動初始化為零值.。</p><p><b> 需求分析</b></p><p><b> 應
43、解決的問題</b></p><p> 實現(xiàn)教務處、教師及學生對選課工作的需求</p><p> 提高對系統(tǒng)開發(fā)的認識與經(jīng)驗</p><p> 將一些新的技術應用帶到系統(tǒng)中來</p><p> 保證系統(tǒng)的可維護性與可擴展性</p><p><b> 系統(tǒng)架構(gòu)</b></p
44、><p> 系統(tǒng)在選用結(jié)構(gòu)的時候,有B/S、C/S、Smart Client(智能客戶端)三種可能的方案。它們各有各的優(yōu)缺點。</p><p><b> B/S架構(gòu)</b></p><p> B/S架構(gòu)的優(yōu)點在于客戶端和服務器通過Intranet進行數(shù)據(jù)交換,客戶端基于統(tǒng)一的WEB瀏覽器,減少了投資,解決了系統(tǒng)維護升級的問題,另外只有極少部分
45、事務邏輯在前端(Browser)實現(xiàn),但是主要事務邏輯在服務器端(Server)實現(xiàn),這也就充分保護了數(shù)據(jù)的安全。雖然如此,B/S結(jié)構(gòu)還是有很多的不足,其中最大的缺點是在界面操作上具有很大局限性,用起來很難,開發(fā)起來也很費錢。</p><p><b> C/S架構(gòu)</b></p><p> 采用C/S結(jié)構(gòu)可以減輕服務器運行數(shù)據(jù)負荷,數(shù)據(jù)的儲存管理也較為透明,最重要
46、的是開發(fā)較為迅速。而它的缺點也是不少,它會造成高昂的維護成本,且投資大,維護不方便。在實際開發(fā)中,部署不如B/S方便。但由于它能快速開發(fā)出較為使用的用戶界面,而且可以將部分運算轉(zhuǎn)移到客戶端來,所以是一個值得考慮的方案。</p><p> Smart Client</p><p> Smart Client是下一代客戶端軟件的代表,它可以充分利用終端設備的優(yōu)勢(Full PC、PDA、P
47、hone)、能夠調(diào)用Web Service、支持在線和離線兩種狀態(tài)、能夠如同Web應用程序一般簡單方便的部署。由于這套系統(tǒng)的目標客戶是教務處負責排課的老師,因此它不會涉及到對終端設備的支持,但是方便部署這一點確實需要的,因為這正是C/S的缺點。</p><p> 通過上邊對三種結(jié)構(gòu)的簡單介紹,并考慮到本系統(tǒng)面向的對象主要是廣大的在校學生,采用B/S模式可以最方便的實現(xiàn)系統(tǒng)的部署,而系統(tǒng)并不涉及大量的運算,無需考
48、慮服務端會超負荷,因此本系統(tǒng)最終決定采用B/S的方案。</p><p><b> 設計原則</b></p><p><b> 實用性原則</b></p><p> 要力求最大限度地滿足實際工作的需要,充分考慮各業(yè)務層次、各管理環(huán)節(jié)數(shù)據(jù)處理的實用性,把滿足客戶生產(chǎn)和管理業(yè)務作為第一要素進行考慮。</p>
49、<p> 可擴展性與可維護性原則</p><p> 為適應將來的發(fā)展,系統(tǒng)應該具有良好的可擴展性和可維護性。系統(tǒng)設計盡可能模塊化、組件化,使應用系統(tǒng)可靈活配置,適應不同的情況。系統(tǒng)的可擴展性應包括能接納已有的系統(tǒng)和在今后系統(tǒng)軟硬件擴展時,能有效地保護已有的投資。特別是在應用需求變化時(應用與系統(tǒng)的需求往往提不全或者經(jīng)常會變化),有一個較好的應用平臺,能容易地加以調(diào)整。系統(tǒng)易于擴充升級,既能滿足當前業(yè)
50、務的需求,又為今后的擴充留有空間。</p><p><b> 安全可靠性原則</b></p><p> 網(wǎng)站系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的設計要做到安全可靠,防止非法用戶的入侵。數(shù)據(jù)庫的備份策略恰當,以防災難性事故發(fā)生。</p><p><b> 用戶界面設計原則</b></p><p> 圖形化原則:
51、用戶界面的設計應做到美觀大方。系統(tǒng)的設計需要考慮用戶的計算機水平,用戶界面應直觀、明了、條理清晰,做到簡單易用,沒有計算機專業(yè)背景的用戶也可以輕松的使用本系統(tǒng)完成選課及其他管理工作,實現(xiàn)“傻瓜型”管理——易學、易用、易管理。</p><p><b> 數(shù)據(jù)庫設計原則</b></p><p> 對數(shù)據(jù)庫的設計因該體現(xiàn)一致性、完整性、安全性、可伸縮性和規(guī)范化</
52、p><p><b> 中間件引用</b></p><p> 在系統(tǒng)設計中,為了方便對數(shù)據(jù)庫的操作,系統(tǒng)引用了一個微軟的開源中間件Microsoft.ApplicationBloks.Data.dll,這個中間件封裝了幾乎所有的數(shù)據(jù)庫操作以及對數(shù)據(jù)庫異常的處理,使項目在開發(fā)的時候省下了不少時間。</p><p><b> 系統(tǒng)設計與實
53、現(xiàn)</b></p><p><b> 數(shù)據(jù)庫設計</b></p><p> 為充分保護數(shù)據(jù)的一致性,數(shù)據(jù)庫中各表都規(guī)范化設計,下圖是系統(tǒng)數(shù)據(jù)庫中使用的表以及各表之間的關系:</p><p> 圖4-1 數(shù)據(jù)庫關系圖</p><p> 下面就各個表分別給出說明:</p><p>
54、 (1)課程基本信息(CourseInfo)表,保存課程的基本信息:</p><p> 圖4-2 課程基本信息表(CourseInfo)</p><p> CourseID:課程ID,自動編號;</p><p> CourseName:課程名稱;</p><p> TeacherID:教師ID,對應TeacherInfo表的Teac
55、herID;</p><p> CourseDes:課程描述;</p><p> IsDeleted:是否刪除,為保證數(shù)據(jù)安全,刪除時并不物理刪除,只將此字段置1;</p><p> MajorID:專業(yè)ID,此課程對應的專業(yè),與MajorInfo表的MajorID對應;</p><p> (2)專業(yè)基本信息(MajorInfo)表,
56、保存各院系的專業(yè)基本信息:</p><p> 圖4-3 專業(yè)基本信息表(MajorInfo)</p><p> MajorID:專業(yè)ID,自動編號;</p><p> MajorName:專業(yè)名稱;</p><p> DeptID:院系ID,對應DeptInfo表的DeptID;</p><p> IsDel
57、eted:是否刪除,為保證數(shù)據(jù)安全,刪除時并不物理刪除,只將此字段置1;</p><p> (3)學生選課信息(StuCourse)表,保存學生的選課信息:</p><p> 圖4-4 學生選課信息表(StuCourse)</p><p> StuCourseID:選課ID,自動編號;</p><p> StudentID:學生ID,
58、對應StudentInfo表的StudentID字段;</p><p> CourseID:課程ID,對應CourseInfo表的CourseID字段;</p><p> 此表中的每一條記錄表示了某一個學生選擇了某一門課程。</p><p> (4)院系基本信息(DeptInfo)表,保存學校的院系信息:</p><p> 圖4-5
59、院系基本信息表(DeptInfo)</p><p> DeptID:院系ID,自動編號;</p><p> DeptName:院系名稱;</p><p> IsDeleted:是否刪除,為保證數(shù)據(jù)安全,刪除時并不物理刪除,只將此字段置1;</p><p> (5)教師基本信息(TeacherInfo)表,保存學校教師的基本信息:<
60、;/p><p> 圖4-6 教師基本信息表(TeacherInfo)</p><p> TeacherID:教師ID,自動編號;</p><p> TeacherName:教師姓名;</p><p> TeacherNumber:教師工號;</p><p> DeptID:教師所屬專業(yè)ID,對應DeptInfo表
61、的DeptId字段;</p><p> IsDeleted:是否刪除,為保證數(shù)據(jù)安全,刪除時并不物理刪除,只將此字段置1;</p><p> (6)學生基本信息(TeacherInfo)表,保存學校學生的基本信息:</p><p> 圖4-7 學生基本信息表(StudentInfo)</p><p> StudentID:學生ID,自
62、動編號;</p><p> StudentName:學生姓名;</p><p> StudentNumber:學生學號;</p><p> StudentGender:學生性別;</p><p> DeptID:學生所屬專業(yè)ID,對應DeptInfo表的DeptId字段;</p><p> MajorID:學
63、生所屬院系ID;</p><p> IsDeleted:是否刪除,為保證數(shù)據(jù)安全,刪除時并不物理刪除,只將此字段置1;</p><p> (7)登錄信息(Users)表,保存登錄賬號信息:</p><p> 圖4-8 用戶登錄表(Users)</p><p> UserID:賬號ID,自動編號;</p><p>
64、; Name:登錄名稱;</p><p> Pass:登錄密碼;</p><p> Type:賬號類型,1為管理員,2為教師,3為學生;</p><p> ID:登錄者身份ID,如為管理員,則此字段表示管理員ID,如為教師,則此字段表示教師ID。</p><p><b> 模塊設計</b></p>
65、<p><b> 登錄模塊設計</b></p><p> 登錄頁面為系統(tǒng)的起始頁面,登錄界面設計如下圖所示:</p><p> 圖4-9 登錄界面截圖</p><p> 登錄模塊的功能是判斷登錄用戶的權(quán)限以及將用戶導航到不同的頁面,管理員、教師和學生登錄后的頁面都是不相同的。在這個模塊使用到了Auth這個類來完成主要的登錄操
66、作。</p><p><b> 主要代碼如下:</b></p><p> /// <summary></p><p> /// 判斷用戶名和密碼是否正確</p><p> /// </summary></p><p> public bool Login(stri
67、ng name, string pass)</p><p><b> {</b></p><p> string sqlString = "select count(*) from Users where name='"+name+"' and pass='"+pass+"'&qu
68、ot;;</p><p> object obj = SqlHelper.ExecuteScalar(SqlString,CommandType.Text, sqlString);</p><p> if(obj!=null && obj.ToString()!="0")</p><p> return true;</
69、p><p><b> else</b></p><p> return false;</p><p><b> }</b></p><p> /// <summary></p><p> /// 判斷登錄類型,1為學生,2為老師,3為管理員</p>
70、;<p> /// </summary></p><p> public int LoginType(string name)</p><p><b> {</b></p><p> string sqlString = "select type from Users where name='
71、;"+name+"'";</p><p> object obj = SqlHelper.ExecuteScalar(SqlString,CommandType.Text, sqlString);</p><p> if(obj!=null && obj.ToString()!="0")</p>&
72、lt;p> return int.Parse(obj.ToString());</p><p><b> else</b></p><p> return -1;</p><p><b> }</b></p><p> 登錄時調(diào)用此函數(shù),傳入?yún)?shù)分別為用戶名和密碼,函數(shù)中對傳入的用戶
73、名和密碼與數(shù)據(jù)庫中的查詢結(jié)果比較,如果正確,返回true,否則返回false,完成登錄賬號判斷。</p><p><b> 院系管理模塊設計</b></p><p> 院系管理為在線選課系統(tǒng)提供院系信息管理功能,用戶可通過它來對學校的院系信息進行添加、修改、刪除操作。</p><p> 表4-1 院系管理涉及數(shù)據(jù)列表</p>
74、<p><b> 院系管理截圖如下:</b></p><p> 圖4-10 院系管理界面截圖</p><p><b> 主要代碼如下:</b></p><p> if(txtName.Text=="")</p><p> Response.Write(&qu
75、ot;<script defer>alert('名稱不允許未空');</script>");</p><p> else if(txtName.Text.Length>20)</p><p><b> {</b></p><p> Response.Write("<s
76、cript defer>alert('最多20個字符');</script>");</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b></p><p> Co
77、urseBiz.Dept dept = new CourseBiz.Dept();</p><p> if(Request["Action"]=="add")//插入院系信息</p><p> dept.InsertDeptInfo(txtName.Text.Trim());</p><p> else//更新專業(yè)信息&
78、lt;/p><p> dept.UpdateDeptInfo(txtName.Text.Trim(), int.Parse(txtNumber.Text));</p><p> string str = "<script language=javascript>window.dialogArguments.document.location.href='Dep
79、t.aspx';window.close();</script>"; </p><p> Response.Write(str);</p><p><b> }</b></p><p><b> 專業(yè)管理模塊設計</b></p><p> 專業(yè)管理為在線選課系統(tǒng)
80、提供專業(yè)信息管理功能,用戶可通過它來對學校的專業(yè)信息進行添加、修改、刪除操作。</p><p> 表4-2 專業(yè)管理涉及數(shù)據(jù)列表</p><p> 主要代碼與院系管理模塊代碼類似。</p><p><b> 課程管理模塊設計</b></p><p> 課程管理為在線選課系統(tǒng)提供課程管理功能,用戶通過課程管理可對學
81、校的課程進行添加、修改、刪除操作。在課程管理中,可以為課程設置授課教師、以及授課專業(yè)等信息。</p><p> 表4-3 課程管理涉及數(shù)據(jù)列表</p><p> 主要代碼如與院系管理模塊代碼類似。</p><p><b> 學生管理模塊設計</b></p><p> 學生管理為在線選課系統(tǒng)提供學生信息管理功能,用
82、戶通過學生管理可以對學生的基本信息進行添加、修改、刪除等操作,同時提供對學生所選課程的列表查看。</p><p> 表4-4 學生管理涉及數(shù)據(jù)列表</p><p> 主要代碼如與院系管理模塊代碼類似。</p><p><b> 教師管理模塊設計</b></p><p> 教師管理為在線選課系統(tǒng)提供教師基本信息管理
83、功能,用戶通過教師管理可以對教師的基本信息進行添加、修改、刪除等操作。</p><p> 表4-5 教師管理涉及數(shù)據(jù)列表</p><p> 主要代碼如與院系管理模塊代碼類似。</p><p> 學生個人信息維護模塊設計</p><p> 學生基本信息維護功為學生登錄系統(tǒng)后提供基本信息管理,學生通過基本信息維護功能可以對自己基本信息和登
84、錄密碼進行修改。</p><p> 表4-6 學生管理涉及數(shù)據(jù)列表</p><p> 學生個人信息維護模塊截圖:</p><p> 圖4-11 學生個人信息維護界面截圖</p><p><b> 主要代碼如下:</b></p><p> //判斷條件,名稱不允許未空,名稱長度不超過個字符
85、</p><p> if(txtName.Text=="")</p><p> Response.Write("<script defer>alert('名稱不允許未空');</script>");</p><p> else if(txtName.Text.Length>2
86、0)</p><p><b> {</b></p><p> Response.Write("<script defer>alert('最多個字符');</script>");</p><p><b> }</b></p><p>&
87、lt;b> else</b></p><p><b> {</b></p><p> //修改學生基本信息</p><p> CourseBiz.StudentEntity stuentity = new CourseBiz.StudentEntity();</p><p> string s
88、Temp = rboGender.SelectedValue;</p><p> stuentity.DeptID = int.Parse(ddlDept.SelectedValue);</p><p> stuentity.MajorID = int.Parse(ddlMajor.SelectedValue);</p><p> stuentity.Stud
89、entGender = int.Parse(sTemp);</p><p> stuentity.StudentName = txtName.Text.Trim();</p><p> stuentity.StudentNumber = txtCode.Text.Trim();</p><p> CourseBiz.Student stu = new Cour
90、seBiz.Student();</p><p> stuentity.StudentID = int.Parse(Session["ID"].ToString());</p><p> stu.UpdateStudentInfo(stuentity);</p><p><b> //修改學生密碼</b></p&
91、gt;<p> if(txtPass.Text.Trim()!="")</p><p><b> {</b></p><p> CourseBiz.Auth auth = new CourseBiz.Auth();</p><p> int type = auth.LoginType(Context.U
92、ser.Identity.Name);</p><p> stu.UpdateStudentPass(txtPass.Text, int.Parse(Session["ID"].ToString()),type);</p><p><b> }</b></p><p> string str = "<s
93、cript language=javascript>alert('成功');</script>"; </p><p> Response.Write(str);</p><p><b> }</b></p><p><b> 選課模塊設計</b></p>&l
94、t;p> 選課功能是在線選課系統(tǒng)的核心,通過選課功能,學生登錄后可以選擇、修改自己喜歡的課程,也可以刪除已選課程,查看所選課程。</p><p><b> 選課功能截圖:</b></p><p> 圖4-12 選課界面截圖</p><p><b> 主要代碼如下:</b></p><p&g
95、t; //循環(huán)插入學生選的課程</p><p> foreach(DataGridItem item in dgBulletin.Items)</p><p><b> {</b></p><p> if(item.ItemType==ListItemType.Item || item.ItemType==ListItemType.Al
96、ternatingItem)</p><p><b> {</b></p><p> CheckBox chkID = (CheckBox)item.FindControl("chkID");</p><p> if(chkID.Checked==true)</p><p><b>
97、 {</b></p><p> int CourseID = int.Parse(item.Cells[1].Text);</p><p> int StuID = int.Parse(Session["ID"].ToString());</p><p> CourseBiz.Student stu = new CourseBi
98、z.Student();</p><p> stu.InsertStudentCourse(StuID, CourseID);</p><p><b> }</b></p><p><b> }</b></p><p><b> }</b></p><
99、;p> Response.Redirect("StuAddCourse.aspx");</p><p><b> }</b></p><p> 擔任課程查看模塊設計</p><p> 當教師用戶登錄系統(tǒng)后可通過查看擔任課程情況功能來查看有哪些課程的授課教師是自己,這項功能僅提供給教師用戶。</p>
100、<p> 查看擔任課程功能模塊截圖:</p><p> 圖4-13 教師查看擔任課程界面截圖</p><p><b> 主要代碼如下:</b></p><p> /// <summary></p><p> /// 初始化DataGrid,如果查詢的數(shù)據(jù)為,DataGrid控件隱藏,提示
101、沒有符合條件的數(shù)據(jù)</p><p> /// </summary></p><p> public void DgBind()</p><p><b> {</b></p><p> CourseBiz.Teacher teacher = new CourseBiz.Teacher();</p&
102、gt;<p> DataTable ds = teacher.GetTeacherCourse(int.Parse(Session["ID"].ToString()));</p><p> if(ds!=null && ds.Rows.Count>0)</p><p><b> {</b></p>
103、;<p> dgBulletin.DataSource = ds;</p><p> dgBulletin.DataBind();</p><p><b> }</b></p><p><b> else</b></p><p><b> {</b>&l
104、t;/p><p> lblNo.Visible = true;</p><p> dgBulletin.Visible = false;</p><p><b> }</b></p><p><b> }</b></p><p> 選課學生信息查看模塊設計</p&
105、gt;<p> 選課學生信息查看功能提供給再選選課系統(tǒng)的教師用戶,教師用戶可以通過這個功能來查看有哪些學生選擇了自己擔任的課程。</p><p> 圖4-14 教師查看選課學生截圖</p><p><b> 主要代碼如下:</b></p><p> /// <summary></p><p&
106、gt; /// 初始化DataGrid,如果查詢的數(shù)據(jù)為,DataGrid控件隱藏,提示沒有符合條件的數(shù)據(jù)</p><p> /// </summary></p><p> public void DgBind()</p><p><b> {</b></p><p> CourseBiz.Teac
107、her teacher = new CourseBiz.Teacher();</p><p> DataSet ds = teacher.GetStuInfoByTID(int.Parse(Session["ID"].ToString()));</p><p> if(ds!=null && ds.Tables.Count>0 &&am
108、p; ds.Tables[0].Rows.Count>0)</p><p><b> {</b></p><p> dgBulletin.DataSource = ds;</p><p> dgBulletin.DataBind();</p><p><b> }</b></p&
109、gt;<p><b> else</b></p><p><b> {</b></p><p> lblNo.Visible = true;</p><p> dgBulletin.Visible = false;</p><p><b> }</b>&
110、lt;/p><p><b> }</b></p><p><b> 數(shù)據(jù)庫鏈接設計</b></p><p> 考慮系統(tǒng)的可維護性,系統(tǒng)的數(shù)據(jù)庫鏈接信息保存在配置文件中,當系統(tǒng)的數(shù)據(jù)庫需要更換的時候,只需要更改配置文件中的數(shù)據(jù)鏈接信息就可以將系統(tǒng)切換到新的環(huán)境中去。下面是配置文件中的數(shù)據(jù)庫鏈接信息:</p>
111、<p> <appSettings></p><p> <!--數(shù)據(jù)庫鏈接字符串--></p><p> <addkey="ConnString"value="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\WebCourse_Data.MDF
112、;Integrated Security=True;User Instance=True"/></p><p> </appSettings></p><p><b> 部署與測試</b></p><p><b> 部署圖</b></p><p> 圖5-1 系統(tǒng)
113、部署圖</p><p><b> 模塊測試</b></p><p> 在登錄系統(tǒng)后,當?shù)卿浾叩纳矸莶煌臅r候,系統(tǒng)將會把用戶導航到不同的頁面,在測試中,可以看到使用管理員身份、教師身份和學生身份登錄系統(tǒng)后界面與功能的不同,如下圖所示:</p><p> 圖5-2 管理員登錄截圖</p><p> 圖5-3 教師登
114、錄截圖</p><p> 圖5-4 學生登錄截圖</p><p> 通過測試可以看到系統(tǒng)很好的完成了這個功能。</p><p> 在系統(tǒng)完成以后,對系統(tǒng)的各個管理模塊進行了添加、刪除和修改操作,并且對選課流程進行了一次測試,系統(tǒng)都能很穩(wěn)定的工作。</p><p> 結(jié)果測試,在線選課系統(tǒng)基本完成了預定的任務。</p>&
115、lt;p><b> 結(jié)論</b></p><p> 我這次畢業(yè)設計的目標是建立一個在線選課系統(tǒng),它用到的開發(fā)工具是Visual Studio.NET 中的ASP.NET、Visual C#語言以及SQL Server數(shù)據(jù)庫。最終結(jié)果表明,網(wǎng)上選課系統(tǒng)符合預定要求。</p><p> 在設計的開始階段為了盡快熟悉C#語言,我詳細翻閱有關該方面的資料,對書中的
116、基本理論知識逐章逐節(jié)地分析,同時還上機操作來加深理解。特別是對書中的一些基本實例,認真學習它的編程思想,吸取它的編程技巧,弄懂程序中每句話的含義。在對所要應用的技術有了一個基本認識之后,就開始構(gòu)思自己的系統(tǒng)設計。根據(jù)任務書的要求我將整個系統(tǒng)化分為不同的模塊,然后就逐個模塊去一一詳細設計,設計的過程中不時地翻閱資料,用一些巧妙的技術來優(yōu)化程序。程序代碼完成之后,要進行運行調(diào)試,剛開始由于沒有調(diào)試經(jīng)驗和方法效率很低,通過老師的精心指導和同學
117、的熱情幫助,現(xiàn)在終于順利完成了,自己也在設計的制作過程中學到了不少東西。</p><p> 在開發(fā)過程中,我深刻體會到了.NET技術的魅力,認識到在網(wǎng)絡經(jīng)濟到來的今天,掌握好一門計算機語言,并把它運用到力所能及的應用程序開發(fā)中去的重要性和現(xiàn)實意義。</p><p> 總之,幾個月的畢業(yè)設計,讓我深刻經(jīng)歷了一個項目從需求分析、框架設計、代碼編寫,程序調(diào)試到最終的項目開發(fā)成型的整個過程。畢
118、業(yè)設計不僅是對我在大學所學知識的綜合運用,也是增長知識和經(jīng)驗的好機會,同時也使我明白了面臨困難時應保持積極的心態(tài),冷靜思考,認真處理才是真正解決困難的最好方法,通過畢業(yè)設計的鍛煉我自身的動手能力得到很大的提高,為即將走上工作崗位打下了良好實戰(zhàn)的基礎。</p><p><b> 參考文獻</b></p><p> [1] 郭文夷,戴芳勝.C#.NET可視化程序設計[
119、M].上海:華東理工大學出版社,2005。</p><p> [2] Mark Schmidt,Simon Robinson.Microsoft Visual C#.NET2003開發(fā)技巧大全[M].北京:中國水利水電出版社,2005。</p><p> [3] 閃四清.SQL Server實用簡明教程[M].北京:清華大學出版社,2003。</p><p>
120、 [4] 劉友話..Net環(huán)境下數(shù)據(jù)庫應用系統(tǒng)開發(fā)技術[M].北京:科學出版社,2004。</p><p> [5] Ian Somerville,Software Engeering[M].北京:機械工業(yè)出版社,2003。</p><p> [6] Jeffrey Richter.Microsoft .NET框架程序設計[M].北京:機械工業(yè)出版社,2003。</p>
121、<p> [7] James W.Cooper.C# Design Patterns[M].北京:電子工業(yè)出版社,2004。</p><p> [8] Richard Blum.C# Network Programming[M].北京:電子工業(yè)出版社,2003。</p><p><b> 致謝</b></p><p> 經(jīng)過三
122、個多月的設計和開發(fā),在線選課系統(tǒng)基本開發(fā)完畢。雖然該系統(tǒng)還有許多不盡如人意的地方,但是通過該次學習和實踐,我受益匪淺。在此,我首先要感謝我的指導老師甘剛,選擇這個課題讓我能夠接觸很多美妙和豐富的內(nèi)容,無論是他對我論文格式和編排的指導,還是在技術上的細心分析,都給予我極大的幫助。</p><p> 其次要感謝在畢業(yè)設計過程,對我的系統(tǒng)設計提出寶貴意見和建議的同學們。在我程序調(diào)試過程中遇到問題時,同學也給予我極大的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文——網(wǎng)上選課系統(tǒng)的設計與實現(xiàn)
- 選課畢業(yè)論文---學生網(wǎng)上選課系統(tǒng)的設計與實現(xiàn)
- 網(wǎng)上選課系統(tǒng)---畢業(yè)論文
- 網(wǎng)上選課系統(tǒng)畢業(yè)論文
- 學生網(wǎng)上選課系統(tǒng)的設計與實現(xiàn)-畢業(yè)論文
- 網(wǎng)上選課系統(tǒng)畢業(yè)論文
- 網(wǎng)上選課系統(tǒng)畢業(yè)論文
- 網(wǎng)上選課系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——網(wǎng)上選課系統(tǒng)
- 畢業(yè)論文范文——網(wǎng)上選課系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文——網(wǎng)上選課管理系統(tǒng)
- jsp網(wǎng)上選課系統(tǒng)畢業(yè)論文
- 網(wǎng)上選課系統(tǒng)設計實現(xiàn)論文
- 畢業(yè)設計(論文)+網(wǎng)上選課系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文——動態(tài)口令認證的網(wǎng)上選課系統(tǒng)的設計與實現(xiàn)
- 畢業(yè)論文——動態(tài)口令認證的網(wǎng)上選課系統(tǒng)的設計與實現(xiàn)
- 學生網(wǎng)上選課系統(tǒng) 畢業(yè)論文
- 網(wǎng)上選課系統(tǒng)畢業(yè)設計論文
- 畢業(yè)設計----網(wǎng)上選課系統(tǒng)的設計與實現(xiàn)
- 網(wǎng)上選課系統(tǒng)的設計與實現(xiàn)畢業(yè)設計
評論
0/150
提交評論