版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p> 本科畢業(yè)論文(設(shè)計(jì))</p><p> 二零一三年 五月 十五 日</p><p> 題目網(wǎng)上職稱申報(bào)系統(tǒng)的</p><p> 設(shè)計(jì)與實(shí)現(xiàn)</p><p> 作者</p><p> 學(xué)院信息科學(xué)與工程學(xué)院</p><p> 專業(yè)計(jì)算機(jī)科學(xué)與技術(shù)</p>&
2、lt;p> 學(xué)號</p><p> 指導(dǎo)教師</p><p><b> 摘 要</b></p><p> 網(wǎng)上職稱申報(bào)系統(tǒng)是一個(gè)集職稱申報(bào)和審核的網(wǎng)上辦公系統(tǒng),此系統(tǒng)有利于評審認(rèn)定公正、職稱申報(bào)的管理、提高工作效率。</p><p> 此網(wǎng)上職稱申報(bào)系統(tǒng)基于B/S模式,使用Tomcat作為WEB服務(wù)器,Or
3、acle實(shí)現(xiàn)數(shù)據(jù)庫設(shè)計(jì),JSP做前臺顯示,后臺使用SSH(Strust+Spring+Hibernate)實(shí)現(xiàn)。該系統(tǒng)的主要功能分為用戶模塊、申報(bào)模塊和審核模塊。用戶模塊又分為注冊、登錄、修改密碼、增加詳細(xì)信息和修改詳細(xì)信息等;申報(bào)模塊分為個(gè)人申報(bào)和基層單位申報(bào),只有個(gè)人所屬的單位具有申報(bào)資格之后,個(gè)人才能申報(bào),提供申報(bào)材料的上傳和申報(bào)模板的下載;審核模塊分為基層單位審核和管理員審核,只有基層單位審核通過之后,才提交給管理員審核。<
4、;/p><p> 本文使用全面的開發(fā)分析方法對網(wǎng)上職稱申報(bào)進(jìn)行分析。介紹了所使用的技術(shù),明確了系統(tǒng)的需求和可行性,提供了系統(tǒng)設(shè)計(jì)方案和具體實(shí)現(xiàn)方法并提供了系統(tǒng)的單元測試。最后,對此次論文做了總結(jié)。</p><p> 關(guān)鍵詞:職稱申報(bào); Browser/Server;JSP;SSH</p><p><b> ABSTRACT</b></p
5、><p> Online title declaration system is a collection of title declaration and audit office online system, this system is helpful to review concluded that fair and beneficial to the title management,improve th
6、e workefficiency to declare.</p><p> This Online title declaration system based on B/S model, using Tomcat as a WEB server, Oracle implements database, using the JSP as the view module, using the SSH implem
7、ents background system. The system’s main function are divided into user module, declaration and audit module. User modules are divided into the register, login, change passwords, add detailed information and modify deta
8、ils, etc.; Declare module is divided into personal and grass-roots units, units with declaration qualification </p><p> This article use the comprehensive development of analysis methods to analyze online t
9、itle declaration system. Introduces the use of technology, has been clear about the requirement and feasibility of this system, provides system design and concrete realization method and provide the unit testing to this
10、system. Finally, made a summary of the paper.</p><p> KeyWords : Declaration of Titles;Browser/Servers;JSP;SSH</p><p><b> 目 錄</b></p><p><b> 摘 要I</b><
11、;/p><p> AbstractII</p><p><b> 第一章 前言1</b></p><p> 1.1 選題意義1</p><p> 1.2 網(wǎng)上職稱申報(bào)國內(nèi)外發(fā)展現(xiàn)狀1</p><p> 1.3 研究方法及研究內(nèi)容1</p><p> 1.4
12、 相關(guān)技術(shù)理論介紹2</p><p> 1.4.1 軟件工程方法概述2</p><p> 1.4.2面向?qū)ο蠓治雠c設(shè)計(jì)2</p><p> 1.4.3數(shù)據(jù)庫理論知識3</p><p> 1.4.4 開發(fā)工具介紹4</p><p><b> 1.5本章小結(jié)5</b></p
13、><p> 第二章 系統(tǒng)分析6</p><p> 2.1 可行性研究6</p><p> 2.1.1 技術(shù)可行性6</p><p> 2.1.2 經(jīng)濟(jì)可行性6</p><p> 2.1.3 社會可行性6</p><p> 2.2 用戶需求分析7</p><
14、p> 2.2.1 功能需求描述7</p><p> 2.2.2 需求建模8</p><p> 2.2.3數(shù)據(jù)模型分析10</p><p> 2.3本章小結(jié)15</p><p> 第三章 系統(tǒng)設(shè)計(jì)16</p><p> 3.1 系統(tǒng)過程設(shè)計(jì)16</p><p> 3
15、.2 功能模塊設(shè)計(jì)17</p><p> 3.2.1系統(tǒng)總體模塊設(shè)計(jì)17</p><p> 3.2.2 系統(tǒng)子模塊設(shè)計(jì)17</p><p> 3.3數(shù)據(jù)庫設(shè)計(jì)19</p><p> 3.4 系統(tǒng)類設(shè)計(jì)22</p><p> 3.4.1 系統(tǒng)類框架22</p><p> 3
16、.4.2 系統(tǒng)類圖22</p><p> 3.5本章小結(jié)24</p><p> 第四章 系統(tǒng)實(shí)現(xiàn)25</p><p> 4.3 系統(tǒng)功能實(shí)現(xiàn)27</p><p> 4.3.1 注冊登錄功能27</p><p> 4.3.2 個(gè)人管理模塊29</p><p> 4.3.3
17、用戶申報(bào)模塊30</p><p> 4.3.4 申報(bào)審核模塊30</p><p> 4.4 本章小結(jié)31</p><p> 第五章 系統(tǒng)測試32</p><p> 5.1 JUnit技術(shù)介紹32</p><p> 5.1.1 JUnit技術(shù)的優(yōu)點(diǎn)32</p><p> 5
18、.1.2 JUnit技術(shù)的特性32</p><p> 5.2 JUnit在本系統(tǒng)測試中的運(yùn)用32</p><p> 5.3 本章小結(jié)34</p><p><b> 結(jié)論35</b></p><p><b> 參考文獻(xiàn)36</b></p><p><b&
19、gt; 致謝37</b></p><p> 附錄A 插表索引38</p><p> 附錄B 插圖索引39</p><p> 附錄C 部分程序源代碼41</p><p><b> 第一章 前言</b></p><p><b> 1.1 選題意義</b&
20、gt;</p><p> 隨著信息技術(shù)在我國的廣泛應(yīng)用,社會活動越來越依賴計(jì)算機(jī)信息系統(tǒng),很多政府、企業(yè)都構(gòu)建了自己的管理應(yīng)用系統(tǒng)。科學(xué)技術(shù)的發(fā)展,社會文明的進(jìn)步,人們的生活講究快節(jié)奏,講究舒適感,同時(shí)也講究效率。為了轉(zhuǎn)變傳統(tǒng)的職稱申報(bào)工作的低效率、高成本、尤其是后期對數(shù)據(jù)的維護(hù)難、處理難的現(xiàn)狀,將個(gè)人申報(bào)評審職稱所需要的所有文字材料按要求從以往的書面材料形式調(diào)整為格式固定的電子文檔進(jìn)行申報(bào)提交,通過職稱評審系
21、統(tǒng)來填報(bào)個(gè)人申報(bào)信息,經(jīng)單位主管部門和上級職改人事主管部門審核后,集中安排各系列評審委員會通過萬維網(wǎng)統(tǒng)一進(jìn)行網(wǎng)上評審,最后進(jìn)入后期服務(wù)系統(tǒng)進(jìn)行審批和輸出相關(guān)結(jié)果從而實(shí)現(xiàn)無紙化評審;紙質(zhì)材料轉(zhuǎn)變?yōu)閿?shù)字信息建立職稱信息數(shù)據(jù)庫,各級職稱信息化建設(shè)要與有關(guān)部門的信息網(wǎng)絡(luò)資源結(jié)合起來,避免低水平重復(fù)建設(shè)和資源浪費(fèi),逐步建立起職稱信息資源共享平臺,為職稱申報(bào)人員和審核人員服務(wù)。 </p><p> 1.2 網(wǎng)上職稱申報(bào)國內(nèi)
22、外發(fā)展現(xiàn)狀</p><p> 網(wǎng)上職稱申報(bào)系統(tǒng)是隨著計(jì)算機(jī)技術(shù)的發(fā)展而產(chǎn)生的專門用于職稱申報(bào)信息管理的網(wǎng)絡(luò)化系統(tǒng),是計(jì)算機(jī)技術(shù)、管理科學(xué)與分析技術(shù)相結(jié)合的產(chǎn)物。網(wǎng)上職稱申報(bào)系統(tǒng)自上個(gè)世紀(jì)九十年代末出現(xiàn)以來,到如今已經(jīng)歷了20多年的發(fā)展。尤其是近七、八年來個(gè)人電腦的普及和信息技術(shù)的爆炸性發(fā)展,對網(wǎng)上職稱申報(bào)系統(tǒng)技術(shù)起到了巨大的推動作用。</p><p> 在歐美等國家,網(wǎng)上職稱申報(bào)系統(tǒng)早
23、就被應(yīng)用到了各行各業(yè),他們的技術(shù)已經(jīng)完全成熟,甚至移動終端上也已經(jīng)開發(fā)出了在線職稱申報(bào)系統(tǒng)。</p><p> 由于我國計(jì)算機(jī)行業(yè)相對于歐美國家發(fā)展較慢,我國管理信息系統(tǒng)的開發(fā)應(yīng)用是從上個(gè)世紀(jì)七十年代初期開始的,基本上采用的是學(xué)習(xí)和緊跟國外先進(jìn)技術(shù)的方法。所以在網(wǎng)上職稱申報(bào)的開發(fā)和使用上,國內(nèi)起步較晚。目前國內(nèi)在對網(wǎng)上申報(bào)系統(tǒng)的重視度不高,市面上大多數(shù)網(wǎng)上職稱申報(bào)系統(tǒng)與同規(guī)模的國外產(chǎn)品相比在系統(tǒng)完善性,實(shí)用性及
24、擴(kuò)展性方面存在明顯的不足。</p><p> 1.3 研究方法及研究內(nèi)容</p><p> 本系統(tǒng)的主要內(nèi)容是分析和設(shè)計(jì)一個(gè)基于B/S(Browser/Server,瀏覽器/服務(wù)器)模式的網(wǎng)上職稱申報(bào)系統(tǒng),主要目的是解決現(xiàn)有的人工操作系統(tǒng)數(shù)據(jù)收集繁瑣,數(shù)據(jù)存儲復(fù)雜的弊端。為了充分體現(xiàn)申報(bào)人員、審核人員、后臺管理人員的可操作性、高效率性及高移植性,在頁面設(shè)計(jì)采用符合HTML規(guī)范,申報(bào)材料
25、以doc或excel提交,存儲在本地磁盤中。此處將申報(bào)材料存儲在本地磁盤中,可以方便的解決了低移植性問題,不用費(fèi)神的在數(shù)據(jù)庫中為每個(gè)龐大的申報(bào)材料建立繁多的數(shù)據(jù)表,只要將材料的存儲路徑放入數(shù)據(jù)庫表中相應(yīng)的字段中即可, 方便數(shù)據(jù)庫的數(shù)據(jù)管理、維護(hù)及后期數(shù)據(jù)的移植問題。</p><p> 本文采用的主要研究方法是通過互聯(lián)網(wǎng)絡(luò)查找并學(xué)習(xí)B/S系統(tǒng)所需使用的相關(guān)技術(shù),熟悉系統(tǒng)開發(fā)的理論和基本過程。對于職稱申報(bào)過程和需求
26、的了解,則主要是通過查找相關(guān)文檔,參照其他相關(guān)系統(tǒng)的方法,獲得網(wǎng)上職稱申報(bào)的基本需求。本系統(tǒng)使用JAVA作為開發(fā)語言,開發(fā)工具主要有MyEclipse、powerdesigner、Oracle10g和plsql,以O(shè)OA(面向?qū)ο蠓治觯┓绞椒治鱿到y(tǒng)的需求,以O(shè)OD(面向?qū)ο笤O(shè)計(jì))實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì)。</p><p> 1.4 相關(guān)技術(shù)理論介紹</p><p> 1.4.1 軟件工程方法概述
27、 </p><p> 計(jì)算機(jī)軟件的發(fā)展經(jīng)歷了若干個(gè)不同的時(shí)期,反映了人們對軟件認(rèn)識不斷加深的過程。軟件是“開發(fā)”出來的,不是“制造”出來的。著名的軟件工程專家 Boehm 綜合了有關(guān)專家和學(xué)者的意見,于一篇論文中提出了軟件工程的七條基本原理[1]:</p><p> (1)用分階段的生存周期計(jì)劃嚴(yán)格管理 ;</p><p> (2)堅(jiān)持進(jìn)行階段評審;</
28、p><p> ?。?)實(shí)施嚴(yán)格的產(chǎn)品控制;</p><p> ?。?)采用現(xiàn)代程序設(shè)計(jì)技術(shù); </p><p> ?。?)結(jié)果應(yīng)能清楚地審查;</p><p> ?。?)開發(fā)小組的成員應(yīng)該少而精; </p><p> ?。?)承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性。 </p><p> 遵循前六條基本原
29、理就能按照現(xiàn)代軟件工程基本原理實(shí)現(xiàn)軟件的工程化生產(chǎn)[1],但是,僅有前六條原理并不能保證軟件開發(fā)與維護(hù)的過程能趕上時(shí)代的步伐和技術(shù)的進(jìn)步,應(yīng)該把承認(rèn)不斷改進(jìn)軟件工程實(shí)踐的必要性作為軟件工程的第七條基本原理。</p><p> 1.4.2面向?qū)ο蠓治雠c設(shè)計(jì)</p><p> 面向?qū)ο蠓椒ǖ某霭l(fā)點(diǎn)和基本原則是盡可能模擬人類習(xí)慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認(rèn)識世界的方法與
30、過程,也就是說,要使得描述問題的問題空間與在計(jì)算機(jī)上解決問題的空間在結(jié)構(gòu)上盡可能一致。</p><p> 傳統(tǒng)的結(jié)構(gòu)化方法是軟件工程在80年代最為流行的方法。對于能夠預(yù)先確定需求的系統(tǒng)開發(fā),采用傳統(tǒng)的結(jié)構(gòu)化方法非常有效;但是,對于需求模糊或隨時(shí)變化的系統(tǒng)開發(fā)來說,這種方法并不能很好適應(yīng)。因此,對于需求經(jīng)常變動的系統(tǒng)開發(fā)來說,人們有提出了面向?qū)ο蟮拈_發(fā)方法。面向?qū)ο箝_發(fā)技術(shù)便于系統(tǒng)開發(fā)者與用戶進(jìn)行溝通,能夠開發(fā)出
31、用戶真正需要的軟件系統(tǒng)。從實(shí)際的角度出發(fā),面向?qū)ο蠓椒ńY(jié)合能夠吸收面向?qū)ο蠓椒ㄋ哂械姆€(wěn)定性好、代碼可復(fù)用性高、可維護(hù)性好和代碼耦合度小的優(yōu)點(diǎn)[2]。</p><p> 本系統(tǒng)的整體過程以軟件工程的方法為指導(dǎo)思想,嚴(yán)格定義系統(tǒng)開發(fā)各個(gè)階段的任務(wù)。在每個(gè)階段又采用了面向?qū)ο蠓治龊驮O(shè)計(jì)的具體方法,并輔助以UML相關(guān)圖表工具對系統(tǒng)進(jìn)行建模。</p><p> 1.4.3數(shù)據(jù)庫理論知識<
32、/p><p><b> 1、數(shù)據(jù)庫建模</b></p><p> 模型是對現(xiàn)實(shí)世界特征的模擬和抽象數(shù)據(jù)模型是對現(xiàn)實(shí)世界數(shù)據(jù)特征的抽象。一般來說數(shù)據(jù)模型分為三類,即概念模型、邏輯模型和物理模型。概念數(shù)據(jù)模型也稱信息模型,它以實(shí)體-聯(lián)系(Entity-RelationShip,簡稱E-R)理論為基礎(chǔ),并對這一理論進(jìn)行了擴(kuò)充。它從用戶的觀點(diǎn)出發(fā)對信息進(jìn)行建模,主要用于數(shù)據(jù)庫
33、的概念級設(shè)計(jì)。邏輯模型是注重用邏輯的過程描述對象系統(tǒng),描述系統(tǒng)要做什么。物理模型是描述構(gòu)建數(shù)據(jù)倉庫的物理分布模型,主要包含數(shù)據(jù)倉庫的軟硬件配置,資源情況以及數(shù)據(jù)倉庫模式。</p><p> 2、Oracle簡介</p><p> Oracle數(shù)據(jù)庫系統(tǒng)是美國甲骨文公司開發(fā)的以分布式數(shù)據(jù)庫為核心的關(guān)系型數(shù)據(jù)庫,是目前最流行的數(shù)據(jù)庫之一。Oracle數(shù)據(jù)庫是目前軟件界使用最為普遍的關(guān)系型D
34、BMS(數(shù)據(jù)庫管理系統(tǒng)),它具有極其強(qiáng)大的數(shù)據(jù)管理功能,它是一個(gè)完備關(guān)系的產(chǎn)品,作為分布式數(shù)據(jù)庫它實(shí)現(xiàn)了極其強(qiáng)大的分布式處理功能。它適用于各種機(jī)器。</p><p> Oracle采用的是并行服務(wù)器模式,在并行訪問處理上具有非常大的優(yōu)點(diǎn),在大型網(wǎng)絡(luò)管理系統(tǒng)中應(yīng)用非常普遍,是極其成熟完備的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)。</p><p> 3、HQL(Hibernate Query Languag
35、e,Hibernate查詢語句)</p><p> HQL查詢對查詢條件進(jìn)行了面向?qū)ο蠓庋b,符合編程人員的思維方式,提供了豐富的和靈活的查詢特性,因此Hibernate將HQL查詢方式立為官方推薦的標(biāo)準(zhǔn)查詢方式,HQL查詢提供了類似標(biāo)準(zhǔn)SQL語句的查詢方式,同時(shí)也提供了更加面向?qū)ο蟮姆庋b。完整的HQL語句形式如下:Select/update/delete…… from … where …… group by …
36、… having …… order by …… asc/desc 其中的update/delete為Hibernate3中所新添加的功能,可見HQL查詢非常類似于標(biāo)準(zhǔn)SQL查詢。并且HQL提供了對對象對象屬性的查詢,比如要根據(jù)用戶名查詢一個(gè)用戶是否存在,系統(tǒng)中有個(gè)用戶實(shí)體類:SysUser和實(shí)體類屬性userName,這時(shí)要從數(shù)據(jù)庫查詢數(shù)據(jù)就HQL語句可以如此寫:from SysUser user where user. usernam
37、e=:user,在把占位符的值設(shè)置進(jìn)去就行,此查詢返回的就是一個(gè)存儲SysUser的List集合。本系統(tǒng)在持久化層使用了HQL技術(shù)對對象進(jìn)行增刪改查。</p><p> 1.4.4 開發(fā)工具介紹</p><p><b> 1、Java 簡介</b></p><p> Java 是一種完全面向?qū)ο?、跨平臺性和具有垃圾回收機(jī)制的主要面向web
38、 的軟件開發(fā)語言。它與傳統(tǒng)的面向結(jié)構(gòu)和面向?qū)ο蟮某绦蛘Z言有極大的不同,比如它的GC(GarbageCollection,垃圾回收期),不需要像C++程序去顯示調(diào)用析構(gòu)函數(shù)釋放創(chuàng)建對象所分配的內(nèi)存,JVM(JavaVirtualMachine ,Java虛擬機(jī))本身可以幫助程序員來釋放內(nèi)存,這在極大的程度上減少了程序的出錯(cuò)率,增強(qiáng)了代碼的健壯性。同時(shí) JVM技術(shù)使得采用 Java 語言編寫的程序可以跨平臺的使用[3],從 Windows
39、到Unix 再到 Linux,都有 Java 的身影。此外 Java 是一種純粹的面對對象的語言.這與以往的 C,或者更早的 Object Pascal 有了很大的不同,程序的結(jié)構(gòu)更加清晰易懂。自從問世以來,Java 的快速發(fā)展已經(jīng)讓整個(gè) Web 軟件開發(fā)發(fā)生了翻天覆地的變化。隨著 JAVAEE(Java Enterprise Edition,Java企業(yè)級開發(fā)平臺)的推出,Java 在電子商務(wù)方面開始嶄露頭角,最新的 JSP 技術(shù)的推
40、出,更是讓 Java 成為基于 Web 的應(yīng)用程</p><p><b> 2、JSP技術(shù)</b></p><p> JSP(JavaServerPage)技術(shù)是由Sun公司提出、多個(gè)IT公司參與合作建立的一種動態(tài)網(wǎng)頁開發(fā)技術(shù)標(biāo)準(zhǔn)。JSP規(guī)范是Web服務(wù)器[4],為JAVAEE開發(fā)實(shí)現(xiàn)VIEW層。 </p><p> 3、 Java 開發(fā)
41、框架簡介</p><p> ?。?)Spring介紹</p><p> Spring 是一個(gè)開源框架,它由 Rod Johnson 創(chuàng)建[5]。它是為了解決企業(yè)應(yīng)用開發(fā)的復(fù)雜性而創(chuàng)建的。Spring 使用基本的 JavaBean 來完成以前只可能由 EJB 完成的功能。</p><p> (2)Struts2技術(shù)</p><p> St
42、ruts2是在WebWork框架的技術(shù)的基礎(chǔ)上開發(fā)出來的[6],全新的Struts2框架。它的體系結(jié)構(gòu)與Struts1的有著巨大區(qū)別。Struts2以WebWork為核心[7],采用攔截器機(jī)制來處理用戶的請求,這樣的設(shè)計(jì)也使得Action完全擺脫了對Servlet API的耦合[7],因此Struts2的測試較之Struts來說就非常簡單,可以不用WEB服務(wù)器,直接使用JUnit進(jìn)行單元測試。</p><p>
43、 (3)Hibernate技術(shù)</p><p> 大型應(yīng)用軟件開發(fā)項(xiàng)目大都和大型數(shù)據(jù)庫技術(shù)密切相關(guān)。雖然JAVA提供了JDBC技術(shù)訪問數(shù)據(jù)庫,但是JDBC訪問數(shù)據(jù)庫的代碼非常的繁雜、容易出錯(cuò)并且代碼耦合度高,不宜與維護(hù),但是Hibernate框架[8]的出現(xiàn)在極大程度上改變了這種局面。</p><p> Hibernate主要包括:實(shí)體對象,Hibernate實(shí)體類映射文件,實(shí)體類位于
44、ORM對象層,使用映射文件將對象與關(guān)系型數(shù)據(jù)中的表相關(guān)聯(lián);Hibernate配置文件,XML配置文件提供了更易編寫的結(jié)構(gòu)和更強(qiáng)的配置能力,可以直接對映射文件加以讀取文件。整個(gè)Hibernate通過持久化層斜街應(yīng)用層和Hibernate框架的交互,通過Hibernate技術(shù)[9],開發(fā)的軟件可以把數(shù)據(jù)庫作為一個(gè)對象使用,這比直接使用JDBC操作數(shù)據(jù)庫簡單很多并且維護(hù)性強(qiáng),對應(yīng)于企業(yè)開發(fā)模式,Hibernate體現(xiàn)了面向它對象技術(shù)的精髓,將
45、數(shù)據(jù)庫表對象化,把數(shù)據(jù)庫字段屬性化,并為每個(gè)屬性生成對應(yīng)的getter和setter方法,應(yīng)用程序要對數(shù)據(jù)庫操作,只需使用HSQL語句操作實(shí)體對象就可以達(dá)到之前JDBC訪問的效果,整個(gè)框架圖如圖1.1所示: </p><p> 圖 1.1 Hibernate主框架圖</p><p> Hibernate的配置主要是用來建立SessionFactory的,通過Configuration類
46、來提供這些配置細(xì)節(jié), 配置過程簡單,這也是通過Hibernate統(tǒng)一管理的優(yōu)點(diǎn)之一。</p><p><b> 1.5本章小結(jié)</b></p><p> 本章主要闡述了本課題的選題意義,分析了職稱申報(bào)系統(tǒng)在國內(nèi)外的發(fā)展現(xiàn)狀,簡單介紹了本課題的研究內(nèi)容與研究方法,有利于后面課題研究的進(jìn)行。 </p><p><b> 第二章 系統(tǒng)
47、分析</b></p><p> 系統(tǒng)分析是系統(tǒng)軟件定義時(shí)期的最后一個(gè)階段,這個(gè)階段的任務(wù)仍然不是具體地解決問題,而是準(zhǔn)確的確定“為了解決這個(gè)問題,目標(biāo)系統(tǒng)必須做什么”。系統(tǒng)分析階段包括系統(tǒng)的可行性研究與需求分析兩個(gè)部分[2]。</p><p><b> 2.1 可行性研究</b></p><p> 可行性研究是在粗略地了解了用
48、戶的需求之后,提出幾種可行的解決方案,并進(jìn)行多方面論證的過程??尚行匝芯康幕灸康氖怯幂^小的成本在較短的時(shí)間內(nèi)確定系統(tǒng)是否存在可行的解法,有關(guān)用戶需求的很多細(xì)節(jié)并不會被包含在可行方案中,所以在可行性論證之后,還要進(jìn)行詳細(xì)的需求分析。</p><p> 可行性分析是通過對項(xiàng)目的主要內(nèi)容和配套條件,如市場需求、資源供應(yīng)、建設(shè)規(guī)模、工藝路線、設(shè)備選型、環(huán)境影響、資金籌措、盈利能力等,從技術(shù)、經(jīng)濟(jì)、工程等方面進(jìn)行調(diào)查研
49、究和分析比較,并對項(xiàng)目建成以后可能取得的財(cái)務(wù)、經(jīng)濟(jì)效益及社會環(huán)境影響進(jìn)行預(yù)測,從而提出該項(xiàng)目是否值得投資和如何進(jìn)行建設(shè)的咨詢意見,為項(xiàng)目決策提供依據(jù)的一種綜合性的系統(tǒng)分析方法??尚行苑治鰬?yīng)具有預(yù)見性、公正性、可靠性、科學(xué)性的特點(diǎn)。</p><p> 2.1.1 技術(shù)可行性</p><p> 本系統(tǒng)以Tomcat為WEB服務(wù)器,JAVAEE、Hibernate、Spring和Struts
50、2實(shí)現(xiàn)后臺程序功能,JSP、JS和HTML實(shí)現(xiàn)前臺顯示,Oracle實(shí)現(xiàn)數(shù)據(jù)庫設(shè)計(jì)。</p><p> IT行業(yè)經(jīng)過這么多年的發(fā)展,以現(xiàn)在的web技術(shù)完全可以實(shí)現(xiàn)網(wǎng)上教師職稱申報(bào)系統(tǒng)。所以從技術(shù)上來說,本系統(tǒng)是完全可行的</p><p> 2.1.2 經(jīng)濟(jì)可行性</p><p> 網(wǎng)上職稱申報(bào)系統(tǒng)較之于傳統(tǒng)的職稱申報(bào),節(jié)省人力物力,省去了申報(bào)材料的管理,免除了
51、繁瑣的材料管理事務(wù)既減少了紙張等辦公用品的使用成本,也節(jié)約了聘用大量專管人員的開銷。而網(wǎng)上職稱申報(bào)系統(tǒng)的客戶端依賴于瀏覽器,只要有瀏覽器的PC(Personal Computer,個(gè)人電腦)即可支持,所以也節(jié)約了專項(xiàng)客戶端機(jī)器的開銷。</p><p> 由于此網(wǎng)上職稱申報(bào)系統(tǒng)的開發(fā)屬于個(gè)人研究項(xiàng)目,所以不需要額外的成本,只需一臺PC機(jī)和一些免費(fèi)軟件就行。以現(xiàn)在的經(jīng)濟(jì)環(huán)境,完全可以實(shí)現(xiàn)。</p>&
52、lt;p> 2.1.3 社會可行性</p><p> 在現(xiàn)實(shí)中,早已經(jīng)存在類似的網(wǎng)上職稱申報(bào)系統(tǒng),而本系統(tǒng)只是一個(gè)個(gè)人研究項(xiàng)目,項(xiàng)目功能實(shí)現(xiàn)在現(xiàn)有的系統(tǒng)中進(jìn)行參考,完全符合相關(guān)法律和政策的規(guī)定,所以本系統(tǒng)的開發(fā),符合法律的規(guī)定。</p><p> 2.2 用戶需求分析</p><p> 需求分析是理解用戶需求,使軟件功能與用戶要求達(dá)成一致,并且估計(jì)軟件
53、風(fēng)險(xiǎn)和評估項(xiàng)目代價(jià),最終共形成開發(fā)計(jì)劃的一個(gè)復(fù)雜過程。需求分析是軟件開發(fā)期的第一個(gè)階段,也是關(guān)系到軟件開發(fā)成敗的關(guān)鍵步驟。它的基本任務(wù)是準(zhǔn)確的回答“系統(tǒng)必須做什么”的問題[1]。</p><p> 所有的開發(fā)軟件都是以用戶需求為驅(qū)動的,所以,軟件開發(fā)過程中第一步也是最重要的一步就是搞清楚用戶的需求,并對用戶的需求進(jìn)行準(zhǔn)確詳盡的描述。</p><p> 2.2.1 功能需求描述</
54、p><p> 網(wǎng)上職稱申報(bào)系統(tǒng)的主要用戶分為個(gè)人用戶、基層單位用戶和管理員用戶。不同的用戶擁有不同的權(quán)限。</p><p><b> 1、個(gè)人用戶</b></p><p> 個(gè)人用戶是職稱申報(bào)系統(tǒng)的主體,它們對于系統(tǒng)的功能需求主要包括:</p><p> ?。?)注冊、登錄、找回密碼,以及基本信息修改功能。</p
55、><p> ?。?)申辦業(yè)務(wù)類型選擇。比如專業(yè)技術(shù)資格評審、專業(yè)技術(shù)資格認(rèn)定、業(yè)務(wù)咨詢等等,再選擇具體的申報(bào)業(yè)務(wù),比如XXX高級資格評審。</p><p> ?。?)錄入詳細(xì)的申報(bào)信息,比如申報(bào)人的基本信息、專業(yè)技術(shù)資格歷史情況、教育情況、工作簡歷、計(jì)算機(jī)應(yīng)用能力(需要的話),同時(shí)能根據(jù)要求提供審核材料的電子文檔上傳。</p><p> (4)送審。完成申報(bào)錄入之后,
56、點(diǎn)擊送審。</p><p> ?。?)查看評審結(jié)果。</p><p><b> 2、基層單位用戶</b></p><p> 個(gè)人的申報(bào)材料首先要提交到具有申報(bào)資格的基層單位,經(jīng)過基層單位審核通過之后,再由基層單位提交送審,所以基層單位是申報(bào)的主體之一,也是審核主體之一。它們對于系統(tǒng)的功能需求主要包括:</p><p>
57、; (1)注冊、登錄、找回密碼,以及基本信息修改功能。</p><p> ?。?)申辦業(yè)務(wù)類型選擇。比如專業(yè)技術(shù)資格評審、專業(yè)技術(shù)資格認(rèn)定、業(yè)務(wù)咨詢等等,再選擇具體的申報(bào)業(yè)務(wù),比如XXX高級資格評審。</p><p> ?。?)錄入詳細(xì)的申報(bào)信息,比如申報(bào)人的基本信息、專業(yè)技術(shù)資格歷史情況、教育情況、工作簡歷、計(jì)算機(jī)應(yīng)用能力(需要的話),同時(shí)能根據(jù)要求提供審核材料的電子文檔上傳。<
58、/p><p> ?。?)送審。完成申報(bào)錄入之后,點(diǎn)擊送審。</p><p> (5)查看評審結(jié)果。</p><p> ?。?)對本單位的職員提交的申請做初步的審核,如果不能通過,則直接打回,如果通過,就將申報(bào)人的信息、資料、所申請的職稱和本單位對該申報(bào)人的審核意見提交到審核單位, 上傳單位公示照片。 </p><p> ?。?)跟蹤評審結(jié)果。&
59、lt;/p><p><b> 3、管理員用戶</b></p><p> 管理員用戶是系統(tǒng)的主要管理者,它負(fù)責(zé)整個(gè)系統(tǒng)的維護(hù),也是申報(bào)流程的最終的審核者。它的系統(tǒng)功能需求主要包括:</p><p> ?。?)注冊、登錄、找回密碼,以及基本信息修改功能。</p><p> (2)查看當(dāng)前申報(bào)信息。查看有多少新增申報(bào)。<
60、;/p><p> (3)審核申報(bào)信息。審核基礎(chǔ)單位信息,判斷該單位是否有資格進(jìn)行職員的職稱申報(bào),如果沒有,則該單位所有的申報(bào)工作都不能進(jìn)行。</p><p> ?。?)如果提交申報(bào)材料的基層單位擁有職稱申報(bào)的資格,則審核該單位提交的職員的職稱申報(bào)材料和該單位歲該申報(bào)員的意見。</p><p> ?。?)提交審核結(jié)果。</p><p> 2.2
61、.2 需求建模</p><p> 用例圖(Use Case Diagram)是由軟件需求分析到最終實(shí)現(xiàn)的第一步,它描述如何使用一個(gè)系統(tǒng)[10]。用例視圖顯示誰是相關(guān)的用戶、用戶希望系統(tǒng)提供什么樣的服務(wù),以及用戶需要為系統(tǒng)提供的服務(wù),以便使系統(tǒng)的用戶更容易理解這些元素的用途,也便于軟件開發(fā)人員最終實(shí)現(xiàn)這些元素[11]。</p><p><b> 1、用戶用例</b>
62、</p><p> 用戶用例圖如圖2.1所示。</p><p><b> 圖2.1用戶用例圖</b></p><p> 2、個(gè)人用戶用例和基層單位用例</p><p> 個(gè)人用戶用例和基層單位用例圖如圖2.2所示:</p><p> 圖2.2個(gè)人用戶用例和基層單位用例圖</p>
63、;<p><b> 3、管理員用戶用例</b></p><p> 管理員用例圖如圖2.3所示。</p><p> 圖2.3管理員用戶用例圖</p><p> 2.2.3數(shù)據(jù)模型分析</p><p> 數(shù)據(jù)庫在一個(gè)信息管理系統(tǒng)中占有非常重要的地位,數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)[12]的好壞將直接對應(yīng)用系統(tǒng)的效率,
64、以及實(shí)現(xiàn)的效果產(chǎn)生影響。合理的數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)可以提高數(shù)據(jù)存儲的效率,保證數(shù)據(jù)的完整和一致。</p><p> 1、數(shù)據(jù)實(shí)體E-R圖</p><p> 本系統(tǒng)必須保證具有不同權(quán)限的用戶進(jìn)入此系統(tǒng)的時(shí)候,展示的頁面菜單不同,及該改用戶所擁有的權(quán)限及功能就是他所能見到的這些菜單。所以用戶管理E-R圖如圖2.4所示。</p><p><b> NM<
65、;/b></p><p><b> 1</b></p><p><b> N</b></p><p> 圖2.4 用戶管理E-R圖</p><p> 申報(bào)過程是系統(tǒng)的主要業(yè)務(wù),其E-R圖如圖2.5所示。</p><p><b> N</b>
66、;</p><p><b> 1</b></p><p><b> 1N</b></p><p><b> M</b></p><p><b> N</b></p><p> 圖2.5 申報(bào)業(yè)務(wù)E-R圖</p>
67、;<p> 下面介紹系統(tǒng)實(shí)體E-R圖</p><p> (1)系統(tǒng)權(quán)限實(shí)體主要包括權(quán)限ID、父權(quán)限、權(quán)限文本、權(quán)限地址等。系統(tǒng)權(quán)限實(shí)體圖如圖2.6所示。</p><p> 圖2.6系統(tǒng)權(quán)限實(shí)體圖</p><p> ?。?)系統(tǒng)角色實(shí)體主要包括角色I(xiàn)D、角色描述、角色名稱等。系統(tǒng)角色實(shí)體圖如圖2.7所示。</p><p>
68、 圖2.7系統(tǒng)角色實(shí)體圖</p><p> ?。?)角色權(quán)限實(shí)體主要包括ID、角色I(xiàn)D、權(quán)限ID等。角色權(quán)限實(shí)體圖如圖2.8所示。</p><p> 圖2.8 角色權(quán)限實(shí)體圖</p><p> ?。?)基層單位實(shí)體主要包括單位ID、單位名稱、公式照片地址、單位所在地、申報(bào)資格等?;鶎訂挝粚?shí)體圖如圖2.9所示。</p><p> 圖2.9基
69、層單位實(shí)體圖</p><p> ?。?)申報(bào)個(gè)人實(shí)體主要包括用戶ID、用戶名、密碼、單位ID、用戶角色I(xiàn)D、申報(bào)資格、真實(shí)姓名、身份證號、email、電話等。用戶實(shí)體圖如圖2.10所示。</p><p> 圖 2.10 用戶實(shí)體圖</p><p> ?。?)職稱實(shí)體主要包括。職職稱ID、職稱類型、職稱等級、職稱名。職稱實(shí)體圖如圖2.11所示。</p>
70、<p> 圖2.11 職稱實(shí)體圖</p><p> 7)資料實(shí)體主要包括資料ID、用戶ID、資料名、資料保存路徑等。資料實(shí)體圖如圖2.12所示。</p><p> 圖 2.12 申報(bào)資料實(shí)體圖</p><p> ?。?)申報(bào)記錄實(shí)體,申報(bào)個(gè)人與職稱之間的關(guān)聯(lián)的記錄。主要包括ID、申報(bào)人ID、職稱ID、業(yè)務(wù)名、申報(bào)時(shí)間、最終結(jié)果和管理員審核結(jié)果等。申
71、報(bào)記錄實(shí)體圖如圖2.13所示。</p><p> 圖 2.13 申報(bào)記錄實(shí)體圖</p><p><b> 數(shù)據(jù)流圖和數(shù)據(jù)字典</b></p><p> 數(shù)據(jù)流圖也稱為數(shù)據(jù)流程圖(DFD,Date Flow Diagram)是一種便于用戶理解和分析系統(tǒng)數(shù)據(jù)流程的圖形工具,他擺脫了系統(tǒng)和具體內(nèi)容,精確的在邏輯上描述系統(tǒng)的功能、輸入、輸出和數(shù)據(jù)
72、存儲等。數(shù)據(jù)字典書關(guān)于數(shù)據(jù)的信息的集合,也就是對數(shù)據(jù)流圖中包含的所有元素的定義的集合[10]。</p><p> ?。?)用戶申報(bào)數(shù)據(jù)流圖如圖2.14所示。</p><p> 圖 2.14 用戶申報(bào)數(shù)據(jù)流圖</p><p> 對應(yīng)的數(shù)據(jù)字典如下: </p><p> 1)申報(bào)業(yè)務(wù)用戶信息數(shù)據(jù)流條目如表2.1所示。</p>
73、<p> 表2.1 申報(bào)用戶信息業(yè)務(wù)數(shù)據(jù)流條目表</p><p> 2)申報(bào)業(yè)務(wù)職稱信息數(shù)據(jù)流條目如表2.2所示。</p><p> 表2.2 申報(bào)業(yè)務(wù)職稱信息數(shù)據(jù)流條目表</p><p> 3)申報(bào)業(yè)務(wù)申報(bào)資料信息數(shù)據(jù)流條目如表2.3所示。</p><p> 表2.3 申報(bào)業(yè)務(wù)申報(bào)資料信息數(shù)據(jù)流條目表</p>
74、;<p> 4)申報(bào)業(yè)務(wù)申報(bào)記錄信息數(shù)據(jù)條目如表2.4所示。</p><p> 表2.4申報(bào)業(yè)務(wù)申報(bào)記錄信息數(shù)據(jù)流條目表</p><p> (2)申報(bào)審核數(shù)據(jù)流圖如圖2.15所示。</p><p> 圖 2.15 審核數(shù)據(jù)流圖</p><p> 對應(yīng)的數(shù)據(jù)字典如下: </p><p> 1)審
75、核業(yè)務(wù)用戶信息數(shù)據(jù)流條目如表2.5所示。</p><p> 表2.5 審核用戶信息業(yè)務(wù)數(shù)據(jù)流條目表</p><p> 2)審核業(yè)務(wù)申報(bào)資料信息數(shù)據(jù)流條目如表2.6所示。</p><p> 表2.6 審核業(yè)務(wù)申報(bào)資料信息數(shù)據(jù)流條目表</p><p> 3)申報(bào)業(yè)務(wù)審核記錄信息數(shù)據(jù)條目如表2.7所示。</p><p&g
76、t; 表2.7 審核業(yè)務(wù)審核記錄信息數(shù)據(jù)流條目表</p><p><b> 2.3本章小結(jié)</b></p><p> 本章節(jié)對網(wǎng)上職稱申報(bào)系統(tǒng)進(jìn)行了可行性研究、需求分析和物理建模。通過可行性研究得到本系統(tǒng)開發(fā)所需條件,需求分析得出了網(wǎng)上職稱申報(bào)系統(tǒng)必須完成的功能,通過建立物理模型,可以清晰直觀的對本系統(tǒng)的用例、活動和數(shù)據(jù)存儲進(jìn)行描述。</p>&l
77、t;p><b> 第三章 系統(tǒng)設(shè)計(jì)</b></p><p> 經(jīng)過需求分析階段的工作,系統(tǒng)必須“做什么”已經(jīng)很清楚了,現(xiàn)在是決定怎樣做的時(shí)候。總體設(shè)計(jì)的基本目的就是回答“做什么,系統(tǒng)應(yīng)該如何實(shí)現(xiàn)?”這個(gè)問題,因此,又稱為概要設(shè)計(jì)或初步設(shè)計(jì)。通過這個(gè)階段的工作劃分出組成系統(tǒng)的物理元素----程序、文件、數(shù)據(jù)庫、人工過程和文檔等等。系統(tǒng)設(shè)計(jì)階段另一項(xiàng)重要任務(wù)時(shí)設(shè)計(jì)軟件的結(jié)構(gòu),也就是要確
78、定系統(tǒng)每個(gè)程序由那些模塊組成的,以及這些模塊相互間的關(guān)系[2]。</p><p> 3.1 系統(tǒng)過程設(shè)計(jì)</p><p> 系統(tǒng)流程圖可以描述系統(tǒng)處理的過程,借助系統(tǒng)的程序流程圖能讓我們更好的對系統(tǒng)各個(gè)子系統(tǒng)的功能進(jìn)行設(shè)計(jì)。</p><p> 網(wǎng)上職稱申報(bào)系統(tǒng)的系統(tǒng)流程圖如圖3.1所示。</p><p><b> 否<
79、/b></p><p><b> 是</b></p><p> 一般用戶管理員</p><p> 圖 3.1 網(wǎng)上職稱申報(bào)系統(tǒng)流程圖</p><p> 3.2 功能模塊設(shè)計(jì)</p><p> 根據(jù)前面的需求分析中的功能需求分析和物理建模,得到了網(wǎng)上職稱申報(bào)系統(tǒng)的功能需求。
80、分析這些功能需求,總結(jié)出本系統(tǒng)主要分為用戶模塊、申報(bào)模塊和審核模塊。</p><p> 3.2.1系統(tǒng)總體模塊設(shè)計(jì)</p><p> 網(wǎng)上職稱申報(bào)系統(tǒng)主要包括用戶、申報(bào)和審核三大部分,系統(tǒng)功能如圖3.2所示。</p><p> 圖3.2 網(wǎng)上職稱申報(bào)系統(tǒng)功能圖</p><p> 3.2.2 系統(tǒng)子模塊設(shè)計(jì)</p><
81、;p> 本系統(tǒng)主要分為用戶模塊、申報(bào)模塊和審核模塊。</p><p><b> 1、用戶模塊</b></p><p> 用戶模塊包括用戶分角色注冊、用戶分角色登錄、增加詳細(xì)信息、修改詳細(xì)信息、修改密碼等部分。用戶管理子模塊圖如圖3.3所示。</p><p> 圖 3.3 用戶管理子模塊圖</p><p>
82、 (1)注冊:本系統(tǒng)用戶注冊分為個(gè)人用戶注冊和基層單位用戶注冊,填寫用戶信息,進(jìn)行注冊,注冊成功之后將得到一個(gè)合法的系統(tǒng)用戶身份。</p><p> ?。?)登錄:本系統(tǒng)用戶角色分為三類,即個(gè)人用戶、基層單位用戶和管理員用戶,不同的角色用戶,登錄之后顯示不同的權(quán)限菜單。</p><p><b> 2、申報(bào)模塊</b></p><p> 申報(bào)
83、模塊主要包括個(gè)人用戶申報(bào)和基層單位申報(bào),提供下載職稱申報(bào)資料模板、上傳申報(bào)資料、提交申報(bào)和查看申報(bào)結(jié)果等功能。職稱申報(bào)子模塊圖如圖3.4所示。</p><p> 圖3.4 職稱申報(bào)子模塊圖</p><p> (1)申報(bào)材料模板下載:具有申報(bào)資格的用戶登錄之后,可以下載申報(bào)材料模板,進(jìn)行信息填寫。</p><p> ?。?)申報(bào)材料上傳:當(dāng)用戶填寫完申報(bào)材料之后,
84、可進(jìn)行材料的上傳。</p><p><b> 3、審核模塊</b></p><p> 審核模塊主要包括基層單位審核和管理員審核。個(gè)人申報(bào)必須經(jīng)過它所在的基層單位審核通過之后才能提交到管理員進(jìn)行審核。此模塊提供查看申報(bào)記錄、下載申報(bào)材料和提交審核結(jié)果等功能。審核子模塊圖如圖3.5所示。</p><p> 圖3.5 審核子模塊圖</p&
85、gt;<p> ?。?)查看未審核申報(bào)記錄:如果當(dāng)前用戶為基層單位用戶,則可以查看當(dāng)前用戶所在單位的所有員工的未經(jīng)審核的或基層單位審核未通過的申報(bào)記錄;如果當(dāng)前用戶為管理員用戶,只可以查看經(jīng)過基層單位審核通過的申報(bào)記錄及基層單位申報(bào)的未經(jīng)管理員審核或?qū)徍宋赐ㄟ^的記錄。</p><p> ?。?)提交審核結(jié)果:提交經(jīng)過審核的申報(bào)記錄的審核結(jié)果。</p><p><b>
86、; 3.3數(shù)據(jù)庫設(shè)計(jì)</b></p><p> 根據(jù)系統(tǒng)需求分析過程中,對數(shù)據(jù)建模的結(jié)果,設(shè)計(jì)出系統(tǒng)共有9張業(yè)務(wù)表他們分別是:</p><p> ?。?)系統(tǒng)權(quán)限表。此表用于保存系統(tǒng)用戶權(quán)限,表結(jié)構(gòu)如表3.1所示。</p><p><b> 表3.1系統(tǒng)權(quán)限表</b></p><p> ?。?)系統(tǒng)角色
87、表。此表用于保存系統(tǒng)角色,表結(jié)構(gòu)如表3.2所示。</p><p> 表3.2 系統(tǒng)角色表</p><p> ?。?)角色權(quán)限表。用于系統(tǒng)權(quán)限表和系統(tǒng)角色表的中間表,表結(jié)構(gòu)如表3.3所示。</p><p> 表3.3 角色權(quán)限表</p><p> ?。?)基層單位表。用于保存基層單位信息,表結(jié)構(gòu)如表3.4所示。</p><
88、;p> 表3.4 基層單位表</p><p> ?。?)職稱表。用于保存申報(bào)的職稱的信息,表結(jié)構(gòu)如表3.5所示。</p><p><b> 表3.5 職稱表</b></p><p> (6)用戶表。用于保存系統(tǒng)用戶信息,表結(jié)構(gòu)如表3.6所示。</p><p><b> 表3.6 用戶表</b
89、></p><p> (7)申報(bào)個(gè)人表。用于保存申報(bào)人員的信息。表結(jié)構(gòu)如表3.7所示。</p><p> 表3.7 申報(bào)個(gè)人表</p><p> ?。?)業(yè)務(wù)表。用于保存職稱申報(bào)的信息,表結(jié)構(gòu)如表3.8所示。</p><p><b> 表3.8 業(yè)務(wù)表</b></p><p> (9
90、)申報(bào)材料表。用于報(bào)訊申報(bào)人上傳的材料信息,表結(jié)構(gòu)如表3.9所示。</p><p> 表3.9 材料上傳存放表</p><p><b> 3.4 系統(tǒng)類設(shè)計(jì)</b></p><p> 3.4.1 系統(tǒng)類框架</p><p> 本系統(tǒng)采用企業(yè)軟件設(shè)計(jì)模式,系統(tǒng)分三層,即DAO層用于持久化、Service層用于業(yè)務(wù)處
91、理和Action層用于數(shù)據(jù)接收和轉(zhuǎn)發(fā),所以類結(jié)構(gòu)也分為這三層。DAO層和Service層都各自提供一個(gè)接口和頂層抽象類。</p><p> 3.4.2 系統(tǒng)類圖</p><p> 所有的實(shí)體類對實(shí)現(xiàn)序列化接口,各實(shí)體類之間的關(guān)聯(lián)如圖4.2所示。DAO層提供訪問數(shù)據(jù)庫的功能,DAO層類都繼承自一個(gè)抽象類:BaseHibernateDAOImpl,而這個(gè)抽象類又繼承子hibernate框架
92、中的HibernateDaoSupport類,DAO層各具體類都值實(shí)現(xiàn)父類的唯一一個(gè)抽象方法:public Class<?> getEntityClass() ,返回當(dāng)前類要操作的實(shí)體類的Class對象。Servic層提供對業(yè)務(wù)的處理,每一類業(yè)務(wù)提供一個(gè)接口和一個(gè)實(shí)現(xiàn)類,接口中提供此類業(yè)務(wù)需要的方法,實(shí)現(xiàn)類去具體實(shí)現(xiàn),并在實(shí)現(xiàn)類中注入要操作的DAO層類對象。Action層提供form表單數(shù)據(jù)的接收和轉(zhuǎn)發(fā)功能,在每個(gè)Actio
93、n類中注入相應(yīng)的Service類對象,進(jìn)行數(shù)據(jù)的轉(zhuǎn)發(fā)。</p><p> 1、系統(tǒng)用戶管理核心類</p><p> 根據(jù)三層架構(gòu),設(shè)計(jì)系統(tǒng)用戶管理核心類圖3.6所示。</p><p> 圖3.6 用戶管理核心類圖</p><p> 用戶管理核心類說明:</p><p> ?。?)UserAction類是用戶管理
94、模塊Action層核心類,其屬性user和unit及相對于的getter和setter方法用于接收頁面?zhèn)鬟f的form表單的值,通過Spring配置文件和提供setUnitService、setRoleService和setUnitService注入相對應(yīng)的Service層類對象。屬性msg和getMsg用于登錄驗(yàn)證失敗后向登錄頁面顯示錯(cuò)誤原因。屬性context是Action上下文對象,用于獲得Map<String,Object&
95、gt;類型的session和request對象,此兩種對象用于保存要傳到JSP頁面的值。而addInformation、changePwd、registUser、regist、logoin和showLift等方法用于頁面請求action的轉(zhuǎn)發(fā)。</p><p> ?。?) UserServiceImpl類是用戶管理模塊Service層核心類,實(shí)現(xiàn)UserService接口,通過Spring的IOC(Inversi
96、onofControl,控制反轉(zhuǎn))動態(tài)注入U(xiǎn)serDAO接口的相對于的實(shí)現(xiàn)類對象,通過在方法中調(diào)用UserDAO類的對應(yīng)方法實(shí)現(xiàn)action轉(zhuǎn)發(fā)過來的業(yè)務(wù)的處理。</p><p><b> 2、申報(bào)核心類</b></p><p> 根據(jù)三層架構(gòu),設(shè)計(jì)系統(tǒng)申報(bào)核心類圖如圖3.7所示。</p><p> 圖3.7 申報(bào)核心類圖</p&g
97、t;<p><b> 申報(bào)核心類說明:</b></p><p> (1)DeclareAction是申報(bào)業(yè)務(wù)的action層的核心類,通過Spring IOC容器注入DeclareServiceImpl對象,在此類中提供屬性user、posScale和posType及對象的getter和setter方法,用于接收頁面?zhèn)鬟f的form表單的值。declare()方法用于處理頁面
98、請求的action,在當(dāng)中調(diào)用DeclareServiceImpl對應(yīng)的方法處理業(yè)務(wù)。</p><p> ?。?)DeclareServiceImpl是申報(bào)業(yè)務(wù)的Service層的核心業(yè)務(wù)處理類。通過Spring IOC容器動態(tài)注入OperationDAO、UserDAOImpl和PosDAO等DAO層類對象。通過相應(yīng)的方法處理action業(yè)務(wù)。</p><p><b> 3.
99、5本章小結(jié)</b></p><p> 本章怕給出了網(wǎng)上職稱申報(bào)系統(tǒng)的系統(tǒng)流程、主要功能模塊和數(shù)據(jù)庫的表設(shè)計(jì),詳細(xì)的描述了系統(tǒng)的功能。通過本章的描述,未后面的系統(tǒng)實(shí)現(xiàn)提供參考支持。</p><p><b> 第四章 系統(tǒng)實(shí)現(xiàn)</b></p><p> 通過前面的基礎(chǔ)理論介紹、可行性研究、需求分析和系統(tǒng)設(shè)計(jì),已經(jīng)確定了本網(wǎng)上職稱申
100、報(bào)系統(tǒng)需要實(shí)現(xiàn)的具體功能和實(shí)現(xiàn)方法?,F(xiàn)在介紹本系統(tǒng)的系統(tǒng)實(shí)現(xiàn)。</p><p><b> 4.1環(huán)境搭建</b></p><p> 本系統(tǒng)以Tomcat6.0為服務(wù)器,Hibernate實(shí)現(xiàn)DAO層,Struts2實(shí)現(xiàn)Action,Spring管理數(shù)據(jù)對象的注入,JSP做數(shù)據(jù)顯示。</p><p><b> 4.2 數(shù)據(jù)庫訪問&
101、lt;/b></p><p> 本系統(tǒng)主要通過MyEclipse下的DataBase Connection Driver實(shí)現(xiàn)對數(shù)據(jù)庫進(jìn)行訪問,Hibernate提供了方便快捷的訪問方式,即只要在hibernate.cfg.xml文件中配置相應(yīng)的數(shù)據(jù)即可,同時(shí)還需要加入對應(yīng)的JDBC驅(qū)動包。</p><p> 1、Hibernate數(shù)據(jù)庫連接配置</p><p&
102、gt; 在hibernate.cfg.xml文件中,指定數(shù)據(jù)庫連接字符串配置信息,實(shí)現(xiàn)主要代碼如下:</p><p> <hibernate-configuration></p><p> <session-factory></p><p> <property name="hibernate.connection.d
103、river_class"></p><p> oracle.jdbc.driver.OracleDriver</p><p> </property></p><p> <property name="hibernate.connection.url"></p><p> j
104、dbc:oracle:thin:@localhost:1521:orcl</p><p> </property></p><p> <property name="hibernate.connection.username">scott</property></p><p> <property
105、name="hibernate.connection.password">tiger</property></p><p> <!-- 方言 --></p><p> <property name="hibernate.dialect"></p><p> org.hibern
106、ate.dialect.Oracle9iDialect</p><p> </property></p><p> <property name="hibernate.show_sql">true</property></p><p> <property name="hibernat
107、e.hbm2ddl.auto">update</property></p><p> <property name="hibernate.jdbc.batch_size">30</property></p><p> <property name="hibernate.cache.use_secon
108、d_level_cache"></p><p><b> true</b></p><p> </property></p><p> <property name="hibernate.cache.provider_class"></p><p> o
109、rg.hibernate.cache.EhCacheProvider</p><p> </property></p><p> <property name="hibernate.cache.use_query_cache">true</property></p><p> <mapping re
110、source="hn/decl/entity/Operation.hbm.xml" /></p><p> <mapping resource="hn/decl/entity/Pos.hbm.xml" /></p><p> <mapping resource="hn/decl/entity/SysRight.h
111、bm.xml" /></p><p> <mapping resource="hn/decl/entity/SysRole.hbm.xml" /></p><p> <mapping resource="hn/decl/entity/SysRoleRight.hbm.xml" /></p>&
112、lt;p> <mapping resource="hn/decl/entity/SysUser.hbm.xml" /></p><p> <mapping resource="hn/decl/entity/Unit.hbm.xml" /></p><p> <mapping resource="hn
113、/decl/entity/TData.hbm.xml" /></p><p> </session-factory></p><p> 在這段代碼中,分別設(shè)置了數(shù)據(jù)庫連接的url、連接的用戶名和密碼、數(shù)據(jù)庫驅(qū)動類和夾在實(shí)體類的hibernate配置文件。</p><p> 2、數(shù)據(jù)庫事務(wù)代理配置</p><p&g
114、t; SessionFactory的創(chuàng)建通過web.xml解析spring-aop.xml文件創(chuàng)建,解析代碼如下:</p><p><b> <filter></b></p><p> <filter-name>hibernateSession</filter-name> </p><p> <
115、filter-class>org.springframework.orm.hibernate3.support.OpenSessionInViewFilter</filter-class> </p><p> - <init-param></p><p> <param-name>sessionFactoryBeanName</param
116、-name> </p><p> <param-value>myFactory</param-value> </p><p> </init-param></p><p><b> </filter></b></p><p> - <filter-map
117、ping></p><p> <filter-name>hibernateSession</filter-name> </p><p> <url-pattern>*.action</url-pattern> </p><p> </filter-mapping></p><
118、p> spring-aop.xml配置文件主要代碼如下</p><p> <bean id="myFactory" </p><p> class="org.springframework.orm.hibernate3.LocalSessionFactoryBean" destroy-method="close"
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì)----網(wǎng)上書店系統(tǒng)
- 計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)---網(wǎng)上書店的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)網(wǎng)站設(shè)計(jì)與實(shí)現(xiàn)畢業(yè)論文
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì)題目
- 畢業(yè)設(shè)計(jì)(論文)+計(jì)算機(jī)科學(xué)與技術(shù)+基于discuz!的大學(xué)計(jì)算機(jī)基礎(chǔ)論壇系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計(jì)-資料管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計(jì)-賓館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)論文(設(shè)計(jì))
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)(本科)畢業(yè)設(shè)計(jì)論文寫作指導(dǎo)
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計(jì)
- 計(jì)算機(jī)專業(yè)畢業(yè)論文---網(wǎng)上書店設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)畢業(yè)設(shè)計(jì)(論文)港口貨運(yùn)統(tǒng)計(jì)與決策支持系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 畢業(yè)設(shè)計(jì)(論文)計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)本科畢業(yè)設(shè)計(jì)(論文)大綱
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計(jì)-病床呼叫管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計(jì)(論文)外文翻譯
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)論文-資料管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)論文-賓館管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)專業(yè)畢業(yè)設(shè)計(jì)--在線考試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計(jì)基于j2ee的網(wǎng)上書店系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 基于web的圖書管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)計(jì)算機(jī)科學(xué)與技術(shù)畢業(yè)設(shè)計(jì)論文
評論
0/150
提交評論