畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)
《畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)》由會員分享,可在線閱讀,更多相關(guān)《畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)(32頁珍藏版)》請在裝配圖網(wǎng)上搜索。
中國地質(zhì)大學(xué)(武漢)遠程與繼續(xù)教育學(xué)院畢業(yè)設(shè)計(論文)遠程與繼續(xù)教育學(xué)院本科畢業(yè)論文(設(shè)計)題目:畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn) 學(xué)習(xí)中心: 內(nèi)蒙古 學(xué) 號: 090F24133012 姓 名: 隋利 專 業(yè): 計算機科學(xué)與技術(shù) 指導(dǎo)教師: 程偉 2015 年 7 月 28 日 中國地質(zhì)大學(xué)(武漢)遠程與繼續(xù)教育學(xué)院本科畢業(yè)論文(設(shè)計)指導(dǎo)教師指導(dǎo)意見表學(xué)生姓名: 隋利 學(xué)號: 090F24133012 專業(yè): 計算機科學(xué)與技術(shù) 畢業(yè)設(shè)計(論文)題目: 畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn) 指導(dǎo)教師意見:(請對論文的學(xué)術(shù)水平做出簡要評述。包括選題意義;文獻資料的掌握;所用資料、實驗結(jié)果和計算數(shù)據(jù)的可靠性;寫作規(guī)范和邏輯性;文獻引用的規(guī)范性等。還須明確指出論文中存在的問題和不足之處。)填寫要求:1.請指導(dǎo)教師按以上要求填寫意見,2.學(xué)生在上傳論文時不得將以上括號內(nèi)的內(nèi)容刪除。3.當(dāng)學(xué)生論文評閱成績不及格重寫時,指導(dǎo)教師要重新填寫意見及新的指導(dǎo)日期。(指導(dǎo)教師填寫指導(dǎo)意見時請將填寫要求刪除)指導(dǎo)教師結(jié)論: (合格、不合格)指導(dǎo)教師姓名所在單位指導(dǎo)時間中國地質(zhì)大學(xué)(武漢)遠程與繼續(xù)教育學(xué)院 本科畢業(yè)設(shè)計(論文)評閱教師評閱意見表學(xué)生姓名: 隋利 學(xué)號: 090F24133012 專業(yè): 計算機科學(xué)與技術(shù) 畢業(yè)設(shè)計(論文)題目: 畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn) 評閱意見:(請對論文的學(xué)術(shù)水平做出簡要評述。包括選題意義;文獻資料的掌握;所用資料、實驗結(jié)果和計算數(shù)據(jù)的可靠性;寫作規(guī)范和邏輯性;文獻引用的規(guī)范性等。還須明確指出論文中存在的問題和不足之處。)填寫要求:1.請評閱教師按以上要求填寫意見,2.上傳論文時不得將以上括號內(nèi)的內(nèi)容刪除。3.當(dāng)學(xué)生論文評閱成績不及格重寫時,評閱教師要重新填寫意見及新的評閱日期。 (評閱教師填寫指導(dǎo)意見時請將填寫要求刪除)修改意見:(針對上面提出的問題和不足之處提出具體修改意見。評閱成績合格,并可不用修改直接參加答辯的不必填此意見。)畢業(yè)設(shè)計(論文)評閱成績 (百分制): 評閱結(jié)論: (同意答辯、不同意答辯、修改后答辯)評閱人姓名所在單位評閱時間論文原創(chuàng)性聲明本人鄭重聲明:本人所呈交的本科畢業(yè)論文畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn),是本人在導(dǎo)師的指導(dǎo)下獨立進行研究工作所取得的成果。論文中引用他人的文獻、資料均已明確注出,論文中的結(jié)論和結(jié)果為本人獨立完成,不包含他人成果及使用過的材料。對論文的完成提供過幫助的有關(guān)人員已在文中說明并致以謝意。本人所呈交的本科畢業(yè)論文沒有違反學(xué)術(shù)道德和學(xué)術(shù)規(guī)范,沒有侵權(quán)行為,并愿意承擔(dān)由此而產(chǎn)生的法律責(zé)任和法律后果。 論文作者(簽字):隋利 日期:2015年 7 月 28 日摘要畢業(yè)論文工作是高等學(xué)校本科培養(yǎng)階段的一個重要環(huán)節(jié)。目前論文管理工作存在著許多問題,例如人工管理極為不便;學(xué)生對論文所要撰寫的內(nèi)容并不十分了解,與指導(dǎo)老師的溝通非常不便;老師的指導(dǎo)監(jiān)督也很難完全到位;手工評審的效率低等。而現(xiàn)有的一些畢業(yè)論文信息管理或答辯評審系統(tǒng)只是實現(xiàn)了部分網(wǎng)上交流和評審管理的功能,在答辯評審的自測和項目指標(biāo)權(quán)重等方面都存在著一定的不足。因此,本文設(shè)計的畢業(yè)論文管理系統(tǒng)采用B/S模式開發(fā)。其中,Browser層使用JSP技術(shù)開發(fā);Server層使用Struts2.x+Spring2.0+Hibernate3.0開發(fā)。該系統(tǒng)以支撐高校畢業(yè)生畢業(yè)論文管理為目標(biāo),以管理員、導(dǎo)師、畢業(yè)生三種角色為核心。實現(xiàn)了論文管理的相關(guān)功能:1、管理員對導(dǎo)師、畢業(yè)生和答辯小組的管理以及管理自己資料的權(quán)限;2、導(dǎo)師有創(chuàng)建任務(wù)書、指導(dǎo)畢業(yè)生完成論文、錄入答辯結(jié)果以及管理自己資料的權(quán)限;3、畢業(yè)生有論文選題、論文錄入以及管理自己資料的權(quán)限。關(guān)鍵詞:1、B/S體系結(jié)構(gòu) 2、SSH框架 3、DAO模型 4、session會話目錄一、前言1二、開發(fā)工具與開發(fā)架構(gòu)2(一)開發(fā)工具2(二)開發(fā)框架(SSH框架)2三、畢業(yè)論文管理系統(tǒng)的功能與操作流程5(一)畢業(yè)論文管理系統(tǒng)的管理功能5(二)畢業(yè)論文管理系統(tǒng)的操作流程10四、數(shù)據(jù)庫設(shè)計11(一)數(shù)據(jù)庫總體介紹11(二)數(shù)據(jù)表職能詳細介紹12五、畢業(yè)論文管理系統(tǒng)的框架搭建14(一)關(guān)于struts2.x的引入14(二)關(guān)于spring2.0的引入15(三)關(guān)于hibernate3.0的引入15六、畢業(yè)論文管理系統(tǒng)的具體實現(xiàn)17(一)領(lǐng)域模型層實現(xiàn)17(二)持久層的實現(xiàn)18(三)業(yè)務(wù)層的實現(xiàn)19(四)表示層的實現(xiàn)201、表示層設(shè)計依據(jù)202、表示層代碼的設(shè)計規(guī)范213、表示層的session會話214、表示層設(shè)計實例(管理員登陸過程)225、表示層的國際化應(yīng)用23七、結(jié)束語24致謝25參考文獻26一、前言隨著高校的規(guī)模不斷擴大,如何合理地利用教學(xué)資源、有效地加強教學(xué)管理工作,已成為各大高校關(guān)注的焦點。目前,在教學(xué)管理方面,特別是在學(xué)生學(xué)籍管理、成績管理等方面都普遍采用了網(wǎng)絡(luò)化管理手段,而對于畢業(yè)設(shè)計這一重要的教學(xué)環(huán)節(jié),則普遍采用傳統(tǒng)的單機管理模式?,F(xiàn)有的畢業(yè)設(shè)計管理系統(tǒng)主要用來完成畢業(yè)設(shè)計基本信息和成績的輸入輸出等工作,而畢業(yè)設(shè)計的選題、畢業(yè)設(shè)計過程管理等工作還沒有被納入到管理系統(tǒng)中。目前,實現(xiàn)畢業(yè)論文(設(shè)計)的雙向選擇和畢業(yè)論文(設(shè)計)過程的動態(tài)跟蹤與交流己成為畢業(yè)設(shè)計管理工作改革的重要內(nèi)容。在國外,英國諾丁漢大學(xué)開發(fā)了專門的管理系統(tǒng)實現(xiàn)了畢業(yè)設(shè)計的網(wǎng)上雙向選擇在國內(nèi),南昌航空工業(yè)學(xué)院電子信息工程學(xué)院開發(fā)的畢業(yè)設(shè)計雙向選題管理系統(tǒng),主要側(cè)重選題的管理,能夠完成題目申報、題目審核以及學(xué)生選題的功能,輔助個人資料管理、發(fā)布公告通知功能;南開大學(xué)開發(fā)的畢業(yè)設(shè)計網(wǎng)站,為畢業(yè)設(shè)計的選題、師生交流和畢業(yè)設(shè)計成績的管理提供了良好的環(huán)境,取得了良好的效果;北京科技大學(xué)幵發(fā)的基于項目管理的工業(yè)設(shè)計專業(yè)畢業(yè)設(shè)計管理系統(tǒng),結(jié)合專業(yè)特點和項目管理特色,加強了畢業(yè)設(shè)計文檔、圖片、多媒體的存檔以及優(yōu)秀畢業(yè)設(shè)計的展示;電子科技大學(xué)管理學(xué)院本科畢業(yè)論文提交系統(tǒng)主要完成學(xué)生論文的上傳提交以及論文審核鑒定結(jié)果反饋的功能,學(xué)生可以通過系統(tǒng)查詢自己的論文的審核情況,并根據(jù)結(jié)果在指導(dǎo)教師的指導(dǎo)下進行修改,并完成論文提交。從以上分析中可以看出,研究設(shè)計一種工作流程明晰、功能完善、可操作性強、適用于高校的畢業(yè)論文管理系統(tǒng)是十分必要的。22二、開發(fā)工具與開發(fā)架構(gòu)(一)開發(fā)工具數(shù)據(jù)庫:MySQL數(shù)據(jù)庫開發(fā)工具:SQLyog網(wǎng)站服務(wù)器:Tomcat6.5J2EE開發(fā)工具:Myeclipse7.0(二)開發(fā)框架(SSH框架)畢業(yè)論文管理系統(tǒng)采用B/S體系結(jié)構(gòu)開發(fā),其中server層使用SSH(Struts2.x+Spring2.0+Hibernate3.0)框架開發(fā),該系統(tǒng)在結(jié)構(gòu)上主要分成領(lǐng)域模型層、業(yè)務(wù)層、持久層和表示層(如圖2.1),系統(tǒng)開發(fā)的目錄結(jié)構(gòu)(如圖2.2)。Struts2.0介紹,Struts2.0是在webwork基礎(chǔ)上構(gòu)建起來的mvc框架,實際上是struts1.x與xwork相結(jié)合的產(chǎn)物;對于xwork 而言,前端的Webwork 組件為其提供的是一個Map 類型的數(shù)據(jù)結(jié)構(gòu);而Action面向的卻是Model對象所提供的數(shù)據(jù)結(jié)構(gòu)。xwork 通過Interceptor 攔截器實現(xiàn)了map模型與model模型的轉(zhuǎn)換,從而我們可以根據(jù)需要,靈活的配置所需的Interceptor;從而為Action提供可擴展的預(yù)處理、后處理過程。Spring2.0介紹,Spring2.0可以將簡單的組件配置、組合成為復(fù)雜的應(yīng)用。在Spring2.0中,應(yīng)用對象被聲明式的組合,具體實現(xiàn)是在一個XML文件里。Spring2.0也提供了很多基礎(chǔ)功能(事務(wù)管理、持久化框架集成等等)。Spring2.0對整個系統(tǒng)的業(yè)務(wù)管理,組件在applicationContext.xml文件依賴注入表示層ActionJSPServiceDaoHibernate3.0框架對數(shù)據(jù)的處理*.hbm.xmlDomian業(yè)務(wù)層數(shù)據(jù)庫領(lǐng)域模型層RootStruts2.0瀏覽器持久層圖2.1 系統(tǒng)框架圖2.2 目錄結(jié)構(gòu)Hibernate3.0介紹,Hibernate3.0是一個開放源代碼的對象關(guān)系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。Hibernate3.0的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration,本系統(tǒng)使用的接口為SessionFactory。三、畢業(yè)論文管理系統(tǒng)的功能與操作流程(一)畢業(yè)論文管理系統(tǒng)的管理功能該系統(tǒng)實現(xiàn)了角色登錄,以及相應(yīng)角色對論文管理的功能(如圖3.1)。(1)管理員、導(dǎo)師、畢業(yè)生的登陸頁面(如圖3.2),通過選擇角色下拉列表選擇相應(yīng)的角色進行登陸,在輸入用戶名、密碼和驗證碼時,系統(tǒng)首先做相應(yīng)的格式驗證,然后訪問數(shù)據(jù)庫確認登陸,進入各自的管理頁面。(2)管理員的權(quán)限有:a.修改自身密碼、資料;b.添加管理員;c.添加導(dǎo)師;d.添加畢業(yè)生;e.創(chuàng)建答辯小組;f.管理員管理角色(注銷/激活,如圖3.4)。管理員通過用戶名、密碼登陸管理員管理頁面(如圖3.3)。畢業(yè)生管理登錄功能管理員管理導(dǎo)師管理改資料添加畢業(yè)生添加導(dǎo)師添加管理員修改資料論文選題修改論文查看論文修改資料下任務(wù)書指導(dǎo)論文論文答辯圖3.1 系統(tǒng)功能模塊圖3.2 管理員登陸頁面圖3.3 管理員主頁圖3.4 管理員管理角色(3)導(dǎo)師的權(quán)限有:a.修改自身密碼、資料;b.新建任務(wù)書(如圖3.6);c. 管理任務(wù)書(包括:編輯任務(wù)書、放開任務(wù)書、批準(zhǔn)選題、指導(dǎo)論文、答辯錄入等,如圖3.7);d. 檢索所有任務(wù)書(包括:閱讀任務(wù)書、閱讀論文,如圖3.8);e.評閱論文。導(dǎo)師通過用戶名、密碼登陸導(dǎo)師管理頁面(如圖3.5)。圖3.5 導(dǎo)師主頁圖3.6 新建任務(wù)書圖3.7 管理任務(wù)書、導(dǎo)師管理論文圖3.8 檢索任務(wù)書、任務(wù)書內(nèi)容、論文內(nèi)容(4)畢業(yè)生的權(quán)限有:a.修改自身密碼、資料;b.論文選題(如圖3.9);c.檢索所有任務(wù)書(包括:閱讀任務(wù)書、閱讀論文等);d.管理論文(包括:編輯論文、查看論文、提交論文等,如圖3.10)。畢業(yè)生通過用戶名、密碼登陸畢業(yè)生權(quán)限管理頁面。圖3.9 畢業(yè)生選題圖3.10 畢業(yè)生管理論文、撰寫論文(二)畢業(yè)論文管理系統(tǒng)的操作流程角色管理的操作流程(如圖3.11)、論文管理的操作流程(如3.12)。管理員登陸添加畢業(yè)生添加導(dǎo)師添加管理員圖2.11角色管理導(dǎo)師創(chuàng)建任務(wù)書畢業(yè)生選題導(dǎo)師審批畢業(yè)生撰寫導(dǎo)師指導(dǎo)導(dǎo)師評閱評閱教師評閱導(dǎo)師錄入答辯關(guān)閉論文圖3.12論文管理四、數(shù)據(jù)庫設(shè)計(一)數(shù)據(jù)庫總體介紹畢業(yè)論文管理系統(tǒng)使用MySQL數(shù)據(jù)庫,首先創(chuàng)建畢業(yè)論文管理系統(tǒng)的數(shù)據(jù)庫thesismanagedatabase,在數(shù)據(jù)庫thesismanagedatabase中創(chuàng)建了9張數(shù)據(jù)表用來存儲該系統(tǒng)的相關(guān)數(shù)據(jù),保障系統(tǒng)的合理運行。各數(shù)據(jù)表的關(guān)聯(lián)關(guān)系(如圖4.1)。數(shù)據(jù)庫thesismanagedatabase以及其內(nèi)部數(shù)據(jù)表的創(chuàng)建使用提前寫好的sql腳本直接生成,具體內(nèi)容如代碼:DROP DATABASE IF EXISTS thesismanagedatabase;CREATE DATABASE thesismanagedatabase;USE thesismanagedatabase;#drop table manager;CREATE TABLE manager (oid INT(11) NOT NULL AUTO_INCREMENT,username VARCHAR(20) DEFAULT NULL,PRIMARY KEY (oid) ENGINE=INNODB DEFAULT CHARSET=gbk;Group_member小組成員Answer_group答辯小組Tutor導(dǎo)師資料Manager管理員資料導(dǎo)師畢業(yè)生Student畢業(yè)生資料管理員work_list 任務(wù)書Thesis論文guidance指導(dǎo)記錄result答辯結(jié)果圖4.1數(shù)據(jù)庫設(shè)計思路(二)數(shù)據(jù)表職能詳細介紹(1)管理員數(shù)據(jù)表,管理員登陸管理系統(tǒng)后負責(zé)為學(xué)生和導(dǎo)師注冊,因此管理員數(shù)據(jù)表存儲管理員身份信息、登陸信息的相關(guān)數(shù)據(jù)。(2)畢業(yè)生、導(dǎo)師數(shù)據(jù)表,導(dǎo)師負責(zé)創(chuàng)建、開放任務(wù)書,畢業(yè)生可以選擇導(dǎo)師開放的任務(wù)書(同時創(chuàng)建論文),如果任務(wù)書不合適可以退選(在導(dǎo)師提交同意之前);然后,畢業(yè)生登陸管理系統(tǒng)實時的編輯論文,導(dǎo)師在系統(tǒng)上實時的指導(dǎo);因此在數(shù)據(jù)表中存畢業(yè)生和導(dǎo)師的身份信息、登陸信息等數(shù)據(jù)。(3)任務(wù)書,由導(dǎo)師創(chuàng)建、開放,記錄著導(dǎo)師的部分信息;任務(wù)書作為撰寫論文的核心依據(jù),記錄著論文的題目、導(dǎo)師、研究方向、主要任務(wù)、論文目標(biāo)等信息。(4)論文數(shù)據(jù)表(如表4-1),論文是整個系統(tǒng)最核心的數(shù)據(jù),由畢業(yè)生在選題時創(chuàng)建;存儲的信息包括:a.畢業(yè)生、導(dǎo)師、任務(wù)書的部分信息,b.論文摘要、論文主要內(nèi)容、導(dǎo)師意見、評閱教師意見等c.指導(dǎo)記錄編號、答辯記錄編號。表格4-1 Thesis字段名稱數(shù)據(jù)類型字段說明oidInt(11)論文系統(tǒng)編號TsidVarchar (11)任務(wù)書檔案編號readideaVarchar(512)評閱教師意見ReadscoreInt(2)評閱教師建議分?jǐn)?shù)resultoidInt(11)答辯記錄編號EndscoreInt(2)最終分?jǐn)?shù)StatusInt(2)論文狀態(tài)createtimeVarchar(20)論文創(chuàng)建時間subtimeVarchar(20)論文提交時間(5)論文指導(dǎo)記錄數(shù)據(jù)表,論文指導(dǎo)的記錄由導(dǎo)師創(chuàng)建,記錄著導(dǎo)師對論文實時的指導(dǎo)內(nèi)容,所以對于一篇論文可能有好幾篇指導(dǎo)記錄,因此需要單獨建表存儲數(shù)據(jù)。(6)答辯記錄,在答辯結(jié)束后由導(dǎo)師負責(zé)錄入,記錄了答辯的詳細內(nèi)容包括:a.論文編號、答辯小組編號,b.答辯小組意見、最后成績,c.領(lǐng)導(dǎo)意見。(7)答辯小組數(shù)據(jù)表,由管理員創(chuàng)建,記錄的內(nèi)容包括:小組編號、組長、那一屆畢業(yè)生、隸屬部門等信息。(8)答辯小組成員數(shù)據(jù)表,由管理員創(chuàng)建,主要記錄答辯小組的成員信息,這些成員必須是由管理員創(chuàng)建的導(dǎo)師。五、畢業(yè)論文管理系統(tǒng)的框架搭建關(guān)于struts2.x、spring2.0和hibernate3.0框架的集成順序是:spring2.0框架的引入先于hibernate3.0框架,以便將hibernate3.0的相關(guān)配置在spring2.0的腳本文件中完成;至于struts2.x可以隨時引入。其中sping2.0框架和hibernate3.0框架用Myeclipse直接引入,而struts2.x框架需要手工引入。(一)關(guān)于struts2.x的引入在實現(xiàn)struts2.x框架、spring2.0框架與hibernate3.0框架的三者集成時,對于struts2.x框架需要引入相應(yīng)的jar架包,還必須對web.xml和struts.xml文件做相應(yīng)的配置。(1)引入jar架包首先引入struts2.x的核心架包:xwork-2.0.4.jar、struts2-core-2.0.11.jar、ognl-2.6.11.jar、freemarker-2.3.8.jar和commons-logging-1.0.4.jar。由于該框架要與spring2.0框架整合,所以還要struts2-spring-plugin-2.0.8.jar。最后由于需要連接數(shù)據(jù)庫MySQL,還要引入關(guān)于數(shù)據(jù)庫的驅(qū)動架包mysql-connector-java-3.1.14-bin.jar。(2)修改web.xml文件為了使畢業(yè)論文管理系統(tǒng)支持struts2.x框架,需要在web.xml文件中配置struts2.x的相關(guān)內(nèi)容,如代碼:struts2org. apache.struts2.dispatcher.FilterDispatcher(3)創(chuàng)建struts.xml文件struts.xml文件是整個系統(tǒng)的大腦,在該文件中配置了整個系統(tǒng)的所有事務(wù)的動作流程,操控著畢業(yè)論文管理系統(tǒng)的所有頁面的動態(tài)流程。(二)關(guān)于spring2.0的引入在實現(xiàn)struts2.x框架、spring2.0框架和hibernate3.0框架集成時,對其中的spring2.0的框架除了引入必須的架包 ,還要對spring2.0框架的腳本文件進行配置。(1)引入jar文件引入spring2.0框架的核心架包:spring.jar(2)創(chuàng)建spring2.0框架的applicationContext.xml文件通過Myeclipse開發(fā)環(huán)境直接將spring框架引入項目中,同時創(chuàng)建applicationContext.xml文件并將其放到webRoot根目錄下WEB_INF文件中,這時的applicationContext.xml文件默認配置就可以。(三)關(guān)于hibernate3.0的引入在實現(xiàn)struts2.x框架、spring2.0框架和hibernate3.0框架集成時,對其中的hibernate3.0的框架除了引入必須的架包 ,還要將hibernate3.0框架在spring2.0框架的腳本文件applicationContext.xml中進行配置。(1)引入架包首先引入hibernate3.0框架的核心架包:hibernate3.jar、log4j-1.2.15.jar、cglib-nodep-2.1_3.jar、dom4j-1.6.1.jar、commons-collections-2.1.1.jar、c3p0-0.9.1.2.jar、jta.jar、antlr-2.7.6.jar。(2)在spring2.0框架的applicationContext.xml文件中配置hibernate3.0通過Myeclipse開發(fā)環(huán)境直接將hibernate3.0框架引入項目中,同時設(shè)置將hibernate3.0的hibernate.cfg.xml文件合并到spring2.0框架的applicationContext.xml文件,然后修改applicationContext.xml文件;然而,applicationContext.xml文件的鏈接數(shù)據(jù)庫配置內(nèi)容如代碼:六、畢業(yè)論文管理系統(tǒng)的具體實現(xiàn)(一)領(lǐng)域模型層實現(xiàn)領(lǐng)域模型是對領(lǐng)域內(nèi)的概念類或客觀現(xiàn)實世界中對象的可視化表示,所以也稱為概念模型、領(lǐng)域?qū)ο竽P秃头治鰧ο竽P?。它專注于分析問題領(lǐng)域本身,發(fā)掘重要的業(yè)務(wù)領(lǐng)域概念,并建立業(yè)務(wù)領(lǐng)域概念之間的關(guān)系。由反向工程生成領(lǐng)域模型對象,Myeclipse的功能非常強大支持從數(shù)據(jù)庫到領(lǐng)域模型對象的逆向生成功能。我們在Myeclipse Hibernate視圖中創(chuàng)建數(shù)據(jù)庫鏈接后,打開對應(yīng)的數(shù)據(jù)庫,右鍵數(shù)據(jù)表選擇Hibernate Reverse選項彈出Hibernate框架的反向工程界面,在該界面中設(shè)置需要生成文件的類型以及他們的路徑,然后點擊Finish就生成了相應(yīng)的文件。對于數(shù)據(jù)庫thesismanagedatabase中的9張數(shù)據(jù)表進行逆向工程后,就會自動生成各個數(shù)據(jù)表的對應(yīng)領(lǐng)域模型對象和映射文件。這些模型的詳細描述(如表6-1所示),各對象模型的映射文件(如表6-2所示)。表格6-1 領(lǐng)域模型對象名 稱說 明AnswerGroup.java答辯小組模型GroupMember.java答辯小組成員模型Guidance.java論文指導(dǎo)模型Manager.java管理員模型Result.java論文答辯結(jié)果模型Student.java畢業(yè)生模型Thesis.java論文內(nèi)容模型Tutor.java指導(dǎo)教師模型WorkList.java任務(wù)書模型表格6-2 領(lǐng)域模型對象映射名 稱說 明AnswerGroup.hbm.xml答辯小組映射文件GroupMember.hbm.xml答辯小組成員映射文件Guidance.hbm.xml論文指導(dǎo)映射文件Manager.hbm.xml管理員映射文件Result.hbm.xml論文答辯結(jié)果映射文件Student.hbm.xml畢業(yè)生映射文件Thesis.hbm.xml論文內(nèi)容映射文件Tutor.hbm.xml指導(dǎo)教師映射文件WorkList.hbm.xml任務(wù)書映射文件論文的領(lǐng)域模型層的領(lǐng)域模型對象文件存放在src文件下com.hyd.domain包下,領(lǐng)域模型對象映射文件直接放在src文件下面。以管理員為例,詳細介紹領(lǐng)域模型對象定義和領(lǐng)域模型對象映射定義的詳細內(nèi)容,管理員領(lǐng)域模型對象(Manager.java)實現(xiàn)了java.io.Serializable接口,管理員領(lǐng)域模型對象與管理員數(shù)據(jù)表的映射(Manager.hbm.xml)的具體內(nèi)容如代碼:(二)持久層的實現(xiàn)持久層就是在系統(tǒng)邏輯層面上,專注于實現(xiàn)數(shù)據(jù)持久化的一個相對獨立的領(lǐng)域;持久層是負責(zé)向一個或者多個數(shù)據(jù)存儲器中存儲數(shù)據(jù)的一組類和組件。這個層必須包含一個業(yè)務(wù)領(lǐng)域?qū)嶓w的模型。畢業(yè)論文管理系統(tǒng)的持久層采用DAO模式設(shè)計,系統(tǒng)持久層的實現(xiàn)使用Hibernate3.0框架,所以在具體實現(xiàn)持久層中的各個類時都繼承了HibernateDaoSupport類。由于繼承了HibernateDaoSupport類,所以在實現(xiàn)操作數(shù)據(jù)庫功能時可以采用靈活的HQL語音編寫。以論文模型對象(Thesis.java)為例,介紹畢業(yè)論文管理系統(tǒng)領(lǐng)域模型對象所對應(yīng)的持久層的實現(xiàn)過程。對于Thesis模型對象,在持久層中主要用來操作該對象的增、刪、該、查詢等功能。對該層的DAO模式設(shè)計使用了接口技術(shù),因此創(chuàng)建了兩個類:ThesisDao.java(接口類)和ThesisDaoImpl.java(實體類)。(1)操作Thesis模型對象的接口類ThesisDao.java文件,主要是用來定義操作Thesis模型對象的方法(事務(wù))。(2)ThesisDaoImpl.java實現(xiàn)了操作Thesis模型對象接口的所有方法(事務(wù)),并且繼承了HibernateDaoSupport類,具體內(nèi)容如代碼:public List findAll() List find = (List) getHibernateTemplate().find(“from Thesis”);return find;(3)在applicationContext.xml文件中配置DAO由于整個系統(tǒng)采用spring2.0框架進行事務(wù)管理,因此Thesis模型的事務(wù)模型ThesisDAO必須在spring2.0框架的applicationContext.xml腳本文件中實施依賴注入。實際上就是把ThesisDAO事務(wù)依附在Hibernate3.0的sessionFactory接口上,具體內(nèi)容如代碼:(三)業(yè)務(wù)層的實現(xiàn)業(yè)務(wù)邏輯層是系統(tǒng)框架中體現(xiàn)核心價值的部分,它的關(guān)注點主要集中在業(yè)務(wù)規(guī)則的制定、業(yè)務(wù)流程的實現(xiàn)等與業(yè)務(wù)需求有關(guān)的系統(tǒng)設(shè)計,業(yè)務(wù)層的具體實現(xiàn)采用spring2.0框架。畢業(yè)論文管理系統(tǒng)管理系統(tǒng)的業(yè)務(wù)層有兩部分組成:業(yè)務(wù)管理和提供服務(wù)。顯而易見,該系統(tǒng)中使用spring2.0框架來解決各層之間的耦合問題(事務(wù)管理),因此需要使用業(yè)務(wù)服務(wù)的類都需要在applicationContext.xml文件中實現(xiàn)依賴注入。以畢業(yè)生模型對象(Student.java)為例詳細闡述業(yè)務(wù)層的實現(xiàn)原理;在業(yè)務(wù)層中對Student模型對象的處理,一方面實現(xiàn)與持久層的交互處理和事物管理,另一方面為表示層提供服務(wù)。由于該層的服務(wù)采用接口的方式來設(shè)計,所以創(chuàng)建了兩個類:StudentService.java(接口)和StudentServiceImpl.java(實體類)。(1)StudentService.java接口類主要用來為表示層提供相關(guān)的業(yè)務(wù)服務(wù),畢業(yè)生登陸服務(wù)具體內(nèi)容如代碼:public Student findStudent(String name, String password); /畢業(yè)生登陸(2)繼承StudentService.java接口的實體類:StudentServiceImpl.java類,實現(xiàn)了接口類中定義的各個方法。(3)在applicationContext.xml文件中配置相關(guān)的業(yè)務(wù)管理,畢業(yè)論文管理系統(tǒng)在業(yè)務(wù)層采用了Spring2.0框架管理事務(wù),StudentService.java業(yè)務(wù)需要使用持久層的StudentDAO.java事務(wù)提供服務(wù),所以需要在applicationContext.xml文件中對StudentServiceImpl.java業(yè)務(wù)實現(xiàn)依賴注入。具體內(nèi)容如代碼:(四)表示層的實現(xiàn)表示層主要處理用戶和軟件的交互;表示層的主要職責(zé)就是為用戶提供信息,以及把用戶的指令翻譯,傳輸給業(yè)務(wù)層和持久層。畢業(yè)論文管理系統(tǒng)采用B/S模式開發(fā),因此交互界面為基于html的界面;關(guān)于用戶的所有請求指令都是由Struts2.0框架的Action類來處理的。由于畢業(yè)論文管理系統(tǒng)采用Spring2.0框架處理層與層之間的耦合問題(業(yè)務(wù)管理),所以所有的Action類都要在applicationContext.xml文件中依賴注入。1、表示層設(shè)計依據(jù)畢業(yè)論文管理系統(tǒng)的業(yè)務(wù)流程是以畢業(yè)生論文設(shè)計的流程為主線,按照畢業(yè)生選題、撰寫、答辯的流程,給任務(wù)書、論文賦有不同的狀態(tài),任務(wù)書、論文走到每個階段都有一個固定的狀態(tài),每種狀態(tài)只有相應(yīng)的角色具有操作論文的權(quán)限。任務(wù)書、論文的流程(如圖6.1)。刪除0創(chuàng)建0關(guān)閉1開放9已選題0撰寫中1已完成2已提交3已審閱4關(guān)閉選題審批完成提交審閱答辯圖6.1任務(wù)書、論文的流程2、表示層代碼的設(shè)計規(guī)范畢業(yè)論文管理系統(tǒng)的表示層代碼主要存放在src文件下的各包中,包括struts2.0的Action類和腳本文件struts.xml。Action類具體存放位置為com.hyd.action.*;struts.xml腳本直接存放在src文件下。為了提高代碼通用性,在表示層中把Struts2.0框架的Action類分為數(shù)據(jù)對象和數(shù)據(jù)處理兩部分。由于數(shù)據(jù)處理類和頁面功能相對應(yīng),數(shù)據(jù)對象類是與領(lǐng)域模型和業(yè)務(wù)服務(wù)模型相對應(yīng),因此數(shù)據(jù)處理類需要重復(fù)繼承數(shù)據(jù)對象類(com.hyd.action.rootaction.*)。3、表示層的session會話(1)畢業(yè)論文管理系統(tǒng)與瀏覽器交互的幾乎所有數(shù)據(jù)都是采用session會話進行傳輸。在model模型使用session.setAttribute(變量,值)方法,將數(shù)據(jù)放到session中;在JSP頁面(map模型)使用JSP標(biāo)記語言將session中的值取出。(2)session會話在登錄判斷中的應(yīng)用,對每一項功能的操作都要判斷該角色是否登錄。具體實現(xiàn):將角色的基本信息放到session中,在登錄攔截器SessionInterceptor.java中獲取session信息,判斷角色是否登錄。(3)session會話在對話框中的應(yīng)用,畢業(yè)論文管理系統(tǒng)中的所有異常對話框都是采用Javascript實現(xiàn)。在model模型中將異常信息放到session中,在JSP頁面中使用Javascript的alter()方法彈出對話框,然后使用JSP技術(shù)將session中的異常信息清空,具體內(nèi)容如代碼:var msg = $requestScope.session.message;if (msg != ) alert(msg); /jsp中直接引入java代碼4、表示層設(shè)計實例(管理員登陸過程)(1)數(shù)據(jù)對象類雖然繼承了ActionSupport類但沒有使用struts2.0的請求調(diào)用方法execute(),數(shù)據(jù)對象和領(lǐng)域模型對象一一對應(yīng),負責(zé)定義*.jsp到業(yè)務(wù)層的數(shù)據(jù)對象;管理員數(shù)據(jù)對象類ManagerRoot.java包括管理員基本屬性的定義和管理員業(yè)務(wù)屬性的定義。(2)數(shù)據(jù)處理action繼承了數(shù)據(jù)對象類,并且重寫了struts2.0的請求調(diào)用方法execute(),該action是和頁面功能一一對應(yīng),負責(zé)對相關(guān)數(shù)據(jù)的處理和封裝。管理員數(shù)據(jù)處理action有Login.java(管理員登陸)、CreateManager.java(創(chuàng)建管理員)、CreateStudent.java(添加畢業(yè)生)、CreateTutor.java(添加導(dǎo)師)、ChangePwd.java(修改密碼)、ChangeInfo.java(修改資料)等;具體內(nèi)容如代碼:if (sf.equals(safecode) / 圖形校驗碼驗證if (loginselect.equals(managerlogin) /角色驗證Manager manager = managerService.findManager(username, password);if (manager = null) /用戶存在驗證addActionError(getText(loginerror);return ERROR; else if(manager.getStatus()=0) /用戶注銷狀態(tài)驗證addActionError(getText(roledelete);return ERROR; /錯誤拋出(3)struts2.0的action流程控制在struts.xml文件中的配置如代碼:/login.jsplogin在applicationContext.xml文件中把管理員需要的業(yè)務(wù)管理依賴注入如代碼:/登陸業(yè)務(wù)的注入(4)登陸頁面(login.jsp)采用JSP動態(tài)網(wǎng)頁技術(shù)實現(xiàn)。關(guān)于JSP(Java Server Page)技術(shù),它是在傳統(tǒng)的網(wǎng)頁HTML文件(*.htm、*.html)中插入Java程序段(Scriptlet)和JSP標(biāo)記(tag),從而形成了JSP文件(*.jsp),用JSP開發(fā)的web應(yīng)用是跨平臺的,也就是不受操作系統(tǒng)平臺的限制。5、表示層的國際化應(yīng)用國際化(Internationalization,il8n)是指程序在不修改代碼內(nèi)部的前提下,根據(jù)不同的語言及地區(qū)顯示相應(yīng)的界面。畢業(yè)論文管理系統(tǒng)使用國際化技術(shù),在整個系統(tǒng)的JSP代碼中沒有漢字,全部使用getText()方法從文件globalMessages_zh_CN.properties中獲取。如果想要顯示其他語種的界面,只需配置該語種的globalMessages_zh_*.properties文件就可以實現(xiàn),該功能為畢業(yè)論文管理系統(tǒng)實現(xiàn)多種語言展示奠定了基礎(chǔ)。七、結(jié)束語論文分為三大模塊介紹畢業(yè)論文管理系統(tǒng):1、開發(fā)工具與架構(gòu);2、系統(tǒng)功能的展示與操作;3、開發(fā)過程與技術(shù)介紹。畢業(yè)論文管理系統(tǒng)基于Struts2.x + Spring2.0 + Hibernate3.0框架構(gòu)建而成,實現(xiàn)了標(biāo)準(zhǔn)的java EE 4層結(jié)構(gòu)體系。其中,Struts2.0框架實現(xiàn)表示層頁面的跳轉(zhuǎn),Hibernate3.0框架由數(shù)據(jù)庫記錄轉(zhuǎn)變成POJO對象的持久層,Spring2.0框架主要實現(xiàn)該系統(tǒng)業(yè)務(wù)邏輯的服務(wù)。設(shè)計畢業(yè)論文管理系統(tǒng)時,重點考慮基本功能的實現(xiàn)和系統(tǒng)維護的優(yōu)越性,因此該系統(tǒng)的結(jié)構(gòu)體系明確、層次清晰,層與層之間采用接口鏈接,極易維護和升級。致謝在這兩年中,在師長、親友的大力支持下,走得辛苦卻也收獲滿囊,在論文即將付梓之際,思緒萬千,心情久久不能平靜。偉人、名人為我所崇拜,可是我更急切地要把我的敬意和贊美獻給一位平凡的人,我的論文指導(dǎo)老師程老師。我不是您最出色的學(xué)生,而您卻是我最尊敬的老師。您治學(xué)嚴(yán)謹(jǐn),學(xué)識淵博,思想深邃,視野雄闊,為我營造了一種良好的精神氛圍。授人以魚不如授人以漁,置身其間,耳濡目染,潛移默化,使我不僅接受了全新的思想觀念,樹立了宏偉的學(xué)術(shù)目標(biāo),領(lǐng)會了基本的思考方式,從論文題目的選定到論文寫作的指導(dǎo),經(jīng)由您悉心的點撥,再經(jīng)思考后的領(lǐng)悟,常常讓我有“山重水復(fù)疑無路,柳暗花明又一村”的感觸。感謝我的父母,焉得援草,言樹之背,養(yǎng)育之恩,無以回報,你們永遠健康快樂是我最大的心愿。在論文即將完成之際,我的心情無法平靜,從開始進課題到論文的順利完成,有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請接受我誠摯謝意、同時也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計的環(huán)境。最后再一次感謝所有在畢業(yè)設(shè)計中曾經(jīng)幫助過我的良師益友和同學(xué),以及在論文中被我引用或參考的論著的作者。參考文獻1李瑞俊.學(xué)生畢業(yè)論文選題系統(tǒng)的研究與設(shè)計D.內(nèi)蒙古大學(xué),20122孫文.基于WEB的畢業(yè)論文管理系統(tǒng)D.中國海洋大學(xué),20113楊照峰.基于WEB的高校畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)D.西安電子科技大學(xué),20104陳澤強.基于.NET的本科畢業(yè)設(shè)計管理系統(tǒng)的設(shè)計與實現(xiàn)D.電子科技大學(xué),20125巴桑羅布.基于ASP.NET的西藏學(xué)院畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)D.電子科技大學(xué),20136侯凌霄.高校畢業(yè)設(shè)計論文管理系統(tǒng)設(shè)計與實現(xiàn)D.電子科技大學(xué),20137江進.畢業(yè)論文網(wǎng)上管理系統(tǒng)的研究與實現(xiàn)D.南京理工大學(xué),20108黎華.基于Web的高校畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)D.電子科技大學(xué),20099戴斌.高職院校學(xué)生畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)D.天津大學(xué),201210李萌.基于LINQ技術(shù)的畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)D.黑龍江大學(xué),201011應(yīng)頌翔.基于B/S架構(gòu)的畢業(yè)論文管理信息系統(tǒng)設(shè)計D.浙江工業(yè)大學(xué),201212韓曉菊.畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)J.科技信息,2012,33:554+56713劉慧婷,岳可誠,劉椿.畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)J.中國現(xiàn)代教育裝備,2013,01:4-6+914溫小勇.基于工作流和角色協(xié)同的畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn)J.實驗室研究與探索,2012,04:314-317+33815黃蘭.基于B/S結(jié)構(gòu)的畢業(yè)論文管理系統(tǒng)D.電子科技大學(xué),2011- 1.請仔細閱讀文檔,確保文檔完整性,對于不預(yù)覽、不比對內(nèi)容而直接下載帶來的問題本站不予受理。
- 2.下載的文檔,不會出現(xiàn)我們的網(wǎng)址水印。
- 3、該文檔所得收入(下載+內(nèi)容+預(yù)覽)歸上傳者、原創(chuàng)作者;如果您是本文檔原作者,請點此認領(lǐng)!既往收益都歸您。
下載文檔到電腦,查找使用更方便
5 積分
下載 |
- 配套講稿:
如PPT文件的首頁顯示word圖標(biāo),表示該PPT已包含配套word講稿。雙擊word圖標(biāo)可打開word文檔。
- 特殊限制:
部分文檔作品中含有的國旗、國徽等圖片,僅作為作品整體效果示例展示,禁止商用。設(shè)計者僅對作品中獨創(chuàng)性部分享有著作權(quán)。
- 關(guān) 鍵 詞:
- 畢業(yè)論文管理系統(tǒng)的設(shè)計與實現(xiàn) 畢業(yè)論文 管理 系統(tǒng) 設(shè)計 實現(xiàn)
鏈接地址:http://m.italysoccerbets.com/p-5823586.html