版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、<p> 湖 南 科 技 大 學</p><p> 畢 業(yè) 設 計( 論 文 )</p><p> 二〇一一 年 六 月 一 日</p><p> 題目機械工藝圖紙管理系統(tǒng)的設計與實現(xiàn)</p><p> 作者</p><p> 學院計算機科學與工程</p><p> 專業(yè)
2、計算機科學與技術</p><p> 學號0705010309</p><p> 指導教師</p><p> 湖 南 科 技 大 學</p><p> 畢業(yè)設計(論文)任務書</p><p> 計算機科學與工程 學院 計算機科學與技術 系(教研室)</p><p>
3、系(教研室)主任: (簽名) 年 月 日</p><p> 學生姓名: 學號: 0705010309 專業(yè): 計算機科學與技術 </p><p> 1 設計(論文)題目及專題: 機械工藝圖紙管理系統(tǒng)的設計與實現(xiàn) </p><p> 2 學生設計(論文)時
4、間:自 2011 年 03 月 01 日開始至 2011 年 06 月 01 日止</p><p> 3 設計(論文)所用資源和參考資料:</p><p> Struts2深入詳解 孫鑫 著 電子工業(yè)出版社出版 2008-7</p><p> Hibernate 官網(wǎng)http://www.hibernate.org/ </p><p&g
5、t; Struts2 官網(wǎng)http://struts.apache.org/</p><p> 4 設計(論文)應完成的主要內(nèi)容:</p><p> 5 提交設計(論文)形式(設計說明與圖紙或論文等)及要求:</p><p> 6 發(fā)題時間: 2011 年 03 月 01 日</p><p> 指導教師:
6、 (簽名)</p><p> 學 生: (簽名)</p><p> 湖 南 科 技 大 學</p><p> 畢業(yè)設計(論文)指導人評語</p><p> [主要對學生畢業(yè)設計(論文)的工作態(tài)度,研究內(nèi)容與方法,工作量,文獻應用,創(chuàng)新性,實用性,科學性,文本(圖紙)規(guī)范程度,存在的不足等進
7、行綜合評價]</p><p> 指導人: (簽名)</p><p><b> 年 月 日</b></p><p> 指導人評定成績: </p><p> 湖 南 科 技 大 學</p><p> 畢業(yè)設計(論文)評閱人評語</p>
8、;<p> [主要對學生畢業(yè)設計(論文)的文本格式、圖紙規(guī)范程度,工作量,研究內(nèi)容與方法,實用性與科學性,結(jié)論和存在的不足等進行綜合評價]</p><p> 評閱人: (簽名)</p><p><b> 年 月 日</b></p><p> 評閱人評定成績: </p&g
9、t;<p> 湖 南 科 技 大 學</p><p> 畢業(yè)設計(論文)答辯記錄</p><p> 日期: </p><p> 學生: 學號: 0705010309 班級: 07050103 </p><p> 題
10、目: 機械工藝圖紙管理系統(tǒng)的設計與實現(xiàn) </p><p> 提交畢業(yè)設計(論文)答辯委員會下列材料:</p><p> 1 設計(論文)說明書共頁</p><p> 2 設計(論文)圖 紙共頁</p><p> 3 指導人、評閱人評語共頁&
11、lt;/p><p> 畢業(yè)設計(論文)答辯委員會評語:</p><p> [主要對學生畢業(yè)設計(論文)的研究思路,設計(論文)質(zhì)量,文本圖紙規(guī)范程度和對設計(論文)的介紹,回答問題情況等進行綜合評價]</p><p> 答辯委員會主任: (簽名)</p><p> 委員: (
12、簽名)</p><p><b> ?。ê灻?lt;/b></p><p><b> (簽名)</b></p><p><b> ?。ê灻?lt;/b></p><p> 答辯成績: </p><p> 總評成績: <
13、;/p><p><b> 摘 要</b></p><p> 隨著科技的發(fā)展, 時代的進步,工業(yè)生產(chǎn)管理慢慢由原始的人工管理向智能化管理轉(zhuǎn)變。長沙天鵝泵業(yè)有限公司在生產(chǎn)水泵的過程中,由于機械圖紙?zhí)?,人工管理起來比較困難,不得不考慮采用科學化的管理方式。</p><p> 本論文主要闡述了如何利用J2EE的Struts和Hibernate
14、框架開發(fā)一個性能優(yōu)越、可擴展性強和安全可靠穩(wěn)定的機械工藝圖紙管理系統(tǒng)。同時還論述了該機械工藝圖紙管理系統(tǒng)具體功能的實現(xiàn)過程,主要包括數(shù)據(jù)庫的設計,圖紙管理功能、工藝卡管理功能,用戶管理,角色管理,通知管理,上傳功能,下載功能等等。</p><p> 本機械工藝圖紙管理系統(tǒng)界面美觀,簡潔大方,容易操作,比較實用。</p><p> 關鍵詞: Struts;Hibernate;機械工藝圖紙
15、管理系統(tǒng);</p><p><b> Abstract</b></p><p> With the development of science and technology and the progress of the times, industrial production management gradually changes from original
16、 artificial management to the intelligent management. Due to too many mechanical drawings, it is too difficult for Tianepump to adopt artificial management in the process of producing water pumps, so The Changsha Tianepu
17、mp has to take the use of scientific management into account to manage mechanical drawings and process card. </p><p> This article mainly expounds how to use J2EE ’s Struts and Hibernate framework to devel
18、op a secure, reliable and stable mechanical process drawings management system with superior performance and high scalability. It also discusses the implementation procedure of specific function of the system, includin
19、g the design of database, the function of drawing management and process card management, the user management, the role management, the notification management, uploading and downloading, etc.</p><p> The m
20、echanical process drawings management system is artistic and succinct in interface. It is also easily-operated and practical.</p><p> Keywords: Struts; Hibernate; drawing management system.</p><
21、p><b> 目錄</b></p><p> 第一章 緒 論- 1 -</p><p> 1.1 項目背景分析- 1 -</p><p> 1.2 論文的主要內(nèi)容- 1 -</p><p> 1.3 論文的結(jié)構(gòu)- 2 -</p><p> 第二章 相關技術簡介- 3
22、 -</p><p> 2.1 Struts2技術簡介- 3 -</p><p> 2.2 hibernate技術簡介- 5 -</p><p> 第三章 需求分析- 9 -</p><p> 3.1目標定義- 9 -</p><p> 3.2 系統(tǒng)功能需求- 9 -</p><
23、;p> 3.3可行性研究- 10 -</p><p> 3.4系統(tǒng)環(huán)境要求- 10 -</p><p> 第四章 概要設計- 12 -</p><p> 4.1 架構(gòu)設計- 12 -</p><p> 4.2 功能模塊設計- 12 -</p><p> 4.3 數(shù)據(jù)結(jié)構(gòu)設計- 13 -&
24、lt;/p><p> 4.3.1 圖數(shù)據(jù)庫設計規(guī)范- 13 -</p><p> 4.3.2 ER關系圖設計- 14 -</p><p> 4.3.3 ER圖補充- 14 -</p><p> 4.3.3 數(shù)據(jù)庫表設計- 16 -</p><p> 第五章 詳細設計- 19 -</p>
25、<p> 5.1 系統(tǒng)配置- 19 -</p><p> 5.1.1 應用層配置- 19 -</p><p> 5.1.2 數(shù)據(jù)庫連接配置- 22 -</p><p> 5.2用戶注冊登錄模塊- 23 -</p><p> 5.3權限控制設計- 24 -</p><p> 5.4圖紙信息
26、管理模塊的實現(xiàn)- 25 -</p><p> 5.4.1 設計目的- 25 -</p><p> 5.4.2 視圖層設計- 26 -</p><p> 5.4.3 業(yè)務層處理- 28 -</p><p> 5.4.4 數(shù)據(jù)層處理- 30 -</p><p> 第六章 總結(jié)與展望- 33 -<
27、;/p><p> 參考文獻- 34 -</p><p> 致 謝- 35 -</p><p><b> 第一章 緒 論</b></p><p> 1.1 項目背景分析</p><p> 受長沙天鵝泵業(yè)股份有限公司的委托,幫忙開發(fā)一個機械工業(yè)圖紙管理系統(tǒng) 。由于該公司加工水泵的過程中,先
28、需要一個機械圖紙,機械根據(jù)圖紙上的信息描述來加工水泵的部件。由于水泵型號多,機械圖紙設計工程師們工作量也就比較大,設計出來的機械工藝圖紙想當多,結(jié)果給水泵加工過程造成了一個想當嚴重的問題。加工過程中,弄不清那個圖紙對應哪一個型號的水泵了。或者是加工完某一型號的水泵之后用過了這一型號的圖紙之后,隔了一段時間 又需要再加工該類型號的水泵時找不到這個型號的圖紙了。不得不再次求助于機械工藝圖紙設計師重新設計圖紙。這顯然是管理上的失誤,才給工藝圖
29、紙設計師造成額外的工作。當然也不能全怪管理員了。主要是沒有一個合適的管理工具。因此,開發(fā)一個合適的機械工藝圖紙管理系統(tǒng)是很有必要的??梢詼p輕管理員的工作,機械圖紙設計師的工作,同時也方便水泵加工過程中查找圖紙的方便。</p><p> 1.2 論文的主要內(nèi)容</p><p> 本文將闡述一個基于J2EE技術的機械工藝圖紙管理系統(tǒng)的設計與實現(xiàn),主要實現(xiàn)工藝圖紙的管理(上傳圖紙、下載圖紙、
30、搜索查詢圖紙),機械工藝卡的管理(上傳工藝卡、下載工藝卡、搜索查詢工藝卡等)其目的是給長沙天鵝泵業(yè)有限公司提供一個圖紙管理系統(tǒng),方便水泵加工過程中圖紙模板的查找,保證圖紙的唯一性,減少公司管理層得工作量的一個信息平臺。</p><p> 該機械工藝圖紙管理系統(tǒng)應該具備如下功能:發(fā)布圖紙信息功能,修改圖紙信息功能,上傳圖紙功能,下載圖紙功能, 搜索查詢圖紙功能;發(fā)布工藝卡信息功能,修改工藝卡信息功能,上傳工藝卡功
31、能,下載工藝卡功能,搜索查詢工藝卡功能;用戶組管理功能;用戶管理功能;消息通知管理功能等。</p><p> 文章將首先闡述機械工藝圖紙管理系統(tǒng)分析部分,包括可行性分析、需求分析、業(yè)務流程分析等;系統(tǒng)概要設計部分將主要介紹該系統(tǒng)的總體設計、功能設計、架構(gòu)設計以及數(shù)據(jù)結(jié)構(gòu)設計;系統(tǒng)詳細設計部分將說明整個系統(tǒng)的數(shù)據(jù)庫設計,接口設計以及幾個主要功能模塊的流程圖與算法以及其各自的實現(xiàn)代碼,并對實現(xiàn)該論壇的一些關鍵技術和
32、組件進行簡單的介紹;最后論文將對整個系統(tǒng)的設計過程與結(jié)果進行總結(jié),總結(jié)該系統(tǒng)的不足之處,并對這些不足之處提出修改意見;其次就是對該系統(tǒng)的未來進行展望,看還有哪些技術值得改進可以使得運行效率更高。</p><p><b> 1.3 論文的結(jié)構(gòu)</b></p><p> 第二章為相關技術的介紹,首先介紹本機械工藝圖紙管理系統(tǒng)中所用的到Stuts2技術,然后在介紹Hib
33、ernate技術。</p><p> 第三章為整個系統(tǒng)需求分析,將包括系統(tǒng)的目標定義、系統(tǒng)的功能需求分析、系統(tǒng)的可行性分析、系統(tǒng)開發(fā)環(huán)境等方面進行簡要介紹。</p><p> 第四章為概要設計,將包括系統(tǒng)架構(gòu)設計,系統(tǒng)功能模塊設計與數(shù)據(jù)結(jié)構(gòu)設計三個大的方面。</p><p> 第五章為整個機械工藝圖紙管理系統(tǒng)的詳細設計,在這一章論文將列出3到4個模塊進行詳細講
34、解,其它的功能模塊則進行簡單說明。另外論文將詳細闡述本機械工藝圖紙管理系統(tǒng)的關鍵技術是如何實現(xiàn)的。</p><p> 第六章為最后一章,論文將在這一章對整個系統(tǒng)的開發(fā)過程中所學到的知識與經(jīng)驗進行總結(jié),總結(jié)還有那些不足之處以及仍然可以進行改進的地方。</p><p> 第二章 相關技術簡介</p><p> 2.1 Struts2技術簡介</p>
35、<p> Struts2 是一種JSP Model2模式的框架。JSP Model2 模式示意圖如圖2.1所示,是由sun公司又推出了一種架構(gòu)模式。這個模式是結(jié)合了servlet,JSP,javabean的優(yōu)點推出的一種模式。這個模式分為三部分servlet,JSP,javabean。servlet做的事情是控制到底最后顯示哪個JSP頁面給用戶、JSP做的就是響應用戶請求,把結(jié)果數(shù)據(jù)展現(xiàn)給用戶、而javabean做的就不單
36、單是對數(shù)據(jù)庫的數(shù)據(jù)的存取了,這里復雜的業(yè)務功能和邏輯處理都交給了它處理。從它的設計結(jié)構(gòu)就可以看出JSP Model2的優(yōu)點。由于它在設計上很好的分工,也就是做顯示的是JSP,做邏輯處理的是javabean,做控制的是servlet。這樣分工以后,對我們開發(fā)人員來說,就可以很好的做自己的開發(fā)工作了,而美工人員也不必了解和看懂業(yè)務邏輯處理代碼,在很大的層次上提高開發(fā)的效率。</p><p> 圖2.1 JSP M
37、odel2 模式示意圖</p><p> 事實上Struts2就是一個大的Servlet,所有的請求都會通過這個Servlet就行轉(zhuǎn)發(fā)到相應的action 中就行處理。它是一個典型的MVC模式框架。雖然Struts2號稱是一個全新的框架,但這僅僅是相對Struts 1而言。Struts 2 與Struts1相比,確實有很多革命性的改進,但它并不是新發(fā)布的新框架,而是在另一個赫赫有名的框架:WebWork基礎上發(fā)
38、展起來的。從某種程度上來講,Struts2沒有繼承Struts1的血統(tǒng),而是繼承WebWork的血統(tǒng)?;蛘哒f,WebWork衍生出了Struts2,而不是Struts1衍生了Struts2.因為Struts2是WebWork的升級,而不是一個全新的框架,因此穩(wěn)定性、性能等各方面都有很好的保證:而且吸收了Struts 1和WebWork兩者的優(yōu)勢,因此,是一個非常值得期待的框架。</p><p> Apache
39、Struts2是一個優(yōu)雅的,可擴展的JAVA EE web框架??蚣茉O計的目標貫穿整個開發(fā)周期,從開發(fā)到發(fā)布,包括維護的整個過程。Apache Struts 2即是之前大家所熟知的WebWork 2.在經(jīng)歷了幾年的各自發(fā)展后,WebWork和Struts社區(qū)決定合二為一,也即是Struts 2。Struts2的工作流程示意圖如圖2.2所示。</p><p><b> 它的整個工作過程:</b&g
40、t;</p><p> 1、當Servlet容器接收到一個Httprequest請求之后,將請求交給在web.xml中配置的過濾器StrutsPrepareAndExecuteFilter,調(diào)用它的dofilter方法。</p><p> 2、StrutsPrepareAndExecuteFilter詢問ActionMapper,以便確定這個請求是否有對應的Action調(diào)用。</
41、p><p> 3、ActionMaper返回一個描述Action調(diào)用的ActionMapping對象。</p><p> 4、StrutsPrepareAndExecuteFilter調(diào)用Dispatcher類的serviceAction()方法。</p><p> 5、Dispatcher調(diào)用ActionProxy的execute()方法。</p>
42、<p> 6、ActionProxy設置ActionProxy對象的執(zhí)行上下文,然后調(diào)用其invoke()方法。</p><p> 7、ActionInvocation的invoke()方法從攔截器中查找尚未執(zhí)行的攔截器,然后調(diào)用它的intercept(invocation()方法。并將自身的引用對象的引用最為參數(shù)傳遞給攔截器。</p><p> 8、攔截器完成某系預處理
43、工作之后,反過來調(diào)用ActionInvocation的invoke()方法。ActionInvocation維護自己的狀態(tài),所以它知道哪些攔截器已經(jīng)被執(zhí)行了,如果還沒有別執(zhí)行的攔截器,就繼續(xù)執(zhí)行它的intercept(invocation()方法。</p><p> 9、如果所以的攔截器都已經(jīng)執(zhí)行過了,就調(diào)用Action實例的execute()方法(如果沒有在struts.xml文件中設置其他方法,否則執(zhí)行其他
44、方法)。</p><p> 10、ActionInvocation根據(jù)Action執(zhí)行返還的結(jié)果碼,查找對應的Result,調(diào)用Result的execute(invocation),將結(jié)果呈現(xiàn)給用戶。</p><p> 11、ActionInvocation的invoke()方法將控制權返還給攔截器映射中的最后一個攔截器,該攔截器完成所有 的后期處理工作,如此反復,知道所有的攔截器都成
45、返回。</p><p> 12、ActionInvocation的invoke()方法執(zhí)行完畢之后,向ActionProxy返回一個String類型的結(jié)果碼,最后,ActionProxy清理狀態(tài)并返回。</p><p> 圖2.2 Struts2的工作流程示意圖</p><p> 2.2 hibernate技術簡介</p><p>
46、 Hibernate是一個開放源代碼的對象關系映射框架,它對JDBC進行了非常輕量級的對象封裝,使得Java程序員可以隨心所欲的使用對象編程思維來操縱數(shù)據(jù)庫。 Hibernate可以應用在任何使用JDBC的場合,既可以在Java的客戶端程序使用,也可以在Servlet/JSP的Web應用中使用,最具革命意義的是,Hibernate可以在應用EJB的J2EE架構(gòu)中取代CMP,完成數(shù)據(jù)持久化的重任。 </p><p>
47、; Hibernate的核心接口一共有5個,分別為:Session、SessionFactory、Transaction、Query和Configuration。這5個核心接口在任何開發(fā)中都會用到。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。下面對這五個核心接口分別加以介紹。 </p><p> ?、佟ession接口:Session接口負責執(zhí)行被持久化對象的CRUD操作(CRUD的任務是
48、完成與數(shù)據(jù)庫的交流,包含了很多常見的SQL語句。)。但需要注意的是Session對象是非線程安全的。同時,Hibernate的session不同于JSP應用中的HttpSession。這里當使用session這個術語時,其實指的是Hibernate中的session,而以后會將HttpSession對象稱為用戶session。 </p><p> ?、?、SessionFactory接口:SessionFactor
49、y接口負責初始化Hibernate。它充當數(shù)據(jù)存儲源的代理,并負責創(chuàng)建Session對象。這里用到了工廠模式。需要注意的是SessionFactory并不是輕量級的,因為一般情況下,一個項目通常只需要一個SessionFactory就夠,當需要操作多個數(shù)據(jù)庫時,可以為每個數(shù)據(jù)庫指定一個SessionFactory。 </p><p> ③、Configuration接口:Configuration接口負責配置并
50、啟動Hibernate,創(chuàng)建SessionFactory對象。在Hibernate的啟動的過程中,Configuration類的實例首先定位映射文檔位置、讀取配置,然后創(chuàng)建SessionFactory對象。 </p><p> ?、堋ransaction接口:Transaction接口負責事務相關的操作。它是可選的,開發(fā)人員也可以設計編寫自己的底層事務處理代碼。 </p><p> ?、?/p>
51、、Query和Criteria接口: Query和Criteria接口負責執(zhí)行各種數(shù)據(jù)庫查詢。它可以使用HQL語言或原生的SQL語句兩種表達方式。HQL語言是一種面向?qū)ο蟮牟樵冋Z句,它更容易讓程序員所接受,同時HQL語言還屏蔽了不同SQL語言之間的差異。 </p><p> Hibernate的工作原理。</p><p> Hibernate 首先進行初始化.讀取Hibernate 的
52、配置信息然后再創(chuàng)建Session Factory。步驟如下:</p><p> 1)創(chuàng)建Configeration類的實例。它的構(gòu)造方法:將配置信息(Hibernate config.xml)讀入到內(nèi)存。一個Configeration 實例代表Hibernate 所有Java類到Sql數(shù)據(jù)庫映射的集合。</p><p> 2)創(chuàng)建SessionFactory實例,把Configerat
53、ion 對象中的所有配置信息拷貝到SessionFactory的緩存中。SessionFactory的實例代表一個數(shù)據(jù)庫存儲員源,創(chuàng)建后不再與Configeration 對象關聯(lián)。緩存(cache):指Java對象的屬性(通常是一些集合類型的屬性--占用內(nèi)存空間。 SessionFactory的緩存中:Hibernate 配置信息。OR映射元數(shù)據(jù)。緩存-大:重量級對象 小:輕量級對象</p><p> 3)調(diào)用
54、SessionFactory創(chuàng)建Session的方法。1、用戶自行提供JDBC連接。 Connection con=dataSource.getConnection(); Session s=sessionFactory.openSession(con);2、讓SessionFactory提供連接 Session s=sessionFactory.openSessio
55、n();</p><p> 4)通過Session 接口提供的各種方法來操縱數(shù)據(jù)庫訪問。</p><p> Hibernate 的緩存體系。</p><p> 一級緩存:Session 有一個內(nèi)置的緩存,其中存放了被當前工作單元加載的對象。每個Session 都有自己獨立的緩存,且只能被當前工作單元訪問。</p><p> 二級緩存:
56、SessionFactory的外置的可插拔的緩存插件。其中的數(shù)據(jù)可被多個Session共享訪問。SessionFactory的內(nèi)置緩存:存放了映射元數(shù)據(jù),預定義的Sql語句。</p><p> Hibernate 中Java對象的狀態(tài)</p><p> 臨時狀態(tài) (transient)。特征: (1)不處于Session 緩存中、(2)數(shù)據(jù)庫中沒有對象記錄。Ja
57、va如何進入臨時狀態(tài):(1)通過new語句剛創(chuàng)建一個對象時、(2) 當調(diào)用Session 的delete()方法,從Session 緩存中刪除一個對象時。</p><p> 持久化狀態(tài)(persisted)。特征:(1)處于Session 緩存中、(2)持久化對象數(shù)據(jù)庫中設有對象記錄、(3)Session 在特定時刻會保持二者同步。Java如何進入持久化狀態(tài):(1)Session 的save()把臨時
58、->持久化狀態(tài)、(2)Session 的load()、get()方法返回的對象、(3)Session 的find()返回的list集合中存放的對象、(4) Session 的update(),saveOrupdate()使游離->持久化</p><p> 游離狀態(tài)(detached)。特征:(1)不再位于Session 緩存中、(2)游離對象由持久化狀態(tài)轉(zhuǎn)變而來,數(shù)據(jù)庫中可能還
59、有對應記錄。Java如何進入持久化狀態(tài)-》游離狀態(tài):(1)Session 的close()方法、(2)Session 的evict()方法,從緩存中刪除一個對象,提高性能。</p><p> 所謂Hibernate的基本工作原理,換言之,也就是Hibernate大體的工作流程。其基本工作流程示意圖如2-3:</p><p> 圖2.3 Hibernate工作流程示意圖</p&g
60、t;<p><b> 其工作流程如下:</b></p><p> 1.實例化Configeration對象,讀取hibernate.cfg.xml文件的配置內(nèi)容,并根據(jù)相關的需求建好表或者和表建立好映射關系</p><p> 2.通過實例化的Configeration對象就可以建立sessionFactory實例</p><p&
61、gt; 3.通過sessionFactory實例,創(chuàng)建或者打開session對象。.</p><p> 4.得到session之后,創(chuàng)建事務Transation對象。</p><p> 5. 進行相關的持久化操作,調(diào)用save、saveOrUpdate、delete、get等方法對數(shù)據(jù)庫進行增刪改查操作。除了比較復雜的全文搜索外,簡單的操作都可以通過hibernate封裝好的sess
62、ion內(nèi)置方法來實現(xiàn)。</p><p> 6.提交事務,對數(shù)據(jù)庫數(shù)據(jù)進行更新,同步hibernate緩存和數(shù)據(jù)庫的記錄。</p><p> 7. 關閉Session對象。一旦一個事物執(zhí)行結(jié)束,則關閉Session對象。釋放內(nèi)存服務器資源。</p><p> 8. 關閉SesstionFactory。SessionFactory的啟動過程是非常耗時間的,所以一般
63、不會在進行每一次數(shù)據(jù)庫操作都把SessionFactory關閉,這樣會嚴重的影響系統(tǒng)的性能的。系統(tǒng)一般在服務器第一次啟動的時候?qū)嵗粋€SessionFactory實例對象并存儲到內(nèi)存中,以后要用到得時候直接從內(nèi)存中去取就行了。加快系統(tǒng)訪問數(shù)據(jù)庫的性能。所以當關閉Session對象的時候也就意味著一個數(shù)據(jù)庫操作流程的結(jié)束了。</p><p><b> 第三章 需求分析</b></p
64、><p><b> 3.1目標定義</b></p><p> 本系統(tǒng)的開發(fā)主要是由于受長沙天鵝泵業(yè)股份有限公司的委托,幫忙開發(fā)一個機械工業(yè)圖紙管理系統(tǒng)解,解決圖紙凌亂而不好管理的問題,方便長沙天鵝泵業(yè)公司管理人員管理機械圖紙和工藝卡,同時也方便水泵生產(chǎn)過程中的技術工人,查找機械圖紙和工藝卡。</p><p> 由于該公司加工水泵的過程中,先需
65、要一個機械圖紙,機械根據(jù)圖紙上的信息描述來加工水泵的部件。由于水泵型號多,機械圖紙設計工程師們工作量也就比較大,設計出來的機械工藝圖紙想當多,結(jié)果給水泵加工過程造成了一個想當嚴重的問題。加工過程中,弄不清那個圖紙對應哪一個型號的水泵了?;蛘呤羌庸ね昴骋恍吞柕乃弥笥眠^了這一型號的圖紙之后,隔了一段時間 又需要再加工該類型號的水泵時找不到這個型號的圖紙了。不得不再次求助于機械工藝圖紙設計師重新設計圖紙。主要是由于沒有一個合適的文件管理工
66、具,才給工藝圖紙設計師造成額外的工作。因此,受此重托,我著手開發(fā)這個機械工藝圖紙管理系統(tǒng)。主要目的有以下幾個點:</p><p> 1、方便機械工藝圖紙的管理,避免造成圖紙凌亂不堪,造成找不到機械圖紙和工藝的現(xiàn)象,減輕管理員的工作量。</p><p> 2、為水泵加工技術人員提供一個性能優(yōu)越的,實用且方便的機械圖紙和工藝卡下載的平臺。</p><p> 3、為
67、圖紙設計師們提供一個方便而快捷的圖紙上傳功能。大大減輕了設計師的工作量。</p><p> 3.2 系統(tǒng)功能需求</p><p> 對于這個圖紙管理系統(tǒng)來說,主要是為了實現(xiàn)進行查找圖紙,下載圖紙,當然只有管理員,系統(tǒng)管理員 ,具有上傳圖紙的權限,已經(jīng)對圖紙進行增刪查改等功能,對圖紙進行管理。還有對工藝卡的查找,增加,刪除,修改,上傳,下載等功能。所以,本系統(tǒng)將包含如下功能:</p
68、><p> 1、用戶登錄,退出,注冊等功能。</p><p> 2、系統(tǒng)用戶類別管理功能:系統(tǒng)管理員可以添加,修改,刪除,查找用戶類別等功能。</p><p> 3、系統(tǒng)用戶信息管理功能:包括修改用戶密碼,是否將其設定為管理員,是否刪除該用戶,添加新用戶等功能。</p><p> 4、權限管理功能:系統(tǒng)管理員可以設定每一個用戶類別的系統(tǒng)訪
69、問權限。包括添加新的權限,刪除權限,修改用戶類別權限等。本系統(tǒng)默認分以下三種權限(限可以動態(tài)添加)。(1)、系統(tǒng)管理員:系統(tǒng)管理員主要負責本系統(tǒng)的管理,具有所有功能的權限。例如:權限管理(其它身份不具有這個權限);(2)、管理員:具有對圖紙等信息增刪改查都功能。;(2)普通會員:只具有下載查看圖紙的功能。不能在系統(tǒng)中添加,修改,刪除圖紙信息 但是可以修改自己個人信息,如:登陸密碼,其它個人資料信息等。還可以發(fā)布消息。這些權限 只是一個默
70、認的值 ,現(xiàn)場可以根據(jù)具體需求 以系統(tǒng)管理員身份進入系統(tǒng) 動態(tài)修改,添加,刪除權限。</p><p> 5、用戶發(fā)布通知的功能:用戶登錄到后臺可以看到最新發(fā)布的通知。用戶也可以發(fā)布通知 ,修改通知,刪除通知,查找通知。但是(修改和刪除操作,只能增對自己的發(fā)布的通知進行操作)。通過這個通知功能,管理員上傳新圖紙,修改圖紙 之后,就能方便的通知下大家。</p><p> 6、圖紙管理功能:
71、系統(tǒng)默認普通用戶只能瀏覽下載圖紙的功能,管理員,系統(tǒng)管理員才具有對圖紙進行增加圖紙,修改圖紙信息,刪除圖紙,上傳圖紙,下載圖紙的功能。</p><p> 7、工藝卡管理功能:系統(tǒng)默認普通用戶只能瀏覽下載工藝卡的功能,管理員,系統(tǒng)管理員才具有對工藝卡進行增加工藝卡信息,修改工藝卡信息,刪除工藝卡信息及文件,上傳工藝卡,下載工藝卡的功能。</p><p><b> 3.3可行性
72、研究</b></p><p><b> 技術可行性分析:</b></p><p> Struts2、Hibernate、JSTL、OGNL、AJAX等這些技術都是經(jīng)過前人無數(shù)次試驗通過的,就技術層面上來講,用它們實現(xiàn)一個小型的內(nèi)容管理系統(tǒng)是搓搓有余的;而類似這種管理系統(tǒng)系統(tǒng)在互聯(lián)網(wǎng)上已經(jīng)有過相當多的成功的案例了,所以不論是就技術而言還是就系統(tǒng)本身而言都
73、是具有可行性的。</p><p><b> 經(jīng)濟可行性分析:</b></p><p> 該小型內(nèi)容管理系統(tǒng)全程由個人開發(fā),所以不存在支付他人開發(fā)費用;只是時間的問題開銷問題。而這系統(tǒng)可以給長沙天鵝泵業(yè)公司圖紙管理帶來極大的方便,因此在經(jīng)濟上是具有可行性的。</p><p><b> 3.4系統(tǒng)環(huán)境要求</b><
74、;/p><p> 本系統(tǒng)在Window XP 系統(tǒng)上開發(fā)。可移植到多種平臺上運行。是個跨平臺的軟件,只需要安裝jdk1.5以上版本 ,mysql5 數(shù)據(jù)庫 tomcat 或者jboss 等jsp服務器。開發(fā)工具:MyEclipse 7.5 。系統(tǒng)GUI/LOGO輔助設計工具:photoshop CS5,dreamweaver CS5。</p><p> 服務器至少要雙核以上處理器,li
75、nux或者windows操作系統(tǒng)。安裝了JDK1.5版本以上,tomcat或者Jboss服務器。</p><p> 系統(tǒng)性能要求必須滿足同時在線的系統(tǒng)用戶至少能承受300人。300個在線用戶對圖紙的查找,下載,工藝卡的查找,下載等。</p><p><b> 第四章 概要設計</b></p><p><b> 4.1 架構(gòu)設計
76、</b></p><p> 本機械工藝圖紙管理系統(tǒng)采用B/S模式架構(gòu)。B/S是Brower/Server的縮寫,客戶機上只要安裝一個瀏覽器(Browser),如Netscape Navigator或Internet Explorer,服務器安裝Oracle、Sybase、Informix 、SQL Server或 MySQL等數(shù)據(jù)庫。瀏覽器通過Web Server 同數(shù)據(jù)庫進行數(shù)據(jù)交互。</p
77、><p> 我們采用基于B/S結(jié)構(gòu)的三層應用模型來實現(xiàn)機械工藝圖紙管理系統(tǒng)。目前,在Internet應用體系結(jié)構(gòu)中,事物處理被劃分為3層,即Web Browser—Internet Server—Database Server。在這種體系結(jié)構(gòu)中,業(yè)務的表達通過簡單的Web Browser來實現(xiàn),用戶通過Web Browser提交表單,把信息傳遞給Internet Server,Internet Server根據(jù)用戶
78、的請求,分析出要求數(shù)據(jù)庫服務器進行的查詢,交給數(shù)據(jù)庫服務器去執(zhí)行,Database Server把查詢的結(jié)果反饋給Internet Server,在由Internet Server用標準的HTML語言反饋給Web Browser。</p><p> 三層應用模型同傳統(tǒng)的C/S(Client/Server)模型相比,提高了系統(tǒng)的可擴展性、安全性和可重用性。它將應用邏輯與用戶界面和數(shù)據(jù)訪問相剝離,這樣便使系統(tǒng)的維護
79、變得簡單,同時可以通過采用組件技術,降低數(shù)據(jù)庫服務器的負擔,從而提高性能。</p><p> B/S技術成本較低,一般只需安裝、配備在服務器上。在客戶機上的工作較少,故降低了開發(fā)及管理成本。而C/S的應用不論是安裝、配備還是升級,都需要在所有的客戶機上實施。</p><p> B/S技術維護工作主要集中在服務器端,客戶端的維護工作量十分少。而C/S結(jié)構(gòu)中客戶機和服務器的維護工作量都較大
80、。Web Browser技術簡明易用,一旦用戶掌握了Web Browser的用法,也就掌握了使用系統(tǒng)上各種信息資源的鑰匙。</p><p> 4.2 功能模塊設計</p><p> 為了實現(xiàn)機械圖紙和工藝卡的上傳,下載,保證機械圖紙和工藝卡的唯一性。根據(jù)需求分析,得出了該系統(tǒng)所需要實現(xiàn)的功能,系統(tǒng)功能模塊示意圖如圖4.1所示。主要有以下幾個功能模塊:</p><p&
81、gt; 1、用戶登錄,退出,注冊等功能;</p><p> 2、用戶信息管理功能,包括修改用戶密碼,是否將其設定為管理員,是否刪除該用戶,添加用戶等,查詢用戶等功能;</p><p> 3、用戶類別管理功能,包括添加新的用戶類別,修改用戶類別,刪除用戶類別等;</p><p> 4、消息通知的發(fā)布功能,用戶登錄系統(tǒng)后可以查看其他所有用戶發(fā)布的通知的功能,系統(tǒng)
82、管理員還具有對通知進行刪除的功能,其他用戶只能刪除自己發(fā)布的通知的功能;</p><p> 5、權限管理功能功能,系統(tǒng)管理員可以動態(tài)的修改用戶各個類別的權限的功能,包括添加新的權限,取消,查看某個類別的權限等功能;</p><p> 6、圖紙類別管理員功能。管理員,系統(tǒng)管理員可以增加機械圖紙類別信息,修改機械圖紙類別信息,刪除機械圖紙類別信息等;當圖紙類別存在子目錄的時候不能進行刪除操
83、作;</p><p> 7、機械圖紙管理功能,管理員,系統(tǒng)管理員可以增加機械圖紙信息,修改機械圖紙信息,刪除機械圖紙信息,上傳機械圖紙,下載機械圖紙等功能;</p><p> 8、機械工藝卡管理功能,管理員,系統(tǒng)管理員可以增加機械工藝卡信息,修改機械工藝卡信息,刪除機械工藝卡信息,上傳工藝卡,下載機械工藝卡等功能;</p><p> 圖4.1 機械工藝圖紙管
84、理系統(tǒng)功能模塊示意圖</p><p> 4.3 數(shù)據(jù)結(jié)構(gòu)設計</p><p> 4.3.1 圖數(shù)據(jù)庫設計規(guī)范</p><p> 在概念設計中,通常用四種方法:</p><p> 自頂向下:首先定義全局概念結(jié)構(gòu)的框架,然后逐步細化;自底向上:首先定義各局部應用的概念結(jié)構(gòu),然后將他們集成起來,得到全局概念結(jié)構(gòu);逐步擴張: 首先定義最核心的
85、概念結(jié)構(gòu),然后向外擴充,直至總體概念結(jié)構(gòu);混合策略: 即自頂向下和自底向上相結(jié)合,用自頂向下策略設計一個全局概念。結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設計的各局部概念結(jié)構(gòu)</p><p> 在物理結(jié)構(gòu)設計階段首先分兩步走:</p><p> 確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關系數(shù)據(jù)庫中主要是指存取方法和存儲結(jié)構(gòu)。 對物理結(jié)構(gòu)的評價是時間和空間效率.</p><p>
86、; 選取正確的關系模式存取方法,常用的有:存取索引方法。聚簇存取。</p><p> HASH存取方法等。</p><p> 4.3.2 E-R關系圖設計</p><p> E-R完整實體圖如(圖4.2)</p><p> 圖4.2 E-R完整實體圖</p><p> 4.3.3 E-R圖補充</p
87、><p> 信息實體,主要屬性有:ID、消息標題、消息內(nèi)容、消息發(fā)布人ID、修改時間、發(fā)布時間。實體圖如(圖4.3)</p><p><b> 圖4.3信息實體</b></p><p> 圖紙類別實體,主要屬性有:類別ID、類別名稱;類別描述。實體圖如(圖4.4)</p><p> 圖4.4圖紙類別實體</p&
88、gt;<p> 圖紙信息實體,主要屬性有:圖紙ID、圖紙設計者、修改時間、圖紙類別ID、圖紙編號、圖紙名、排序、圖紙描述、圖紙路徑。實體圖如(圖4.5)</p><p> 圖4.5圖紙信息實體</p><p> 工藝卡實體,如圖4.6工藝卡實體圖,主要屬性有:工藝卡ID、產(chǎn)品型號、產(chǎn)品名稱、工藝卡類別、工藝類別、零件號、零件名稱、總頁數(shù)、頁序號、存儲路徑、工藝卡描述、材
89、料牌號。</p><p><b> 圖4.6工藝卡實體</b></p><p> 權限控制實體,主要屬性:ID、控制路徑、角色ID、角色描述。實體圖如圖4.7所示。</p><p><b> 圖4.7</b></p><p> 角色實體,主要屬性有:ID、角色名、角色描述。實體圖如(圖4.8
90、)</p><p> 圖4.8權限控制實體</p><p> 用戶信息實體,主要屬性有:用戶ID、年齡、工號、登陸密碼、職位、等級、真實姓名、登陸名、角色ID 。實體圖如(圖4.9)</p><p> 圖4.9用戶信息實體</p><p> 4.3.3 數(shù)據(jù)庫表設計</p><p> Infotable 用
91、來存儲信息的表。</p><p> Infotable 表</p><p> Mapcatetable表 用來存儲工藝圖紙類別的表圖紙類別的表。</p><p> mapCatetable 表</p><p> mapinfotable 表用來存儲工藝圖紙信息的表。</p><p> mapinfotable
92、 表</p><p> opercardtable表用來存儲工藝卡的表。</p><p> opercardtable表</p><p> Permissiontable 表 用來存儲權限的表。</p><p> Permissiontable表</p><p> Roletable表,用來存儲角信息的表。&
93、lt;/p><p> Roletable表</p><p> Usertable表,用來存儲用戶信息的表。</p><p> Usertable表</p><p><b> 第五章 詳細設計</b></p><p><b> 5.1 系統(tǒng)配置</b></p>
94、;<p> 5.1.1 應用層配置</p><p> 本機械工藝圖紙管理系統(tǒng)采用目前流行的Struts2框架進行開發(fā)。先來看看Struts2框架是如何配置到應用程序中的。</p><p> 在WEB-INF/web.xml文件的配置如下:</p><p><b> <filter></b></p>
95、<p> <filter-name>struts2</filter-name><filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class></p><p> </filter><!-- stru
96、ts2.1.8的過濾器配置文件 --></p><p> <filter-mapping></p><p> <filter-name>struts2</filter-name></p><p> <url-pattern>/*</url-pattern></p><p>
97、; </filter-mapping><!-- struts2.1.8過濾器的映射 --></p><p> 當加入這個配置到web.xml文件之后,在瀏覽器中敲入的訪系統(tǒng)的所有請求路徑都會經(jīng)過org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter這個filter進行過濾。由這個過濾器進行轉(zhuǎn)發(fā)相應的請求
98、,進入Struts2的工作流程中。這就是算是把Struts2框架配置到程序中了。</p><p> 在WebRoot\WEB-INF\classes\struts.xml文件中的配置如下:</p><p> <constant name="struts.devMode" value="true"/></p><p&
99、gt; <constant name="struts.ognl.allowStaticMethodAccess" value="true"/></p><p> <constant name="struts.multipart.maxSize" value="20971520"></constant&
100、gt;</p><p> <package name="struts-access" extends="struts-default"></p><p> <interceptors></p><p> <interceptor name="access" </p
101、><p> class="com.tianepump.interceptors.AccessInterceptor"></p><p> </interceptor></p><p> <interceptor-stack name="permissionStack"></p>&
102、lt;p> <interceptor-ref name="defaultStack"/></p><p> <interceptor-ref name="access" /></p><p> </interceptor-stack></p><p> </interce
103、ptors></p><p> <default-interceptor-ref name="permissionStack"/></p><p> <global-results></p><p> <result name="error">/error.jsp</res
104、ult></p><p> <result name="login">/login.jsp</result></p><p> </global-results></p><p> <action name="index"></p><p>
105、 <result>/WEB-INF/index.jsp</result></p><p><b> </action></b></p><p> </package></p><p> <include file="user.xml"/></p>
106、<p> <include file="role.xml"/></p><p> <include file="opercard.xml"/></p><p> <include file="map.xml"/></p><p> <includ
107、e file="info.xml"/></p><p> <include file="permission.xml"/></p><p> <include file="download.xml"/></p><p> 其中struts.devMode配置開發(fā)模式常量,
108、值為true,說明是開發(fā)模式,當為true時,在開發(fā)的過程中,一旦修改某個文件會自動的編譯到tomcat的目錄下的。不必手工編譯。方便開發(fā)的工作;struts.multipart.maxSize常量用來配置控制上傳文件的大小的,單位是byte; <package name="struts-access" extends="struts-default">配置權限控制訪問包,但請求訪問
109、需要需要受權限控制時繼承個包就可以了,就會經(jīng)過這個自定義攔截器;<include file="xx.xml"/>引入其他配置文件,為了防止配置文件的臃腫,一般都把每個模塊寫的配置信息寫到一個獨立的xml文件中,方便團隊開發(fā)過程中修改。</p><p> 在其他配置文件中配置了各個請求的訪問路徑及對用的處理控制器(Action)。下面是WebRoot\WEB-INF\classes
110、\mapinfo.xml文件的配置情況:</p><p> <!-- mapInfo 配置部分 --></p><p> <package name="mapInfo" extends="struts-access" namespace="/"></p><p> <gl
111、obal-results></p><p> <result name="input">/WEB-INF/mapInfo/list.jsp</result></p><p> </global-results></p><p> <action name="mapInfo_list&
112、quot; class="com.tianepump.action.MapInfoAction" method="list"></p><p> <interceptor-ref name="defaultStack" /></p><p> <result>/WEB-INF/mapInfo/li
113、st.jsp</result></p><p><b> </action></b></p><p> <action name="mapInfo_check" class="com.tianepump.action.MapInfoAction" method="check"
114、></p><p> <interceptor-ref name="defaultStack" /></p><p><b> </action></b></p><p> <action name="mapInfo_addTo" class="com.
115、tianepump.action.MapInfoAction" method="toAdd"></p><p> <result>/WEB-INF/mapInfo/toAdd.jsp</result></p><p><b> </action></b></p><p>
116、; <action name="mapInfo_adding" class="com.tianepump.action.MapInfoAction" method="adding"></p><p> <result type="chain">mapInfo_list</result></
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機科學與技術專業(yè)本科畢業(yè)論文(設計)
- 計算機科學與技術專業(yè)本科畢業(yè)論文
- 計算機科學與技術專業(yè)本科畢業(yè)論文小區(qū)物業(yè)管理系統(tǒng)
- 計算機專業(yè)本科畢業(yè)論文
- 計算機專業(yè)本科畢業(yè)論文
- 計算機專業(yè)本科畢業(yè)論文
- 計算機專業(yè)本科畢業(yè)論文(招聘管理系統(tǒng))
- 計算機專業(yè)本科畢業(yè)論文-- 網(wǎng)上商城系統(tǒng)的設計與實現(xiàn)
- 計算機科學與技術專業(yè)本科生畢業(yè)論文(設計)
- 計算機科學與技術專業(yè)本科生畢業(yè)論文
- 計算機科學與技術專業(yè)本科生畢業(yè)論文
- 畢業(yè)設計(論文)計算機科學與技術專業(yè)本科畢業(yè)設計(論文)大綱
- 計算機專業(yè)本科畢業(yè)論文--網(wǎng)上珠寶店的設計與實現(xiàn)
- 河南科技學院2011屆計算機科學與技術專業(yè)本科畢業(yè)論文(設計)
- 計算機科學與技術專業(yè)本科
- 遼寧石油化工大學計算機科學與技術專業(yè)本科畢業(yè)論文
- 廈門大學計算機專業(yè)本科畢業(yè)論文
- 計算機與信息學院信計專業(yè)本科畢業(yè)論文(設計)
- 計算機專業(yè)本科畢業(yè)論文--基于web的招聘管理系統(tǒng)開發(fā)
- 計算機科學與技術本科畢業(yè)(設計)論文房產(chǎn)中介管理系統(tǒng)的設計與實現(xiàn)
評論
0/150
提交評論