題庫管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第1頁
題庫管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第2頁
題庫管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第3頁
題庫管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第4頁
題庫管理系統(tǒng)課程設(shè)計(jì)報(bào)告_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上目 錄專心-專注-專業(yè)第1章 系統(tǒng)分析1.1 開發(fā)背景題庫管理的信息處理,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,在很多的地方都是初步開始使用計(jì)算機(jī)文檔管理系統(tǒng)進(jìn)行信息管理,甚至尚未使用計(jì)算機(jī)進(jìn)行信息管理。根據(jù)調(diào)查得知,他們以前對(duì)信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對(duì)于人事情況的統(tǒng)計(jì)和核實(shí)等往往采用對(duì)員工的人工檢查進(jìn)行,對(duì)員工的實(shí)際情況、以及職位等情況用人工計(jì)算、手抄進(jìn)行。數(shù)據(jù)信息處理工作量大,容易出錯(cuò);由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。盡管有些單位有計(jì)算機(jī),但是尚未用于信息管理,沒有發(fā)揮它的效力,資源閑置比較突出,

2、這就是管理信息系統(tǒng)的開發(fā)的基本環(huán)境。1.2 需求分析目前,大部分學(xué)校期末考試仍采用任課教師考前集中出題的方式。為解決考前透題、漏題、補(bǔ)(緩)考試題與正式考試試題題量及難度差異等問題,教務(wù)管理部門通常要求教師同時(shí)出A、B兩套試卷,其題量與難度要求相同。這樣做雖然能夠解決一些問題,但給教師增加了很大的工作負(fù)擔(dān)。若上下屆學(xué)生的同一門課程由同一教師承擔(dān),則難免幾屆學(xué)生用相同幾套試卷;若由不同教師出題,則上下屆學(xué)生的成績之間又不具有可比性?;诖藛栴}若建立題庫,每次考試前由題庫中隨機(jī)抽取題目生成試卷,則可較好地解決教考分離的問題,充分調(diào)動(dòng)學(xué)校教學(xué)積極性,客觀評(píng)價(jià)教學(xué)質(zhì)量,有效提高工作效率,也可將廣大教師

3、從每學(xué)期末繁重的命題工作中解放出來。主要功能:一、用戶管理:用戶可以進(jìn)行注冊(cè),注冊(cè)時(shí),已注冊(cè)過的用戶名不能被重復(fù)注冊(cè)。注冊(cè)成功后根據(jù)不同的用戶類型進(jìn)行登錄。用戶類型分為:管理員、教師和學(xué)生三類。用戶登錄時(shí)根據(jù)不同的用戶類型進(jìn)入不同的操作界面。二、課程信息管理:用戶可以在根據(jù)需要修改密碼,修改密碼前要輸入舊密碼,舊密碼輸入正確才可修改密碼,密碼修改成功后要返回登錄界面從新登錄。同時(shí)也可以查看自己的注冊(cè)信息。三、試題庫管理:可以對(duì)選擇、判斷、填空、問答題四種題型試題庫進(jìn)行管理,功能包括增加試題、刪除試題、修改試題。同時(shí)還可以增加科目。四、試卷生成:可以指定試卷的所屬科目、試卷編號(hào)和試卷包含的各題型

4、的數(shù)量,從試題庫里隨機(jī)或按指定方式抽取試題生成一份原始試卷。五、學(xué)生在線測試:當(dāng)用戶登陸試題庫管理系統(tǒng)后通過在線測試子系統(tǒng)利用組卷模式可以對(duì)已學(xué)過的知識(shí)進(jìn)行在線測試,可以分單元分章節(jié)也可以對(duì)整個(gè)學(xué)科進(jìn)行模擬測試1.3 開發(fā)環(huán)境開發(fā)所用機(jī)器是臺(tái)式機(jī);所配置的系統(tǒng)為windows XP 系統(tǒng);開發(fā)所用的數(shù)據(jù)庫為:Microsoft SQL server 2000 數(shù)據(jù)庫 ;開發(fā)工具為Microsoft Visual Studio 2005 開發(fā)工具。數(shù)據(jù)庫是數(shù)據(jù)管理的最新技術(shù),是計(jì)算機(jī)科學(xué)的重要分支。十年來,數(shù)據(jù)庫管理系統(tǒng)已從專用的應(yīng)用程序包發(fā)展成為通用系統(tǒng)軟件。由于數(shù)據(jù)庫具有數(shù)據(jù)的結(jié)構(gòu)化、可控冗

5、余度、較高的程序與數(shù)據(jù)獨(dú)立性、易于擴(kuò)充、易于編制應(yīng)用程序等優(yōu)點(diǎn),較大的信息系統(tǒng)都是建立在數(shù)據(jù)庫設(shè)計(jì)之上的。由于SQL Server是一種常用的關(guān)系數(shù)據(jù)庫,能存放和讀取大量的數(shù)據(jù),管理眾多并發(fā)的用戶,故選用SQL Server數(shù)據(jù)庫。應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕。數(shù)據(jù)庫應(yīng)用由兩部分組成,即客戶應(yīng)用程序和數(shù)據(jù)庫服務(wù)器程序2。二者可分別稱為前臺(tái)程序與后臺(tái)程序。運(yùn)行數(shù)據(jù)庫服務(wù)器程序的機(jī)器,也稱為應(yīng)用服務(wù)器3。一旦服務(wù)器程序被啟動(dòng),就隨時(shí)等待響應(yīng)客戶程序發(fā)來的請(qǐng)求;客戶應(yīng)用程序運(yùn)行在用戶自己的電腦上,對(duì)應(yīng)于數(shù)據(jù)庫服務(wù)器,可稱為客戶電腦,當(dāng)需要對(duì)數(shù)據(jù)庫中的數(shù)據(jù)進(jìn)行任何操作時(shí),客戶程序就自動(dòng)地尋找服務(wù)器程序,

6、并向其發(fā)出請(qǐng)求,服務(wù)器程序根據(jù)預(yù)定的規(guī)則做出應(yīng)答,送回結(jié)果,應(yīng)用服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷較輕4。第2章 系統(tǒng)設(shè)計(jì)2.1 系統(tǒng)總體示意圖題庫管理系統(tǒng)管理界面密碼管理退出試題管理添加科目試題生成根據(jù)功能需求分析,和軟件界面的設(shè)計(jì)思路。系統(tǒng)登錄時(shí)根據(jù)用戶類型進(jìn)入三個(gè)不同的界面,分別為管理員操作界面、教師操作界面、學(xué)生操作界面。不同的用戶界面的功能操作有所差別。大體把系統(tǒng)的結(jié)構(gòu)示意圖如圖2-1所示:圖2-1 系統(tǒng)總體示意圖2.2 系統(tǒng)數(shù)據(jù)流圖要畫出系統(tǒng)數(shù)據(jù)流圖,就要先進(jìn)行數(shù)據(jù)分析,然后根據(jù)數(shù)據(jù)分析畫出數(shù)據(jù)流圖,分析出數(shù)據(jù)字典。2.2.1 數(shù)據(jù)分析用戶登錄題庫管理系統(tǒng)前首先要進(jìn)行注冊(cè),注冊(cè)信息會(huì)保存到用戶表里

7、面。注冊(cè)成功后根據(jù)相應(yīng)的用戶名密碼,進(jìn)入用戶操作界面。同時(shí)對(duì)題庫進(jìn)行管理,可以對(duì)試題進(jìn)行增加、修改、刪除,試題信息將根據(jù)題型分別保存在選擇題、填空題、判斷題、問答題四個(gè)不同的表中。在考試到來的時(shí)候用戶可以生成試卷,生成試卷時(shí)選擇試卷科目,試卷編號(hào),各題的類型,系統(tǒng)會(huì)根據(jù)這些信息自動(dòng)生成一份試卷保存到試卷表中。學(xué)生進(jìn)入系統(tǒng)后可以進(jìn)行考試。2.2.2 數(shù)據(jù)流圖根據(jù)上述的數(shù)據(jù)分析,找出數(shù)據(jù)流動(dòng)方向和存儲(chǔ)過程。系統(tǒng)包括三個(gè)外部實(shí)體包括:管理員、教師、學(xué)生。系統(tǒng)包括8個(gè)主要處理:用戶注、登錄系統(tǒng)、個(gè)人密碼修改、添加科目、試題生成、試題添加修改刪除、考試。系統(tǒng)包括七個(gè)主要的信息表:用戶信息表、科目表、選擇

8、題、填空題、判斷題、問答題、試題。2.3數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是系統(tǒng)設(shè)計(jì)中的重要組成部分,模塊的功能實(shí)現(xiàn)都離不開數(shù)據(jù)庫的支持,在明確功能模塊與數(shù)據(jù)流程之后,下一步要進(jìn)行的就是數(shù)據(jù)庫的設(shè)計(jì)。數(shù)據(jù)庫技術(shù)是信息資源管理最有效的手段。數(shù)據(jù)庫設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),有效存儲(chǔ)數(shù)據(jù),滿足用戶信息要求和處理要求。題庫管理系統(tǒng)時(shí)序圖如圖2-2所示。圖2-2題庫管理系統(tǒng)專業(yè)管理時(shí)序圖圖2-2說明:管理員發(fā)出一個(gè)同步的對(duì)專業(yè)的操作(添加、修改、刪除、檢索)信息,請(qǐng)求系統(tǒng)對(duì)專業(yè)進(jìn)行操作;向后臺(tái)發(fā)送一個(gè)專業(yè)可否進(jìn)行該操作的同步信息,驗(yàn)證不通過時(shí),后臺(tái)發(fā)送一個(gè)同步的信息

9、,在畫面上顯示錯(cuò)誤信息;若驗(yàn)證通過時(shí),后臺(tái)會(huì)向畫面發(fā)送一個(gè)同步的通過驗(yàn)證信息,運(yùn)行對(duì)該專業(yè)進(jìn)行操作,用戶發(fā)出一個(gè)同步的提交操作信息,從而打開操作確認(rèn)畫面,用戶確認(rèn)操作,發(fā)出一個(gè)確認(rèn)操作的同步信息給后臺(tái)數(shù)據(jù)庫,處理成功后,后臺(tái)發(fā)送一個(gè)同步的請(qǐng)求信息給操作完成畫面,顯示操作結(jié)果。圖2-3題庫管理系統(tǒng)課程管理時(shí)序圖圖2-3說明:管理員發(fā)出一個(gè)同步的對(duì)課程的操作(添加、修改、刪除、檢索)信息,請(qǐng)求系統(tǒng)對(duì)課程進(jìn)行操作;向后臺(tái)發(fā)送一個(gè)課程可否進(jìn)行該操作的同步信息,驗(yàn)證不通過時(shí),后臺(tái)發(fā)送一個(gè)同步的信息,在畫面上顯示錯(cuò)誤信息;若驗(yàn)證通過時(shí),后臺(tái)會(huì)向畫面發(fā)送一個(gè)同步的通過驗(yàn)證信息,運(yùn)行對(duì)該課程進(jìn)行操作,用戶發(fā)出

10、一個(gè)同步的提交操作信息,從而打開操作確認(rèn)畫面,用戶確認(rèn)操作,發(fā)出一個(gè)確認(rèn)操作的同步信息給后臺(tái)數(shù)據(jù)庫,處理成功后,后臺(tái)發(fā)送一個(gè)同步的請(qǐng)求信息給操作完成畫面,顯示操作結(jié)果。圖2-4題庫管理系統(tǒng)試題管理時(shí)序圖圖2-4說明:管理員發(fā)出一個(gè)同步的對(duì)試題的操作(添加、修改、刪除、檢索)信息,請(qǐng)求系統(tǒng)對(duì)試題進(jìn)行操作;向后臺(tái)發(fā)送一個(gè)試題可否進(jìn)行該操作的同步信息,驗(yàn)證不通過時(shí),后臺(tái)發(fā)送一個(gè)同步的信息,在畫面上顯示錯(cuò)誤信息;若驗(yàn)證通過時(shí),后臺(tái)發(fā)送一個(gè)同步的通過驗(yàn)證信息,運(yùn)行對(duì)該試題進(jìn)行操作,用戶發(fā)出一個(gè)同步的提交操作信息,從而打開操作確認(rèn)畫面,用戶確認(rèn)操作,發(fā)出一個(gè)確認(rèn)操作的同步信息給后臺(tái)數(shù)據(jù)庫,處理成功后,后臺(tái)

11、發(fā)送一個(gè)同步的請(qǐng)求信息給操作完成畫面,顯示操作結(jié)果。圖2-5題庫管理系統(tǒng)試卷管理時(shí)序圖圖2-5說明:管理員發(fā)出一個(gè)同步的對(duì)試卷的操作(查看、下載、刪除)信息,請(qǐng)求系統(tǒng)對(duì)試卷進(jìn)行操作;后臺(tái)發(fā)送一個(gè)試卷可否進(jìn)行該操作的同步信息,驗(yàn)證不通過時(shí),后臺(tái)發(fā)送一個(gè)同步的信息,在畫面上顯示錯(cuò)誤信息;若驗(yàn)證通過時(shí),后臺(tái)會(huì)向畫面發(fā)送一個(gè)同步的通過驗(yàn)證信息,運(yùn)行對(duì)該試卷進(jìn)行操作,用戶發(fā)出一個(gè)同步的提交操作信息,從而打開操作確認(rèn)畫面,用戶確認(rèn)操作,發(fā)出一個(gè)確認(rèn)操作的同步信息給后臺(tái)數(shù)據(jù)庫,處理成功后,后臺(tái)發(fā)送一個(gè)同步的請(qǐng)求信息給操作完成畫面,顯示操作結(jié)果。圖2-6題庫管理系統(tǒng)自動(dòng)組卷時(shí)序圖圖2-6說明:管理員發(fā)出一個(gè)同

12、步的操作信息,請(qǐng)求系統(tǒng)進(jìn)行操作(查看、保存);畫面會(huì)向后臺(tái)發(fā)送一個(gè)可否進(jìn)行該操作的同步信息,驗(yàn)證不通過時(shí),后臺(tái)向畫面發(fā)送一個(gè)同步的信息,在畫面上顯示錯(cuò)誤信息;若驗(yàn)證通過時(shí),后臺(tái)會(huì)向畫面發(fā)送一個(gè)同步的通過驗(yàn)證信息,運(yùn)行對(duì)該專業(yè)進(jìn)行操作,用戶發(fā)出一個(gè)同步的提交操作信息,從而打開操作確認(rèn)畫面,用戶確認(rèn)操作,發(fā)出一個(gè)確認(rèn)操作的同步信息給后臺(tái)數(shù)據(jù)庫,處理成功后,后臺(tái)發(fā)送一個(gè)同步的請(qǐng)求信息給操作完成畫面,顯示操作結(jié)果。圖2-7題庫管理系統(tǒng)用戶管理時(shí)序圖圖2-7說明:管理員發(fā)出一個(gè)同步的對(duì)用戶的操作(添加、修改、刪除)信息,請(qǐng)求系統(tǒng)對(duì)用戶進(jìn)行操作;畫面會(huì)向后臺(tái)發(fā)送一個(gè)用戶可否進(jìn)行該操作的同步信息,驗(yàn)證不通過

13、時(shí),后臺(tái)向畫面發(fā)送一個(gè)同步的信息,在畫面上顯示錯(cuò)誤信息;若驗(yàn)證通過時(shí),后臺(tái)會(huì)向畫面發(fā)送一個(gè)同步的通過驗(yàn)證信息,運(yùn)行對(duì)該用戶進(jìn)行操作,用戶發(fā)出一個(gè)同步的提交操作信息,從而打開操作確認(rèn)畫面,用戶確認(rèn)操作,發(fā)出一個(gè)確認(rèn)操作的同步信息給后臺(tái)數(shù)據(jù)庫,處理成功后,后臺(tái)發(fā)送一個(gè)同步的請(qǐng)求信息給操作完成畫面,顯示操作結(jié)果。2.4 功能模塊圖根據(jù)系統(tǒng)總體結(jié)構(gòu),功能分析,可以將系統(tǒng)的功能模塊劃分為三個(gè)大模塊。主要是管理員模塊、教師模塊和學(xué)生模塊。在這些模塊中教師模塊為主要模塊。教師模塊主要實(shí)現(xiàn)試題管理模塊,試卷管理功能為增加試題、修改試題、刪除試題、查詢?cè)囶}模塊。在增加試題的模塊下還有:添加選擇題、添加填空題、添

14、加判斷題、添加問答題等模塊。通過這些功能來豐富試題管理系統(tǒng)增加題庫中試題的數(shù)量,方便老師查詢。在試題模塊進(jìn)行查詢時(shí)要輸入查詢的科目、題型、創(chuàng)建時(shí)間,然后再查到的試題中選擇試題進(jìn)行修改,修改后保存到數(shù)據(jù)庫中。其中的科目添加沒有的科目。個(gè)人密碼修改模塊用于個(gè)人密碼修改防止密碼泄露。退出功能安全退出系統(tǒng),節(jié)約電腦資源。教師模塊的另一個(gè)主要功能是試卷生成,試卷生成功能可以減輕教師的出題負(fù)擔(dān),只要輸入要考試的科目,試卷編號(hào),各類型題目的數(shù)量,系統(tǒng)會(huì)自動(dòng)從題庫中查找相應(yīng)的數(shù)據(jù)隨即生成一套試卷。管理員模塊的主要功能是用戶信息管理模塊,主要是對(duì)用戶信息的修改,刪除和增加功能,根據(jù)學(xué)校的要求給予教師相應(yīng)的功能,

15、定時(shí)維護(hù)系統(tǒng)。本系統(tǒng)的功能模塊圖題庫管理系統(tǒng)管理員模塊教師模塊學(xué)生模塊個(gè)人密碼修改模塊用戶信息管理模塊退出模塊退出模塊個(gè)人密碼修改模塊試題管理模塊科目添加模塊試題生成模塊個(gè)人密碼修改模塊退出模塊如圖2-8所示:圖2-8系統(tǒng)功能模塊圖第3章 系統(tǒng)實(shí)現(xiàn)3.1 系統(tǒng)登錄界面用戶進(jìn)入系統(tǒng)的首界面,用戶在用戶名后面的textbox中輸入用戶名,在密碼后邊的textbook中輸入密碼,輸入密碼是密碼顯示“*”保證了密碼的安全性,系統(tǒng)會(huì)根據(jù)用戶輸入的密碼和用戶名還有用戶類型到數(shù)據(jù)庫查找,如果有錯(cuò)誤,系統(tǒng)會(huì)提示用戶從新輸入,用戶輸入正確系統(tǒng)會(huì)根據(jù)用戶類型自動(dòng)跳轉(zhuǎn)到相應(yīng)的頁面并將用戶名傳遞過去。當(dāng)用戶點(diǎn)擊注冊(cè)時(shí)

16、,系統(tǒng)會(huì)跳轉(zhuǎn)到注冊(cè)界面。如圖3-1所示:圖3-1 系統(tǒng)登錄界面主要代碼實(shí)現(xiàn)如下: Dim cmd As New OleDbCommand(sql, conn) Dim dr As OleDbDataReader = cmd.ExecuteReader() If dr.Read() Then If usertype Is "管理員" Then fm = New admin() fm.parentg = Me fm.uid = userid1 fm.Visible = True ElseIf usertype Is "教師" Then fm1 = New t

17、eacher() fm1.uid = userid1 fm1.parentt = Me fm1.Visible = True ElseIf usertype Is "學(xué)生" Then fm2 = New student() fm2.parentw = Me fm2.uid = userid1 fm2.Visible = True End If MessageBox.Show("登錄失敗,用戶名或密碼錯(cuò)誤!請(qǐng)從新登陸!", "登陸失敗", MessageBoxButtons.OK) End If3.2系統(tǒng)注冊(cè)界面沒有賬號(hào)的用戶進(jìn)入系統(tǒng)之

18、前要先到注冊(cè)界面進(jìn)行注冊(cè),注冊(cè)成功后才能進(jìn)入系統(tǒng)。用戶必須按照要求正確填寫注冊(cè)信息。注冊(cè)時(shí)用戶名不能重復(fù),如果用戶名已被注冊(cè)系統(tǒng)會(huì)提示用戶“此用戶名已被注冊(cè)”。用戶輸入用戶名時(shí)必須為3到6個(gè)字母或數(shù)字。密碼必須在6-16位之間,如果密碼少于6位或者多于16位,系統(tǒng)會(huì)提時(shí)用戶“您輸入的密長度不符合要求,請(qǐng)從新輸入”。且用戶輸入確認(rèn)密碼的時(shí)候必須要于上面的密碼一致,如果不一致的話系統(tǒng)會(huì)提示用戶“兩次輸入的密碼不一致,請(qǐng)重新輸入”。 下面的信息也請(qǐng)正確填寫,方便以后管理員管理。當(dāng)用戶信息輸入正確時(shí),注冊(cè)成功,系統(tǒng)會(huì)提示用戶“注冊(cè)成功,請(qǐng)登錄系統(tǒng)”。重置按鈕可以重置輸入的信息從新輸入。方便用戶從新注冊(cè)

19、。點(diǎn)擊返回登錄界面按鈕,系統(tǒng)將返回到系統(tǒng)登錄首屆面。注冊(cè)界面如圖3-2所示:圖3-2 系統(tǒng)注冊(cè)界面系統(tǒng)注冊(cè)界面的主要代碼如下: If password.Length >= 6 And password.Length <= 16 Then If password = password1 Then If dr.Read() Or (userid.Length < 3 Or userid.Length > 6) Then MessageBox.Show("用戶名已被注冊(cè)或用戶名不符合要求,請(qǐng)輸入新的用戶名!", "用戶名錯(cuò)誤", Mes

20、sageBoxButtons.OK) Else cmd.ExecuteNonQuery() MessageBox.Show("注冊(cè)成功", "注冊(cè)信息", MessageBoxButtons.OK) End If Else MessageBox.Show("兩次密碼輸入不一致!", "密碼錯(cuò)誤", MessageBoxButtons.OK) End If Else MessageBox.Show("密碼長度不夠6位或者超過16位", "密碼錯(cuò)誤", MessageBoxBut

21、tons.OK) End If3.3 教師主界面教師主界面,此界面主要實(shí)現(xiàn)界面跳轉(zhuǎn)功能,通過單擊不同功能的按鈕,跳轉(zhuǎn)到相應(yīng)功能的界面如圖3-3所示:圖3-3 教師管理界面3.4 試題管理界面試題管理界面,是方便老師管理試題的界面,是系統(tǒng)的主要界面之一,界面展示的是查詢的界面。如圖3-4所示:圖3-4 試題管理界面下面一段代碼是試題管理中查詢功能的部分代碼:sql1 = "select * from examselect where cname = '" + cname + "' and extime='" + adtime + &

22、quot;'" Dim cmd2 As New OleDbCommand(sql1, conn) Dim dr As OleDbDataReader = cmd2.ExecuteReader() If dr.Read() Then Dim cmd As New OleDbCommand(sql1, conn) Dim adp As New OleDbDataAdapter(cmd) Dim ds As New DataSet() adp.Fill(ds, "link") DataGridView1.DataSource = ds.Tables("

23、link").DefaultView DataGridView1.Columns(0).HeaderText = "試題編號(hào)" DataGridView1.Columns(0).DisplayIndex = 0 DataGridView1.Columns(7).Visible = False Else MessageBox.Show("查詢有錯(cuò)誤,請(qǐng)輸入正確的查詢條件!", "查詢錯(cuò)誤", MessageBoxButtons.OK) End If拼接sql語句,用來從數(shù)據(jù)庫查詢相應(yīng)的數(shù)據(jù)信息。查詢后如果數(shù)據(jù)庫中不存在此類信息

24、怎提示“查詢錯(cuò)誤請(qǐng)輸入正確的查詢條件”。如果有信息,則存入ds中,然后與datagridview綁定,綁定后修改表頭的名字和表頭的索引。將不需要顯示的信息隱藏。當(dāng)查尋出試題以后點(diǎn)擊刪除按鈕刪除想要?jiǎng)h除的試題,然后系統(tǒng)自動(dòng)再次查詢信息,然后與datagridview綁定,實(shí)現(xiàn)數(shù)據(jù)自動(dòng)刷新。試題管理界面中的試題添加功能的代碼如下:If ComboBox1.SelectedItem = "選擇題" Then Dim fm As selecta fm = New selecta() fm.parentww = Me fm.Visible = True Me.Visible = Fa

25、lse End If此段代碼是根據(jù)用戶選擇的題型進(jìn)入相應(yīng)題型的試題添加界面,以選擇題為例選擇題添加的界面如圖3-5所示:圖3-5 選擇題添加此選擇題添加界面的主要代碼如下:If RadioButton1.Checked Then answer1 = RadioButton1.Text.Trim().ToString() ElseIf RadioButton2.Checked Then answer1 = RadioButton2.Text.Trim().ToString() ElseIf RadioButton3.Checked Then answer1 = RadioButton3.Text

26、.Trim().ToString() ElseIf RadioButton4.Checked Then answer1 = RadioButton4.Text.Trim().ToString() End If Dim sql1 As String = "select * from examselect where exno = '" + exno + "'" Dim sql2 As String = "insert into examselect(exno,cname,question,aselection,bselection

27、,cselection,dselection,answer,extime) values('" + exno + "','" + cname + "','" + question + "','" + aselection + "','" + bselection + "','" + cselection + "','" + dselection + "&

28、#39;,'" + answer1 + "','" + extime + "')" Dim cmd1 As New OleDbCommand(sql1, conn) Dim cmd2 As New OleDbCommand(sql2, conn) Dim dr As OleDbDataReader = cmd1.ExecuteReader() If dr.Read() Then MessageBox.Show("試題編號(hào)重復(fù),添加失??!", "試題添加", MessageB

29、oxButtons.OK) Else cmd2.ExecuteNonQuery() MessageBox.Show("試題添加成功!", "試題添加", MessageBoxButtons.OK) End If此段代碼從試題庫中查詢本題是否存在,如果存在提示用戶試題編號(hào)重復(fù)請(qǐng)重新添加。試題添加成功后會(huì)有“試題添加成功的提示”。當(dāng)一個(gè)radiobutton被選中的時(shí)候,試題的答案也就被選中。在試題管理界面中,點(diǎn)擊修改按鈕的時(shí)候,系統(tǒng)會(huì)自動(dòng)進(jìn)入試題修改界面,修改界面和試題添加界面時(shí)一樣的,代碼也只是多了一段查詢代碼,把查出來的信息顯示在界面上。界面顯示如圖3

30、-6所示:圖3-6 試題修改界面代碼如下: Label11.Text = theno ComboBox1.Text = thename TextBox2.Text = thetime TextBox3.Text = thequestion TextBox4.Text = thea TextBox5.Text = theb TextBox6.Text = thec TextBox7.Text = thed theanswer = theanswer.Trim() If theanswer = "A" Then RadioButton1.Checked = True ElseI

31、f theanswer = "B" Then RadioButton2.Checked = True ElseIf theanswer = "C" Then RadioButton3.Checked = True ElseIf theanswer = "D" Then RadioButton4.Checked = True End If上段代碼中的thename,thetime,thequestion等字段,都是通過設(shè)置全局變量,從試題管理界面?zhèn)鬟f過來的。3.5 試卷生成界面試卷生成界面如圖3-7所示:圖3-7 試卷生成界面此界面主要

32、用到一個(gè)算法思想,用來隨機(jī)生成試卷,用戶輸入科目、試卷編號(hào)、各類型試題的數(shù)量之后。系統(tǒng)先檢查題庫中是否已經(jīng)有此事卷如果有則顯示試卷內(nèi)容,并提示“次試卷已經(jīng)存在?!比绻嚲聿淮嬖冢瑒t根據(jù)算法隨機(jī)生成試題存到數(shù)據(jù)庫中。以隨機(jī)生成C+科目試卷的選擇題為例解釋,隨機(jī)選擇選擇題的部分代碼如下:sql1 = "select * from examselect where cname = '" + cname + "'"Dim cmd1 As New OleDbCommand(sql1, conn)Dim dr1 As OleDbDataReader

33、= cmd1.ExecuteReader()While dr1.Read() num1 = num1 + 1End WhileFor i = 0 To selectsum - 1 Randomize() Dim cnum As Integer = Int(num1 / selectsum) * Rnd() + Int(num1 / selectsum) * i) Dim tquestion, ta, tb, tc, td, tanswer As String tquestion = ds.Tables("1").Rows(cnum)(2).trim().ToString()

34、 ta = ds.Tables("1").Rows(cnum)(3).ToString().Trim() tb = ds.Tables("1").Rows(cnum)(4).ToString().Trim() tc = ds.Tables("1").Rows(cnum)(5).ToString().Trim() td = ds.Tables("1").Rows(cnum)(6).ToString().Trim() tanswer = ds.Tables("1").Rows(cnum)(7).To

35、String().Trim() Dim ioi As Integer = i + 1 Dim str As String = tquestion + " A." + ta + " B." + tb + " C." + tc + " D." + td + " " Dim sqlq As String = "insert into sj values('" + bno + "','" + cname + "','

36、;" & ioi & "','" + str + "','" + tanswer + "', '選擇題' )" Dim cmd As New OleDbCommand(sqlq, conn) cmd.ExecuteNonQuery()Next在上述代碼中“Int(num1 / selectsum) * Rnd() + Int(num1 / selectsum) * i)”此表達(dá)式是核心算法。代碼中變量selectsum代表輸入的試卷中選擇題的數(shù)量,變量n

37、um1為查處的題庫中C+科目的選擇題的數(shù)量,Randomize()函數(shù)時(shí)確保每一次隨機(jī)產(chǎn)生的數(shù)時(shí)不同的。算法思想是把題庫中的題目分成selectsum組,循環(huán)selectsum次每次隨機(jī)數(shù)的范圍位num1 / selectsum。根據(jù)for循環(huán),每次產(chǎn)生的隨機(jī)數(shù)加上循環(huán)次數(shù)*隨機(jī)數(shù)范圍,得到的結(jié)果就是隨機(jī)的題目在ds表中的位置,然后從ds表中把數(shù)據(jù)取出來添加到數(shù)據(jù)庫中3.6 科目添加界面在科目添加界面中,主要是對(duì)科目的添加,如果題庫中已經(jīng)存在此科目,則提示“科目已存在”,如果科目不存在添加科目后提示科目添加成功。界面如圖3-8所示:圖3-8 科目添加界面主要代碼如下:Dim conn As N

38、ew OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=exammessage;Data Source=.") Dim cname As String = TextBox1.Text.Trim().ToString() Dim sql As String = " select * from cs where cname='" + cname + "'" Dim sq

39、ll As String = "insert into cs(cname) values('" + cname + "')" Dim cmd As New OleDbCommand(sql, conn) Dim cmd1 As New OleDbCommand(sqll, conn) conn.Open() Dim dr As OleDbDataReader = cmd.ExecuteReader() If dr.Read() Then MessageBox.Show("此科目已經(jīng)存在,請(qǐng)重新添加!", "添

40、加信息", MessageBoxButtons.OK) Else cmd1.ExecuteNonQuery() MessageBox.Show("添加成功!", "添加信息", MessageBoxButtons.OK) End If3.7 個(gè)人密碼修改界面?zhèn)€人密碼修改界面,主要實(shí)現(xiàn)修改密碼的功能,同時(shí)也可查看個(gè)人信息。本界面的代碼如下:If pss = ps Then Dim sql As String = "update userform set password='" + password1 + "&

41、#39; where userid='" + uid + "'" Dim cmd As New OleDbCommand(sql, conn) If password1.Length >= 6 And password1.Length <= 16 Then If password1 = password2 Then conn.Open() cmd.ExecuteNonQuery() ret = MessageBox.Show("修改成功,請(qǐng)從新登陸", "修改信息", MessageBoxButt

42、ons.OK) If ret = Windows.Forms.DialogResult.OK Then parentt.Visible = True Me.Close() End If Else MessageBox.Show("兩次密碼輸入不一致!", "密碼錯(cuò)誤", MessageBoxButtons.OK) End If Else MessageBox.Show("密碼長度不夠6位或者超過16位", "密碼錯(cuò)誤", MessageBoxButtons.OK) End If conn.Close() Else當(dāng)

43、輸入舊密碼正確的時(shí)候,才能修改密碼,如果輸入的密碼錯(cuò)誤,則提示輸入正確的密碼。密碼修改完成以后,系統(tǒng)會(huì)提示“請(qǐng)退出系統(tǒng)從新登陸”。點(diǎn)擊確定以后,系統(tǒng)自動(dòng)退出到登陸界面。個(gè)人密碼修改界面如圖3-9所示:圖3-9 個(gè)人密碼修改界面3.8 用戶信息管理界面用戶信息管理界面是管理員界面的一個(gè)重要的功能模塊,主要實(shí)現(xiàn)對(duì)用戶信息的增刪改查。在這里管理員可以看到所有用戶的信息,方便管理員對(duì)用戶的管理。用戶信息管理界面如圖3-10所示:圖3-10 用戶信息管理界面當(dāng)管理員要增加用戶時(shí),按要求填好下面的textbox然后點(diǎn)擊增加按鈕就可以添加新的用戶信息了,如果用戶信息存在或者用戶的密碼不滿足要求則系統(tǒng)會(huì)提示出

44、錯(cuò)要求從新輸入用戶信息。此功能的代碼如下: Dim conn As New OleDbConnection("Provider=SQLOLEDB.1;Password=sa;Persist Security Info=True;User ID=sa;Initial Catalog=exammessage;Data Source=.") Dim sql As String = "insert into userform values('" + userid + "', '" + password + "

45、','" + usertype + "','" + name + "','" + sex + "','" + sdept + "','" + sno + "')" Dim cmd As New OleDbCommand(sql, conn) conn.Open() Dim sqll As String = "select * from userform where userid='

46、" + userid + "'" Dim cmd1 As New OleDbCommand(sqll, conn) Dim dr As OleDbDataReader = cmd1.ExecuteReader() If password.Length >= 6 And password.Length <= 16 Then If password = password1 Then If dr.Read() Or (userid.Length < 3 Or userid.Length > 6) Then ret = MessageBox

47、.Show("用戶名已被注冊(cè)或用戶名不符合要求,請(qǐng)輸入新的用戶名!", "用戶名錯(cuò)誤", MessageBoxButtons.OK) If ret = Windows.Forms.DialogResult.OK Then End If Else cmd.ExecuteNonQuery() MessageBox.Show("用戶添加成功成功", "注冊(cè)信息", MessageBoxButtons.OK) Dim adp As New OleDbDataAdapter("select * from userf

48、orm", conn) Dim ds As New DataSet() adp.Fill(ds, "1") DataGridView1.DataSource = ds.Tables("1").DefaultView End If Else ret = MessageBox.Show("兩次密碼輸入不一致!", "密碼錯(cuò)誤", MessageBoxButtons.OK) If ret = Windows.Forms.DialogResult.OK Then clrr() End If End If Else

49、 ret = MessageBox.Show("密碼長度不夠位或者超過位", "密碼錯(cuò)誤", MessageBoxButtons.OK) If ret = Windows.Forms.DialogResult.OK Then clrr() End If End If第4章 系統(tǒng)測試4.1 軟件測試基礎(chǔ)理論軟件測試是在軟件基本設(shè)計(jì)完成后,根據(jù)軟件的要求對(duì)軟件進(jìn)行的一系列系統(tǒng)的測試,從各方面來測試系統(tǒng)的健壯性,容錯(cuò)性和正確性。在軟件測試階段,我們希望盡量多的找出軟件的錯(cuò)誤,進(jìn)而對(duì)軟件進(jìn)行優(yōu)化改進(jìn),是軟件變得更加適合用戶使用。盡量滿足用戶的需求。軟件測試是軟件開發(fā)到最后的重要階段,好的測試方法能夠盡量多的測出軟件的錯(cuò)誤,找出軟件的不足。要設(shè)計(jì)出好的測試方案,我們就要了解軟件的具體功能,就要認(rèn)真分析需求分析、邏輯方案、系統(tǒng)總體設(shè)計(jì)和詳細(xì)設(shè)計(jì)。從而設(shè)計(jì)出優(yōu)秀合理的測試軟件。在測試技術(shù)中包括白盒測試、黑盒測試和灰盒測試三種主要的測試技術(shù)。黑盒測試技術(shù)是把程序看成一個(gè)黑盒子,完全不考慮程序的內(nèi)部結(jié)構(gòu)和處理過程。也就是說,黑盒測試是在程序

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論