




已閱讀5頁,還剩33頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
*實踐教學* 蘭州理工大學計算機與通信學院 2013年春季學期工程開發(fā)綜合訓練題 目: 畢業(yè)設計管理系統(tǒng) 專業(yè)班級: 10級軟件工程基地班 姓 名: * 學 號: * 指導教師: * 成 績: - 1 -摘 要該畢業(yè)設計管理系統(tǒng)采用的是B/S結(jié)構,以Sql Server 2008 + myeclipse + JSP作為開發(fā)工具。本系統(tǒng)借助了網(wǎng)絡平臺,不但使學生與老師進行有效的溝通,使學生可以及時的了解有關畢業(yè)論文的相關事情,而且使論文的上傳查看、信息的管理、用戶的管理和數(shù)據(jù)庫的管理等工作更加容易,既提高了工作效率,也降低了成本。本系統(tǒng)主要針對于高校的畢業(yè)設計環(huán)節(jié)進行管理。本系統(tǒng)實現(xiàn)了管理員對系統(tǒng)用戶信息(管理員信息、教師信息、學生信息)、課題信息管理等;教師角色對個人信息的修改,課題的添加,查詢管理、選題管理,論文管理等;評審角色對個人信息的修改,課題的評審等;學生角色可以對個人信息修改,查看成績、選題登記與查詢,論文提交與查看。關鍵詞:畢業(yè)論文選題;管理系統(tǒng);SQL Server;J2EE;GPMS目錄摘 要I目錄II一、需求分析11.1畢業(yè)論文管理的現(xiàn)狀11.2畢業(yè)論文管理系統(tǒng)的優(yōu)勢11.3 系統(tǒng)流程圖21.4層次結(jié)構圖31.5數(shù)據(jù)流程圖61.5數(shù)據(jù)字典7二、概念結(jié)構設計92.1系統(tǒng)E-R圖9三、邏輯結(jié)構設計103.1各個表的結(jié)構10四、系統(tǒng)實現(xiàn)134.1 建立數(shù)據(jù)庫134.1.1數(shù)據(jù)庫創(chuàng)建流程134.1.2數(shù)據(jù)庫關系134.2 程序設計144.2.1 工程目錄結(jié)構144.2.2 核心技術說明144.3 項目研發(fā)時間線20五、系統(tǒng)測試215.1 測試方案215.2 測試用例及結(jié)果21六、軟件使用說明書246.1 登陸界面246.2 主界面246.3 查看個人信息256.4 修改密碼256.5 維護個人信息266.6 上報課題266.7 課題查詢276.8 未評題目查詢276.9 題目評審286.10 任務下派286.11發(fā)布題目296.12信息統(tǒng)計306.13信息管理30七、設計總結(jié)32八、致謝33九、參考文獻34一、需求分析1.1畢業(yè)論文管理的現(xiàn)狀目前,國內(nèi)外畢業(yè)論文選題一般采用兩種方式:一種將畢業(yè)設計存在軟盤上交;另一種則存放到教師的電腦上的一個共享目錄內(nèi)。但這兩種方法都有各自的弊端:前一種方法不方便攜帶、速度慢、容量小、易損壞;后一種方法雖然解決了軟盤容量小、容易壞的問題。但存在一個更致命的缺點:學生可以隨意的查看、更改和刪除其他同學的畢業(yè)設計,造成大量如抄襲畢業(yè)設計、惡意刪除或修改其他同學畢業(yè)設計的事情發(fā)生;老師在幫學生修改畢業(yè)設計時,也很容易弄不清楚畢業(yè)設計批改與否;畢業(yè)設計是誰的或是舊畢業(yè)設計沒刪除掉,跟新畢業(yè)設計搞混了等情況,雖然有些可以用嚴格的紀律來實現(xiàn)管理,但仍然會給學生和老師帶來很多的麻煩。而且,由于畢業(yè)設計是一個持續(xù)較長時間的過程,這其中需要同學和老師不斷的溝通,但是期間若是由于學生有事或身體不適等情況,就不得不中途請假,而這勢必會影響到畢業(yè)設計的順利完成。在當前的信息化時代中,任何學校,都需要一個實用的畢業(yè)論文選題來規(guī)范畢業(yè)論文選題,這將會大大提高學校的管理水平,優(yōu)化資源,實現(xiàn)效益的最大化。現(xiàn)在國內(nèi)外也有很多畢業(yè)論文選題的軟件,采用的技術也是多種多樣,如基于JSP、FTP模式,但大多數(shù)畢業(yè)論文選題主要用于網(wǎng)絡學院的遠程教學。至于校園內(nèi)的正規(guī)教學,利用畢業(yè)論文選題組織管理教學活動的并不多。針對國內(nèi)外對教學管理軟件的巨大需要和基本需要,一個好的教學管理軟件,必須功能齊全,操作簡便,向用戶展示友善的操作界面。在完善功能的同時又必須兼顧系統(tǒng)的靈活性,安全性,健壯性。一個好的教學管理系統(tǒng),不管是計算機專業(yè)人員還是其他用戶都能很快上手,操作簡單,便于安裝,容易普及。1.2畢業(yè)論文管理系統(tǒng)的優(yōu)勢由于學校教學功能的特殊定位,致使教師和學生必須在除了簡單的師生區(qū)別外,還有合作意味的關系。學生上交畢業(yè)設計和老師批改畢業(yè)設計,這本身除了學習交流外,還是一個合作的概念。所以,這其中的信息管理流程,需要以一個規(guī)范的MIS來管理。畢業(yè)論文管理系統(tǒng)的優(yōu)勢主要表現(xiàn)在三個方面:1、畢業(yè)設計無紙化,環(huán)保又方便。傳統(tǒng)的畢業(yè)設計上交方式,都是經(jīng)由學生科目代表統(tǒng)一收齊后,交到教師辦公室,然后教師抽取一個整段的時間,或是若干分時間段,一份一份地手工翻閱批改,然后再做好相關記錄。這種傳統(tǒng)的方式,一是會有很大的體力消耗,二是在精力上也是不小的付出,而且這種辛苦在很多時候往往沒能得到滿意的回復。而無紙化畢業(yè)設計,只需在電腦前點點鼠標,在體力上幾乎沒有多大的消耗,而且在環(huán)保、效率、針對性教學指導方面做得要比傳統(tǒng)的畢業(yè)論文選題科學得多。2、科學管理,安全可靠。傳統(tǒng)的畢業(yè)論文選題方式,都是一份份獨立的畢業(yè)設計,一個學生對應一份,而這么一撂的設計,經(jīng)常會由于各種原因,丟失或是污損,給畢業(yè)論文選題和教學進程帶來很大的麻煩和不便。而畢業(yè)論文選題的動作,只需做好系統(tǒng)數(shù)據(jù)庫的保護,以上問題可以迎刃而解了。3、簡化工作,促進其他方面的綜合發(fā)展。由于畢業(yè)論文選題的介入運行,可以使教師騰出更多的時間,做更多針對性的個性化教學服務,從而使每個學生都有機會在學業(yè)上有更大的進步。1.3 系統(tǒng)流程圖登錄失敗登陸成功登陸者的身份學生登錄界面主界面學生模塊教師模塊評審人模塊管理員模塊教師管理評審人圖1-1 系統(tǒng)流程圖351.4層次結(jié)構圖圖1-2 學生層次結(jié)構圖圖1-3 教師層次結(jié)構圖圖1-4 評審人層次結(jié)構圖圖1-5 管理員層次結(jié)構圖1.5數(shù)據(jù)流程圖圖1-6 系統(tǒng)數(shù)據(jù)流圖1.5數(shù)據(jù)字典 主要的數(shù)據(jù)字典:表1-1 管理員信息數(shù)據(jù)字典名字:管理員信息別名:administrator描述:管理員的相關信息定義:管理員信息=管理員id+管理員name+管理員password位置:存于數(shù)據(jù)庫表1-2 教師信息數(shù)據(jù)字典名字:教師信息別名:teacher描述:教師的相關信息定義:教師信息=教師id+教師密碼+教師姓名+教師職稱+教師性別+教師工作地點+教師QQ+教師電話位置:存于數(shù)據(jù)庫表1-3 學生信息數(shù)據(jù)字典名字:學生信息別名:student描述:學生的相關信息定義:學生信息=學生id+學生姓名+學生性別+學生系別+學生專業(yè)+學生年級+學生班級+學生成績+學生電話+學生密碼位置:存于數(shù)據(jù)庫表1-4課題信息數(shù)據(jù)字典名字:課題信息別名:topic描述:課題的相關信息定義:課題信息=課題id+課題名+出題教師+課題類別+所屬專業(yè)+需求人數(shù)+課題要求+課題內(nèi)容位置:存于數(shù)據(jù)庫表1-5學生選題數(shù)據(jù)字典名字:學生選題信息別名:choosetopic描述:學生和已選的課題的對應關系定義:學生選題信息=學生id+課題id位置:存于數(shù)據(jù)庫,在選題時應用表1-6管理員分配答辯老師數(shù)據(jù)字典名字:管理員分配答辯老師別名:answer描述:管理員為每一個課題分配5位答辯老師,其中一名為答辯組長。定義:管理員分配答辯老師=答辯題目id+答辯題目+答辯組長+答辯老師1+答辯老師2+答辯老師3+答辯老師4+答辯時間+答辯教室位置:存于數(shù)據(jù)庫,在答辯時應用表1-7 學生成績信息數(shù)據(jù)字典名字:學生成績信息別名:score描述:學生成績的相關信息定義:學生成績信息=成績id+學生名字+實習成績+指導成績+評閱成績+答辯成績位置:存于數(shù)據(jù)庫,在歸檔時應用二、概念結(jié)構設計2.1系統(tǒng)E-R圖本系統(tǒng)涉及的實體主要由管理員、教師、學生、課題組成,主要有監(jiān)督、出題、審題、選題等幾個關系。各實體屬性和關系圖如下圖所示。管理員姓名密碼教師職稱學歷密碼性別教研室姓名電話專業(yè)監(jiān)督監(jiān)督監(jiān)督學生密碼班級電話性別姓名課題專業(yè)班級評題人出題人名稱管理員學生教師課題審題出題選題1n1n1nnn11n圖2-1 系統(tǒng)E-R圖三、邏輯結(jié)構設計3.1各個表的結(jié)構表3-1教師表(T_teacher)序號列號數(shù)據(jù)類型長度小數(shù)標識主鍵允許空默認值示意說明1Tidint20是否教工號2Tnamevachar20姓名3Tpasswordvarchar32否密碼MD5加密表3-2教師詳細信息表(T_teadetail)序號列號數(shù)據(jù)類型長度小數(shù)標識主鍵允許空默認值示意說明1TidInt是否教工號外鍵(T_teacher:Tid)2TnameVachar20姓名3Tsexchar2性別4Schidtinyint學院號外鍵(T_schools:Schid)5Tphonebigint電話6Tqqbigintqq7Tmailvarchar50郵箱8Tworkplacevarchar30辦公地點9Ttitlevarchar10職稱表3-3畢設題目表(T_topic)序號列號數(shù)據(jù)類型長度小數(shù)標識主鍵允許空默認值示意說明1Topidint是否題目編號2Topnamevarchar50否題目名稱3Toppropertychar8題目性質(zhì)理論研究,生產(chǎn)實踐, 科學實驗4Toptypechar10題目類型工程設計型,工程技術型,實驗研究型,軟件開發(fā)型5Topsourcevarchar50題目來源6Topcontenttext題目內(nèi)容7Toptimedatetime否getdate()發(fā)布日期8Topselectbit0是否已被選1為是;0為否9Tidint否教師編號外鍵(T_teacher:Tid)表3-4畢設題目臨時表(T_temptopictb)序號列號數(shù)據(jù)類型長度小數(shù)標識主鍵允許空默認值示意說明1Topidint是否題目編號2Topnamevarchar50否題目名稱3Toppropertychar8題目性質(zhì)理論研究,生產(chǎn)實踐, 科學實驗4Toptypechar10題目類型工程設計型,工程技術型,實驗研究型,軟件開發(fā)型5Topsourcevarchar50題目來源6Topcontenttext題目內(nèi)容7Toptimedatetime否getdate()上報日期8Tidint教師編號外鍵(T_teacher:Tid)9Ridint0評審編號外鍵(T_reviewer:Rid)表3-5系(專業(yè))表(T_faculties)序號列號數(shù)據(jù)類型長度小數(shù)標識主鍵允許空默認值示意說明1Fidtinyint是否系編號2Fnamevarchar30否系名稱表 3-6-學院表(T_schools)序號列號數(shù)據(jù)類型長度小數(shù)標識主鍵允許空默認值示意說明1Schidtinyint是否學院編號2Schnamevarchar30否學院名稱四、系統(tǒng)實現(xiàn)4.1 建立數(shù)據(jù)庫數(shù)據(jù)庫采用SqlServer2008,數(shù)據(jù)庫名稱為GPMS。4.1.1數(shù)據(jù)庫創(chuàng)建流程數(shù)據(jù)庫創(chuàng)建流程如下:圖4.1.1 數(shù)據(jù)庫創(chuàng)建流程4.1.2數(shù)據(jù)庫關系數(shù)據(jù)庫關系圖如下:圖4.1.2 數(shù)據(jù)庫關系圖4.2 程序設計4.2.1 工程目錄結(jié)構4.2.2 核心技術說明1、J2EE中重量級框架 我們采用Java Servlet + Java Server Pages (JSP) + Enterprise Java Bean (EJB )的J2EE中重量級框架,其中所包含的各類組件、服務架構及技術層次,均有共同的標準及規(guī)格,讓各種依循J2EE架構的不同平臺之間,存在良好的兼容性,解決過去企業(yè)后端使用的信息產(chǎn)品彼此之間無法兼容,企業(yè)內(nèi)部或外部難以互通的窘境。2、DAO(數(shù)據(jù)庫接口層)的封裝在核心J2EE模式中是這樣介紹DAO模式的:為了建立一個健壯的J2EE應用,應該將所有對數(shù)據(jù)源的訪問操作抽象封裝在一個公共API中。用程序設計的語言來說,就是建立一個接口,接口中定義了此應用程序中將會用到的所有事務方法。在這個應用程序中,當需要和數(shù)據(jù)源進行交互的時候則使用這個接口,并且編寫一個單獨的類來實現(xiàn)這個接口在邏輯上對應這個特定的數(shù)據(jù)存儲。我們采用DAO的思想,將所有對數(shù)據(jù)源數(shù)據(jù)庫的訪問操作抽象封裝在幾個接口類中,使事務界限更加清晰,分離了業(yè)務邏輯和數(shù)據(jù)庫基礎操作,代碼結(jié)構也看起來非常清晰。還有一個好處是,數(shù)據(jù)庫的修改只要修改DAO層的訪問方式就可以了,不用整個項目都進行修改。3、Ajax技術異步刷新傳統(tǒng)的web應用允許用戶填寫表單(form),當提交表單時就向web服務器發(fā)送一個請求。服務器接收并處理傳來的表單,然后返回一個新的網(wǎng)頁。這個做 法浪費了許多帶寬,因為在前后兩個頁面中的大部分HTML代碼往往是相同的。由于每次應用的交互都需要向服務器發(fā)送請求,應用的響應時間就依賴于服務器的響應時間。這導致了用戶界面的響應比本地應用慢得多。與此不同,AJAX應用可以僅向服務器發(fā)送并取回必需的數(shù)據(jù)(而不是返回整個頁面,只是把從服務器端上取出的數(shù)據(jù)填充到div或span層上去而已,實現(xiàn)無刷新的效果),它使用SOAP或其它一些基于 XML的web service接口,并在客戶端采用JavaScript處理來自服務器的響應。因為在服務器和瀏覽器之間交換的數(shù)據(jù)大量減少,結(jié)果我們就能看到響應更快 的應用。同時很多的處理工作可以在發(fā)出請求的客戶端機器上完成,所以Web服務器的處理時間也減少了。使用Ajax的最大優(yōu)點,就是能在不更新整個頁面的前提下維護數(shù)據(jù)。這使得Web應用程序更為 迅捷地回應用戶動作,并避免了在網(wǎng)絡上發(fā)送那些沒有改變過的信息。Ajax不需要任何瀏覽器插件,但需要用戶允許JavaScript在瀏覽器上執(zhí)行。4、數(shù)據(jù)庫連接池在傳統(tǒng)的兩層結(jié)構中,客戶端程序在啟動時打開數(shù)據(jù)庫連接,在退出程序時關閉數(shù)據(jù)庫連接。這樣,在整個程序運行中,每個客戶端始終占用一個數(shù)據(jù)庫連接,即使在大量沒有數(shù)據(jù)庫操作的空閑時間,如用戶輸入數(shù)據(jù)時,從而造成數(shù)據(jù)庫連接的使用效率低下。 在三層結(jié)構模式中,數(shù)據(jù)庫連接通過中間層的連接池管理。只有當用戶真正需要進行數(shù)據(jù)庫操作時,中間層才從連接池申請一個連接,數(shù)據(jù)庫操作完畢,連接立即釋放到連接池中,以供其他用戶使用。這樣,不僅大大提高了數(shù)據(jù)庫連接的使用效率,使得大量用戶可以共享較少的數(shù)據(jù)庫連接,而且省去了建立連接的時間。 我們以Tomcat7數(shù)據(jù)庫連接池配置sqlserver2008。Tomcat JDBC連接池提供對多種數(shù)據(jù)庫的支持。前提要修改tomcat服務器目錄下面的conf中的Context.xml配置文件和程序中的 Web.xml文件,代碼中以如下方式實現(xiàn): Contextc=newInitialContext();DataSourceds=(DataSource)c.lookup(java:comp/env/jdbc/books);conn=ds.getConnection();5、動態(tài)頁面的實現(xiàn)(CSS+動態(tài)js腳本)JS的作用是制作動.態(tài)網(wǎng)頁效果等,是提高用戶體驗的利器!而CSS是定義網(wǎng)頁樣式,讓網(wǎng)頁元素更好的表現(xiàn)給用戶,好的的網(wǎng)頁表現(xiàn)形式也能提高用戶體驗!js可以使網(wǎng)頁的功能更加豐富,給網(wǎng)頁添加更多實時的、動態(tài)的、交互的內(nèi)容。當服務端需要對數(shù)據(jù)進行驗證時,使用javascript可以在客戶端驗證數(shù)據(jù),不需要把數(shù)據(jù)傳到服務器端再傳回來,比較節(jié)省時間。你可以把網(wǎng)頁里的內(nèi)容隱藏起來,然后當鼠標放到某個地方的時候把隱藏的內(nèi)容顯示出來,就像這個頁面右上角的”我的知道“那個菜單做的事情。網(wǎng)頁里的下拉菜單基本上都使用js完成。當你查看表格的時候,表格的內(nèi)容很多,你可以使用js給每一行數(shù)據(jù)設置不同的顏色以示區(qū)分,也可以用js完成鼠標指到表格上表格就變色的功能。6、批量信息圖表統(tǒng)計程序以javascript實現(xiàn)將數(shù)據(jù)庫中動態(tài)數(shù)據(jù)以圖表形式顯示在頁面上,利用ajax將實現(xiàn)更好的用戶體驗。這樣做減輕了服務端的壓力。不過,這種方式的確定是客戶端變得龐大。而且其實現(xiàn)原理很復雜,基本是div實現(xiàn)點陣字原理(一點點畫上去的)來實現(xiàn)的。效率就顯得不夠快。和原來用jfreechart比較,感覺jfreechart不好的地方是他總是先生成圖。然后利用src來顯示,其效率也不怎么高。不過服務器好的話,客戶端就輕松。7、中文字符串相似度檢測的實現(xiàn)Levenshtein 距離,又稱編輯距離,指的是兩個字符串之間,由一個轉(zhuǎn)換成另一個所需的最少編輯操作次數(shù)。許可的編輯操作包括將一個字符替換成另一個字符,插入一個字符,刪除一個字符。編輯距離的算法是首先由俄國科學家Levenshtein提出的,故又叫Levenshtein Distance算法。在程序中,為實現(xiàn)題目相似度匹配功能,我采用了Levenshtein Distance算法和最長公共子序列算法LCS(Longest Common Subsequence)相結(jié)合的方式,計算預上報題目名稱和已發(fā)布題目的相似百分度。經(jīng)過大量數(shù)據(jù)測試,發(fā)現(xiàn)計算結(jié)果大于60%題目存在較為明顯的相似,故將結(jié)果定為相似度大于60%無法上報。核心代碼如下: /LCS algorithm 最長公共子序列算法 private static int longestCommonSubstringLength(String S1, String S2) return longestCommonSubstrings(S1, S2, 0).toString().length(); private static Collection longestCommonSubstrings(String S1, String S2, int minimumLength) Collection indexes = new ArrayList(); int Max = minimumLength; for (int i = 0; i S1.length(); i+) for (int j = 0; j S2.length(); j+) int x = 0; int y = Math.min(S1.length()-i,S2.length()-j); while (x Max) Max = x; indexes = new ArrayList(); indexes.add(i); else if (x = Max) indexes.add(i); Collection results = new HashSet(); for (Integer i : indexes) results.add(S1.substring(i, (i + Max); return results; /Levenshtein Distance 算法實現(xiàn) public static double getEditDistance(String s, String t) int d; / matrix int n; / length of s int m; / length of t int i; / iterates through s int j; / iterates through t char s_i; / ith character of s char t_j; / jth character of t int cost; / cost int distance; /edit distance double similarity; / Step 1 n = s.length(); m = t.length(); String ss = s+s; int len = longestCommonSubstringLength(ss,t); if(lens.length() len=s.length(); len *= 2; / Prevent 100% similarity between a string and its / cyclically shifted version (e.g. aircon and conair) if (len = s.length() + t.length() & s.length()=t.length() len-; similarity = len/(s.length()+t.length()*1.0)*100; return similarity; else if (n = 0) return m; if (m = 0) return n; d = new intn + 1m + 1; / Step 2 for (i = 0; i = n; i+) di0 = i; for (j = 0; j = m; j+) d0j = j; / Step 3 for (i = 1; i = n; i+) s_i = s.charAt(i - 1); / Step 4 for (j = 1; j = m; j+) t_j = t.charAt(j - 1); / Step 5 if (s_i = t_j) cost = 0; else cost = 1; / Step 6 dij = Minimum(di - 1j + 1, dij - 1 + 1, di - 1j - 1 + cost); distance = dnm; similarity = (1-distance/(s.length()+t.length()*1.0)*100; return similarity; 8、美觀高效驗證碼的實現(xiàn)驗證碼一般是防止有人利用機器人自動批量注冊、對特定的注冊用戶用特定程序暴力破解方式進行不斷的登陸、灌水。因為驗證碼是一個混合了數(shù)字或符號的圖片,人眼看起來都費勁,機器識別起來就更困難。我們的圖片驗證碼經(jīng)過多次測試檢驗,采用數(shù)字“0-9”和字母“a-z”“A-Z”,排除易混淆的字母和數(shù)字,不區(qū)分大小寫。通過測試,乳白色底字碼更易識別,隨機干擾線和隨機干擾點20條左右最合適。/定義驗證碼圖像的緩沖流BufferedImage buffImg = new BufferedImage(width, height,BufferedImage.TYPE_INT_RGB); /產(chǎn)生圖形上下文Graphics2D g = buffImg.createGraphics(); /創(chuàng)建隨機數(shù)產(chǎn)生函數(shù)Random random = new Random(); /將驗證碼圖像背景填充為白色g.setColor(Color.WHITE); g.fillRect(0, 0, width, height); /創(chuàng)建字體格式,字體的大小則根據(jù)驗證碼圖片的高度來設定。Font font = new Font(Fixedsys,Font.BOLD, fontHeight); /設置字體。g.setFont(font); /為驗證碼圖片畫邊框,為一個像素。g.setColor(Color.GRAY); g.drawRect(0, 0, width - 1, height - 1); /隨機生產(chǎn)22跳圖片干擾線條,使驗證碼圖片中的字符不被輕易識別g.setColor(Color.LIGHT_GRAY); for(int i = 0; i22; i+) int x = random.nextInt(width); int y = random.nextInt(height); int xl = random.nextInt(12); int yl = random.nextInt(12); g.drawLine(x, y, x + xl, y + yl); /randomCode保存隨機產(chǎn)生的驗證碼StringBuffer randomCode = new StringBuffer(); /定義顏色三素int red = 0, green = 0, blue = 0; /隨機生產(chǎn)codeNum個數(shù)字驗證碼for (int i = 0; icodeNum; i+) /得到隨機產(chǎn)生的驗證碼String strRand = String.valueOf(codesrandom.nextInt(codes.length); /使用隨機函數(shù)產(chǎn)生隨機的顏色分量來構造顏色值,這樣輸出的每位數(shù)字的顏色值都將不同。red = random.nextInt(255); green = random.nextInt(255); blue = random.nextInt(255); /隨即生成驗證碼字符的水平偏移量 int w = 0; int x = (i + 1) % 2; if (x = random.nextInt(2) w = codeY - random.nextInt(7); else w = codeY + random.nextInt(7); /用隨機產(chǎn)生的顏色將驗證碼繪制到圖像中。g.setColor(new Color(red, green, blue); g.drawString(strRand, fontHeight*i+10, codeY); /將產(chǎn)生的四個隨機數(shù)組合在一起。randomCode.append(strRand);9、用戶密碼MD5加密及異常登錄的預防我們采用用戶密碼MD5加密技術,這樣既能防止數(shù)據(jù)庫管理員盜取用戶數(shù)據(jù)非法操作,就算有人得到數(shù)據(jù)庫,找到的也是MD5加密后的一段亂碼,破解是能破解,但是很費工夫的。所以基本上可以說是安全的。以前MD5被認為是不可逆的,不過現(xiàn)在被破解了,不過還是比較安全的。Filter可以使用通配符用來過濾一個、多個url,或者過濾一個、多個的Servlet。我們使用Filter過濾一些成功操作界面,防止非法用戶繞過登錄頁面直接進入到成功頁面。對用戶的異常訪問,用error.jsp頁面攔截,并在5秒后強行跳回登陸頁面,使用戶先登錄系統(tǒng)。4.3 項目研發(fā)時間線圖4.3.1 項目研發(fā)時間線五、系統(tǒng)測試5.1 測試方案黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,它是在已知產(chǎn)品所應具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構和內(nèi)部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當?shù)亟邮蛰斎霐?shù)據(jù)而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒法著眼于程序外部結(jié)構、不考慮內(nèi)部邏輯結(jié)構、針對軟件界面和軟件功能進行測試。黑盒法是窮舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。實際上測試情況有無窮多個,人們不僅要測試所有合法的輸入,而且還要對那些不合法但是可能的輸入進行測試。白盒測試按照程序內(nèi)部的邏輯對程序進行測試,檢查程序中的每條通路是否能按預定要求正確工作。白盒測試又稱為結(jié)構測試。在這里主要采用的是黑盒測試,并以白盒測試為輔助測試。5.2 測試用例及結(jié)果1登錄時,輸入正確的和錯誤的用戶ID和密碼,轉(zhuǎn)向是否正確1)正確的用戶名和密碼:輸入:用戶名:10240001,密碼:10240001預期輸出:登陸到教師模塊主頁。2)錯誤的用戶名和密碼:輸入:用戶名:12345,密碼:345預期輸出:跳轉(zhuǎn)到教師登陸頁面。 以上測試用例經(jīng)過驗證是正確的。2教師登錄成功后,是否可以上報課題。圖5-1 添加課題測試3是否可以修改個人信息。圖5-2 修改個人信息測試4是否可以修改課題信息。圖5-3修改課題信息測試六、軟件使用說明書6.1 登陸界面教師輸入正確的用戶名和密碼,就可以進入到畢業(yè)設計管理系統(tǒng),初始密碼與用戶名一致,登陸界面如圖6-1所示 圖6-1 登陸界面6.2 主界面 登陸驗證若正確的話,進入主界面,如圖6-2所示:圖6-2 主界面6.3 查看個人信息點擊菜單欄“個人信息”欄目,進入個人詳細信息表單,如下圖所示:圖6-3 個人信息查詢6.4 修改密碼點擊菜單欄“修改密碼”欄目,進入密碼修改界面:圖6-4 修改密碼6.5 維護個人信息點擊菜單欄“信息維護”欄目,進入個人信息維護界面:圖6-5 維護個人信息6.6 上報課題點擊菜單欄“上報課題”欄目,進入上報課題界面,這里自動進行字符串的匹配,即題目相似度的檢測,點擊添加按鈕,即可向數(shù)據(jù)庫中填入一條畢設題目,界面如下圖所示:圖6-6 上報課題6.7 課題查詢點擊菜單欄“課題查詢”欄目,進入課題查詢界面: 圖6-7 課題查詢6.8 未評題目查詢點擊菜單欄“查詢未評題目”欄目,可以查看未評題目的列表,再點擊右側(cè)評審按鈕進入題目評審界面,如下圖所示:圖6-8 未評題目查詢6.9 題目評審題目評審界面如下圖所示,點擊評審按鈕提交對該題目的詳細評審意見,并由管理員最終審核發(fā)布。圖6-9 題目評審6.10 任務下派由管理員查詢每道題目的評審意見,并選出任務數(shù)相對較少的評審
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 藥品質(zhì)量投訴管理制度
- 藥品集中采購管理制度
- 藥店培訓考核管理制度
- 藥店甲類統(tǒng)籌管理制度
- 螢石公司環(huán)保管理制度
- 設備保養(yǎng)安全管理制度
- 設備啟用停用管理制度
- 設備建設公司管理制度
- 設備檢查檢測管理制度
- 設備私自拆卸管理制度
- 2025年 道路運輸企業(yè)主要負責人考試模擬試卷(100題)附答案
- 2025至2030中國執(zhí)法系統(tǒng)行業(yè)經(jīng)營效益及前景運行態(tài)勢分析報告
- 球墨鑄鐵管件項目可行性研究報告寫作范文
- 中心靜脈導管的護理.ppt
- 全套桶裝飲用水(天然泉水、純凈水)QS體系文件(二)-程序文件
- 小數(shù)加減法脫式計算及簡便運算100道
- MSG-3中文版課件
- 盾構施工總結(jié)(doc106頁)
- 分部驗收橋梁主體驗收評估報告
- 計算機網(wǎng)絡設計畢業(yè)設計論文
- 關于郵政代理金融業(yè)務發(fā)展轉(zhuǎn)型的思考
評論
0/150
提交評論