版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 面向?qū)ο笳n程設(shè)計(jì)</b></p><p> 題 目 標(biāo)準(zhǔn)化考試系統(tǒng) </p><p> 學(xué) 院 數(shù)學(xué)與信息工程學(xué)院 </p><p> 專 業(yè) 計(jì)算機(jī)科學(xué)與技術(shù) </p><p><b
2、> 目 錄</b></p><p><b> 一、需求分析</b></p><p><b> 二、系統(tǒng)運(yùn)行環(huán)境</b></p><p><b> 三、功能需求描述</b></p><p><b> 四、總體設(shè)計(jì)</b><
3、/p><p><b> 五、程序模塊設(shè)計(jì)</b></p><p><b> 六、使用效果圖</b></p><p><b> 七、總結(jié)</b></p><p><b> 一、需求分析</b></p><p> 要設(shè)計(jì)一個(gè)性能良
4、好的管理系統(tǒng),明確用戶的應(yīng)用環(huán)境對(duì)系統(tǒng)的要求是首要的和基本的。本系統(tǒng)從以下三個(gè)方面對(duì)用戶需求進(jìn)行了分析:</p><p> 用戶的信息需求:考生能查詢有關(guān)考試成績(jī);系統(tǒng)管理員能查詢題庫(kù)信息;系主要領(lǐng)導(dǎo)都能查詢所有信息。</p><p> 用戶的處理要求:管理員能對(duì)題庫(kù)和考試科目執(zhí)行增加、刪除和修改操作;由管理員設(shè)置考試信息,經(jīng)過(guò)考試主管領(lǐng)導(dǎo)的審核后就可考試;在考試時(shí),由考生選擇試題;系
5、統(tǒng)控制考試時(shí)間、考試成績(jī)自動(dòng)生成等。</p><p> 對(duì)系統(tǒng)的適應(yīng)性、通用性要求:要求系統(tǒng)不僅能夠進(jìn)行計(jì)算機(jī)系考試,而且其他系或?qū)I(yè)稍作設(shè)置或改動(dòng)也能使用本系統(tǒng)進(jìn)行標(biāo)準(zhǔn)化網(wǎng)絡(luò)考試。</p><p><b> 二、系統(tǒng)運(yùn)行環(huán)境</b></p><p> Windows XP SP3以及 Eclipse 2007</p>&l
6、t;p><b> 三、功能需求描述</b></p><p> 本系統(tǒng)可以進(jìn)行任何標(biāo)準(zhǔn)化考試,具有選擇試題、查看得分、考試計(jì)時(shí)等功能。</p><p><b> 四、 總體設(shè)計(jì)</b></p><p> 本標(biāo)準(zhǔn)化考試系統(tǒng)共由3個(gè)java源文件和若干個(gè)試題組成,試題文件為文本文件,文件名字可任意指定,但擴(kuò)展名必
7、須是txt,文件內(nèi)容必須遵守如下的書寫規(guī)則:</p><p> 試題文件的第一行是全部試題的答案,答案之間不可以有空格。</p><p> 第二行是試題文件的考試時(shí)間,如1:23:45表示的考試時(shí)間是1小時(shí)23分45秒。</p><p> 每道題目之間用“**”開頭的字符串分割。</p><p><b> 最后一行是end&
8、lt;/b></p><p><b> Test.java</b></p><p> 該java文件生成的類負(fù)責(zé)創(chuàng)建標(biāo)準(zhǔn)化考試的主窗口。該類含有main方法,程序從該類開始執(zhí)行,程序從該類開始執(zhí)行。在主窗口,用戶可以通過(guò)下拉列表選擇一套試題,然后開始讀取試題進(jìn)行考試。</p><p> TestArea.java</p>
9、<p> 該文件生成的類負(fù)責(zé)創(chuàng)建考試區(qū)域?qū)ο蟆J荰est窗口中的主要成員變量,考試區(qū)域提供了試題選取、查看分?jǐn)?shù)、計(jì)時(shí)器、試題顯示等功能。</p><p> ReadTestquestion.java</p><p> ReadTestquestion對(duì)象是TestArea試題區(qū)中的重要對(duì)象,負(fù)責(zé)讀取該試題、計(jì)算分?jǐn)?shù)等。</p><p> 圖
10、類之間的依賴關(guān)系</p><p><b> 五、程序模塊設(shè)計(jì)</b></p><p><b> 一、主類Test</b></p><p><b> 1.成員變量</b></p><p><b> 2.方法</b></p><p&
11、gt;<b> 3. 代碼</b></p><p> import java.awt.*;</p><p> import java.awt.event.*;</p><p> import javax.swing.*;</p><p> public class Test extends JFrame<
12、/p><p><b> {</b></p><p> TestArea testPanel=null;</p><p> Container con=null;</p><p> public Test()</p><p><b> {</b></p>&
13、lt;p> super("標(biāo)準(zhǔn)化考試系統(tǒng)");</p><p> testPanel=new TestArea();</p><p> con=getContentPane();</p><p> con.add(testPanel,BorderLayout.CENTER); </p><p> addWi
14、ndowListener(new WindowAdapter()</p><p> { public void windowClosing(WindowEvent e)</p><p> { System.exit(0);</p><p><b> }</b></p><p><b> });</
15、b></p><p> setVisible(true);</p><p> setBounds(60,40,660,460);</p><p> con.validate();</p><p> validate();</p><p><b> }</b></p>
16、<p> public static void main(String args[])</p><p><b> {</b></p><p> new Test();</p><p><b> }</b></p><p><b> }</b></p&g
17、t;<p> 一、讀取試題ReadTestquestion</p><p><b> 成員變量</b></p><p><b> 2.方法</b></p><p><b> 3. 代碼</b></p><p> import java.io.*;<
18、/p><p> import java.util.*;</p><p> public class ReadTestquestion</p><p> { String filename="", //存放考題文件名字的字符串</p><p> correctAnswer="",
19、 //存放正確答案的字符串</p><p> testContent="" , //試題內(nèi)容</p><p> selection="" ; //存放用戶提交的答案</p><p> int score=0; // 用戶的得分&l
20、t;/p><p> long time=0; //該試題的考試用時(shí)</p><p> boolean 完成考試=false; //判斷是否已完成全部試題</p><p> File f=null;</p><p> FileReader in=null;</p><p> Buf
21、feredReader 讀取=null;</p><p> public void setFilename(String name)</p><p> { filename=name; </p><p><b> score=0;</b></p><p> selection="";<
22、;/p><p><b> try { </b></p><p> if(in!=null&&讀取!=null)</p><p><b> {</b></p><p> in.close(); //關(guān)閉與前一文件的連接</p><p>
23、; 讀取.close();</p><p><b> }</b></p><p> f=new File(filename);</p><p> in=new FileReader(f);</p><p> 讀取=new BufferedReader(in); //讀取試題文件的第1行,即標(biāo)準(zhǔn)答案
24、 </p><p> correctAnswer=(讀取.readLine()).trim(); //去掉前后空格</p><p> String temp=(讀取.readLine()).trim() ; //讀取試題文件的第2行,即考試用時(shí)</p><p> StringTokenizer token=new StringTokenizer(te
25、mp,":");</p><p> int hour=Integer.parseInt(token.nextToken()) ; //獲取用時(shí)的“時(shí)”值</p><p> int minute=Integer.parseInt(token.nextToken()); //獲取用時(shí)的“分”值</p><p> int seco
26、nd=Integer.parseInt(token.nextToken()); //獲取用時(shí)的“秒”值</p><p> time=1000*(second+minute*60+hour*60*60); //將用時(shí)轉(zhuǎn)換成毫秒單位</p><p><b> }</b></p><p> catch(Excepti
27、on e)</p><p><b> {</b></p><p> testContent="沒有選擇試題";</p><p><b> } </b></p><p><b> }</b></p><p> public
28、String getFilename()</p><p><b> { </b></p><p> return filename;</p><p><b> }</b></p><p> public long getTime()</p><p><b>
29、 {</b></p><p> return time;</p><p><b> }</b></p><p> public void set完成考試(boolean b)</p><p><b> {</b></p><p><b> 完
30、成考試=b;</b></p><p><b> }</b></p><p> public boolean get完成考試()</p><p><b> {</b></p><p> return 完成考試;</p><p><b> } &l
31、t;/b></p><p> public String getTestContent() //獲取試題的內(nèi)容</p><p><b> { try { </b></p><p> String s=null;</p><p> StringBuffer temp=new StringBuffer(
32、);</p><p> if(讀取!=null) //如果用戶選擇了試題文件,讀取就不是空對(duì)象 </p><p><b> {</b></p><p> while((s=讀取.readLine())!=null) //繼續(xù)讀取某個(gè)試題</p><p><b>
33、 { </b></p><p> if(s.startsWith("**")) //試題的結(jié)束標(biāo)志</p><p><b> break;</b></p><p> temp.append("\n"+s);</p><p> if(s.startsW
34、ith("end")) //整個(gè)試題文件的結(jié)束標(biāo)志</p><p><b> {</b></p><p> in.close(); //關(guān)閉和當(dāng)前文件的連接 </p><p> 讀取.close(); </p><p> 完成考試=true; /
35、/已完成全部試題 </p><p><b> }</b></p><p><b> }</b></p><p> testContent=new String(temp); </p><p><b> }</b></p><p><b&g
36、t; else</b></p><p><b> {</b></p><p> testContent=new String("沒有選擇試題");</p><p><b> } </b></p><p><b> } </b></
37、p><p> catch(Exception e)</p><p><b> { </b></p><p> testContent="試題內(nèi)容為空,考試結(jié)束!!";</p><p><b> }</b></p><p> return testCo
38、ntent;</p><p><b> }</b></p><p> public void setSelection(String s)</p><p><b> { </b></p><p> selection=selection+s; //用戶提交的答案依次尾加到
39、 selection</p><p><b> }</b></p><p> public int getScore()</p><p> { score=0;</p><p> int length1=selection.length(); //用戶提交的第i題答案在selection中的位置</p
40、><p> int length2=correctAnswer.length();</p><p> int min=Math.min(length1,length2);</p><p> for(int i=0;i<min;i++)</p><p><b> { try{ </b></p>&
41、lt;p> if(selection.charAt(i)==correctAnswer.charAt(i))</p><p><b> score++;</b></p><p><b> }</b></p><p> catch(StringIndexOutOfBoundsException e) </
42、p><p><b> { </b></p><p><b> i=0;</b></p><p><b> }</b></p><p><b> }</b></p><p> return score;</p>&
43、lt;p><b> } </b></p><p> public String getMessages()</p><p><b> {</b></p><p> int length1=selection.length(); //用戶已提交的答案?jìng)€(gè)數(shù)</p><p> int l
44、ength2=correctAnswer.length();</p><p> int length=Math.min(length1,length2);</p><p> String message="正確答案:"+correctAnswer.substring(0,length)+"\n"+</p><p> &q
45、uot;你的回答:"+selection+"\n";</p><p> return message;</p><p><b> }</b></p><p><b> }</b></p><p><b> 六、 使用效果圖</b></
46、p><p><b> 七、總結(jié)</b></p><p> Java課程設(shè)計(jì)是和室友一起完成的,在答辯前一天的時(shí)候,代碼運(yùn)行并沒有想象中的結(jié)果,兩人一起去分析,但還是無(wú)勞。后來(lái)根據(jù)自己應(yīng)有的能力,更換了題目,雖然還是遇見了很多的問(wèn)題,讀取不到考題文件,在認(rèn)真分析檢查代碼,找出錯(cuò)誤來(lái),最后在答辯前順利完成,但程序并不是自己所寫,而是在網(wǎng)上查找過(guò)來(lái),但在此課程設(shè)計(jì)中,學(xué)到了
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫(kù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- java課程設(shè)計(jì)--標(biāo)準(zhǔn)化在線考試系統(tǒng)
- 基于java的標(biāo)準(zhǔn)化考試系統(tǒng)
- 課程設(shè)計(jì)--單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)設(shè)計(jì)
- java課程設(shè)計(jì)報(bào)告---考試系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告---單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)
- c語(yǔ)言課程設(shè)計(jì)報(bào)告--單項(xiàng)選擇題標(biāo)準(zhǔn)化考試系統(tǒng)
- java課程設(shè)計(jì)報(bào)告---學(xué)生考試系統(tǒng)
- java課程設(shè)計(jì)報(bào)告---java實(shí)現(xiàn)畫筆系統(tǒng)
- 列管式換熱器系列標(biāo)準(zhǔn)化選型課程設(shè)計(jì)
- java課程設(shè)計(jì)--酒店管理系統(tǒng)
- java課程設(shè)計(jì)---即時(shí)聊天系統(tǒng)
- java課程設(shè)計(jì)--注冊(cè)登錄系統(tǒng)
- java課程設(shè)計(jì)-文件管理系統(tǒng)
- java課程設(shè)計(jì)超市收銀系統(tǒng)
- 標(biāo)準(zhǔn)化考試系統(tǒng)項(xiàng)目文檔
- java課程設(shè)計(jì)
- java課程設(shè)計(jì)----課程設(shè)計(jì)報(bào)告
- java課程設(shè)計(jì)--學(xué)籍管理系統(tǒng)
評(píng)論
0/150
提交評(píng)論