畢業(yè)設計論文 畢業(yè)設計管理系統(tǒng)設計_第1頁
已閱讀1頁,還剩37頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、<p><b>  畢業(yè)設計說明書</b></p><p> 學 號05710229</p><p><b>  畢業(yè)設計管理系統(tǒng)</b></p><p>  The management System for Graduation Design</p><p><b>  

2、摘 要</b></p><p>  畢業(yè)設計是學生在校期間的最后一個教學環(huán)節(jié),是學習深化和提高的一個重要過程,也是綜合檢驗所學理論知識的一個重要環(huán)節(jié)。該課題從畢業(yè)設計的申報、審核、學生選題、調劑、指導、評閱、答辯、歸檔等環(huán)節(jié)進行管理,實現(xiàn)了畢業(yè)設計的整個流程的管理工作。</p><p>  畢業(yè)設計管理系統(tǒng)的設計采用B/S(瀏覽器/服務器)結構,應用了開發(fā)工具Jbuilder

3、2005、開發(fā)語言JSP,后臺數(shù)據(jù)庫采用了SQL Server 2000及網(wǎng)頁開發(fā)工具Dreamweaver8來實現(xiàn),并且使用Photoshop美化系統(tǒng)。系統(tǒng)主要功能實現(xiàn)了學生自主選題和教師自主選擇學生的網(wǎng)上雙向選擇,并增加了留言板、文件上傳與下載、新聞發(fā)布等,能夠保證畢業(yè)設計期間管理員、老師、學生之間信息的聯(lián)通,對保證畢業(yè)設計的全程控制有非常重要的現(xiàn)實意義。</p><p>  該課題實現(xiàn)了畢業(yè)設計的自動化和網(wǎng)

4、絡化管理,是參加畢業(yè)設計的教師、學生通過網(wǎng)絡及時溝通的一個重要環(huán)節(jié),大大提高了我院教學管理質量和水平。</p><p>  關鍵詞:出題;選題;評閱;答辯;JSP</p><p><b>  ABSTRACT</b></p><p>  Graduation Design is the last part of teaching for a g

5、raduate student in the college and an important process of deepening and improvement, also an important part of comprehensive testing theoretical knowledge. The design describes about the management of the declaration, t

6、he subject of audit, choosing title, adjust, guide, apprise, reply and so on. It is designed to achieve the management of the entire process. And, the system achieves on-line two-way selection of choosing title and choos

7、ing st</p><p>  Web site is designed by B/S (browser / server) structure, and develops with the development tool J builder 2 005, the development of language JSP, Background database uses SQL Server 2000 and

8、 website development tools Dreamweaver8. And it uses Photoshop to beautify system.</p><p>  keywords: set title; choose title; control course; JSP目 錄</p><p>  第1章 引 言1</p><p>  1

9、.1 選題背景1</p><p>  1.2 選題意義1</p><p>  第2章 系統(tǒng)需求分析2</p><p><b>  2.1目標2</b></p><p>  2.2 性能及運行需求2</p><p>  2.3 功能需求2</p><p>  2.

10、4 系統(tǒng)E-R圖3</p><p>  第3章 基礎知識簡介4</p><p>  3.1 設計中常用的JSP內建對象4</p><p>  3.2 JSP是如何運行的4</p><p>  3.3 JSDK、Tomcat 配置5</p><p>  3.4 JBuilder 2005簡介5</p&g

11、t;<p>  第4章 系統(tǒng)設計6</p><p><b>  4.1概要設計6</b></p><p>  4.1.1 系統(tǒng)數(shù)據(jù)流程設計6</p><p>  4.1.2 數(shù)據(jù)字典7</p><p>  4.1.3 系統(tǒng)結構設計10</p><p>  4.1.4表結構設

12、計10</p><p>  4.2 詳細設計15</p><p>  4.2.1 系統(tǒng)概述15</p><p>  4.2.2 系統(tǒng)流程圖19</p><p>  第5章 系統(tǒng)實現(xiàn)20</p><p>  5.1 數(shù)據(jù)庫連接20</p><p>  5.2系統(tǒng)各模塊功能及實現(xiàn)效果圖

13、20</p><p>  5.2.1出題模塊及效果圖20</p><p>  5.2.2審題模塊及效果圖21</p><p>  5.2.3選題模塊及效果圖21</p><p>  5.2.4進程控制模塊及效果圖錯誤!未定義書簽。</p><p>  5.2.5評閱模塊及效果圖22</p>&l

14、t;p>  5.2.6調劑模塊及效果圖23</p><p>  5.3 查詢及分頁顯示功能25</p><p>  5.3.1 查詢功能25</p><p>  5.3.2 分頁顯示功能25</p><p>  5.4 應用中出現(xiàn)的問題與解決方法26</p><p>  第6章 系統(tǒng)測試28&l

15、t;/p><p>  6.1測試方法的介紹28</p><p>  6.2測試環(huán)境28</p><p>  6.3測試對象28</p><p>  6.3.1管理員模塊28</p><p>  6.3.2教師模塊28</p><p>  6.3.3學生模塊28</p>&l

16、t;p>  6.4測試用例及結果29</p><p>  6.4.1管理員模塊29</p><p>  6.4.2教師模塊29</p><p>  6.4.3學生模塊30</p><p><b>  結 論31</b></p><p><b>  致 謝32<

17、;/b></p><p>  參 考 文 獻33</p><p><b>  第1章 引 言</b></p><p><b>  1.1 選題背景</b></p><p>  隨著計算機及計算機網(wǎng)絡的普及和全國各院校的校園網(wǎng)絡的日益完善、健全,各種工作的計算機網(wǎng)絡化將逐步取代繁重的傳統(tǒng)辦公

18、模式。畢業(yè)設計作為大學生四年學習的重要環(huán)節(jié),也有必要實行計算機網(wǎng)絡化管理,從而減輕設計指導老師的承重負擔,簡化立題、選題、評分等過程,讓繁冗的課題設計信息采用計算機數(shù)據(jù)庫統(tǒng)籌管理。因此,設計一種畢業(yè)設計綜合管理系統(tǒng)是我校教學管理發(fā)展的一項任務,也是各院校教學發(fā)展的趨勢。該系統(tǒng)為學生、教師、管理員提供一個交互的接口,大大方便了學生、老師及管理員的管理人員。</p><p><b>  1.2 選題意義&l

19、t;/b></p><p>  畢業(yè)設計是學生在校期間的最后一個教學環(huán)節(jié),是學習深化和提高的一個重要過程,也是綜合檢驗所學理論知識的一個重要環(huán)節(jié)。本設計從課題的申報、課題的審核、學生選題、調劑、指導、評閱、答辯、歸檔等環(huán)節(jié)進行管理,實現(xiàn)了畢業(yè)設計的整個流程的管理工作。系統(tǒng)實現(xiàn)了學生自主選題和教師自主選擇學生的網(wǎng)上雙向選擇,并增加了留言板、文件上傳與下載、新聞發(fā)布等功能,能夠保證畢業(yè)設計期間管理員、老師、學生

20、之間信息的聯(lián)通,對保證畢業(yè)設計的質量有非常重要的現(xiàn)實意義。隨著網(wǎng)絡化的普及,全國高校的校園網(wǎng)絡日益健全,實現(xiàn)無紙化辦公成為未來的趨勢,并且隨著天津城市建設學院的教學體制改革不斷加深,本系統(tǒng)的建立為參加畢業(yè)設計的教師、學生提供接口。</p><p>  第2章 系統(tǒng)需求分析</p><p><b>  2.1系統(tǒng)目標</b></p><p>  

21、1.應具有方便、強大的資料管理和良好的人機界面,使用戶易于操作,便于瀏覽。</p><p>  2.系統(tǒng)的健壯性,擴展性良好。系統(tǒng)具有對數(shù)據(jù)備份和日志記錄的功能。</p><p>  3.系統(tǒng)的安全性好,通過密碼和權限的管理是用戶的數(shù)據(jù)不受到侵害。</p><p>  4.系統(tǒng)的動態(tài)信息交互功能強,系統(tǒng)根據(jù)不同的用戶的權限開放不同的處理權限;不同的用戶可以通過留言板

22、進行信息的溝通。</p><p>  5.系統(tǒng)盡量給用戶提供一個良好的操作環(huán)境。</p><p>  2.2 性能及運行需求</p><p>  對于畢業(yè)設計綜合管理系統(tǒng)要求運行的工作環(huán)境穩(wěn)定,易于操作,系統(tǒng)方便應用、安全可靠、便于維護以及實時性強,對于廣大用戶所要執(zhí)行的操作簡單易懂,訪問速度較快,界面友好美觀,有基本的錯誤提醒功能,遠程操作數(shù)據(jù)庫正確,要求和用戶有

23、很強的互動性。</p><p>  運行環(huán)境:本系統(tǒng)開發(fā)的畢業(yè)設計綜合管理系統(tǒng),在Windows XP下運行,要求使用的操作系統(tǒng)上安裝有SQL Server2000數(shù)據(jù)庫、JBuilder、Dreamweaver、Tomcat服務器(已安裝的JBuilder里包含Tomcat服務器)。主機要求賽揚M或相當性能以上配置。</p><p><b>  2.3 功能需求</b&g

24、t;</p><p>  根據(jù)功能分為教師、學生的前臺操作和管理員的綜合管理。</p><p>  系統(tǒng)有三個主要的角色組成:學生、教師、管理人員。</p><p>  1. 教師完成的操作:</p><p>  個人信息的管理;課題的申報、修改、選擇學生,設計期間與學生的交流與輔導、實習/指導、評閱和答辯成績的評定。</p>

25、<p>  2. 學生完成的操作:</p><p>  個人信息的管理,選擇課題,設計期間利用留言板和教師進行交流,查詢成績。 </p><p><b>  3. 管理人員:</b></p><p>  對教師、學生的信息查詢,添加和刪除;系統(tǒng)開放管理;選課期間調劑操作;分配評閱老師和答辯老師;成績錄入;新聞發(fā)布。</p>

26、<p>  2.4 系統(tǒng)E-R圖</p><p>  圖2-1 系統(tǒng)E-R圖</p><p>  第3章 基礎知識簡介</p><p>  3.1 設計中常用的JSP內建對象</p><p><b>  1、out 對象</b></p><p>  out是類javax.servle

27、t.jsp.JspWriter 的一個對象,能夠把信息回送給客戶端的瀏覽器。out對象主要用在不關閉腳本小程序而發(fā)送結果時。在out 對象中常用的方法就是print()和println(),兩者都可以實現(xiàn)把信息發(fā)送給客戶端的瀏覽器,即在瀏覽器上顯示信息,兩者的區(qū)別在于,print() 方法是輸出信息后不換行,println()則是輸出信息后自動換行。</p><p>  2、request 對象</p>

28、;<p>  request是類javax.servlet.HttpServletRequest 的一個對象,當客戶端請求一個JSP頁面時,JSP容器會將客戶端的請求信息封裝在request 對象中,請求信息的內容包括請求的頭信息(header)、系統(tǒng)信息(如編碼方式)、請求的方式(如get 或 post)、請求的參數(shù)名稱和參數(shù)值等。通過request 對象的方法可以得到請求的相關信息。</p><p&

29、gt;  常用的方法:getParameter(String name), getParameterValues(String name), setAttribute(String name, java.lang.Object obj), getAttribute(String name), setCharacterEncoding( ) , getSession( )等。</p><p>  3、respons

30、e 對象</p><p>  response是類javax.servlet.HttpServletResponse 的一個對象,它封裝了JSP產(chǎn)生的響應,即JSP會根據(jù)客戶端的請求建立一個默認的request 對象,然后發(fā)送信息到客戶端以響應客戶端的請求。它與request 對象一樣,由JSP容器產(chǎn)生。并可以設置Http狀態(tài)碼和request 頭。</p><p>  常用方法:send

31、Redirect(String location)</p><p>  4、session 對象</p><p>  session是類javax.servlet.HttpSession 的一個對象。session 指的是客戶端與服務器端的一次會話,會話從客戶連接到服務器開始,直到與服務器斷開連接為止,這之間都可以訪問session 對象的屬性和方法。</p><p&g

32、t;  session 對象用來保存每個用戶的信息,以便跟蹤每個用戶的操作狀態(tài),當用戶首次登錄系統(tǒng)時,JSP容器都會給此用戶一個唯一的標識sessionID,用于區(qū)分其他的用戶,當用戶退出系統(tǒng)同時,session就會自動消失。</p><p>  3.2 JSP是如何運行的</p><p>  JSP頁面實際上是一個帶有傳統(tǒng)HTML和Java代碼的Web頁面。JSP頁面的文件擴展名是.js

33、p而并不是.html或.htm,該擴展名告訴服務器該頁面需要特殊的處理,該特殊處理必須由服務器擴展或插件實現(xiàn)。當一個JSP頁面被讀取時,他首先被編譯(JSP引擎來做這件事情)為一個Servlet。 這時候這個Servlet就像其他Servlet一樣被交給Servlet引擎來處理。然后Servlet引擎讀取這個Servlet對應的類(用ClassLoader)并且執(zhí)行它,產(chǎn)生一個動態(tài)HTML頁面。這個Servlet創(chuàng)建一些必需的元件,然后

34、將這些元件作為一個字符串寫入輸出流(OutputStream),并顯示在瀏覽器中。</p><p>  3.3 JSDK、Tomcat 配置</p><p><b>  1、下載網(wǎng)址:</b></p><p>  JSDK: http://java.sun.com/j2se/1.4.2/download.html </p><

35、;p>  Tomcat:http://www.apache.org</p><p><b>  2、安裝及配置</b></p><p>  JSDK:按照安裝向導安裝</p><p>  Tomcat:按照安裝向導安裝,在Choose Components 界面中選擇 full 類型,在Configuration 界面中填寫一個沒有被占用

36、的端口</p><p>  3、環(huán)境變量的配置:</p><p>  安裝路徑:JSDK:c:\ JSDK1.4.2</p><p>  Tomcat:c:\ Tomcat 6.0</p><p>  單擊“我的電腦—〉屬性—〉高級—〉環(huán)境變量—〉系統(tǒng)變量—〉新建”</p><p>  JAVA_HOME= c:\ J

37、SDK1.4.2;</p><p>  CLASSPATH=.;%JAVA_HOME%\lib\dt.jar;</p><p>  %JAVA_HOME%\lib\toos.jar;</p><p>  Path=% JAVA_HOME %\bin;</p><p>  CATALINA_HOME= c:\ Tomcat 5.0;</p

38、><p>  CATALINA_BASE= c:\ Tomcat 5.0;</p><p>  3.4 JBuilder 2005簡介</p><p>  Jbuilder2005是功能強大的軟件開發(fā)工具,通過它能很好的跟蹤程序的運行情況,捕捉和定位錯誤,調試方便,便于修改。</p><p>  第4章 系統(tǒng)總體設計</p><

39、;p><b>  4.1概要設計</b></p><p>  4.1.1 系統(tǒng)數(shù)據(jù)流程設計</p><p>  概要設計階段的基本目標是用比較抽象的方式確定系統(tǒng)如何完成預定的任務,也就是說,應該確定系統(tǒng)的物理配置方案,并且進而確定組成系統(tǒng)的每個程序的結構。從數(shù)據(jù)流圖出發(fā)設想完成系統(tǒng)功能的若干種合理的物理方案,從中選擇一個最佳方案。然后進行軟件結構設計,確定軟件由

40、哪些模塊組成以及這些模塊的動態(tài)調用關系。</p><p>  本設計包括出題、選題、系統(tǒng)維護、評閱和答辯等模塊的設計。</p><p>  首先管理員登錄系統(tǒng),對系統(tǒng)進行初始化,并可設置系統(tǒng)的開放與關閉。系統(tǒng)初始化后教師可以出題,教師出題完畢管理員審核課題,審核通過后學生才可進行選題,學生選題完后教師可以選擇符合題目要求的學生,形成雙向選擇。如果還有學生沒選上題目,管理員可以進行調劑,使每

41、個學生都有題目。</p><p>  當出題選題完畢,教師和學生建立了雙向的關系后,進入到做題階段。管理員和教師通過文件上傳與下載、留言板、新聞發(fā)布和郵箱聯(lián)系等方式對學生完成畢設的情況進行監(jiān)督。</p><p>  指導教師指導學生完成設計后,進入到評閱階段。管理員分配評閱教師后,評閱教師對所評閱課題進行評閱,給出相應成績。</p><p>  評閱教師指導學生完成

42、設計后,進入到答辯階段。管理員分配答辯教師后,答辯教師對所答辯課題進行答辯,給出相應成績。</p><p>  答辯結束后,由管理員對學生的實習/指導成績、評閱成績和答辯成績進行錄入,進行歸檔。</p><p><b>  系統(tǒng)數(shù)據(jù)流圖如下:</b></p><p>  圖4-1 系統(tǒng)數(shù)據(jù)流圖</p><p>  4.1

43、.2 數(shù)據(jù)字典</p><p><b>  主要的數(shù)據(jù)字典:</b></p><p>  1. 管理員信息數(shù)據(jù)字典</p><p>  表4-1 管理員信息數(shù)據(jù)字典</p><p>  2. 教師信息數(shù)據(jù)字典</p><p>  表4-2 教師信息數(shù)據(jù)字典</p><p>

44、  表4-3 學生信息數(shù)據(jù)字典</p><p>  表4-4課題信息數(shù)據(jù)字典</p><p>  表4-5管理員調劑課題數(shù)據(jù)字典</p><p>  表4-6管理員分配答辯老師數(shù)據(jù)字典</p><p>  表4-7 留言板信息數(shù)據(jù)字典</p><p>  表4-8 課題類別信息數(shù)據(jù)字典</p><p

45、>  表4-9 學生成績信息數(shù)據(jù)字典</p><p>  表4-10 上傳文件信息數(shù)據(jù)字典</p><p>  表4-11 系統(tǒng)狀態(tài)信息數(shù)據(jù)字典</p><p>  4.1.3 系統(tǒng)結構設計</p><p><b>  圖4-2系統(tǒng)結構圖</b></p><p>  4.1.4表結構設計&l

46、t;/p><p>  設計的表為:管理員表(person),教師表(teacher),學生表(student),課題表(title),教師布置任務表(task),學生提交任務表(task1),系統(tǒng)狀態(tài)表(system)。</p><p><b>  各個表的結構如下:</b></p><p>  表4-1 管理員調劑選題表(adjust)</

47、p><p>  說明:該表存儲管理員調劑相關的信息</p><p>  表4-2 答辯老師分配表(answer)</p><p>  說明:該表存儲答辯老師相關的信息</p><p>  表4-3 留言板信息表(bbs)</p><p>  該表存儲留言板相關的信息</p><p>  表4-4 課

48、題類別信息表(category)</p><p>  該表存儲課題相關的信息</p><p>  表4-5 新聞信息表(news)</p><p>  該表存儲新聞相關的信息</p><p>  表4-6 管理員表(person)</p><p>  該表存儲管理員相關的信息</p><p> 

49、 表4-7 成績顯示表(score)</p><p>  表4-8 教師表(teacher)</p><p>  說明:該表存儲教師相關的信息</p><p>  表4-9 學生表(student)</p><p>  說明:該表存儲學生相關的信息</p><p>  表4-10 課題表(title)</p>

50、;<p>  說明:該表存儲課題相關的信息</p><p>  表4-11 文件信息表(file)</p><p>  說明:該表存儲上傳文件相關的信息</p><p>  表4-12 系統(tǒng)狀態(tài)表(system)</p><p>  說明:該表存儲系統(tǒng)狀態(tài)相關的信息</p><p><b>  

51、4.2 詳細設計</b></p><p>  4.2.1 系統(tǒng)概述</p><p>  詳細設計階段的關鍵任務是確定怎樣具體地實現(xiàn)用戶需要的軟件系統(tǒng),也就是要設計出程序的“藍圖”。除了應該保證軟件的可靠性之外,使將來編寫出的程序可讀性好、容易理解、容易測試和維護,是詳細設計階段最重要的目標。</p><p>  1.本人設計的模塊有出題、選題子系統(tǒng)、系統(tǒng)

52、維護子系統(tǒng)和評閱答辯管理等。最初時管理員應對系統(tǒng)進行初始化,初始化完后,教師擁有權限進行出題操作,教師出題完畢,管理員應對該課題進行審核,審核通過后學生這時擁有權限進行選課操作,學生選課操作完畢,這時,教師可以從選擇他所出課題的學生中選擇適合該課題的學生,達到一種雙向的自主選擇。操作完畢后,可能存在某些學生沒有選上題目,這時可以通過管理員的調劑操作來處理,把沒選題的學生調劑到缺少人數(shù)的課題或者重新出題來滿足要求,是每個學生都有題可做。這

53、時,指導教師應指導學生完成畢業(yè)設計,完成后應由評閱教師進行評閱。</p><p>  2. 出題階段參與工作的有相關的教師,他們由教師表(表4-8)確定,每一個教師在登錄的時候就可以進入自己的界面。教師根據(jù)要求填寫自己的課題和相關要求,可以通過多次登錄就行修改、刪除和提交來完成出題工作,所出課題存儲于課題表(表4-10),也可以通過留言板與管理員交流。</p><p><b> 

54、 圖4-3出題流程圖</b></p><p>  3. 選題階段首先由管理員確定發(fā)布內容。學生通過登錄自己的界面,可以看到題目的全部信息并且進行選擇。在達到限定時間后,由管理員通過人工干預的方式確定最終的選題結果。在確定的時間內和學生完成選題后,由管理員根據(jù)題目和學生的具體情況,通過人工干預的方式,對表4-11進行處理,確定每一個學生的題目,協(xié)調學生和題目之間的關系。</p><p

55、><b>  圖4-4選題流程圖</b></p><p>  4. 在評題階段,首先由管理員通過對表4-2的輸入,確定每一個評題階段的評題人;然后評題人通過登錄自己的界面進行評題。</p><p><b>  圖4-6評閱流程圖</b></p><p>  4. 在答辯階段,首先由管理員通過對表4-2的輸入,確定每一

56、個題目的答辯組長和其他四位答辯老師;然后答辯老師通過登錄自己的界面進行答辯管理。</p><p>  4.2.2 系統(tǒng)流程圖</p><p>  圖4-7 系統(tǒng)流程圖</p><p><b>  第5章 系統(tǒng)實現(xiàn)</b></p><p><b>  5.1 數(shù)據(jù)庫連接</b></p>

57、<p>  <%!String DBDRIVER="com.microsoft.jdbc.sqlserver.SQLServerDriver" ;</p><p>  String DBURL= "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=bishe" ;</p><p&

58、gt;  String DBUSER="sa" ;</p><p>  String DBPASSWORD="" ;</p><p>  Connection conn=null ;</p><p>  Statement pstmt=null ;</p><p>  ResultSet rs= nul

59、l ;</p><p>  %><%String sql = "……";</p><p>  try{Class.forName(DBDRIVER) ;</p><p>  conn = DriverManager.getConnection(DBURL,DBUSER,DBPASSWORD) ;</p><p>

60、;  pstmt = conn.createStatement() ;</p><p>  rs=pstmt.executeQuery(sql) ;}</p><p>  catch(Exception e){}</p><p><b>  %></b></p><p>  5.2系統(tǒng)各模塊功能及實現(xiàn)效果圖<

61、/p><p>  5.2.1出題模塊及效果圖</p><p>  出題模塊主要主要通過在頁面設置表單,出題人點擊提交按鈕后把相應的表單信息存入數(shù)據(jù)庫bishe的表title中。</p><p><b>  實現(xiàn)的主要代碼:</b></p><p>  String sql= "insert into title (

62、title_name,title_teacher,title_category,title_professional,title_num,title_require,title_flag,title_content) values (?,?,?,?,?,?,?,?)";</p><p><b>  效果圖如下:</b></p><p>  圖5-1 出題效果

63、圖</p><p>  5.2.2審題模塊及效果圖</p><p>  審題模塊主要通過從數(shù)據(jù)表title中查詢出某教師的所有課題,從中選擇未審核的課題進行審核,同時更新數(shù)據(jù)表title。審核成功且通過后,學生自主選題。</p><p><b>  主要實現(xiàn)代碼:</b></p><p>  String sql = &

64、quot;update title set title_name=?,title_teacher=?,title_category=?,title_professional=?,title_num=?,title_require=?,title_flag=?,title_content=?, title_check=? where title_id=?;";</p><p><b>  實現(xiàn)效

65、果圖:</b></p><p><b>  圖5-2 審題</b></p><p>  5.2.3選題模塊及效果圖</p><p>  選題模塊主要是先在學生主頁中顯示所有的已通過審核的課題,學生點擊課題名查看課題詳細信息后,如果對課題有興趣就點擊選題按鈕,把所選課題名存入數(shù)據(jù)表student中。</p><p&

66、gt;<b>  主要實現(xiàn)代碼:</b></p><p>  String sql = "update title set title_xnum=title_xnum+1 where title_id=?;";</p><p>  String sql1 = "update student set stu_title=? where st

67、u_name=? and stu_lock='no'";</p><p>  String sql2 = "select stu_title from student where stu_name=?";</p><p><b>  實現(xiàn)效果圖:</b></p><p>  圖5-3 選題效果圖&l

68、t;/p><p>  5.2.4評閱模塊及效果圖</p><p>  評閱模塊主要通過從數(shù)據(jù)表teacher中查詢出所有教師,從中選擇合適的教師為評閱教師,同時更新數(shù)據(jù)表title。成為評閱教師后,教師可以評閱相應課題并給出成績。</p><p><b>  主要實現(xiàn)代碼:</b></p><p>  String sql

69、= "update title set title_appraise=? where title_name='"+title+"'" ;</p><p>  String sql2 = "update teacher set teacher_power='"+2+"' where teacher_name=?&q

70、uot; ;</p><p><b>  實現(xiàn)效果圖:</b></p><p><b>  圖</b></p><p>  5.2.5答辯模塊及效果圖</p><p>  答辯模塊主要通過從數(shù)據(jù)表teacher中查詢出所有教師,從中選擇合適的教師為答辯教師,同時更新數(shù)據(jù)表title。成為答辯教師后,

71、教師可以答辯相應課題并給出成績。</p><p><b>  主要實現(xiàn)代碼:</b></p><p>  String sql = "update title set title_answer=? where title_name='"+title+"'" ;</p><p>  Stri

72、ng sql2 = "update teacher set teacher_power='"+2+"' where teacher_name=?" ;</p><p><b>  實現(xiàn)效果圖:</b></p><p>  圖5-7 選擇評閱教師</p><p>  5.2.6調劑模塊及效果

73、圖</p><p>  調劑模塊主要是管理員查找還未選題的學生,為其選擇課題。實現(xiàn)時先選中某課題,再查找未選題的學生,為課題選擇合適的學生點擊提交后存入數(shù)據(jù)表中。</p><p><b>  主要實現(xiàn)代碼:</b></p><p>  <SCRIPT LANGUAGE="JavaScript"></p>

74、;<p>  sortitems = 1; <!--設定初始值--></p><p>  function move(fbox,tbox) {</p><p>  for(var i=0; i<fbox.options.length; i++) {</p><p>  if(fbox.options[i].selected &

75、;& fbox.options[i].value != "") {</p><p>  var no = new Option();<!--新建變量--></p><p>  no.value = fbox.options[i].value;<!--獲取彈出列表中的序號--></p><p>  no.text =

76、 fbox.options[i].text;<!--獲取彈出列表的文字--></p><p>  tbox.options[tbox.options.length] = no;<!--將彈出的文字和序號寫入接收列表--></p><p>  fbox.options[i].value = "";<!--將彈出列表中彈出的項置空-->&

77、lt;/p><p>  fbox.options[i].text = "";<!--將彈出列表中彈出的項的文字置空--></p><p><b>  }}</b></p><p>  BumpUp(fbox);<!--彈出列表的文字--></p><p>  if (sortite

78、ms) SortD(tbox);<!--對列表中的文字進行排序--></p><p><b>  }</b></p><p>  function BumpUp(box) {</p><p>  for(var i=0; i<box.options.length; i++) {<!--依次對每一項進行處理-->&

79、lt;/p><p>  if(box.options[i].value == "") {<!--如果某一項為空--></p><p>  for(var j=i; j<box.options.length-1; j++) {<!--將該項后邊的每一項均前移--></p><p>  box.options[j].va

80、lue = box.options[j+1].value;<!--移動value值--></p><p>  box.options[j].text = box.options[j+1].text;<!--移動文字--></p><p><b>  }</b></p><p>  var ln = i;break;<

81、;!--記錄空值的項--></p><p><b>  }}</b></p><p>  if(ln < box.options.length) {<!--如果空值的項小于總長度--></p><p>  box.options.length -= 1;<!--總長度減1--></p><

82、;p>  BumpUp(box);<!--繼續(xù)調用彈出--></p><p><b>  }}</b></p><p>  function SortD(box) {</p><p>  var temp_opts = new Array(); <!--創(chuàng)建一個新的數(shù)組-->&

83、lt;/p><p>  var temp = new Object(); <!--創(chuàng)建一個新的object對象--></p><p>  for(var i=0; i<box.options.length; i++) { <!--對列表中的項依次進行處理--> </p><p>  tem

84、p_opts[i] = box.options[i];<!--將列表中的每一項存在temp_opts中--></p><p><b>  }</b></p><p>  for(var x=0; x<temp_opts.length-1; x++) {</p><p>  for(var y=(x+1); y<temp

85、_opts.length; y++) {</p><p>  if(temp_opts[x].text > temp_opts[y].text) {</p><p>  temp = temp_opts[x].text;<!--獲得第x項的文字--></p><p>  temp_opts[x].text = temp_opts[y].text

86、;<!--將第y項的文字賦值給第x項的文字--></p><p>  temp_opts[y].text = temp;<!--同時temp中文字賦值給第y項--></p><p>  temp = temp_opts[x].value;<!--再將第x項中的value存放再temp中--></p><p>  temp_opts

87、[x].value = temp_opts[y].value;<!--再將第y項中的value付給第x項--></p><p>  temp_opts[y].value = temp;<!--第y項value的值換成temp的值--></p><p><b>  } }}</b></p><p>  for(var i=

88、0; i<box.options.length; i++) {</p><p>  box.options[i].value = temp_opts[i].value;<!--將value值賦給當前列表中--></p><p>  box.options[i].text = temp_opts[i].text;<!--將文字賦給當前列表中--></p&

89、gt;<p><b>  }}</b></p><p><b>  </script></b></p><p><b>  實現(xiàn)效果圖:</b></p><p><b>  圖5-8 調劑</b></p><p>  5.3 查詢

90、及分頁顯示功能</p><p>  5.3.1 查詢功能</p><p>  <td>搜索字段:<select name="field"></p><p>  <option value="title_name">題目</option></p><p>

91、  <option value="title_teacher">教師</option></p><p>  </select></td></p><p>  <td>搜索條件:<input type="text" name="term"></td>

92、</p><p>  String field=request.getParameter("field");</p><p>  String term=request.getParameter("term");</p><p>  term=new String(term.trim().getBytes("ISO8

93、859_1"),"GB2312");</p><p>  String sql="select * from title where "+field+"='"+term+"'";</p><p>  5.3.2 分頁顯示功能</p><p>  //count

94、page總頁數(shù),sqan寬度,count總紀錄數(shù),fpage現(xiàn)在頁,fcount現(xiàn)紀錄數(shù)</p><p>  String strpages=(String)request.getParameter("pages");</p><p>  int pages=0;</p><p>  if(strpages==null){pages=0;}<

95、;/p><p>  else{pages=Integer.parseInt(strpages);}</p><p>  rs.last();</p><p>  int sqan=4,j=0,fcount=0;</p><p>  int count=rs.getRow();</p><p>  int countpag

96、e=count/sqan;</p><p>  if(count%sqan>0) countpage=countpage+1;</p><p>  if(pages<0) pages=0;</p><p>  if(pages>countpage-1) pages=countpage-1;</p><p>  fcount=

97、pages*sqan+1;</p><p>  int fpage=(count-fcount)/sqan+1;</p><p>  rs.absolute(fcount);</p><p>  rs.previous();</p><p>  5.4 應用中出現(xiàn)的問題與解決方法</p><p>  世界上的各地區(qū)都

98、有本地的語言。地區(qū)差異直接導致了語言環(huán)境的差異。在開發(fā)一個國際化程序的過程中,處理語言問題就顯得很重要了。這其中漢字是雙字節(jié)的,所謂雙字節(jié)是指一個雙字要占用兩個BYTE的位置(即16位),分別稱為高位和低位。中國規(guī)定的漢字編碼為GB2312,這是強制性的,目前幾乎所有的能處理中文的應用程序都支持GB2312。</p><p>  另外有一種編碼,叫做GBK,但這是一份規(guī)范,不是強制的。GBK提供了20902個漢字

99、,它兼容GB2312,編碼范圍為0x8140到0xfefe。GBK中的所有字符都可以一一映射到Unicode 2.0。</p><p>  當我們在處理數(shù)據(jù)庫中的信息時,無論是把信息從數(shù)據(jù)庫中取出來傳到web頁面上,還是把web頁面中的信息用request對象的getParameter方法取進來插入數(shù)據(jù)庫中,都會出現(xiàn)亂碼問題。</p><p>  其原因就是Java 語言內部是用 Unic

100、ode 表示字符的,采用unicode編碼。Java 程序無論是從/往文件系統(tǒng)以字符流讀/寫文件,還是往 URL 連接寫 HTML 信息,或從 URL 連接讀取參數(shù)值,都會有字符編碼的轉換。所以兩個方向轉換都有可能得到錯誤的結果。</p><p>  針對這個問題,我把從 html取進來的所有信息,都經(jīng)過編碼轉化了一下,一般我們最常用的編碼方式就是GB2312,GBK,UTF-8和ISO8859-1。</p

101、><p>  我用的是ISO8859-1編碼方式,ISO8859-1是我們平時使用比較多的一個CodePage,它屬于西歐語系。</p><p>  1、用 JDBC 執(zhí)行 SELECT 語句從服務器端讀取數(shù)據(jù)(中文)后,但不能正確顯示在網(wǎng)頁上,將數(shù)據(jù)按“ISO-8859-1” 編碼方式轉化為字節(jié)數(shù)組,再按系統(tǒng)缺省編碼方式 (Default Character Encoding) 轉化為 ST

102、RING ,就可以了。</p><p>  但是一般情況下,在轉換字符串時不采用系統(tǒng)默認編碼方式,而直接采用“ GBK” 或者 “GB2312”,所以從數(shù)據(jù)庫取數(shù)據(jù)顯示時是不會出現(xiàn)問題的。</p><p>  2、當我們要向數(shù)據(jù)庫中插入中文數(shù)據(jù)時,處理方式與“取中文”相逆,先將 SQL 語句按系統(tǒng)缺省編碼方式轉化為字節(jié)數(shù)組,再按“ISO-8859-1”編碼方式轉化為 STRING ,最后送

103、去執(zhí)行,則中文信息可正確寫入數(shù)據(jù)庫。</p><p><b>  第6章 系統(tǒng)測試</b></p><p>  6.1測試方法的介紹</p><p>  黑盒測試也稱功能測試或數(shù)據(jù)驅動測試,它是在已知產(chǎn)品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,

104、測試者在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。</p><p>  "黑盒"法著眼于程序外部結構、不考慮內部邏輯結構、針對軟件界面和軟件功能進行測試。"黑盒"法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯

105、誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。</p><p>  白盒測試按照程序內部的邏輯對程序進行測試,檢查程序中的每條通路是否能按預定要求正確工作。白盒測試又稱為結構測試。</p><p>  在這里主要采用的是黑盒測試,并以白盒測試為輔助測試。</p><p><b>  6.2測試環(huán)境&

106、lt;/b></p><p>  硬件:cup:Celeron M 1.5Ghz </p><p><b>  內存:512M </b></p><p><b>  硬盤:40G</b></p><p>  軟件:Microsoft windows XP</p><p&

107、gt;  JBuilder 2005</p><p>  Sql Server 2000數(shù)據(jù)庫</p><p><b>  6.3測試對象</b></p><p>  6.3.1管理員模塊</p><p>  登錄時,輸入正確的和錯誤的用戶名和密碼,轉向是否正確。登錄成功后管理員的各項功能是否能正確實現(xiàn)。</p&g

108、t;<p><b>  6.3.2教師模塊</b></p><p>  登錄時,輸入正確的和錯誤的用戶名和密碼,轉向是否正確。登錄成功后教師的各項功能是否能正確實現(xiàn)。</p><p><b>  6.3.3學生模塊</b></p><p>  登錄時,輸入正確的和錯誤的用戶名和密碼,轉向是否正確。登錄成功后學

109、生的各項功能是否能正確實現(xiàn)。</p><p>  6.4測試用例及結果</p><p>  6.4.1管理員模塊</p><p>  1.登錄時,輸入正確的和錯誤的用戶ID和密碼,轉向是否正確</p><p>  1)正確的用戶名和密碼:</p><p>  輸入:用戶名:admin,密碼:xs</p>

110、<p>  預期輸出:跳轉到管理員模塊主頁</p><p>  2)錯誤的用戶名和密碼:</p><p>  輸入:用戶名:fddgg,密碼:000</p><p>  預期輸出:跳轉到管理員登陸頁面</p><p>  以上測試用例經(jīng)過驗證是正確的</p><p>  2.管理員登錄成功后,是否可以進行審題

111、操作。</p><p><b>  圖6-1 審核測試</b></p><p>  3.是否可以選擇評閱教師。</p><p>  圖6-4 選擇評閱教師測試</p><p>  以上測試用例經(jīng)過驗證與預期結果相符</p><p><b>  6.4.2教師模塊</b><

112、;/p><p>  1.登錄時,輸入正確的和錯誤的用戶ID和密碼,轉向是否正確</p><p>  1)正確的用戶名和密碼:</p><p>  輸入:用戶名:黃新枝,密碼:yuanfang</p><p>  預期輸出:登陸到教師模塊主頁</p><p>  2)錯誤的用戶名和密碼:</p><p&g

113、t;  輸入:用戶名:12345,密碼:345</p><p>  預期輸出:跳轉到教師登陸頁面</p><p>  以上測試用例經(jīng)過驗證是正確的</p><p>  2.教師登錄成功后,是否可以進行出題管理。</p><p>  圖6-3 添加課題測試</p><p>  3.是否可以選擇評閱教師。</p>

114、;<p>  圖6-4 選擇評閱教師測試</p><p>  以上測試用例經(jīng)過驗證與預期結果相符</p><p><b>  6.4.3學生模塊</b></p><p>  1.登錄時,輸入正確的和錯誤的用戶名和密碼,轉向是否正確</p><p>  1)正確的用戶名和密碼:</p><

115、p>  輸入:用戶名:王群芳,密碼:xs</p><p>  預期輸出:跳轉到學生模塊主頁</p><p>  2)錯誤的用戶名和密碼:</p><p>  輸入:用戶名:76,密碼:000</p><p>  預期輸出:跳轉到學生登陸頁面</p><p>  2.學生登錄成功后,是否可以選題和自擬課題。 <

116、;/p><p><b>  圖6-8 選題測試</b></p><p>  以上測試用例經(jīng)過驗證與預期結果相符</p><p><b>  結 論</b></p><p>  本設計從課題的申報、課題的審核、學生選題等環(huán)節(jié)進行管理,實現(xiàn)了學生自主選題和教師自主選擇學生的網(wǎng)上雙向選擇,同時對畢業(yè)設計的各

117、個環(huán)節(jié)進行監(jiān)控。本系統(tǒng)實現(xiàn)了網(wǎng)上雙向選擇,嚴格了畢業(yè)設計進程控制,能夠保證畢業(yè)設計高質量的完成。</p><p>  本系統(tǒng)同樣也存在很多問題,比如:代碼完全是嵌在頁面上的,安全性不高,代碼也很繁瑣;注入式攻擊;非正常字符的檢測;數(shù)據(jù)表的設計也沒有做到最優(yōu)。這些都是應該加強改進的地方。</p><p><b>  致 謝</b></p><p&g

118、t;  在這里要感謝四年來天津城市建設學院對我的培養(yǎng),感謝指導老師邢老師在這幾個月來的關心和嚴格細致的指導;感謝電子與信息工程系老師在百忙之中為我解答疑難問題,感謝老師們對我的精心栽培;也要感謝在畢設中同學們對我的幫助;感謝所有幫助過我的人,謝謝大家!</p><p><b>  參 考 文 獻</b></p><p>  [1]飛思科技產(chǎn)品研發(fā)中心.JSP應用開發(fā)詳

119、解(第二版)[M].北京:電子工業(yè)出版社,2004年.</p><p>  [2]吳以欣,陳小寧.JavaScript 腳本程序設計[M].北京:人民郵電出版社,2005年5月</p><p>  [3]薩師煊,王珊.數(shù)據(jù)庫系統(tǒng)概論(第三版) [M].北京:高等教育出版社, 2000年2月.</p><p>  [4]Borland公司.Jbuilder 2005編

120、程與開發(fā)[M].北京:電子工業(yè)出版社, 2005年4月.</p><p>  [5] 孫衛(wèi)琴、李洪成.Tomcat與Java Web開發(fā)技術詳解[M].北京:電子工業(yè)出版社,2004年4月.</p><p>  [6]程凱.JSP中文問題及一套整體解決方案[J].許昌學院學報,2006,25(5):77-80.</p><p>  [7]劉長生,謝強.丁秋林.Ja

121、va應用中的漢字亂碼問題分析[C].計算機技術與發(fā)展,2006,16(1):158-161.</p><p>  [8]袁健美.基于JSP的B/S動態(tài)網(wǎng)站開發(fā)及數(shù)據(jù)庫連接[C].計算機技術與發(fā)展.2007/17/06.</p><p>  [9]蘇林忠,冀翼. 基于JSP技術的動態(tài)WEB開發(fā)[J].河南師范大學學報(自然科學版),2003(03) </p><p>

122、  [10] A.S.Shevlyakov.Some Aspects of Using JSP Technology for Distance Learning Tasks[J]. Journal of Mathematical Sciences, Volume 107, Number 6 / 2001/12.</p><p>  [11] C. S. Sung and Sam Joon Park.A compo

溫馨提示

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

評論

0/150

提交評論