數據結構自動出題管理系統(tǒng)的設計與實現畢業(yè)設計論文_第1頁
數據結構自動出題管理系統(tǒng)的設計與實現畢業(yè)設計論文_第2頁
數據結構自動出題管理系統(tǒng)的設計與實現畢業(yè)設計論文_第3頁
數據結構自動出題管理系統(tǒng)的設計與實現畢業(yè)設計論文_第4頁
數據結構自動出題管理系統(tǒng)的設計與實現畢業(yè)設計論文_第5頁
已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 單位代碼 10 學 號 4 分 類 號 tp315 密 級_ _ _畢業(yè)設計說明書數據結構自動出題管理系統(tǒng) 院(系)名稱專 業(yè) 名 稱學 生 姓 名指 導 教 師2012年5月15日數據結構自動出題管理系統(tǒng)的設計與實現摘 要高新科技和計算機的飛速發(fā)展,給人們帶來了更多的便利。電腦普及時代即將到來,網絡技術也在逐漸完善,人們的生活已經開始發(fā)生重要的變革。信息時代對人才素質的結構提出了更新,更高的要求,開展自動出題系統(tǒng)這種方式是教育面臨信息時代的必然選擇。為了實現數據結構題庫管理的信息化而開發(fā)了這個數據結構自動出題系統(tǒng)。本系統(tǒng)實現了難度管理、題庫管理、學生管理、試卷管理、評分老師管理等基本功能。

2、同時,本系統(tǒng)有三種登錄權限,分別是管理員,考生和評分老師。系統(tǒng)采用b/s開發(fā)模式,以myecipse8.6作為開發(fā)平臺,結合jsp、javascript、html等語言,以tomcat為服務器和sql server 2005為后臺數據庫。整個系統(tǒng)層次結構簡單,操作容易,并具備一定的安全性。考生借助此系統(tǒng),可以隨時隨地的進行課程測試,同樣,老師使用該系統(tǒng)能更高效、便捷的組織在線考試。關鍵詞:jsp,my eclipse,在線考試,題庫the data structure to be automatic set the system development and implementation a

3、uthor:li kun tutor:zhao wen an abstractan applet is a mini-program that will run only under a web browser. the applet is downloaded automatically as part of a web page (just as, for example, a graphic is automatically downloaded). when the applet is activated it executes a program. this is part of i

4、ts beautyit provides you with a way to automatically distribute the client software from the server at the time the user needs the client software, and no sooner. the user gets the latest version of the client software without fail and without difficult reinstallation. because of the way java is des

5、igned, the programmer needs to create only a single program, and that program automatically works with all computers that have browsers with built-in java interpreters. (this safely includes the vast majority of machines.) since java is a full-fledged programming language, you can do as much work as

6、 possible on the client before and after making requests of the server. you wont need to send a request form across the internet to discover that youve gotten a date or some other parameter wrong, and your client computer can quickly do the work of plotting data instead of waiting for the server to

7、make a plot and ship a graphic image back to you. not only do you get the immediate win of speed and responsiveness, but the general network traffic and load on servers can be reduced, preventing the entire internet from slowing down.key words: applet, java, internet目 錄1.緒 論11.1.背景11.2.系統(tǒng)開發(fā)技術11.2.1.

8、java server page11.2.2.jsp工作原理11.2.3.jsp體系結構21.2.4.sqlserver 2005 數據庫連接21.3.論文內容概要介紹52.可行性研究62.1.項目要求62.2.系統(tǒng)的主要開發(fā)目標72.3.開發(fā)的可行性73.需求分析83.1.市場需求83.2.軟件功能分析83.3.軟件的非功能性需求94.系統(tǒng)設計104.1.總體設計104.1.1.基本簡介104.1.2.運行環(huán)境104.2.系統(tǒng)模塊結構圖104.3.詳細設計124.3.1.用戶信息設計124.3.2.數據庫中表的設計124.3.3.登錄設計154.3.4.管理員對題庫的管理和維護164.3.5

9、.對題庫中試卷的修改175.系統(tǒng)實現185.1.系統(tǒng)登錄界面185.2.管理員管理界面185.3.管理員添加組卷界面195.4.管理員上傳最新試題界面195.5.考生界面195.6.評分老師界面206.軟件測試216.1.測試結果分析與調試21結 論24致 謝25參考文獻26附 錄271. 緒 論1.1. 背景近年來,隨著計算機技術的發(fā)展和互聯網時代的到來,我們已經進入了信息時代,也有人稱為數字化時代,在這數字化的時代里,學校的教學管理都受到了極大的挑戰(zhàn)。internet技術持續(xù)迅猛的發(fā)展,也給傳統(tǒng)的教學提出了新的模式。以現代計算技術、網絡技術為基礎的數字化教學主要是朝著信息化、網絡化、現代化

10、的目標邁進。作為新型的辦學模式,它們具有對于教育、教學過程來說極為寶貴的特性,可以為新型教學模式的建構提供理想的環(huán)境。在此開發(fā)的數據結構自動出題系統(tǒng),旨在探索一種以互聯網為基礎的教學模式。通過這種新的模式,使學生通過自測及時的掌握學過的知識,為學校營造一種新的教學環(huán)境,從而提高工作效率和教學水平。1.2. 系統(tǒng)開發(fā)技術1.2.1. java server pagejsp(java server page服務器網頁)是從1998年開始出現的新技術。由sun公司倡導、許多公司參與一起建立的一種動態(tài)網頁技術標準,是基于javaservlet以及整個java體系的web開發(fā)技術。在傳統(tǒng)的網頁html文

11、件(*.htm,*.html)中加入腳本片段和jsp標記(tag),構成jsp網頁(*.jsp)。jsp技術為創(chuàng)建顯示動態(tài)生成內容的web頁面提供了簡便的方法。jsp作為java家族的一員,承襲了java的特點,即跨平臺的特性,也即一次編譯,到處運行。13在國外,己經大量使用jsp作為網絡應用程序的開發(fā)工具,而在國內,盡管jsp還不是主流開發(fā)技術,但是由于jsp的強大優(yōu)勢,許多網站都已經準備轉向jsp,利用jsp來開發(fā)動態(tài)網站。 1.2.2. jsp工作原理jsp是面向服務器的,因此支持任何瀏覽器。當web服務器和jsp引擎遇到訪問jsp網頁的請求時,jsp引擎將請求對象發(fā)送給服務器端的相關組

12、件,比如javabean組件、servlet或ejb等,然后由服務器端組件處理這些請示,可能需要從數據庫或數據存儲中檢索信息,然后服務器端組件再將響應對象返回jsp引擎。jsp引擎將響應對象傳遞給jsp頁面,根據jsp頁面的html格式完成數據編排,最后web服務器和jsp引擎將格式化后的jsp頁面以html格式返回客戶瀏覽器。這就是當前網站構建中廣泛采用的瀏覽器web服務器后臺數據庫的三層架構模式。因為jsp所有程序操作都在服務器端執(zhí)行,網絡上傳送給客戶端的僅是得到的結果。1.2.3. jsp體系結構jsp網站開發(fā)標準給出了兩種使用jsp的技術,可以歸納為模式一、模式二。模式一:jsp+ja

13、vabeans技術在這種模式中,jsp頁面獨自響應請求并將處理結果返回給客戶。bean處理所有數據訪問,jsp實現頁面的表現,以實現內容生成與顯示相分離。當處理復雜的大型應用時,頁面被嵌入大量的腳本或java代碼段,當需要處理的商業(yè)邏輯復雜時,這種情況會變得非常糟糕,大量的內嵌代碼使得頁面程序變得復雜,對于前端界面設計人員,這是不可思議的事情。所以模式一可用于小型應用,不能夠滿足大型應用的需要。模式二:jsp+servlet+javabeans技術servlet技術是一種采用java技術來實現cgi功能的一種技術,servlet技術非常適于服務器端的處理和編程,并且servlet會長期駐留在內

14、存。從開發(fā)的觀點看,模式二具有更清晰的頁面表現,清楚的開發(fā)者角色劃分,在大規(guī)模項目開發(fā)中,模式二更被采用,模式二也更符合當前流行的mvc結構(model/view/controller),其中servlet對應controller,處于控制者的位置,處理http請求,負責生成jsp中使用的beans組件或對象,并判斷應將請求傳遞給哪個jsp等,jsp對應view,負責生成最終的動態(tài)網頁并返回給瀏覽器。而javabeans對應的是model,實現各個具體的應用邏輯與功能。1.2.4. sqlserver 2005 數據庫連接數據庫方面用spring+hibernate dao 持久層開發(fā),spr

15、ing 用hibernate 訪問數據庫的方式:1、dao開發(fā)需要在spring xml配置文件中,注冊bean(實現類)來依賴注入sessionfactory.。spring 中進行事務管理的通常方式是利用aop(面向切片編程)的方式,為普通java類封裝事務控制,它是通過動態(tài)代理實現的,由于接口是延遲實例化的, spring在這段時間內通過攔截器,加載事務切片。原理就是這樣,具體細節(jié)請參考jdk中有關動態(tài)代理的文檔。46 動態(tài)代理的一個重要特征是,它是針對接口的,所以我們的dao要通過動態(tài)代理來讓spring接管事務,就必須在dao前面抽象出一個接口. 當然如果沒有這樣的接口,那么spri

16、ng會使用cglib來解決問題,但這不是spring推薦的方式。1、直接使用hibernate api (不推薦使用)public class daoimp implate daoprivate sessionfactory sessionfactory;private static string hql = from user u where u.username=? ;public void setsessionfactory(sessionfactory sessionfactory)this.sessionfactory=sessionfactory public boolean is

17、validuser(string username) trylist userlist = sessionfactory.getcurrentsession().creatquery(hql).setparameter(0,username).list();if (userlist.size() 0) return true; catch (hibernateexception ex)throw converhibernateraccessexception(ex); 優(yōu)點:與spring框架完全分離。缺點:(1)無法使用spring框架封裝所提供的額外功能.如,直接使用hibernate a

18、pi 需用try.catch()處理hibernateexception異常。(2)需在實現類中加入setsessionfactory(sessionfactory sessionfactory)屬性,接收依賴注入的sessionfactory。2、繼承 spring 的 hibernatedaosupport 使用 hibernatetemplate (不推薦使用getsession()。public class daoimp extend hibernatedaosupport implates daoprivate static string sql = from user u wher

19、e u.username=? ;public boolean isvaliduser(string username) list userlist = gethibernatetemplate().find(sql,username);if (userlist.size() 0) return true; public boolean isvaliduser(string username,string password) throw dataaccessexception session session = getsession();/不推薦使用,用完后需手動關閉string userlis

20、t=new string2;userlist0=username;userlist1=password;trylist userlist = session.find(hql,userlist); /hibernate語句; session.close();if (userlist.size() 0) return true; catch (hibernateexception ex)throw converhibernateraccessexception(ex); 特點:對hibernatetemplate沒有提供的功能,可以直接調用hibernatedaosuppor對象的getsess

21、ion()方法(極其不推薦使用)得到session對象實例用try hibernate api catch (hibernateexception ex )操作。.3、對 hibernatetemplate 沒有提供的功能, 還可以用hibernatecallback 回調的方法管理數據庫. (極其推薦)。/* 使用 sql 語句進行操作* param sql hsql 查詢語句* param offset 開始取數據的下標* param length 讀取數據記錄數* return list 結果集*/public list getlistforpage ( final string hql

22、 , final int offset , final int length ) list list = gethibernatetemplate().executefind ( new hibernatecallback ( )public object doinhibernate ( session session ) throws hibernateexception, sqlexception query query = session.createquery ( hql ) ;query.setfirstresult ( offset ) ;query.setmaxresults (

23、 length ) ;/query.setcacheable(false); /for(inti=0;ivalues.length;i+) /query.setparameter(i,valuesi); / list list = query.list ( ) ; return list ; ) ; return list ;1.3. 論文內容概要介紹嚴格依照軟件工程的思想,本軟件分為可行性研究,需求分析,概要設計,詳細設計,軟件測試這些步驟,其中本文的第二章對本軟件的可行性研究進行討論,包括評價尺度,技術可行性和經濟可行性。第三章主要對軟件進行需求分析,這一章詳細就軟件應該達到的功能進行說明

24、。第四章是本文最重要的一章,這一章是對軟件的整體設計,包括概要設計和詳細設計,概要設計主要對于系統(tǒng)中用到的數據結構和類進行說明,以及對于用戶使用界面的設計,包括系統(tǒng)的布局。詳細設計對于需求分析中定義出的功能進行說明,具體到使用的技術和解決思想。第五章是對系統(tǒng)的簡要運行界面的展示和說明。最后是對于系統(tǒng)軟件測試的結果的過程說明,以及解決在測試中發(fā)現的軟件中系統(tǒng)的錯誤的方法,分為本地測試和聯機測試,最后是對于這篇論文的結語,總結了在設計和開發(fā)過程中的收獲和缺憾。2. 可行性研究可行性分析(feasibility analysis)也稱為可行性研究,是在系統(tǒng)調查的基礎上,針對新系統(tǒng)的開發(fā)是否具備必要性

25、和可能性,對新系統(tǒng)的開發(fā)從技術、經濟、社會的方面進行分析和研究,以避免投資失誤,保證新系統(tǒng)的開發(fā)成功。可行性研究的目的就是用最小的代價在盡可能短的時間內確定問題是否能夠解決。該系統(tǒng)的可行性分析包括以下幾個方面的內容:1、經濟可行性:主要是對項目的經濟效益進行評價,本系統(tǒng)開發(fā)經費在經濟上是可以接受的,并且本系統(tǒng)實施后可以顯著提高工作效率,提高教學質量。所以本系統(tǒng)在經濟上是可行的。2、技術上的可行性:技術上的可行性分析主要分析技術條件能否順利完成開發(fā)工作,硬、軟件能否滿足開發(fā)者的需要等。該管理系統(tǒng)采用了browser/server模式進行開發(fā)。browser/server體系結構緊密的結合了int

26、ernet/intranet技術,是技術發(fā)展的大勢所趨,它把應用系統(tǒng)帶入了一個嶄新的發(fā)展時代。數據庫服務器sql數據庫,它能夠處理大量數據,同時保持數據的完整性并提供許多高級管理功能。它的靈活性、安全性和易用性為數據庫編程提供了良好的條件。因此,系統(tǒng)的軟件開發(fā)平臺已成熟可行。硬件方面,科技飛速發(fā)展的今天,硬件更新的速度越來越快,容量越來越大,可靠性越來越高,價格越來越低,其硬件平臺完全能滿足此系統(tǒng)的需要。綜上所述,此系統(tǒng)開發(fā)目標已明確,在技術和經濟等方面都可行,并且投入少、見效快。因此系統(tǒng)的開發(fā)是完全可行的。 2.1. 項目要求(1) 由于系統(tǒng)登錄對應的是特定的對象,所以系統(tǒng)需要經過有效的身份

27、驗證才可以登錄。(2)系統(tǒng)的權限一般分為兩種:管理員、學生和評分老師。不同的身份使用不同的權限和功能。(3)管理員需要對試題、考生和評分老師進行有效的管理,負責試題的錄入及更新和修改,對試題的分類,每次考試前,需要對試場環(huán)境和考生狀態(tài)進行考前初始化工作。(4)系統(tǒng)要有良好的試卷上傳和回收功能,確保信息傳送的正確性。(5)系統(tǒng)要有一個友善的界面,確保考生考試的順利進行。 (6)系統(tǒng)提供對考生成績的查詢等管理功能。(7)系統(tǒng)應具有良好的安全性管理。2.2. 系統(tǒng)的主要開發(fā)目標首先,因為自動出題系統(tǒng)是面向特定的某些對象的,所以要將整個系統(tǒng)的角色分為三種,分別是管理員,評分老師和考生。這樣將不同的權限

28、分給不同的角色。然后,考生需要自測科目和題庫的來源,所以管理者需要對考試科目和試題庫進行維護,最后自測者需要選擇試卷進行自測。2.3. 開發(fā)的可行性1、經濟方面的可行性由于該軟件是一個小型的數據結構自動出題系統(tǒng),所以進行該軟件的開發(fā)經費和投資較少,只需學校現有機房即可,系統(tǒng)的開發(fā)并不太復雜和繁瑣,操作盡可能簡單易行。在開發(fā)過程中,由一個人獨立開發(fā),用時三個月左右,所需成本費用主要為人工費用,再加上計算機和軟件等構成該系統(tǒng)的開發(fā)成本。2、技術方面的可行性由于該系統(tǒng)是小型的數據結構自動出題系統(tǒng),采用b/s模式,開發(fā)難度適中。通過對各種開發(fā)工具和數據庫之間進行比較以及指導老師的建議,最終確定采用js

29、p。數據庫方面則選用了sql server2005進行設計。b/s結構的最大優(yōu)點是具有強大的使用和處理數據的能力,它將數據處理任務分開在客戶端和數據庫服務器上進行,有利于充分利用網絡的計算資源,該操作還大大減少了網絡的傳輸量,從客戶發(fā)往數據庫服務器的只是查詢請求,從數據庫傳回的只是查詢的結果。以簡單的兩層客戶機/服務器系統(tǒng)而言,客戶端是指應用軟件以圖形接口顯示數據并讓用戶進行添加、修改等并行輸入輸出作業(yè)的部分,也就是用戶接口負責向后端的數據庫索取數據,執(zhí)行客戶端軟件的工作。服務器所執(zhí)行的后端數據庫服務器,則專門執(zhí)行數據的存儲、檢索、管理、備份等種種關鍵操作。3. 需求分析需求分析就是發(fā)現、求精

30、、建摸、規(guī)格說明和復審的過程。為了發(fā)現用戶的真正需求,首先應該從宏觀角度調查、分析用戶所面臨的問題。也就是說,需求分析的第一步是盡可能了解當前用戶的情況和需要解決的問題。3.1. 市場需求當前考試系統(tǒng)中,仍有許多是基于c/s模式的,每一次伴隨著系統(tǒng)的升級,都要在每個客戶端更新軟件,耗時耗力。可喜的是,隨著技術的發(fā)展,基于b/s模式的在線考試系統(tǒng)越來越多,逐漸占據了主導地位。它克服了c/s模式下的許多缺點,從傳統(tǒng)的基于c/s模式的考試系統(tǒng)轉變到基于b/s模式的考試系統(tǒng),可以使用戶在任何一臺電腦上,只要可以上網,就可以使用該服務,大大簡化了操作,為用戶提供了方便。另一方面,也為教師的管理和批閱工作

31、提供了方便,提高了效率。但是據我多方的觀察和研究,發(fā)現大多數的在線考試系統(tǒng)都是采用基于頁面的模式開發(fā),每個頁面中都包含了要用到的所有功能邏輯,導致代碼重復率高,結構不夠清晰,維護升級起來也很費時間和人力。鑒于這種情況,所以我們將j2ee的概念加入到在線考試系統(tǒng)中來,使得該系統(tǒng)更易于升級和維護。3.2. 軟件功能分析根據自動出題系統(tǒng)的實際要求,結合現在的實際操作過程,系統(tǒng)應該實現以下功能:針對管理員角色:(1) 管理員維護:對現有管理員進行管理和添加新的管理員。(2) 難度管理:要對課程難度進行控制。(3) 題庫管理:錄入新的試題和管理現有試題。(4) 試卷管理:錄入新的試卷和管理現有試卷。(5

32、) 考生管理:添加新的考生和管理現有的考生。(6) 評分老師管理:對系統(tǒng)的評分老師進行添加和管理。(7) 考生分數查看:對于已經選擇題目參與過自測的考試分析進行查看。針對考生角色:(1)在線自測:考試選擇試題進行自測。(2)在線考試:查自己自測的分數。針對評分老師角色:(1) 在線評分:學生提交試題之后老師對其評分。除了實現上述功能以外,數據結構自動出題系統(tǒng)還應該具有友好、簡潔的界面,安全性高,穩(wěn)定性強的特點。3.3. 軟件的非功能性需求作為一種軟件產品,除了在功能方面必須達到用戶的基本要求以外,還必須在意一些非功能方面的因素,諸如:軟件的用戶操作界面的美觀和簡潔,以及界面圖標的標準化和規(guī)范化

33、。軟件要有一定的兼容性,應該兼容當前的主流操作系統(tǒng)平臺,象windows 98/nt/me/2000/xp/2003 等。硬件方面應當要求配置低一點,保證程序運行所占用的資源盡量少,像這樣的小型開發(fā)軟件應該適用于現大多數的計算機平臺。4. 系統(tǒng)設計4.1. 總體設計4.1.1. 基本簡介該系統(tǒng)是專門用于用戶注冊、登錄、試題查詢的應用web程序。它應該具有開放性、方便性和靈活性。管理員可以輕松地向題庫添加、修改和刪除試題。4.1.2. 運行環(huán)境為了保證系統(tǒng)運行的效率和可靠性,系統(tǒng)服務器端應具有較高的軟硬件配置,客戶端的要求不是很高。此應用程序可廣泛運行于國際互聯網即internet,也可適用于內

34、部的局域網。其運行要求如下:客戶端: windows95/98/2000/xp,internet explorer(ie)等服務器端: windows2000/xp,ie,jdk,tomcat等。數據庫:sql server,運行于服務器端。開發(fā)平臺:my eclipse4.2. 系統(tǒng)模塊結構圖根據需求分析,在線自測系統(tǒng)的功能結構圖如下:數據結構自動出題系統(tǒng)管理員維護難度管理題庫管理生端試卷管理考生管理評分老師管理考生分數查詢圖4.1 管理員端系統(tǒng)結構圖數據結構自動出題系統(tǒng)生端在線考試分數查詢在線自測圖4.2 考生端系統(tǒng)結構圖評分老師只能對學生所完成的自測題目進行評分功能。數據結構自動出題系統(tǒng)

35、評分老師閱卷圖4.3 教師端系統(tǒng)結構圖系統(tǒng)的流程圖如下:圖4.4 題庫流程圖根據數據結構自動出題系統(tǒng)的業(yè)務需求而對數據庫進行了設計,具體數據庫設計的e-r圖如下:圖4.5數據庫設計e-r圖4.3. 詳細設計 詳細設計是整個設計過程中,最重要的步驟之一。下面就分如下幾個部分對系統(tǒng)進行詳細設計:(1) 用戶個人信息設計(2)數據庫中表的設計(3)功能模塊的詳細設計。4.3.1. 用戶信息設計用戶個人信息設計,首先應該實現用戶名和密碼的設計。用戶名要求不能為空、重復,密碼輸入的兩次信息應該一致,然后應該實現用戶名密碼的修改,最后要求管理員對注冊用戶的維護操作。4.3.2. 數據庫中表的設計(1)數據

36、庫名稱為 db_exam(2)數據庫中的關鍵數據庫表格設置下表為管理員表,主要用于存儲管理員編號、管理登錄名和管理員登錄密碼。表4.1 t_admin序號字段名稱類型長度標志描述1useridint4主鍵2usernamevarchar503userpwvarchar50下表為學生信息表,主要用于存儲學生編號、學號、真實姓名、性別、年齡、登錄賬號、登錄密碼以及是否刪除標示。表4.2 t_stu序號字段名稱類型長度標志描述1stu_idint4主鍵2stu_xuehaovarchar503stu_realnamevarchar504stu_sexvarchar505stu_agevarchar5

37、06login_namevarchar507login_pwvarchar508delvarchar50下表為評分教師表,主要用于存儲教師編號、真實姓名、性別、年齡、登錄賬號、登錄密碼以及是否刪除標示。表4.3 t_tea序號字段名稱類型長度標志描述1tea_idint4主鍵2tea_realnamevarchar503tea_sexvarchar504tea_agevarchar505login_namevarchar506login_pwvarchar507delvarchar50下表為試題難度表,包括難度編號、難度級別以及是否刪除標示。表4.4t_nandu序號字段名稱類型長度標志描述1

38、nandu_idint4主鍵2nandu_namevarchar503delvarchar50下表為該系統(tǒng)核心表題目表,其包括試題編號、試題內同、試題類型、選項內容、試題難度以及試題是否刪除標示。表4.5t_timu序號字段名稱類型長度標志描述1timu_idint4主鍵2timu_namevarchar503timu_leixingvarchar504timu_xuanxiangavarchar505timu_xuanxiangbvarchar506timu_xuanxiangcvarchar507timu_xuanxiangdvarchar508timu_daanvarchar509tim

39、u_fenshuint410nandu_idint411delvarchar50下表為試題上傳表,主要用于記錄通過上傳而得到的試題的名字。表4.6files序號字段名稱類型長度標志描述1fileidint4主鍵2filenamevarchar50下表為試題介紹表包括試題編號、試題介紹、創(chuàng)建時間及試題是否刪除標示。表4.7t_shiti序號字段名稱類型長度標志描述1shiti_idint4主鍵2shiti_namevarchar503shiti_jieshaovarchar504shiti_shijianvarchar505delvarchar504.3.3. 登錄設計在用戶登錄時檢查用戶名和密

40、碼是否有填寫,如果未填寫則提示并返回,檢查通過之后把數據提交給服務器,打開數據庫檢查用戶填寫的信息是否正確,登錄名稱、密碼是否相符合,若符合管理員登錄信息則登錄成功,進入主界面。此模塊用于驗證用戶的信息,保證了系統(tǒng)內部資料的安全性。其流程圖如下圖4.6登錄模塊流程圖該模塊的java類設計:實現該模塊的java類為:ui.loginframe和app.dbaccess類ui.loginframe類:該類用于顯示教師登錄窗口,并且負責判斷用戶輸入的用戶名密碼是否正確。主要方法介紹:okbutton_actionperformed(actionevent e):該方法在用戶點擊確定按鈕時被調用,取得

41、界面上輸入的用戶名和密碼,如果用戶名或者密碼不正確,則提示用戶重新輸入。若用戶為系統(tǒng)合法用戶,則允許用戶登錄系統(tǒng),打開系統(tǒng)主界面。app.dbaccess類:該類為底層數據庫操作類。實現基本的數據庫操作,如插入,刪除,修改。主要方法介紹:getconnection():用于返回一個與數據庫連接(connection)對象。executeupdate(connection conn, string sql):執(zhí)行insert、delete和update語句。對數據庫表進行插入刪除和更新。executequery(connection dbcon, string querysql )根據給定的sq

42、l語句,進行查詢,返回 defaulttablemodel對象。4.3.4. 管理員對題庫的管理和維護若要添加試題,先點擊添加按鈕,然后在上面的試題信息部分填入試題的內容,填寫好后,點擊保存按鈕即可將試題保存到數據庫。若要修改試題,在下面的表格中選擇要修改的試題,修改上面的試題內容,然后點擊保存按鈕即可將修改后的試題保存到數據庫。若要刪除試題,在下面的表格中選擇要刪除的試題,然后點擊刪除按鈕,如果確認刪除,系統(tǒng)將會把指定的試題刪除。其流程圖如下:圖4.7題庫維護模塊流程圖4.3.5. 對題庫中試卷的修改在該功能模塊中可以對試卷的基本信息進行修改,同時也可以打開試題查詢界面,將試題手動添加到選中

43、的試卷中。其流程圖如下:圖4.8 題庫試題修改5. 系統(tǒng)實現5.1. 系統(tǒng)登錄界面在登錄界面,可以實現選擇不同的身份進行登錄。其角色分為:管理員、評分老師、考生。并在登錄的同時用javascript實現了對是否輸入用戶名、是否輸入密碼以及身份是否選擇進行了驗證。圖5.1登錄界面5.2. 管理員管理界面此為管理員登錄后的界面,在該界面管理員能夠進行對管理員管理,考生管理,評分老師管理,最重要的是對題庫經行管理??梢蕴砑釉囶}難度;根據不同難度進行搜索試題;可以添加試卷;并根據不同的難度組建試卷。圖5.2管理員管理界面5.3. 管理員添加組卷界面此為管理添加試卷組成試卷界面,在此界面管理員能夠通過手

44、動添加組成不同難度的試題供學生考試和平時練習。圖5.3管理員添加組卷界面5.4. 管理員上傳最新試題界面在此界面管理員可以通過上傳功能實現上傳最新試題或者老師提交的試卷以供學生平時練習。圖5.4管理員上傳試題界面5.5. 考生界面此為考生登錄后界面,在此界面考生能夠進行在線考試;查詢自己的考試分數;同時還能夠在平時登錄系統(tǒng)進行自我測試對數據結構的學習情況。圖5.5考生界面5.6. 評分老師界面此界面為評分老師登錄后的界面,在此界面評分老師能夠對選擇性的對所參加考試的學生試卷進行評閱,并給出學生的成績。圖5.6 評分老師界面6. 軟件測試在基本完成了程序的詳細設計和編碼,剩下的工作就是對軟件進行

45、測試。軟件測試是發(fā)現軟件中錯誤和缺陷的主要手段。在一般情況下,軟件測試的過程與整個軟件開發(fā)過程基本上是平行進行的。軟件測試是非常重要的因為測試是為了及時發(fā)現應用程序中的錯誤而執(zhí)行程序的過程,它的目標是暴露程序中的錯誤,及時發(fā)現問題,提出相應的修改方案,及時解決問題,使系統(tǒng)更加完善。單元測試也稱模塊測試或程序測試,單元測試是對每個模塊單獨進行的,驗證模塊接口與設計說明書是否一致,對模塊的所有主要處理路徑進行測試且與預期的結構進行對照,還要對所有錯誤處理路徑進行測試。對源碼進行審查,對照設計說明書,表態(tài)地檢查源程序是否符合功能的邏輯要求,是進行單元測試前的重要工作工。單元測試一般是由程序員完成,也

46、稱程序調試。156.1. 測試結果分析與調試首先,我對這個畢業(yè)設計程序的每個模塊和方法都進行了單體測試,由于第一次正式的按照軟件工程的開發(fā)流程開發(fā)一套軟件程序,在測試時感觸頗深。感嘆自己編寫的程序在測試環(huán)節(jié)的時候問題出現之多。其中有些問題很棘手,感到很莫名其妙,但后來經過查閱書籍和相關資料,都依依得到了順利解決,其中大部分感覺莫名其妙的問題的產生是因為自己對相關技術掌握的不夠扎實和細致,同時也感嘆到編寫出一套商用的軟件是多么的不容易。在調試和測試的過程中,在老師和同學的幫助下,在查閱了一些書籍后,慢慢學會了myeclipse的調試功能,提高了測試的效率。下面簡單的介紹一下,測試過程中都遇到了哪

47、些典型的問題,以及解決的辦法。從數據庫中讀出數據后,以object類型返回,直接調用object.tostring()方法輸出該對象的字符串表示。該錯誤在調試的過程中沒有發(fā)現,但是在真正測試的時候,java的控制臺拋出了nullpointerexception,后來查找到原因:因為數據庫表中某些字段可以為null,所以數據庫表中相應的字段可以沒有數據,所以返回的object是null,這樣在調用object.tostring()的時候,就發(fā)生了空指針異常,后來在調用object.tostring()之前,加了if判斷,問題得以解決。在生成試卷的程序里,需要取得數據庫表的結構,剛開始編寫了一個方

48、法getresultsetmetadata ()返回resultsetmetadata對象,然后將該參數傳遞給另外一個方法genpaper(),但在取得字段的名字和類型時,控制臺拋出了數據庫連接已關閉的異常信息。后來通過查閱資料和書籍,發(fā)現在getresultsetmetadata方法里面關閉了數據庫連接(connection),所以出現了該異常,后來將這兩個方法合并,問題得到了解決。在生成試卷的程序里,需要先生成sql的插入語句,在測試時拋出了sqlexception異常,后來我檢查了一下插入語句,問題出在插入語句上,生成了下面的形式insert into 試卷(試卷名稱,試卷名稱,) va

49、lues(名稱1,考試,)這樣的語句,在字段名的位置,第一個字段重復出現,經過認真調試和檢查,發(fā)現取得字段的語句在循環(huán)的外面,所以取得的是第一個字段的名稱,將其放到循環(huán)的里面問題就解決了。其次,我對整個程序做了整體測試,經過前一階段的單體測試,本以為整體測試不會發(fā)生什么問題,但結果出乎了我的意料。在整體測試過程中暴露了設計過程中的一些問題,比如預先設計的方法參數不足,導致前端用戶界面輸入的數據沒辦法發(fā)揮作用。還有發(fā)現設計中漏寫了一些方法,導致整個系統(tǒng)不能正常運行,后來發(fā)現問題一一修正后,系統(tǒng)得以完好運行。調試和測試階段是軟件工程開發(fā)過程中很重要的一個階段,沒有測試就沒有可以健壯運行的軟件,如果

50、一套軟件不能有一定的容錯能力,就沒有辦法正式的投入使用。調試和測試的過程是需要耐心和嚴謹的,一個小小的誤差往往是需要反復測試才能得以改正的。最后經過調試和測試,系統(tǒng)全部功能運行完好,實現了數據庫之間利用xml文件進行數據交互。通過以上的測試方案和測試方法,對該系統(tǒng)的各個細節(jié)的功能進行了詳細的測試,得出以下的測試結果。本系統(tǒng)已基本上實現來題目要求的各項功能。本系統(tǒng)的界面友好,可以很快的掌握操作方法。系統(tǒng)的優(yōu)點:(1) 界面友好,操作簡單。接觸計算機較少的操作人員也能根據菜單項提示進行操作。(2) 信息管理詳細,提供了強大查詢功能。(3) 業(yè)務流程合理安排方便用戶使用。系統(tǒng)基本上達到了設計要求,基

51、本功能已經實現,但系統(tǒng)仍存在不足之處,某些細節(jié)和內容上有待改進和加強。結 論剛開始拿到設計題目時感覺很盲目。但在老師的指導下,自己硬著頭皮,從一點一滴學起,編寫和調試一個個簡單的例子程序。按照軟件工程的開發(fā)流程從需求分析開始,查閱相關資料,對系統(tǒng)進行概要分析、設計,熟悉軟件的開發(fā)環(huán)境、界面,到編碼、測試,調試,直至各個功能的最終實現,畢業(yè)論文的撰寫。為將來的工作打下了堅實基礎,讓我對實際軟件的開發(fā)工作有了深刻的認識,也按時順利地完成畢業(yè)設計這個項目。由于自己經歷了軟件開發(fā)的全過程,所以也體會到了軟件開發(fā)的創(chuàng)造性和嚴謹性,在此過程中我受益匪淺。與此同時通過對系統(tǒng)的需求分析和在編碼中對錯誤的處理,

52、培養(yǎng)了自己的自學能力和獨立分析、解決問題的能力,這對我以后的學習和生活都有相當大的影響。畢業(yè)設計真的是一件辛苦的事,但在這之中所得到的知識是無窮盡的,所學到的一些方法是書本上沒有的,是靠自己一點點總結出來的。但由于自己的能力有限,做出的程序還不夠完善??墒窃谶@一段時間內自己從各方面都得到了鍛煉和提高。今后我會更加嚴格的要求自己,找出自己的不足來完善自己。致 謝畢業(yè)設計要結束了,在這里我要感謝幫助過我的老師和同學們。真的謝謝你們!在畢業(yè)設計的這段時間里,我得到了指導老師的大力指導和熱心的幫助。從而使我能夠順利的完成此次的畢業(yè)設計。趙老師從畢業(yè)設計一開始就嚴格的要求我們,在需求分析階段,趙老師給我

53、提出了許多的寶貴意見,指明了畢業(yè)設計的大體方向,使得我避免陷入迷茫狀態(tài)。也少走了很多彎路節(jié)省了很多的時間。同時,趙老師也提供給我一些關鍵的參考資料,并給予我耐心的指導,幫助我更深入的了解本題目隱藏的各種問題。對于我所不明白的問題耐心的多次講解,所有的這些指導與幫助,在畢業(yè)設計期間都成為了我進行下去的強大的動力和支持。在論文的撰寫階段,趙老師及時的指出我論文的錯誤,并且放棄了周末的休息時間來檢查我們論文,找出論文的不足,并且批改的極為細致,好多我沒有注意到的小細節(jié)趙老師也給我指出來了,使我能夠及時的發(fā)現錯誤并能馬上將其改正。正因為這些原因,在此,我要對趙老師表示我深深的謝意。并且我謹代表我自己對趙老師說一聲:“謝謝您!”。同時,我也要衷心的感謝在畢業(yè)設計期間給予我關心和幫助我的同學,他們在畢業(yè)設計

溫馨提示

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

評論

0/150

提交評論