軟件工程課程設計范例_第1頁
軟件工程課程設計范例_第2頁
軟件工程課程設計范例_第3頁
軟件工程課程設計范例_第4頁
軟件工程課程設計范例_第5頁
已閱讀5頁,還剩40頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

給塔\i&上叁/《軟件工程》課程設計題目C語言在線考試系統的設計與實現學生姓名 學號 院系計算機與軟件學院專業 指導教師文學志二0年月日.緒論 錯誤!未定義書簽。語言在線考試系統概述 錯誤!未定義書簽。語言在線考試系統的可行性分析 錯誤!未定義書簽。經濟可行性錯誤!未定義書簽。技術可行性錯誤!未定義書簽。社會可行性錯誤!未定義書簽。.相關技術介紹 錯誤!未定義書簽。體系結構 錯誤!未定義書簽。ServerPages 錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。錯誤!未定義書簽。Web服務器 錯誤!未定義書簽。.系統的需求分析 錯誤!未定義書簽。.系統的功能需求 錯誤!未定義書簽。.系統的模塊劃分 錯誤!未定義書簽。.系統的設計 錯誤!未定義書簽。.系統的概要設計 錯誤!未定義書簽。系統的總體結構 錯誤!未定義書簽。系統數據庫設計 錯誤!未定義書簽。.系統主要模塊的詳細設計 錯誤!未定義書簽。試題管理模塊設計 錯誤!未定義書簽。考試管理模塊設計 錯誤!未定義書簽。在線考試模塊設計 錯誤!未定義書簽。答卷自動評分模塊設計 錯誤!未定義書簽。.系統主要模塊的實現 錯誤!未定義書簽。.創建項目 錯誤!未定義書簽。開發環境的搭建 錯誤!未定義書簽。系統的整體框架 錯誤!未定義書簽。.試題管理模塊的實現 錯誤!未定義書簽。創建持久化類和數據庫訪問相關類 錯誤!未定義書簽。創建Struts相關類 錯誤!未定義書簽。創建表示層JSP文件 錯誤!未定義書簽。.考試管理模塊的實現 錯誤!未定義書簽。初始種群的生成 錯誤!未定義書簽。適應度值的計算 錯誤!未定義書簽。選擇(Select) 錯誤!未定義書簽。交叉(Crossover) 錯誤!未定義書簽。變異(Mutation) 錯誤!未定義書簽。.在線考試模塊的實現 錯誤!未定義書簽。倒計時子模塊的實現 錯誤!未定義書簽。故障延時子模塊的實現 錯誤!未定義書簽。.答卷自動評分模塊的實現 錯誤!未定義書簽。

6.系統的測試6.系統的測試.系統的測試環境 錯誤!未定義書簽。.系統的測試用例設計錯誤!未定義書簽。.系統的測試結果 錯誤!未定義書簽。.系統的測試分析 錯誤!未定義書簽。結束語 錯誤!未定義書簽。參考文獻 錯誤!未定義書簽。致謝 錯誤!未定義書簽。C語言在線考試系統的設計與實現張三南京信息工程大學計算機與軟件學院,南京210044摘要:隨著計算機技術、Internet技術的迅猛發展,在線考試模式以其跨地域性、隨時性和用戶廣泛性的特點,成為推動教育現代化的重要手段,已經成為對學生練習、考試、評價和分析教學效果的重要工具。本文研究利用三層瀏覽器(B/S/S)體系結構,即Web瀏覽器/Web服務器/數據庫服務器結構來實現C語言科目的在線考試系統。該系統實現了試題庫的管理、自動組卷和答卷的自動評分等功能,滿足了廣大教師和考生的需求。該系統的實現以Java語言及其相關技術為基礎,構建于MySQL數據庫系統以及TomcatWeb服務器之上。該系統的實現表明,在線考試系統能夠提高試題庫管理、考試組織和閱卷的效率,并同時保證考試的公正和公平。因此,其他科目的考試也可以開發相應的在線考試系統。關鍵詞:在線考試系統;B/S/S體系結構;Java;MySQL;自動組卷.緒論本章對C語言在線考試系統進行了概要性的介紹,并在經濟、技術、社會三個方面對該系統開發的可行性進行了分析,以說明該系統的開發是可行的,可以立即開始研制工作。C語言在線考試系統概述隨著計算機技術、Internet技術的迅猛發展,絕大部分高校都已接入互聯網并建成了校園網,硬件設施也日趨完善。以互聯網為基礎的在線考試模式,以其跨地域性、隨時性和用戶廣泛性的特點,成為推動教育現代化的重要手段,已經成為對學生練習、考試、評價和分析教學效果的重要工具[1]C語言在線考試系統利用開放、動態的系統架構,將傳統的考試模式與先進的網絡應用相結合,實現YC語言科目考試的無紙化、自動化、網絡化。第一,本系統能夠幫助教師方便地實現試題的管理,包括試題的錄入、查詢、修改、刪除。第二,本系統實現了自動組卷功能,能夠根據出題要求自動生成C語言考試試卷,供考生在線作答。第三,考生在使用本系統進行在線考試時,系統將提供倒計時功能,使考生能夠隨時了解考試的剩余時間。第四,本系統在考試時間截止之后將自動完成交卷,以保證考試嚴肅公正地進行。第五,在答卷提交之后,本系統將對答卷進行自動評分并保存結果,以便考生查詢考試成績。C語言在線考試系統的可行性分析項目的可行性一般從三個方面進行分析,即經濟可行性、技術可行性、社會可行性。經濟可行性分析即進行開發成本的估算以及效益的評估,確定開發的項目是否值得投資開發;技術可行性分析是指對要開發的項目的功能、性能和限制條件進行分析,確定現有的資源條件下,技術風險有多大,項目是否能實現;社會可行性分析是指研究要開發的項目是否存在侵犯、妨礙等責任問題,要開發的項目的運行方式在用戶組織內是否行得通,現有管理制度、人員素質和操作方式是否可行⑵本節從這三個方面對C語言在線考試系統的可行性進行分析,以便后續工作的展開。經濟可行性C語言在線考試系統的開發成本包括開發該系統的人力的費用以及用于購買部署該系統并充當服務器的計算機的費用。開發該系統估計需要四個開發人員一周的工作量,如果每人每月的工資為2000元,則開發該系統的人力費用約為2000元。為了部署該系統,需要購買一臺帶有較大容量磁盤的高性能計算機,費用估計在1萬元。因此,開發該系統的成本總計為萬元。在未使用該系統之前,為了進行C語言考試,必須支出相應的人力費用進行出卷、組織考試和批閱試卷,這部分費用約為每年4000元。此外,由于傳統考試模式需要用紙,每年需要約3500元的紙張費用。因此,若維護系統每年需花費500元,使用C語言在線考試系統每年可節省約萬元。根據以上的估計開發費用和節省的費用,在假設年利率i等于12%的前提下,可以計算得到投資的回收期為年(如表1-1所示),即在使用C語言在線考試系統年以后用戶可以收回全部投資。因此,開發C語言在線考試系統在經濟上是可行的。表1-1C語言在線考試系統的成本/效益分析購買設備萬元人力(四人、一周、2000元/月)萬元開發成本總計萬元系統的維護費500元/年每年節省人力費用萬元每年節省紙的費用萬元每年節省的總費用萬元年節省(元)(1+i)的n次方現在值(元)累計的現在值(元)1萬萬萬2萬萬萬3萬萬萬第三年后純收入萬投資回收期年技術可行性(1)對所建議的系統的簡要描述C語言在線考試系統利用數據庫對試題信息進行高效、便捷的管理,實現試題的錄入、查詢、修改和刪除。同時,系統提供了自動組卷功能、倒計時功能、試卷提交功能、試卷評分功能,實現了考試的無紙化、自動化、網絡化,并體現了考試的公正、嚴肅。(2)與現有系統比較的優越性C語言在線考試系統利用數據庫對試題進行管理,使得對大量試題的管理高效、方便地進行,而傳統考試模式下的試題管理低效耗時,在試題達到一定數量之后,管理起來十分不便,需要耗費大量的時間和精力。由于試題存放于計算機硬盤中,并采用在線考試這種無紙化的考試模式,與傳統考試模式相比,不僅節省了試題的存放空間,更是節約了大量的紙張(試卷和答題冊),更加環保、節約。同時,該系統的自動組卷和評分功能使得出卷和評分過程自動化,與傳統的手工出卷評分相比,節省了大量的勞力,使得廣大教師可以從繁重的出卷、評分工作中解脫出來,從而把更多的時間和精力用于教學和科研。此外,系統的試卷提交功能在考試時間截止時,自動完成試卷的提交,阻止考生繼續答題,使得考試的公正性和嚴肅性較傳統考試更好得體現。最后,該系統提供的倒計時功能,使得考生在考試過程中更合理地安排時間,有助于考生取得好成績。(3)采用建議系統可能帶來的影響采用C語言在線考試系統之后,試題的管理效率,組織考試和評卷的效率將大為提高,有利于在短時間內實現對考生的C語言學習情況的檢驗。同時,本系統將節約大量的紙資源,節省組織考試的開支。教師將從繁重的出題、組織監督考試、評分的工作中解脫出來,把更多的時間和精力用于教學和科研。采用C語言在線考試系統之后,要求教師適應新型的試題管理模式,需要教師掌握該系統的使用。對考生而言,要求他們適應新型考試模式,同樣,也需要他們熟悉系統的使用。(4)所建議技術可行性分析C語言在線考試系統是一個基于B/S/S體系結構的網絡應用系統,開發這類系統的技術已經比較成熟,比如JSP技術、ASP技術等等。同時,考慮到開發人員對這類系統以及相關的技術比較熟悉且開發期較為充裕,預計可以再規定期限內完成開發。社會可行性(1)法律方面的可行性C語言在線考試系統的研制和開發的過程,將在嚴格遵守國家各項法律法規的基礎上進行,將不會侵犯他人、集體和國家的利益。同時,在系統的開發過程中,將嚴格遵守與客戶簽訂的合同的各項條款。(2)使用方面的可行性C語言在線考試系統的研制和開發將充分考慮到用戶的業務往來、管理流程和人員素質等,從而能滿足使用要求。.相關技術介紹C語言在線考試系統的開發采用了三層瀏覽器(B/S/S)體系結構,即Web瀏覽器/Web服務器/數據庫服務器結構[7]本文中采用了Java語言及相關技術JSP、Struts和Hibernate實現該系統,并以Tomcat作為Web服務器,以MySQL作為數據庫服務器。本章是對這些技術和服務器的介紹。

B/S/S體系結構將Web技術的B/S結構與數據庫系統的三層C/S/S體系結構結合,產生了Web瀏覽器/Web服務器/數據庫服務器結構,如圖2-1所示。B/S/S體系結構是指在TCP/IP的支持下,以HTTP為傳輸協議,客戶通過瀏覽器訪問Web服務器和與Web服務器相連的后臺數據庫的體系結構,它由Web瀏覽器、Web服務器、中間件和數據庫服務器組成。在B/S/S結構中,各組成部分之間通過Internet(或Intranet)相連,遵守HTTP協議,瀏覽器通過發送請求和服務器端建立連接,從而實現以整個Internet為背景的數據存儲和訪問。結果4 Web瀏覽器結果4 Web瀏覽器SQL請求圖2-1Web數據庫系統的三層B/S/S體系結構B/S/S結構中的表示層有Web瀏覽器,它向網絡上的Web服務器提出服務請求,接收Web服務器返回的頁面并顯示給用戶;事務邏輯層有Web服務器,它接受用戶的請求并判斷請求的類型。如果請求的是一般靜態頁面,就直接在Web服務器的文件系統中找到頁面并返回;否則執行相應的應用程序,比如對數據庫進行更新、查詢等,隨后獲得數據庫操作的結果,將結果動態生成頁面,返回給表示層的客戶端;數據層則有數據庫服務器,實現數據的存儲、維護、訪問和更新,它接受Web服務器的數據操作請求,并把運行結果返回給Web服務器。B/S/S結構具有以下特點:第一,基于TCP/IP開放式網絡標準協議,完全實現了跨平臺訪問計算機及其網絡上的各種資源,具有很強的系統獨立性和平臺無關性。第二,軟件維護開銷大大降低,只需開發維護服務器應用程序,無需開發客戶端程序,規范和統一了客戶端程序的標準一一Web瀏覽器,從而統一了用戶界面。第三,充分發揮了數據庫管理系統(DBMS)高效的數據存儲和數據管理能力,實現了更大程度和更大范圍的數據庫資源共享。B/S/S結構代表了當前數據庫應用軟件技術發展的趨勢,是目前開發Web數據庫應用系統普遍采用的數據庫系統體系結構。它的優點使它成為構建高效安全Web數據庫應用系統首選的體系結構[7]JavaServerPagesJavaServerPages簡稱JSP^,是由SunMicrosystems公司倡導、許多公司參與一起建立的一種動態網頁技術標準。JSP技術有點類似ASP技術,它是在傳統的網頁HTML文件(*.htm,*.html)中插入Java程序段(scriptlet)和JSP標記(tag),從而形成JSP文件(*.jsp)。用JSP開發的Web應用是跨平臺的,既能在Linux下運行,也能在其他操作系統上運行。與前一代Internet/Intranet開發語言(ASP、PHP)相比,JSP在以下幾個方面有了重大突破:第一,通過JSP的擴展標簽庫和JavaBeans功能,網站邏輯和網站界面可以完美地分離。第二,使用EnterpriseJavaBeans,可以輕松地在JSP開發的Web中實現事務、安全、會話等等企業級應用所需要的功能。第三,JDBC提供了不同的數據庫產品無關的數據庫連接方式,更重要的是,數據庫連接池提供了一種比普通的數據庫連接方式效率高得多的連接方式。Web服務器在遇到訪問JSP網頁的請求時,首先執行其中的程序片段,然后將執行結果以HTML格式返回給客戶。程序片段可以操作數據庫、重新定向網頁以及發送email等等,這就是建立動態網站所需要的功能。所有程序操作都是在服務器端進行,網絡上傳送給客戶端僅是得到的結果,對客戶瀏覽器的要求最低,可以實現無plugin,無ActiveX,無JavaApplet,甚至無Frame。JSP具有以下的優點⑹:第一,將內容的生成和顯示進行分離。使用JSP技術,Web頁面開發人員可以使用HTML或者XML標識來設計和格式化最終頁面。使用JSP標識或者小腳本來生成頁面上的動態內容。生成內容的邏輯被封裝標識在JavaBeans組件中,并且捆綁在小腳本中,所有的腳本在服務器端運行。Web管理人員和頁面設計者,能夠編輯和使用JSP頁面,而不影響動態內容的生成。在服務器端,JSP引擎JSP標識和小腳本,生成所請求的動態內容并且將結果以HTML(或XML)頁面的形式發送回瀏覽器。這有助于作者保護自己的代碼,而又保證任何基于HTML的Web瀏覽器的完全可用性。第二,可重用的組件。絕大多數JSP頁面依賴于可重用的,跨平臺的組件(JavaBeans或者EJB組件)來執行應用程序所要求的更為復雜的處理。開發人員能夠共享和交換執行普通操作的組件,或者使得這些組件為更多的使用者或者客戶團體所使用。基于組件的方法加速了總體開發過程,并且使得各種組織在他們現有的技能和優化結果的開發努力中得到平衡。第三,用標識簡化頁面開發。Web頁面開發人員不會都是熟悉腳本語言的編程人員。JSP技術封裝了許多功能,這些功能是在易用的、與JSP相關的XML標識中進行動態內容生成所需要的。標準的JSP標識能夠訪問和實例化JavaBeans組件,設置或者檢索組件屬性,下載Applet,以及執行用其他方法更難于編碼和耗時的功能。StrutsStruts是Apache軟件基金組織Jakarta項目的一個子項目,5仃成$的前身是CraigR.McClanahan編寫的JSPModel2架構。Struts在英文中是〃支架、支撐〃的意思,這表明了5仃成$在Web應用開發中的巨大作用,采用Struts可以更好地遵循MVC模式。此外,可以更好地遵循MVC模式。此外,JSP/Servlet的優點,減輕程序員的工作量,具有很強的可擴展性。Struts的作者Craig參與了JSP規范制定以及Tomcat4的開發,同時還領導制定YJ2EE平臺的Web層架構的規范。受此影響,Struts框架一經推出,立即引起了Java開發者的廣泛興趣,并在全世界推廣開來,最終成為世界上應用最廣泛的MVC框架⑼。Hibernate當前的軟件開發語言已經全面轉向面向對象,而數據庫系統仍停留在關系數據庫階段。面對復雜的企業環境,同時使用面向對象語言和關系數據庫是相當麻煩的,不但中間的過渡難以理解,而且其開發周期也相當長。Hibernate是一個面向Java環境的對象/關系數據庫映射工具。對象/關系數據庫映射(Object/RelationalMapping)表示一種技術,用來把對象模型表示的對象映射到基于SQL的關系模型數據結構中去ns。Hibernate的目標是:釋放開發者通常的數據持久化相關的編程任務的95%。對于以數據為中心的程序而言,往往在數據庫中使用存儲過程來實現商業邏輯,Hibernate可能不是最好的解決方案。但對于那些基于Java的中間件應用中,設計采用面向對象的業務模型和商業邏輯時,Hibernate是最有用的。不管怎樣,Hibernate能消除那些針對特定數據庫廠商的SQL代碼,并且把結果集由表格式的形式轉換成值對象的形式。Hibernate不僅管理Java類到數據庫表的映射(包括Java數據類型到SQL數據類型的映射),還提供數據查詢和獲取數據的方法,可以大幅度地減少在開發時人工使用SQL和JDBC處理數據的時間。MySQLMySQL是最流行的開放源碼SQL數據庫管理系統,它是由MySQLAB公司開發、發布并支持的。MySQLAB是由多名MySQL開發人創辦的一家商業公司。它是一家第二代開放源碼公司,結合了開放源碼價值取向、方法和成功的商業模型。MySQL是一種關聯數據庫管理系統。關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大的倉庫內。這樣就增加了速度并提高了靈活性。MySQL的SQL指得是結構化查詢語言。SQL是用于訪問數據庫的最常用標準化語言,它是由ANSI/ISOSQL標準定義的。SQL標準自1986年以來不斷演化發展,有數種版本。MySQL軟件是一種開放源碼軟件。開放源碼意味著任何人都能使用和改變軟件。任何人都能從Internet下載MySQL軟件,而無需支付任何費用。如果愿意,你可以研究源碼并進行恰當的更改,以滿足你自己的需求。MySQL數據庫服務器具有快速、可靠和易于使用的特點。MySQL服務器還有一套實用的特性集合,這些特性是通過與用戶的密切合作而開發的。在MySQL的基準測試主頁上,給出YMySQL服務器和其他數據庫管理器。MySQL服務器最初是為處理大型數據庫而開發的,與已有的解決方案相比,它的速度更快,多年以來,它已成功用于眾多要求很高的生產環境。盡管MySQL始終在不斷發展,但目前MySQL服務器已能提供豐富和有用的功能。它具有良好的連通性、速度和安全性,這使得MySQL十分適合于訪問Internet上的數據庫。MySQL服務器工作在客戶端/服務器模式下,或嵌入式系統中。MySQL數據庫軟件是一種客戶端/服務器系統,由支持不同后端的1個多線程SQL服務器,數種不同的客戶端程序和庫,眾多管理工具和廣泛的應用編程接口API組成。還能以嵌入式多線程庫的形式提供MySQL服務器,你可以將其鏈接到你的應用程序,從而獲得更小、更快、和更易管理的產品⑷。TomcatWeb服務器Tomcat服務器是一個免費的開放源代碼的Web應用服務器。它是Apache軟件基金會(ApacheSoftwareFoundation)的Jakarta項目中的一個核心項目,由Apache、Sun和其他一些公司及個人共同開發而成?。由于有了Sun的參與和支持,最新的Servlet和JSP規范總是能在Tomcat中得到體現,Tomcat5支持最新的Servlet和JSP規范。因為Tomcat技術先進、性能穩定,而且免費,因而深受Java愛好者的喜愛并得到了部分軟件開發商的認可,成為目前比較流行的Web應用服務器。Tomcat很受廣大程序員的喜歡,因為它運行時占用的系統資源小,擴展性好,支持負載平衡與郵件服務等開發應用系統常用的功能;而且它還在不斷的改進和完善中,任何一個感興趣的程序員都可以更改它或在其中加入新的功能。Tomcat是一個小型的輕量級應用服務器,在中小型系統和并發訪問用戶不是很多的場合下被普遍使用,是開發和調試JSP程序的首選。對于一個初學者來說,可以這樣認為,當在一臺機器上配置始pache服務器,可利用它響應對HTML頁面的訪問請求。實際上Tomcat部分是Apache服務器的擴展,但它是獨立運行的,所以當你運行Tomcat時,它實際上作為一個與Apache獨立的進程單獨運行的。這里的訣竅是,當配置正確時,Apache為HTML頁面服務,而Tomcat實際上運行JSP頁面和Servlet。另外,Tomcat和IIS、Apache等Web服務器一樣,具有處理HTML頁面的功能,另外它還是一個Servlet和JSP容器,獨立的Servlet容器是Tomcat的默認模式。不過,Tomcat處理靜態HTML的能力不如Apache服務器。.系統的需求分析在系統的可行性分析完成以后,并確定系統可以立即投入設計和研制時,下一步要做的工作便是系統的需求分析,即通過各種途徑(訪談、調查問卷、實地考察等)了解并明確用戶對所要開發的系統各方面的需求,包括功能上的要求、性能上的要求、操作方便性的要求等等。本章對c語言在線考試系統進行了需求分析,主要是根據用戶對系統功能方面的要求,明確了系統所要實現的各個功能的相關細節,并在此基礎上對系統進行了模塊劃分,為后續的系統的設計打下基礎。系統的功能需求根據用戶對系統功能方面的實際要求,C語言在線考試系統的主要功能包括:用戶登錄驗證功能、用戶管理功能、試題管理功能(試題的錄入、查詢、修改、刪除)、考試管理功能、自動組卷功能、倒計時功能、試卷提交功能、故障延時功能和答卷自動評分功能。本節詳細地說明了用戶對這些功能的需求。(1)用戶登錄驗證功能用戶在登錄C語言在線考試系統時必須進行身份驗證,只有通過了身份驗證,才能進入并使用該系統。系統的用戶應分成三大類,即管理員、教師和考生。用戶在登錄時,系統應提供用戶類別的選擇,以區別不同用戶的登錄;用戶在選擇好登錄身份之后,系統應該要求用戶提供用戶名和密碼,以進行登錄驗證。系統應該為管理員(有若干位)預置登錄的用戶名和密碼,并允許管理員修改用戶名和密碼。在系統提供給教師和考生使用前,管理員負責向系統中提前錄入教師和考生的一些相關信息,比如教師的編號、考生的學號以及各自的身份證號等等,這些信息可用來作為這兩類用戶首次登錄時的驗證信息。用戶首次登錄之后,系統應該要求用戶修改登錄信息,特別是登錄密碼,以防止他人冒用。此外,為了防止惡意軟件進行系統攻擊,每個用戶登錄之前都要以圖片的形式產生一組隨機驗證碼[8]用戶必須輸入正確的驗證碼才能進入系統。(2)用戶管理功能C語言在線考試系統應該對用戶進行有效的管理。系統的用戶分成了三類,即管理員、教師和考生。管理員具有系統操作的最高權限,負責添加教師和考生用戶,并查看其用戶信息(不包括密碼)。管理員的初始用戶名和密碼是內置的,管理員可以修改自己的用戶名和密碼,并添加和修改其他相關信息。對于教師用戶來說,用戶信息應至少包括登錄的用戶名和密碼,初始時可以選擇教師的教師編號作為用戶名,身份證號作為密碼,之后可以修改。教師可以添加和修改自身相關的其他信息,并查看考試結果(包括相關分析)。對于考生來說,用戶信息應至少包括用戶名、密碼,初始時,用戶名為考生的學號,密碼為考生的身份證號,之后可以修改。考生可以添加和修改自身的相關其他信息,并查看考試成績。(3)試題管理功能C語言在線考試系統需要實現試題的管理功能,即組建一個試題庫,以便對大量的C語言試題進行高效、便捷的管理。該功能包括:試題的錄入,即使得教師能夠方便地將C語言試題及其參考答案錄入系統的試題庫。試題錄入子功能應該根據教師錄入的試題的類型(選擇題、填空題、程序設計題)對試題進行分類管理;試題的查詢,即使得教師能夠根據試題的某些關鍵字方便地查詢試題,以便檢查和修改試題。試題的查詢子功能同樣應該對不同的題型進行分類查詢,以提高查詢的效率;試題的修改,即使教師能夠對已經錄入系統的試題及其參考答案進行不限次數的修改,以便提高試題本身或參考答案的準確性;試題的刪除,即使教師能夠刪除已經錄入系統的試題(連同參考答案),以便更新試題庫。(4)考試管理功能考試管理功能,即系統提供管理員對考試信息以及考試公告的管理功能。具體來說,系統管理員用戶可以安排考試、編輯考試信息、利用自動組卷功能生成試卷投入考試使用;系統管理員可以發布、編輯考試公告。而教師和考生用戶則只能瀏覽考試公告。(5)自動組卷功能自動組卷功能,即系統能夠自動生成C語言試卷,供考生作答。自動組卷功能應該根據管理員的要求組卷,即管理員可以設置試卷所包括的題型,各類題型的分值和題數,各類型的試題在試卷上的先后順序以及考試的時間限制。自動組卷功能應該按照管理員設置的出卷要求按照某種算法從試題庫中選擇相應的試題,保證每個試題都有機會出現在試卷上,并且每次組卷試卷相同的概率盡可能小。(6)倒計時功能倒計時功能,即在考生進行測試的界面上提供倒計時,以便考生隨時了解考試的剩余時間。倒計時功能應該根據教師設置的考試的時間限制準確地進行,保證考試的公平性。倒計時功能應該在考試結束前10分鐘時給出相應的提示,提醒考生抓緊時間作答。此外,該功能出現在界面上的位置應該合理,顯示的大小適中,不至于分散考生的注意力,產生負面效果。(7)試卷提交功能試卷提交功能包括兩種情況,一種情況是考生在考試時間截止之前就已經完成答題,應允許考生提交試卷;另一種情況是考生在規定的考試時間內沒能完成答題,此時,系統將自動完試卷的提交,以避免考生繼續答題,破壞考試的公平性。對于提前完成考試并欲提交試卷的考生,試卷提交功能在正式提交試卷之前,應該給出確認提示,保證考生不是由于誤操作而提交試卷。自動提交試卷的情況則應該與倒計時功能相一致,確保倒計時到零時自動提交試卷并切換主界面到考試結束界面。(8)故障延時功能故障延時功能,即當某個考生的電腦發生故障,例如死機時,監考人員可以暫停該考生的答題倒計時。當故障排除之后,考生可重新登錄系統,進入考試,此時考生的考試剩余時間同故障發生時相同,即考生的考試時間被延遲。(9)答卷自動評分功能答卷自動評分功能完成考生答卷的批閱和評分工作,得出考生的成績。由于C語言考試試題一般包括選擇題、填空題和程序設計題,所以系統應能夠自動完成這三類試題的批閱和評分。對于程序設計題,應能將考生的程序保存下來,批量編譯、運行,得出結果以判斷程序是否正確。系統的模塊劃分根據系統的功能需求,將C語言在線考試系統分成六大模塊進行設計:(1)用戶登錄驗證模塊;(2)用戶管理模塊;(3)試題管理模塊;(4)考試管理模塊;(5)在線考試模塊;(6)答卷自動評分模塊。各個模塊及子模塊的劃分和功能說明如表3-1所示:表3-1C語言在線考試系統的模塊劃分編號模塊名稱子模塊名稱功能說明1用戶登錄模塊實現用戶登錄時的身份選擇、驗證。2用戶管理模塊管理員信息管理模塊添加、刪除教師和考生用戶;修改和查看教師和考生的部分信息;修改和查看管理員個人信息。教師信息管理模塊修改和查看教師個人信息;查看考生的部分信息。考生信息管理模塊修改和查看考生個人信息、查詢考試相關信息。

續表3-1編號模塊名稱子模塊名稱功能說明3試題管理模塊試題錄入模塊允許教師錄入試題及參考答案。試題編輯模塊允許教師對試題庫中的試題進行查詢、修改、刪除。4考試管理模塊自動組卷模塊自動組卷;保存、查看、刪除試卷。考試信息管理模塊發布考試;保存、修改、刪除考試信息。考試公告管理模塊對考試公告進行添加、修改、刪除。5在線考試模塊倒計時模塊給出考試剩余時間和相應的提示信息。試卷提交模塊允許考試提前交卷;考試時間截止時自動交卷。試題顯示及作答模塊顯示試題,供考生在線作答。故障延時模塊故障發生時,暫停考生的答題倒計時。6答卷自動評分模塊客觀題評分模塊對選擇題、填空題進行自動評分,并保存得分。程序設計題評分模塊對程序設計題自動評分,并保存得分。.系統的設計在c語言在線考試系統的需求分析和模塊劃分完成的基礎上,本章論述了該系統的概要設計和主要模塊的詳細設計。系統的概要設計本節對C語言在線考試系統進行概要設計,給出了系統的總體結構圖和數據庫的設計。系統的總體結構根據上一章需求分析中的系統模塊劃分,對C語言在線考試系統進行總體設計,得到系統的總體結構圖如圖4-1所示(各模塊的功能說明見上一章表3-1):

系統數據庫設計本節根據系統各模塊的功能和模塊間的相互關系,對系統的數據庫設計進行論述,包括了數據庫的需求分析、概念結構設計、邏輯設計和表設計。(1)數據庫的需求分析C語言在線考試系統實現了用戶管理、試題管理、在線考試、試卷評分等功能,這些功能所涉及到的數據庫的需求說明如下:為實現用戶的管理,必須在數據庫中保存用戶的信息,由于用戶分成管理員、教師和考生三類,數據庫中應建立對應的管理員表、教師表和考生表。此外,為了方便管理同一考場的考生,數據庫中應建立考生組表。為實現試題的管理,數據庫中應建立試題表以保存試題信息。為實現考試的管理,數據庫中應建立試卷表保存自動組卷功能生成的試卷;應建立考試信息表和考試公告表,保存考試信息和考試公告。為實現在線考試和試卷評分,數據庫中應建立答題表存放考生的答題結果。此外,應建立考生的成績表用于保存考生的成績和相關的考試信息。對于系統E-R圖中的m:n關系(即多對多關系),也應建立相應的表。(2)數據庫的概念結構設計

根據C語言在線考試系統的數據庫需求分析進行概念結構設計,畫出系統的實體-聯系圖,即E-R圖[3](圖4-2)以及實體圖(圖4-3?圖4-18)。圖4-2C語言在線考試系統數據庫概念結構設計(E-R圖)圖4-4教師實體圖

圖4-7考試實體圖圖4-9試卷實體圖圖4-13公告管理實體圖圖4-14考生組管理實體圖(3)數據庫的邏輯設計及表設計根據系統的總體概念設計模型、E-R圖向關系模式的轉化規則和數據庫的范式理論,得到系統優化后的邏輯模型[5]如表4-1?表4-17所示:表4-1管理員表(admin表)字段名稱類型默認值是否主鍵是否為空說明AdminlDInt自增YesNo管理員編號

RealNamevarChar(20)NoNo真實姓名續表4-1字段名稱類型默認值是否主鍵是否為空說明PasswordvarChar(20)NoNo密碼UsernamevarChar(20)NoNo用戶名表4-2教師表(teacher表)字段名稱類型默認值是否主鍵是否為空說明TeacherIDInt自增YesNo教師編號RealNamevarChar(20)NoNo真實姓名PasswordvarChar(20)NoNo密碼UsernamevarChar(20)NoNo用戶名AcademyvarChar(20)NoNo所在院系表4-3考生表(student表)字段名稱類型默認值是否主鍵是否為空說明StudentIDInt自增YesNo考生編號UsernamevarChar(20)NoNo用戶名PasswordvarChar(20)NoNo密碼RealNamevarChar(20)NoNo真實姓名GroupIDIntNoNo考生組編號,外鍵AcademyvarChar(20)NoNo所在院系表4-4試題表(question表)字段名稱類型默認值是否主鍵是否為空說明QuestionIDInt自增YesNo試題編號TypeChar(10)NoNo試題類型DescriptionNvarchar(500)NoNo試題描述DifficultyChar(10)NoNo難度ScoreOfQuestionNvarchar(200)NoNo該題分值AnswerNvarchar(200)NoNo參考答案表4-5考試表(exam表)字段名稱類型默認值是否主鍵是否為空說明ExamIDInt自增YesNo考試編號

GroupIDIntNoNo考生組編號,外鍵續表4-5字段名稱類型默認值是否主鍵是否為空說明PaperIDIntNoNo試卷編號,外鍵SupervisorIdvarChar(20)NoNo監考人編號(管理員監考)ExamRoomvarChar(20)NoNo考場DescriptionNvarchar(500)NoNo考試描述ExamDateDateTimeNoNo考試日期DurationIntNoNo考試時長(分鐘)TotalScoreIntNoNo考試總分表4-6考試公告表(notice表)字段名稱類型默認值是否主鍵是否為空說明NoticeIDInt自增YesNo公告編號NoticeTitleNvarchar(30)NoNo公告標題ReadCntInt0NoNo瀏覽次數ContentNvarchar(500)NoNo公告內容AuthorChar(30)NoNo發布人表4-7試卷表(exam_paper表)字段名稱類型默認值是否主鍵是否為空說明PaperIDInt自增YesNo試卷編號AdminIDIntNoNo管理員編號,外鍵AddTimeDateTimeNoNo試卷生成時間IsUsedInt0NoNo是否使用表4-8考生組表(stu_group表)字段名稱類型默認值是否主鍵是否為空說明GroupIDInt自增YesNo考生組編號GroupNameNvarchar(20)NoNo考生組名TeacherIDIntNoNo指導教師編號,外鍵MemoNvarchar(100)NoNo備注

表4-9答題卡(answer_sheet表)字段名稱類型默認值是否主鍵是否為空說明SheetIDInt自增YesNo答題卡編號續表4-9字段名稱類型默認值是否主鍵是否為空說明ExamIDIntNoNo考試編號,外鍵StudentIDIntNoNo考生編號,外鍵QuestionIDIntNoNo試題編號,外鍵TypeChar(1)NoNo試題類型IsCheckedBit(1)0NoNo是否批閱AnswerVarchar(300)NoNo考生答案ScoreIntNoNo該題得分表4-10考生成績單表(mark_sheet表)字段名稱類型默認值是否主鍵是否為空說明SheetIDInt自增YesNo成績單編號ExamIDIntNoNo考試編號,外鍵StudentIDIntNoNo考生學號,外鍵IsPaperSubmittedBit(1)NoNo試卷是否提交IsExamPausedBit(1)NoNo考試是否暫停RemainMinuteIntNoNo考試剩余時間ScoreOfStudentIntNoNo考生總分表4-11公告管理表(notice_org表)字段名稱類型默認值是否主鍵是否為空說明NoticeOrgIDInt自增YesNo編號AdminIDIntNoNo管理員編號,外鍵NoticeIDIntNoNo公告編號,外鍵OperationChar(10)NoNo操作(修改信息等)OperationDateDateTimeNoNo操作日期表4-12考生組管理表(stu_group_org表)字段名稱類型默認值是否主鍵是否為空說明

GroupOrgIDInt自增YesNo編號AdminIDIntNoNo管理員編號,外鍵GroupIDIntNoNo考生組編號,外鍵OperationChar(10)NoNo操作(修改信息等)OperationDateDateTimeNoNo操作日期表4-13教師管理表(teacher_org表)字段名稱類型默認值是否主鍵是否為空說明TeacherOrgIDInt自增YesNo編號AdminIDIntNoNo管理員編號,外鍵TeacherIDIntNoNo教師編號,外鍵OperationChar(10)NoNo操作(修改等)OperationDateDateTimeNoNo操作日期表4-14試題管理表(question_org表)字段名稱類型默認值是否主鍵是否為空說明QuestionOrgIDInt自增YesNo編號TeacherIDIntNoNo教師編號,外鍵QuestionIDIntNoNo試題編號,外鍵OperationNvarchar(200)NoNo操作(添加、修改等)OperationDateDateTimeNoNo操作日期表4-15考試管理表(exam_org表)字段名稱類型默認值是否主鍵是否為空說明ExamOrgIDInt自增YesNo編號AdminIDIntNoNo管理員編號,外鍵ExamIDIntNoNo考試編號,外鍵OperationNvarchar(200)NoNo操作(修改信息等)OperationDateDateTimeNoNo操作日期表4-16組卷表(paper_composition表)字段名稱類型默認值是否主鍵是否為空說明PaperCreationIDInt自增YesNo編號QuestionIDIntNoNo試題編號,外鍵PaperIDIntNoNo試卷編號,外鍵系統主要模塊的詳細設計本節在上一節系統概要設計的基礎上,對系統的主要模塊進行詳細設計。系統的主要模塊包括試題管理、考試管理、在線考試和自動評分模塊。本文通過這些模塊(子模塊)的功能流程圖來說明它們的詳細設計。試題管理模塊設計試題管理模塊下分成了兩個子模塊,包括試題的錄入子模塊、試題編輯子模塊,該模塊只提供給教師用戶使用。(1)試題錄入試題錄入子模塊為教師用戶提供試題(包括參考答案、難度和其他試題參數)的錄入功能,以組建試題庫,是自動組卷的基礎。該子模塊的功能流程圖如圖4-19所示:圖4-19試題錄入子模塊功能流程圖(2)試題編輯試題編輯子模塊為教師用戶提供按關鍵字查詢試題、修改和刪除試題(包括參考答案)的功能。該子模塊的功能流程圖如圖4-20所示:

圖4-20試題編輯子模塊功能流程圖考試管理模塊設計考試管理模塊下分成三個子模塊,即自動組卷子模塊、考試信息管理子模塊和考試公告管理子模塊。本小節重點論述自動組卷子模塊的詳細設計。本文中自動組卷采用的是遺傳算法,遺傳算法的概念由Holland和他的同事在二十世紀六七十年代提出。遺傳算法的來源于解釋物種起源的進化理論。在自然界中,不適應環境的弱者將被自然選擇所淘汰。強者有更多的機會通過繁殖將基因傳遞給后代。長遠來說,帶有正確基因組合的物種在種群中占據主導地位。有時,在緩慢的進化中,基因可能發生突變。如果這些突變能夠在物種面對生存挑戰時帶來好處,舊物種就進化為新物種了。而不成功的突變則被自然選擇所消滅[1。]本文中自動組卷子模塊根據試卷所要求的各題型的題量、難度,通過遺傳算法從試題庫中選取相關的試題,自動生成試卷,并保存。算法的流程如圖4-21所示,其中適應值低表示試卷更符合組卷要求:

否圖否圖4-21自動組卷子模塊功能流程圖在線考試模塊設計在線考試模塊下分成了四個子模塊,本小節主要詳細論述倒計時子模塊、故障延時子模塊的設計。(1)倒計時倒計時子模塊在考生進行在線考試時在界面上給出考試的剩余時間,并在距離考試結束10分鐘的時候在界面上給出相應提示,以提醒考生。其功能流程圖如圖4-22所示:(2)故障延時圖4-22倒計時子模塊功能流程圖故障延時子模塊主要實現監考人員(由管理員擔當)暫停某個考生考試的功能。該子模塊的功能流程圖如圖4-23所示:4.2.4.答卷自動評分模塊設計試卷評分模塊下分成了兩個子模塊,包括客觀題評分子模塊和程序設計題評分子模塊。(1)客觀題評分客觀題評分子模塊實現對選擇題、填空題進行自動評分(通過對比考生答案和參考答案)并保存得分。其功能流程圖如圖4-24所示:圖4-24客觀題評分子模塊功能流程圖(2)程序設計題評分程序設計題評分子模塊從考生答題卡中獲取考生編寫的程序,將其保存為C語言源程序(*.c),并進行編譯、運行得出結果。通過對比考生程序的運行結果和試題的參考答案來確定考生是否得分。若考生的程序無法通過編譯則不進行運行操作,其功能流程圖如圖4-25所示:否圖4-25程序設計題評分子模塊功能流程圖5.系統主要模塊的實現本章在上一章系統主要模塊詳細設計的基礎上,給出了(3語言在線考試系統的主要模塊的具體實現過程,包括項目創建過程和這些模塊的主要實現代碼。5.1.創建項目在本文中,系統的實現用到了經典MVC框架Struts()和經典ORM框架Hibernate(3)。系統的數據庫管理軟件為MySql,Web服務器為TOMCAT(6)。在系統開發工作開始之前,必須下載、安裝和配置這些開發工具和軟件。本節介紹開發環境的搭建和項目的整體結構。1.開發環境的搭建本系統的開發環境的搭建步驟如下:a)從Sun公司的官方網站()上下載適合所使用操作系統的JDK和JRE并安裝;b)編輯系統環境變量Path,使其包含JDK安裝目錄下的bin目錄;c)編輯系統環境變量Classpath,使其包含JDK安裝目錄下的lib目錄中的和;d)從網站下載Tomcat6的壓縮包,解壓后置于任意目錄下;e)添加系統環境變量JAVA_HOME,其值為JDK所在目錄;f)添加系統環境變量CATALINA_HOME,其值為Tomcat所在目錄;g)從網站下載Ant(作為編譯工具)壓縮包,解壓后置于任意目錄下;h)添加系統環境變量ANT_HOME,其值為ANT所在目錄;i)從網站下載Struts壓縮包,解壓后備用;j)從網站下載Hibernate壓縮包,解壓后備用;k)在Tomcat目錄下的webapps目錄中新建目錄CExamSystem作為本項目的目錄,在該目錄下創建項目的文件結構,如下所示:CExamSystem—WEB-INF|-classes該目錄下存放src中Java源程序編譯后生成的.class文件和相關的配置文件|—kent| |一struts| | |—action| | |—form| |—DAO| |—po| |—tools|—系統的國際化配置文件|一 系統的Hibernate配置文件—lib 存放系統所需的jar包—src 該目錄下存放系統的Java源程序和相關的配置文件|—kent| |一struts Struts相關的Java源程序所在目錄

| | | |—action存放action類| | | |—form 存放form類| | |一DAO存放與訪問數據庫相關的類| | |—po存放Hibernate持久化類| | |-tools存放工具類| |一系統的國際化配置文件| |一系統的Hibernate配置文件|一系統的Web配置文件|一系統的Struts配置文件|一系統的build配置文件,以便使用Ant進行源程序的編譯|—Struts的bean標簽庫|—Struts的html標簽庫|—Struts的logic標簽庫-css存放樣式列表|一系統的樣式列表文件-images存放系統所需的圖片文件—inc存放JSP頁面中公用的inc文件一admin存放與admin用戶相關的JSP頁面一teacher存放與teacher用戶相關的JSP頁面一student存放與student用戶相關的JSP頁面—為登錄頁面隨機生成驗證碼—登錄頁面2.系統的整體框架系統的整體框架結構可由圖5-1所示:個人信息管理頁面教師管理頁面考生組管理頁面考試管理頁面考試公告管理頁面個人信息管理頁面教師管理頁面考生組管理頁面考試管理頁面考試公告管理頁面圖5-1系統的整體框架結構試題管理模塊的實現試題管理模塊用于完成試題的錄入、查看、修改和刪除。本節根據4.2.1節中該模塊的設計,對該模塊進行實現。創建持久化類和數據庫訪問相關類試題管理模塊所需的持久化類主要包括:Question和QuestionOrg,為它們創建相應的Hibernate配置文件以及,并在添加相應配置內容。同時,創建QuestionDAO類用戶封裝對相應數據庫表的操作。以下是QuestionDAO類的主要代碼,完成對試題的查看、添加、修改和刪除操作:etType((int)()*3)+1);etDifficulty((int)()*3)+1);etType();difficulty=population[n][i].getDifficulty();switch(type){case1:numOfChoiseR++;break;case2:numOfFillR++;break;default:numOfProgramR++;)switch(difficulty){case1:numOfEasy++;break;case2:numOfMiddle++;break;default:numOfDifficult++;))typeFitness=(numOfChoiseR-numOfChoiseQ)etFitnessValue()<fitness[minPos].getFitnessValue()){minPos=j;))if(minPos!=i){temp=fitness[i];fitness[i]=fitness[minPos];fitness[minPos]=temp;交叉(Crossover)本文中,交叉操作采用的是單點交叉,交叉點在個體(染色體)中央。對選擇操作完成后獲取的個體進行兩兩隨機配對,交叉后產生一對后代。以下是源代碼(crossOver()):publicvoidcrossOver(){int口randomArray;etPos()][p].setType(population[fitness[randomArray[i]].getPos()][p].getType());population[fitness[numOfPopulation+i].getPos()][p].setDifficulty(population[fitness[randomArray[i]].getPos()][p].getDifficulty());}else{population[fitness[numOfPopulation+i].getPos()][p].setType(population[fitness[randomArray[i+1]].getPos()][p].getType());population[fitness[numOfPopulation+i].getPos()][p].setDifficulty(population[fitness[randomArray[i+1]].getPos()][p].getDifficulty());))for(p=0;p<totalNum;p++){etPos()][p].setType(population[fitness[randomArray[i+1]].getPos()][p].getType());population[fitness[numOfPopulation+i+1].getPos()][p].setDifficulty(population[fitness[randomArray[i+1]].getPos()][p].getDifficulty());}else{population[fitness[numOfPopulation+i+1].getPos()][p].setType(population[fitness[randomArray[i]].getPos()][p].getType());population[fitness[numOfPopulation+i+1].getPos()][p].setDifficulty(population[fitness[randomArray[i]].getPos()][p].getDifficulty());)變異(Mutation)本文中變異隨機產生,變異的個體數由變異率和種群數決定,產生變異的個體只有一個基因發生突變。變異操作的主要目的是防止求得的解(試卷)是局部最優解。以下是源代碼(mutation()):publicvoidmutation(){int口randomArray;etPos();point=(int)()*totalNum);type=population[pos][point].getType();difficulty=population[pos][point].getDifficulty();type=(type+(int)()*2)+1)%3;if(type==0)type=3;difficulty=(difficulty+(int)()*2)+1)%3;if(difficulty==0)difficulty=3;population[pos][point].setType(type);population[pos][point].setDifficulty(difficulty);)))在線考試模塊的實現在線考試模塊下有三個子模塊,分別是倒計時子模塊,試卷提交子模塊和試卷的顯示和作答子模塊。本節將論述倒計時子模塊和試卷提交子模塊的具體實現。倒計時子模塊的實現倒計時子模塊并不復雜,通過Javascript可以較容易地實現,以下是關鍵代碼,在在線考試頁面加載時調用,之后以懸浮窗的形式顯示:varexamHour=<%=("examHour")%>;varduration=<%=("duration")%>;varrestMinute=duration%60;varendHour=examHour+(duration/60);varendMinute=<%=("examMinute")%>+restMinute;functiongetRestTime(){nnerHTML=remainHour+“小時”+remainMinute+“分鐘”+(remainSec%60)+"秒”;setTimeout("count()”,1000);ntValue();ntValue();ntValue();)的形式保存于特定目錄下,文件名由考試編號、考生編號和試題編號組成*/Stringpath="F:/Exam/"+examId+"#"+()+”#"+();”,code);")==0){rim()).equals().trim())){(),(),());}else{(),(),());))}catch(IOExceptione){})(examId);于500個字符的字符串表6-2試題輸入測試用例設計測試數據期望結果覆蓋范圍500字符以內的字符串輸入有效1多于500字符的字符串輸入無效2表6-3試題修改、刪除測試用例設計測試操作期望結果修改某試題的難度試題難度被修改修改某試題的題型試題題型被修改修改某試題的內容試題內容被修改修改某試題的參考答案試題參考答案被修改刪除某試題試題被刪除

自動組卷功能測試用例設計測試自動組卷功能時,主要看在設定合法組卷參數時,組卷是否成功。表6-4給出了組卷參數輸入的等價類劃分,表6-5給出了組卷測試用例設計。表6-4組卷參數輸入等價類劃分輸入等價類合理等價類不合理等價類各題型試題數目1.各題型數目都不超過30題.選擇題超過30題.填空題超過30題.程序設計題超過30題續表6-4輸入等價類合理等價類不合理等價類試卷難度比例分布5.各個難度比例之和為16.各個難度比例之和大于1表6-5自動組卷測試用例設計測試數據期望結果覆蓋范圍選擇題:20填空題:10程序設計題:5輸入有效1選擇題:31填空題:10程序設計題:5輸入無效2選擇題:20填空題:31程序設計題:5輸入無效3選擇題:20填空題:10程序設計題:31輸入無效4容易:33%中等:33%難:34%輸入有效5容易:70%中等:40%難:20%輸入無效6在線考試模塊測試用例設計在線考試模塊主要測試的是倒計時是否準確,考試到點時是否自動提交試卷,故障延時是否操作成功。表6-6是在線考試模塊測試用例設

溫馨提示

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

評論

0/150

提交評論