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

下載本文檔

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

文檔簡介

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

2username150255

3pwd150255

4cx150255

5addtimeDateTime819

gonggaoxinxi表:序號字段名稱字段類型大小允許為空最大長度備注1idInt410

2gonggaomingcheng150255

3neirong255255

4fabushijian150255

5faburen150255

6addtimeDateTime819

jiaoshixinxi表:序號字段名稱字段類型大小允許為空最大長度備注1idInt410

2gonghao150255

3mima150255

4xingming150255

5xingbie150255

6nianling150255

7lianxifangshi150255

8zhaopian150255

9beizhu255255

10kexuanrenshu150255

11yixuanrenshu150255

12addtimeDateTime819

kaitixinxi表:序號字段名稱字段類型大小允許為空最大長度備注1idInt410

2gonghao150255

3xingming150255

4xingbie150255

5kaitimingcheng150255

6kaitibaogao150255

7zhuangtai150255

8tijiaoshijianDateTime819

9xuesheng150255

10beizhu255255

11addtimeDateTime819

tijiaolunwen表:序號字段名稱字段類型大小允許為空最大長度備注1idInt410

2gonghao150255

3xingming150255

4xingbie150255

5kaitimingcheng150255

6xuesheng150255

7lunwen150255

8pingshen150255

9dengji150255

10issh30255

11addtimeDateTime819

tongzhi表:序號字段名稱字段類型大小允許為空最大長度備注1idInt410

2faburen150255

3tongzhineirong255255

4jieshouren150255

5addtimeDateTime819

xuanzedaoshi表:序號字段名稱字段類型大小允許為空最大長度備注1idInt410

2gonghao150255

3xingming150255

4xingbie150255

5kexuanrenshu150255

6yixuanrenshu150255

7xuesheng150255

8lianxifangshi150255

9beizhu255255

10issh30255

11addtimeDateTime819

xueshengxinxi表:序號字段名稱字段類型大小允許為空最大長度備注1idInt410

2xuehao150255

3mima150255

4xingming150255

5xingbie150255

6nianling150255

7lianxifangshi150255

8zhaopian150255

9beizhu255255

10addtimeDateTime819

第5章系統(tǒng)實現(xiàn)5.1登錄模塊的實現(xiàn)系統(tǒng)的登錄窗口是用戶的入口,用戶只有在登錄成功后才可以進入訪問。通過在登錄提交表單,后臺處理判斷是否為合法用戶,進行頁面跳轉(zhuǎn),進入系統(tǒng)中去。登錄合法性判斷過程:用戶輸入賬號和密碼后,系統(tǒng)首先確定輸入輸入數(shù)據(jù)合法性,其不能為空,然后調(diào)用數(shù)據(jù)庫查找alluser表中數(shù)據(jù),進行匹配查看此賬號是否存在和密碼是否正確。在主頁中切入登錄窗口頁面,調(diào)用設(shè)計好的CSS、JS和IMAGES等文件對頁面進行整體設(shè)計,創(chuàng)建表單,在login.jsp頁面發(fā)送登錄請求,通過applicationContext.xmll文件來指定所要執(zhí)行的DispacherServlet分發(fā)器,分發(fā)器找到控制層下的hsgloginController文件。當系統(tǒng)判定賬號密碼都正確,系統(tǒng)會跳轉(zhuǎn)到系統(tǒng)的首頁。用戶登錄模塊的IPO如下所示:輸入:用戶名和密碼。處理:1)檢驗用戶是否滿足輸入的要求,即檢驗用戶名和密碼文本框是否為空,若為空,則提示用戶輸入用戶名和密碼。2)檢驗是否存在用戶輸入的用戶名,并且密碼是否正確。3)從數(shù)據(jù)庫中提取記錄,并儲存在本地的session中(timeout默認=30min)。4)根據(jù)用戶名,將其顯示在系統(tǒng)首頁上。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","登錄失敗!用戶名或密碼錯誤!"); return"login"; }5.2用戶子系統(tǒng)模塊的實現(xiàn)5.2.1用戶首頁的實現(xiàn)本系統(tǒng)的首頁使用多個jsp頁面組成,通過設(shè)置頁面的長度和高度限制顯示區(qū)域的大小,整個系統(tǒng)首頁以圖片為背景。在一個jsp頁面中,使用css指定字體大小和字體類型以及其位置,水平排列菜單欄,通過設(shè)置超鏈接的樣式去掉下劃線和鼠標移動到該選項時變顏色等等,編寫javascript腳本在導航欄顯示系統(tǒng)的當前日期,首先定義一個數(shù)組d存放周一至周日,創(chuàng)建一個獲取時間的對象time后通過該對象的方法獲取年月日,(time.getDay())%7計算得到的結(jié)果是數(shù)組的下標,通過數(shù)組下標就獲取了數(shù)組的值,利用字符竄連接把年月日和星期轉(zhuǎn)換成字符竄,通過document.getElementById("date")獲取標簽后使用innerHTML把該字符竄顯示在jsp頁面。利用<jsp:include></jsp:include>標簽包含設(shè)計好的頭部和左邊部分的網(wǎng)頁。如下圖所示為系統(tǒng)的首頁界面。圖5-3系統(tǒng)首頁其中載入前臺頁面的主要代碼如下:<td><%@includefile="qttop.jsp"%></td><td><%@includefile="qtleft.jsp"%></td><td><%@includefile="qtdown.jsp"%></td>5.2.2導師選擇模塊的實現(xiàn)學生點擊某個導師點進入導師詳細頁,使用getmap(id,"xinxi"),通過導師ID得到導師信息,將導師信息賦值給選擇信息,添加選擇則發(fā)出名為daoshixuanze_add.jsp的action請求,找到DaoshixuanzeController控制層的addDaoshixuanze()方法,然后調(diào)用業(yè)務邏輯層下的daoshixuanzeService類,將選擇內(nèi)容插入選擇表中。導師選擇流程圖如下所示。圖5-12導師選擇流程圖導師選擇界面如圖所示。圖5-13導師選擇選擇管理界面如圖所示。圖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論文上交模塊的實現(xiàn)學生點擊某個開題點進入開題詳細頁,使用getmap(id,"xinxi"),通過開題ID得到開題信息,將開題信息賦值給論文信息,調(diào)添加論文則發(fā)出名為yuyuejilu_add.jsp的action請求,找到Y(jié)uyuejiluController控制層的addYuyuejilu()方法,然后調(diào)用業(yè)務邏輯層下的yuyuejiluService類,將論文內(nèi)容插入論文表中。成功論文后,教師管理學生的論文信息,審核論文信息。論文上交界面如圖所示。圖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開題模塊的實現(xiàn)用戶發(fā)布開題,可以進行新增、查看、修改以及刪除等相應的開題管理操作。當點擊"新增開題"的按鈕時,在開題添加界面進行詳細信息的添加操作。當點擊"查看開題"超級鏈接時,會顯示所選的開題的信息,然后點擊"返回"再返回到其主頁面。開題新增界面如圖所示。圖5-15開題新增開題管理界面如圖所示。圖5-16開題管理開題添加關(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)模塊的實現(xiàn)5.3.1用戶管理模塊的實現(xiàn)用戶在yhzhgl查看用戶信息,先使用sql語句查詢出所有用戶表的數(shù)據(jù),然后調(diào)用PageManager.getPages(url,4,sql,request),返回一個ArrayList的對象,在for循環(huán)里,使用jsp得到每個ArrayList對象的數(shù)據(jù),然后放入頁面模板中,添加用戶則將添加的用戶數(shù)據(jù)封裝在HashMap,中然后調(diào)用action包下Action類的insert方法將用戶內(nèi)容插入用戶表中。系統(tǒng)用戶管理界面如下圖所示。圖5-17系統(tǒng)用戶管理學生管理界面如下圖所示。圖5-18學生管理系統(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公告管理模塊的實現(xiàn)用戶在gonggaoxinxi_list查看公告信息,先使用sql語句查詢出所有公告表的數(shù)據(jù),然后調(diào)用PageManager.getPages(url,4,sql,request),返回一個ArrayList的對象,在for循環(huán)里,使用jsp得到每個ArrayList對象的數(shù)據(jù),然后放入頁面模板中。用戶點擊添加公告則跳轉(zhuǎn)至gonggaoxinxi_add.jsp,添加公告則將添加的公告數(shù)據(jù)封裝在HashMap,中然后調(diào)用action包下Action類的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)測試6.1測試目的與定義在對該系統(tǒng)進行完詳細設(shè)計和編碼之后,就要對畢業(yè)設(shè)計管理系統(tǒng)的程序進行測試,檢測程序是否運行無誤,反復進行測試和修改,使之最后成為完整的軟件,滿足用戶的需求,實現(xiàn)預期的功能。6.2功能測試功能測試就是對產(chǎn)品的各功能進行驗證,根據(jù)功能測試用例,逐項檢測,檢查產(chǎn)品是否達到用戶要求的功能。下面列出的測試用例是基于需求分析階段的用例描述而進行的設(shè)計。下面將通過表格的形式介紹針對本系統(tǒng)每個功能模塊所進行的功能測試。測試用例表如下所示。表6-1測試用例測試用例方案輸入數(shù)據(jù)預期結(jié)果測試結(jié)果用戶登錄使用已存在的用戶名和相匹配的密碼、驗證碼登錄系統(tǒng)用戶名:zcyh密碼:zcyh驗證碼:6066系統(tǒng)提示登錄成功,并跳轉(zhuǎn)至系統(tǒng)主頁與預期結(jié)果一致使用已存在的用戶名和不匹配的密碼、正確的驗證碼登錄系統(tǒng)用戶名:zcyh密碼:zcyh123驗證碼:6066系統(tǒng)提示登錄失敗,密碼錯誤與預期結(jié)果一致使用已存在的用戶名和相匹配的密碼、不正確驗證碼登錄系統(tǒng)用戶名:zcyh密碼:zcyh驗證碼:6061系統(tǒng)提示登錄失敗,驗證碼錯誤與預期結(jié)果一致密碼修改用戶登錄系統(tǒng)后,使用原始密碼和兩次一致新密碼修改當前的登錄密碼原始密碼:zcyh新密碼:zcyh1確認新密碼:zcyh1系統(tǒng)提示修改密碼成功與預期結(jié)果一致原始密碼輸入錯誤,兩次新密碼一致原始密碼:zcyh2新密碼:zcyh1確認新密碼:zcyh1系統(tǒng)提示修改密碼失敗,原始密碼錯誤與預期結(jié)果一致原始密碼輸入正確,兩次新密碼不一致原始密碼:zcyh新密碼:zcyh1確認新密碼:zcyh2系統(tǒng)提示修改密碼失敗,兩次新密碼不一致與預期結(jié)果一致公告管理用戶已登錄,打開公告添加界面,輸入公告標題、內(nèi)容等信息公告標題:wernziihu公告內(nèi)容:qerjzfiew系統(tǒng)提示公告添加成功,新公告成功顯示與預期結(jié)果一致用戶已登錄,打開公告添加界面,用戶未輸入公告標題和內(nèi)容公告標題:公告內(nèi)容:系統(tǒng)提示公告添加失敗與預期結(jié)果一致導師選擇用戶已登錄,打開導師選擇界面,輸入選擇人、內(nèi)容等信息選擇人:555選擇內(nèi)容:已選系統(tǒng)提示導師選擇成功與預期結(jié)果一致用戶已登錄,打開導師選擇界面,用戶未輸入選擇人和內(nèi)容選擇人:選擇內(nèi)容:系統(tǒng)提示導師選擇失敗與預期結(jié)果一致6.3測試結(jié)果測試完成后,系統(tǒng)總體上已經(jīng)完成了預期的所有功能,滿足了任務書中的各項要求,該系統(tǒng)操作簡便,界面簡潔,安全性高,對用戶來說無疑是一款非常實用的畢業(yè)設(shè)計管理系統(tǒng)。6.4測試評價軟件基本達到設(shè)計要求,功能完整,操作簡便,界面簡潔,安全可靠,錯誤處理正確,且能在出錯時提示出相對應的錯誤種類,然而同時在測試中也發(fā)現(xiàn)了軟件的一些不足。比如,該系統(tǒng)在用戶的數(shù)據(jù)量達到上萬條時,頁面操作會有微小的卡頓,等等一些缺陷,這些需要在軟件之后的進一步修改和維護時進行修改。第7章總結(jié)通過畢業(yè)設(shè)計管理系統(tǒng)的開發(fā),本人鞏固了之前學過的知識,平時所學到的知識不僅融合了,還獲得了許多其他學科上知識,本人深深體會到學科之間的關(guān)聯(lián)效應。為了完成畢業(yè)設(shè)計,做了很多的準備,首先,在數(shù)據(jù)庫系統(tǒng)的設(shè)計過程中,尤其是在數(shù)據(jù)庫的工作原理、工作特點,對其深刻的討論,與此同時,對于小型站點來說,最好服務器的選擇,其次,利用所學的知識點分析所做的系統(tǒng),并在此基礎(chǔ)上設(shè)計。目前本系統(tǒng)已經(jīng)上線,正在試運行階段,用戶反饋良好,基本完成用戶所需,試運行過程中沒有出現(xiàn)阻斷性問題,有一些不足和小問題也及時予以修正,系統(tǒng)上線后,為了保證數(shù)據(jù)的安全性,對系統(tǒng)進行了備份操作,系統(tǒng)備份是每兩個月備份一次,數(shù)據(jù)庫備份為每周備份一次,系統(tǒng)部署在租賃的云平臺服務器中。本次系統(tǒng)上線成功后,得到了用戶的高度認

溫馨提示

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

最新文檔

評論

0/150

提交評論