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

正文內(nèi)容

非標(biāo)準(zhǔn)化的題庫(kù)、試卷和答案生成系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文(編輯修改稿)

2025-08-23 05:29 本頁(yè)面
 

【文章內(nèi)容簡(jiǎn)介】 3_23 教師界面通過(guò)此界面,用戶可以選擇試題操作、試卷操作、人工組卷、系統(tǒng)組卷、打印操作、修改個(gè)人資料等功能。在這里有必要提一點(diǎn),該界面的后臺(tái)服務(wù)在此時(shí)會(huì)讀取題庫(kù)中的最大題號(hào)并記錄下來(lái),這是為了題目ID的自動(dòng)生成而做的工作。(4)試題操作界面圖324 試題操作主界面該界面包括了對(duì)試題的增、刪、查、改功能,而且其添加操作是另外一個(gè)界面。在這里題目所屬的科目與章節(jié)使用了數(shù)據(jù)綁定技術(shù),其查詢的優(yōu)先順序?yàn)椋篒D科目章節(jié)。值得注意的是刪除功能允許批量刪除。 圖325 試題添加界面該界面是由37界面中“添加”按鈕激活的界面,其功能是向題庫(kù)里添加新的題目,這里有必要說(shuō)一下“txt文件導(dǎo)入”的功能,此功能允許用戶通過(guò)txt文件批量的添加題目,從而很大一方面節(jié)省了出題時(shí)間,但是文本格式是有規(guī)定的,否則不僅有可能導(dǎo)入不成功,甚至?xí)?dǎo)致導(dǎo)入的題目格式錯(cuò)誤,變成垃圾題目。(5)試卷操作界面包括試卷的查找與刪除、維護(hù)操作。圖326 試卷的操作界面在這里可以查詢或刪除試卷,雙擊某一試卷會(huì)進(jìn)入該試卷的維護(hù)界面。圖327 試卷的操作界面通過(guò)本界面可以對(duì)試卷進(jìn)行必要的修改,其中“試卷總分”標(biāo)題用以提示用戶該試卷所含題目的總分。(6) 組卷界面包括系統(tǒng)組卷和人工組卷。① 系統(tǒng)組卷,它的界面如下圖所示。圖328 系統(tǒng)組卷這是一個(gè)核心的功能,面板題型與數(shù)量是為了隨機(jī)出卷,一般所組的試卷不經(jīng)修改是不能使用的,而面板按條件出卷是常用的操作,其主要功能是通過(guò)題型、章節(jié)、難度、數(shù)量的條件來(lái)隨機(jī)抽取符合條件的題目,其實(shí)現(xiàn)方法難度較大,會(huì)在后面介紹。② 人工組卷,它的界面如圖329。這個(gè)界面很簡(jiǎn)單,這里不再進(jìn)行闡述。(7)打印界面界面如圖330。該界面主要有試卷閱覽功能,答案閱覽功能和打印功能。圖329 人工組卷界面圖330 打印界面 核心功能的實(shí)現(xiàn)方法 題庫(kù)操作的實(shí)現(xiàn)(1) 批量導(dǎo)入操作的實(shí)現(xiàn) 這是試題操作難度最大的一個(gè)問(wèn)題,該功能的實(shí)現(xiàn)需要大量的文件操作,需要將文本文件讀入內(nèi)存,并且以規(guī)定的字符(這里是’`’)做分割來(lái)將讀取的所有題目做劃分,最后將劃分好的題目再按分割字符(’|’)分成各個(gè)字段,最后對(duì)數(shù)據(jù)庫(kù)做批量導(dǎo)入,該功能實(shí)現(xiàn)的最重要的工作是熟練掌握“Split”分割函數(shù)的使用。在這里還有一點(diǎn)是值得注意的,當(dāng)題目的檢索信息格式(科目,章節(jié),難度)符合Question表,而其題目信息(題干等)卻不符合題型表時(shí),雖然添加不能成功,但是在Question表中會(huì)留下垃圾信息,因此,在異常處理函數(shù)中應(yīng)該將該垃圾信息刪除掉,否則很可能影響題目ID的生成。(2) 窗體間參數(shù)的傳遞 這也是值得注意的一點(diǎn),由于C語(yǔ)言并不能定義全局變量,因此各個(gè)窗體間參數(shù)的傳遞相對(duì)比較繁瑣,例如“科目”這一變量需要經(jīng)常在多個(gè)窗體中使用,這就使得函數(shù)寫(xiě)起來(lái)十分繁瑣,這里本人所使用的方法是將這些變量偽裝成“全局變量”,即在program文件里定義一個(gè)靜態(tài)的公共類GlobalVariable{},其成員變量便可以當(dāng)做是全局變量使用,這樣可以為代碼的編寫(xiě)提供很多方便。(3) 題目ID的自動(dòng)生成 理論上講,題庫(kù)系統(tǒng)中的題目數(shù)量是十分龐大的,因此題目編號(hào)的自動(dòng)生成是理所當(dāng)然的,這里由于本人最初將題目ID字段設(shè)置成了字符型,因此在查找最大題目編號(hào)的時(shí)候不能使用聚集函數(shù)MAX,于是本人使用了另一種方法,專門(mén)創(chuàng)建了一個(gè)txt文件用以記錄當(dāng)前題目編號(hào)的最大值,因此做添加操作時(shí),系統(tǒng)可根據(jù)此文件來(lái)生成所需的題目ID,當(dāng)系統(tǒng)退出時(shí)再將該編號(hào)寫(xiě)回文本即可。這樣做避免了對(duì)數(shù)據(jù)庫(kù)的修改,從而節(jié)省了對(duì)代碼的大量修改工作。 試卷操作的實(shí)現(xiàn) (1) 自動(dòng)組卷功能的實(shí)現(xiàn)這是本系統(tǒng)最難實(shí)現(xiàn)的部分,為了增強(qiáng)教師增加或刪除條件的靈活性,本人這里使用了listview控件用以記錄出題的條件(題型,章節(jié),難度,數(shù)量),而當(dāng)用戶決定出卷時(shí),需要將這些內(nèi)容傳遞給計(jì)算機(jī)并記錄下來(lái),以便按條件進(jìn)行篩選,這里本人定義了兩種結(jié)構(gòu)體Chap_Num{string Qchapter,int Qnum,string Qsdept}和Table_QN{Chapter_Num []table_qn, int Cnum},前者用來(lái)記錄某一題型的條件(章節(jié),數(shù)量,難度),后者將條件制作成表,這樣用四個(gè)表可以表征四種題型的所有條件,例如:選擇題:第一章1難第二章2簡(jiǎn)單第三章1難…..…..…..填空題:第一章1難第二章2難第三章2難…..…..…..于是可將所有的條件制作成四張表,以便之后對(duì)題庫(kù)的抽取操作。其次,為了抽題的隨機(jī)性,本人在這里做了一個(gè)隨機(jī)函數(shù)public int[] getRandomNum(int num, int minValue, int maxValue),其功能是從minValue到maxValue中抽取num個(gè)隨機(jī)數(shù),在這里有必要提一點(diǎn),一定要注意隨機(jī)數(shù)生成器random的用法,其next(min,max)方法只能取到閉區(qū)間[min,max1]之間的整數(shù),這一點(diǎn)務(wù)必要清楚,至于原因這里不再陳述。最后,需要通過(guò)條件來(lái)做多次篩選,例如先將題庫(kù)中的題目通過(guò)科目與題型做一次篩選,再通過(guò)上面所構(gòu)造的條件表做第二次篩選便可以得到所求題目類型的最終題表,最后將篩選出的四種類型的題表連接在一起便是最終所得。抽象的來(lái)講便是這樣,不過(guò)做起來(lái)的工作量其實(shí)很大,這里本人構(gòu)造了一個(gè)共有方法public DataSet Question_select_condition(string Qtype,Table_QN table_Condition),通過(guò)題型與條件表來(lái)返回一張滿足條件的內(nèi)存表,這樣最后直接將返回的四張表組合在一起即可,可以省去很多重復(fù)操作。(2) 試卷編號(hào)的手動(dòng)添加這里的試卷編號(hào)并不是自動(dòng)生成的,而是手動(dòng)添加的,其目的是希望出卷人可以用后綴命名法(如:張三_數(shù)據(jù)結(jié)構(gòu)_2008期中)來(lái)方便自己對(duì)試卷的查找以便做相應(yīng)的操作。(3) 試卷的維護(hù)工作這里有非常值得注意的一點(diǎn),數(shù)據(jù)庫(kù)的delete操作與查詢或修改操作不同,即便表中沒(méi)有要?jiǎng)h除的元組也不會(huì)產(chǎn)生任何異常,這樣一來(lái)刪除工作很可能對(duì)試卷總分的提示產(chǎn)生很大的影響(也許試卷中已經(jīng)沒(méi)有該題目,但是刪除工作依然可以進(jìn)行),對(duì)試卷維護(hù)刪除功能的設(shè)計(jì)一定要注意到這一點(diǎn)。(4) 試卷的預(yù)覽工作該功能并不是系統(tǒng)的核心功能,然而實(shí)現(xiàn)起來(lái)卻是有些繁瑣的,首先是大題序號(hào)的編制工作,應(yīng)該與相應(yīng)的題目序號(hào)是分開(kāi)的,而且應(yīng)該根據(jù)試卷不同的題型而動(dòng)態(tài)生成,在這里本人編寫(xiě)了一個(gè)函數(shù)void Index_add(ref string tmp, string before,ref int Qindex,string []QType_index)專門(mén)用來(lái)生成大題的編號(hào),這樣為后續(xù)工作提供了不小的方便;其次便是顯示題目?jī)?nèi)容的工作,在這里本人的方法是先將試卷中所有題目的索引信息(題目ID,題目類型)讀入內(nèi)存,再通過(guò)這些信息用DataReader讀取題目的內(nèi)容并逐條顯示出來(lái),這里值得注意的是,第一次讀入的索引信息不能用DataReader,這是由于Datareader要求與數(shù)據(jù)源的持續(xù)連接,這樣一來(lái)便不允許其他的讀取操作,也就不能再讀取題目的內(nèi)容了。4 系統(tǒng)的測(cè)試第4章 軟 件 測(cè) 試 在軟件生命周期的各個(gè)階段,都有可能會(huì)產(chǎn)生差錯(cuò),雖然在每個(gè)階段結(jié)束之前都有嚴(yán)格的復(fù)審,以期能盡早地發(fā)現(xiàn)錯(cuò)誤。但是,經(jīng)驗(yàn)表明審查并不能發(fā)現(xiàn)所有差錯(cuò)。如果在軟件投入生產(chǎn)性運(yùn)行之前,沒(méi)有發(fā)現(xiàn)并糾正軟件中的大部分錯(cuò)誤,則這些錯(cuò)誤遲早會(huì)在運(yùn)行過(guò)程中暴露出來(lái)甚至?xí)斐蓢?yán)重的后果,等到那時(shí)去改正這些錯(cuò)誤的代價(jià)會(huì)很高。 測(cè)試的目的就是在軟件投入生產(chǎn)性運(yùn)行之前,盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。測(cè)試是對(duì)軟件規(guī)格說(shuō)明、設(shè)計(jì)和編碼的最后復(fù)審,所以軟件測(cè)試貫穿在整個(gè)軟件開(kāi)發(fā)期的全過(guò)程。 軟件測(cè)試的基本概念 測(cè)試是為了發(fā)現(xiàn)程序中的錯(cuò)誤而執(zhí)行程序的過(guò)程,好的測(cè)試方案是盡可能的發(fā)現(xiàn)至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試萬(wàn)案。成功的測(cè)試則是發(fā)現(xiàn)出至今尚未發(fā)現(xiàn)的錯(cuò)誤的測(cè)試。 Dijkstra曾說(shuō):測(cè)試只能證明錯(cuò)誤的存在,但不能證明錯(cuò)誤不存在。所以,測(cè)試并不能保證程序是完全正確的,成功的測(cè)試也不應(yīng)是沒(méi)有發(fā)現(xiàn)錯(cuò)誤的測(cè)試。 軟件測(cè)試的任務(wù) 軟件測(cè)試是軟件開(kāi)發(fā)過(guò)程中的重要階段,是軟件質(zhì)量保證的重要手段。其任務(wù)可歸納為三個(gè)方面: 1) 預(yù)防軟件發(fā)生錯(cuò)誤 2) 發(fā)現(xiàn)改正程序錯(cuò)誤 3) 提供錯(cuò)誤診斷信息 在軟件開(kāi)發(fā)時(shí),應(yīng)該把測(cè)試的設(shè)計(jì)和實(shí)現(xiàn)所做的思考和分析穿插在軟件開(kāi)發(fā)的各個(gè)階段,從而較早地預(yù)防和排除錯(cuò)誤。利用系統(tǒng)設(shè)計(jì)的萬(wàn)法,在精心控制的環(huán)境下,檢驗(yàn)程序,從而發(fā)現(xiàn)程序的錯(cuò)誤。軟件測(cè)試中,必須提供有關(guān)錯(cuò)誤的性質(zhì)、原因和位置的必要的信息,以利于排錯(cuò)。 軟件測(cè)試基本原則 (1)盡早地,不斷地進(jìn)行軟件測(cè)試,把軟件測(cè)試貫穿于開(kāi)發(fā)過(guò)程的始終。從而盡早發(fā)現(xiàn)和預(yù)防錯(cuò)誤,達(dá)到減少軟件開(kāi)發(fā)費(fèi)用和提高軟件質(zhì)量的目的。 (2)測(cè)試實(shí)例應(yīng)由測(cè)試輸入數(shù)據(jù)和對(duì)輸入數(shù)據(jù)所期望 (預(yù)測(cè))的程序結(jié)果兩部分組成。 (3)程序員應(yīng)避免檢查自己編制的程序。 (4)全面檢查每一測(cè)試結(jié)果,以防遺漏。 (5)測(cè)試實(shí)例設(shè)計(jì),應(yīng)包括:有效和期望的輸入條件以及無(wú)效的和不期望的輸入條件。 (6)除檢查程序應(yīng)完成的任務(wù)外,還應(yīng)檢查程序是否做了它不應(yīng)該做的事。(7)一般認(rèn)為:程序中尚未發(fā)現(xiàn)的錯(cuò)誤的數(shù)量與在該程序段已發(fā)現(xiàn)的錯(cuò)誤數(shù)量往往成正比。 軟件測(cè)試基本方法 根據(jù)程序的功能說(shuō)明書(shū)或程序邏輯結(jié)構(gòu),設(shè)計(jì)一組測(cè)試實(shí)例(testcases),在精心控制的環(huán)境下,按測(cè)試實(shí)例作為輸入執(zhí)行程序,然后對(duì)程序的行為進(jìn)行檢驗(yàn),預(yù)定其是否和預(yù)期結(jié)果一致,如不一致,即可發(fā)現(xiàn)程序錯(cuò)誤。 目前,軟件測(cè)試的方法有三種:動(dòng)態(tài)測(cè)試、靜態(tài)測(cè)試和正確性證明。 動(dòng)態(tài)測(cè)試是指通常的上機(jī)測(cè)試,這種方法是使程序有控制地運(yùn)行,并從多種角度觀察程序運(yùn)行時(shí)的行為,以發(fā)現(xiàn)其中的錯(cuò)誤。測(cè)試是否能夠發(fā)現(xiàn)錯(cuò)誤取決于測(cè)試實(shí)例的設(shè)計(jì)。 設(shè)計(jì)測(cè)試實(shí)例的方法一般有兩類:黑箱法和白箱法。 在使用黑箱法設(shè)計(jì)測(cè)試實(shí)例時(shí),測(cè)試人員將程序看成一個(gè)黑箱,也就是說(shuō),他不關(guān)心程序內(nèi)部是如何實(shí)現(xiàn)的,而只是檢查程序是否符合它的功能說(shuō)明,所以使用黑箱法設(shè)計(jì)的測(cè)試用例完全是根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)的。 如用白箱法,則需要了解程序內(nèi)部的結(jié)構(gòu),此時(shí)的測(cè)試用例是根據(jù)程序的內(nèi)部邏輯來(lái)設(shè)計(jì)的,如果想用白箱法發(fā)現(xiàn)程序中所有的錯(cuò)誤,則至少必須使程序中每種可能的路徑都執(zhí)行千次。實(shí)際上這是不可能的,即使測(cè)遍所有的路徑,仍不一定能保證程序符合相應(yīng)的功能要求。關(guān)于黑箱測(cè)試和白箱測(cè)試下面還將詳細(xì)介紹。 靜態(tài)測(cè)試一般是指人工評(píng)審軟件文檔或程序,借以發(fā)現(xiàn)其中的錯(cuò)誤,由于被評(píng)審的文檔或程序不必運(yùn)行,所以稱為是靜態(tài)的。人工評(píng)審的手續(xù)雖然比較簡(jiǎn)單,但事實(shí)證明這是一個(gè)相當(dāng)有效的檢驗(yàn)手段。由于評(píng)審人的能力所限,靜態(tài)測(cè)試顯然不可能發(fā)現(xiàn)所有的錯(cuò)誤。動(dòng)態(tài)測(cè)試和靜態(tài)測(cè)試只能發(fā)現(xiàn)錯(cuò)誤而不能證明程序中不存在錯(cuò)誤,只有借助于程序正確性證明才有可能證明程序的正確性。程序證明最常用的方法是歸納斷言法,它對(duì)程序提出一組命題,如能用數(shù)學(xué)方法證明這些命題成立,就可保證程序中不存在錯(cuò)誤,即它對(duì)所有的輸入都會(huì)產(chǎn)生預(yù)期的正確輸出。但目前正確性證明尚處于理論研究階段,其技術(shù)尚不成熟,并末達(dá)到實(shí)用化階段。因此前兩種測(cè)試手段仍然是有效的手段。閱讀文檔或程序,從而發(fā)現(xiàn)其中的錯(cuò)誤。這種從技術(shù)性和管理角度進(jìn)行的評(píng)審是一種很有效的技術(shù),己被普遍認(rèn)為是保證軟件質(zhì)量的必不可少的措施。軟件評(píng)審可以分為需求復(fù)審,總體設(shè)計(jì)復(fù)審,詳細(xì)設(shè)計(jì)復(fù)審和程序復(fù)審。由于錯(cuò)誤發(fā)現(xiàn)得越早越易修改,而且副作用亦越小,所以開(kāi)發(fā)活動(dòng)和評(píng)審活動(dòng)的并行進(jìn)行是重要的質(zhì)量保證措施之一。評(píng)審有這樣的一些特點(diǎn):(1)能盡早發(fā)現(xiàn)錯(cuò)誤并糾正,所以降低了開(kāi)發(fā)的成本。(2)由于有開(kāi)發(fā)者之外的其他人參加,可吸收各家之長(zhǎng),效果較好。(3)排錯(cuò)比較容易。測(cè)試從跡象斷定錯(cuò)誤存在,還要根據(jù)現(xiàn)象分析,判斷錯(cuò)誤的原因,這是一個(gè)極其困難的過(guò)程。而評(píng)審則是直接檢查軟件文檔本身,當(dāng)發(fā)現(xiàn)錯(cuò)誤時(shí),原因也是顯然的。(4)測(cè)試需要對(duì)一個(gè)個(gè)錯(cuò)誤分別進(jìn)行分析,定位并糾正。而評(píng)審按評(píng)審的標(biāo)準(zhǔn)檢查時(shí),往往可成批地發(fā)現(xiàn)錯(cuò)誤,成批糾正、所以效率較高。(5)測(cè)試發(fā)現(xiàn)錯(cuò)誤時(shí),程序員心理比較緊張,總是急于排錯(cuò),而不能冷靜地考慮修改方案,往往錯(cuò)上加錯(cuò)。而評(píng)審安排在系統(tǒng)開(kāi)發(fā)的早期,發(fā)現(xiàn)錯(cuò)誤后,開(kāi)發(fā)人員一般不緊張,可以較全面地權(quán)衡,選擇修改方案。 軟件測(cè)試技術(shù) 基本概念與測(cè)試有關(guān)的基本概念: (1)單元(unit) 程序中最小的和有意義的部分,由可以是隱含的三部分組成,即由數(shù)據(jù)輸入,加工和輸出組成,單元是可以正式說(shuō)明的程序段。 (2)程序/子程序 由單元組成,程序/子程序內(nèi)部各弗元之間聯(lián)系最為緊密,程序由子程序組成。 (3)子系統(tǒng)/系統(tǒng) 由程序/子程序組成,每個(gè)程序完成獨(dú)立的加工,子系統(tǒng)之間相對(duì)獨(dú)立,有獨(dú)立的數(shù)據(jù)確認(rèn)(檢驗(yàn))機(jī)構(gòu),子系統(tǒng)間有正式的界面。系統(tǒng)是由子系統(tǒng)組成。 (4)程序元素 代表任一程序成分。 黑箱測(cè)試和白箱測(cè)試的實(shí)施 1)黑箱測(cè)試,即功能測(cè)試,測(cè)試時(shí)完全不考慮程序內(nèi)部細(xì)節(jié)、結(jié)構(gòu)和實(shí)現(xiàn)方式。僅檢驗(yàn)程序結(jié)果與說(shuō)明書(shū)的一致性。測(cè)試實(shí)例設(shè)計(jì)完全以說(shuō)明書(shū)為準(zhǔn)。 黑箱測(cè)試不關(guān)心程序內(nèi)部的邏輯,而只是根據(jù)程序的功能說(shuō)明來(lái)設(shè)計(jì)測(cè)試用例。在使用黑箱法時(shí),手頭只需要有程序功能說(shuō)明就可以了。黑箱法分以下幾種:等價(jià)分類法、邊緣值分析法、因果圖法、錯(cuò)誤推測(cè)法。 2)白箱測(cè)試,即結(jié)構(gòu)測(cè)試,它與程序內(nèi)部結(jié)構(gòu)相關(guān),要利用程序結(jié)構(gòu)的實(shí)現(xiàn)細(xì)節(jié)設(shè)計(jì)測(cè)試實(shí)例。它將涉及程序設(shè)計(jì)風(fēng)格、控制方法、源語(yǔ)句、數(shù)據(jù)庫(kù)設(shè)計(jì)、編碼細(xì)節(jié)。 白箱測(cè)試時(shí)將包括: 語(yǔ)
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1