網(wǎng)上選課系統(tǒng)的設(shè)計與實現(xiàn)——畢業(yè)論文
《網(wǎng)上選課系統(tǒng)的設(shè)計與實現(xiàn)——畢業(yè)論文》由會員分享,可在線閱讀,更多相關(guān)《網(wǎng)上選課系統(tǒng)的設(shè)計與實現(xiàn)——畢業(yè)論文(29頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、 成都信息工程學(xué)院學(xué)位論文網(wǎng)上選課系統(tǒng)的設(shè)計與實現(xiàn)網(wǎng)上選課系統(tǒng)的設(shè)計與實現(xiàn)摘 要隨著教育改革的不斷深化,建立一套能夠適應(yīng)這些改變的行政管理方案也就顯得尤為重要。在高等院校的日常工作中,每個學(xué)期都要面臨學(xué)生的選課工作。以往在選課工作的各個階段都是手工操作,不但效率低下、工作繁瑣,而且容易出錯,于是開發(fā)一套適合校情的網(wǎng)上選課系統(tǒng)便成為了教務(wù)處的迫切需求。本文設(shè)計是根據(jù)部分學(xué)校的實際情況,在Visual Studio 2005環(huán)境中,利用ASP.NET、SQL Server數(shù)據(jù)庫等技術(shù)開發(fā)了基于B/S模式的網(wǎng)上在線選課系統(tǒng)。在設(shè)計中完成了院系、專業(yè)、課程、教師、學(xué)生信息的管理功能及在線選課、查看選課
2、學(xué)生、權(quán)限限制等功能。經(jīng)測試,此系統(tǒng)滿足教務(wù)系統(tǒng)用戶需求,能夠促進當(dāng)前高校教務(wù)工作的管理水平,有一定的實際應(yīng)用價值。關(guān)鍵詞:選課;SQL Server;ASP.NET;教務(wù)管理The Design and Implementation of an Online Course-Choosing SystemAbstractWith the continuous deepening of the educational reform, the construction and development of universities play an increasingly important ro
3、le 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 the course-choosing. For the past, in each stage, the work has done not only inefficient, cumbersome, but also prone
4、 to error. So an Online Course-Choosing System which is suitable for the school conditions becomes a exigent demand. This project is based on some universitys basic needs and developed by Visual Studio 2005 and ASP.NET, SQL Server. This system completed the function of department management, major m
5、anagement, course management, teacher management, student 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 system can meet the current
6、colleges needs.Key words: Course-Choosing; SQL Server; ASP.NET; Education Manage目 錄論文總頁數(shù):24頁1引言11.1課題背景11.2課題目標(biāo)11.3課題意義12開發(fā)平臺、相關(guān)技術(shù)的介紹22.1ASP.NET22.2SQL Server32.3C#簡介43需求分析53.1應(yīng)解決的問題53.2系統(tǒng)架構(gòu)53.3設(shè)計原則63.3.1實用性原則63.3.2可擴展性與可維護性原則63.3.3安全可靠性原則63.3.4用戶界面設(shè)計原則63.3.5數(shù)據(jù)庫設(shè)計原則63.4中間件引用64系統(tǒng)設(shè)計與實現(xiàn)64.1數(shù)據(jù)庫設(shè)計64.2模塊設(shè)
7、計114.2.1登錄模塊設(shè)計114.2.2院系管理模塊設(shè)計124.2.3專業(yè)管理模塊設(shè)計134.2.4課程管理模塊設(shè)計134.2.5學(xué)生管理模塊設(shè)計144.2.6教師管理模塊設(shè)計144.2.7學(xué)生個人信息維護模塊設(shè)計144.2.8選課模塊設(shè)計164.2.9擔(dān)任課程查看模塊設(shè)計174.2.10選課學(xué)生信息查看模塊設(shè)計184.2.11數(shù)據(jù)庫鏈接設(shè)計195部署與測試195.1部署圖195.2模塊測試19結(jié)論21參考文獻21致謝23聲明241 引言“選課”是現(xiàn)在高校行政管理工作中一項很重要的課題。而且是每個學(xué)期都必須要面對的問題。選課工作做不好,學(xué)生不知道自己將要學(xué)習(xí)的課程,老師也不知道自己將要講授的
8、課程,教務(wù)處的排課計劃、教室安排等其他調(diào)度工作也無從做起。因此,如何解決高校教務(wù)管理中的選課工作便成為了如今各大高校面臨的很實際的問題。隨著科學(xué)技術(shù)的不斷提高,計算機科學(xué)日漸成熟,其強大的功能已為人們深刻認(rèn)識,它已進入人類社會的各個領(lǐng)域并發(fā)揮著越來越重要的作用。應(yīng)用計算機對高校教務(wù)信息工作進行輔助,具有人工管理所無法比擬的優(yōu)點。例如:檢索迅速,查找方便,可靠性強,存儲量大,保密性能好等。這些優(yōu)點能夠極大地提高教務(wù)工作的質(zhì)量和效率,也是高校教務(wù)工作科學(xué)化,規(guī)范化,信息化管理的重要條件。因此,開發(fā)在線選課系統(tǒng)很有必要。計算機在線系統(tǒng)在現(xiàn)代社會已經(jīng)深入到各行各業(yè),由于計算機技術(shù)的迅速發(fā)展和普及,在線
9、選課系統(tǒng)其開發(fā)主要包括后臺數(shù)據(jù)庫的建立和維護以及前端WEB應(yīng)用程序兩個方面。本文是在Microsoft.NET框架的集成環(huán)境中使用Windows.NET平臺,C#語言,SQL Server數(shù)據(jù)庫進行開發(fā)的。完成了對選課相關(guān)信息的計算機管理,以及對信息的添加,修改,刪除等計算機管理工作。在文中對相關(guān)的技術(shù)進行了描述,對系統(tǒng)的各個子系統(tǒng)的功能,設(shè)計思路及設(shè)計方法都作了詳細(xì)的描述。1.1 課題背景隨著進幾年高校的持續(xù)擴招,學(xué)生人數(shù)逐年增加。為了滿足廣大學(xué)生的求學(xué)需要,各個高校的師資力量、硬件配置也隨之增強。這樣一來,日常行政部門的工作也就越來越繁重,這一點在選課這塊顯得尤為突出。而傳統(tǒng)的手工操作,即
10、費時又費力,而且容易出錯,工作效率較低。因此,擁有一套實用、高效、完善的在線選課系統(tǒng)就顯得尤為重要了,它可以提升高校的教育質(zhì)量和教學(xué)管理質(zhì)量,提高工作效率,降低行政成本。1.2 課題目標(biāo)設(shè)計并實現(xiàn)一套完整統(tǒng)一、技術(shù)先進、高效穩(wěn)定、安全可靠的基于B/S架構(gòu)的網(wǎng)上選課系統(tǒng)。1.3 課題意義通過網(wǎng)上在線選課系統(tǒng)的實現(xiàn),不僅可以提高自己的開發(fā)經(jīng)驗,也解決了實際的問題,提高了學(xué)校的辦公管理的效率,減少了工作出錯的幾率,節(jié)約了資金成本。2 開發(fā)平臺、相關(guān)技術(shù)的介紹2.1 ASP.NETASP.NET 是建立在公共語言運行庫上的編程框架,可用于在服務(wù)器上生成功能強大的 Web 應(yīng)用程序。與以前的 Web 開
11、發(fā)模型相比,ASP.NET 提供了數(shù)個重要的優(yōu)點: 增強的性能。ASP.NET 是在服務(wù)器上運行的編譯好的公共語言運行庫代碼。與被解釋的前輩不同,ASP.NET 可利用早期綁定、實時編譯、本機優(yōu)化和盒外緩存服務(wù)。這相當(dāng)于在編寫代碼行之前便顯著提高了性能。 世界級的工具支持。ASP.NET 框架補充了 Visual Studio 集成開發(fā)環(huán)境中的大量工具箱和設(shè)計器。WYSIWYG 編輯、拖放服務(wù)器控件和自動部署只是這個強大的工具所提供功能中的少數(shù)幾種。 威力和靈活性。由于 ASP.NET 基于公共語言運行庫,因此 Web 應(yīng)用程序開發(fā)人員可以利用整個平臺的威力和靈活性。.NET 框架類庫、消息處
12、理和數(shù)據(jù)訪問解決方案都可從 Web 無縫訪問。ASP.NET 也與語言無關(guān),所以可以選擇最適合應(yīng)用程序的語言,或跨多種語言分割應(yīng)用程序。另外,公共語言運行庫的交互性保證在遷移到 ASP.NET 時保留基于 COM 的開發(fā)中的現(xiàn)有投資。 簡易性。ASP.NET 使執(zhí)行常見任務(wù)變得容易,從簡單的窗體提交和客戶端身份驗證到部署和站點配置。例如,ASP.NET 頁框架使您可以生成將應(yīng)用程序邏輯與表示代碼清楚分開的用戶界面,和在類似 Visual Basic 的簡單窗體處理模型中處理事件。另外,公共語言運行庫利用托管代碼服務(wù)(如自動引用計數(shù)和垃圾回收)簡化了開發(fā)。 可管理性。ASP.NET 采用基于文本
13、的分層配置系統(tǒng),簡化了將設(shè)置應(yīng)用于服務(wù)器環(huán)境和 Web 應(yīng)用程序。由于配置信息是以純文本形式存儲的,因此可以在沒有本地管理工具幫助的情況下應(yīng)用新設(shè)置。此“零本地管理”哲學(xué)也擴展到了 ASP.NET 框架應(yīng)用程序的部署。只需將必要的文件復(fù)制到服務(wù)器,即可將 ASP.NET 框架應(yīng)用程序部署到服務(wù)器。不需要重新啟動服務(wù)器,即使是在部署或替換運行的編譯代碼時。 可縮放性和可用性。ASP.NET 在設(shè)計時考慮了可縮放性,增加了專門用于在聚集環(huán)境和多處理器環(huán)境中提高性能的功能。另外,進程受到 ASP.NET 運行庫的密切監(jiān)視和管理,以便當(dāng)進程行為不正常(泄漏、死鎖)時,可就地創(chuàng)建新進程,以幫助保持應(yīng)用程
14、序始終可用于處理請求。 自定義性和擴展性。ASP.NET 隨附了一個設(shè)計周到的結(jié)構(gòu),它使開發(fā)人員可以在適當(dāng)?shù)募墑e“插入”代碼。實際上,可以用自己編寫的自定義組件擴展或替換 ASP.NET 運行庫的任何子組件。實現(xiàn)自定義身份驗證或狀態(tài)服務(wù)一直沒有變得更容易。 安全性。借助內(nèi)置的 Windows 身份驗證和基于每個應(yīng)用程序的配置,可以保證應(yīng)用程序是安全的。2.2 SQL Server隨著計算機技術(shù)的不斷發(fā)展,信息化管理成都的不斷提高,數(shù)據(jù)庫技術(shù)在信息管理中的作用日益重要。Microsoft SQL Server是目前使用最廣泛的數(shù)據(jù)庫之一,它與Windows網(wǎng)絡(luò)操作系統(tǒng)的無縫集成,智能化的內(nèi)容管理
15、,強大的功能,使它得到大量用戶的喜愛。數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù),是計算機科學(xué)的重要分支。多年來,數(shù)據(jù)庫管理系統(tǒng)已從專用的應(yīng)用程序包發(fā)展成為通用系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)結(jié)構(gòu)化、最低冗余度、較高的程序與數(shù)據(jù)獨立性、易于擴充、易于編制應(yīng)用程序等優(yōu)點,較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫設(shè)計之上的。在SQL Server中,使用的是T-SQL語言,T-SQL是ANSI SQL的加強版語言,它提供了標(biāo)準(zhǔn)的SQL 命令,由于SQL語言功能豐富、語言簡潔,使用方法靈活,倍受用戶和計算機業(yè)界的青睞,被眾多的計算機公司和軟件公司采用。經(jīng)過多年的發(fā)展,SQL語言已成為關(guān)系數(shù)據(jù)庫的標(biāo)準(zhǔn)語言。SQL語言主要有數(shù)據(jù)定義
16、語言、數(shù)據(jù)操縱語言、數(shù)據(jù)控制語言和其他類語言要素組成。T-SQL的分類也有類似于SQL語言的分類,不過做了許多擴充。T-SQL語言的分類如下:變量說明語句、數(shù)據(jù)定義語言(用來建立數(shù)據(jù)庫、數(shù)據(jù)庫對象和定義其列,大部分是以CREATE 開頭的命令)、數(shù)據(jù)操縱語言(用來操縱數(shù)據(jù)庫中的數(shù)據(jù)的命令,如:SELECT、INSERT、DELETE等)、數(shù)據(jù)控制語言(用來控制數(shù)據(jù)庫組件的存取許可、存取權(quán)限等的命令,如:GRANT 等)、流程控制語言(用于設(shè)計應(yīng)用程序的語句 ,如:If While和Case等)、內(nèi)嵌函數(shù)(說明變量的命令)、其他命令(嵌于命令中使用的標(biāo)準(zhǔn)函數(shù))。在數(shù)據(jù)庫中,數(shù)據(jù)查詢是通過SELE
17、CT語句來完成的。SELECT語句可以從數(shù)據(jù)庫中按用戶要求檢索數(shù)據(jù),并將查詢結(jié)果以表格的形式返回。當(dāng)然用戶在查詢數(shù)據(jù)庫時往往并不需要了解全部信息,而只需要其中一部分滿足某些條件的信息。在這種情況下就需要在SELECT語句中加入條件以選擇數(shù)據(jù)行,這時,就用到WHERE子句 。WHERE 子句中的條件是由表達式以及邏輯聯(lián)結(jié)詞AND、OR和NOT等組成。用戶在進行查詢時,會出現(xiàn)重復(fù)結(jié)果,這時就需要使用DISTINCT關(guān)鍵字來取消重復(fù)部分。在WHERE子句中,可以使用謂詞LIKE來進行字符串的匹配檢查。當(dāng)用戶要對查詢結(jié)果進行排序時,就需要在SELECT語句中加入ORDER BY子句。在ORDER BY
18、子句中,可以使用一個或多個排序,要求其優(yōu)先級次序從左到右。一個數(shù)據(jù)庫能否保持信息的正確性、及時性、很大程度上依賴數(shù)據(jù)庫的更新功能的強弱與數(shù)據(jù)庫的實時更新能力,這些操作包括插入、刪除、修改,也成為更新3種操作。SQL Server是Microsoft公司推出的SQL Server數(shù)據(jù)庫管理系統(tǒng),它使得用戶能夠更方便,更快捷地管理數(shù)據(jù)庫和進行系統(tǒng)開發(fā)?;谝髷?shù)據(jù)庫的吞吐量和穩(wěn)定性較高,在線選課管理系統(tǒng)的開發(fā)選擇了該數(shù)據(jù)庫。2.3 C#簡介C# 是由Microsoft開發(fā)的一種新型編程語言,由于它是從C和C+ 中派生出來的,因此具有C+的功能。同時,由于是Microsoft公司的產(chǎn)品,它又同 VB
19、一樣簡單。對于web開發(fā)而言,C#像 Java,同時具有Delphi的一些優(yōu)點。C#具有以下的優(yōu)點:A.簡單 1.C#中指針已經(jīng)消失。 2.不安全的操作,比方說直接內(nèi)存操作不被允許了。 3.C#中:或-操作符是沒用的。4.因為它是基于.NET平臺的,它繼承了自動內(nèi)存管理和垃圾回收的特點。5.原始數(shù)據(jù)類型可變的數(shù)據(jù)范圍像Integer, Floats等。6.整形數(shù)值0和1不再作為布爾值出現(xiàn).C#中的布爾值是純粹的true和false值而且沒有更多的=操作符和=操作符錯誤.=被用于進行比較操作而=被用做賦值操作。B.現(xiàn)代 1.C#建立在當(dāng)前的潮流上,對于創(chuàng)建相互兼容的,可伸縮的,健壯的應(yīng)用程序來說
20、是非常強大和簡單的。2.C#擁有內(nèi)建的支持來將任何組件轉(zhuǎn)換成一個web service,運行在任何平臺上的任何應(yīng)用程序都可以通過互聯(lián)網(wǎng)來使用這個服務(wù)。C.面向?qū)ο蟮?.C#支持?jǐn)?shù)據(jù)封裝,繼承,多態(tài)和對象界面(即java中的interface關(guān)鍵字)。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。D.類型安全1.在C#中我們不能進行不安全的類型轉(zhuǎn)換像將double轉(zhuǎn)換成Boolean.。2.值類型(常量類型)被初始化為零值
21、而引用類型(對象和類被編譯器自動初始化為零值.。3 需求分析3.1 應(yīng)解決的問題實現(xiàn)教務(wù)處、教師及學(xué)生對選課工作的需求提高對系統(tǒng)開發(fā)的認(rèn)識與經(jīng)驗將一些新的技術(shù)應(yīng)用帶到系統(tǒng)中來保證系統(tǒng)的可維護性與可擴展性3.2 系統(tǒng)架構(gòu)系統(tǒng)在選用結(jié)構(gòu)的時候,有B/S、C/S、Smart Client(智能客戶端)三種可能的方案。它們各有各的優(yōu)缺點。 B/S架構(gòu)B/S架構(gòu)的優(yōu)點在于客戶端和服務(wù)器通過Intranet進行數(shù)據(jù)交換,客戶端基于統(tǒng)一的WEB瀏覽器,減少了投資,解決了系統(tǒng)維護升級的問題,另外只有極少部分事務(wù)邏輯在前端(Browser)實現(xiàn),但是主要事務(wù)邏輯在服務(wù)器端(Server)實現(xiàn),這也就充分保護了數(shù)
22、據(jù)的安全。雖然如此,B/S結(jié)構(gòu)還是有很多的不足,其中最大的缺點是在界面操作上具有很大局限性,用起來很難,開發(fā)起來也很費錢。 C/S架構(gòu)采用C/S結(jié)構(gòu)可以減輕服務(wù)器運行數(shù)據(jù)負(fù)荷,數(shù)據(jù)的儲存管理也較為透明,最重要的是開發(fā)較為迅速。而它的缺點也是不少,它會造成高昂的維護成本,且投資大,維護不方便。在實際開發(fā)中,部署不如B/S方便。但由于它能快速開發(fā)出較為使用的用戶界面,而且可以將部分運算轉(zhuǎn)移到客戶端來,所以是一個值得考慮的方案。 Smart ClientSmart Client是下一代客戶端軟件的代表,它可以充分利用終端設(shè)備的優(yōu)勢(Full PC、PDA、Phone)、能夠調(diào)用Web Service
23、、支持在線和離線兩種狀態(tài)、能夠如同Web應(yīng)用程序一般簡單方便的部署。由于這套系統(tǒng)的目標(biāo)客戶是教務(wù)處負(fù)責(zé)排課的老師,因此它不會涉及到對終端設(shè)備的支持,但是方便部署這一點確實需要的,因為這正是C/S的缺點。通過上邊對三種結(jié)構(gòu)的簡單介紹,并考慮到本系統(tǒng)面向的對象主要是廣大的在校學(xué)生,采用B/S模式可以最方便的實現(xiàn)系統(tǒng)的部署,而系統(tǒng)并不涉及大量的運算,無需考慮服務(wù)端會超負(fù)荷,因此本系統(tǒng)最終決定采用B/S的方案。3.3 設(shè)計原則3.3.1 實用性原則要力求最大限度地滿足實際工作的需要,充分考慮各業(yè)務(wù)層次、各管理環(huán)節(jié)數(shù)據(jù)處理的實用性,把滿足客戶生產(chǎn)和管理業(yè)務(wù)作為第一要素進行考慮。3.3.2 可擴展性與可維
24、護性原則為適應(yīng)將來的發(fā)展,系統(tǒng)應(yīng)該具有良好的可擴展性和可維護性。系統(tǒng)設(shè)計盡可能模塊化、組件化,使應(yīng)用系統(tǒng)可靈活配置,適應(yīng)不同的情況。系統(tǒng)的可擴展性應(yīng)包括能接納已有的系統(tǒng)和在今后系統(tǒng)軟硬件擴展時,能有效地保護已有的投資。特別是在應(yīng)用需求變化時(應(yīng)用與系統(tǒng)的需求往往提不全或者經(jīng)常會變化),有一個較好的應(yīng)用平臺,能容易地加以調(diào)整。系統(tǒng)易于擴充升級,既能滿足當(dāng)前業(yè)務(wù)的需求,又為今后的擴充留有空間。3.3.3 安全可靠性原則網(wǎng)站系統(tǒng)與數(shù)據(jù)庫系統(tǒng)的設(shè)計要做到安全可靠,防止非法用戶的入侵。數(shù)據(jù)庫的備份策略恰當(dāng),以防災(zāi)難性事故發(fā)生。3.3.4 用戶界面設(shè)計原則圖形化原則:用戶界面的設(shè)計應(yīng)做到美觀大方。系統(tǒng)的設(shè)
25、計需要考慮用戶的計算機水平,用戶界面應(yīng)直觀、明了、條理清晰,做到簡單易用,沒有計算機專業(yè)背景的用戶也可以輕松的使用本系統(tǒng)完成選課及其他管理工作,實現(xiàn)“傻瓜型”管理易學(xué)、易用、易管理。3.3.5 數(shù)據(jù)庫設(shè)計原則對數(shù)據(jù)庫的設(shè)計因該體現(xiàn)一致性、完整性、安全性、可伸縮性和規(guī)范化3.4 中間件引用在系統(tǒng)設(shè)計中,為了方便對數(shù)據(jù)庫的操作,系統(tǒng)引用了一個微軟的開源中間件Microsoft.ApplicationBloks.Data.dll,這個中間件封裝了幾乎所有的數(shù)據(jù)庫操作以及對數(shù)據(jù)庫異常的處理,使項目在開發(fā)的時候省下了不少時間。4 系統(tǒng)設(shè)計與實現(xiàn)4.1 數(shù)據(jù)庫設(shè)計為充分保護數(shù)據(jù)的一致性,數(shù)據(jù)庫中各表都規(guī)范
26、化設(shè)計,下圖是系統(tǒng)數(shù)據(jù)庫中使用的表以及各表之間的關(guān)系:圖4-1 數(shù)據(jù)庫關(guān)系圖下面就各個表分別給出說明:(1)課程基本信息(CourseInfo)表,保存課程的基本信息:圖4-2 課程基本信息表(CourseInfo)CourseID:課程ID,自動編號;CourseName:課程名稱;TeacherID:教師ID,對應(yīng)TeacherInfo表的TeacherID;CourseDes:課程描述;IsDeleted:是否刪除,為保證數(shù)據(jù)安全,刪除時并不物理刪除,只將此字段置1;MajorID:專業(yè)ID,此課程對應(yīng)的專業(yè),與MajorInfo表的MajorID對應(yīng);(2)專業(yè)基本信息(MajorIn
27、fo)表,保存各院系的專業(yè)基本信息:圖4-3 專業(yè)基本信息表(MajorInfo)MajorID:專業(yè)ID,自動編號;MajorName:專業(yè)名稱;DeptID:院系ID,對應(yīng)DeptInfo表的DeptID;IsDeleted:是否刪除,為保證數(shù)據(jù)安全,刪除時并不物理刪除,只將此字段置1;(3)學(xué)生選課信息(StuCourse)表,保存學(xué)生的選課信息:圖4-4 學(xué)生選課信息表(StuCourse)StuCourseID:選課ID,自動編號;StudentID:學(xué)生ID,對應(yīng)StudentInfo表的StudentID字段;CourseID:課程ID,對應(yīng)CourseInfo表的CourseI
28、D字段;此表中的每一條記錄表示了某一個學(xué)生選擇了某一門課程。(4)院系基本信息(DeptInfo)表,保存學(xué)校的院系信息:圖4-5 院系基本信息表(DeptInfo)DeptID:院系ID,自動編號;DeptName:院系名稱;IsDeleted:是否刪除,為保證數(shù)據(jù)安全,刪除時并不物理刪除,只將此字段置1;(5)教師基本信息(TeacherInfo)表,保存學(xué)校教師的基本信息:圖4-6 教師基本信息表(TeacherInfo)TeacherID:教師ID,自動編號;TeacherName:教師姓名;TeacherNumber:教師工號;DeptID:教師所屬專業(yè)ID,對應(yīng)DeptInfo表的
29、DeptId字段;IsDeleted:是否刪除,為保證數(shù)據(jù)安全,刪除時并不物理刪除,只將此字段置1;(6)學(xué)生基本信息(TeacherInfo)表,保存學(xué)校學(xué)生的基本信息:圖4-7 學(xué)生基本信息表(StudentInfo)StudentID:學(xué)生ID,自動編號;StudentName:學(xué)生姓名;StudentNumber:學(xué)生學(xué)號;StudentGender:學(xué)生性別;DeptID:學(xué)生所屬專業(yè)ID,對應(yīng)DeptInfo表的DeptId字段;MajorID:學(xué)生所屬院系ID;IsDeleted:是否刪除,為保證數(shù)據(jù)安全,刪除時并不物理刪除,只將此字段置1;(7)登錄信息(Users)表,保存登
30、錄賬號信息:圖4-8 用戶登錄表(Users)UserID:賬號ID,自動編號;Name:登錄名稱;Pass:登錄密碼;Type:賬號類型,1為管理員,2為教師,3為學(xué)生;ID:登錄者身份ID,如為管理員,則此字段表示管理員ID,如為教師,則此字段表示教師ID。4.2 模塊設(shè)計4.2.1 登錄模塊設(shè)計登錄頁面為系統(tǒng)的起始頁面,登錄界面設(shè)計如下圖所示:圖4-9 登錄界面截圖登錄模塊的功能是判斷登錄用戶的權(quán)限以及將用戶導(dǎo)航到不同的頁面,管理員、教師和學(xué)生登錄后的頁面都是不相同的。在這個模塊使用到了Auth這個類來完成主要的登錄操作。主要代碼如下:/ / 判斷用戶名和密碼是否正確/ public b
31、ool Login(string name, string pass)string sqlString = select count(*) from Users where name=+name+ and pass=+pass+;object obj = SqlHelper.ExecuteScalar(SqlString,CommandType.Text, sqlString);if(obj!=null & obj.ToString()!=0)return true;elsereturn false;/ / 判斷登錄類型,1為學(xué)生,2為老師,3為管理員/ public int LoginTyp
32、e(string name)string sqlString = select type from Users where name=+name+;object obj = SqlHelper.ExecuteScalar(SqlString,CommandType.Text, sqlString);if(obj!=null & obj.ToString()!=0)return int.Parse(obj.ToString();elsereturn -1;登錄時調(diào)用此函數(shù),傳入?yún)?shù)分別為用戶名和密碼,函數(shù)中對傳入的用戶名和密碼與數(shù)據(jù)庫中的查詢結(jié)果比較,如果正確,返回true,否則返回false,
33、完成登錄賬號判斷。4.2.2 院系管理模塊設(shè)計院系管理為在線選課系統(tǒng)提供院系信息管理功能,用戶可通過它來對學(xué)校的院系信息進行添加、修改、刪除操作。表4-1 院系管理涉及數(shù)據(jù)列表序號項備注1院系ID2院系名稱院系管理截圖如下:圖4-10 院系管理界面截圖主要代碼如下:if(txtName.Text=)Response.Write(alert(名稱不允許未空););else if(txtName.Text.Length20)Response.Write(alert(最多20個字符););elseCourseBiz.Dept dept = new CourseBiz.Dept();if(Reques
34、tAction=add)/插入院系信息dept.InsertDeptInfo(txtName.Text.Trim();else/更新專業(yè)信息dept.UpdateDeptInfo(txtName.Text.Trim(), int.Parse(txtNumber.Text);string str = window.dialogArguments.document.location.href=Dept.aspx;window.close(); Response.Write(str);4.2.3 專業(yè)管理模塊設(shè)計專業(yè)管理為在線選課系統(tǒng)提供專業(yè)信息管理功能,用戶可通過它來對學(xué)校的專業(yè)信息進行添加、修改
35、、刪除操作。表4-2 專業(yè)管理涉及數(shù)據(jù)列表序號項備注1專業(yè)ID自動編號2專業(yè)名稱主要代碼與院系管理模塊代碼類似。4.2.4 課程管理模塊設(shè)計課程管理為在線選課系統(tǒng)提供課程管理功能,用戶通過課程管理可對學(xué)校的課程進行添加、修改、刪除操作。在課程管理中,可以為課程設(shè)置授課教師、以及授課專業(yè)等信息。表4-3 課程管理涉及數(shù)據(jù)列表序號項備注1課程ID自動編號2課程名稱3授課教師一門課程對應(yīng)一個授課教師4所屬專業(yè)開設(shè)此課程的專業(yè)5課程描述對課程基本信息的描述,在選課過程中可查看主要代碼如與院系管理模塊代碼類似。4.2.5 學(xué)生管理模塊設(shè)計學(xué)生管理為在線選課系統(tǒng)提供學(xué)生信息管理功能,用戶通過學(xué)生管理可以對
36、學(xué)生的基本信息進行添加、修改、刪除等操作,同時提供對學(xué)生所選課程的列表查看。表4-4 學(xué)生管理涉及數(shù)據(jù)列表序號項備注1學(xué)生ID自動編號2學(xué)生姓名3學(xué)生學(xué)號4學(xué)生性別5所在院系6所在專業(yè)7所選課程可以是多個,列表形式保存主要代碼如與院系管理模塊代碼類似。4.2.6 教師管理模塊設(shè)計教師管理為在線選課系統(tǒng)提供教師基本信息管理功能,用戶通過教師管理可以對教師的基本信息進行添加、修改、刪除等操作。表4-5 教師管理涉及數(shù)據(jù)列表序號項備注1教師ID自動編號2教師姓名3教師工號4所屬院系主要代碼如與院系管理模塊代碼類似。4.2.7 學(xué)生個人信息維護模塊設(shè)計學(xué)生基本信息維護功為學(xué)生登錄系統(tǒng)后提供基本信息管理
37、,學(xué)生通過基本信息維護功能可以對自己基本信息和登錄密碼進行修改。表4-6 學(xué)生管理涉及數(shù)據(jù)列表序號項備注1學(xué)生ID自動編號2學(xué)生姓名3學(xué)生學(xué)號4學(xué)生性別5所在院系6所在專業(yè)7登錄密碼學(xué)生個人信息維護模塊截圖:圖4-11 學(xué)生個人信息維護界面截圖主要代碼如下:/判斷條件,名稱不允許未空,名稱長度不超過個字符if(txtName.Text=)Response.Write(alert(名稱不允許未空););else if(txtName.Text.Length20)Response.Write(alert(最多個字符););else/修改學(xué)生基本信息CourseBiz.StudentEntity s
38、tuentity = new CourseBiz.StudentEntity();string sTemp = rboGender.SelectedValue;stuentity.DeptID = int.Parse(ddlDept.SelectedValue);stuentity.MajorID = int.Parse(ddlMajor.SelectedValue);stuentity.StudentGender = int.Parse(sTemp);stuentity.StudentName = txtName.Text.Trim();stuentity.StudentNumber = t
39、xtCode.Text.Trim();CourseBiz.Student stu = new CourseBiz.Student();stuentity.StudentID = int.Parse(SessionID.ToString();stu.UpdateStudentInfo(stuentity);/修改學(xué)生密碼if(txtPass.Text.Trim()!=)CourseBiz.Auth auth = new CourseBiz.Auth();int type = auth.LoginType(Context.User.Identity.Name);stu.UpdateStudentP
40、ass(txtPass.Text, int.Parse(SessionID.ToString(),type);string str = alert(成功); Response.Write(str);4.2.8 選課模塊設(shè)計選課功能是在線選課系統(tǒng)的核心,通過選課功能,學(xué)生登錄后可以選擇、修改自己喜歡的課程,也可以刪除已選課程,查看所選課程。選課功能截圖:圖4-12 選課界面截圖主要代碼如下:/循環(huán)插入學(xué)生選的課程foreach(DataGridItem item in dgBulletin.Items)if(item.ItemType=ListItemType.Item | item.ItemT
41、ype=ListItemType.AlternatingItem)CheckBox chkID = (CheckBox)item.FindControl(chkID);if(chkID.Checked=true)int CourseID = int.Parse(item.Cells1.Text);int StuID = int.Parse(SessionID.ToString();CourseBiz.Student stu = new CourseBiz.Student();stu.InsertStudentCourse(StuID, CourseID);Response.Redirect(S
42、tuAddCourse.aspx);4.2.9 擔(dān)任課程查看模塊設(shè)計當(dāng)教師用戶登錄系統(tǒng)后可通過查看擔(dān)任課程情況功能來查看有哪些課程的授課教師是自己,這項功能僅提供給教師用戶。查看擔(dān)任課程功能模塊截圖:圖4-13 教師查看擔(dān)任課程界面截圖主要代碼如下:/ / 初始化DataGrid,如果查詢的數(shù)據(jù)為,DataGrid控件隱藏,提示沒有符合條件的數(shù)據(jù)/ public void DgBind()CourseBiz.Teacher teacher = new CourseBiz.Teacher();DataTable ds = teacher.GetTeacherCourse(int.Parse(Se
43、ssionID.ToString();if(ds!=null & ds.Rows.Count0)dgBulletin.DataSource = ds;dgBulletin.DataBind();elselblNo.Visible = true;dgBulletin.Visible = false;4.2.10 選課學(xué)生信息查看模塊設(shè)計選課學(xué)生信息查看功能提供給再選選課系統(tǒng)的教師用戶,教師用戶可以通過這個功能來查看有哪些學(xué)生選擇了自己擔(dān)任的課程。圖4-14 教師查看選課學(xué)生截圖主要代碼如下:/ / 初始化DataGrid,如果查詢的數(shù)據(jù)為,DataGrid控件隱藏,提示沒有符合條件的數(shù)據(jù)/ pu
44、blic void DgBind()CourseBiz.Teacher teacher = new CourseBiz.Teacher();DataSet ds = teacher.GetStuInfoByTID(int.Parse(SessionID.ToString();if(ds!=null & ds.Tables.Count0 & ds.Tables0.Rows.Count0)dgBulletin.DataSource = ds;dgBulletin.DataBind();elselblNo.Visible = true;dgBulletin.Visible = false;4.2.1
45、1 數(shù)據(jù)庫鏈接設(shè)計考慮系統(tǒng)的可維護性,系統(tǒng)的數(shù)據(jù)庫鏈接信息保存在配置文件中,當(dāng)系統(tǒng)的數(shù)據(jù)庫需要更換的時候,只需要更改配置文件中的數(shù)據(jù)鏈接信息就可以將系統(tǒng)切換到新的環(huán)境中去。下面是配置文件中的數(shù)據(jù)庫鏈接信息:5 部署與測試5.1 部署圖圖5-1 系統(tǒng)部署圖5.2 模塊測試在登錄系統(tǒng)后,當(dāng)?shù)卿浾叩纳矸莶煌臅r候,系統(tǒng)將會把用戶導(dǎo)航到不同的頁面,在測試中,可以看到使用管理員身份、教師身份和學(xué)生身份登錄系統(tǒng)后界面與功能的不同,如下圖所示:圖5-2 管理員登錄截圖圖5-3 教師登錄截圖圖5-4 學(xué)生登錄截圖通過測試可以看到系統(tǒng)很好的完成了這個功能。在系統(tǒng)完成以后,對系統(tǒng)的各個管理模塊進行了添加、刪除和修
46、改操作,并且對選課流程進行了一次測試,系統(tǒng)都能很穩(wěn)定的工作。結(jié)果測試,在線選課系統(tǒng)基本完成了預(yù)定的任務(wù)。結(jié)論我這次畢業(yè)設(shè)計的目標(biāo)是建立一個在線選課系統(tǒng),它用到的開發(fā)工具是Visual Studio.NET 中的ASP.NET、Visual C#語言以及SQL Server數(shù)據(jù)庫。最終結(jié)果表明,網(wǎng)上選課系統(tǒng)符合預(yù)定要求。在設(shè)計的開始階段為了盡快熟悉C#語言,我詳細(xì)翻閱有關(guān)該方面的資料,對書中的基本理論知識逐章逐節(jié)地分析,同時還上機操作來加深理解。特別是對書中的一些基本實例,認(rèn)真學(xué)習(xí)它的編程思想,吸取它的編程技巧,弄懂程序中每句話的含義。在對所要應(yīng)用的技術(shù)有了一個基本認(rèn)識之后,就開始構(gòu)思自己的系統(tǒng)
47、設(shè)計。根據(jù)任務(wù)書的要求我將整個系統(tǒng)化分為不同的模塊,然后就逐個模塊去一一詳細(xì)設(shè)計,設(shè)計的過程中不時地翻閱資料,用一些巧妙的技術(shù)來優(yōu)化程序。程序代碼完成之后,要進行運行調(diào)試,剛開始由于沒有調(diào)試經(jīng)驗和方法效率很低,通過老師的精心指導(dǎo)和同學(xué)的熱情幫助,現(xiàn)在終于順利完成了,自己也在設(shè)計的制作過程中學(xué)到了不少東西。在開發(fā)過程中,我深刻體會到了.NET技術(shù)的魅力,認(rèn)識到在網(wǎng)絡(luò)經(jīng)濟到來的今天,掌握好一門計算機語言,并把它運用到力所能及的應(yīng)用程序開發(fā)中去的重要性和現(xiàn)實意義。總之,幾個月的畢業(yè)設(shè)計,讓我深刻經(jīng)歷了一個項目從需求分析、框架設(shè)計、代碼編寫,程序調(diào)試到最終的項目開發(fā)成型的整個過程。畢業(yè)設(shè)計不僅是對我在
48、大學(xué)所學(xué)知識的綜合運用,也是增長知識和經(jīng)驗的好機會,同時也使我明白了面臨困難時應(yīng)保持積極的心態(tài),冷靜思考,認(rèn)真處理才是真正解決困難的最好方法,通過畢業(yè)設(shè)計的鍛煉我自身的動手能力得到很大的提高,為即將走上工作崗位打下了良好實戰(zhàn)的基礎(chǔ)。參考文獻1 郭文夷,戴芳勝.C#.NET可視化程序設(shè)計M.上海:華東理工大學(xué)出版社,2005。2 Mark Schmidt,Simon RobinsonMicrosoft Visual C#.NET2003開發(fā)技巧大全M北京:中國水利水電出版社,2005。3 閃四清SQL Server實用簡明教程M北京:清華大學(xué)出版社,2003。4 劉友話.Net環(huán)境下數(shù)據(jù)庫應(yīng)用系
49、統(tǒng)開發(fā)技術(shù)M北京:科學(xué)出版社,2004。5 Ian Somerville,Software EngeeringM北京:機械工業(yè)出版社,2003。6 Jeffrey RichterMicrosoft .NET框架程序設(shè)計M北京:機械工業(yè)出版社,2003。7 James W.CooperC# Design PatternsM北京:電子工業(yè)出版社,2004。8 Richard BlumC# Network ProgrammingM北京:電子工業(yè)出版社,2003。第24頁/共24頁致謝經(jīng)過三個多月的設(shè)計和開發(fā),在線選課系統(tǒng)基本開發(fā)完畢。雖然該系統(tǒng)還有許多不盡如人意的地方,但是通過該次學(xué)習(xí)和實踐,我受益匪淺。在此,我首先要感謝我的指導(dǎo)老師甘剛,選擇這個課題讓我能夠接觸很多美妙和豐富的內(nèi)容,無論是他對我論文格式和編排的指導(dǎo),還是在技術(shù)上的細(xì)心分析,都給予我極大的幫助。其次要感謝在畢業(yè)設(shè)計過程,對我的系統(tǒng)設(shè)計提出寶貴意見和建議的同學(xué)們。在我程序調(diào)試過程中遇到問題時,同學(xué)也給予我極大的幫助。在此表示我的謝意。 聲明
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 餐飲成本核算與控制培訓(xùn)課件
- 新員工入職培訓(xùn)思想修養(yǎng)篇(ppt47)
- 同步電機的工作原理及結(jié)構(gòu)特點
- 電影敘事結(jié)構(gòu)模式完整版
- 南州六月荔枝丹課件分析說明方法
- 人教版小學(xué)音樂六下《愛我中華》課件
- ××空調(diào)設(shè)備有限公司整體發(fā)展戰(zhàn)略診斷(PPT 50頁)
- 《酒店培訓(xùn)體系建設(shè)》課件
- 細(xì)胞膜系統(tǒng)的結(jié)構(gòu)
- 觸發(fā)器及其應(yīng)用
- 柱體、錐體、臺體的表面積與體積
- 萬能險銷售流程和話術(shù)0
- 紅外光譜基本原理
- 3技術(shù)創(chuàng)新管理-(9)
- 函數(shù)的零點(精品)