版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 本科畢業(yè)論文(設計)</p><p> 二零一三年 五月 十五 日</p><p> 題目網上職稱申報系統的</p><p> 設計與實現</p><p> 作者</p><p> 學院信息科學與工程學院</p><p> 專業(yè)計算機科學與技術</p>&
2、lt;p> 學號</p><p> 指導教師</p><p><b> 摘 要</b></p><p> 網上職稱申報系統是一個集職稱申報和審核的網上辦公系統,此系統有利于評審認定公正、職稱申報的管理、提高工作效率。</p><p> 此網上職稱申報系統基于B/S模式,使用Tomcat作為WEB服務器,Or
3、acle實現數據庫設計,JSP做前臺顯示,后臺使用SSH(Strust+Spring+Hibernate)實現。該系統的主要功能分為用戶模塊、申報模塊和審核模塊。用戶模塊又分為注冊、登錄、修改密碼、增加詳細信息和修改詳細信息等;申報模塊分為個人申報和基層單位申報,只有個人所屬的單位具有申報資格之后,個人才能申報,提供申報材料的上傳和申報模板的下載;審核模塊分為基層單位審核和管理員審核,只有基層單位審核通過之后,才提交給管理員審核。<
4、;/p><p> 本文使用全面的開發(fā)分析方法對網上職稱申報進行分析。介紹了所使用的技術,明確了系統的需求和可行性,提供了系統設計方案和具體實現方法并提供了系統的單元測試。最后,對此次論文做了總結。</p><p> 關鍵詞:職稱申報; 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 網上職稱申報國內外發(fā)展現狀1</p><p> 1.3 研究方法及研究內容1</p><p> 1.4
12、 相關技術理論介紹2</p><p> 1.4.1 軟件工程方法概述2</p><p> 1.4.2面向對象分析與設計2</p><p> 1.4.3數據庫理論知識3</p><p> 1.4.4 開發(fā)工具介紹4</p><p><b> 1.5本章小結5</b></p
13、><p> 第二章 系統分析6</p><p> 2.1 可行性研究6</p><p> 2.1.1 技術可行性6</p><p> 2.1.2 經濟可行性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數據模型分析10</p><p> 2.3本章小結15</p><p> 第三章 系統設計16</p><p> 3.1 系統過程設計16</p><p> 3
15、.2 功能模塊設計17</p><p> 3.2.1系統總體模塊設計17</p><p> 3.2.2 系統子模塊設計17</p><p> 3.3數據庫設計19</p><p> 3.4 系統類設計22</p><p> 3.4.1 系統類框架22</p><p> 3
16、.4.2 系統類圖22</p><p> 3.5本章小結24</p><p> 第四章 系統實現25</p><p> 4.3 系統功能實現27</p><p> 4.3.1 注冊登錄功能27</p><p> 4.3.2 個人管理模塊29</p><p> 4.3.3
17、用戶申報模塊30</p><p> 4.3.4 申報審核模塊30</p><p> 4.4 本章小結31</p><p> 第五章 系統測試32</p><p> 5.1 JUnit技術介紹32</p><p> 5.1.1 JUnit技術的優(yōu)點32</p><p> 5
18、.1.2 JUnit技術的特性32</p><p> 5.2 JUnit在本系統測試中的運用32</p><p> 5.3 本章小結34</p><p><b> 結論35</b></p><p><b> 參考文獻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> 隨著信息技術在我國的廣泛應用,社會活動越來越依賴計算機信息系統,很多政府、企業(yè)都構建了自己的管理應用系統??茖W技術的發(fā)展,社會文明的進步,人們的生活講究快節(jié)奏,講究舒適感,同時也講究效率。為了轉變傳統的職稱申報工作的低效率、高成本、尤其是后期對數據的維護難、處理難的現狀,將個人申報評審職稱所需要的所有文字材料按要求從以往的書面材料形式調整為格式固定的電子文檔進行申報提交,通過職稱評審系
21、統來填報個人申報信息,經單位主管部門和上級職改人事主管部門審核后,集中安排各系列評審委員會通過萬維網統一進行網上評審,最后進入后期服務系統進行審批和輸出相關結果從而實現無紙化評審;紙質材料轉變?yōu)閿底中畔⒔⒙毞Q信息數據庫,各級職稱信息化建設要與有關部門的信息網絡資源結合起來,避免低水平重復建設和資源浪費,逐步建立起職稱信息資源共享平臺,為職稱申報人員和審核人員服務。 </p><p> 1.2 網上職稱申報國內
22、外發(fā)展現狀</p><p> 網上職稱申報系統是隨著計算機技術的發(fā)展而產生的專門用于職稱申報信息管理的網絡化系統,是計算機技術、管理科學與分析技術相結合的產物。網上職稱申報系統自上個世紀九十年代末出現以來,到如今已經歷了20多年的發(fā)展。尤其是近七、八年來個人電腦的普及和信息技術的爆炸性發(fā)展,對網上職稱申報系統技術起到了巨大的推動作用。</p><p> 在歐美等國家,網上職稱申報系統早
23、就被應用到了各行各業(yè),他們的技術已經完全成熟,甚至移動終端上也已經開發(fā)出了在線職稱申報系統。</p><p> 由于我國計算機行業(yè)相對于歐美國家發(fā)展較慢,我國管理信息系統的開發(fā)應用是從上個世紀七十年代初期開始的,基本上采用的是學習和緊跟國外先進技術的方法。所以在網上職稱申報的開發(fā)和使用上,國內起步較晚。目前國內在對網上申報系統的重視度不高,市面上大多數網上職稱申報系統與同規(guī)模的國外產品相比在系統完善性,實用性及
24、擴展性方面存在明顯的不足。</p><p> 1.3 研究方法及研究內容</p><p> 本系統的主要內容是分析和設計一個基于B/S(Browser/Server,瀏覽器/服務器)模式的網上職稱申報系統,主要目的是解決現有的人工操作系統數據收集繁瑣,數據存儲復雜的弊端。為了充分體現申報人員、審核人員、后臺管理人員的可操作性、高效率性及高移植性,在頁面設計采用符合HTML規(guī)范,申報材料
25、以doc或excel提交,存儲在本地磁盤中。此處將申報材料存儲在本地磁盤中,可以方便的解決了低移植性問題,不用費神的在數據庫中為每個龐大的申報材料建立繁多的數據表,只要將材料的存儲路徑放入數據庫表中相應的字段中即可, 方便數據庫的數據管理、維護及后期數據的移植問題。</p><p> 本文采用的主要研究方法是通過互聯網絡查找并學習B/S系統所需使用的相關技術,熟悉系統開發(fā)的理論和基本過程。對于職稱申報過程和需求
26、的了解,則主要是通過查找相關文檔,參照其他相關系統的方法,獲得網上職稱申報的基本需求。本系統使用JAVA作為開發(fā)語言,開發(fā)工具主要有MyEclipse、powerdesigner、Oracle10g和plsql,以OOA(面向對象分析)方式分析系統的需求,以OOD(面向對象設計)實現系統的設計。</p><p> 1.4 相關技術理論介紹</p><p> 1.4.1 軟件工程方法概述
27、 </p><p> 計算機軟件的發(fā)展經歷了若干個不同的時期,反映了人們對軟件認識不斷加深的過程。軟件是“開發(fā)”出來的,不是“制造”出來的。著名的軟件工程專家 Boehm 綜合了有關專家和學者的意見,于一篇論文中提出了軟件工程的七條基本原理[1]:</p><p> (1)用分階段的生存周期計劃嚴格管理 ;</p><p> ?。?)堅持進行階段評審;</
28、p><p> ?。?)實施嚴格的產品控制;</p><p> (4)采用現代程序設計技術; </p><p> ?。?)結果應能清楚地審查;</p><p> ?。?)開發(fā)小組的成員應該少而精; </p><p> ?。?)承認不斷改進軟件工程實踐的必要性。 </p><p> 遵循前六條基本原
29、理就能按照現代軟件工程基本原理實現軟件的工程化生產[1],但是,僅有前六條原理并不能保證軟件開發(fā)與維護的過程能趕上時代的步伐和技術的進步,應該把承認不斷改進軟件工程實踐的必要性作為軟件工程的第七條基本原理。</p><p> 1.4.2面向對象分析與設計</p><p> 面向對象方法的出發(fā)點和基本原則是盡可能模擬人類習慣的思維方式,使開發(fā)軟件的方法與過程盡可能接近人類認識世界的方法與
30、過程,也就是說,要使得描述問題的問題空間與在計算機上解決問題的空間在結構上盡可能一致。</p><p> 傳統的結構化方法是軟件工程在80年代最為流行的方法。對于能夠預先確定需求的系統開發(fā),采用傳統的結構化方法非常有效;但是,對于需求模糊或隨時變化的系統開發(fā)來說,這種方法并不能很好適應。因此,對于需求經常變動的系統開發(fā)來說,人們有提出了面向對象的開發(fā)方法。面向對象開發(fā)技術便于系統開發(fā)者與用戶進行溝通,能夠開發(fā)出
31、用戶真正需要的軟件系統。從實際的角度出發(fā),面向對象方法結合能夠吸收面向對象方法所具有的穩(wěn)定性好、代碼可復用性高、可維護性好和代碼耦合度小的優(yōu)點[2]。</p><p> 本系統的整體過程以軟件工程的方法為指導思想,嚴格定義系統開發(fā)各個階段的任務。在每個階段又采用了面向對象分析和設計的具體方法,并輔助以UML相關圖表工具對系統進行建模。</p><p> 1.4.3數據庫理論知識<
32、/p><p><b> 1、數據庫建模</b></p><p> 模型是對現實世界特征的模擬和抽象數據模型是對現實世界數據特征的抽象。一般來說數據模型分為三類,即概念模型、邏輯模型和物理模型。概念數據模型也稱信息模型,它以實體-聯系(Entity-RelationShip,簡稱E-R)理論為基礎,并對這一理論進行了擴充。它從用戶的觀點出發(fā)對信息進行建模,主要用于數據庫
33、的概念級設計。邏輯模型是注重用邏輯的過程描述對象系統,描述系統要做什么。物理模型是描述構建數據倉庫的物理分布模型,主要包含數據倉庫的軟硬件配置,資源情況以及數據倉庫模式。</p><p> 2、Oracle簡介</p><p> Oracle數據庫系統是美國甲骨文公司開發(fā)的以分布式數據庫為核心的關系型數據庫,是目前最流行的數據庫之一。Oracle數據庫是目前軟件界使用最為普遍的關系型D
34、BMS(數據庫管理系統),它具有極其強大的數據管理功能,它是一個完備關系的產品,作為分布式數據庫它實現了極其強大的分布式處理功能。它適用于各種機器。</p><p> Oracle采用的是并行服務器模式,在并行訪問處理上具有非常大的優(yōu)點,在大型網絡管理系統中應用非常普遍,是極其成熟完備的關系型數據庫管理系統。</p><p> 3、HQL(Hibernate Query Languag
35、e,Hibernate查詢語句)</p><p> HQL查詢對查詢條件進行了面向對象封裝,符合編程人員的思維方式,提供了豐富的和靈活的查詢特性,因此Hibernate將HQL查詢方式立為官方推薦的標準查詢方式,HQL查詢提供了類似標準SQL語句的查詢方式,同時也提供了更加面向對象的封裝。完整的HQL語句形式如下:Select/update/delete…… from … where …… group by …
36、… having …… order by …… asc/desc 其中的update/delete為Hibernate3中所新添加的功能,可見HQL查詢非常類似于標準SQL查詢。并且HQL提供了對對象對象屬性的查詢,比如要根據用戶名查詢一個用戶是否存在,系統中有個用戶實體類:SysUser和實體類屬性userName,這時要從數據庫查詢數據就HQL語句可以如此寫:from SysUser user where user. usernam
37、e=:user,在把占位符的值設置進去就行,此查詢返回的就是一個存儲SysUser的List集合。本系統在持久化層使用了HQL技術對對象進行增刪改查。</p><p> 1.4.4 開發(fā)工具介紹</p><p><b> 1、Java 簡介</b></p><p> Java 是一種完全面向對象、跨平臺性和具有垃圾回收機制的主要面向web
38、 的軟件開發(fā)語言。它與傳統的面向結構和面向對象的程序語言有極大的不同,比如它的GC(GarbageCollection,垃圾回收期),不需要像C++程序去顯示調用析構函數釋放創(chuàng)建對象所分配的內存,JVM(JavaVirtualMachine ,Java虛擬機)本身可以幫助程序員來釋放內存,這在極大的程度上減少了程序的出錯率,增強了代碼的健壯性。同時 JVM技術使得采用 Java 語言編寫的程序可以跨平臺的使用[3],從 Windows
39、到Unix 再到 Linux,都有 Java 的身影。此外 Java 是一種純粹的面對對象的語言.這與以往的 C,或者更早的 Object Pascal 有了很大的不同,程序的結構更加清晰易懂。自從問世以來,Java 的快速發(fā)展已經讓整個 Web 軟件開發(fā)發(fā)生了翻天覆地的變化。隨著 JAVAEE(Java Enterprise Edition,Java企業(yè)級開發(fā)平臺)的推出,Java 在電子商務方面開始嶄露頭角,最新的 JSP 技術的推
40、出,更是讓 Java 成為基于 Web 的應用程</p><p><b> 2、JSP技術</b></p><p> JSP(JavaServerPage)技術是由Sun公司提出、多個IT公司參與合作建立的一種動態(tài)網頁開發(fā)技術標準。JSP規(guī)范是Web服務器[4],為JAVAEE開發(fā)實現VIEW層。 </p><p> 3、 Java 開發(fā)
41、框架簡介</p><p> ?。?)Spring介紹</p><p> Spring 是一個開源框架,它由 Rod Johnson 創(chuàng)建[5]。它是為了解決企業(yè)應用開發(fā)的復雜性而創(chuàng)建的。Spring 使用基本的 JavaBean 來完成以前只可能由 EJB 完成的功能。</p><p> ?。?)Struts2技術</p><p> St
42、ruts2是在WebWork框架的技術的基礎上開發(fā)出來的[6],全新的Struts2框架。它的體系結構與Struts1的有著巨大區(qū)別。Struts2以WebWork為核心[7],采用攔截器機制來處理用戶的請求,這樣的設計也使得Action完全擺脫了對Servlet API的耦合[7],因此Struts2的測試較之Struts來說就非常簡單,可以不用WEB服務器,直接使用JUnit進行單元測試。</p><p>
43、?。?)Hibernate技術</p><p> 大型應用軟件開發(fā)項目大都和大型數據庫技術密切相關。雖然JAVA提供了JDBC技術訪問數據庫,但是JDBC訪問數據庫的代碼非常的繁雜、容易出錯并且代碼耦合度高,不宜與維護,但是Hibernate框架[8]的出現在極大程度上改變了這種局面。</p><p> Hibernate主要包括:實體對象,Hibernate實體類映射文件,實體類位于
44、ORM對象層,使用映射文件將對象與關系型數據中的表相關聯;Hibernate配置文件,XML配置文件提供了更易編寫的結構和更強的配置能力,可以直接對映射文件加以讀取文件。整個Hibernate通過持久化層斜街應用層和Hibernate框架的交互,通過Hibernate技術[9],開發(fā)的軟件可以把數據庫作為一個對象使用,這比直接使用JDBC操作數據庫簡單很多并且維護性強,對應于企業(yè)開發(fā)模式,Hibernate體現了面向它對象技術的精髓,將
45、數據庫表對象化,把數據庫字段屬性化,并為每個屬性生成對應的getter和setter方法,應用程序要對數據庫操作,只需使用HSQL語句操作實體對象就可以達到之前JDBC訪問的效果,整個框架圖如圖1.1所示: </p><p> 圖 1.1 Hibernate主框架圖</p><p> Hibernate的配置主要是用來建立SessionFactory的,通過Configuration類
46、來提供這些配置細節(jié), 配置過程簡單,這也是通過Hibernate統一管理的優(yōu)點之一。</p><p><b> 1.5本章小結</b></p><p> 本章主要闡述了本課題的選題意義,分析了職稱申報系統在國內外的發(fā)展現狀,簡單介紹了本課題的研究內容與研究方法,有利于后面課題研究的進行。 </p><p><b> 第二章 系統
47、分析</b></p><p> 系統分析是系統軟件定義時期的最后一個階段,這個階段的任務仍然不是具體地解決問題,而是準確的確定“為了解決這個問題,目標系統必須做什么”。系統分析階段包括系統的可行性研究與需求分析兩個部分[2]。</p><p><b> 2.1 可行性研究</b></p><p> 可行性研究是在粗略地了解了用
48、戶的需求之后,提出幾種可行的解決方案,并進行多方面論證的過程??尚行匝芯康幕灸康氖怯幂^小的成本在較短的時間內確定系統是否存在可行的解法,有關用戶需求的很多細節(jié)并不會被包含在可行方案中,所以在可行性論證之后,還要進行詳細的需求分析。</p><p> 可行性分析是通過對項目的主要內容和配套條件,如市場需求、資源供應、建設規(guī)模、工藝路線、設備選型、環(huán)境影響、資金籌措、盈利能力等,從技術、經濟、工程等方面進行調查研
49、究和分析比較,并對項目建成以后可能取得的財務、經濟效益及社會環(huán)境影響進行預測,從而提出該項目是否值得投資和如何進行建設的咨詢意見,為項目決策提供依據的一種綜合性的系統分析方法。可行性分析應具有預見性、公正性、可靠性、科學性的特點。</p><p> 2.1.1 技術可行性</p><p> 本系統以Tomcat為WEB服務器,JAVAEE、Hibernate、Spring和Struts
50、2實現后臺程序功能,JSP、JS和HTML實現前臺顯示,Oracle實現數據庫設計。</p><p> IT行業(yè)經過這么多年的發(fā)展,以現在的web技術完全可以實現網上教師職稱申報系統。所以從技術上來說,本系統是完全可行的</p><p> 2.1.2 經濟可行性</p><p> 網上職稱申報系統較之于傳統的職稱申報,節(jié)省人力物力,省去了申報材料的管理,免除了
51、繁瑣的材料管理事務既減少了紙張等辦公用品的使用成本,也節(jié)約了聘用大量專管人員的開銷。而網上職稱申報系統的客戶端依賴于瀏覽器,只要有瀏覽器的PC(Personal Computer,個人電腦)即可支持,所以也節(jié)約了專項客戶端機器的開銷。</p><p> 由于此網上職稱申報系統的開發(fā)屬于個人研究項目,所以不需要額外的成本,只需一臺PC機和一些免費軟件就行。以現在的經濟環(huán)境,完全可以實現。</p>&
52、lt;p> 2.1.3 社會可行性</p><p> 在現實中,早已經存在類似的網上職稱申報系統,而本系統只是一個個人研究項目,項目功能實現在現有的系統中進行參考,完全符合相關法律和政策的規(guī)定,所以本系統的開發(fā),符合法律的規(guī)定。</p><p> 2.2 用戶需求分析</p><p> 需求分析是理解用戶需求,使軟件功能與用戶要求達成一致,并且估計軟件
53、風險和評估項目代價,最終共形成開發(fā)計劃的一個復雜過程。需求分析是軟件開發(fā)期的第一個階段,也是關系到軟件開發(fā)成敗的關鍵步驟。它的基本任務是準確的回答“系統必須做什么”的問題[1]。</p><p> 所有的開發(fā)軟件都是以用戶需求為驅動的,所以,軟件開發(fā)過程中第一步也是最重要的一步就是搞清楚用戶的需求,并對用戶的需求進行準確詳盡的描述。</p><p> 2.2.1 功能需求描述</
54、p><p> 網上職稱申報系統的主要用戶分為個人用戶、基層單位用戶和管理員用戶。不同的用戶擁有不同的權限。</p><p><b> 1、個人用戶</b></p><p> 個人用戶是職稱申報系統的主體,它們對于系統的功能需求主要包括:</p><p> ?。?)注冊、登錄、找回密碼,以及基本信息修改功能。</p
55、><p> ?。?)申辦業(yè)務類型選擇。比如專業(yè)技術資格評審、專業(yè)技術資格認定、業(yè)務咨詢等等,再選擇具體的申報業(yè)務,比如XXX高級資格評審。</p><p> ?。?)錄入詳細的申報信息,比如申報人的基本信息、專業(yè)技術資格歷史情況、教育情況、工作簡歷、計算機應用能力(需要的話),同時能根據要求提供審核材料的電子文檔上傳。</p><p> (4)送審。完成申報錄入之后,
56、點擊送審。</p><p> ?。?)查看評審結果。</p><p><b> 2、基層單位用戶</b></p><p> 個人的申報材料首先要提交到具有申報資格的基層單位,經過基層單位審核通過之后,再由基層單位提交送審,所以基層單位是申報的主體之一,也是審核主體之一。它們對于系統的功能需求主要包括:</p><p>
57、; ?。?)注冊、登錄、找回密碼,以及基本信息修改功能。</p><p> (2)申辦業(yè)務類型選擇。比如專業(yè)技術資格評審、專業(yè)技術資格認定、業(yè)務咨詢等等,再選擇具體的申報業(yè)務,比如XXX高級資格評審。</p><p> ?。?)錄入詳細的申報信息,比如申報人的基本信息、專業(yè)技術資格歷史情況、教育情況、工作簡歷、計算機應用能力(需要的話),同時能根據要求提供審核材料的電子文檔上傳。<
58、/p><p> ?。?)送審。完成申報錄入之后,點擊送審。</p><p> ?。?)查看評審結果。</p><p> ?。?)對本單位的職員提交的申請做初步的審核,如果不能通過,則直接打回,如果通過,就將申報人的信息、資料、所申請的職稱和本單位對該申報人的審核意見提交到審核單位, 上傳單位公示照片。 </p><p> ?。?)跟蹤評審結果。&
59、lt;/p><p><b> 3、管理員用戶</b></p><p> 管理員用戶是系統的主要管理者,它負責整個系統的維護,也是申報流程的最終的審核者。它的系統功能需求主要包括:</p><p> ?。?)注冊、登錄、找回密碼,以及基本信息修改功能。</p><p> ?。?)查看當前申報信息。查看有多少新增申報。<
60、;/p><p> ?。?)審核申報信息。審核基礎單位信息,判斷該單位是否有資格進行職員的職稱申報,如果沒有,則該單位所有的申報工作都不能進行。</p><p> ?。?)如果提交申報材料的基層單位擁有職稱申報的資格,則審核該單位提交的職員的職稱申報材料和該單位歲該申報員的意見。</p><p> ?。?)提交審核結果。</p><p> 2.2
61、.2 需求建模</p><p> 用例圖(Use Case Diagram)是由軟件需求分析到最終實現的第一步,它描述如何使用一個系統[10]。用例視圖顯示誰是相關的用戶、用戶希望系統提供什么樣的服務,以及用戶需要為系統提供的服務,以便使系統的用戶更容易理解這些元素的用途,也便于軟件開發(fā)人員最終實現這些元素[11]。</p><p><b> 1、用戶用例</b>
62、</p><p> 用戶用例圖如圖2.1所示。</p><p><b> 圖2.1用戶用例圖</b></p><p> 2、個人用戶用例和基層單位用例</p><p> 個人用戶用例和基層單位用例圖如圖2.2所示:</p><p> 圖2.2個人用戶用例和基層單位用例圖</p>
63、;<p><b> 3、管理員用戶用例</b></p><p> 管理員用例圖如圖2.3所示。</p><p> 圖2.3管理員用戶用例圖</p><p> 2.2.3數據模型分析</p><p> 數據庫在一個信息管理系統中占有非常重要的地位,數據庫結構設計[12]的好壞將直接對應用系統的效率,
64、以及實現的效果產生影響。合理的數據庫結構設計可以提高數據存儲的效率,保證數據的完整和一致。</p><p> 1、數據實體E-R圖</p><p> 本系統必須保證具有不同權限的用戶進入此系統的時候,展示的頁面菜單不同,及該改用戶所擁有的權限及功能就是他所能見到的這些菜單。所以用戶管理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> 申報過程是系統的主要業(yè)務,其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 申報業(yè)務E-R圖</p>
67、;<p> 下面介紹系統實體E-R圖</p><p> ?。?)系統權限實體主要包括權限ID、父權限、權限文本、權限地址等。系統權限實體圖如圖2.6所示。</p><p> 圖2.6系統權限實體圖</p><p> ?。?)系統角色實體主要包括角色ID、角色描述、角色名稱等。系統角色實體圖如圖2.7所示。</p><p>
68、 圖2.7系統角色實體圖</p><p> ?。?)角色權限實體主要包括ID、角色ID、權限ID等。角色權限實體圖如圖2.8所示。</p><p> 圖2.8 角色權限實體圖</p><p> ?。?)基層單位實體主要包括單位ID、單位名稱、公式照片地址、單位所在地、申報資格等?;鶎訂挝粚嶓w圖如圖2.9所示。</p><p> 圖2.9基
69、層單位實體圖</p><p> ?。?)申報個人實體主要包括用戶ID、用戶名、密碼、單位ID、用戶角色ID、申報資格、真實姓名、身份證號、email、電話等。用戶實體圖如圖2.10所示。</p><p> 圖 2.10 用戶實體圖</p><p> ?。?)職稱實體主要包括。職職稱ID、職稱類型、職稱等級、職稱名。職稱實體圖如圖2.11所示。</p>
70、<p> 圖2.11 職稱實體圖</p><p> 7)資料實體主要包括資料ID、用戶ID、資料名、資料保存路徑等。資料實體圖如圖2.12所示。</p><p> 圖 2.12 申報資料實體圖</p><p> ?。?)申報記錄實體,申報個人與職稱之間的關聯的記錄。主要包括ID、申報人ID、職稱ID、業(yè)務名、申報時間、最終結果和管理員審核結果等。申
71、報記錄實體圖如圖2.13所示。</p><p> 圖 2.13 申報記錄實體圖</p><p><b> 數據流圖和數據字典</b></p><p> 數據流圖也稱為數據流程圖(DFD,Date Flow Diagram)是一種便于用戶理解和分析系統數據流程的圖形工具,他擺脫了系統和具體內容,精確的在邏輯上描述系統的功能、輸入、輸出和數據
72、存儲等。數據字典書關于數據的信息的集合,也就是對數據流圖中包含的所有元素的定義的集合[10]。</p><p> ?。?)用戶申報數據流圖如圖2.14所示。</p><p> 圖 2.14 用戶申報數據流圖</p><p> 對應的數據字典如下: </p><p> 1)申報業(yè)務用戶信息數據流條目如表2.1所示。</p>
73、<p> 表2.1 申報用戶信息業(yè)務數據流條目表</p><p> 2)申報業(yè)務職稱信息數據流條目如表2.2所示。</p><p> 表2.2 申報業(yè)務職稱信息數據流條目表</p><p> 3)申報業(yè)務申報資料信息數據流條目如表2.3所示。</p><p> 表2.3 申報業(yè)務申報資料信息數據流條目表</p>
74、;<p> 4)申報業(yè)務申報記錄信息數據條目如表2.4所示。</p><p> 表2.4申報業(yè)務申報記錄信息數據流條目表</p><p> (2)申報審核數據流圖如圖2.15所示。</p><p> 圖 2.15 審核數據流圖</p><p> 對應的數據字典如下: </p><p> 1)審
75、核業(yè)務用戶信息數據流條目如表2.5所示。</p><p> 表2.5 審核用戶信息業(yè)務數據流條目表</p><p> 2)審核業(yè)務申報資料信息數據流條目如表2.6所示。</p><p> 表2.6 審核業(yè)務申報資料信息數據流條目表</p><p> 3)申報業(yè)務審核記錄信息數據條目如表2.7所示。</p><p&g
76、t; 表2.7 審核業(yè)務審核記錄信息數據流條目表</p><p><b> 2.3本章小結</b></p><p> 本章節(jié)對網上職稱申報系統進行了可行性研究、需求分析和物理建模。通過可行性研究得到本系統開發(fā)所需條件,需求分析得出了網上職稱申報系統必須完成的功能,通過建立物理模型,可以清晰直觀的對本系統的用例、活動和數據存儲進行描述。</p>&l
77、t;p><b> 第三章 系統設計</b></p><p> 經過需求分析階段的工作,系統必須“做什么”已經很清楚了,現在是決定怎樣做的時候。總體設計的基本目的就是回答“做什么,系統應該如何實現?”這個問題,因此,又稱為概要設計或初步設計。通過這個階段的工作劃分出組成系統的物理元素----程序、文件、數據庫、人工過程和文檔等等。系統設計階段另一項重要任務時設計軟件的結構,也就是要確
78、定系統每個程序由那些模塊組成的,以及這些模塊相互間的關系[2]。</p><p> 3.1 系統過程設計</p><p> 系統流程圖可以描述系統處理的過程,借助系統的程序流程圖能讓我們更好的對系統各個子系統的功能進行設計。</p><p> 網上職稱申報系統的系統流程圖如圖3.1所示。</p><p><b> 否<
79、/b></p><p><b> 是</b></p><p> 一般用戶管理員</p><p> 圖 3.1 網上職稱申報系統流程圖</p><p> 3.2 功能模塊設計</p><p> 根據前面的需求分析中的功能需求分析和物理建模,得到了網上職稱申報系統的功能需求。
80、分析這些功能需求,總結出本系統主要分為用戶模塊、申報模塊和審核模塊。</p><p> 3.2.1系統總體模塊設計</p><p> 網上職稱申報系統主要包括用戶、申報和審核三大部分,系統功能如圖3.2所示。</p><p> 圖3.2 網上職稱申報系統功能圖</p><p> 3.2.2 系統子模塊設計</p><
81、;p> 本系統主要分為用戶模塊、申報模塊和審核模塊。</p><p><b> 1、用戶模塊</b></p><p> 用戶模塊包括用戶分角色注冊、用戶分角色登錄、增加詳細信息、修改詳細信息、修改密碼等部分。用戶管理子模塊圖如圖3.3所示。</p><p> 圖 3.3 用戶管理子模塊圖</p><p>
82、?。?)注冊:本系統用戶注冊分為個人用戶注冊和基層單位用戶注冊,填寫用戶信息,進行注冊,注冊成功之后將得到一個合法的系統用戶身份。</p><p> (2)登錄:本系統用戶角色分為三類,即個人用戶、基層單位用戶和管理員用戶,不同的角色用戶,登錄之后顯示不同的權限菜單。</p><p><b> 2、申報模塊</b></p><p> 申報
83、模塊主要包括個人用戶申報和基層單位申報,提供下載職稱申報資料模板、上傳申報資料、提交申報和查看申報結果等功能。職稱申報子模塊圖如圖3.4所示。</p><p> 圖3.4 職稱申報子模塊圖</p><p> (1)申報材料模板下載:具有申報資格的用戶登錄之后,可以下載申報材料模板,進行信息填寫。</p><p> ?。?)申報材料上傳:當用戶填寫完申報材料之后,
84、可進行材料的上傳。</p><p><b> 3、審核模塊</b></p><p> 審核模塊主要包括基層單位審核和管理員審核。個人申報必須經過它所在的基層單位審核通過之后才能提交到管理員進行審核。此模塊提供查看申報記錄、下載申報材料和提交審核結果等功能。審核子模塊圖如圖3.5所示。</p><p> 圖3.5 審核子模塊圖</p&
85、gt;<p> (1)查看未審核申報記錄:如果當前用戶為基層單位用戶,則可以查看當前用戶所在單位的所有員工的未經審核的或基層單位審核未通過的申報記錄;如果當前用戶為管理員用戶,只可以查看經過基層單位審核通過的申報記錄及基層單位申報的未經管理員審核或審核未通過的記錄。</p><p> (2)提交審核結果:提交經過審核的申報記錄的審核結果。</p><p><b>
86、; 3.3數據庫設計</b></p><p> 根據系統需求分析過程中,對數據建模的結果,設計出系統共有9張業(yè)務表他們分別是:</p><p> ?。?)系統權限表。此表用于保存系統用戶權限,表結構如表3.1所示。</p><p><b> 表3.1系統權限表</b></p><p> ?。?)系統角色
87、表。此表用于保存系統角色,表結構如表3.2所示。</p><p> 表3.2 系統角色表</p><p> ?。?)角色權限表。用于系統權限表和系統角色表的中間表,表結構如表3.3所示。</p><p> 表3.3 角色權限表</p><p> ?。?)基層單位表。用于保存基層單位信息,表結構如表3.4所示。</p><
88、;p> 表3.4 基層單位表</p><p> (5)職稱表。用于保存申報的職稱的信息,表結構如表3.5所示。</p><p><b> 表3.5 職稱表</b></p><p> ?。?)用戶表。用于保存系統用戶信息,表結構如表3.6所示。</p><p><b> 表3.6 用戶表</b
89、></p><p> ?。?)申報個人表。用于保存申報人員的信息。表結構如表3.7所示。</p><p> 表3.7 申報個人表</p><p> ?。?)業(yè)務表。用于保存職稱申報的信息,表結構如表3.8所示。</p><p><b> 表3.8 業(yè)務表</b></p><p> (9
90、)申報材料表。用于報訊申報人上傳的材料信息,表結構如表3.9所示。</p><p> 表3.9 材料上傳存放表</p><p><b> 3.4 系統類設計</b></p><p> 3.4.1 系統類框架</p><p> 本系統采用企業(yè)軟件設計模式,系統分三層,即DAO層用于持久化、Service層用于業(yè)務處
91、理和Action層用于數據接收和轉發(fā),所以類結構也分為這三層。DAO層和Service層都各自提供一個接口和頂層抽象類。</p><p> 3.4.2 系統類圖</p><p> 所有的實體類對實現序列化接口,各實體類之間的關聯如圖4.2所示。DAO層提供訪問數據庫的功能,DAO層類都繼承自一個抽象類:BaseHibernateDAOImpl,而這個抽象類又繼承子hibernate框架
92、中的HibernateDaoSupport類,DAO層各具體類都值實現父類的唯一一個抽象方法:public Class<?> getEntityClass() ,返回當前類要操作的實體類的Class對象。Servic層提供對業(yè)務的處理,每一類業(yè)務提供一個接口和一個實現類,接口中提供此類業(yè)務需要的方法,實現類去具體實現,并在實現類中注入要操作的DAO層類對象。Action層提供form表單數據的接收和轉發(fā)功能,在每個Actio
93、n類中注入相應的Service類對象,進行數據的轉發(fā)。</p><p> 1、系統用戶管理核心類</p><p> 根據三層架構,設計系統用戶管理核心類圖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注入相對應的Service層類對象。屬性msg和getMsg用于登錄驗證失敗后向登錄頁面顯示錯誤原因。屬性context是Action上下文對象,用于獲得Map<String,Object&
95、gt;類型的session和request對象,此兩種對象用于保存要傳到JSP頁面的值。而addInformation、changePwd、registUser、regist、logoin和showLift等方法用于頁面請求action的轉發(fā)。</p><p> ?。?) UserServiceImpl類是用戶管理模塊Service層核心類,實現UserService接口,通過Spring的IOC(Inversi
96、onofControl,控制反轉)動態(tài)注入UserDAO接口的相對于的實現類對象,通過在方法中調用UserDAO類的對應方法實現action轉發(fā)過來的業(yè)務的處理。</p><p><b> 2、申報核心類</b></p><p> 根據三層架構,設計系統申報核心類圖如圖3.7所示。</p><p> 圖3.7 申報核心類圖</p&g
97、t;<p><b> 申報核心類說明:</b></p><p> ?。?)DeclareAction是申報業(yè)務的action層的核心類,通過Spring IOC容器注入DeclareServiceImpl對象,在此類中提供屬性user、posScale和posType及對象的getter和setter方法,用于接收頁面?zhèn)鬟f的form表單的值。declare()方法用于處理頁面
98、請求的action,在當中調用DeclareServiceImpl對應的方法處理業(yè)務。</p><p> ?。?)DeclareServiceImpl是申報業(yè)務的Service層的核心業(yè)務處理類。通過Spring IOC容器動態(tài)注入OperationDAO、UserDAOImpl和PosDAO等DAO層類對象。通過相應的方法處理action業(yè)務。</p><p><b> 3.
99、5本章小結</b></p><p> 本章怕給出了網上職稱申報系統的系統流程、主要功能模塊和數據庫的表設計,詳細的描述了系統的功能。通過本章的描述,未后面的系統實現提供參考支持。</p><p><b> 第四章 系統實現</b></p><p> 通過前面的基礎理論介紹、可行性研究、需求分析和系統設計,已經確定了本網上職稱申
100、報系統需要實現的具體功能和實現方法?,F在介紹本系統的系統實現。</p><p><b> 4.1環(huán)境搭建</b></p><p> 本系統以Tomcat6.0為服務器,Hibernate實現DAO層,Struts2實現Action,Spring管理數據對象的注入,JSP做數據顯示。</p><p><b> 4.2 數據庫訪問&
101、lt;/b></p><p> 本系統主要通過MyEclipse下的DataBase Connection Driver實現對數據庫進行訪問,Hibernate提供了方便快捷的訪問方式,即只要在hibernate.cfg.xml文件中配置相應的數據即可,同時還需要加入對應的JDBC驅動包。</p><p> 1、Hibernate數據庫連接配置</p><p&
102、gt; 在hibernate.cfg.xml文件中,指定數據庫連接字符串配置信息,實現主要代碼如下:</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> 在這段代碼中,分別設置了數據庫連接的url、連接的用戶名和密碼、數據庫驅動類和夾在實體類的hibernate配置文件。</p><p> 2、數據庫事務代理配置</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. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機科學與技術專業(yè)畢業(yè)設計----網上書店系統
- 計算機專業(yè)畢業(yè)設計---網上書店的設計與實現
- 計算機科學與技術專業(yè)網站設計與實現畢業(yè)論文
- 計算機科學與技術專業(yè)畢業(yè)設計題目
- 畢業(yè)設計(論文)+計算機科學與技術+基于discuz!的大學計算機基礎論壇系統設計與實現
- 計算機科學與技術畢業(yè)設計-資料管理系統設計與實現
- 計算機科學與技術畢業(yè)設計-賓館管理系統的設計與實現
- 計算機科學與技術專業(yè)畢業(yè)論文(設計)
- 計算機科學與技術專業(yè)(本科)畢業(yè)設計論文寫作指導
- 計算機科學與技術畢業(yè)設計
- 計算機專業(yè)畢業(yè)論文---網上書店設計與實現
- 計算機科學與技術專業(yè)畢業(yè)設計(論文)港口貨運統計與決策支持系統的設計與實現
- 畢業(yè)設計(論文)計算機科學與技術專業(yè)本科畢業(yè)設計(論文)大綱
- 計算機科學與技術畢業(yè)設計-病床呼叫管理系統的設計與實現
- 計算機科學與技術畢業(yè)設計(論文)外文翻譯
- 計算機科學與技術畢業(yè)論文-資料管理系統設計與實現
- 計算機科學與技術畢業(yè)論文-賓館管理系統的設計與實現
- 計算機專業(yè)畢業(yè)設計--在線考試系統的設計與實現
- 計算機科學與技術畢業(yè)設計基于j2ee的網上書店系統的設計與實現
- 基于web的圖書管理系統的設計與實現計算機科學與技術畢業(yè)設計論文
評論
0/150
提交評論