999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于ASP.NET的安全考試系統(tǒng)的設(shè)計與實現(xiàn)

2008-12-31 00:00:00齊明俠劉洪翠
電腦知識與技術(shù) 2008年36期

摘要:安全知識的學(xué)習(xí)和掌握是對安全管理人員最基本的工作要求。為了克服傳統(tǒng)的考試工作的不足,以ASP.NET和SQL Server2000為主要開發(fā)工具,介紹了一個基于B/S模式的在線考試系統(tǒng)的設(shè)計與實現(xiàn)方法。該系統(tǒng)實現(xiàn)了數(shù)據(jù)庫訪問、用戶判斷、自動閱卷和自動生成試卷的功能,并給出了設(shè)計過程和實現(xiàn)代碼。

關(guān)鍵詞:安全知識;在線考試;B/S;ASP.NET

中圖分類號:TP311 文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2008)36-2689-03

Design and Implementation of Safety Examination System based on the ASP.NET Mode

ZHAO Na, QI Ming-xia, LIU Hong-cui

(The College of Mechanical Engineering of China University of Petroleum(East China), Dongying 257061, China)

Abstract: The study and mastery of Safety knowledge is the basic job requirements. To overcome the shortcomings of traditional examinations,taking ASP.NET and SQL Server2000 as the main development kits,the design and implementation of an on-line examination system based on B/S mode are introduced. Access to database,judge user,auto-score test paper and ways to auto-form test paper by means of an on-line examination system are introduced. Planning procedures and program codes here are also explained.

Key words: safety knowledge; online examination; B/S; ASP.NET

1 引言

隨著人類社會對“安全問題”的關(guān)注,安全問題日益重要,它已經(jīng)滲透各個領(lǐng)域。為了提高安全管理人員的安全管理水平,幫助安全管理人員實現(xiàn)學(xué)習(xí)與實踐的協(xié)調(diào)統(tǒng)一。目前,各地出現(xiàn)了一批在線測評系統(tǒng)和實現(xiàn)類似功能的系統(tǒng),如上海交通大學(xué)遠(yuǎn)程教育中心開發(fā)的遠(yuǎn)程考試系統(tǒng)、計算機(jī)的等級考試和MICROSOFT,CISCO等計算機(jī)公司的資格認(rèn)證考試等。因此,提出安全知識考試系統(tǒng)的設(shè)計與開發(fā)。通過設(shè)計和建設(shè)網(wǎng)絡(luò)拓?fù)浼軜?gòu)、安全信息系統(tǒng)、數(shù)據(jù)庫基礎(chǔ)結(jié)構(gòu)、信息共享與管理、信息的發(fā)布與管理,從而方便安全間信息發(fā)布、信息交流和信息共享[1]。

2 關(guān)鍵技術(shù)及實現(xiàn)

2.1 系統(tǒng)的安全可靠性[2-3]

SQL 2000對用戶的訪問訪問進(jìn)行兩個階段的驗證:

1) 認(rèn)證階段(Authentication):SQL Server對用戶登錄進(jìn)行驗證,用戶就可以連接到SQL Server服務(wù)器,否則服務(wù)器拒絕用戶登錄,從而保證系統(tǒng)安全。

2) 許可確認(rèn)階段(Permission Validation):用戶認(rèn)證通過后,系統(tǒng)檢查用戶是否具有訪問服務(wù)器上的數(shù)據(jù)庫和執(zhí)行用戶動作的權(quán)限。

2.2 系統(tǒng)的可擴(kuò)展性

“在線考試系統(tǒng)”建立在公共語言運行環(huán)境(Command Language Runtime)上,采用面向?qū)ο蠹夹g(shù),充分利用網(wǎng)絡(luò)服務(wù)(Web Service)和組件(Component)的特性,設(shè)計時代碼和數(shù)據(jù)表現(xiàn)分離,結(jié)構(gòu)清晰,方便系統(tǒng)維護(hù)和擴(kuò)展。

2.3 系統(tǒng)的高性能

ASP.NET與舊版本的ASP相比,在基礎(chǔ)結(jié)構(gòu)上有了根本性的變化,ASP.NET在執(zhí)行腳本時要經(jīng)過兩個編譯:從腳本語言到MSIL(Microsoft Intermediate Language,微軟中間語言)和從MSIL到可執(zhí)行的機(jī)器碼,擺脫了解釋型語言的陰影,當(dāng)同一頁面被訪問多次時,ASP.NET的執(zhí)行速度快于舊版本的ASP。[2]

3 系統(tǒng)總體設(shè)計流程

系統(tǒng)總體設(shè)計流程如圖1所示,考試系統(tǒng)分四個階段,即準(zhǔn)備階段、登錄階段、考試中階段和考后階段。

4 考試系統(tǒng)功能實現(xiàn)

4.1 連接數(shù)據(jù)庫

當(dāng)我們要連接到SQL Server數(shù)據(jù)庫的時候,我們需要在ASP.NET頁的頂部包含<%@Import Namespace=\"System. Data\".SQLClient%>這條指令,這樣我們便可以連接到SQL Server數(shù)據(jù)庫并操作數(shù)據(jù)庫中的數(shù)據(jù)。

現(xiàn)在就可以訪問該命名空間的類了。比如說SQLConnection類,該類允許連接到SQL Server數(shù)據(jù)庫。下面是聲明類的一個實例:

Dim myConnection As SqlConnection

myConnection=New SqlConnection(\"user id=sa;password=123; \" _\"server=201DMT20;database=\"TestOnline\")

4.2 登錄頁面

這個頁面比較簡單只有三個表單元素,其中兩個文本框用來輸入用戶名和密碼,按鈕則用來相應(yīng)表單的事件。

登錄頁面使用了一個用戶記錄表。在登錄頁面里需要引用這個表的用戶名,密碼字段進(jìn)行用戶身份鑒別。如果用戶身份通過驗證的話,系統(tǒng)登錄頁面還要記錄用戶的詳細(xì)信息,留待以后的系統(tǒng)頁面使用。

當(dāng)能夠在數(shù)據(jù)庫中檢索到用戶,則設(shè)置3個session變量的值,一個是pass,一個是user,一個是password,其中user是比較重要,在以后的頁面會經(jīng)常用到。程序部分代碼如下:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e _

As ystem.EventArgs) Handles Button1.Click

……

sSql = \"select * from 用戶記錄 where 用戶名='\" userid.Text \"' _

and 密碼='\" password.Text \"'\"

'操作SQL Server中的數(shù)據(jù)

mycommand = New SqlCommand(sSql, myConnection)

command.ExecuteNonQuery()'執(zhí)行查詢語句

'從SQL Server數(shù)據(jù)庫中檢索數(shù)據(jù)

Dim myReader As SqlDataReader = myCommand.ExecuteReader

If myReader.Read() Then

Session(\"user\") = userid.Text

Session(\"pass\") = \"1\"

Session(\"password\") = password.Text

Response.Redirect(\"s_index.aspx\")

End If

End Sub

在這里特別強(qiáng)調(diào)一點,如果系統(tǒng)管理員要想登錄到該考試系統(tǒng)中,必須以普通用戶的身份先登錄,雖然這個功能好像比較麻煩,但對于系統(tǒng)的安全還是有一定的好處。

圖1 系統(tǒng)總體設(shè)計流程

4.3 試卷類型選擇頁面

在這一部分,系統(tǒng)選擇試題類型頁面使用了一個試卷名稱表。在系統(tǒng)試題選擇頁面里需要引用這個表的試卷名稱,試題分?jǐn)?shù),答題時間等字段。在表格中將它們顯示出來。程序的部分代碼如下所示:

Private Sub Page_Load(ByVal sender As System.Object,ByVal e As System.EventArgs) Handles MyBase.Load

……

while(dr.read())

papername=dr(\"試卷名稱\")

chji=dr(\"總分\")

danwei=dr(\"時間\")

End while

End Sub

4.4 考試頁面

在這一部分,我們主要的工作是使用隨機(jī)變量來生成考試試題,但是使用隨機(jī)變量必須知道它的取值區(qū)間,所以這里我們首先完成從試題表里面把各種試題的題目數(shù)量讀取出來,分門別類的進(jìn)行統(tǒng)計。

然后要實現(xiàn)的就是考試試卷的題目了。這里特別強(qiáng)調(diào)是隨機(jī)算法的設(shè)計,我們以單選題為例,隨機(jī)生成五個數(shù),存入數(shù)組中,然后將題庫中的編號與五個隨機(jī)數(shù)相同的讀出來,并顯示給用戶。程序的部分代碼如下所示:

Dim imax = dxtl '題庫中題目數(shù)目

Dim iget=5 '生成題目總數(shù)

Dim n'循環(huán)變量

Dim iRnd'臨時保存生成的隨機(jī)數(shù)

Dim sl(4)'用來存放隨機(jī)數(shù)的數(shù)組

Dim bFlag'轉(zhuǎn)移控制標(biāo)志

Dim bflag1 '轉(zhuǎn)移控制標(biāo)志,用來判斷是否重復(fù)

bflag1 = True

bFlag = True

n = 0

Do While n < iget

Randomize()

iRnd = Int(imax * Rnd(imax) + 0) + 1

If bFlag = True Then

sl(0) = iRnd

bFlag = False

n = n + 1

Else

bflag1 = True

i = 0

'i變量用于將生成的隨機(jī)數(shù)與前面所生成的隨機(jī)數(shù)進(jìn)行比較,不相同則存入數(shù)組

Do While i < n

If iRnd = sl(i) Then

bflag1 = False

Exit Do

End If

i = i + 1

Loop

If bflag1 = True Then

sl(n) = iRnd

n = n + 1'有一個符合要求的隨機(jī)數(shù)則加1

End If

End If

Loop

4.5 判分頁面

系統(tǒng)判分頁面使用了暫時試卷表。在系統(tǒng)登錄頁面里需要引用這個表的試題類型、試題題目、試題分?jǐn)?shù)、用戶答案、以及試題答案等字段。先是讀取試題類型以及用戶答案,然后將用戶答案跟試題答案進(jìn)行對比,從而判定用戶答案是否正確。

定義一個變量daaa,如果daaa等于“正確”則daaa=1,如果等于“錯誤”daaa=0,如果為空,daaa=\" \"。然后判斷,daaa是否等于試題庫中的答案,如果等于,定一個df變量,使它等于試題庫中的分?jǐn)?shù),再設(shè)一個總分變量score,使score=score+df,然后,利用sql語句,更新數(shù)據(jù)庫。這樣,判斷就完成了。

5 開發(fā)的難點

5.1 隨機(jī)選題的算法

這一部分主要是隨機(jī)數(shù)的設(shè)置與避免相同題目的抽取,我們可以使用Rnd函數(shù)實現(xiàn)隨機(jī)數(shù)的抽取。然后設(shè)定某項題型需要考試的題數(shù),然后通過獲取試題表中所有試題的總數(shù),接下來就以這個總數(shù)來生成隨機(jī)試題的數(shù)組。

5.2 自動判分功能的實現(xiàn)

首先建一個試題暫存表,然后在生成一個“用戶+表名”的正式表,用來存儲用戶答題的所有信息,然后讀取這些記錄,進(jìn)行判分。

5.3 程序的移植

為了方便程序的移植,我們把與數(shù)據(jù)庫的連接寫在webconfig文件里面更方便,并且易于修改。由于webconfig是底層的東西,可以保證程序的安全性,可以通過如下代碼實現(xiàn):

<appSettings>

<add key=\"myConnection\"

value=\"uid=sa;password=123;database=TestOnline;server=201DMT20;\" />

</appSettings>

6 結(jié)束語

由于采用了B/S結(jié)構(gòu),系統(tǒng)具有良好的可維護(hù)性和可擴(kuò)充性,如果考試科目內(nèi)容有所調(diào)整,只要對題庫作調(diào)整即可。而ASP.NET技術(shù)的運用使得在線考試系統(tǒng)靈活易用,具有良好的安全性和可擴(kuò)展性。該系統(tǒng)可以提高安全管理人員對安全生產(chǎn)、管理知識、生產(chǎn)法及法律知識技術(shù)等方面的基本知識的掌握,以及對安全生產(chǎn)的事故預(yù)防方法及技術(shù)措施基本知識的掌握。

參考文獻(xiàn):

[1] 周敏文,譚海文. 淺析我國安全生產(chǎn)信息化建設(shè)的現(xiàn)狀與對策[J].露天采礦技術(shù),2005(6):36-39,43.

[2] Buczek G. ASP.NET開發(fā)人員指南[M].北京:清華大學(xué)出版社,2002.

[3] 朱如龍. SQL Server數(shù)據(jù)庫應(yīng)用系統(tǒng)開發(fā)技術(shù)[M].北京:機(jī)械工業(yè)出版社,2004.

主站蜘蛛池模板: 国产天天色| 日本一区中文字幕最新在线| 色哟哟国产精品一区二区| 国产xxxxx免费视频| 国产亚洲精品精品精品| 国产乱论视频| 亚洲性一区| 国产精品视频导航| 国产精品第| 麻豆精品在线播放| 毛片久久网站小视频| 久久国产精品夜色| 四虎影院国产| 制服丝袜亚洲| 亚洲视频影院| 精品国产成人三级在线观看| 国产美女免费网站| 国产成人91精品| 久久精品人人做人人| 91成人在线免费观看| 亚洲成人精品久久| 国产精品美人久久久久久AV| 精品国产91爱| 97免费在线观看视频| 亚洲成人手机在线| 亚洲中文精品人人永久免费| 成人日韩视频| 精品亚洲国产成人AV| 在线观看免费黄色网址| 欧美日本在线观看| 少妇被粗大的猛烈进出免费视频| 午夜福利网址| 尤物成AV人片在线观看| 午夜无码一区二区三区| 四虎国产永久在线观看| 呦女亚洲一区精品| 国产精品无码影视久久久久久久| 亚洲 成人国产| 亚洲天堂视频在线播放| 99视频全部免费| 在线看片中文字幕| 久草国产在线观看| 国产成人精品第一区二区| 天堂va亚洲va欧美va国产| 国产成人91精品免费网址在线| 中文国产成人精品久久| 1024国产在线| 亚洲精品午夜天堂网页| 亚洲第一成年免费网站| 国产精品女人呻吟在线观看| 日韩东京热无码人妻| 欧洲极品无码一区二区三区| 亚洲日韩日本中文在线| AV不卡在线永久免费观看| 中文字幕2区| 亚洲视频免费在线看| 成·人免费午夜无码视频在线观看 | 91精品国产一区自在线拍| 精品视频一区二区观看| 日本成人一区| 日韩免费成人| 国产亚洲视频在线观看| 色视频国产| 久久精品人人做人人爽电影蜜月 | 色综合激情网| 欧美国产综合色视频| 免费毛片全部不收费的| 青青国产成人免费精品视频| 国产成人高清精品免费软件 | 蜜芽国产尤物av尤物在线看| 伦精品一区二区三区视频| 国产农村妇女精品一二区| 波多野结衣二区| 色一情一乱一伦一区二区三区小说 | 亚洲日韩AV无码精品| 亚洲欧美日韩另类| 国产人人射| 久久精品中文无码资源站| 91黄色在线观看| 亚洲天堂网站在线| 日本国产精品一区久久久| 日韩麻豆小视频|