版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
word文檔可自由復(fù)制編輯摘要推廣普通話是新時期語言文字工作的首要任務(wù),對提高全民族的科學(xué)文化素質(zhì)有重要意義。國家普通話水平測試是我國為加快共同語普及進程、提高全社會普通話水平而設(shè)置的一種語言測試制度。傳統(tǒng)的面對面的測試模式已經(jīng)不能滿足當前的普通話測試需要,引進現(xiàn)代信息技術(shù),實現(xiàn)評測過程的自動化,網(wǎng)絡(luò)化成為普通話培訓(xùn)測試的新的發(fā)展方向,既能夠有效降低測試成本,提高工作效率,又能夠加強對測試的管理,為管理和監(jiān)控測試工作的質(zhì)量提供了很好的支撐。測試員質(zhì)量管理系統(tǒng)是基于普通話水平測試網(wǎng)絡(luò)管理系統(tǒng)而構(gòu)建的,實現(xiàn)對測試的測試質(zhì)量進行管理和監(jiān)控,提高測試員測試質(zhì)量的定量依據(jù),為各級培訓(xùn)測試中心對測試員的質(zhì)量管理提供有效參考。同時建立樣卷系統(tǒng),加強對測試員業(yè)務(wù)能力的培訓(xùn)和考核,對于測試員隊伍的建設(shè)有著非常重要的意義。本文介紹測試員質(zhì)量管理系統(tǒng)的基本實現(xiàn)思路,功能,以及所用到的技術(shù)。分析了測試員質(zhì)量管理系統(tǒng)基本原理。對測試員質(zhì)量管理系統(tǒng)進行了模塊化分析,重點介紹了測試員登陸,測試情況統(tǒng)計和樣卷管理這幾個模塊。關(guān)鍵詞測試員質(zhì)量管理系統(tǒng),測試員測試情況統(tǒng)計,樣卷管理ABSTRACTThepromotionofPutonghualanguageisaprimarytaskinNewEraandhasgreatsignificanceofupgradingthenation'sscientificandculturalqualities.NationalPutonghuaShuipingCeshii(abbriv.AsPSC)isaLanguageTestingSystem,itcanspeeduptheprocessofpopularizingthecommonlanguageandraisethePutonghuastandardofthewholesociety.Thetraditionalface-to-facetestmodehasbeenunabletomeetthecurrentneedsofPutonghuatest.Introductionmoderninformationtechnology,implementautomationofevaluationprocessandnetworkisanewdirectionofdevelopmentoftesting,wecanreducethetestingcosteffectively,raiseworkefficiency
andstrengthenthemanagementofthetestinganditwillprovideabettersupportformanagementandmonitortest.Tester'squalitymanagementsystemisbasedontheChineseProficiencyTestNMSbuilt,itcanachievequalitymanagementandmonitoring,improvethequalityoftesterstesting,supplyeffectivereferenceforthealllevelsTrainingandTestingCenterqualityofmembersofmanagement.Atthesametimeitbuildavolumesystemwhichcanstrengthenthetester'scapacityoftrainingandassessment,andhasaveryimportantsignificanceforthetestteambuilding.Thispaperintroducesmethodandfunctionsofrealizationandtechnologyusedintestqualitymanagementsystem.Analysisthebasicprinciplesofqualitymanagementsystem.Analysisthetestqualitymanagementsystembymodule.Weemphaticallyintroducethelandingofthetesters,thestatisticsoftestsituationandvolumemanagement.KeywordsPSC,testersteststatistics,sampleexampapermanagement目錄摘要 IABSTRACT II第1章引言 11.1背景 11.2研究內(nèi)容 1第2章測試員質(zhì)量管理系統(tǒng)技術(shù)框架 22.1總體技術(shù)概述 22.2系統(tǒng)工作環(huán)境 22.3系統(tǒng)使用技術(shù) 42.3.1Ajax技術(shù) 42.3.2CSV技術(shù) 52.3.3JavaBean技術(shù) 52.3.4框架(frame)技術(shù) 6第3章測試員質(zhì)量管理系統(tǒng)設(shè)計 73.1數(shù)據(jù)庫設(shè)計 73.1.1概念結(jié)構(gòu)設(shè)計 73.1.2邏輯結(jié)構(gòu)設(shè)計 73.2各功能模塊概要 123.2.1登陸模塊 123.2.2測試法規(guī) 123.2.3樣卷管理 133.2.4測試員測試情況統(tǒng)計 14第4章登陸模塊設(shè)計與實現(xiàn) 154.1登陸模塊驗證流程 154.2登陸模塊詳細設(shè)計 154.3本章小結(jié) 18第5章樣卷管理模塊設(shè)計與分析 195.1CSV解析 195.2樣卷和樣卷答案導(dǎo)入 235.3樣卷和樣卷答案查看與說明 275.4本章小結(jié) 29第6章測試員測試情況統(tǒng)計模塊設(shè)計與實現(xiàn) 306.1測試員測試情況統(tǒng)計模塊設(shè)計 306.2本章小結(jié) 38第7章結(jié)論 397.1總結(jié) 397.2展望未來 39致謝 40參考文獻 41第1章引言1.1背景推廣普通話是新時期語言文字工作的首要任務(wù),對提高全民族的科學(xué)文化素質(zhì)有重要意義[1]。語言文字是信息的主要載體,是協(xié)調(diào)社會生產(chǎn)和社會生活的交際工具[2]。推廣普通話,普及教育,提高全民族的文化素質(zhì),是文化建設(shè)面臨的緊迫任務(wù)[3]。國家普通話水平測試作為推普工作的一個重要手段,在共同語普過程中有及其重要的作用。普通話水平測試員在普通話水平測試中具有特殊的作用和地位,測試員的質(zhì)量在一定程度上決定了推普的質(zhì)量[4]。因此加強測試員隊伍建設(shè),建立有效的業(yè)務(wù)能力監(jiān)控手段,合理地對測試員的工作進行考核是測試員隊伍建設(shè)的基礎(chǔ)工作之一,是提高普通話水平測試信度和效度的有效手段[5]。國家教育部頒布的《普通話水平測試管理規(guī)定》第十三條明確指出:“在同級語言文字工作辦事機構(gòu)指導(dǎo)下,各級測試機構(gòu)定期考察測試員的業(yè)務(wù)能力和工作表現(xiàn),并給予獎懲?!睖y試員考核工作是一項政策性,科學(xué)性很強的工作,現(xiàn)階段加強對測試員隊伍的考核,建立健全科學(xué)的普通話水平測試員綜合考核指標體系,對深化測試員隊伍管理,優(yōu)化測試員隊伍結(jié)構(gòu),起著十分重要的作用[6]。測試員質(zhì)量管理系統(tǒng)是基于普通話水平測試網(wǎng)絡(luò)管理系統(tǒng)而構(gòu)建的,實現(xiàn)對測試的測試質(zhì)量進行管理和監(jiān)控,提高測試員測試質(zhì)量的定量依據(jù),為各級培訓(xùn)測試中心對測試員的質(zhì)量管理提供有效參考[7]?;诂F(xiàn)代信息技術(shù)建立的網(wǎng)絡(luò)化測試管理模式為測試中心加強監(jiān)控和管理、降低測試成本,提高工作效率,改善工作質(zhì)量提供了很好的支撐[8]。1.2研究內(nèi)容本軟件研究的基本內(nèi)容是:在普通話水平測試網(wǎng)絡(luò)管理系統(tǒng)的基礎(chǔ)上,設(shè)計并實現(xiàn)測試員測試質(zhì)量管理系統(tǒng),實現(xiàn)對測試員測試質(zhì)量的實時的動態(tài)的管理,為測試中心實現(xiàn)量化考評測試員的工作提供有效的信息。主要解決以下幾個問題:①.登陸測試員管理系統(tǒng);②.測試員法規(guī);③.樣卷的導(dǎo)入與查看;④.測試員測試情況統(tǒng)計;⑤.系統(tǒng)幫助。第2章測試員質(zhì)量管理系統(tǒng)技術(shù)框架2.1總體技術(shù)概述測試員質(zhì)量管理系統(tǒng)主要是用JSP動態(tài)網(wǎng)頁技術(shù)結(jié)合javabean來實現(xiàn)主要功能,其中登陸模塊是用ajax的異步驗證,樣卷導(dǎo)入是利用csv解析導(dǎo)入到數(shù)據(jù)庫中,其他是用了框架技術(shù)。2.2系統(tǒng)工作環(huán)境本系統(tǒng)以ApacheTomcat5.0作為web容器,MacromediaDreamweaver8作為開發(fā)工具,MicrosoftSQLServer2000作為后臺數(shù)據(jù)庫。Eclipse作為javabean文件的編寫工具。Tomcat是Apache軟件基金會(ApacheSoftwareFoundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發(fā)而成。由于有了Sun的參與和支持,最新的Servlet和JSP規(guī)范總是能在Tomcat中得到體現(xiàn),Tomcat5支持最新的Servlet2.4和JSP2.0規(guī)范。因為Tomcat技術(shù)先進、性能穩(wěn)定,而且免費,因而深受Java愛好者的喜愛并得到了部分軟件開發(fā)商的認可,成為目前比較流行的Web應(yīng)用服務(wù)器。Tomcat是一個小型的輕量級應(yīng)用服務(wù)器,在中小型系統(tǒng)和并發(fā)訪問用戶不是很多的場合下被普遍使用,是開發(fā)和調(diào)試JSP程序的首選。對于一個初學(xué)者來說,可以這樣認為,當在一臺機器上配置好Apache服務(wù)器,可利用它響應(yīng)對HTML頁面的訪問請求。實際上Tomcat部分是Apache服務(wù)器的擴展,但它是獨立運行的,所以當你運行tomcat時,它實際上作為一個與Apache獨立的進程單獨運行的。Dreamweaver是美國MACROMEDIA公司開發(fā)的集網(wǎng)頁制作和管理網(wǎng)站于一身的所見即所得網(wǎng)頁編輯器,它是第一套針對專業(yè)網(wǎng)頁設(shè)計師特別發(fā)展的視覺化網(wǎng)頁開發(fā)工具,利用它可以輕而易舉地制作出跨越平臺限制和跨越瀏覽器限制的充滿動感的網(wǎng)頁。
MacromediaDreamweaver8是建立Web站點和應(yīng)用程序的專業(yè)工具。它將可視布局工具、應(yīng)用程序開發(fā)功能和代碼編輯支持組合在一起,其功能強大,使得各個層次的開發(fā)人員和設(shè)計人員都能夠快速創(chuàng)建界面吸引人的基于標準的網(wǎng)站和應(yīng)用程序。從對基于CSS的設(shè)計的領(lǐng)先支持到手工編碼功能,Dreamweaver提供了專業(yè)人員在一個集成、高效的環(huán)境中所需的工具。開發(fā)人員可以使用Dreamweaver及所選擇的服務(wù)器技術(shù)來創(chuàng)建功能強大的Internet應(yīng)用程序,從而使用戶能連接到數(shù)據(jù)庫、Web服務(wù)和舊式系統(tǒng)。SQLServer是一個關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它最初是由MicrosoftSybase和Ashton-Tate三家公司共同開發(fā)的,于1988年推出了第一個OS/2版本。在WindowsNT推出后,Microsoft與Sybase在SQLServer的開發(fā)上就分道揚鑣了,Microsoft將SQLServer移植到WindowsNT系統(tǒng)上,專注于開發(fā)推廣SQLServer的WindowsNT版本。Sybase則較專注于SQLServer在UNIX操作系統(tǒng)上的應(yīng)用。SQLServer2000是Microsoft公司推出的SQLServer數(shù)據(jù)庫管理系統(tǒng)的最新版本,該版本繼承了SQLServer7.0版本的優(yōu)點,同時又比它增加了許多更先進的功能。具有使用方便可伸縮性好與相關(guān)軟件集成程度高等優(yōu)點,可跨越從運行MicrosoftWindows98的膝上型電腦到運行MicrosoftWindows2000的大型多處理器的服務(wù)器等多種平臺使用。Eclipse是以個集成開發(fā)環(huán)境(IntegratedDevelopmentEnvironment)。其前身是IBM的VisualAgeforJava(VA4J),IBM投入了3千萬美元。Eclipse是可擴展的體系結(jié)構(gòu),可以集成不同軟件開發(fā)供應(yīng)商開發(fā)的產(chǎn)品,將他們開發(fā)的工具和組件加入到Eclipse平臺中。隨Java應(yīng)用的廣泛,各大主要軟件供應(yīng)商都參與到Eclipse架構(gòu)開發(fā)中,使得Eclipse插件數(shù)量與日增加。其中,IBM的WebSphereStudioWorkbench是突出的例子。Eclipse平臺的免費,架構(gòu)的成熟,行業(yè)協(xié)會Eclipse基金會的支持,使得很多的Java開發(fā)采用了Eclipse架構(gòu)。如今,IBM通過起附屬的研發(fā)機構(gòu)ObjectTechnologiesInternational(OTI),繼續(xù)引領(lǐng)Eclipse開發(fā)。插件(plug-in)是遵循一定規(guī)范的應(yīng)用程序結(jié)構(gòu)編寫出來的程序,也成為擴展,不同于組件。Eclipse正是一個精心設(shè)計的、可擴展的核心結(jié)構(gòu)。通過插件的形式,將根據(jù)自己需要選擇的擴展開發(fā)工具集成到Eclipse平臺核心。因此使得可以避免因過去不兼容工具帶來的麻煩,降低開發(fā)出成本,大幅度提高工作效率。Eclipse本身作為一個開放源碼的軟件項目,它主要包含3個子項目:平臺子項目,Java開發(fā)工具(JDT-java)子項目,插件開發(fā)環(huán)境(PDE-plug-in)子項目。其中,Java開發(fā)工具JDT為開發(fā)人員提供大量的集成工具集,主要為Java應(yīng)用程序提供編程接口(API)。Eclipse軟件開發(fā)工具箱(SDK)是主要有Eclipse本身的項目軟件和其他一些開發(fā)源嗎的第三方軟件組成。次者,插件開發(fā)環(huán)境(JDT)則為插件開發(fā)和測試提供相應(yīng)的環(huán)境,如:創(chuàng)建插件清單文件、定義擴展點等。2.3系統(tǒng)使用技術(shù)2.3.1Ajax技術(shù)AJAX全稱為“AsynchronousJavaScriptandXML”(異步JavaScript和XML),是指一種創(chuàng)建交互式網(wǎng)頁應(yīng)用的網(wǎng)頁開發(fā)技術(shù)。Ajax是最近非常流行的一種Web開發(fā)技術(shù),由于其具有異步的數(shù)據(jù)請求和Web頁面數(shù)據(jù)的無刷新改變等特征,被廣泛用于對應(yīng)用性能與用戶體驗要求都很高的Web2.0與富客戶端的Web應(yīng)用中。傳統(tǒng)的web應(yīng)用允許用戶填寫表單(form),當提交表單時就向web服務(wù)器發(fā)送一個請求。服務(wù)器接收并處理傳來的表單,然後返回一個新的網(wǎng)頁。這個做法浪費了許多帶寬,因為在前後兩個頁面中的大部分HTML代碼往往是相同的。由于每次應(yīng)用的交互都需要向服務(wù)器發(fā)送請求,應(yīng)用的響應(yīng)時間就依賴于服務(wù)器的響應(yīng)時間。這導(dǎo)致了用戶界面的響應(yīng)比本地應(yīng)用慢得多。與此不同,AJAX應(yīng)用可以僅向服務(wù)器發(fā)送并取回必需的數(shù)據(jù),它使用SOAP或其它一些基于XML的webservice接口,并在客戶端采用JavaScript處理來自服務(wù)器的響應(yīng)。因為在服務(wù)器和瀏覽器之間交換的數(shù)據(jù)大量減少,結(jié)果我們就能看到響應(yīng)更快的應(yīng)用。同時很多的處理工作可以在發(fā)出請求的客戶端機器上完成,所以Web服務(wù)器的處理時間也減少了。Ajax應(yīng)用程序的優(yōu)勢在于:通過異步模式,提升了用戶體驗;優(yōu)化了瀏覽器和服務(wù)器之間的傳輸,減少不必要的數(shù)據(jù)往返,減少了帶寬占用;Ajax引擎在客戶端運行,承擔(dān)了一部分本來由服務(wù)器承擔(dān)的工作,從而減少了大用戶量下的服務(wù)器負載。Ajax的核心是JavaScript對象XmlHttpRequest。該對象在InternetExplorer5中首次引入,它是一種支持異步請求的技術(shù)。簡而言之,XmlHttpRequest使您可以使用JavaScript向服務(wù)器提出請求并處理響應(yīng),而不阻塞用戶。Ajax的工作原理相當于在用戶和服務(wù)器之間加了—個中間層,使用戶操作與服務(wù)器響應(yīng)異步化。這樣把以前的一些服務(wù)器負擔(dān)的工作轉(zhuǎn)嫁到客戶端,利于客戶端閑置的處理能力來處理,減輕服務(wù)器和帶寬的負擔(dān),從而達到節(jié)約ISP的空間及帶寬租用成本的目的。2.3.2CSV技術(shù)CSV文件,也叫逗號分隔值文件,英文名稱COMMASEPARATEDVALUE。具體格式規(guī)則如下:①、開頭是不留空,以行為單位;②、可含或不含列名,含列名則居文件第一行;③、一行數(shù)據(jù)不垮行,無空行;④、以半角符號,作分隔符,列為空也要表達其存在;⑤、列內(nèi)容如存在,,則用“”包含起來;⑥、列內(nèi)容如存在“”則用“”“”包含;⑦、文件讀寫時引號,逗號操作規(guī)則互逆。8內(nèi)碼格式不限,可為ASCII、Unicode或者其他。我們采用Unicode編碼的CSV文件作為數(shù)據(jù)文件的基本格式,降低數(shù)據(jù)解析的復(fù)雜度。2.3.3JavaBean技術(shù)JSP網(wǎng)頁最大的特點之一就是能夠結(jié)合JavaBean技術(shù)來擴充網(wǎng)頁中的程序。JavaBean是一中專門為軟件開發(fā)人員設(shè)計的全新組件技術(shù),它為軟件開發(fā)人員提供了一種最佳的問題解決方案。使用JavaBean可以創(chuàng)建可重新使用的平臺獨立組件。然而,JavaBean的最大優(yōu)點是其強大的健壯性[9]。JavaBean組件被稱為Bean,它是遵循特定命名規(guī)則的Java對象。JavaBean是一種JAVA語言寫成的可重用組件。為寫成JavaBean,類必須是具體的和公共的,并且具有無參數(shù)的構(gòu)造器。JavaBean通過提供符合一致性設(shè)計模式的公共方法將內(nèi)部域暴露稱為屬性。眾所周知,屬性名稱符合這種模式,其他Java類可以通過自省機制發(fā)現(xiàn)和操作這些JavaBean屬性。用戶可以使用JavaBean將功能、處理、值、數(shù)據(jù)庫訪問和其他任何可以用java代碼創(chuàng)造的對象進行打包,并且其他的開發(fā)者可以通過內(nèi)部的JSP頁面、Servlet、其他JavaBean、applet程序或者應(yīng)用來使用這些對象。用戶可以認為JavaBean提供了一種隨時隨地的復(fù)制和粘貼的功能,而不用關(guān)心任何改變[10]。2.3.4框架(frame)技術(shù)所謂框架便是網(wǎng)頁畫面分成幾個框窗,同時取得多個URL。只要<FRAMESET><FRAME>即可,而所有框架標記要放在一個總起的html檔,這個檔案只記錄了該框架如何劃分,不會顯示任何資料,所以不必放入<BODY>標記,瀏覽這框架必須讀取這檔案而不是其它框窗的檔案。<FRAMESET>是用以劃分框窗,每一框窗由一個<FRAME>標記所標示,<FRAME>必須在<FRAMESET>范圍中使用。第3章測試員質(zhì)量管理系統(tǒng)設(shè)計3.1數(shù)據(jù)庫設(shè)計3.1.1概念結(jié)構(gòu)設(shè)計將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計。概念結(jié)構(gòu)獨立于數(shù)據(jù)庫邏輯結(jié)構(gòu),也獨立于支持數(shù)據(jù)庫的DBMS。它是現(xiàn)實世界與機器世界的中介。本系統(tǒng)是采用至頂向下的方法來設(shè)計的。3.1.2邏輯結(jié)構(gòu)設(shè)計表center存放登陸信息包括用戶名,密碼,登陸中心,其結(jié)構(gòu)如表3-1所示:表3-1center表列名數(shù)據(jù)類型長度允許空loginNamevarchar50是namevarchar50是passwardvarchar50是表t_centerMsg存放存放公告,測試規(guī)定和測試計劃的標題,內(nèi)容,發(fā)布時間和類型,其結(jié)構(gòu)如表3-2所示:表3-2t_centerMsg表列名數(shù)據(jù)類型長度允許空titlenvarchar100是contentnvarchar4000是publishDatedatetime8是typenvarchar50是表judger存放測試員的id和姓名和登陸名等其他信息,其結(jié)構(gòu)如表3-3所示:表3-3judger表列名數(shù)據(jù)類型長度允許空ID(主鍵)char10否namevarchar50是tidchar10是sfzvarchar50是agevarchar50是sexvarchar50是workPlacevarchar50是phonevarchar50是eMailvarchar50是judgerRankvarchar50是測試試卷表存放試卷號,一審測試員id,二審測試員id,復(fù)審測試員id,測試時間,提交測試時間,一審分數(shù),二審分數(shù),復(fù)審分數(shù),其結(jié)構(gòu)如表3-4所示:表3-4測試試卷表列名數(shù)據(jù)類型長度允許空examPaperID(主鍵)nvarchar50否judge1IDnvarchar50是GetTimedatetime8是SubmitTimedatetime8是judge1Resultfloat8是judge2IDnvarchar50是judge2Resultfloat8是arbitratorIDnvarchar50是arbitratorResultfloat8是表countTemple1用來存放試卷號,測試員id,測試時間,測試時間,測試成績,最終成績,其結(jié)構(gòu)如表3-5所示:表3-5countTemple1表列名數(shù)據(jù)類型長度允許空exampaperID(主鍵)varchar50否namevarchar50是testTimevarchar50是TestRvarchar50是resultvarchar50是樣卷表用來存放樣卷號,字號,詞號,文章一編號,文章二編號,命題說話一編號,命題說話二編號,最終分數(shù),其結(jié)構(gòu)如表3-6所示:表3-6樣卷表列名數(shù)據(jù)類型長度允許空eId(主鍵)varchar50否awordIDvarchar50是wordIDvarchar50是article1IDvarchar50是article2IDvarchar50是speak1IDvarchar50是speak2IDvarchar50是sorcefloat8是樣卷答案表用來存放樣卷號,錯字信息,錯詞信息,其結(jié)構(gòu)如表3-7所示:表3-7樣卷答案表列名數(shù)據(jù)類型長度允許空eID(主鍵)varchar50否errorAwordvarchar4000是errorWordvarchar4000是測試員表,測試試卷表,試卷表關(guān)系圖3-1所示:圖3-1關(guān)系圖在這個關(guān)系圖中表t_examPaperJudge中的examPaperID是表t_examPaper的外碼,表t_judgeInfo中的ID是表t_examPaperJudge的外碼。樣卷表和樣卷答案表的關(guān)系圖如圖3-2所示:圖3-2關(guān)系圖這個關(guān)系圖中樣卷答案表ePaperKey中的主鍵eID是樣卷表ePaper中的外碼。t_testTemple,t_testTemple2,part這個3個表之間的結(jié)構(gòu)圖如圖3-3所示:圖3-3關(guān)系圖表part中的exampaperId是表t_testTemple和表t_testTemple2的外碼。3.2各功能模塊概要3.2.1登陸模塊這個模塊的主要功能就是登陸測試員質(zhì)量管理系統(tǒng),通過輸入用戶名和用戶密碼,選擇所屬中心即可登陸該系統(tǒng)。如圖3-4所示:圖3-4登陸3.2.2這個模塊的主要功能是顯示管理規(guī)定,測試計劃安排,省中心公告。用框架frame來實現(xiàn)的。點擊管理規(guī)定后顯示如圖3-5所示:圖3-5規(guī)定點擊省中心公告后顯示省中心公告的標題和發(fā)布時間,如圖3-6所示:圖3-6省中心公告點擊標題就能顯示對應(yīng)的內(nèi)容。例如點擊國家通用語言文字的使用就能彈出該文章。3.2.3樣卷就是由專家編寫的普通水平測試的試卷,經(jīng)過了很多專家測試,因此樣卷的答案具有非常高的正確性,可以作為測試員培訓(xùn)或水平考核的主要依據(jù)之一。這個模塊的功能主要有樣卷,樣卷答案的導(dǎo)入和樣卷,樣卷答案的查看和樣卷說明??梢酝ㄟ^點擊樣卷導(dǎo)入來導(dǎo)入樣卷。其格式為.csv格式的,可以選擇自行輸入導(dǎo)入的路徑。如圖3-7所示:圖3-7樣卷導(dǎo)入3.2.4這個模塊的功能主要是統(tǒng)計測試員的測試情況。主要是統(tǒng)計測試員測試的試卷正確率等信息,用戶可以通過輸入測試員的登錄名來查詢,也可點擊測試員的登錄名來查詢。其查詢結(jié)果包括測試試卷號,測試時間,測試提交時間,測試的正確率等信息。第4章登陸模塊設(shè)計與實現(xiàn)4.1登陸模塊驗證流程該模塊是用Ajax的異步驗證來實現(xiàn)的。利用ajax采用將數(shù)據(jù)附在url后提交到服務(wù)程序的傳值方式,在服務(wù)器端驗證完畢返回結(jié)果,再由頁面程序?qū)⒔Y(jié)果現(xiàn)在在頁面上。首先用戶按照提示輸入登陸信息,輸入后提交。<inputwidth="60"type="submit"name="button"value="提交"onclick="checkUser()">當用戶按下確定后運行script,該script是放在check.js中。當運行此script的時候就會把登陸信息傳到loginjudge.jsp中。由loginjudge.jsp來接受并處理該信息。然后將處理后的信息返回給登陸界面顯示4.2登陸模塊詳細設(shè)計表center是用來存放用戶登陸信息如表4-1所示:表4-1center表列名數(shù)據(jù)類型長度允許空namenvarchar50是loginNamenvarchar50是passwardnvarchar50是在登陸頁面中輸入用戶名和密碼,如圖4-1所示:圖4-1登陸界面當點擊提交后運行script,該script存放在check.js中。Check.jsvarxmlHttp;functioncreateXMLHttpRequest(){ if(window.ActiveXObject){ xmlHttp=newActiveXObject("Microsoft.XMLHTTP"); } elseif(window.XMLHttpRequest){ xmlHttp=newXMLHttpRequest(); }}functioncheckUser(){ createXMLHttpRequest(); varname=document.getElementById("name").value;//得到用戶名 varpassword=document.getElementById("password").value;//得到密碼 varcenter=document.getElementById("center").value;//得到中心信息 varurl="loginjudge.jsp?name="+name+"&password="+password+"¢er="+center; xmlHttp.open("GET",url,true); xmlHttp.onreadystatechange=showResult; xmlHttp.send(null);}functionshowResult(){ if(xmlHttp.readystate==4){ if(xmlHttp.status==200){//信息已經(jīng)成功返回,開始處理信息 varresult=xmlHttp.responseText; //在界面顯示返回結(jié)果 document.getElementById("checkResult").innerHTML="<b>"+result+"</b>"; } }然后將用戶信息傳到loginjudge.jsp中處理。接受信息用戶Stringname=request.getParameter("name");request.getSession(true);session.setAttribute("name",name);Stringpassword=request.getParameter("password");Stringcenter=request.getParameter("center");處理信息Stringsql="select*fromt_centerwhereloginName='"+name+"'andpassward='"+password+"'";ResultSetrs=Bean.executeQuery(sql);if(rs.next()){ response.sendRedirect("loginright.jsp");}else{out.write("<fontcolor=red>用戶名或密碼錯誤</font>");}當輸入的用戶名或密碼錯誤是提示錯誤正確是轉(zhuǎn)到loginright.jsp中。loginright.jsp中<ahref="login.jsp?name=<%=name%>"target="_self">驗證正確點此登陸</a>然后將該信息返回給登陸界面提示用戶驗證成功,可以進入系統(tǒng)。如圖4-2所示:圖4-2登陸正確界面4.3本章小結(jié)這章主要是介紹利用Ajax來實現(xiàn)用戶登陸的功能,ajax與一般的表單提交不同,不需要刷新頁面。這使得Web應(yīng)用程序更為迅捷地回應(yīng)用戶動作,并避免了在網(wǎng)絡(luò)上發(fā)送那些沒有改變過的信息。這里有幾個問題要討論:第一個是用戶登陸信息的提取用到如下語句。varname=document.getElementById("name").value;varpassword=document.getElementById("password").value;varcenter=document.getElementById("center").value;這里我嘗試過這樣寫varname=document.getElementByName("name").value;但出現(xiàn)無法得到內(nèi)容,必須要以Id才能得到value值。第二個問題就是調(diào)試js的方法,可以通過顯示一個窗口的方法來一步步來調(diào)試。如window.alert(name);來顯示name的值看看是否獲取到了。第5章樣卷管理模塊設(shè)計與分析5.1CSV解析樣卷和樣卷的答案是采用Unicode編碼的CSV文件作為數(shù)據(jù)文件的基本格式。因此需要對CSV進行解析。第2章中已經(jīng)描述了CSV的格式是以逗號作為分隔符,因此可以進行如下的解析:UtilCla..javapublicclassUtilCla{publicstaticStringCSVEncode(Stringin){//csv編碼Stringout="";if(in==null)returnout;out=in.replaceAll("&","&");out=out.replaceAll("\"",""");returnout;}publicstaticStringCSVDecode(Stringin){//csv解碼Stringout="";if(in==null)returnout;out=in.replaceAll(""","\"");out=out.replaceAll("&","&");returnout;}}CSVCreater.javapackageinfo.csv;importjava.io.FileOutputStream;importjava.io.IOException;importinfo.csv.UtilCla;publicclassCSVCreater{//創(chuàng)建csvprivateFileOutputStreamfos=null;privateStringBuffersb=null;privatebooleanconvertFlag=false;publicstaticfinalStringDEL_CHAR=",";publicstaticfinalStringAV_CHAR="\"";publicCSVCreater(Stringarg)throwsIOException{//拋出異常處理fos=newFileOutputStream(arg,false);sb=newStringBuffer();}publicvoidsetData(Stringdata){//設(shè)置時間格式if(convertFlag)data=UtilCla.CSVEncode(data);sb.append(AV_CHAR);sb.append(data);sb.append(AV_CHAR);sb.append(DEL_CHAR);}publicvoidsetConvertFlag(booleanb){//設(shè)置標記convertFlag=b;}publicvoidwriteLine(){if(sb.charAt(sb.length()-1)==',')sb.delete(sb.length()-1,sb.length());sb.append("\r\n");}publicvoidwriteDataByLine(String[]args){for(inti=0;i<args.length;i++)setData(args[i]);writeLine();}publicvoidclose()throwsIOException{//關(guān)閉try{fos.write(sb.toString().getBytes());}catch(IOExceptione){throwe;}finally{fos.close();//關(guān)閉文件讀取}}CSVAnalysis.javapackageinfo.csv;importjava.io.BufferedReader;importjava.io.FileInputStream;importjava.io.IOException;importjava.io.InputStreamReader;importjava.util.ArrayList;importinfo.csv.UtilCla;publicclassCSVAnalysis{//csv方法解析privateInputStreamReaderfr=null;privatebooleanconvertFlag=false;privateArrayListdataContainer=newArrayList();//新建數(shù)組publicstaticfinalStringDEL_CHAR=",";publicstaticfinalStringAV_CHAR="\"";publicCSVAnalysis(Stringf)throwsIOException{//異常處理fr=newInputStreamReader(newFileInputStream(f));}publicvoidsetConvertFlag(booleanb){//設(shè)置標記convertFlag=b;}publicArrayListanalysis()throwsIOException{//異常處理BufferedReaderbr=newBufferedReader(fr);Stringrec=null;try{while((rec=br.readLine())!=null){ArrayListalLine=analysisLine(rec);dataContainer.add(alLine);}}catch(IOExceptione){throwe;}finally{br.close();}returndataContainer;}privateArrayListanalysisLine(StringstrLine){ArrayListal=newArrayList();//新建一個數(shù)組用于存放結(jié)果String[]dataArr=strLine.split(DEL_CHAR);for(inti=0;i<dataArr.length;i=i+1){if(convertFlag)al.add(UtilCla.CSVDecode(dataArr[i]));//添加到數(shù)組中elseal.add(dataArr[i]);//添加到數(shù)組中}returnal;}publicvoidclose()throwsIOException{//關(guān)閉fr.close();}}通過這個3個java就能解析csv文件,用于樣卷和樣卷答案的導(dǎo)入5.2樣卷和樣卷答案導(dǎo)入這個模塊的主要功能是導(dǎo)入樣卷和樣卷答案。樣卷存放在ePaper中,如表5-1所示,樣卷答案存放在ePaperKey中,如表5-2所示:表5-1樣卷表列名數(shù)據(jù)類型長度允許空eId(主鍵)varchar50否awordIDvarchar50是wordIDvarchar50是article1IDvarchar50是article2IDvarchar50是speak1IDvarchar50是speak2IDvarchar50是sorcefloat8是eId是樣卷號,awordID為字號,wordID是詞號,article1ID是第一篇文章的編號,article2ID是第2篇文章的編號,speak1ID是第一篇命題說話的編號,speak2ID是第二篇命題說話的編號,sorce是樣卷的成績。表5-2樣卷答案表列名數(shù)據(jù)類型長度允許空eID(主鍵)varchar50否errorAwordvarchar4000是errorWordvarchar4000是eID是樣卷號,errorAword是樣卷的錯字信息,errorWord是樣卷的錯詞信息。由于錯字和錯詞信息所占用的存儲空間比較大,在設(shè)計樣卷答案表時數(shù)據(jù)項errorAword和errorWord長度要設(shè)成4000,這樣設(shè)的目的是為了能存放的下信息,如果是50的話就會導(dǎo)致插入數(shù)據(jù)失敗,因此要改成4000.在這個csvInfo.jsp這個頁面中提示用戶輸入樣卷和樣卷答案路徑:<formname="form1"action="doCsvInfo.jsp">選擇要導(dǎo)入的樣卷路徑(.csv): <inputtype="file"name="examPaper"id="examPaper"><p>選擇要導(dǎo)入的樣卷答案路徑(.csv):<inputtype="file"name="examPaperKey"id="examPaperKey"><p><inputtype="submit"name="submit"value="確定"></form>通過action=”doCsvInfo.jsp”來提交到doCsvInfo.jsp這個頁面來處理。樣卷和樣卷答案的導(dǎo)入如圖5-1所示:圖5-1選擇導(dǎo)入文件首先在doCsvInfo.jsp.jsp這個頁面中首先獲取樣卷和樣卷答案的路徑:StringexamPaperPath=request.getParameter("examPaper");/*獲取樣卷路徑*/StringexamPaperKeyPath=request.getParameter("examPaperKey");/*獲取樣卷答案路徑*/然后通過這個路徑對csv文件進行解析,這是對樣卷csv文件的解析:******解析樣卷csv文件******CSVAnalysiscsvAna=newCSVAnalysis(examPaperPath);//新建解析CSV文件路徑csvAna.setConvertFlag(true);ArrayListal=csvAna.analysis();//新建一個可變長數(shù)組來存放解析結(jié)果String[][]a=newString[al.size()][9];//新建一個數(shù)組來存放解析結(jié)果for(inti=0;i<al.size();i++){//外循環(huán)控制行ArrayListal1=(ArrayList)al.get(i);for(intj=0;j<al1.size();j++){//內(nèi)循環(huán)控制列//out.print(al1.get(j)+"|"); //String[][]a=newString[al.size()][al1.size()];a[i][j]=(String)al1.get(j);//把解析的數(shù)據(jù)存放到二維數(shù)組中 //out.print(a[i][j]+"|");} //out.print("==");}csvAna.close();//關(guān)閉解析然后導(dǎo)入到數(shù)據(jù)庫中的表ePaper中:******將樣卷導(dǎo)入到數(shù)據(jù)庫中******for(inti=0;i<al.size();i++){StringeId=a[i][0];/*獲取試卷編號*///out.print(eId);StringawordID=a[i][1];/*獲取字號*/StringwordID=a[i][2];/*獲取詞號*/Stringarticle1ID=a[i][3];/*獲取文章一編號*/Stringarticle2ID=a[i][4];/*獲取文章二編號*/Stringspeak1ID=a[i][5];/*獲取命題說話一編號*/Stringspeak2ID=a[i][6];/*獲取命題說話二編號*/Stringsorce=a[i][7];/*獲取最終分數(shù)*/Stringrank=a[i][8];Stringinsertsql="insertintoePaper(eId,awordID,wordID,article1ID,article2ID,speak1ID,speak2ID,sorce,rank)values('"+eId+"','"+awordID+"','"+wordID+"','"+article1ID+"','"+article2ID+"','"+speak1ID+"','"+speak2ID+"','"+sorce+"','"+rank+"')";/*將個數(shù)據(jù)項插入到表ePaper*/Bean.executeUpdate(insertsql);/*插入記錄*/}以上是將樣卷解析并導(dǎo)入到數(shù)據(jù)庫中,樣卷答案的解析與導(dǎo)入用相似的方法即可。******解析樣卷答案csv文件******CSVAnalysiscsvAna2=newCSVAnalysis(examPaperKeyPath);//新建解析路徑csvAna2.setConvertFlag(true);ArrayListal2=csvAna2.analysis();//新建一個可變長數(shù)組來存放解析結(jié)果String[][]b=newString[al2.size()][3];//新建一個數(shù)組來存放解析結(jié)果for(inti=0;i<al2.size();i++){//外循環(huán)控制行ArrayListal3=(ArrayList)al2.get(i);for(intj=0;j<al3.size();j++){//內(nèi)循環(huán)控制列b[i][j]=(String)al3.get(j);//把解析的數(shù)據(jù)存放到二維數(shù)組中 //out.print(b[i][j]+"|");}}csvAna.close();//關(guān)閉解析******將樣卷答案導(dǎo)入到數(shù)據(jù)庫中******for(inti=0;i<al2.size();i++){StringeID=b[i][0];/*獲取樣卷編號*///out.print(eID);StringerrorAword=b[i][1];/*獲取錯字信息*///out.print(errorAword);StringerrorWord=b[i][2];/*獲取錯詞信息*/Stringinsertsql2="insertintoePaperKey(eID,errorAword,errorWord)values('"+eID+"','"+errorAword+"','"+errorWord+"')";/*將記錄插入到表中*/Bean.executeUpdate(insertsql2);/*插入記錄*/}這樣就完成了樣卷和樣卷答案的導(dǎo)入工作了。5.3樣卷和樣卷答案查看與說明這個模塊的主要功能是查看導(dǎo)入的樣卷和對應(yīng)的答案。在csvView.jsp中查看樣卷信息。<%Stringsql="select*fromePaper";/*查找所有試卷信息*/ResultSetrs=Bean.executeQuery(sql);while(rs.next()){StringeId=rs.getString(1);/*獲取試卷編號*/ StringawordID=rs.getString(2);/*獲取字號*/ StringwordID=rs.getString(3);/*獲取詞編號*/ Stringarticle1ID=rs.getString(4);/*獲取文章一編號*/ Stringarticle2ID=rs.getString(5);/*獲取文章二編號*/ Stringspeak1ID=rs.getString(6);/*獲取命題說話一編號*/ Stringspeak2ID=rs.getString(7);/*獲取命題說話二編號*/ Stringsorce=rs.getString(8);/*獲取最終分數(shù)*/ floatnewsorce=Float.valueOf(sorce).floatValue();/*將分數(shù)轉(zhuǎn)化為float型*/%><tr><td><ahref="csvEpaperKey.jsp?eId=<%=eId%>"target="_blank"><%=eId%></a></td><td><%=awordID%></td><td><%=wordID%></td><td><%=article1ID%></td><td><%=article2ID%></td><td><%=speak1ID%></td><td><%=speak2ID%></td><td><%=newsorce%></td></tr><%}根據(jù)試卷號來查看相應(yīng)的樣卷答案:<ahref="csvEpaperKey.jsp?eId=<%=eId%>"target="_blank"><%=eId%></a>eId作為參數(shù)傳遞到csvEpaperKey.jsp這個頁面中。查看樣卷顯示如圖5-2所示:圖5-2查看樣卷點擊試卷編號就跳轉(zhuǎn)到csvEpaperKey.jsp頁面中。首先獲取試卷號。StringeID=request.getParameter("eId");然后就能根據(jù)這個試卷號找到相應(yīng)的試卷答案:Stringsql="select*fromePaperKeywhereeID='"+eID+"'";ResultSetrs=Bean.executeQuery(sql);while(rs.next()){StringerrorAword=rs.getString("errorAword");StringerrorWord=rs.getString("errorWord");%>試卷編號:<%=eID%><p>第一部分錯的字:<%=errorAword%><p>第二部分錯的詞:<%=errorWord%><%}查看樣卷答案顯示如圖5-3所示:圖5-3樣卷答案這些錯字錯詞信息說明放在樣卷說明中。KT是分詞符號。字的錯誤:KF后的內(nèi)容不用處理,KF前的規(guī)則:江1表示"江"缺陷,江2表示"江"錯誤。詞的錯誤:KF后不必處理,電1磁1波KT加1塞兒KT小熊兒21KT表示第一詞是電磁波其中"電1"電缺陷"磁1""磁"缺陷為2錯誤"小熊兒21"表示"熊兒2"是兒化讀音當一個音處理后面的1表示這個兒化音缺陷如小熊兒22表示兒化音錯誤。5.4本章小結(jié)這章主要是把csv格式的文件導(dǎo)入到數(shù)據(jù)庫中,利用對csv的解析然后把解析后的數(shù)據(jù)存放到指定的數(shù)組當中,最后再把數(shù)組中的數(shù)據(jù)導(dǎo)入到數(shù)據(jù)庫中。這里也有2個問題需要討論:第一個問題就是頁面之間跳轉(zhuǎn)后產(chǎn)生的接收數(shù)據(jù)的亂碼問題,這種亂碼的原因是應(yīng)為沒有在頁面里指定使用的字符集編碼,只要在頁面開始地方用下面代碼指定字符集編碼即可。第二個問題就是利用框架做分欄的時候,要注意分欄的比例控制。第6章測試員測試情況統(tǒng)計模塊設(shè)計與實現(xiàn)6.1測試員測試情況統(tǒng)計模塊設(shè)計這個模塊的主要功能是統(tǒng)計測試員的測試情況。表t_examPaperJudge是用來存放測試員的測試試卷的信息的。表t_judgeInfo和表judger是用來存放測試員的信息。表countTemple1,countTemple2是用來存放臨時信息的。表6-1t_examPaperJudge表列名數(shù)據(jù)類型長度允許空examPaperID(主鍵)nvarchar50否judge1IDnvarchar50是GetTimedatetime8是SubmitTimedatetime8是judge1Resultfloat8是judge2IDnvarchar50是judge2Resultfloat8是arbitratorIDnvarchar50是arbitratorResultfloat8是表6-2judger表列名數(shù)據(jù)類型長度允許空ID(主鍵)char10否namevarchar50是tidchar10是sfzvarchar50是agevarchar50是sexvarchar50是workPlacevarchar50是phonevarchar50是eMailvarchar50是judgerRankvarchar50是表6-3part表列名數(shù)據(jù)類型長度允許空exampaperIdvarchar50否idvarchar50是getTimevarchar50是submitTimevarchar50是result1varchar50是finalResultvarchar50是Tcount.jsp就是用來顯示全部的測試員測試情況,如圖6-1所示:圖6-1測試員測試情況實現(xiàn)方法為首先查詢所有測試員的測試編號,然后以測試員編號作為循環(huán)條件來得到每個測試員的測試信息,再通過測試員編號來查找符合的數(shù)據(jù)存放到countTemple1表中,最后從countTemple1表中來計算每個測試員的測試情況。查詢所有測試員編號:Stringsql="select*fromjudger";ResultSetrs=Bean.executeQuery(sql);循環(huán)查找符合測試員編號的測試信息:while(rs.next()){Stringbianhao=rs.getString("ID");//得到測試員編號StringjudgeName=rs.getString("name"); Stringid=rs.getString("tid"); StringjudgerRank=rs.getString("judgerRank");//<!--把judge1ID為id的數(shù)據(jù)插入到表countTemple1中--> Stringsql1="select*fromt_examPaperJudgewherejudge1ID='"+id+"'";ResultSetrs1=Bean.executeQuery(sql1);while(rs1.next()){ StringexamPaperId=rs1.getString(1);StringgetTime=rs1.getString(4); StringsubmitTime=rs1.getString(5); floatresult=rs1.getFloat(6); floatfinalResult=rs1.getFloat(16); if(finalResult==0){ finalResult=result; }//if結(jié)束 Stringinsertsql1="insertintocountTemple1(exampaperID,testTime,testR,result)values('"+examPaperId+"','"+getTime+"','"+result+"','"+finalResult+"')"; Bean.executeUpdate(insertsql1); }//while結(jié)束//<!--把judge2ID為id的數(shù)據(jù)插入到表countTemple1中--> Stringsql2="select*fromt_examPaperJudgewherejudge2ID='"+id+"'"; ResultSetrs2=Bean.executeQuery(sql2); while(rs2.next()){ StringexamPaperId=rs2.getString(1); StringgetTime=rs2.getString(9); StringsubmitTime=rs2.getString(10); floatresult=rs2.getFloat(11); floatfinalResult=rs2.getFloat(16); if(finalResult==0){ finalResult=result; }//if結(jié)束 Stringinsertsql2="insertintocountTemple1(exampaperID,testTime,testR,result)values('"+examPaperId+"','"+getTime+"','"+result+"','"+finalResult+"')"; Bean.executeUpdate(insertsql2); }//while結(jié)束 //<!--把arbitratorID為id的數(shù)據(jù)插入到表countTemple1中--> Stringsql3="select*fromt_examPaperJudgewherearbitratorID='"+id+"'";ResultSetrs3=Bean.executeQuery(sql3); while(rs3.next()){ StringexamPaperId=rs3.getString(1); StringgetTime=rs3.getString(14); StringsubmitTime=rs3.getString(15); floatresult=rs3.getFloat(16); Stringinsertsql3="insertintocountTemple1(exampaperID,testTime,testR,result)values('"+examPaperId+"','"+getTime+"',"+result+"','"+result+"')"; Bean.executeUpdate(insertsql3);}//while結(jié)束從countTemple1表中來計算每個測試員的測試情況:Stringsql_count="select*fromcountTemple1"; ResultSetrs_count=Bean.executeQuery(sql_count); inti=0; intcount=0; while(rs_count.next()){ StringtestR=rs_count.getString("testR"); Stringresult=rs_count.getString("result"); judgeScorejs=newjudgeScore(); Stringflag=js.judge(testR,result);//判斷測試是否正確 count++;//計算總共的測試數(shù)目 if(flag.equals("正確")){ i++;//計算測試正確的數(shù)目 } } Stringdelsql="deletefromcountTemple1";//刪除countTemple1表中的數(shù)據(jù)Bean.executeUpdate(delsql);//執(zhí)行刪除 floatzql=(float)i/(float)count;//計算測試正確率 Stringszql=""+zql;//把float變成字符串型 if(szql.length()>5)//判斷是否字符串長度大于5 szql=szql.substring(0,5);//如果是就只取其面5個保留3位有效數(shù)用戶可以通過點擊測試員的姓名來獲取該測試員的個人信息如圖6-2所示:圖6-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度賣房人去世房產(chǎn)過戶法律保障服務(wù)合同4篇
- 2025-2030年中國重質(zhì)純堿行業(yè)發(fā)展狀況及投資前景規(guī)劃研究報告新版
- 2025-2030年中國輸送設(shè)備行業(yè)運營狀況及投資發(fā)展前景分析報告
- 2025-2030年中國豆?jié){機行業(yè)發(fā)展狀況及投資前景規(guī)劃研究報告
- 2025-2030年中國蘆丁市場運營現(xiàn)狀及投資前景規(guī)劃研究報告
- 2025-2030年中國織錦工藝品行業(yè)發(fā)展現(xiàn)狀及投資前景規(guī)劃研究報告
- 2025-2030年中國等離子電視市場運營狀況及投資前景預(yù)測報告新版
- 2025-2030年中國白堊行業(yè)市場競爭格局與前景發(fā)展策略分析報告
- 2025-2030年中國電子結(jié)腸鏡行業(yè)前景趨勢調(diào)研及發(fā)展戰(zhàn)略分析報告
- 2025年物業(yè)業(yè)主社區(qū)便民服務(wù)協(xié)議3篇
- 英語名著閱讀老人與海教學(xué)課件(the-old-man-and-the-sea-)
- 學(xué)校食品安全知識培訓(xùn)課件
- 全國醫(yī)學(xué)博士英語統(tǒng)一考試詞匯表(10000詞全) - 打印版
- 最新《會計職業(yè)道德》課件
- DB64∕T 1776-2021 水土保持生態(tài)監(jiān)測站點建設(shè)與監(jiān)測技術(shù)規(guī)范
- ?中醫(yī)院醫(yī)院等級復(fù)評實施方案
- 數(shù)學(xué)-九宮數(shù)獨100題(附答案)
- 理正深基坑之鋼板樁受力計算
- 學(xué)校年級組管理經(jīng)驗
- 10KV高壓環(huán)網(wǎng)柜(交接)試驗
- 未來水電工程建設(shè)抽水蓄能電站BIM項目解決方案
評論
0/150
提交評論