考試系統(tǒng)的設計與實現(xiàn)_第1頁
考試系統(tǒng)的設計與實現(xiàn)_第2頁
考試系統(tǒng)的設計與實現(xiàn)_第3頁
考試系統(tǒng)的設計與實現(xiàn)_第4頁
考試系統(tǒng)的設計與實現(xiàn)_第5頁
已閱讀5頁,還剩39頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

摘MVCSH(Struts+Hibernate)J2EE用JSP技術、SQLServer2000為數(shù)據(jù)庫和JDBC數(shù)據(jù)庫連接技術設計并實現(xiàn)了考試系統(tǒng)SH框架整合技術使得系統(tǒng)更穩(wěn)定達到簡化項目開發(fā)和代碼重用的目的;以J2EE為工作平臺,使得系統(tǒng)具有較強的可移植性、較低的開發(fā)費用和復雜性;JSP技術具有工作平立性的特點便于實現(xiàn)頁的創(chuàng)建, 考試,MVCDesignandImplementationofOnlineExaminationSystemrateishigher.Thetraditionalexaminationmethodhasbeenunabletomeetthemodernandperfected.:OnlineExamination,MVCDesignPatterns,緒 課題的背 本課題研究意 結構安 本章小 相關技術及工具介 開發(fā)技 J2EE技 頁面開發(fā)技 MVC設計模式簡 SH兩層框 開發(fā)工 MyEclipse工 Web服務 數(shù)據(jù)庫管理系 系統(tǒng)數(shù)據(jù)連 本章小 需求分 實際業(yè)務操作流 系統(tǒng)設計目 功能需 本章小 系統(tǒng)的總體設 功能設 系統(tǒng)設計思 功能模塊設 系統(tǒng)數(shù)據(jù)庫設 數(shù)據(jù)庫的概念設 數(shù)據(jù)庫邏輯結構設 數(shù)據(jù)庫的實 接口設 本章小 系統(tǒng)詳細設計與實 類方法設 5.1.1 相關 詳細設 登錄模塊的工作流 試題庫管 考生考試功能模塊設 評分教師評分功能的設 分數(shù)查詢功能模塊設 考試功能的實 登錄功能的具體實 試題管理功能的實 考生考試功能的實 教師評分功能的實 分數(shù)查看功能的實 本章小 軟件測 功能測 性能測 本章小 總 總 展 附 參考文 致 該部分主要介紹考試系統(tǒng)的背景及意義、研究現(xiàn)狀、研究內容幾部分極大的。Internet技術持續(xù)迅猛的發(fā)展,也給傳統(tǒng)的教學提出了新的模式。寶貴的特性,可以為新型教學模式的建設提供理想的環(huán)境。在此開發(fā)的Java在從而提高工作效率和教學水平Internet技術的發(fā)展使得自測考試的技術和載體發(fā)生了性的變化,Internet的開放性、分布性的特點和基于Internet第一章介紹課題背景及意義、結構安排等。 本章主要介紹實現(xiàn)系統(tǒng)采用的開發(fā)技術以及工具,實現(xiàn)系統(tǒng)時采用了Java用SQLServer2000作為數(shù)據(jù)庫管理系統(tǒng),Tomcat6.0作為服務器。系統(tǒng)采用了J2EE(Java2tformEnterpriseEdition)技術,該技術具有InternetJDBC、API、CORBAJ2EE技術的基礎就是Java平臺或Java2平臺的標準版,比較容易掌握。J2EE一的開發(fā)平臺,J2EE降低了開發(fā)多層應用的費用和復雜性,也提供對現(xiàn)有應用程序集成的強有力支持,完全支持EnterpriseJavaBeans,有良好的向導支持 WebJSPJSPJavaServerPages采用JSP開發(fā)技術是因為JSPJavaJSPJavaServletJavaWeb,JSP用Java編程語言編寫類XML的tags和scriptlets,來封裝產生頁的處理邏輯JSP還能通過tags和scriptlets存在于服務端的資源的應用邏輯。JSPWebJavaHTML瀏覽器[2]系統(tǒng)采用MVC(Model-View-Controller)模式能夠有效地區(qū)分不同的角色,可響。MVC模式中各施其職,互不,如果一旦哪一層的需求發(fā)生了變化,就這種體系結構將傳統(tǒng)的輸入、處理和輸出模型按照Model、View、ControllerMVC模式中M代表模型ModelV代表視圖ViewC代表控制器Controller。MVC應用程序總是由這三個部分組成,每個層面有其各自的功能作用。這種模調用哪個的JSP頁面,并負責響應客戶對業(yè)務邏輯的請求。JSP頁面也就是視圖(Model即“M”)的角色。系統(tǒng)開發(fā)采用SH框架,SH兩層架構分別表示StrutsHibernateStruts系統(tǒng)開發(fā)采用SH框架,Struts是SH框架中的框架之一,StrutsOpenSource項目[4]MVCJava開發(fā)者利用J2EE開發(fā)Web應用和其Java架構一樣,Struts也是面向對象設計MVC分離顯示邏輯和業(yè)務邏輯”的能力發(fā)揮得淋漓盡致。Struts框架的是一個彈性JakartaCommons的一些類庫。Struts由一組相互協(xié)作的類(組件)、jsptaglib以及Servlet組成?;赟truts構架的WebJSPModel2的設計標準,可以說是一個MVC設計模式的一種變化類型。MVC即把一個應用的輸入、處理、輸出流程按照Model、View、Controller的方式進行分離,這樣一個應用被分成Hibernate系統(tǒng)開發(fā)采用SH框架,Hibernate是SH框架中的框架之一,Hibernate是對Hibernate提供關系Java程序中對象與對象的關系,也提供了這個HibernateJava程序和數(shù)據(jù)庫之間進行轉換,Java程序設計人員只要事先Java程序設計人員可以用熟悉的HibernateJDBCSQL來手工操作數(shù)據(jù)庫,使用MyEclipse本系統(tǒng)采用MyEclipse8.0作為開發(fā)工具。MyEclipse(MyEclipseEnterpriseWorkbench,簡稱MyEclipse)企業(yè)級工作平臺是對EclipseIDE的擴展,可以利用MyEclipseJ2EE的開發(fā)、發(fā)布,以及應用程序服務器的整合方面系統(tǒng)采用MyEclipse作為開發(fā)工具。本系統(tǒng)使用Tomcat6.0Web服務器。Tomcat有很多優(yōu)點,它不僅支持Servlet,還可以提供Web服務器的基本功能,處理HTML頁面。Tomcat作為一個開放源碼的軟件,Tomcat可以和目前大部分的主流服務器一起工作,而且有著相當高的運行效率[6]TomcatApacheApache處理靜態(tài)HtmlTomcatJSPServletTomcat的用戶也很多,資料豐富,系統(tǒng)采用SQLServer2000數(shù)據(jù)庫管理系統(tǒng),具有以下優(yōu)勢InternetJDBC技術是JavaDatabaseConnectivity的縮寫,它是SUN公司提供的一種支持基本SQL功能的通用的應用程序接口(ApplicationProgrammingInterface)。它由一組用Java語言編寫的類和接口組成。通過這些類和接口,程序開發(fā)人員可以在Java語言中方便地建立與數(shù)據(jù)庫的,通過執(zhí)行相應SQL語句,完成對不同數(shù)據(jù)庫的。因此,開發(fā)人員使用JDBCAPI可以不必編寫一個應用程序來Sybase數(shù)據(jù)庫,又另外編寫一個應用程序去Oracle數(shù)據(jù)庫,再寫 的SQLServer。不但如此,使用Java語言編寫的應用程序可以在任何支持Java的平臺上運行,不必在不同的平臺上開發(fā)不同的應簡單地說,JDBCJDBC是JAVA與數(shù)據(jù)庫建立連接;二、將SQL語句傳遞給數(shù)據(jù)庫;三、從數(shù)據(jù)庫取得SQL語JDBC要與數(shù)據(jù)庫建立連接前,首先,它必須先取得連接此數(shù)JDBC驅動程序,Class.forName()即是在執(zhí)行此項工作。建立數(shù)據(jù)庫連接JDBCJVM(JavaVirtualMachine)中,java.lang.ClassforName()靜態(tài)函數(shù)依據(jù)指定的類名稱,將JDBC驅動程序載入進來。完成載入驅動程序的步驟后,必須使用java.sal.DriverManager類所提供的getConnection()靜態(tài)函數(shù),取得與數(shù)據(jù)庫間的連接對象。此連接對象的類類型為java.sal.Connection,必須通過它才能將SQLStatementSQL指令。Statement主要SQLjava.sql.StatementsqlResultSet對象,這個對象提SQL執(zhí)行結果的管道,以便通過它將表格數(shù)據(jù)從數(shù)據(jù)庫中取出。每個StatementResultSet對象。2-1建建立是否成否是建立數(shù)據(jù)庫連建立JDBC--ODBC出錯處SQLSQL是否出否是執(zhí)行SQL操返回執(zhí)行結返回錯誤信2-1JDBCSQL語句就是一件很容易的事。換言之,有了JDBCAPI,就不必為Sybase數(shù)據(jù)庫專門寫一個程序,為Informix數(shù)據(jù)庫又編寫另一個程序等,程序員只需用JDBCAPI寫一個程序就夠了,它可向相應數(shù)據(jù)庫發(fā)送SQL調用。同時,將Java語言和JDBC結合起來使程序員不運行,這也是Java語言“編寫一次,處處運行”的優(yōu)勢。Java數(shù)據(jù)庫連接體系結構是用于Java應用程序連接數(shù)據(jù)庫的標準方法。JDBC對Java程序員而言是API,對實現(xiàn)與數(shù)據(jù)庫連接的服務提供商而言是接口API,JDBC為程序開發(fā)提供標準的接口,并為數(shù)據(jù)庫廠商及第中間件廠商實現(xiàn)與數(shù)據(jù)庫的連接提供了標準方法。JDBCSQL標準Java具有堅固安全易于使用易于理解和可以從網絡上自動等特性Java應用程序與各種不同數(shù)據(jù)庫之間進行的方法。而JDBC正是作為此種用途的機制。JDBC擴展了Java的功能。例如,用Java和JDBCAPI可以發(fā)布含有applet的網頁,而該applet使用的信息可能來自數(shù)據(jù)庫企業(yè)也可以用JDBCIntranet(即使這些職員所WindowsMacintoshUNIX等各種不同的操作系統(tǒng))。隨著越來越多的程序員開始使用Java編程語言,對從Java中便捷地數(shù)據(jù)庫的MIS管理員們都喜歡Java和JDBC的結合,因為它使信息變得容易和JDBC可為外部客戶提供獲取信息更新的更好方法。3-1角學3-2用戶登錄到對應界面進行相應操作。用例圖如圖3-1所示。[用例名稱][參與者][簡要說明]管理員用戶登陸之后可以對用戶進行管理其包括添加、刪除、修改3-2用 3-1[前置條件][主要流]管理員輸入正確的用戶名和,進入管理頁面,管理員對[異常流]在增添新管理員時,如果不輸入用戶,系統(tǒng)會提示3-2所示。3-2[用例名稱][參與者][簡要說明][前置條件][主要流管理員用戶輸入正確的用戶名和,進入管理頁面[后置條件]SH框架,SHMVC模式框架之一。典型的J2EE兩層結構,分為中間層(業(yè)務邏輯層)和持久層,Web應用的他上層處理;處理異常;為顯示提供一個數(shù)據(jù)模型和用戶界面的驗證,Web應錄等,Web應用的中間部分是業(yè)務邏輯層。應用Struts的目的是為了分離視圖層在本系統(tǒng)中,使用Struts作為系統(tǒng)的整體基礎架構,負責MVC的分離,數(shù)Hibernate完成。系統(tǒng)的基本業(yè)務流程是:在表示層中,首先通過JSP頁面實現(xiàn)交互界面,負責傳送請求(Request)和接收響應(Response),然后Struts根據(jù)配置文件(struts-config.xmlActionServletRequest委派給Action處理。Action經過調用相應的方法來進行邏輯處理。Hibernate提層中則依賴于Hibernate的對象化映射和數(shù)據(jù)庫交互處理DAO組件請求的數(shù),根據(jù)需求分析考試系統(tǒng)主要分為3個主要模塊,管理員管理模塊、考,4-1管課題試考評考理程庫卷生閱生員管管管管教分維理理理理師數(shù)護管查理看4-13分數(shù)管理及管理員。管理員可以對所有用戶信息進行操作,可以添加所有用4-24-2,有考試、分數(shù)查詢和自我測試。其中考試里面有子菜單可以選擇本次4-3,4-3數(shù)據(jù)庫是整個項目設計的關鍵,一個好的數(shù)據(jù)庫能有效的管理中的數(shù)2個方面內容:設計與實現(xiàn)。到數(shù)據(jù)庫數(shù)據(jù),需要數(shù)據(jù)庫中數(shù)據(jù)的支持和數(shù)據(jù)庫的管理。的E-R4-4所示。邏輯結構設計的任務是將概念設計階段設計好的E-R圖轉換為相對應關系1111nnnnnnnn1nn1n11kecheng_id(kecheng_bianhao,kecheng_name,kecheng_xueshi)考生信息表該信息表用于考生的基本信息包括考生id(stu_id),考生考生登陸(stu_pw)。考生信息表如表4-1所示4-11423管理員信息表admin(userin,管理員(username),管理員登陸(userpw)管理員信息表如表4-2所4-21423評分教師信息表該信息表用于評分教師的基本信息,包括評分教師id(tea_id),教師(tea_realname),教師(login_pw)。評分教師信息如表4-3所示。該信息表用于管理員所錄入的課程信息,包括課程id(kecheng_in),課程編號(kecheng_bianhao),課程名字(kecheng_name)4-4所示。4-314234-41423試卷信息表該信息表用于管理員所錄入的考試試卷信息,包括試卷id(shiti_id),試4-5所示。4-514234試題信息表該信息表用于管理員所錄入的各個課程所要測試的試題,包括試題id(timu_id),試題名字(timu_name),試題類型(timu_leixing),試題選項(timu_xuanxianga,timu_xuanxiangb,timu_xuanxiangc,timu_xuanxiangd),試題答案(timu_daan)題分數(shù)(timu_fenshu),對應課程(kecheng_id)4-64-614234567ExUserDao是對系統(tǒng)所有用戶的操作的類。該類中主要實現(xiàn)用戶的添加、ExStuDao是對學生信息操作的類。該類中主要實現(xiàn)對學生信息的添加、ExRzDaoid標記試題題號,操作試題,添加試題、對應id設置題型分數(shù)。ExDeptDaoExTchDao類用戶信息,刪除用戶的信息,查看用戶信息。方法有exQUserModify(),exUserUpass()exUserOther()exUserInsert(),(每一個方法的參數(shù)均為ActionMapmap,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse四個參數(shù))。其中,exQUserModify()實現(xiàn)修改用戶息,修改課程信息。方法有exStuModify(),exStuDelete(),exStuInsert(),query2()(每一個方法參數(shù)均為ActionMapmap,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse四個參數(shù))。其中,exStuModify()實現(xiàn)添加課程信息返回一個的ActionForwardmodifysuccess;query2()ActionForward??梢孕薷目忌畔⒁约皠h考生的考試信息。方法有exSyyyModify(),exSyyyDlete(),exSyyyInert()(ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse四個exSyyyModify()即modifysuccessexSyyyInsert()實現(xiàn)添加考試考生信息,返回一個的exSysModify()exSysInsert()exSysDelete(),(每一個方法的參數(shù)為ActionMapmap,ActionFormform,HttpServletRequestrequest,HttpServletResponseresponse四個參數(shù))。其中,exSysInsert()ActionForward。題,查看已添加的試題。方法有findLoginExRz(),findLoginExRzByUser(),HibernateSessionFactory:該類主要實現(xiàn)Hibernate配置文件,以Session的生成,主要方法包括:getSession()和closeSession()GetTimeeMyPagination:該類主要實現(xiàn)分頁的信息,包含getInitPageJBarcodeBeanTestServlet:該類主要實現(xiàn)條形碼信息,包含doGet()該類主要實現(xiàn)數(shù)據(jù)庫的備份,包含backup(),list(),restore(),其中backup()實現(xiàn)數(shù)據(jù)庫的備份,返回一個的ActionForward,即backup;restore()實現(xiàn)數(shù)據(jù)庫ActionForwardlist。(1)考試:選擇試卷進行考試(2)對考生已提交的試卷評分LoginEvent前臺控制器ShareControler捕獲LoginEvent時間,并將時間映射到mandmand通過委托LoginDelegate獲得一個服務連接對象,并通過該服務條用副端login()方法。5-15-1UserUserActionlogin方法的實現(xiàn),在后單擊“登錄”按鈕,網頁會一個URL,這個URL是admin/admin.do?method=login.從URL地址中可以知道將調用UserAction中的login方法。編寫用戶登錄的UserService和SysUserDao類的方法,用戶控制器類使UserService類的方法是login()login()SysUserDao類中的 ist()方法從數(shù)據(jù)表Sys_User中查詢用戶是否存在,如果存在,返回一User對象,否則返回null登錄頁面的實現(xiàn),這個模塊兒包含用戶名、輸入框,選擇框,并用JSP中的EL表達式來接受服務器端相應的消息。登錄頁面運行的結果如圖5-2所示。

5-2、管理員進入到登錄界面,填寫用戶名選擇對應,確認無誤后點個ProcessingExaminationQuestionsEvent。、前臺控制器ShareControll捕獲ProcessingExaminationQuestionsEven,并將時間映射到ProcessingExamination mand命令類。 mand通過委托ProcessingExaminationQuestionsDelegate獲得一個連接服務器,并通過該服務調用服務器端5-3所示。、考生進入到登錄界面,填寫用戶名選擇,確認無誤后點擊登陸 mand捕獲ExamEvent時間,并將映射到Exam、EventExamEvent通過委托ExamEventDelegate獲得一個連接服務,通過該服務條用服務器端Exam()方法。5.3、考生或管理人員進入到用戶登陸界面,填寫用戶名并選擇確認無誤后點登陸按鈕提交用戶信點擊分數(shù)查看按鈕產生一個GetScoresEvent。、前臺控制器ShareControll捕獲GetScores,并將映射到GetScmandmand通過委托GetScoresDelegate獲得一個連接服務,GetAllScors()方法。5-45-4登錄功能主要完成對考生、評分教師和管理員登陸的驗證,只有是該系括登錄用戶名、填寫及選擇,以登錄成功后跳轉的JSP頁面。Contoller負責捕捉用戶的請求,根據(jù)用戶的時間類型映射到命令類mand,在mand中委托LogiDelegate類獲得一個服務象并調用服務器端login()方法查詢數(shù)據(jù)庫返回查詢結果同時更模型數(shù)據(jù)。ModleView5-55-55-65-6試題添加時還可以添加正確答案為評分教師更方便評卷添加試題如圖5-5-7系統(tǒng)是通過傳id的方式刪除某一試題的,當用戶點擊刪除按鈕的時候采用javascript技術會彈出框詢問是否要刪除試題,避免管理員在管理試題時候手5-8考試時考生憑管理員錄入的用戶名和由登陸界面進入考生考試界面點擊考試按鈕觸發(fā)一個類向服務器發(fā)出JSP網頁的請求,JSP引擎請求對象。發(fā)給服務器端的相關組件,比如JavaBean組件、ServlrtEjbJDBC連接JSPJSPHTML5-95-85-95-105-10評分教師在頁面中發(fā)出一個獲取試卷請求GetFragebogenEvent。2.Controller控制器接受到的管理員的請求,并將請求映射到mand命令委托GetFragebogenDelegate類獲得一個服務3.ModelView5-115-11考生在頁面中發(fā)出一個獲取試卷請求GetPointEvent。2.Controller控制器接受到的管理員的請求,并將請求映射到mnd命令委托tPointlegte類獲得一個服務對象調用服tAllPoint()新數(shù)據(jù)模型。3.Model在更新后,通知View試圖顯示相關數(shù)據(jù)。5-125-125-13所示。5-13內存:128MB(推薦客戶端:Windows95/98/2000/XP,InternetExplorer服務器:JDK,Tomca6.0數(shù)據(jù)庫:MySQL5.0開發(fā)平臺:MyEclipse6-1臺管理登錄成功后可以進入相對應的師等用戶登錄后可可以進入到管理界面,并進行相應操會員登錄成功界面,并進行相操經過測試達到預期階段進試,錯誤的延時擴散常常會導致最后成品測試的巨大。。半年的時間。到目前為止基本功能已經實現(xiàn)考試系統(tǒng)是對大多院系測試考。技術開發(fā)了基于B/S模式多用戶自測系統(tǒng)這一程序它運用方便操作簡管理題目管理等也就是說實現(xiàn)了真正的無紙化自測滿足任何的考生工作量。運用的更加熟練,JSPSQL數(shù)據(jù)庫的連接,MyEclpise軟件的操作比以前都有publicclassadminActionextends{privateintuserId;privateStringuserName;privateStringuserPw;privateStringmessage;privateStringpath;privateintindex=1;privateTAdminDAOadminDAO;publicStringadminAdd(){TAdminadmin=newTAdmin();return"succeed";}publicString{ListMaprequest=(Map)ServletActionContext.getContext().get("request");request.put("adminList",adminList);return}Paginationp=newPagination();//創(chuàng)建分頁對象Maprequest=(Map)ServletActionContext.getContext().get("request");request.put("page",p);return}publicString{return}privateintpublicString{TTimutimu=newTTimu();return"succeed";}publicString{TTimutimu=newTTimu(

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論