freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

在線考試系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)(參考版)

2024-09-04 18:56本頁(yè)面
  

【正文】 白盒測(cè)試也叫軟件內(nèi)部結(jié)構(gòu)測(cè)試,這種測(cè)試方法可以在程序開(kāi)發(fā)過(guò)程中邊開(kāi)發(fā)邊測(cè)試,測(cè)試當(dāng)前功能模塊是否能正常運(yùn)行,系統(tǒng)被看做一個(gè)打開(kāi)的盒子,就像電腦機(jī)箱一樣,拆開(kāi)對(duì)里面的硬件逐個(gè)測(cè)試,檢查系統(tǒng)內(nèi)部是不是按照預(yù)期設(shè)計(jì)要求進(jìn)行的。 軟件測(cè)試的目的在是軟件投入使用之前,盡量發(fā)現(xiàn)系統(tǒng)的漏洞和缺點(diǎn),防止在投入使用后對(duì)企業(yè)和用戶產(chǎn)生損失,例如:用戶信息被竊取、系統(tǒng)被黑客攻擊、系統(tǒng)中出現(xiàn)的非常規(guī)異常;這些信息都是必須解決的,一旦在投入使用后,漏洞和缺點(diǎn)被別人利用,那么對(duì)企業(yè)雙方和用戶會(huì)產(chǎn)生一系列不良影響。 ,數(shù)據(jù)的格式并不是 utf8 編碼方式,而 jsp 頁(yè)面中的編碼方式是 utf8 方式,因此流中不加編碼方式在 jsp 頁(yè)面中生成試卷時(shí)會(huì)亂碼,在流中加入流文件的編碼方式為 utf8 后與 jsp 頁(yè)面編碼方式保持一致就可以保證試卷正常顯示,在 web開(kāi)發(fā)中編碼方式是一個(gè)非常需要注意的細(xì)節(jié),一定要保證程序中每個(gè)環(huán)節(jié)中數(shù)據(jù)的編碼方式是一致的。 class=d1 s:form action= method=get namespace=/exam s:iterator value=paper//試卷對(duì)象 s:property value=title/br///先獲取題目 s:iterator value=options var=opt//遍歷選項(xiàng) s:property value=opt/br///4 個(gè)選項(xiàng) /s:iterator A.input type=checkbox value=0 name=answer/ B.input type=checkbox value=1 name=answer/ C.input type=checkbox value=2 name=answer/ D.input type=checkbox value=3 name=answer/br/ /s:iterator input style=marginleft: 48% type=submit value=交卷 / /s:form /div /body 生成試卷的注意點(diǎn) 中代碼注釋行中寫到:此方法在 web 中無(wú)法使用。 }return paper。 (e)。+3) + . + ()。 opt [3] = (char)(39。A39。+1) + . + ()。 opt[1] = (char)(39。A39。 String [] opt = new String [4]。 String title = i+.+()。 parseTitleInfo(titleInfo)。 String titleInfo = null。 // BufferedReader br = new BufferedReader( // new InputStreamReader(new FileInputStream(src/+filename)))。//測(cè)試用 InputStream file = ().getContextClassLoader().getResourceAsStream(filename)。 public ListExam loadPaper() throws IOException{ Config c = new Config()。 //此方法獲取 value 值 (試卷文件名 ) return filename。 } catch (IOException e) { throw new IOException(IO 異常 )。//將 src 目錄下的 properties 文件導(dǎo)入 try { (is)。 獲取試卷文件名的代碼如下: public String findFileName(String key) throws IOException{ Properties p = new Properties()。 在網(wǎng)上看到的方案大多是將試卷保存到數(shù)據(jù)庫(kù)中,由于沒(méi)有想到在數(shù)據(jù)庫(kù)中保存試卷時(shí)的完美方案,而且該方案中生成試卷的效率很好,因此就用此方案代替了用數(shù)據(jù)庫(kù)生成試卷的方法。 試題的生成 試題的生成是該項(xiàng)目中的難點(diǎn),試卷的信息量大,而且一個(gè)學(xué)校的試卷很多,那么根據(jù)科目來(lái)選擇試卷,一般會(huì)考慮放入數(shù)據(jù)庫(kù)中,但是試卷有題目和選項(xiàng),因此如果放 30 入數(shù)據(jù)庫(kù),那么專業(yè)與科目之間一對(duì)多,科目與題目之間一對(duì)多,題目與選項(xiàng)一對(duì)多,這樣會(huì)使得數(shù)據(jù)庫(kù)表十分復(fù)雜,因此生成一個(gè)試卷要經(jīng)過(guò)多次一對(duì)多查詢,這樣會(huì)使得生成試卷的效率很低。 } return i。,1000)。 setTimeout(39。nowDateTimeSpan39。 var day。 mm=checkTime(mm)。//通過(guò)日期對(duì)象的 getSeconds 方法返回秒 // 如果分鐘或小時(shí)的值小于 10,則在其值前加 0,比如如果時(shí)間是下午 3 點(diǎn) 20 29 分 9 秒的話,則顯示 15: 20: 09 MM=checkTime(MM)。//通過(guò)日期對(duì)象的 getHours 方法返回小時(shí) var mm=()。//通過(guò)日期對(duì)象的 getMonth()方法返回年 var dd = ()。//定義日期對(duì)象 var yyyy = ()。 考試功能 如果時(shí)間判分成功,則進(jìn)入考試,系統(tǒng)會(huì)根據(jù)考生登錄時(shí)的院系和專業(yè)和科目來(lái)選擇試題,通過(guò)流的方式將文本文件導(dǎo)入到頁(yè)面中,考生考試完畢后系統(tǒng)接受答案,然后與正確答案進(jìn)行比較,進(jìn)行判分,再保存到數(shù)據(jù)庫(kù)。 主界面中提供 查看成績(jī)和查看考試科目 2個(gè)功能,在數(shù)據(jù)庫(kù)中科目表中設(shè)置科目狀態(tài)字段,將已經(jīng)考試過(guò)的科目和沒(méi)有考試的科目分開(kāi)。 主界面 主界面包含該學(xué)生的主要信息,也是對(duì)信息的核對(duì),考生的信息存儲(chǔ)在數(shù)據(jù)庫(kù)中,為了防止信息錄入出錯(cuò),在此界面為學(xué)生提供詳細(xì)列表,如果考生信息有誤,那么聯(lián)系管理員,以免對(duì)考生成績(jī)產(chǎn)生影響。 傳統(tǒng)的基于 Hibernate框架開(kāi)發(fā)中, SessionFactory對(duì) 象必須由開(kāi)發(fā)者自己手動(dòng)創(chuàng)建。這包括 的數(shù)據(jù)庫(kù)連接和 SessionFactory組件類對(duì)象和 Session對(duì)象的創(chuàng)建,因?yàn)?Spring框架提供了有效、簡(jiǎn)單和安全的 Hibernate框架中的 Session對(duì)象的處理方法。 } return false。 ListInteger ids = () .find(hql,params)。 登錄檢驗(yàn)是檢查用戶名、密碼和專業(yè),院系不必參與檢查,代碼如下: Public boolean login(LoginInfo loginInfo){ String hql = “select id from Student where student_id = ? and password = ? And classid = ?”。 return classes。 Object [] params = {id}。 })。//效果如下圖 }else{ =true。 //不加上行代碼會(huì)造成提示語(yǔ)無(wú)法消失 var pwd = $.trim($(this).val())。 })。//效果如下圖 }else{ =true。 //不加上行代碼會(huì)造成提示語(yǔ)無(wú)法消失 var name = $.trim($(this).val())。 通過(guò) AJAX,因特網(wǎng)應(yīng)用程序可以變得更完善,更友好。 Web 應(yīng)用程序較桌面應(yīng)用程序有諸多優(yōu)勢(shì);它們能夠涉及廣大的用戶,它們更易安裝及維護(hù),也更易開(kāi)發(fā)。 AJAX 基于下列 Web 標(biāo)準(zhǔn): JavaScriptXMLHTMLCSS 在 AJAX 中使用的 Web 標(biāo)準(zhǔn)已被良好定義,并被所有的主流瀏覽器支持。 AJAX 可使因特網(wǎng)應(yīng)用程序更小、更快,更友好。通過(guò)這個(gè)對(duì)象,您的 JavaScript 可在不重載頁(yè)面的情況與 Web 服務(wù)器交換數(shù)據(jù)。 AJAX 不是一種新的 編程 語(yǔ)言,而是一種用于創(chuàng)建更好更快以及交互 性更強(qiáng)的 Web 應(yīng)用程序的技術(shù)。 圖 為項(xiàng)目流程圖: 23 圖 24 登錄模塊 登錄頁(yè)面驗(yàn)證考生信息,考生信息驗(yàn)證是在服務(wù)器端驗(yàn)證,為了提高頁(yè)面的用戶友好度和系統(tǒng)效率,所以用到了 ajax 技術(shù)增強(qiáng)了用戶友好度,在登錄頁(yè)面直接將考生所需要驗(yàn)證的信息全部確認(rèn),在后面的頁(yè)面的無(wú)須再驗(yàn)證,將信息驗(yàn)證功能統(tǒng)一到一個(gè)頁(yè)面處理。 22 第五章 系統(tǒng)詳細(xì)設(shè)計(jì) 系統(tǒng)設(shè)計(jì)概要 該項(xiàng)目在登錄時(shí)分兩個(gè)方向,一個(gè)是教師登錄,另外一個(gè)是學(xué)生登錄,先從學(xué)生登錄分析,學(xué)生登錄時(shí),以往都是通過(guò)學(xué)號(hào)直接登錄,在此項(xiàng)目中加入了院系和專業(yè)選擇,院系只是為了綁定專業(yè),而專業(yè)綁定試卷,因此在選擇院系時(shí)通過(guò)數(shù)據(jù)庫(kù)將該院系的專業(yè)查出,選擇專業(yè)后,通過(guò)學(xué)號(hào)、密碼、 專業(yè)來(lái)判斷用戶,院系就不用參與判斷了,這樣一來(lái)實(shí)際上試卷已經(jīng)定了,在后面的系統(tǒng)中就可以直接抽取試卷,由于大學(xué)中分為 8個(gè)學(xué)期,考慮到大四下學(xué)期有些同學(xué)會(huì)有重修或清考,因此在菜單中有一個(gè)類似于分頁(yè)的下拉列表,選擇學(xué)期來(lái)查看該學(xué)期的課程,課程上顯示該課程的學(xué)分、類別,老師閱卷后顯示分?jǐn)?shù),根據(jù)時(shí)間來(lái)判斷是否可以進(jìn)行考試,如果不能進(jìn)行考試會(huì)提示學(xué)生時(shí)間未到或者考試已經(jīng)結(jié)束,進(jìn)入考試時(shí)不是像其他的考試系統(tǒng)那樣將試卷保存到數(shù)據(jù)庫(kù)中,因此一個(gè)學(xué)校的班級(jí)過(guò)多,因此試卷的信息量過(guò)大,而且學(xué)生在考試時(shí),會(huì)有大量的考生同時(shí)對(duì)數(shù)據(jù)庫(kù) 操作來(lái)抽取試卷,這樣對(duì)數(shù)據(jù)庫(kù)的消耗非常大,會(huì)出現(xiàn)很多學(xué)生進(jìn)入考試時(shí)等待時(shí)間過(guò)長(zhǎng)或者無(wú)法進(jìn)入考試,將試卷用文本的形式保存,在程序中通過(guò)該考生的專業(yè)來(lái)選擇合適的試卷,將試卷用編程中對(duì)象的形式保存為指定格式,這樣在頁(yè)面中形成試卷時(shí)也比較方便,免去了數(shù)據(jù)庫(kù)的各種連接查詢,連接查詢是一項(xiàng)很耗時(shí)的工作,在設(shè)計(jì)程序時(shí)能不用連接查詢盡量不用,學(xué)生考試完畢點(diǎn)擊提交后將答案保存到數(shù)據(jù)庫(kù)中,答案與課程還有學(xué)生學(xué)號(hào)相關(guān)聯(lián)。 由于利用到 Hibernate 框架技術(shù),在 Hibernate 框架技術(shù)中已經(jīng)有 了很多表關(guān)系的技術(shù)支持,那么一個(gè)良好的程序員必須要合理的利用這些現(xiàn)有的技術(shù),掌握不好會(huì)“畫蛇 21 添足”, HIbernate 框架主要是為了將數(shù)據(jù)庫(kù)操作這一塊簡(jiǎn)化,而且能提高性能,不過(guò)使用不好也會(huì)產(chǎn)生額外的系統(tǒng)消耗,降低數(shù)據(jù)庫(kù)的性能,嚴(yán)重的話會(huì)造成系統(tǒng)的崩潰,例如在編寫程序時(shí)一定要慎用連接查詢這個(gè)技術(shù),連接查詢雖然能夠?qū)蓚€(gè)表之間的信息連接到一起,在建立數(shù)據(jù)結(jié)構(gòu)時(shí)我們遵循的功能單一化、信息單一化,因此連接查詢不可避免,所以把握住數(shù)據(jù)庫(kù)關(guān)系是非常重要的。 圖 為學(xué)生的 ER 圖: 圖 學(xué)生 學(xué)生 id 學(xué)號(hào) 姓名 密碼 院系 專業(yè) 17 圖 為老師的 ER 圖: 圖 圖 為院系 ER 圖: 圖 圖 為專業(yè) ER 圖: 圖 圖 為考試科目 ER 圖: 圖 老師 姓名 密碼 教師編號(hào) 老師 id 院系 名稱 院系 id 專業(yè) 專業(yè) id 專業(yè)名稱 院系 id 科目 科目 id 科目名稱 學(xué)分 考試日期 開(kāi)始時(shí)間 結(jié)束時(shí)間 專業(yè) id 狀態(tài) 18 圖 為分?jǐn)?shù)管理 ER 圖: 圖 數(shù)據(jù) 庫(kù)邏輯設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì)概要中描述的關(guān)系模型是比較抽象的一種關(guān)系,設(shè)計(jì)出這種抽象模式后可以很方便的設(shè)計(jì)出數(shù)據(jù)庫(kù)中的邏輯關(guān)系模型,在邏輯關(guān)系模型中主要是建立每個(gè)表之間的關(guān)系: 邏輯設(shè)計(jì)圖如圖 所示: 圖 數(shù)據(jù)庫(kù)表設(shè)計(jì)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1