在線考試系統(tǒng)-課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第1頁
在線考試系統(tǒng)-課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第2頁
在線考試系統(tǒng)-課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第3頁
在線考試系統(tǒng)-課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第4頁
在線考試系統(tǒng)-課程設(shè)計(jì)實(shí)驗(yàn)報(bào)告_第5頁
已閱讀5頁,還剩38頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、ASP.NET課程設(shè)計(jì)實(shí)驗(yàn)題目: 在線考試系統(tǒng) 學(xué) 院:計(jì)算機(jī)科學(xué)學(xué)院專 業(yè):網(wǎng)絡(luò)工程班 級(jí):網(wǎng)絡(luò)01班小 組 成 員: 2014年 6 月 26日目錄一、實(shí)驗(yàn)名稱4二、實(shí)驗(yàn)?zāi)康?三、實(shí)驗(yàn)的運(yùn)行環(huán)境4四、實(shí)驗(yàn)整體功能介紹41.考試功能41)主要題型42)組卷方式5人工選題:5隨機(jī)抽題:5手工輸入:53)考試安排5考試安排的流程為:54)評卷工作5對于手工選題組成的卷子:5對于隨機(jī)抽題組成的卷子:5對于手工輸入組成的卷子:65)成績管理62.后臺(tái)管理功能61)系統(tǒng)管理62)題型管理63)試卷管理64)考試管理65)賬號(hào)管理63.表說明6五、程序運(yùn)行結(jié)果7登錄界面7系統(tǒng)菜單(考試安排)9系統(tǒng)菜單(

2、考試記錄)10系統(tǒng)菜單(考試成績)11系統(tǒng)菜單(修改密碼)12在線考試系統(tǒng)后臺(tái)管理(在線考試系統(tǒng)介紹)13在線考試系統(tǒng)后臺(tái)管理(部門管理)14在線考試系統(tǒng)后臺(tái)管理(人員管理)15題型管理(填空題管理)16題型管理(判斷題管理)17題型管理(單選題管理)18題型管理(多選題管理)19題型管理(簡答題管理)20試卷管理(手工選題)21試卷管理(隨機(jī)抽題)22試卷管理(手工輸入)23考試管理(考試安排)24考試管理(評卷管理)25考試管理(成績管理)26賬號(hào)管理(修改密碼)27新用戶注冊28六、實(shí)驗(yàn)源代碼(由于源碼數(shù)量過多所以這里只能列舉出部分)28七、實(shí)驗(yàn)心得39一、實(shí)驗(yàn)名稱在線考試系統(tǒng)二、實(shí)驗(yàn)?zāi)?/p>

3、的 將本學(xué)期學(xué)到的ASP.NET知識(shí)結(jié)構(gòu)系統(tǒng)化地組織起來并用其進(jìn)行動(dòng)態(tài)網(wǎng)頁的設(shè)計(jì) 三、實(shí)驗(yàn)的運(yùn)行環(huán)境 操作系統(tǒng):window 8.1 系統(tǒng)運(yùn)行環(huán)境:visual studio 2010 sql server 2008 .net framework 2.0四、實(shí)驗(yàn)整體功能介紹1.考試功能1)主要題型填空題、判斷題、單選題、多選題、簡答題。2)組卷方式 人工選題:通過選擇各種題型的題庫組成卷子,最多可以由5種題型組成(填空題、判斷題、單選題、多選題、簡答題);隨機(jī)抽題:通過設(shè)置各類題型的題庫數(shù)量,由系統(tǒng)隨機(jī)抽取試題組成卷子,最多可以由3種題型組成(判斷題、單選題、多選題);手工輸入:通過手工輸入試

4、題內(nèi)容的文本,可以事先用word把考題設(shè)計(jì)好,然后粘貼到編輯框中。3)考試安排考試安排的流程為:選擇試卷分類-選擇試卷-分配分?jǐn)?shù)-選擇考試人員-設(shè)置考試參數(shù)-提交4)評卷工作對于手工選題組成的卷子:判斷題、單選題和多選題由系統(tǒng)自動(dòng)評分,其他由人工評分;對于隨機(jī)抽題組成的卷子:完全由系統(tǒng)自動(dòng)評分,也就是考生一提交試卷,成績立馬出來;對于手工輸入組成的卷子:由人工評分。5)成績管理包含成績查詢、成績統(tǒng)計(jì)。2.后臺(tái)管理功能1)系統(tǒng)管理 系統(tǒng)介紹 部門管理 人員管理2)題型管理填空題 判斷題 單選題 多選題 簡答題3)試卷管理 手工選題 隨機(jī)抽題 手工輸入4)考試管理考試安排 評卷管理 成績管理5)賬

5、號(hào)管理 修改密碼 參加考試 退出3.表說明表說明:T_Department:部門表T_Paper:手工輸入試卷 (其中的paperType表示試卷所屬部門)T_Test:考試安排 (其中的paperType:1:人工選題,2:隨機(jī)抽題,3:手工輸入)T_TestMark:考試成績T_TestRecorder:考試記錄T_User:用戶表T_SubjectOfFillBlank:填空題題庫T_SubjectOfJudge:判斷題題庫T_SubjectOfSingleSelection:單選題題庫T_SubjectOfMultiSelection:多選題題庫T_SubjectOfSimpleAns

6、wer:簡答題題庫T_PaperByRandomSelection:隨機(jī)抽題試卷T_PaperByManualSelection:人工選題試卷T_PaperByManualSelection_Subject:人工選題試卷的試題集(其中的subjectType:1:填空題,2:判斷題,3:單選題,4:多選題,5:簡答題)T_PaperByRandomSelection_Subject:隨機(jī)抽題試卷的試題集(其中的subjectType:1:填空題,2:判斷題,3:單選題,4:多選題,5:簡答題)五、程序運(yùn)行結(jié)果登錄界面系統(tǒng)菜單(考試安排)系統(tǒng)菜單(考試記錄)系統(tǒng)菜單(考試成績)系統(tǒng)菜單(修改密碼

7、)在線考試系統(tǒng)后臺(tái)管理(在線考試系統(tǒng)介紹)在線考試系統(tǒng)后臺(tái)管理(部門管理)在線考試系統(tǒng)后臺(tái)管理(人員管理)題型管理(填空題管理)題型管理(判斷題管理)題型管理(單選題管理)題型管理(多選題管理)題型管理(簡答題管理)試卷管理(手工選題)試卷管理(隨機(jī)抽題)試卷管理(手工輸入)考試管理(考試安排)考試管理(評卷管理)考試管理(成績管理)賬號(hào)管理(修改密碼)新用戶注冊六、實(shí)驗(yàn)源代碼(由于源碼數(shù)量過多所以這里只能列舉出部分)管理登錄:using System;using System.Collections;using System.Configuration;using System.Data;u

8、sing System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Collections.Generic;using Entity;using BLL;public partial class Admin_Marking_MarkPaper2 : System.Web.UI.Page/管理員的MarkP

9、aper2頁面 protected void Page_Load(object sender, EventArgs e)/頁面加載 RoleCheck.DenyLogin();/拒絕非管理員用戶的登陸,拒絕后跳轉(zhuǎn)到登陸頁面 if (!IsPostBack) BindPaperInfo(); private int paperID/私有paperID get return Helper.GetUrlParmValue(paperID); /獲取paperID private int testID/私有testID get return Helper.GetUrlParmValue(testID)

10、; /獲取testID private int recorderID/私有recorderID get return Helper.GetUrlParmValue(recorderID); /獲取recorderID private void BindPaperInfo()/人工評卷頁面 PaperByManualSelection paper = new BLLPaperByManuaSelection().GetPaper(testID,paperID,recorderID);/得到所需要的頁面 if (paper != null) int totalScoresForTester = 0

11、;/計(jì)算分?jǐn)?shù) rptSubjectOfFillBlankList.DataSource= paper.FillBlankList; rptSubjectOfFillBlankList.DataBind(); lblFillBlankListCount.Text= paper.FillBlankList.Count.ToString(); if (paper.FillBlankList.Count 0)/填空題頁面框 lblFillBlankScores.Text= paper.FillBlankList0.Scores.ToString(); lblFillBlankTotalScores.T

12、ext= (paper.FillBlankList0.Scores* paper.FillBlankList.Count).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfFillBlank subject in paper.FillBlankList)/與參考答案匹配,并計(jì)算相應(yīng)分?jǐn)?shù) totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTester; lblFi

13、llBlankTotalScoresForTester.Text= totalScoresForTesterOfSubject.ToString(); rptSubjectOfJudgeList.DataSource = paper.JudgeList; rptSubjectOfJudgeList.DataBind(); lblJudgeListCount.Text = paper.JudgeList.Count.ToString(); if (paper.JudgeList.Count 0)/判斷題頁面框 lblJudgeScores.Text= paper.JudgeList0.Score

14、s.ToString(); lblJudgeTotalScores.Text = (paper.JudgeList0.Scores * paper.JudgeList.Count).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfJudge subject in paper.JudgeList)/與參考答案匹配,并計(jì)算相應(yīng)分?jǐn)?shù) totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.S

15、coresForTester; lblJudgeTotalScoresForTester.Text= totalScoresForTesterOfSubject.ToString(); rptSubjectOfSingleSelectionList.DataSource= paper.SingleSelectionList; rptSubjectOfSingleSelectionList.DataBind(); lblSingleSelectionCount.Text= paper.SingleSelectionList.Count.ToString(); if (paper.SingleSe

16、lectionList.Count 0)/單選題頁面框 lblSingleSelectionScores.Text= paper.SingleSelectionList0.Scores.ToString(); lblSingleSelectionTotalScores.Text= (paper.SingleSelectionList0.Scores* paper.SingleSelectionList.Count).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfSingleSelection subje

17、ct in paper.SingleSelectionList)/與參考答案匹配,并計(jì)算相應(yīng)分?jǐn)?shù) totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTester; lblSingleSelectionTotalScoresForTester.Text= totalScoresForTesterOfSubject.ToString(); rptSubjectOfMultiSelectionList.DataSource= paper.MultiSele

18、ctionList; rptSubjectOfMultiSelectionList.DataBind(); lblMultiSelectionCount.Text= paper.MultiSelectionList.Count.ToString(); if (paper.MultiSelectionList.Count 0)/多選題頁面框 lblMultiSelectionScores.Text= paper.MultiSelectionList0.Scores.ToString(); lblMultiSelectionTotalScores.Text= (paper.MultiSelecti

19、onList0.Scores* paper.MultiSelectionList.Count).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfMultiSelection subject in paper.MultiSelectionList)/與參考答案匹配,并計(jì)算相應(yīng)分?jǐn)?shù) totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTester; lblMultiS

20、electionTotalScoresForTester.Text= totalScoresForTesterOfSubject.ToString(); rptSubjectOfSimpleAnswerList.DataSource= paper.SimpleAnswerList; rptSubjectOfSimpleAnswerList.DataBind(); lblSimpleAnswerCount.Text= paper.SimpleAnswerList.Count.ToString(); if (paper.SimpleAnswerList.Count 0)/簡答題頁面框 int to

21、talScores = 0; foreach (SubjectOfSimpleAnswer subject in paper.SimpleAnswerList)/與參考答案匹配,并計(jì)算相應(yīng)分?jǐn)?shù) totalScores += subject.Scores; lblSimpleAnswerTotalScores.Text= totalScores.ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfSimpleAnswer subject in paper.SimpleAnswerList) totalScore

22、sForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTester; lblSimpleAnswerTotalScoresForTester.Text= totalScoresForTesterOfSubject.ToString(); lblTotalScores.Text= (Convert.ToInt32(lblFillBlankTotalScores.Text)/顯示各個(gè)不同測試題的頁面框 + Convert.ToInt32(lblJudgeTotalScores.

23、Text) + Convert.ToInt32(lblSingleSelectionTotalScores.Text) + Convert.ToInt32(lblMultiSelectionTotalScores.Text) +Convert.ToInt32(lblSimpleAnswerTotalScores.Text).ToString(); txtTotalScoresForTester.Text= totalScoresForTester.ToString(); protected void btnSave_Click(object sender, EventArgs e)/提交 Te

24、stMark mark = new TestMark(); mark.TestRecorder.RecorderID = recorderID; mark.TotalScore =Convert.ToUInt16(txtTotalScoresForTester.Text); mark.Marker = SessionClass.GetLoginUser(); mark.MarkedTime = DateTime.Now; mark.Remark = txtRemark.Text; new BLLTestMark().CreateTestMark(mark, list1, list2, list

25、3, list4, list5);/顯示每個(gè)部分的分?jǐn)?shù) Response.Redirect(testerList.aspx?testID=+testID);/跳轉(zhuǎn)到測試選項(xiàng)界面 管理員評卷:using System;using System.Collections;using System.Configuration;using System.Data;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.HtmlControls;using System.Web.UI.WebCon

26、trols;using System.Web.UI.WebControls.WebParts;using System.Collections.Generic;using Entity;using BLL;public partial class Admin_Marking_MarkPaper3 : System.Web.UI.Page/管理員的MarkPaper2頁面 protected void Page_Load(object sender, EventArgs e)/頁面加載 RoleCheck.DenyLogin();/拒絕非管理員用戶的登陸,拒絕后跳轉(zhuǎn)到登陸頁面 if (!IsPo

27、stBack) BindPaperInfo(); private int paperID/私有paperID get return Helper.GetUrlParmValue(paperID); /獲取paperID private int testID/私有testID get return Helper.GetUrlParmValue(testID); /獲取testID private int recorderID/私有recorderID get return Helper.GetUrlParmValue(recorderID); /獲取recorderID private void

28、 BindPaperInfo()/自動(dòng)評卷頁面 if (paperID 0)/判斷題頁面框 lblJudgeScores.Text= paper.JudgeList0.Scores.ToString(); lblJudgeTotalScores.Text = (paper.JudgeList0.Scores * paper.JudgeList.Count).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfJudge subject in paper.JudgeList)/與參考答案匹配,并計(jì)算相應(yīng)分?jǐn)?shù) t

29、otalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTester; lblJudgeTotalScoresForTester.Text= totalScoresForTesterOfSubject.ToString(); rptSubjectOfSingleSelectionList.DataSource= paper.SingleSelectionList; rptSubjectOfSingleSelectionList.DataBind(); lbl

30、SingleSelectionCount.Text= paper.SingleSelectionList.Count.ToString(); if (paper.SingleSelectionList.Count 0)/單選題頁面框 lblSingleSelectionScores.Text= paper.SingleSelectionList0.Scores.ToString(); lblSingleSelectionTotalScores.Text= (paper.SingleSelectionList0.Scores* paper.SingleSelectionList.Count).T

31、oString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfSingleSelection subject in paper.SingleSelectionList)/與參考答案匹配,并計(jì)算相應(yīng)分?jǐn)?shù) totalScoresForTester += subject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTester; lblSingleSelectionTotalScoresForTester.Text= totalScores

32、ForTesterOfSubject.ToString(); rptSubjectOfMultiSelectionList.DataSource= paper.MultiSelectionList; rptSubjectOfMultiSelectionList.DataBind(); lblMultiSelectionCount.Text= paper.MultiSelectionList.Count.ToString(); if (paper.MultiSelectionList.Count 0)/多選題頁面框 lblMultiSelectionScores.Text= paper.Mult

33、iSelectionList0.Scores.ToString(); lblMultiSelectionTotalScores.Text= (paper.MultiSelectionList0.Scores* paper.MultiSelectionList.Count).ToString(); int totalScoresForTesterOfSubject = 0; foreach (SubjectOfMultiSelection subject in paper.MultiSelectionList)/與參考答案匹配,并計(jì)算相應(yīng)分?jǐn)?shù) totalScoresForTester += su

34、bject.ScoresForTester; totalScoresForTesterOfSubject+= subject.ScoresForTester; lblMultiSelectionTotalScoresForTester.Text= totalScoresForTesterOfSubject.ToString(); lblTotalScores.Text= (Convert.ToInt32(lblJudgeTotalScores.Text)/顯示各個(gè)不同測試題的頁面框 + Convert.ToInt32(lblSingleSelectionTotalScores.Text) +

35、Convert.ToInt32(lblMultiSelectionTotalScores.Text).ToString(); txtTotalScoresForTester.Text= totalScoresForTester.ToString();/顯示總分 using System.Web.UI.HtmlControls;using BLL;using Entity;public partial class Admin_Test_MarkPaper : System.Web.UI.Page protected void Page_Load(object sender, EventArgs

36、e) RoleCheck.DenyLogin();/拒絕非管理員用戶的登陸,拒絕后跳轉(zhuǎn)到登陸頁面 if (!IsPostBack)/獲取一個(gè)值,該值指示該頁是否正為響應(yīng)客戶端回發(fā)而加載,或者它是否首次被加載或訪問 if(Request.QueryStringrecorderID!=null)/獲取HTTP查詢字符串變量集合 hfdRecorderID.Value=Request.QueryStringrecorderID.ToString();/獲取或設(shè)置隱藏字段的值,獲取請求頁面的對象,返回System.String的此實(shí)例,不執(zhí)行實(shí)際轉(zhuǎn)換 if (Request.QueryStringte

37、stID != null) hfdTestID.Value= Request.QueryStringtestID.ToString();/獲取或設(shè)置隱藏字段的值,獲取請求頁面的對象,返回System.String的此實(shí)例,不執(zhí)行實(shí)際轉(zhuǎn)換 protected void btnSubmit_Click(object sender, EventArgs e)/提交 TextBoxtxtTesterMark= (TextBox)FormView1.FindControl(txtTesterMark);/輸入答案的頁面框 TextBoxtxtRemark= (TextBox)FormView1.Find

38、Control(txtRemark);/參考答案的頁面框 TestMark testMark = new TestMark();/數(shù)據(jù)綁定,參看分?jǐn)?shù) testMark.TotalScore = Convert.ToUInt16(txtTesterMark.Text); testMark.Remark = txtRemark.Text; testMark.Marker = SessionClass.GetLoginUser(); testMark.MarkedTime = DateTime.Now; testMark.TestRecorder.RecorderID =Convert.ToInt3

39、2( hfdRecorderID.Value); new BLLTestMark().CreateTestMark(testMark);/輸入評語頁面框 Response.Redirect(TesterList.aspx?testID=+hfdTestID.Value);/跳轉(zhuǎn)到測試者列表頁面 using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using

40、System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using System.Collections.Generic;using Entity;using BLL;using Tool;public partial class Admin_Test_TesterList : System.Web.UI.Page/管理人員測試列表界面 評卷界面 protected void Page_Load(object sender, EventArgs e)/

41、頁面加載 RoleCheck.DenyLogin();/拒絕非管理員用戶的登陸,拒絕后跳轉(zhuǎn)到登陸頁面 if (!IsPostBack) int pageNum = 1;/頁面數(shù) if (Request.QueryStringpageNum != null) pageNum= Convert.ToInt32(Request.QueryStringpageNum); BindTestList(Helper.GetUrlParmValue(testID), pageNum); private const int PAGE_SIZE = 20;/頁面大小 private void BindTestLi

42、st(int testID, int pageNum) PageListlist=new BLLTestRecorder().GetTestRecorderListByTestID(testID, pageNum, PAGE_SIZE);/顯示該頁面的相關(guān)內(nèi)容 Repeater1.DataSource = list.RecorderList; Repeater1.DataBind(); lblPageUrl.Text= StringHelper.MakePageUrl(?testID=+testID+&pageNum=, pageNum, list.PageCount, list.Record

43、erCount); using System;using System.Data;using System.Configuration;using System.Collections;using System.Collections.Generic;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;using

44、 Entity;using BLL;using Tool;public partial class Admin_Test_TestRecorderList : System.Web.UI.Page/管理人員測試評價(jià)分?jǐn)?shù)列表界面 評卷管理界面 protected void Page_Load(object sender, EventArgs e)/頁面加載 RoleCheck.DenyLogin();/拒絕非管理員用戶的登陸,拒絕后跳轉(zhuǎn)到登陸頁面 if (!IsPostBack) int pageNum = 1;/頁面數(shù) if (Request.QueryStringpageNum != nul

45、l) pageNum= Convert.ToInt32(Request.QueryStringpageNum); BindTestList(pageNum); private const int PAGE_SIZE = 20;/頁面大小 private void BindTestList(int pageNum) PageList list = new BLLTest().GetTestList(pageNum, PAGE_SIZE);/顯示該頁面的相關(guān)內(nèi)容 rplTestList.DataSource = list.RecorderList; rplTestList.DataBind(); lblPageUrl.Text = StringHelper.MakePageUrl(?pageNum=, pageNum, list.P

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論