【正文】
P_str_codeNum 編。P_str_tbColumn 數(shù)據(jù)表字段 。 自動(dòng)編號(hào)算法如下: // P_str_sqlstr SQL語(yǔ)句 。模板編號(hào)是由程序生成的,每次從數(shù)據(jù)庫(kù)中 選取存在的最大編號(hào),取字符串的前 1 到 7 位并加 1,然后結(jié)合編號(hào)字符,得到當(dāng)前編號(hào)。并可以安照模板編號(hào)搜索模板信息。試題數(shù)量和每題分值可以通過(guò)下拉框選擇,可以用戶(hù)自己輸入。 圖 45 考生信息 界面 試題模板模塊 為了方便應(yīng)用,該模塊可以添加多個(gè)試題模板,每個(gè)模板有一個(gè)模板編號(hào)。 = arr1。 //添加學(xué)生成績(jī) range = ()[2, 6]。 range = (rowCount, 5)。 i++) { arr1[j, i 5] = ([j]. Cells[i]. ())。 } for (int i = 5。 k 5。 j rowCount。 //存放學(xué)生基本信息 Double[,] arr1 = new Double[rowCount, 4]。系統(tǒng)也提供1 25 Made by SQH ……………………………裝……………………………………訂…………………………………線(xiàn)…………………………… 了學(xué)生信息的 excel 模板。 系統(tǒng)中提供了將 datagridview 中的信息導(dǎo)出的 excel,和從 excel 導(dǎo)入到datagridview 的功能??梢酝ㄟ^(guò) 查詢(xún) 功能查詢(xún)學(xué)生信息,也可以按照院系、專(zhuān)業(yè)、班級(jí)查看學(xué)生信息。 圖 44 試題信息 界面 考生信息模塊 學(xué)生信息主要包括有學(xué)生所在學(xué)院、專(zhuān)業(yè)、班級(jí)、學(xué)號(hào)、姓名。 return ds。 (ds, table1)。 myCommand = new OleDbDataAdapter(strExcel, strConn)。 //創(chuàng)建一個(gè) DataSet 對(duì)象 DataSet ds = null。 string strExcel = 。 //打開(kāi)數(shù)據(jù)鏈接,得到一個(gè)數(shù)據(jù)集 OleDbConnection conn = new OleDbConnection(strConn)。 + Data Source= + Path + 。系統(tǒng)還可以將數(shù)據(jù)庫(kù)中的試題按照常用的試題格式,導(dǎo)出到 word 中,便于進(jìn)行非上機(jī)考試使用。在管理員錄入試題時(shí),要選擇試題難度(簡(jiǎn)單,一般,難)。在建立試題庫(kù)時(shí),應(yīng)考慮到試題 難度 、組卷 評(píng)估的正確與合理性 ,保證試題的難易程度符合考生的能力,然后 需要通過(guò)組卷模塊1 23 Made by SQH ……………………………裝……………………………………訂…………………………………線(xiàn)…………………………… 將試題分發(fā)給考生 , 所以題庫(kù)的題目數(shù)量必須保證在難度的劃分后 , 仍然能夠 滿(mǎn)足組卷的需求。命題技術(shù)是建立試題庫(kù)的關(guān)鍵 , 對(duì)于客觀題如選擇 題 、判斷 題 比較容易 , 但對(duì)于程序設(shè)計(jì)題型具有一定的難度。 圖 43 考生 登錄界面 試題信息模塊 對(duì)于在線(xiàn)考試系統(tǒng),試題庫(kù)的合理與否成為該系統(tǒng)成功與否的基礎(chǔ) 。 開(kāi) 始考 生 登 錄 界 面輸 入 考 號(hào) 、 姓 名是 否 正 確進(jìn) 入 考 試 界 面結(jié) 束是 否 開(kāi) 始用 戶(hù) 登 錄 界 面輸 入 用 戶(hù) 名 、 密碼 、 用 戶(hù) 類(lèi) 型是 否 正 確 進(jìn) 入 管 理 界 面結(jié) 束是 否 圖 41 用戶(hù)登錄 流程圖 服務(wù)器端 登錄 界面如圖 42 所示。本系統(tǒng)的登錄機(jī)制分兩部分: 服務(wù)器端 登錄模塊和 考生 登錄模塊 (即客戶(hù)端登錄模塊) 。 學(xué) 號(hào) : c h a r 姓 名 : c h a r 班 級(jí) 名 : c h a r 專(zhuān) 業(yè) : c h a r 院 系 : c h a r考 生 考 場(chǎng) 名 稱(chēng) : c h a r 地 址 : c h a r 容 量 : i n t考 場(chǎng) 院 系 : c h a r部 門(mén) 系 名 稱(chēng) : c h a r 專(zhuān) 業(yè) : c h a r專(zhuān) 業(yè) 班 級(jí) 名 : c h a r 專(zhuān) 業(yè) : c h a r班 級(jí) 學(xué) 號(hào) : c h a r 選 擇 題 成 績(jī) : d e c i m a l 判 斷 題 成 績(jī) : d e c i m a l 程 序 題 成 績(jī) : d e c i m a l 總 成 績(jī) : d e c i m a l成 績(jī) 表 學(xué) 號(hào) : c h a r 選 擇 題 : c h a r 判 斷 題 : c h a r 程 序 題 : c h a r答 案 試 卷 編 號(hào) : c h a r 選 擇 題 : c h a r 判 斷 題 : c h a r 程 序 題 : c h a r 模 板 編 號(hào) : c h a r試 題 學(xué) 號(hào) : c h a r 座 次 號(hào) : c h a r 登 錄 狀 態(tài) : c h a r 考 場(chǎng) 名 稱(chēng) : c h a r 剩 余 時(shí) 間 : c h a r座 次 試 卷 編 號(hào) : c h a r 學(xué) 號(hào) : c h a r試 卷 試 題 類(lèi) 型 : c h a r 試 題 數(shù) 目 : i n t 分 值 : d e c i m a l 模 板 編 號(hào) : c h a r試 題 模 板 擁 有* 屬 于* 屬 于* 擁 有* 擁 有* 屬 于* 屬 于* 擁 有* 擁 有* 屬 于* 擁 有* 屬 于* 擁 有* 屬 于* 擁 有* 屬 于* 擁 有* 屬 于*圖 34 考試系統(tǒng)類(lèi)圖 1 21 Made by SQH ……………………………裝……………………………………訂…………………………………線(xiàn)…………………………… 4 詳細(xì)設(shè)計(jì)與實(shí)現(xiàn) 功能模塊設(shè)計(jì)和實(shí)現(xiàn) 登錄模塊 在完成系統(tǒng)時(shí),可預(yù)先將用戶(hù)名,口令和用戶(hù)類(lèi)型存放在數(shù)據(jù)庫(kù)的用戶(hù)信息表中,用戶(hù)登錄時(shí)必須輸入用戶(hù)名, 口令 和用戶(hù)類(lèi)型(考生登錄則需輸入考號(hào) 和姓名),此時(shí)系統(tǒng)將 執(zhí)行一次數(shù)據(jù)庫(kù)的查詢(xún),驗(yàn)證用戶(hù)身份 是否正確 。如:數(shù)據(jù)的訪(fǎng)問(wèn)權(quán)限,數(shù)據(jù)的共享性,總體設(shè)計(jì) 20 安全性等。關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo),并考慮系統(tǒng)的性能 。 Int 否 √ 表 39 試卷表 列名 字段說(shuō)明 數(shù)據(jù)類(lèi)型 主鍵 允許空 ShijuanId 試卷編號(hào) varchar(50) 是 S_number 學(xué)號(hào) varchar(10) 否 表 310 考場(chǎng)信息表 列名 字段說(shuō)明 數(shù)據(jù)類(lèi)型 主鍵 允許空 Kname 考場(chǎng)名稱(chēng) varchar(5) 是 address 考場(chǎng)地址 varchar(100) 否 √ Capcity 考場(chǎng)容量 Int 是 √ 表 311 試題模板表 列名 字段說(shuō)明 數(shù)據(jù)類(lèi)型 主鍵 允許空 MobanId 模板編號(hào) varchar(50) 是 Types 試題類(lèi)型 varchar(10) 否 √ T_shu 試題數(shù)量 Int 否 √ Score 試題分值 decimal(4,1) 否 √ 表 312 試題信息表 列名 字段說(shuō)明 數(shù)據(jù)類(lèi)型 主鍵 允許空 ShijuanId 試卷編號(hào) varchar(50) 是 MobanId 模板編號(hào) varchar(100) 否 A 選擇題 id varchar(100) 否 √ B 判斷題 id varchar(100) 否 √ C 程序題 id varchar(100) 否 √ 表 313 考生信息表: 列名 字段說(shuō)明 數(shù)據(jù)類(lèi)型 主鍵 允許空 S_number 考生學(xué)號(hào) varchar(10) 是 S_name 考生姓名 varchar(10) 否 Department 考生所在院系 varchar(30) 否 Profession 考生所在專(zhuān)業(yè) varchar(30) 否 Class 考生所在班級(jí) varchar(20) 否 表 314 用戶(hù)信息表 1 19 Made by SQH ……………………………裝……………………………………訂…………………………………線(xiàn)…………………………… 列名 字段說(shuō)明 數(shù)據(jù)類(lèi)型 主鍵 允許空 Username 用戶(hù)名 varchar(20) 否 Password 用戶(hù)密碼 varchar(20) 否 Usertype 用戶(hù)類(lèi)型 varchar(6) 否 表 315 答案表 列名 字段說(shuō)明 數(shù)據(jù)類(lèi)型 主鍵 允許空 S_number 學(xué)號(hào) varchar(10) 是 A 選擇題答案 varchar(100) 否 √ B 判斷題答案 varchar(100) 否 √ C 程序題答案 varchar(100) 否 √ 表 316 程序題答案表 列名 字段名稱(chēng) 數(shù)據(jù)類(lèi)型 主鍵 允許空 Id 答案編號(hào) varchar(20) 是 S_number 學(xué)號(hào) varchar(10) 否 Answer 試題答案 varchar(1000) 否 √ Score 試題得分 Decimal(4,1) 否 √ Remarks 評(píng)語(yǔ) varchar(1000) 否 √ 表 317 座次表 列名 字段說(shuō)明 數(shù)據(jù)類(lèi)型 主鍵 允許空 ZuociId 座次號(hào) Int 是 S_name 考生姓 名 varchar(10) 否 Kname 考場(chǎng)名稱(chēng) varchar(50) 否 status 狀態(tài) varchar(10) 否 √ remaintime 剩余考試時(shí)間 varchar(4) 否 √ ( 3) 通過(guò)優(yōu)化方法將其轉(zhuǎn)化為優(yōu)化的數(shù)據(jù)模型 邏輯模型設(shè)計(jì)的結(jié)果并不是惟一的。 int 否 √ 表 37 判斷題表 列名 字段說(shuō)明 數(shù)據(jù)類(lèi)型 主鍵 允許空 Id 判斷題編號(hào) Varchr(50) 是 Types 試題類(lèi)型 Varchar(2) 否 √ Title 試題內(nèi)容 Varchar(500) 否 √ Answer 答案 Varchar(2) 否 √ 總體設(shè)計(jì) 18 Quotiety 試題難度系數(shù)。 如果將上面設(shè)計(jì)的數(shù)據(jù)庫(kù)關(guān)系數(shù)據(jù)模型轉(zhuǎn)換為 SQLserver 2021 下的關(guān)系數(shù)據(jù)模型,則關(guān)系數(shù)據(jù)模型的一個(gè)關(guān)系對(duì)應(yīng)了 SQLserver 2021 數(shù)據(jù)庫(kù)中的一個(gè)表,關(guān)系的屬性對(duì)應(yīng)了表的字段,關(guān)系框架對(duì)應(yīng)了表的結(jié)構(gòu),關(guān)系元組對(duì)應(yīng)了表記錄。 部門(mén):院系。 成績(jī)表: 學(xué)號(hào) 、選擇題成績(jī) 、判斷題成績(jī)、程序題成績(jī)、總分。 考場(chǎng): 考場(chǎng)名稱(chēng) 、地址、容量。 違紀(jì): 違紀(jì)編號(hào) 、座位號(hào)、學(xué)號(hào)、考場(chǎng)名稱(chēng)、備注。 用戶(hù): 用戶(hù)名 、口令、 用戶(hù)類(lèi)型 。 答案: 學(xué)號(hào) 、選擇題、判斷題、程序題。