計(jì)算機(jī)畢業(yè)設(shè)計(jì)臨大機(jī)械學(xué)院選題管理系統(tǒng)論文_第1頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)臨大機(jī)械學(xué)院選題管理系統(tǒng)論文_第2頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)臨大機(jī)械學(xué)院選題管理系統(tǒng)論文_第3頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)臨大機(jī)械學(xué)院選題管理系統(tǒng)論文_第4頁(yè)
計(jì)算機(jī)畢業(yè)設(shè)計(jì)臨大機(jī)械學(xué)院選題管理系統(tǒng)論文_第5頁(yè)
已閱讀5頁(yè),還剩29頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

GraduationprojectmanagementsystemdesignandimplementationABSTRACTWiththeadventoftheInternettrend,allwalksoflifeareconsideringtheuseoftheInternettopromotethemselvesout,thebestwayistoestablishtheirownInternetsystem,anditsmaintenanceandmanagement.Inthepracticalapplication,theworkingrulesanddevelopmentstepsoftheapplicationsoftware,usingtheSSMframeworktoconstructthegraduationdesignmanagementsystem.Thisgraduationprojectmainlyrealizesthegraduationprojectmanagementsystemwhichintegratestheadvantagesofhumanization,highefficiencyandconvenience.Itcompletesthefunctionmodulesofteacherinformationmanagement,studentinformationmanagement,announcementinformationmanagement,notificationmanagementandsystemmanagement.Thesystemcommunicateswiththeserverthroughthebrowsertorealizedatainteractionandchange.Justneedtopassacomputer,movefingertobeabletooperateasystem,realizedatacommunicationmanagement.Thedesignprocessofthewholesystemfullyconsidersthesafety,stabilityandreliabilityofdata,andtheoperationprocessissimple.Throughscientificmanagementandconvenientservice,thesystemimprovesworkefficiencyandreduceserrorsandomissionsindatastorage.ThissystemUSESWindows7astheserver-sideoperatingsystem,Javaasthedevelopmentlanguage,Mysqlasthedatabase,mybatisasthedatabaseconnectiontechnology,Myeclipseasthesystemapplicationdevelopmenttool,andTomcat7.0astheWebserver.Keywords:Datacommunication;Java;Mysqldatabase;Thewebserver

目錄摘要 IABSTRACT II目錄 III第1章緒論 31.1開(kāi)發(fā)背景與意義 31.2開(kāi)發(fā)現(xiàn)狀 31.3論文結(jié)構(gòu) 3第2章主要技術(shù)和工具介紹 32.1jsp腳本語(yǔ)言 32.2Mysql數(shù)據(jù)庫(kù) 32.3B/S結(jié)構(gòu) 32.4MVC模式 32.5SSM框架 32.6tomcat服務(wù)器概述 3第3章系統(tǒng)分析 33.1可行性分析 33.1.1技術(shù)可行性 33.1.2經(jīng)濟(jì)可行性 33.1.3操作可行性 33.2需求分析 33.3業(yè)務(wù)流程分析 3第4章系統(tǒng)設(shè)計(jì) 34.1整體架構(gòu) 34.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì) 34.3功能模塊設(shè)計(jì) 34.4系統(tǒng)安全設(shè)計(jì) 34.5表單字段校驗(yàn)處理設(shè)計(jì) 34.6系統(tǒng)維護(hù)設(shè)計(jì) 34.7數(shù)據(jù)庫(kù)設(shè)計(jì) 34.7.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述 34.7.2概念設(shè)計(jì) 34.7.3邏輯設(shè)計(jì) 34.7.3物理設(shè)計(jì) 3第5章系統(tǒng)實(shí)現(xiàn) 35.1登錄模塊的實(shí)現(xiàn) 35.2用戶子系統(tǒng)模塊的實(shí)現(xiàn) 35.2.1用戶首頁(yè)的實(shí)現(xiàn) 35.2.2導(dǎo)師選擇模塊的實(shí)現(xiàn) 35.2.3論文上交模塊的實(shí)現(xiàn) 35.2.4開(kāi)題模塊的實(shí)現(xiàn) 35.3管理員子系統(tǒng)模塊的實(shí)現(xiàn) 35.3.1用戶管理模塊的實(shí)現(xiàn) 35.3.2公告管理模塊的實(shí)現(xiàn) 3第6章系統(tǒng)測(cè)試 36.1測(cè)試目的與定義 36.2功能測(cè)試 36.3測(cè)試結(jié)果 36.4測(cè)試評(píng)價(jià) 3第7章總結(jié) 3致謝 3參考文獻(xiàn) 3第1章緒論1.1開(kāi)發(fā)背景與意義高校畢業(yè)設(shè)計(jì)管理工作是論文管理工作的重要環(huán)節(jié),工作量大、靈活性強(qiáng)、時(shí)間要求緊、對(duì)論文管理工作質(zhì)量影響大。特別是近年來(lái),高校本科擴(kuò)招工作進(jìn)一步深入,每年畢業(yè)生人數(shù)不斷增加,另外院校擴(kuò)建帶來(lái)的異地辦學(xué)等,使得畢業(yè)設(shè)計(jì)的管理工作難度加大。隨著教學(xué)改革的不斷深入,如何有效地增強(qiáng)論文管理工作水平,充分調(diào)動(dòng)學(xué)生的學(xué)習(xí)積極性,提高畢業(yè)設(shè)計(jì)的論文質(zhì)量是各高校論文管理工作的重點(diǎn)之一。針對(duì)畢業(yè)設(shè)計(jì)管理中,課題的立項(xiàng)與學(xué)生選題的手工操作方式,適合于高校的畢業(yè)設(shè)計(jì)管理系統(tǒng),實(shí)現(xiàn)網(wǎng)上雙向選擇,從而篩選有一定理論基礎(chǔ)、應(yīng)用價(jià)值及操作性強(qiáng)的畢業(yè)設(shè)計(jì)題目,把好導(dǎo)師立題關(guān)和設(shè)計(jì)審核關(guān)。同時(shí)充分滿足學(xué)生選題及設(shè)計(jì)提交要求,增強(qiáng)學(xué)生的專(zhuān)業(yè)技能和動(dòng)手能力。以此實(shí)現(xiàn)畢業(yè)設(shè)計(jì)的無(wú)紙化,電子化管理,提交高校畢業(yè)設(shè)計(jì)的質(zhì)量和管理水平,節(jié)省人力物力財(cái)力[1][2]。1.2開(kāi)發(fā)現(xiàn)狀隨著計(jì)算機(jī)時(shí)代的前進(jìn),計(jì)算機(jī)已經(jīng)變成現(xiàn)實(shí)生活中不可缺少的一部分,人們?cè)诠ぷ髦幸揽坑?jì)算機(jī)技術(shù)已經(jīng)無(wú)可替代。而畢業(yè)設(shè)計(jì)設(shè)計(jì)作為大學(xué)生在大學(xué)時(shí)代學(xué)習(xí)的一個(gè)重要展現(xiàn),有必要具體實(shí)現(xiàn)計(jì)算機(jī)網(wǎng)絡(luò)化和信息化的管理,這樣不僅可以減輕設(shè)計(jì)指導(dǎo)老師承重的負(fù)擔(dān),也可方便指導(dǎo)老師進(jìn)行課題申報(bào)、論文審核等過(guò)程,讓比較繁重的畢業(yè)設(shè)計(jì)采用數(shù)據(jù)庫(kù)進(jìn)行統(tǒng)一管理。因此,設(shè)計(jì)一種畢業(yè)設(shè)計(jì)綜合管理系統(tǒng)是各大高校論文管理工作所向往發(fā)展的一項(xiàng)任務(wù),也是各院校教學(xué)發(fā)展的主要趨勢(shì)。目前在國(guó)內(nèi)外雖然有很多像這種類(lèi)似的系統(tǒng)和軟件,然而真正應(yīng)用到各大高校和院校的卻少之又少。針對(duì)各大高校及院校的基本需求和要求,一個(gè)好的畢業(yè)設(shè)計(jì)管理系統(tǒng)必須操作比較簡(jiǎn)單,功能比較完善,能夠很好的向?qū)W生及老師展示其優(yōu)點(diǎn)。1.3論文結(jié)構(gòu)第一章是論文的緒論部分,主要介紹了課題的研究背景以及研究目的和意義。第二章研究了畢業(yè)設(shè)計(jì)管理系統(tǒng)的所采用的開(kāi)發(fā)技術(shù)和開(kāi)發(fā)工具。第三章研究實(shí)驗(yàn)室管理系統(tǒng)的需求分析。根據(jù)系統(tǒng)的特點(diǎn),分析了系統(tǒng)結(jié)構(gòu)和系統(tǒng)采用的開(kāi)發(fā)方法,以及系統(tǒng)的運(yùn)行環(huán)境,分析了業(yè)務(wù)流程,繪制了業(yè)務(wù)流程和數(shù)據(jù)流程。第四章是對(duì)系統(tǒng)的詳細(xì)設(shè)計(jì)進(jìn)行說(shuō)明。第五章是系統(tǒng)的具體實(shí)現(xiàn),介紹系統(tǒng)的各個(gè)模塊的具體實(shí)現(xiàn)。第六章在前幾章的基礎(chǔ)上對(duì)系統(tǒng)進(jìn)行測(cè)試和運(yùn)行。最后對(duì)系統(tǒng)進(jìn)行了認(rèn)真的總結(jié),以此對(duì)未來(lái)有一個(gè)新的展望。第2章主要技術(shù)和工具介紹2.1jsp腳本語(yǔ)言JSP是一種跨平臺(tái)的網(wǎng)頁(yè)技術(shù),最終實(shí)現(xiàn)網(wǎng)頁(yè)的動(dòng)態(tài)效果,與ASP技術(shù)類(lèi)似,都是在HTML中混合一些程序的相關(guān)代碼,運(yùn)用語(yǔ)言引擎來(lái)執(zhí)行代碼,JSP能夠?qū)崿F(xiàn)與用戶的交互,方便用戶的使用[3]。JSP技術(shù)具有諸多優(yōu)點(diǎn),由于JSP是基于Java的,所以具有了Java的最大優(yōu)點(diǎn)??梢院雎运褂玫钠脚_(tái),實(shí)現(xiàn)僅需一次編寫(xiě)就能夠到處運(yùn)行使用,而且還具有很好的安全性和多平臺(tái)支持的特性,能夠在任何平臺(tái)的任何環(huán)境中進(jìn)行開(kāi)發(fā),進(jìn)行系統(tǒng)部署和環(huán)境擴(kuò)展。它也有屬于自己的功能強(qiáng)大的開(kāi)發(fā)工具的支持,并且可以通過(guò)很多渠道免費(fèi)得到,這就為JSP技術(shù)的傳播也準(zhǔn)備了條件[4]。與微軟公司的ASP技術(shù)相比,JSP具有如下優(yōu)點(diǎn):(1)開(kāi)放的技術(shù):JSP技術(shù)基于平臺(tái)和服務(wù)器的相互獨(dú)立,技術(shù)支持來(lái)自廣泛的、專(zhuān)門(mén)的、各種工具包,有服務(wù)器的組件和數(shù)據(jù)庫(kù)產(chǎn)品開(kāi)發(fā)商提供。相比之下,ASP技術(shù)主要依賴(lài)MICROSOFT支持[5]。(2)平臺(tái)和服務(wù)器的獨(dú)立性:JSP編寫(xiě)的代碼可運(yùn)行在任何符合JAVA語(yǔ)法結(jié)構(gòu)的環(huán)境中。這樣JSP就能夠運(yùn)行在多種WEB服務(wù)器上并支持來(lái)自多家開(kāi)發(fā)商提供的各種工具包[6]。(3)開(kāi)放的開(kāi)發(fā)過(guò)程,開(kāi)放的源碼:自1995年以來(lái),SUN用開(kāi)放過(guò)程方法同國(guó)際JAVA組織合作開(kāi)發(fā)和修改JAVA技術(shù)和規(guī)范。(4)JSP標(biāo)記可擴(kuò)充性:JSP技術(shù)能夠?yàn)殚_(kāi)發(fā)者擴(kuò)展JSP標(biāo)記,充分利用與XML兼容的標(biāo)記技術(shù)強(qiáng)大的功能,大大減少對(duì)腳本語(yǔ)言的依賴(lài)。(5)JSP跨平臺(tái)的可重用性:JSP組件(EJB,JavaBean或定制的JSP標(biāo)記)都是跨平臺(tái)可重用的[7][8]。2.2Mysql數(shù)據(jù)庫(kù)MySQL是PHP的最佳搭檔,是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)[9][10]。MySQL有如下特點(diǎn):1.MySQL是一種關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。2.MySQL是開(kāi)源的。3.MySQL服務(wù)器是一種快速的、可靠的和易于使用的數(shù)據(jù)庫(kù)服務(wù)器。4.MySQL可運(yùn)行在不同的操作系統(tǒng)下,可以支持Windows95/98/NT/2000以及Unix、Linux等多種操作系統(tǒng)平臺(tái)。5.MySQL支持大型的數(shù)據(jù)庫(kù)。雖然對(duì)于用PHP編寫(xiě)的網(wǎng)頁(yè)來(lái)說(shuō)只要能夠存放上百條以上的記錄數(shù)據(jù)就足夠了,但MySQL數(shù)據(jù)庫(kù)可以方便地支持上千萬(wàn)條記錄。6.MySQL服務(wù)器工作在客戶/服務(wù)器或嵌入系統(tǒng)中[11]。2.3B/S結(jié)構(gòu)B/S模式也就是瀏覽器/服務(wù)器模式,它的界面部分是在瀏覽器端展示,而主要工作是由服務(wù)器端進(jìn)行實(shí)現(xiàn)的,用戶的請(qǐng)求由瀏覽器端提交給服務(wù)器端進(jìn)行處理,而服務(wù)器將處理結(jié)果反饋給瀏覽器端,在瀏覽器端界面描畫(huà)給用戶查看。采用B/S模式不僅可以避免用戶必須安裝專(zhuān)業(yè)軟件才能開(kāi)發(fā)系統(tǒng)或者訪問(wèn)系統(tǒng)的局限性,而且更加便利[12]。2.4MVC模式MVC是一個(gè)框架模式,有三個(gè)核心部件,即模型(Model)、視圖(View)和控制器(Controller)。模型表示應(yīng)用程序核心,視圖表示顯示數(shù)據(jù),控制器表示處理輸入。它們各自處理自己的任務(wù),將業(yè)務(wù)邏輯和數(shù)據(jù)顯示分離,便于代碼的重用[13]。2.5SSM框架市面上J2EE的開(kāi)源框架層出不窮,本系統(tǒng)采用近期比較流行的SSM的框架組合,即SpringMVC4.2.3+Spring4.2.3+Mybatis3.4.1的框架組合,、其中Mybatis和Hibernate都是操作數(shù)據(jù)庫(kù)的框架,同時(shí)使用是因?yàn)镸ybatis查詢效率高,而Hibernate由于其ORM特性,對(duì)更新修改操作很方便。具體采用技術(shù)框架描述如下:(1)SpringMVCSpringMVC是一種實(shí)現(xiàn)了MVC設(shè)計(jì)模式的輕量級(jí)Web框架,大大簡(jiǎn)化了開(kāi)發(fā)人員的日常Web開(kāi)發(fā),選擇SpringMVC還有一個(gè)原因,就是SpringMVC對(duì)Ajax的支持非常好。(2)SpringSpring是一個(gè)全方位的應(yīng)用程序框架,一般用Spring來(lái)整合整個(gè)應(yīng)用程序,同時(shí)它也可以很輕松的用來(lái)整合其它各種框架,包括Mybatis、Hibernate等。(3)MybatisMyBatis是優(yōu)秀的持久層框架,它可以通過(guò)配置xml或注解的方式來(lái)定制SQL,然后將接口和Java的實(shí)體對(duì)象映射成數(shù)據(jù)庫(kù)中的記錄[14]。2.6tomcat服務(wù)器概述Tomcat屬于著名的Apache工程組下的一個(gè)獨(dú)立項(xiàng)目組jakarta,該項(xiàng)目組和Java領(lǐng)導(dǎo)者Sun公司合作共同致力于Servlet/JSP服務(wù)技術(shù)的開(kāi)發(fā)。雖然目前Tomcat不是性能最好的Servlet/JSP服務(wù)器,但是由于它的開(kāi)發(fā)者具有深厚的技術(shù)背景,加上該項(xiàng)目本身非?;钴S。同時(shí)Tomcat屬于開(kāi)放源代碼項(xiàng)目產(chǎn)品,可以使我們有機(jī)會(huì)更深入的了解和使用[15]。第3章系統(tǒng)分析3.1可行性分析本次畢業(yè)設(shè)計(jì)基于B/S模式下,運(yùn)用Java、SSM框架采用的是Mysql數(shù)據(jù)庫(kù)和Myeclipse實(shí)現(xiàn),總體的可行性共分為以下三個(gè)方面。3.1.1技術(shù)可行性采用的是當(dāng)下流行的JAVA語(yǔ)言,SSM框架,它具有如下優(yōu)點(diǎn)。強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無(wú)數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。JSP可以使用成熟的JAVABEANS組件來(lái)實(shí)現(xiàn)復(fù)雜功能。3.1.2經(jīng)濟(jì)可行性畢業(yè)設(shè)計(jì)管理系統(tǒng)采用的插件都是開(kāi)源免費(fèi)的,開(kāi)發(fā)工具,Myeclipse,以及數(shù)據(jù)庫(kù)是Mysql皆是開(kāi)源免費(fèi)的,服務(wù)器采用tomcat,也是當(dāng)下流行的開(kāi)發(fā)所用的服務(wù)器,因?yàn)槎际情_(kāi)源免費(fèi)的,所以在開(kāi)發(fā)前期,開(kāi)發(fā)時(shí)用于項(xiàng)目的經(jīng)費(fèi)將會(huì)大大降低,不會(huì)讓開(kāi)發(fā)該軟件在項(xiàng)目啟動(dòng)期受到經(jīng)費(fèi)的影響,所以經(jīng)濟(jì)上還是可行的。盡量用最少的花費(fèi)去滿足用戶的需求。省下經(jīng)費(fèi)用于人工費(fèi),以及設(shè)備費(fèi)用。將在無(wú)紙化,高效率的道路上越走越遠(yuǎn)。3.1.3操作可行性本系統(tǒng)實(shí)現(xiàn)功能的操作很簡(jiǎn)單,普通電腦的常見(jiàn)配置就可以運(yùn)行本軟件,并且只要粗通電腦使用的基本常識(shí)就可以流暢的使用本軟件。電腦具備連接互聯(lián)網(wǎng)的能力,并且可以正常訪問(wèn)系統(tǒng),并不需要操作者有什么高超的能力,只需了解業(yè)務(wù)流程,并且按照專(zhuān)業(yè)知識(shí)進(jìn)行正確操作即可,所以畢業(yè)設(shè)計(jì)管理系統(tǒng)具備操作可行性。3.2需求分析一個(gè)系統(tǒng)的開(kāi)發(fā)至關(guān)重要的一點(diǎn)就在于對(duì)需求的分析。在研究調(diào)查的基礎(chǔ)之上,對(duì)所開(kāi)發(fā)的系統(tǒng)功能進(jìn)行的詳細(xì)分析總結(jié),從而設(shè)計(jì)出完整的系統(tǒng)并將其實(shí)現(xiàn)。用戶和開(kāi)發(fā)人員的交流分析,使其達(dá)到最佳理解程度,使系統(tǒng)功能達(dá)到最佳。下面分別簡(jiǎn)單闡述一下這幾個(gè)功能模塊需求。登錄:登錄功能主要分為用戶登錄用戶子系統(tǒng)和管理員登錄管理子系統(tǒng)兩部分內(nèi)容,用戶在用戶子系統(tǒng)登錄頁(yè)面進(jìn)行登錄,系統(tǒng)將用戶填寫(xiě)的登錄信息與用戶已存在的用戶名和密碼進(jìn)行驗(yàn)證,驗(yàn)證通過(guò)則登錄成功。個(gè)人資料管理:用戶可以根據(jù)自己當(dāng)前的情況修改個(gè)人的信息。開(kāi)題管理:添加開(kāi)題記錄:用戶添加開(kāi)題記錄;編輯開(kāi)題記錄:用戶修改開(kāi)題記錄信息;刪除開(kāi)題記錄:用戶刪除開(kāi)題記錄;查詢開(kāi)題記錄:用戶查詢個(gè)人開(kāi)題記錄;開(kāi)題記錄審核:管理員給用戶添加的開(kāi)題進(jìn)行審核。導(dǎo)師選擇管理:對(duì)導(dǎo)師的選擇,完成選擇記錄的錄入、刪除、修改,同時(shí)維護(hù)選擇記錄。論文管理:添加論文信息:學(xué)生添加論文信息;編輯論文信息:學(xué)生修改論文信息;刪除論文信息:學(xué)生刪除論文信息;查詢論文信息:學(xué)生查詢論文信息。通知管理:添加通知信息:管理員添加通知信息;編輯通知信息:管理員修改通知信息;刪除通知信息:管理員刪除通知信息;查詢通知信息:管理員查詢通知信息。3.3業(yè)務(wù)流程分析業(yè)務(wù)流程圖是一種物理模型,它描述系統(tǒng)內(nèi)部各單位與人員之間的業(yè)務(wù)關(guān)系和管理信息的流向。系統(tǒng)的業(yè)務(wù)流程如下圖所示。圖3-1系統(tǒng)業(yè)務(wù)流程圖第4章系統(tǒng)設(shè)計(jì)4.1整體架構(gòu)系統(tǒng)整體采用分層架構(gòu),分層就是要把界面部分、業(yè)務(wù)邏輯部分、數(shù)據(jù)庫(kù)訪問(wèn)部分的代碼放在各自獨(dú)立的方法或類(lèi)中編寫(xiě),減少代碼之間的聯(lián)系,分層設(shè)計(jì)思想已經(jīng)成為開(kāi)發(fā)軟件的主流思想。SSM框架是springMVC,spring和mybatis框架的整合,是標(biāo)準(zhǔn)的MVC模式,將整個(gè)系統(tǒng)劃分為表現(xiàn)層,controller層,service層,DAO層四層,使用springMVC負(fù)責(zé)請(qǐng)求的轉(zhuǎn)發(fā)和視圖管理,spring實(shí)現(xiàn)業(yè)務(wù)對(duì)象管理,mybatis作為數(shù)據(jù)對(duì)象的持久化引擎。SSM框架的工作原理如下:1.客戶端發(fā)送請(qǐng)求到DispacherServlet(分發(fā)器)。2.由DispacherServlet控制器查詢HanderMapping,找到處理請(qǐng)求的Controller。3.Controller調(diào)用業(yè)務(wù)邏輯處理后,返回ModelAndView。4.DispacherSerclet查詢視圖解析器,找到ModelAndView指定的視圖。5.視圖負(fù)責(zé)將結(jié)果顯示到客戶端。6.IOC容器可以裝載bean(也就是Java中的類(lèi),當(dāng)然也包括servicedao里面的),有了這個(gè)機(jī)制,就不用在每次使用這個(gè)類(lèi)的時(shí)候?yàn)樗跏蓟?,很少看到關(guān)鍵字new。另外spring的aop,事務(wù)管理等等都是我們經(jīng)常用到的。7.mybatis是對(duì)jdbc的封裝,它讓數(shù)據(jù)庫(kù)底層操作變的透明。mybatis的操作都是圍繞一個(gè)sqlSessionFactory實(shí)例展開(kāi)的。mybatis通過(guò)配置文件關(guān)聯(lián)到各實(shí)體類(lèi)的Mapper文件,Mapper文件中配置了每個(gè)類(lèi)對(duì)數(shù)據(jù)庫(kù)所需進(jìn)行的sql語(yǔ)句映射。在每次與數(shù)據(jù)庫(kù)交互時(shí),通過(guò)sqlSessionFactory拿到一個(gè)sqlSession,再執(zhí)行sql命令。其構(gòu)建圖如下圖所示。圖4-1整體架構(gòu)4.2系統(tǒng)結(jié)構(gòu)設(shè)計(jì)本系統(tǒng)使用的角色主要有系統(tǒng)管理員、教師、學(xué)生,學(xué)生可以登錄個(gè)人中心進(jìn)行學(xué)生資料管理、教師查詢、公告查詢、導(dǎo)師選擇、開(kāi)題上交、論文上交、通知查詢等功能。以管理員的身份在登錄頁(yè)面輸入賬號(hào)和密碼,經(jīng)過(guò)數(shù)據(jù)庫(kù)身份驗(yàn)證,驗(yàn)證成功后登錄系統(tǒng)主頁(yè),可以使用教師信息管理(教師信息錄入、刪除、修改)、學(xué)生信息管理(學(xué)生信息錄入、刪除、修改)、公告信息管理(公告信息錄入、刪除、修改)、通知管理(通知信息錄入、刪除、修改)、系統(tǒng)管理(系統(tǒng)用戶錄入、刪除、修改)等功能操作。同時(shí)管理員可以通過(guò)關(guān)鍵字搜索可以搜索相應(yīng)的信息,打印各種詳細(xì)信息,導(dǎo)出各類(lèi)信息列表至excel中。系統(tǒng)的功能結(jié)構(gòu)圖如下圖所示。圖4-2系統(tǒng)功能結(jié)構(gòu)圖4.3功能模塊設(shè)計(jì)用戶管理模塊:該模塊包括學(xué)生管理和系統(tǒng)用戶管理,系統(tǒng)用戶主要是普通管理員,對(duì)用戶信息進(jìn)行管理,只有學(xué)生才可在該系統(tǒng)上進(jìn)行相應(yīng)的操作。用戶對(duì)個(gè)人信息可進(jìn)行修改;管理員可對(duì)自己的個(gè)人信息進(jìn)行維護(hù),同時(shí)可對(duì)用戶的密碼信息進(jìn)行修改,也可刪除系統(tǒng)中的用戶。論文信息管理模塊論文信息管理模塊主要實(shí)現(xiàn)了學(xué)生可以在系統(tǒng)中添加論文信息,也可以修改系統(tǒng)中已有的論文信息,同時(shí)可查看論文信息和搜索論文信息。選擇導(dǎo)師模塊學(xué)生查詢導(dǎo)師信息,選擇導(dǎo)師進(jìn)入該導(dǎo)師的詳細(xì)頁(yè)面,點(diǎn)擊選擇按鈕,填寫(xiě)選擇表單,添加選擇記錄。選擇管理模塊學(xué)生選擇導(dǎo)師模塊主要實(shí)現(xiàn)的是對(duì)導(dǎo)師的選擇功能,同時(shí)可查看自己的選擇記錄,并對(duì)選擇可進(jìn)行取消選擇操作。管理員登錄系統(tǒng)后,可查看學(xué)生的選擇信息,也可搜索選擇信息,同時(shí)可對(duì)選擇信息進(jìn)行確認(rèn)或刪除的操作。導(dǎo)師管理模塊管理員點(diǎn)擊導(dǎo)師管理菜單,點(diǎn)擊導(dǎo)師添加子菜單,添加導(dǎo)師信息,添加成功后,該導(dǎo)師信息將顯示給學(xué)生查看。開(kāi)題管理模塊學(xué)生點(diǎn)擊開(kāi)題管理菜單,點(diǎn)擊開(kāi)題添加子菜單,添加開(kāi)題信息,添加成功后,管理員審核該開(kāi)題,審核成功后,該開(kāi)題信息將顯示給學(xué)生查看。打印和導(dǎo)出模塊系統(tǒng)多個(gè)頁(yè)面可以進(jìn)行打印功能,包括信息詳細(xì)頁(yè),信息列表頁(yè),打印時(shí)調(diào)用外部打印機(jī),完成打印設(shè)置即可打印,在信息列表頁(yè)可以將該信息列表導(dǎo)出至excel中,用戶選擇保存excel文件的路徑,既可以下載至本地,在excel中可以自由編輯。4.4系統(tǒng)安全設(shè)計(jì)畢業(yè)設(shè)計(jì)管理系統(tǒng)才為了防止被暴力登錄,設(shè)置了登錄驗(yàn)證碼功能。除此之外,為了保證數(shù)據(jù)的安全性,用戶密碼被加密后存入系統(tǒng)數(shù)據(jù)庫(kù)中,此外數(shù)據(jù)庫(kù)采用的是Mysql相對(duì)穩(wěn)定,數(shù)據(jù)通過(guò)人工備份的方式進(jìn)行定期備份。系統(tǒng)整體上數(shù)據(jù)業(yè)務(wù)邏輯前臺(tái)頁(yè)面做到了很好的分離,這也是能夠相對(duì)保證安全。4.5表單字段校驗(yàn)處理設(shè)計(jì)1.出錯(cuò)信息類(lèi)型出錯(cuò)信息類(lèi)型包括:A未輸入必填項(xiàng);B應(yīng)輸入合法字符或數(shù)字卻輸入非法字符或數(shù)字;C對(duì)空數(shù)據(jù)表進(jìn)行更改或刪除操作;D向要求唯一值的關(guān)鍵字段添加重復(fù)值。2.出錯(cuò)處理對(duì)策對(duì)于錯(cuò)誤A,系統(tǒng)要求用戶輸入非空值。對(duì)于錯(cuò)誤B,系統(tǒng)要求用戶輸入合法字符。對(duì)于錯(cuò)誤C,系統(tǒng)提示數(shù)據(jù)表無(wú)記錄可更改或刪除。對(duì)于錯(cuò)誤D,系統(tǒng)要求用戶輸入非重復(fù)值。4.6系統(tǒng)維護(hù)設(shè)計(jì)畢業(yè)設(shè)計(jì)管理系統(tǒng)是個(gè)現(xiàn)代化的高度集成的綜合信息系統(tǒng),系統(tǒng)主要服務(wù)對(duì)象為用戶,最大化在頁(yè)面中提供多的信息,因此在系統(tǒng)維護(hù)上,數(shù)據(jù)量較大,整體的維護(hù)設(shè)計(jì)如下:(1)代碼的維護(hù):部署在云服務(wù)器上或本地服務(wù)器,通過(guò)SVN或FTP保持版本更新迭代。(2)功能增加:功能升級(jí)在必要的前提下。(3)數(shù)據(jù)維護(hù):根據(jù)安全性等需求,定期對(duì)數(shù)據(jù)庫(kù)進(jìn)行人工備份。4.7數(shù)據(jù)庫(kù)設(shè)計(jì)4.7.1數(shù)據(jù)庫(kù)設(shè)計(jì)概述數(shù)據(jù)庫(kù)的設(shè)計(jì)在整個(gè)系統(tǒng)開(kāi)發(fā)的過(guò)程中扮演者關(guān)鍵的角色,前期考慮不全面修改數(shù)據(jù)庫(kù)有可能整個(gè)系統(tǒng)都要重新開(kāi)發(fā),所以數(shù)據(jù)庫(kù)的設(shè)計(jì)不容忽視。數(shù)據(jù)庫(kù)具有完整性和一致性,并且數(shù)據(jù)庫(kù)的響應(yīng)速度非常的快。在畢業(yè)設(shè)計(jì)管理系統(tǒng)中,設(shè)計(jì)數(shù)據(jù)庫(kù)表的各個(gè)字段,確定表和表之間的關(guān)聯(lián)關(guān)系,在后期的開(kāi)發(fā)中盡量減少改動(dòng)數(shù)據(jù)庫(kù),提高開(kāi)發(fā)效率。4.7.2概念設(shè)計(jì)數(shù)據(jù)庫(kù)的前期設(shè)計(jì)最關(guān)鍵的步驟是概念結(jié)構(gòu)的設(shè)計(jì),是數(shù)據(jù)模型的概念信息。將需求分析抽象為信息世界的結(jié)構(gòu),才能更好更準(zhǔn)確的使用數(shù)據(jù)庫(kù)管理系統(tǒng)。其設(shè)計(jì)具有以下兩點(diǎn)優(yōu)勢(shì):(1)能夠體現(xiàn)事物之間的關(guān)聯(lián)關(guān),滿足用戶對(duì)數(shù)據(jù)的處理要求。(2)易于理解、更改,用戶的積極參與是數(shù)據(jù)庫(kù)設(shè)計(jì)成功的關(guān)鍵。(3)描述概念模型最有力的工具就是E-R模型,使用E-R圖可以清楚的指導(dǎo)各實(shí)體之間的聯(lián)系,它有三個(gè)關(guān)鍵的元素,即實(shí)體、屬性和聯(lián)系。系統(tǒng)總體ER圖如下圖所示。圖4-3系統(tǒng)總體ER圖4.7.3邏輯設(shè)計(jì)數(shù)據(jù)庫(kù)的概念模型轉(zhuǎn)換成邏輯模型又稱(chēng)邏輯設(shè)計(jì),通俗的講就是實(shí)體圖轉(zhuǎn)化成以關(guān)系模式、層次模式表現(xiàn)出來(lái)的形式。畢業(yè)設(shè)計(jì)管理系統(tǒng)的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)如下。管理員用戶信息(序號(hào)、用戶名、密碼、權(quán)限、添加時(shí)間)學(xué)生信息(學(xué)號(hào)、密碼、姓名、性別、年齡、聯(lián)系方式、照片、備注)教師信息(工號(hào)、密碼、姓名、性別、年齡、聯(lián)系方式、照片、備注、可選人數(shù)、已選人數(shù))開(kāi)題信息(工號(hào)、姓名、性別、開(kāi)題名稱(chēng)、開(kāi)題報(bào)告、提交時(shí)間、學(xué)生、備注)論文信息(工號(hào)、姓名、性別、開(kāi)題名稱(chēng)、學(xué)生、論文)4.7.3物理設(shè)計(jì)數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)設(shè)計(jì),就是在數(shù)據(jù)庫(kù)中創(chuàng)建表設(shè)置表的屬性和大小等等,建立表和表之間的關(guān)聯(lián)關(guān)系。本系統(tǒng)所使用的部分?jǐn)?shù)據(jù)表結(jié)構(gòu)如下。allusers表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt410

2username150255

3pwd150255

4cx150255

5addtimeDateTime819

gonggaoxinxi表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt410

2gonggaomingcheng150255

3neirong255255

4fabushijian150255

5faburen150255

6addtimeDateTime819

jiaoshixinxi表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt410

2gonghao150255

3mima150255

4xingming150255

5xingbie150255

6nianling150255

7lianxifangshi150255

8zhaopian150255

9beizhu255255

10kexuanrenshu150255

11yixuanrenshu150255

12addtimeDateTime819

kaitixinxi表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt410

2gonghao150255

3xingming150255

4xingbie150255

5kaitimingcheng150255

6kaitibaogao150255

7zhuangtai150255

8tijiaoshijianDateTime819

9xuesheng150255

10beizhu255255

11addtimeDateTime819

tijiaolunwen表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt410

2gonghao150255

3xingming150255

4xingbie150255

5kaitimingcheng150255

6xuesheng150255

7lunwen150255

8pingshen150255

9dengji150255

10issh30255

11addtimeDateTime819

tongzhi表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt410

2faburen150255

3tongzhineirong255255

4jieshouren150255

5addtimeDateTime819

xuanzedaoshi表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt410

2gonghao150255

3xingming150255

4xingbie150255

5kexuanrenshu150255

6yixuanrenshu150255

7xuesheng150255

8lianxifangshi150255

9beizhu255255

10issh30255

11addtimeDateTime819

xueshengxinxi表:序號(hào)字段名稱(chēng)字段類(lèi)型大小允許為空最大長(zhǎng)度備注1idInt410

2xuehao150255

3mima150255

4xingming150255

5xingbie150255

6nianling150255

7lianxifangshi150255

8zhaopian150255

9beizhu255255

10addtimeDateTime819

第5章系統(tǒng)實(shí)現(xiàn)5.1登錄模塊的實(shí)現(xiàn)系統(tǒng)的登錄窗口是用戶的入口,用戶只有在登錄成功后才可以進(jìn)入訪問(wèn)。通過(guò)在登錄提交表單,后臺(tái)處理判斷是否為合法用戶,進(jìn)行頁(yè)面跳轉(zhuǎn),進(jìn)入系統(tǒng)中去。登錄合法性判斷過(guò)程:用戶輸入賬號(hào)和密碼后,系統(tǒng)首先確定輸入輸入數(shù)據(jù)合法性,其不能為空,然后調(diào)用數(shù)據(jù)庫(kù)查找alluser表中數(shù)據(jù),進(jìn)行匹配查看此賬號(hào)是否存在和密碼是否正確。在主頁(yè)中切入登錄窗口頁(yè)面,調(diào)用設(shè)計(jì)好的CSS、JS和IMAGES等文件對(duì)頁(yè)面進(jìn)行整體設(shè)計(jì),創(chuàng)建表單,在login.jsp頁(yè)面發(fā)送登錄請(qǐng)求,通過(guò)applicationContext.xmll文件來(lái)指定所要執(zhí)行的DispacherServlet分發(fā)器,分發(fā)器找到控制層下的hsgloginController文件。當(dāng)系統(tǒng)判定賬號(hào)密碼都正確,系統(tǒng)會(huì)跳轉(zhuǎn)到系統(tǒng)的首頁(yè)。用戶登錄模塊的IPO如下所示:輸入:用戶名和密碼。處理:1)檢驗(yàn)用戶是否滿足輸入的要求,即檢驗(yàn)用戶名和密碼文本框是否為空,若為空,則提示用戶輸入用戶名和密碼。2)檢驗(yàn)是否存在用戶輸入的用戶名,并且密碼是否正確。3)從數(shù)據(jù)庫(kù)中提取記錄,并儲(chǔ)存在本地的session中(timeout默認(rèn)=30min)。4)根據(jù)用戶名,將其顯示在系統(tǒng)首頁(yè)上。5)關(guān)閉窗口。輸出:是否成功的信息。登錄流程圖如下所示。圖5-1登錄流程圖系統(tǒng)登錄界面如下所示。圖5-2系統(tǒng)登錄用戶登錄的邏輯代碼如下:@RequestMapping("hsglogin.do") publicStringcheckAllusersLogin(Allusersallusers,HttpSessionsession){ Map<String,Object>u=newHashMap<String,Object>(); System.out.println("name==="+allusers.getUsername()); u.put("username",allusers.getUsername()); //u.put("utype","用戶"); //Md5.MD5HexEncode(user.getPassword()) u.put("pwd",allusers.getPwd()); allusers=allusersService.allusersLogin(u); if(allusers!=null){ session.setAttribute("username",allusers); System.out.println("username="+allusers); session.removeAttribute("suc"); return"redirect:index.do"; }else{ System.out.println("usernafwfwwme="); session.setAttribute("suc","登錄失?。∮脩裘蛎艽a錯(cuò)誤!"); return"login"; }5.2用戶子系統(tǒng)模塊的實(shí)現(xiàn)5.2.1用戶首頁(yè)的實(shí)現(xiàn)本系統(tǒng)的首頁(yè)使用多個(gè)jsp頁(yè)面組成,通過(guò)設(shè)置頁(yè)面的長(zhǎng)度和高度限制顯示區(qū)域的大小,整個(gè)系統(tǒng)首頁(yè)以圖片為背景。在一個(gè)jsp頁(yè)面中,使用css指定字體大小和字體類(lèi)型以及其位置,水平排列菜單欄,通過(guò)設(shè)置超鏈接的樣式去掉下劃線和鼠標(biāo)移動(dòng)到該選項(xiàng)時(shí)變顏色等等,編寫(xiě)javascript腳本在導(dǎo)航欄顯示系統(tǒng)的當(dāng)前日期,首先定義一個(gè)數(shù)組d存放周一至周日,創(chuàng)建一個(gè)獲取時(shí)間的對(duì)象time后通過(guò)該對(duì)象的方法獲取年月日,(time.getDay())%7計(jì)算得到的結(jié)果是數(shù)組的下標(biāo),通過(guò)數(shù)組下標(biāo)就獲取了數(shù)組的值,利用字符竄連接把年月日和星期轉(zhuǎn)換成字符竄,通過(guò)document.getElementById("date")獲取標(biāo)簽后使用innerHTML把該字符竄顯示在jsp頁(yè)面。利用<jsp:include></jsp:include>標(biāo)簽包含設(shè)計(jì)好的頭部和左邊部分的網(wǎng)頁(yè)。如下圖所示為系統(tǒng)的首頁(yè)界面。圖5-3系統(tǒng)首頁(yè)其中載入前臺(tái)頁(yè)面的主要代碼如下:<td><%@includefile="qttop.jsp"%></td><td><%@includefile="qtleft.jsp"%></td><td><%@includefile="qtdown.jsp"%></td>5.2.2導(dǎo)師選擇模塊的實(shí)現(xiàn)學(xué)生點(diǎn)擊某個(gè)導(dǎo)師點(diǎn)進(jìn)入導(dǎo)師詳細(xì)頁(yè),使用getmap(id,"xinxi"),通過(guò)導(dǎo)師ID得到導(dǎo)師信息,將導(dǎo)師信息賦值給選擇信息,添加選擇則發(fā)出名為daoshixuanze_add.jsp的action請(qǐng)求,找到DaoshixuanzeController控制層的addDaoshixuanze()方法,然后調(diào)用業(yè)務(wù)邏輯層下的daoshixuanzeService類(lèi),將選擇內(nèi)容插入選擇表中。導(dǎo)師選擇流程圖如下所示。圖5-12導(dǎo)師選擇流程圖導(dǎo)師選擇界面如圖所示。圖5-13導(dǎo)師選擇選擇管理界面如圖所示。圖5-14選擇管理選擇添加關(guān)鍵代碼為:@RequestMapping("addDaoshixuanze.do") publicStringaddDaoshixuanze(HttpServletRequestrequest,Daoshixuanzedaoshixuanze,HttpSessionsession)throwsSQLException{ Timestamptime=newTimestamp(System.currentTimeMillis()); daoshixuanze.setAddtime(time.toString().substring(0,19)); daoshixuanzeService.add(daoshixuanze); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl",request.getHeader("Referer")); //session.setAttribute("backurl","daoshixuanzeList.do"); return"redirect:postback.jsp"; //return"redirect:daoshixuanzeList.do"; }5.2.3論文上交模塊的實(shí)現(xiàn)學(xué)生點(diǎn)擊某個(gè)開(kāi)題點(diǎn)進(jìn)入開(kāi)題詳細(xì)頁(yè),使用getmap(id,"xinxi"),通過(guò)開(kāi)題ID得到開(kāi)題信息,將開(kāi)題信息賦值給論文信息,調(diào)添加論文則發(fā)出名為yuyuejilu_add.jsp的action請(qǐng)求,找到Y(jié)uyuejiluController控制層的addYuyuejilu()方法,然后調(diào)用業(yè)務(wù)邏輯層下的yuyuejiluService類(lèi),將論文內(nèi)容插入論文表中。成功論文后,教師管理學(xué)生的論文信息,審核論文信息。論文上交界面如圖所示。圖5-15論文上交論文管理界面如圖所示。圖5-16論文管理論文添加關(guān)鍵代碼為:@RequestMapping("addYuyuejilu.do") publicStringaddYuyuejilu(HttpServletRequestrequest,Yuyuejiluyuyuejilu,HttpSessionsession)throwsSQLException{ Timestamptime=newTimestamp(System.currentTimeMillis()); yuyuejilu.setAddtime(time.toString().substring(0,19)); yuyuejiluService.add(yuyuejilu); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl",request.getHeader("Referer")); //session.setAttribute("backurl","yuyuejiluList.do"); return"redirect:postback.jsp"; //return"redirect:yuyuejiluList.do"; }5.2.4開(kāi)題模塊的實(shí)現(xiàn)用戶發(fā)布開(kāi)題,可以進(jìn)行新增、查看、修改以及刪除等相應(yīng)的開(kāi)題管理操作。當(dāng)點(diǎn)擊"新增開(kāi)題"的按鈕時(shí),在開(kāi)題添加界面進(jìn)行詳細(xì)信息的添加操作。當(dāng)點(diǎn)擊"查看開(kāi)題"超級(jí)鏈接時(shí),會(huì)顯示所選的開(kāi)題的信息,然后點(diǎn)擊"返回"再返回到其主頁(yè)面。開(kāi)題新增界面如圖所示。圖5-15開(kāi)題新增開(kāi)題管理界面如圖所示。圖5-16開(kāi)題管理開(kāi)題添加關(guān)鍵代碼為:@RequestMapping("addXindexinxi.do") publicStringaddXindexinxi(HttpServletRequestrequest,Xindexinxixindexinxi,HttpSessionsession)throwsSQLException{ Timestamptime=newTimestamp(System.currentTimeMillis()); xindexinxi.setAddtime(time.toString().substring(0,19)); xindexinxiService.add(xindexinxi); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl",request.getHeader("Referer")); //session.setAttribute("backurl","xindexinxiList.do"); return"redirect:postback.jsp"; //return"redirect:xindexinxiList.do"; }5.3管理員子系統(tǒng)模塊的實(shí)現(xiàn)5.3.1用戶管理模塊的實(shí)現(xiàn)用戶在yhzhgl查看用戶信息,先使用sql語(yǔ)句查詢出所有用戶表的數(shù)據(jù),然后調(diào)用PageManager.getPages(url,4,sql,request),返回一個(gè)ArrayList的對(duì)象,在for循環(huán)里,使用jsp得到每個(gè)ArrayList對(duì)象的數(shù)據(jù),然后放入頁(yè)面模板中,添加用戶則將添加的用戶數(shù)據(jù)封裝在HashMap,中然后調(diào)用action包下Action類(lèi)的insert方法將用戶內(nèi)容插入用戶表中。系統(tǒng)用戶管理界面如下圖所示。圖5-17系統(tǒng)用戶管理學(xué)生管理界面如下圖所示。圖5-18學(xué)生管理系統(tǒng)用戶管理關(guān)鍵代碼為:@RequestMapping("allusersList.do") publicStringgoodList(@RequestParam(value="page",required=false)Stringpage, ModelMapmap,HttpSessionsession,Allusersallusers,Stringusername,Stringpwd,Stringcx){ /*if(session.getAttribute("user")==null){ return"login"; }*/ if(page==null||page.equals("")){ page="1"; } PageBeanpageBean=newPageBean(Integer.parseInt(page),15); Map<String,Object>pmap=newHashMap<String,Object>(); pmap.put("pageno",pageBean.getStart()); pmap.put("pageSize",15); Map<String,Object>bmap=newHashMap<String,Object>(); Map<String,Object>cmap=newHashMap<String,Object>(); /*pmap.put("uid",((Users)session.getAttribute("user")).getId()); bmap.put("uid",((Users)session.getAttribute("user")).getId());*/ if(username==null||username.equals("")){pmap.put("username",null);cmap.put("username",null);}else{pmap.put("username",username);cmap.put("username",username);} if(pwd==null||pwd.equals("")){pmap.put("pwd",null);cmap.put("pwd",null);}else{pmap.put("pwd",pwd);cmap.put("pwd",pwd);} if(cx==null||cx.equals("")){pmap.put("cx",null);cmap.put("cx",null);}else{pmap.put("cx",cx);cmap.put("cx",cx);} inttotal=allusersService.getCount(bmap); pageBean.setTotal(total); List<Allusers>list=allusersService.getByPage(pmap); map.put("page",pageBean); map.put("list",list); session.setAttribute("p",1); return"allusers_list"; }5.3.2公告管理模塊的實(shí)現(xiàn)用戶在gonggaoxinxi_list查看公告信息,先使用sql語(yǔ)句查詢出所有公告表的數(shù)據(jù),然后調(diào)用PageManager.getPages(url,4,sql,request),返回一個(gè)ArrayList的對(duì)象,在for循環(huán)里,使用jsp得到每個(gè)ArrayList對(duì)象的數(shù)據(jù),然后放入頁(yè)面模板中。用戶點(diǎn)擊添加公告則跳轉(zhuǎn)至gonggaoxinxi_add.jsp,添加公告則將添加的公告數(shù)據(jù)封裝在HashMap,中然后調(diào)用action包下Action類(lèi)的insert方法將公告內(nèi)容插入公告表中。公告管理流程圖如下所示。圖5-21公告管理流程圖公告添加如下圖所示:圖5-22公告添加公告查詢?nèi)缦聢D所示:圖5-23公告查詢公告信息添加關(guān)鍵代碼為:@RequestMapping("addGonggaoxinxi.do") publicStringaddGonggaoxinxi(HttpServletRequestrequest,Gonggaoxinxigonggaoxinxi,HttpSessionsession)throwsSQLException{ Timestamptime=newTimestamp(System.currentTimeMillis()); gonggaoxinxi.setAddtime(time.toString().substring(0,19)); gonggaoxinxiService.add(gonggaoxinxi); session.setAttribute("backxx","添加成功"); session.setAttribute("backurl",request.getHeader("Referer")); //session.setAttribute("backurl","gonggaoxinxiList.do"); return"redirect:postback.jsp"; //return"redirect:gonggaoxinxiList.do"; }第6章系統(tǒng)測(cè)試6.1測(cè)試目的與定義在對(duì)該系統(tǒng)進(jìn)行完詳細(xì)設(shè)計(jì)和編碼之后,就要對(duì)畢業(yè)設(shè)計(jì)管理系統(tǒng)的程序進(jìn)行測(cè)試,檢測(cè)程序是否運(yùn)行無(wú)誤,反復(fù)進(jìn)行測(cè)試和修改,使之最后成為完整的軟件,滿足用戶的需求,實(shí)現(xiàn)預(yù)期的功能。6.2功能測(cè)試功能測(cè)試就是對(duì)產(chǎn)品的各功能進(jìn)行驗(yàn)證,根據(jù)功能測(cè)試用例,逐項(xiàng)檢測(cè),檢查產(chǎn)品是否達(dá)到用戶要求的功能。下面列出的測(cè)試用例是基于需求分析階段的用例描述而進(jìn)行的設(shè)計(jì)。下面將通過(guò)表格的形式介紹針對(duì)本系統(tǒng)每個(gè)功能模塊所進(jìn)行的功能測(cè)試。測(cè)試用例表如下所示。表6-1測(cè)試用例測(cè)試用例方案輸入數(shù)據(jù)預(yù)期結(jié)果測(cè)試結(jié)果用戶登錄使用已存在的用戶名和相匹配的密碼、驗(yàn)證碼登錄系統(tǒng)用戶名:zcyh密碼:zcyh驗(yàn)證碼:6066系統(tǒng)提示登錄成功,并跳轉(zhuǎn)至系統(tǒng)主頁(yè)與預(yù)期結(jié)果一致使用已存在的用戶名和不匹配的密碼、正確的驗(yàn)證碼登錄系統(tǒng)用戶名:zcyh密碼:zcyh123驗(yàn)證碼:6066系統(tǒng)提示登錄失敗,密碼錯(cuò)誤與預(yù)期結(jié)果一致使用已存在的用戶名和相匹配的密碼、不正確驗(yàn)證碼登錄系統(tǒng)用戶名:zcyh密碼:zcyh驗(yàn)證碼:6061系統(tǒng)提示登錄失敗,驗(yàn)證碼錯(cuò)誤與預(yù)期結(jié)果一致密碼修改用戶登錄系統(tǒng)后,使用原始密碼和兩次一致新密碼修改當(dāng)前的登錄密碼原始密碼:zcyh新密碼:zcyh1確認(rèn)新密碼:zcyh1系統(tǒng)提示修改密碼成功與預(yù)期結(jié)果一致原始密碼輸入錯(cuò)誤,兩次新密碼一致原始密碼:zcyh2新密碼:zcyh1確認(rèn)新密碼:zcyh1系統(tǒng)提示修改密碼失敗,原始密碼錯(cuò)誤與預(yù)期結(jié)果一致原始密碼輸入正確,兩次新密碼不一致原始密碼:zcyh新密碼:zcyh1確認(rèn)新密碼:zcyh2系統(tǒng)提示修改密碼失敗,兩次新密碼不一致與預(yù)期結(jié)果一致公告管理用戶已登錄,打開(kāi)公告添加界面,輸入公告標(biāo)題、內(nèi)容等信息公告標(biāo)題:wernziihu公告內(nèi)容:qerjzfiew系統(tǒng)提示公告添加成功,新公告成功顯示與預(yù)期結(jié)果一致用戶已登錄,打開(kāi)公告添加界面,用戶未輸入公告標(biāo)題和內(nèi)容公告標(biāo)題:公告內(nèi)容:系統(tǒng)提示公告添加失敗與預(yù)期結(jié)果一致導(dǎo)師選擇用戶已登錄,打開(kāi)導(dǎo)師選擇界面,輸入選擇人、內(nèi)容等信息選擇人:555選擇內(nèi)容:已選系統(tǒng)提示導(dǎo)師選擇成功與預(yù)期結(jié)果一致用戶已登錄,打開(kāi)導(dǎo)師選擇界面,用戶未輸入選擇人和內(nèi)容選擇人:選擇內(nèi)容:系統(tǒng)提示導(dǎo)師選擇失敗與預(yù)期結(jié)果一致6.3測(cè)試結(jié)果測(cè)試完成后,系統(tǒng)總體上已經(jīng)完成了預(yù)期的所有功能,滿足了任務(wù)書(shū)中的各項(xiàng)要求,該系統(tǒng)操作簡(jiǎn)便,界面簡(jiǎn)潔,安全性高,對(duì)用戶來(lái)說(shuō)無(wú)疑是一款非常實(shí)用的畢業(yè)設(shè)計(jì)管理系統(tǒng)。6.4測(cè)試評(píng)價(jià)軟件基本達(dá)到設(shè)計(jì)要求,功能完整,操作簡(jiǎn)便,界面簡(jiǎn)潔,安全可靠,錯(cuò)誤處理正確,且能在出錯(cuò)時(shí)提示出相對(duì)應(yīng)的錯(cuò)誤種類(lèi),然而同時(shí)在測(cè)試中也發(fā)現(xiàn)了軟件的一些不足。比如,該系統(tǒng)在用戶的數(shù)據(jù)量達(dá)到上萬(wàn)條時(shí),頁(yè)面操作會(huì)有微小的卡頓,等等一些缺陷,這些需要在軟件之后的進(jìn)一步修改和維護(hù)時(shí)進(jìn)行修改。第7章總結(jié)通過(guò)畢業(yè)設(shè)計(jì)管理系統(tǒng)的開(kāi)發(fā),本人鞏固了之前學(xué)過(guò)的知識(shí),平時(shí)所學(xué)到的知識(shí)不僅融合了,還獲得了許多其他學(xué)科上知識(shí),本人深深體會(huì)到學(xué)科之間的關(guān)聯(lián)效應(yīng)。為了完成畢業(yè)設(shè)計(jì),做了很多的準(zhǔn)備,首先,在數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)過(guò)程中,尤其是在數(shù)據(jù)庫(kù)的工作原理、工作特點(diǎn),對(duì)其深刻的討論,與此同時(shí),對(duì)于小型站點(diǎn)來(lái)說(shuō),最好服務(wù)器的選擇,其次,利用所學(xué)的知識(shí)點(diǎn)分析所做的系統(tǒng),并在此基礎(chǔ)上設(shè)計(jì)。目前本系統(tǒng)已經(jīng)上線,正在試運(yùn)行階段,用戶反饋良好,基本完成用戶所需,試運(yùn)行過(guò)程中沒(méi)有出現(xiàn)阻斷性問(wèn)題,有一些不足和小問(wèn)題也及時(shí)予以修正,系統(tǒng)上線后,為了保證數(shù)據(jù)的安全性,對(duì)系統(tǒng)進(jìn)行了備份操作,系統(tǒng)備份是每?jī)蓚€(gè)月備份一次,數(shù)據(jù)庫(kù)備份為每周備份一次,系統(tǒng)部署在租賃的云平臺(tái)服務(wù)器中。本次系統(tǒng)上線成功后,得到了用戶的高度認(rèn)

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論