




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、基于web的成績(jī)管理設(shè)計(jì)與實(shí)現(xiàn)【摘要】隨著全球信息化時(shí)代的到來(lái),計(jì)算機(jī)科學(xué)的發(fā)展,信息管理技術(shù)在社會(huì)生活中的積極作用越來(lái)越明顯;計(jì)算機(jī)輔助管理已經(jīng)歷了從無(wú)到有,從不成熟到成熟的發(fā)展歷程。借鑒了很多國(guó)外的計(jì)算機(jī)輔助教學(xué)管理經(jīng)驗(yàn),我國(guó)計(jì)算機(jī)輔助教育管理也逐步發(fā)展起來(lái)。本系統(tǒng)是建立在信息化建設(shè)基礎(chǔ)上的提供學(xué)生畢業(yè)設(shè)計(jì)學(xué)生成績(jī)行為和反饋過(guò)程的信息管理系統(tǒng),為師生間的互動(dòng)提供了平臺(tái),給學(xué)校的畢業(yè)設(shè)計(jì)管理帶來(lái)了方便,便于學(xué)校的教學(xué)管理。本文從畢業(yè)設(shè)計(jì)學(xué)生成績(jī)的實(shí)際過(guò)程出發(fā),考察和分析了畢業(yè)設(shè)計(jì)學(xué)生成績(jī)過(guò)程,確立了畢業(yè)設(shè)計(jì)(論文)學(xué)生成績(jī)系統(tǒng)的具體功能模塊,闡述系統(tǒng)的概要設(shè)計(jì)和詳細(xì)設(shè)計(jì),實(shí)現(xiàn)學(xué)生在線學(xué)生成績(jī)
2、、教師對(duì)課題的提交及修改等功能。asp.net是新一代web應(yīng)用平臺(tái),它為用戶提供了完整的可視化開(kāi)發(fā)環(huán)境。它可以用microsoft公司最新的產(chǎn)品visualstudio.net開(kāi)發(fā)環(huán)境進(jìn)行開(kāi)發(fā)。由于它是基于通用語(yǔ)言的編譯程序,所以它的強(qiáng)大性和適應(yīng)性,可以使它運(yùn)行在web 應(yīng)用軟件開(kāi)發(fā)者的幾乎全部平臺(tái)上。本系統(tǒng)使用asp.net+visualbasic+sql server2000進(jìn)行開(kāi)發(fā),在開(kāi)發(fā)過(guò)程中用到的技術(shù)有ado.net數(shù)據(jù)訪問(wèn)技術(shù)、cookie編程技術(shù)、動(dòng)態(tài)菜單的腳本設(shè)計(jì)等。重點(diǎn)涉及ado.net數(shù)據(jù)訪問(wèn)編程模型,尤其是其中的connection、command、dataset三個(gè)對(duì)
3、象的使用。信息化管理可以作為建構(gòu)主義學(xué)習(xí)環(huán)境下的理想認(rèn)知工具,能有效地促進(jìn)學(xué)生的認(rèn)知發(fā)展?;趙eb的學(xué)生成績(jī)系統(tǒng)則是現(xiàn)代網(wǎng)絡(luò)教育不可缺少的一部分。關(guān)鍵詞:asp.net、cookie、ado.net。1緒論通過(guò)網(wǎng)絡(luò)進(jìn)行教學(xué)與管理是當(dāng)今教育發(fā)展的趨勢(shì),它必將成為全民教育和終身教育的主渠道。擁有一個(gè)完善的校園計(jì)算機(jī)信息管理系統(tǒng),應(yīng)用于學(xué)校的信息管理和教學(xué)管理,既是教師知識(shí)的源泉,又是學(xué)校信息資源中心,同時(shí)還是學(xué)生自我測(cè)試的工具,有力地配合了素質(zhì)教育?;趙eb 的學(xué)生成績(jī)管理模式打破了傳統(tǒng)學(xué)生成績(jī)管理的時(shí)空界限,使得師生雙方可以不受時(shí)間空間的限制,具有學(xué)生成績(jī)時(shí)間費(fèi)用低、學(xué)生成績(jī)過(guò)程的交互性強(qiáng)、
4、效率高、方便、快捷等特點(diǎn)。由于基于web 的網(wǎng)上互動(dòng)成績(jī)查詢是以internet 平臺(tái)為依托,具有用戶覆蓋面廣、對(duì)環(huán)境要求低、系統(tǒng)容易管理維護(hù)等優(yōu)點(diǎn)。基于web 的學(xué)生成績(jī)管理系統(tǒng)有效地實(shí)現(xiàn)了師生間的互動(dòng),減輕了師生的負(fù)擔(dān),提高了效率,也方便了學(xué)校的教學(xué)管理。從教育行業(yè)中開(kāi)始應(yīng)用計(jì)算機(jī)至今,我想至少已有幾十萬(wàn)程序員開(kāi)發(fā)過(guò)學(xué)生成績(jī)管理系統(tǒng)或類似的系統(tǒng)軟件。學(xué)生成績(jī)管理系統(tǒng)似已成了在校大學(xué)生的必修設(shè)計(jì)之一。我在大學(xué)時(shí)就已開(kāi)發(fā)過(guò)幾套類似的系統(tǒng)。既然這樣,為什么我還要再開(kāi)發(fā)一套學(xué)生成績(jī)管理系統(tǒng)呢?基于以下幾點(diǎn)理由,我認(rèn)為開(kāi)發(fā)這套學(xué)生成績(jī)管理系統(tǒng)還是有必要的。(1)最早的學(xué)生成績(jī)管理系統(tǒng)多為單機(jī)版,數(shù)據(jù)
5、庫(kù)采用的多是foxbase、foxpro等,就像我最早學(xué)foxbase時(shí)開(kāi)發(fā)的一樣。因?yàn)槭菃螜C(jī)版,所以大大限制了數(shù)據(jù)的共享。在網(wǎng)絡(luò)無(wú)處不在的今天,這種系統(tǒng)已大大落伍,不適用了。(2)近期開(kāi)發(fā)的一些網(wǎng)絡(luò)版的學(xué)生成績(jī)管理系統(tǒng)則多是采用c/s(客戶端/服務(wù)器)結(jié)構(gòu),使用vb、powerbuilder等語(yǔ)言開(kāi)發(fā)。這些系統(tǒng)的必須在服務(wù)端與客戶端都安裝上相應(yīng)的系統(tǒng)才能使用。軟件使用事先設(shè)計(jì)好的固定界面,用戶幾乎不能對(duì)此進(jìn)行修改,更不要說(shuō)進(jìn)行界面或功能上的二次開(kāi)發(fā)。如用戶在使用過(guò)程中想增添功能,只能將建議反饋給系統(tǒng)的作者,然后等待作者在下一版中進(jìn)行改進(jìn),而不能自已動(dòng)手。(3)最近市面上流行了的一些所謂采用b
6、/s(瀏覽器/服務(wù)器)三層結(jié)構(gòu)的商業(yè)軟件(如我校校園網(wǎng)建網(wǎng)時(shí)采用的智囊教學(xué)資源中心、浙大網(wǎng)絡(luò)校園網(wǎng)軟件平臺(tái)等)則使用的是activex控件技術(shù),客戶端必須啟用所有activex控件選項(xiàng),并安裝相應(yīng)客戶端軟件才能使用。這對(duì)大多數(shù)非計(jì)算機(jī)專業(yè)的老師來(lái)說(shuō)無(wú)疑仍是一道高高的門檻。1.1 系統(tǒng)簡(jiǎn)介本系統(tǒng)為學(xué)校實(shí)驗(yàn)課選課系統(tǒng),它提供了授課老師與選修本課程的學(xué)生之間的一個(gè)交流平臺(tái)。通過(guò)本平臺(tái),學(xué)生可以進(jìn)行課程信息查詢、班級(jí)選擇、作業(yè)提交、查看通知、查詢分?jǐn)?shù)等操作。教師可以進(jìn)行課程信息輸入、發(fā)布通知、分?jǐn)?shù)錄入等操作。1.2 系統(tǒng)開(kāi)發(fā)環(huán)境本系統(tǒng)使用asp.net+visualbasic+sql server20
7、00進(jìn)行開(kāi)發(fā),并在iis5.0上進(jìn)行發(fā)布。頁(yè)面美工部分用到flashmx、photoshop和dreamweaver等工具。在開(kāi)發(fā)過(guò)程中用到的技術(shù)有ado.net數(shù)據(jù)訪問(wèn)技術(shù)、cookie編程技術(shù)、動(dòng)態(tài)菜單的腳本設(shè)計(jì)等。開(kāi)發(fā)過(guò)程遵守軟件工程思想,按照需求分析、數(shù)據(jù)庫(kù)設(shè)計(jì)、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、改進(jìn)的步驟進(jìn)行開(kāi)發(fā)。重點(diǎn)涉及ado.net數(shù)據(jù)訪問(wèn)編程模型,尤其是其中的connection、command、dataset三個(gè)對(duì)象的使用。1.3 本文所完成的工作(1)緒論:分析系統(tǒng)開(kāi)發(fā)的背景、現(xiàn)狀、目的以及意義。(2)技術(shù)概述:通過(guò)查閱資料,對(duì)本系統(tǒng)所采用到的關(guān)鍵技術(shù)(asp.net技術(shù))進(jìn)行分類
8、歸納總結(jié)。(3)統(tǒng)設(shè)計(jì)與總體設(shè)計(jì):從整體上對(duì)系統(tǒng)進(jìn)行需求分析、總體結(jié)構(gòu)設(shè)計(jì)、功能模塊的劃分和畫(huà)流程圖、數(shù)據(jù)庫(kù)表建立。(4)統(tǒng)詳細(xì)設(shè)計(jì)與實(shí)現(xiàn):對(duì)系統(tǒng)功能模塊的詳細(xì)描述說(shuō)明,并用程序語(yǔ)言實(shí)現(xiàn)。(5)結(jié)和展望:對(duì)系統(tǒng)進(jìn)行整體分析,找出其存在的不足和缺點(diǎn),以期改進(jìn)和完善的地方。2 系統(tǒng)開(kāi)發(fā)的技術(shù)2.1 使用asp.net比起以前的版本來(lái)說(shuō),asp.net的變化非常大,但asp.net的基礎(chǔ)知識(shí)還是很容易掌握的,特別是如果您以前只用vb編程的話,另外一個(gè)需要強(qiáng)調(diào)的問(wèn)題是,asp.net和asp是互不干擾的 因?yàn)樗⒉粫?huì)觸及已有的asp應(yīng)用程序。因此無(wú)須擔(dān)心無(wú)法使用以前所寫(xiě)的程序。windows 2000
9、(professional和server版本)與windows xp professional支持asp.net,它還包含在windows server 2003中。但windows nt或windows 9x平臺(tái)不支持asp.net??梢栽谥С炙钠脚_(tái)上安裝visual studio .net,并且在所支持的平臺(tái)上遠(yuǎn)程使用asp.net。也可以從microsoft公司的以下站點(diǎn)下載asp.net。它們是.net的安裝非常簡(jiǎn)單,所有的安裝文件都包含在一個(gè)或兩個(gè)可執(zhí)行文件中,這取決于安裝要求。第一個(gè)程序安裝包括asp.net在內(nèi)的架構(gòu)這是安裝.net的最低要求。在安裝過(guò)程中,系統(tǒng)可能會(huì)要求升級(jí)m
10、icrosoft windows installer組件,這時(shí)應(yīng)該單擊yes按鈕以升級(jí)這些組件。因?yàn)樯?jí)這些組件是安裝.net sdk所必需的。此時(shí)可能會(huì)顯示一個(gè)對(duì)話框,表示microsoft data access components (mdac) 2.7沒(méi)有安裝到您的系統(tǒng)中??梢詥螕鬷gnore按鈕來(lái)繼續(xù)安裝過(guò)程 因?yàn)?net并不需要mdac 2.7,但是建議還是安裝mdac為好。如果把.net安裝為visual studio.net的一部分,mdac 2.7會(huì)自動(dòng)安裝。否則,可以從 2.7或更高版本。2.2 使用新技術(shù)的原因asp.net不僅解決了現(xiàn)有開(kāi)發(fā)環(huán)境造成的許多問(wèn)題,而且提供了
11、強(qiáng)大的可擴(kuò)展性,同時(shí)也帶來(lái)了強(qiáng)大的工具支持。從最低限度來(lái)說(shuō),再次發(fā)布的asp.net版本可以滿足您的所有要求,并且它是免費(fèi)的,同時(shí)還可以繼續(xù)使用您自己喜歡的編輯器(比如notepad)。有了asp.net,就可以訪問(wèn)任何數(shù)據(jù)、程序或頁(yè)面,同時(shí)asp.net還提供了多語(yǔ)言支持。要得到一個(gè)功能更強(qiáng)大的開(kāi)發(fā)環(huán)境,可以使用visual studio .net,它提供了拖放支持、彩色編碼(它比您想像中的要更加有用)、關(guān)聯(lián)幫助和工具提示,以及以前visual studio所具有的強(qiáng)大編輯功能。3 數(shù)據(jù)庫(kù)的設(shè)計(jì)幾乎所有的web項(xiàng)目都是基于數(shù)據(jù)庫(kù)的,這使得數(shù)據(jù)庫(kù)的設(shè)計(jì)在整個(gè)項(xiàng)目中的地位舉足輕重。相關(guān)研究表明,
12、在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的開(kāi)發(fā)中,項(xiàng)目成功50%靠數(shù)據(jù)庫(kù)的設(shè)計(jì)。良好的數(shù)據(jù)庫(kù)設(shè)計(jì)往往能夠減少開(kāi)發(fā)的負(fù)擔(dān)。3.1 邏輯設(shè)計(jì)根據(jù)系統(tǒng)需求分析定義系統(tǒng)中的實(shí)體,并采用e-r圖來(lái)表現(xiàn)實(shí)體間的邏輯關(guān)系。系統(tǒng)中涉及的角色有學(xué)生和教師。實(shí)體有實(shí)驗(yàn)、班級(jí)、作業(yè)、通知、成績(jī)。實(shí)體與角色之間的邏輯關(guān)系如圖3-1所示:教師成績(jī)通知實(shí)驗(yàn)班級(jí)作業(yè)學(xué)生圖3-1基于web的成績(jī)管理設(shè)計(jì)與實(shí)現(xiàn)邏輯設(shè)計(jì)圖3.2 物理結(jié)構(gòu)設(shè)計(jì)根據(jù)邏輯關(guān)系圖,設(shè)計(jì)數(shù)據(jù)庫(kù)需要的數(shù)據(jù)表。學(xué)生信息表:學(xué)生的基本信息,包括學(xué)號(hào)、學(xué)生姓名、是否注冊(cè)選課系統(tǒng)。學(xué)生注冊(cè)表:存儲(chǔ)學(xué)生的注冊(cè)信息,包括學(xué)號(hào)、注冊(cè)名、注冊(cè)時(shí)間、注冊(cè)密碼、注冊(cè)郵箱、注冊(cè)電話、備注和是否加入了班
13、級(jí)8列。只有學(xué)生信息表中的學(xué)生才能注冊(cè)實(shí)驗(yàn)課系統(tǒng),所以學(xué)生注冊(cè)表與學(xué)生信息表之間有一個(gè)外鍵連接。班級(jí)學(xué)生表:存儲(chǔ)每個(gè)班級(jí)與學(xué)生之間的對(duì)應(yīng)關(guān)系,包括班級(jí)序號(hào)、學(xué)生學(xué)號(hào)、座號(hào)3列。學(xué)生學(xué)號(hào)由學(xué)生注冊(cè)表得到,而班級(jí)序號(hào)、座號(hào)由學(xué)生選擇。通知信息表:存儲(chǔ)教師發(fā)布的通知信息,包括通知號(hào)、通知標(biāo)題、通知內(nèi)容、發(fā)布日期、發(fā)布對(duì)象5列。作業(yè)提交表:存儲(chǔ)學(xué)生提交作業(yè)的情況,包括學(xué)生號(hào)、作業(yè)號(hào)、作業(yè)標(biāo)題、作業(yè)提交時(shí)間4列。學(xué)生成績(jī)表:存儲(chǔ)學(xué)生的成績(jī)情況,包括學(xué)生號(hào)、實(shí)驗(yàn)1成績(jī)、實(shí)驗(yàn)2成績(jī)、實(shí)驗(yàn)3成績(jī)、實(shí)驗(yàn)4成績(jī)、課外實(shí)驗(yàn)成績(jī)、作業(yè)成績(jī)、考試成績(jī)。根據(jù)各個(gè)成績(jī)可以計(jì)算出總成績(jī)。成績(jī)權(quán)重表:記錄各個(gè)實(shí)驗(yàn)的權(quán)重,根據(jù)權(quán)
14、重計(jì)算總成績(jī)。教師登錄表:存儲(chǔ)教師的登錄信息,包括教師號(hào)和注冊(cè)密碼。實(shí)驗(yàn)信息表:存儲(chǔ)每個(gè)實(shí)驗(yàn)的詳細(xì)信息,包括實(shí)驗(yàn)序號(hào)和實(shí)驗(yàn)信息。作業(yè)信息表:存儲(chǔ)教師布置的作業(yè)信息,包括作業(yè)序號(hào)、作業(yè)標(biāo)題、作業(yè)提交時(shí)間、作業(yè)要求和備注。各個(gè)表的具體字段設(shè)置如下:表3-1 學(xué)生信息表sutdent_infor:列名數(shù)據(jù)類型長(zhǎng)度可否為空是否主鍵是否外鍵默認(rèn)值s_idvarchar20ys_namevarchar20s_ifloginbit10表3-2 學(xué)生注冊(cè)表student_login:列名數(shù)據(jù)類型長(zhǎng)度可否為空是否主鍵是否外鍵默認(rèn)值s_idvarchar20yysl_namevarchar20sl_pwdvarc
15、har20sl_datedatetime8sl_mailboxvarchar30ysl_phonevarchar15ysl_memovarchar500sl_ifclassbit10表3-3 班級(jí)學(xué)生表class_student:列名數(shù)據(jù)類型長(zhǎng)度可否為空是否主鍵是否外鍵默認(rèn)值s_idvarchar20yyclass_idint4seat_idvarchar10group_idvarchar10表3-4 通知信息表notice_infor:列名數(shù)據(jù)類型長(zhǎng)度可否為空是否主鍵是否外鍵默認(rèn)值n_idvarchar20yn_titlevarchar100n_contentvarchar5000ynu_d
16、atedatetime8nu_studentvarchar100全體學(xué)生表3-5 作業(yè)提交表exercise_update:列名數(shù)據(jù)類型長(zhǎng)度可否為空是否主鍵是否外鍵默認(rèn)值eu_idvarchar120s_idvarchar20yye_titlevarchar100eu_datedatetime8表3-6 學(xué)生成績(jī)表student_mark:列名數(shù)據(jù)類型長(zhǎng)度可否為空是否主鍵是否外鍵默認(rèn)值s_idvarchar20yylab1_marknumeric50lab2_marknumeric50lab3_marknumeric50lab4_marknumeric50lab5_marknumeric5.0
17、exercise_marknumeric50exam_marknumeric50表3-7 教師登錄表teacher_login:列名數(shù)據(jù)類型長(zhǎng)度可否為空是否主鍵是否外鍵默認(rèn)值t_idvarchar20yt_pwdvarchar20表3-8 成績(jī)權(quán)重表mark_rate:列名數(shù)據(jù)類型長(zhǎng)度可否為空是否主鍵是否外鍵默認(rèn)值depart_idvarchar10ylab1_ratenumeric50lab2_ratenumeric50lab3_ratenumeric50lab4_ratenumeric50lab5_ratenumeric50lab_ratenumeric50exercise_ratenum
18、eric50exam_ratenumeric50表3-9 實(shí)驗(yàn)信息表lab_infor:列名數(shù)據(jù)類型長(zhǎng)度可否為空是否主鍵是否外鍵默認(rèn)值lab_idint4ylab_memovarchar5000表3-10 作業(yè)信息表exersise_infor:列名數(shù)據(jù)類型長(zhǎng)度可否為空是否主鍵是否外鍵默認(rèn)值e_idvarchar50e_titlevarchar100eu_deadlinevarchar100e_contentvarchar5000ye_memovarchar1000y3.3 數(shù)據(jù)庫(kù)角色分配及權(quán)限設(shè)置由圖3-1可知,本系統(tǒng)中包含有兩個(gè)角色,即學(xué)生和教師。他們?cè)谑褂帽鞠到y(tǒng)中對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)表應(yīng)具有
19、不同的權(quán)限。根據(jù)登錄用戶不同,系統(tǒng)識(shí)別是老師還是學(xué)生用戶,然后采取不同的數(shù)據(jù)庫(kù)用戶與本系統(tǒng)的數(shù)據(jù)庫(kù)進(jìn)行連接。下面就分別定義老師和學(xué)生兩種角色具體權(quán)限。學(xué)生權(quán)限表如表3-11所示:表3-11 學(xué)生權(quán)限表數(shù)據(jù)表selectinsertupdatedeletestudent_inforstudent_loginclass_studentnotice_inforexercise_updatestudent_marklab_inforexercise_infor顯然老師的權(quán)限應(yīng)該要比學(xué)生的權(quán)限大,例如只有老師能夠插入和更改學(xué)生分?jǐn)?shù),而學(xué)生卻不行?;旧辖處煋碛袑?duì)所有用戶表的增、刪、改以及查詢的權(quán)限。教師
20、權(quán)限表如表3-12所示:表3-12 教師權(quán)限表數(shù)據(jù)表selectinsertupdatedeletestudent_inforstudent_loginclass_studentnotice_inforexercise_updatestudent_markmark_rateteacher_loginlab_inforexercise_infor3.4 數(shù)據(jù)庫(kù)的具體實(shí)現(xiàn)本系統(tǒng)使用sql server2000實(shí)現(xiàn)數(shù)據(jù)庫(kù)系統(tǒng)的管理工作。具體分為:新建數(shù)據(jù)庫(kù)、添加數(shù)據(jù)表和建立登錄用戶。下面就介紹每一步的具體操作過(guò)程。3.4.1 新建數(shù)據(jù)庫(kù)首先,打開(kāi)sql server服務(wù)管理器。單擊“開(kāi)始/繼續(xù)”啟動(dòng)
21、服務(wù)管理器。然后,打開(kāi)sql server企業(yè)管理器。選擇“控制臺(tái)根目錄/microsoft sql servers/sql server組/local/數(shù)據(jù)庫(kù)”,單擊鼠標(biāo)右鍵,選擇新建數(shù)據(jù)庫(kù)。在“名稱”文本框中填寫(xiě)數(shù)據(jù)庫(kù)名稱,本系統(tǒng)數(shù)據(jù)庫(kù)名稱為“course”。單擊確定按鈕即可。系統(tǒng)會(huì)在“數(shù)據(jù)文件”和“事物日志”標(biāo)簽頁(yè)中自己動(dòng)將數(shù)據(jù)文件和日志文件存到sql server的安裝路徑下的“.mssqldata”文件夾中,分別以course_data.mdf和course_log.ldf命名。3.4.2 添加數(shù)據(jù)表本系統(tǒng)涉及到的數(shù)據(jù)表添加過(guò)程基本一致,下面以添加學(xué)生信息表student_infor
22、為例進(jìn)行說(shuō)明,介紹如何在sql server中添加新數(shù)據(jù)表。選中“數(shù)據(jù)庫(kù)/course/表”,單擊鼠標(biāo)右鍵,選擇“新建表”。將列名、數(shù)據(jù)類型、長(zhǎng)度、是否允許為空分別添到對(duì)應(yīng)項(xiàng)中。右鍵單擊s_id設(shè)置其為主鍵,關(guān)閉窗口后添入包表名即完成數(shù)據(jù)表的添加。設(shè)置外鍵的方法:以student_login表的外鍵關(guān)系為例,介紹如何在sql server中建立外鍵關(guān)系。鼠標(biāo)右鍵單擊s_id列,選擇“關(guān)系”。單擊“新建”按鈕,系統(tǒng)自動(dòng)編號(hào)為“fk_student_login_student_infor”,然后分別在主鍵表和外鍵表下面選擇s_id即可。完成數(shù)據(jù)表添加后,可以在企業(yè)管理器中查看關(guān)系圖,各個(gè)數(shù)據(jù)表之間
23、的關(guān)系如圖3-2所示:圖3-2 數(shù)據(jù)關(guān)系表3.4.3 建立登錄用戶用戶與角色管理是sql server的一種安全機(jī)制。在前面已經(jīng)具體定義了本系統(tǒng)中學(xué)生和教師的權(quán)限,下面就根據(jù)權(quán)限設(shè)置來(lái)添加用戶登錄,設(shè)置密碼為“1234”。選擇sql server 企業(yè)管理器的“控制臺(tái)根目錄/microsoft sql server/sql server組/(local)(windowsnt)/安全性/登錄”,單擊鼠標(biāo)右鍵,選擇“新建登錄”命令。在“名稱”文本框中輸入student_access,在“密碼”文本框中添入1234,數(shù)據(jù)庫(kù)選擇course。在數(shù)據(jù)庫(kù)訪問(wèn)標(biāo)簽頁(yè)中同樣選擇course數(shù)據(jù)庫(kù)。這樣就完成了
24、學(xué)生登錄的添加,同理教師登錄的添加方法與上述過(guò)程類似。至此,數(shù)據(jù)庫(kù)設(shè)計(jì)基本完成。下面進(jìn)行系統(tǒng)功能的設(shè)計(jì)。4 系統(tǒng)功能設(shè)計(jì)4.1 學(xué)生模塊功能設(shè)計(jì)本系統(tǒng)中,學(xué)生可以完成的操作有注冊(cè)、登錄、選擇班級(jí)、查看實(shí)驗(yàn)信息、查看所在班級(jí)信息、查看成績(jī)、提交作業(yè)。各項(xiàng)的具體功能如下:注冊(cè) 只有在學(xué)生信息表中有記錄的學(xué)生才可以在本系統(tǒng)中注冊(cè)登錄 只有注冊(cè)用戶才能登錄到本系統(tǒng)選擇班級(jí) 課程安排有四個(gè)班,由于每個(gè)班各有所不同,學(xué)生可以根據(jù)自己的愛(ài)好和自己的情況進(jìn)行班級(jí)選擇。查看班級(jí)信息 查看某個(gè)班級(jí)的學(xué)生名單、同組的成員、班級(jí)人數(shù)。查看實(shí)驗(yàn)信息 查看教師安排的實(shí)驗(yàn)課內(nèi)容安排及上課時(shí)間等信息。查看成績(jī) 查看自己的實(shí)驗(yàn)
25、課成績(jī)、作業(yè)成績(jī)、考試成績(jī)、最后總成績(jī)等。提交作業(yè) 上傳自己的作業(yè)查看作業(yè)信息 查看老師布置的作業(yè)內(nèi)容及要求。功能流程圖如圖4-1所示:查看實(shí)驗(yàn)信息查看班級(jí)信息查看成績(jī)作業(yè)管理查看通知選擇班級(jí)登錄錄注冊(cè)提交作業(yè)作業(yè)查詢圖4-1 學(xué)生模塊功能流程圖4.2 教師模塊功能設(shè)計(jì)教師可以完成的操作有查看班級(jí)信息、輸入實(shí)驗(yàn)信息、發(fā)布通知、輸入成績(jī)、管理學(xué)生。各項(xiàng)具體功能如下:成績(jī)管理 對(duì)學(xué)生的各項(xiàng)成績(jī)進(jìn)行管理通知管理 發(fā)布通知,學(xué)生可以在主頁(yè)面中看到。班級(jí)管理 對(duì)班級(jí)情況進(jìn)行管理。作業(yè)管理 查看學(xué)生作業(yè)。實(shí)驗(yàn)管理 發(fā)布實(shí)驗(yàn)內(nèi)容及其相關(guān)信息。教師資料管理 添加教師、修改教師登錄密碼、查詢教師列表。功能圖如圖
26、4-2所示:登錄成績(jī)管理通知管理班級(jí)管理作業(yè)管理實(shí)驗(yàn)管理教師管理成績(jī)輸入成績(jī)查詢通知輸入通知列表作業(yè)查詢布置作業(yè)作業(yè)要求信息輸入信息查詢添加教師修改密碼教師列表圖4-2 教師模塊功能圖4.3 頁(yè)面規(guī)劃有了上一節(jié)學(xué)生和教師模塊的功能設(shè)計(jì),下一步規(guī)劃本系統(tǒng)應(yīng)該具有哪些頁(yè)面。這些頁(yè)面的功能與學(xué)生教師這兩個(gè)角色是對(duì)應(yīng)的。下面將所有頁(yè)面分為公用頁(yè)面、學(xué)生頁(yè)面、教師頁(yè)面。介紹每個(gè)頁(yè)面完成功能。公用頁(yè)面:login.aspx:學(xué)生和教師均通過(guò)此頁(yè)面登錄系統(tǒng)。notice_content:顯示通知內(nèi)容。學(xué)生頁(yè)面:index.aspx:學(xué)生主界面,顯示有最新的通知信息以及學(xué)生登錄用戶的基本信息。course_i
27、nfor.aspx:課程介紹,介紹所選課程的信息。register.aspx:學(xué)生注冊(cè),學(xué)生通過(guò)此頁(yè)面注冊(cè)成為本系統(tǒng)的用戶。s_class_infor.aspx:班級(jí)選擇,學(xué)生查詢各班級(jí)信息并加入自己喜歡的班級(jí)。s_lab_infor.aspx:查詢實(shí)驗(yàn)的具體信息。s_mark_infor.aspx:查詢成績(jī)。s_exercise_upload.aspx:上傳作業(yè)文件。s_exercise_infor_list.aspx:顯示作業(yè)列表,鏈接到詳細(xì)信息頁(yè)面。s_exercise_infor.aspx:顯示某個(gè)作業(yè)的詳細(xì)信息s_notice_list.aspx:所有通知列表教師頁(yè)面:index.a
28、spx:教師主界面,顯示最新10條通知。t_class_infor.aspx:查詢班級(jí)學(xué)生名單t_exercise_infor.aspx:顯示作業(yè)詳細(xì)信息并可修改t_exercise_inforinput.aspx:輸入作業(yè)要求t_exercise_inforlist.aspx:列出所有作業(yè)t_exercise_upload.aspx:查詢學(xué)生提交的作業(yè)t_lab_infor_input.aspx:輸入實(shí)驗(yàn)內(nèi)容等信息t_lab_infor.aspx:查詢實(shí)驗(yàn)具體信息并可修改t_mark_infor.aspx:顯示所有成績(jī)t_mark_input.aspx:輸入學(xué)生成績(jī)t_notice_list
29、.aspx:所有通知列表t_notice_input.aspx:發(fā)布通知 t_add_teacher.aspx:添加教師t_login_infor.aspx:顯示教師登錄id及密碼并可修改t_teacher_list.aspx:顯示所有的教師帳戶教師的所有頁(yè)面中都包含有導(dǎo)航欄,其中包括成績(jī)管理、通知管理、作業(yè)管理、實(shí)驗(yàn)管理、資料管理6項(xiàng)。通過(guò)javascript腳本制作成導(dǎo)航條,鏈接到相應(yīng)的頁(yè)面。5配置文件頁(yè)面的編輯之所以在web.config文件中保存全局變量,而不是在每個(gè)頁(yè)面中單獨(dú)引入有兩大優(yōu)點(diǎn)。一是減少代碼量,這樣做將全局變量集中存儲(chǔ)在一個(gè)文件中,而不是在每個(gè)頁(yè)面中重復(fù)這樣的操作。比如數(shù)
30、據(jù)庫(kù)連接串,如果不集中存儲(chǔ)在特定的地方,一旦需要修改將很麻煩。需要遍歷所有的鏈接數(shù)據(jù)庫(kù)頁(yè)面進(jìn)行修改。二是無(wú)需重新編譯應(yīng)用程序即可更新應(yīng)用程序的某些屬性。當(dāng)把數(shù)據(jù)庫(kù)遷移到另一個(gè)不同的服務(wù)器時(shí),只需修改web.config文件中的數(shù)據(jù)庫(kù)連接配置信息,而不需要重新編譯。顯然這樣提高了系統(tǒng)的運(yùn)行速度。6 主要頁(yè)面介紹6.1 登錄頁(yè)面登錄頁(yè)面完成學(xué)生和教師用戶登錄功能。還提供有學(xué)生用戶注冊(cè)的鏈接,未注冊(cè)的學(xué)生可以由此進(jìn)入到注冊(cè)頁(yè)面。6.1.1 流程圖設(shè)計(jì)用戶登錄分為3個(gè)步驟:判斷身份、查詢數(shù)據(jù)庫(kù)記錄、創(chuàng)建cookie并登錄。下面是該頁(yè)面的流程圖如圖6-1所示:判斷身份查詢數(shù)據(jù)庫(kù)成 功密碼正確無(wú)此用戶密碼
31、錯(cuò)誤創(chuàng)建cookie登錄到相應(yīng)界面圖6-1 用戶登錄流程圖6.1.2 判斷身份登錄系統(tǒng)的用戶有教師和學(xué)生兩種,不同的用戶登錄到數(shù)據(jù)庫(kù)時(shí)的角色并不一樣,權(quán)限也不同。所以首先要分辨登錄的是學(xué)生還是教師。如圖6-2所示:圖6-2 登錄界面6.1.3 數(shù)據(jù)庫(kù)連接判斷身份后,就在相應(yīng)的表中查找數(shù)據(jù)。驗(yàn)證用戶是否為合法用戶。通過(guò)label控件提示用戶錯(cuò)誤信息。這里用到了try/catch結(jié)構(gòu)。try子句后面可以跟一個(gè)或者多個(gè)catch子句。如果執(zhí)行try子句中的語(yǔ)句發(fā)生了異常,那么程序?qū)错樞虿檎业谝粋€(gè)能處理該異常的catch子句。并將控制權(quán)轉(zhuǎn)到catch子句執(zhí)行。在程序的末尾處添加了finally子句,
32、不管try子句是如何退出的,程序的控制權(quán)最后都會(huì)轉(zhuǎn)移到finally子句執(zhí)行。這里程序執(zhí)行關(guān)閉數(shù)據(jù)庫(kù)連接和清空頁(yè)面上的密碼。在系統(tǒng)編碼的時(shí)候,程序員應(yīng)多使用try/catch結(jié)構(gòu)。他能有效的防止系統(tǒng)出錯(cuò)時(shí)程序代碼顯示在瀏覽器中。這樣不僅增加了系統(tǒng)的安全性,同時(shí)界面也變的友好。6.1.4 創(chuàng)建cookie對(duì)象cookie對(duì)象可以保存客戶信息,與session對(duì)象相似,分別保存不同用戶的信息。和session的區(qū)別在于:session對(duì)象所有信息保存在服務(wù)器上,cookie對(duì)象所有信息保存在客戶端的瀏覽器上。cookie對(duì)象需要用.net提供的httpcookie類重新定義。使用response.
33、appendcookie將信息發(fā)送并保存到客戶端的瀏覽器。cookie是一段文本信息,伴隨著用戶請(qǐng)求和頁(yè)面在web服務(wù)器和瀏覽器之間傳遞。用戶每次訪問(wèn)站點(diǎn)時(shí),web應(yīng)用程序都可以讀取cookie信息。cookie是一種保持web應(yīng)用程序連續(xù)性的方法。瀏覽器和web服務(wù)器除了在短暫的信息交換階段以外總是斷開(kāi)的,而用戶向web提交的請(qǐng)求都是獨(dú)立處理的,與其他請(qǐng)求無(wú)關(guān)。當(dāng)用戶請(qǐng)求某個(gè)頁(yè)面時(shí),讓web服務(wù)器對(duì)客戶端信息進(jìn)行識(shí)別。當(dāng)用戶成功登錄后,填寫(xiě)cookie。以后進(jìn)行各步操作時(shí)就從中提取用戶信息。6.2 學(xué)生注冊(cè)頁(yè)面該頁(yè)面完成學(xué)生注冊(cè)功能,只有學(xué)生檔案表student_infor中有記錄的學(xué)生才能
34、在該系統(tǒng)中注冊(cè)。如圖6-3、6-4所示:填寫(xiě)注冊(cè)信息存在此學(xué)號(hào)是否已注冊(cè)學(xué)號(hào)姓名匹配無(wú)此學(xué)號(hào)已經(jīng)注冊(cè)不匹配添加數(shù)據(jù)庫(kù)信息圖6-3 學(xué)生注冊(cè)流程圖圖6-4 學(xué)生注冊(cè)界面6.2.1 注冊(cè)的條件判斷單擊頁(yè)面上的“提交”按鈕后完成兩個(gè)步驟:第一步判斷是否符合注冊(cè)條件。即查詢數(shù)據(jù)庫(kù)中student_infor表,判斷是否存在此學(xué)號(hào)。不存在就提示錯(cuò)誤信息。如果存在此學(xué)號(hào),則判斷是否已注冊(cè)。如未注冊(cè),則接著判斷學(xué)號(hào)與真實(shí)姓名是否匹配,只有在匹配的情況下才進(jìn)行下一步。6.2.2 添加登錄用戶第二步就是當(dāng)符合注冊(cè)條件時(shí),將注冊(cè)信息填人數(shù)據(jù)庫(kù)中完成注冊(cè)。并將表中的s_iflogin列置為1。6.3 學(xué)生主頁(yè)面學(xué)生
35、用戶登錄后即轉(zhuǎn)到該頁(yè)面,頁(yè)面顯示最新的十條教學(xué)通知和學(xué)生的個(gè)人信息。另外教師主頁(yè)面和學(xué)生主頁(yè)面結(jié)構(gòu)類似。如圖6-5所示:圖6-5 學(xué)生主頁(yè)界面6.3.1 導(dǎo)航條的歡迎信息為了使界面友好,在導(dǎo)航欄上添加歡迎信息。系統(tǒng)根據(jù)時(shí)間以及不同的用戶顯示出不同的歡迎信息。在html代碼部分,添加了標(biāo)簽。由于加入了runat=”server”屬性,使之間的字段可以由服務(wù)器動(dòng)態(tài)更新。通過(guò)cookie取出用戶信息,然后針對(duì)不同用戶顯示不同的歡迎信息。同時(shí)為了實(shí)現(xiàn)滾動(dòng)效果在html代碼中添加將頁(yè)面中datelist控件置于其中,實(shí)現(xiàn)了文字滾動(dòng)的效果。6.3.2 數(shù)據(jù)綁定的實(shí)現(xiàn)通知的內(nèi)容是通過(guò)datalist數(shù)據(jù)控件
36、的數(shù)據(jù)綁定實(shí)現(xiàn)的。datalist數(shù)據(jù)控件和reapter及datagrid數(shù)據(jù)控件類似,datagrid是這三個(gè)數(shù)據(jù)控件中功能最強(qiáng)大的一個(gè)。使用datagrid控件可以自動(dòng)顯示表的內(nèi)容。利用datareader對(duì)象或者dataset對(duì)象與datagrid控件進(jìn)行綁定,就可以進(jìn)行數(shù)據(jù)輸出。datagrid數(shù)據(jù)控件還可以很輕松的完成分頁(yè)、動(dòng)態(tài)添加操作數(shù)據(jù)等功能。這里使用datalist控件進(jìn)行數(shù)據(jù)綁定,需要在html視圖下編輯項(xiàng)模板。通過(guò)在其中添加使通知列表具有超級(jí)鏈接功能。參數(shù)說(shuō)明:text參數(shù)就是datalist中要顯示的內(nèi)容。使用databinder.eval()方法綁定數(shù)據(jù)容器conta
37、iner.dataitem的數(shù)據(jù)項(xiàng)n_title和nu_date,他們分別是通知標(biāo)題和通知的時(shí)間。target=“_blank”表示在新窗口中打開(kāi)navigateurl 通過(guò)get提交方法,這里提交的內(nèi)容同樣用到數(shù)據(jù)綁定。databinder.eval(container.dataitem,”n_id”)綁定了通知的序號(hào)同時(shí)這里使用了httputility.urlencode()方法,他的作用是對(duì) url 字符串進(jìn)行編碼,以便實(shí)現(xiàn)從 web 服務(wù)器到客戶端的可靠的 http 傳輸。6.4 學(xué)生作業(yè)提交頁(yè)面該頁(yè)面完成學(xué)生上傳作業(yè)文件的功能,同時(shí)在數(shù)據(jù)庫(kù)中記錄上傳。下面分兩部分介紹該頁(yè)面完成的功能
38、。如圖6-6所示:圖6-6 學(xué)生作業(yè)提交界面6.4.1 filefield控件實(shí)現(xiàn)文件上傳filefield控件其實(shí)是html控件,通過(guò)在屬性中添加runat=”server”同樣能達(dá)到服務(wù)器控件的目的。這里設(shè)置了fullfilename字符串得到上傳文件的全路徑,然后使用substring()方法截取最后一個(gè)“”后面的部分即得到我們想要的文件名。例如:d:imagenews01.jpg使用substring()方法后得到01.jpg就是該文件的文件名。然后定義path字符串賦值為web.config中設(shè)置的全局變量。使最終保存在服務(wù)器上的路徑為path+filename。這里還有一個(gè)布爾型的
39、bool1用來(lái)驗(yàn)證是否上傳成功。只有當(dāng)bool1=true的時(shí)候才會(huì)進(jìn)行下一步記錄操作。另外需要注意的是在win2000操作系統(tǒng)下,需要對(duì)文件夾進(jìn)行權(quán)限設(shè)置,否則無(wú)法寫(xiě)入文件夾。在進(jìn)行文件上傳的時(shí)候就會(huì)報(bào)錯(cuò)。6.4.2 記錄作業(yè)上傳文件上傳后,將記錄保存到數(shù)據(jù)庫(kù)中。datareader對(duì)象用于從數(shù)據(jù)庫(kù)中獲取僅向前的只讀數(shù)據(jù)流,由于在內(nèi)存一次只存放一行數(shù)據(jù),因此使用datareader對(duì)象可提高應(yīng)用程序的性能,大幅度減輕對(duì)內(nèi)存的需求。datareader對(duì)象通過(guò)command對(duì)象的executereader()方法創(chuàng)建。這段代碼通過(guò)if/else進(jìn)行條件判斷,程序中創(chuàng)建了一個(gè)datareader對(duì)象dr使用dr.read方法指向下一條記錄查詢作業(yè)記錄。假如數(shù)據(jù)表中沒(méi)有該學(xué)生上傳作業(yè)記錄則添加最新的記錄。反之如果有記錄,則修改上次的作業(yè)記錄。6.5 教師成績(jī)錄入頁(yè)面教師通過(guò)此頁(yè)面錄入學(xué)生成績(jī)供學(xué)生查詢。還可以對(duì)已經(jīng)錄入的成績(jī)進(jìn)行查詢和修改。如圖6-7所示:圖6-7 教師成績(jī)錄入界面6.5.1 查詢班級(jí)名單該部分使用datagrid數(shù)據(jù)控件,綁定班級(jí)學(xué)生列表。同時(shí)用到datagrid 分頁(yè)技術(shù)使用戶可以進(jìn)行分頁(yè)瀏覽學(xué)生名單。如圖6-8所示:圖6-8 查詢班級(jí)名單界
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 醫(yī)院招聘護(hù)士合同范例
- 公共器材租賃合同范本
- 合同范本 合作
- 公司勞動(dòng)用工合同范本簡(jiǎn)版
- 售后回租合同范本
- 出租野餐工具合同范本
- 合同范本些可以修改
- 化妝造型合同范本
- 華能電廠合同范本
- 員工內(nèi)部合同范本
- 博物館消防培訓(xùn)課件
- 康養(yǎng)建筑設(shè)計(jì)思考
- 腦血管造影術(shù)護(hù)理查房課件
- 殘疾人就業(yè)困境及其破解對(duì)策
- 《油液分析技術(shù)》課件
- 運(yùn)動(dòng)療法技術(shù)學(xué)
- 《蜀道難》理解性默寫(xiě)(帶答案)
- 金婚活動(dòng)策劃方案
- 塔吊租賃(大型機(jī)械)-招標(biāo)文件模板(完整版)2021.5.13
- 監(jiān)理工作周報(bào)表(范本格式)
- Unit7大單元整體教學(xué)設(shè)計(jì)人教版英語(yǔ)八年級(jí)年級(jí)上冊(cè)
評(píng)論
0/150
提交評(píng)論