

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、<p><b> 畢業(yè)設計(論文)</b></p><p> 題 目: 軟件構件庫管理系統(tǒng) </p><p> 層 次: 本科 </p><p> 專 業(yè): 計算機科學與技術 </p>
2、;<p> 考 號: </p><p> 學 生: </p><p> 指導教師: </p><p> 2008年4 月13日</p><p><b> 軟件構件
3、庫管理系統(tǒng)</b></p><p><b> 摘 要</b></p><p> 目前,基于構件的軟件開發(fā)是軟件產業(yè)中的熱點,它成為解決重復開發(fā)的問題,提高生產效率和質量的現實可行的途徑。當軟件構件的數量達到一定規(guī)模時,采用構件庫管理系統(tǒng)對其進行組織和管理是十分必要的,構件庫管理系統(tǒng)的組織和管理水平直接決定著構件復用效率。本文系統(tǒng)的介紹了構件庫管理系統(tǒng)的
4、開發(fā)過程,完成了對構件的發(fā)布、查詢、修改以及下載功能,還有對用戶管理和對構件的評論管理等功能。采用的技術是基于JAVA語言的WEB開發(fā)技術,使用Struts框架和Hibernate框架組合,數據庫是Microsoft SQLServer 2000</p><p> 關鍵詞 JAVA語言;軟件構件;Struts框架; Hibernate框架;Microsoft SQLServer2000</p>
5、<p> Software Component Library Management System</p><p><b> Abstract</b></p><p> At present, the component-based software development in the software industry is hot, it de
6、veloped to solve the problem of duplication, improve production efficiency and quality of the realistic way. When the number of components to achieve a certain scale, a component library management system and its managem
7、ent is very necessary, component library management system for the organization and management directly determines the efficiency of component reuse. This paper introduces component library</p><p> Keywords
8、 JAVA; Software Component; STRUTS Framework;</p><p> HIBERNATE Framework; Microsoft SQL Server 2000</p><p><b> 目 錄</b></p><p><b> 摘 要I</b></p>&l
9、t;p> AbstractII</p><p><b> 1 緒論1</b></p><p> 1.1 立題背景、目的及意義1</p><p> 1.2 軟件構件庫管理系統(tǒng)的發(fā)展情況2</p><p> 1.2.1 國外研究動態(tài)2</p><p> 1.2.2 國內研究
10、動態(tài)3</p><p> 2 系統(tǒng)開發(fā)環(huán)境4</p><p> 2.1 系統(tǒng)服務器環(huán)境要求4</p><p> 2.1.1 對硬件的要求4</p><p> 2.1.2 對軟件的要求4</p><p> 2.2 系統(tǒng)客戶端環(huán)境要求4</p><p> 2.2.1 對硬件的
11、要求4</p><p> 2.2.2 對軟件的要求4</p><p> 2.3 開發(fā)工具簡介5</p><p> 2.3.1 Struts框架介紹5</p><p> 2.3.2 Hibernate對象關系映射框架介紹5</p><p> 2.3.3 SQL Server 2000 介紹6<
12、/p><p> 2.3.4 系統(tǒng)的開發(fā)平臺7</p><p> 3 需求分析及可行性研究分析9</p><p> 3.1 需求分析9</p><p> 3.1.1 功能需求9</p><p> 3.1.2 數據需求11</p><p> 3.2 系統(tǒng)開發(fā)可行性分析14<
13、/p><p> 3.2.1 經濟可行性15</p><p> 3.2.2 市場可行性15</p><p> 3.2.3 技術可行性16</p><p> 3.2.4 時間可行性16</p><p><b> 4 總體設計18</b></p><p> 4.
14、1 系統(tǒng)的開發(fā)設計思想18</p><p> 4.2 系統(tǒng)功能設計19</p><p> 4.2.1 系統(tǒng)的功能模塊劃分19</p><p> 4.2.2 系統(tǒng)的類圖20</p><p> 4.3 數據庫設計21</p><p><b> 5 具體實現24</b></p
15、><p> 5.1 查詢構件及發(fā)表評論25</p><p> 5.1.1 查詢構件25</p><p> 5.1.2 發(fā)表評論27</p><p> 5.2 用戶管理模塊實現29</p><p> 5.2.1 注冊29</p><p> 5.2.2 登錄30</p>
16、;<p> 5.2.3 忘記密碼32</p><p> 5.2.4 修改密碼33</p><p> 5.2.5 修改個人資料34</p><p> 5.2.6 發(fā)布構件36</p><p> 5.2.7 查詢我的構件39</p><p> 5.2.8 查詢構件相應評論41</
17、p><p> 5.2.9 刪除構件42</p><p> 5.3 管理員管理模塊實現43</p><p> 5.3.1 超級管理員管理模塊44</p><p> 5.3.2 構件管理員管理模塊47</p><p> 5.3.3 用戶管理員管理模塊49</p><p> 5.3.
18、4 評論管理員管理模塊49</p><p><b> 結論51</b></p><p><b> 致 謝52</b></p><p><b> 參考文獻53</b></p><p> 附錄1 英文原文及譯文55</p><p><
19、b> 中文譯文55</b></p><p><b> 英文原文58</b></p><p> 附錄2 程序源代63</p><p><b> 1 緒論</b></p><p> 1.1 立題背景、目的及意義</p><p> 目前,基于構件
20、的軟件開發(fā)是軟件產業(yè)中的熱點,它成為解決重復開發(fā)的問題,提高生產效率和質量的現實可行的途徑。當構件的數量達到一定規(guī)模時,采用構件庫管理系統(tǒng)對其進行組織和管理是十分必要的,構件庫管理系統(tǒng)的組織和管理水平直接決定著構件復用效率。</p><p> 軟件復用是在軟件開發(fā)中避免重復勞動的解決方案。通過軟件復用,可以提高軟件開發(fā)的效率和質量。近十幾年來,面向對象技術出現并逐步成為主流技術,為軟件復用提供了基本的技術支持。
21、軟件復用研究重新成為熱點,被視為解決軟件危機,提高軟件生產效率和質量的現實可行的途徑。當前軟件構件技術被視為實現成功復用的關鍵因素之一。</p><p> 軟件構件(software component)是可復用的軟件組成成份,可被用來構造其他軟件。它可以是被封裝的對象類、類樹、一些功能模塊、軟件框架(framework)、軟件構架(或體系結構 Architectural)、文檔、分析件、設計模式(Patter
22、n)等。構件分為構件類和構件實例,通過給出構件類的參數,生成實例,通過實例的組裝和控制來構造相應的應用軟件。</p><p> 軟件構件庫管理系統(tǒng)的目的,就是對軟件構件的存儲、分類、檢索和管理,為基于構件開發(fā)提供了全面支持。軟件工程師可以快速準確地找到需要的構件,同時發(fā)布自己的構件,以達資源共享。</p><p> 1.2 軟件構件庫管理系統(tǒng)的發(fā)展情況</p><p
23、> 1.2.1 國外研究動態(tài)</p><p> 1968年NATO軟件工程會議,Mcllroy在提交會議的論文《大量生產的軟件構件》中,提出了“軟件組裝生產線”的思想。從那以后,采用構件技術實現軟件復用,采用“搭積木”的方式生產軟件,成為軟件開發(fā)人員長期的夢想。</p><p> 經過這么多年的努力,開發(fā)人員提出了基于構件的軟件開發(fā)(CBSD:Component-Based S
24、oftware Development)技術,并且工業(yè)界中一些主要的軟件公司和產業(yè)聯盟紛紛提出了一些軟件構件的建議標準和技術規(guī)范。目前,主流的軟件構件技術標準有三種:微軟公司的構件對象模型(COM),對象管理組織(OMG)的公共對象的請求代理系統(tǒng)結構(CORBA)和太陽微軟系統(tǒng)公司的EJB(Enterprise Java Bean)。它們?yōu)閼密浖拈_發(fā)提供了可移植性、異構性的實現環(huán)境和健壯平臺,結束了面向對象中的開發(fā)語言混亂的局面,解
25、決軟件復用在通信、互操作等環(huán)境異構的瓶頸問題。</p><p> 在基于構件的軟件開發(fā)技術中,軟件構件庫是管理軟件構件及促進軟件復用的核心機制,有效地對現有構件進行組織和管理,使構件的使用者可以高效而準確地發(fā)現滿足其需要的可復用構件。軟件構件化在發(fā)達國家已普及,美國軍方與政府已經建立了CARDS、ASSET和DARS等多個大型構件庫系統(tǒng),還有上萬個商業(yè)軟件構件(Cots)、近千個專業(yè)構件制作組織和一批商業(yè)構件庫
26、運作機構,形成了幾百億美元的構件市場。</p><p> 1.2.2 國內研究動態(tài)</p><p> 2002年7月,國務院47號文將構件庫列為影響軟件產業(yè)的重大關鍵性軟件。2004年4月,科技部、發(fā)改委、商務部、信息產業(yè)部、國家標準化管理委員會在“國科發(fā)高字”124號文中,把發(fā)展“構件庫”寫進了2005年“加強軟件企業(yè)技術創(chuàng)新”的目標中。</p><p>
27、在基于Internet的構件庫管理系統(tǒng)、可擴展的軟件建模系統(tǒng)等方面取得較大進展,軟件開發(fā)平臺已經形成了系列化軟件。構件庫系統(tǒng)完成了公共和企業(yè)兩級構件庫管理系統(tǒng)的研發(fā),公共構件庫已經在北京、上海、廣州、沈陽、長沙、鄭州、西安等8個地區(qū)部署并對外使用,支持了各地軟件園區(qū)和863軟件專業(yè)孵化器的軟件構件庫建設。</p><p><b> 2 系統(tǒng)開發(fā)環(huán)境</b></p><p
28、> 2.1 系統(tǒng)服務器環(huán)境要求</p><p> 2.1.1 對硬件的要求</p><p> 服務器硬盤空間:數據庫空間 360M (DB300M+LOG 60M) 構件實體空間由用戶需求決定 </p><p> 內存:不小于 512M </p><p> 推薦使用高性能的工作站,并且推薦配備磁盤陣列</p>
29、<p> 2.1.2 對軟件的要求</p><p> Microsoft Windows 2000 Server 操作系統(tǒng)或更高版本</p><p> Microsoft SQL Server 2000數據庫或更高版本</p><p> Tomcat5.0 Web 服務器或更高版本</p><p> 2.2 系統(tǒng)客戶端
30、環(huán)境要求</p><p> 2.2.1 對硬件的要求</p><p> 客戶機:Intel586或更高性能的微機</p><p> 內存:不小于128M</p><p> 2.2.2 對軟件的要求</p><p> Microsoft IE 5.0或更高版本的Web瀏覽器</p><p&g
31、t; 2.3 開發(fā)工具簡介</p><p> 2.3.1 Struts框架介紹</p><p> Struts框架是Apache開源軟件聯盟(www.apache.org)的一個開源項目——Jakarta Struts Framework。Struts框架繼承了MVC設計模式的特性,遵守了J2EE的Servlet、JSP等技術規(guī)范,并且根據J2EE的特點做了相應的變化和擴展,是J2E
32、E體系架構的一種輕量級實現。作為一款優(yōu)秀的Java Web應用程序的開發(fā)框架,Struts框架憑借其清晰性、靈活性,成為當前最為廣泛應用的輕量級Java Web 開發(fā)框架。Struts的工作的原理如圖2-1所示。</p><p> 圖2-1 Struts的工作原理</p><p> 2.3.2 Hibernate對象關系映射框架介紹</p><p> Hib
33、ernate框架是開放源代碼的對象關系映射工具(Object-Relational Mapping),是一款基于Java環(huán)境的優(yōu)秀的對象持久化開發(fā)框架。它根據O/R(對象/關系)映射技術思想,對JDBC進行了輕量級封裝,使開發(fā)人員可以使用一種面向對象的方式來操縱和管理關系數據庫,所以從技術本質上來說該框架是一種提供面向對象的數據庫服務中間件。</p><p> Hibernate框架位于應用程序的業(yè)務化和持久化
34、層,在運行時的體系結構如圖2-2所示。 </p><p> 圖2-2 Hibernate核心接口的層次架構關系</p><p> Hibernate的核心接口一共有5個,分別為:Session、Session Factory、Transaction、Query和Configuration。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。</p><
35、p> 2.3.3 SQL Server 2000 介紹</p><p> Microsoft SQL Server 2000 數據庫在分析服務、數據轉化服務、數據倉庫等方面引入了大量新特性。它為Web標準提供了強勁的支持,并為系統(tǒng)管理和調整提供了很多有力的工具。</p><p> 對于FoxPro、Access等數據庫而言,SQL Server是一個功能完備的正規(guī)數據庫管理系統(tǒng)
36、。SQL Server2000繼承了數據庫軟件設計引擎方面的優(yōu)勢,已經成為新一代網絡應用程序的最佳數據庫和分析解決方案之一。作為Microsoft.NET Enterprise Servers的核心組件,它將減少電子商務、在線商務和數據倉儲應用程序推向市場時間,并對需要的環(huán)境提供可靠的支持。SQL Server2000對XML和HTTP提供充分的支持;提供分割裝載和確保時間的特性;提供先進的管理和協(xié)調機制,可以自動管理線和任務,降低總體
37、開銷。另外,SQL Server2000充分利用了Windows 2000的功能,包括支持活動目錄服務,最多支持32個處理器和64GB的內存。它還包括支持開發(fā)引擎、標準的SQL語言、擴展的特性等功能,這些是一些大型數據庫系統(tǒng)才具備的特性。而存儲過程、觸發(fā)器等特性,也是個人數據庫所沒有的。總的來說,SQL Server2000簡單易用,功能全,很適合做開發(fā)使用。</p><p> 2.3.4 系統(tǒng)的開發(fā)平臺<
38、;/p><p> 根據前面介紹可以看到Hibenate架構只具備數據持久化設計能力,而Struts架構則在模型設計方面能力薄弱,所以將二者結合起來使用,共同搭建系統(tǒng)結構實現Model-View-Contral模型設計,可以達到二者優(yōu)勢互補,從而使系統(tǒng)設計具備低耦合性以及較高的可維護性和可擴展性。</p><p> 本系統(tǒng)就是采用這個思想來開發(fā)的,用Struts框架實現視圖和控制設計,用Hi
39、bernate實現模型設計。在具體的設計過程中,采用“簡單工廠設計模式”,將二者完整地結合起來,使系統(tǒng)符合到了“低耦合、高內聚”的程序設計要求,這樣程序模塊清晰,容易理解,具有很高的復用價值。下面是用圖來描述本系統(tǒng)的體系結構如圖2-3所示。</p><p> 圖2-3 系統(tǒng)體系結構圖</p><p> 3 需求分析及可行性研究分析</p><p> 基于構件的
40、軟件開發(fā)技術,在我國有了初步發(fā)展,國家已經在北京、上海、廣州、沈陽、長沙、鄭州、西安等8個地區(qū)建立公共軟件構件庫并對外使用。構件庫系統(tǒng)通過對可復用構件的分類、管理、存儲和檢索,為面向復用和基于復用的軟件開發(fā)過程提供全面的支持。 </p><p> 本文所設計的軟件構件庫管理系統(tǒng)包括如下功能:用戶管理、構件發(fā)布、構件查詢、構件下載等。支持構件的使用者可以高效而準確地發(fā)現滿足其需要的可復用構件,從而提高構件的復用效
41、率。</p><p><b> 知識點:</b></p><p> Struts+Hibernate框架的使用</p><p> SQL Server2000數據庫設計</p><p><b> 構件的分類</b></p><p><b> 構件的存儲&l
42、t;/b></p><p><b> 構件的查詢</b></p><p> Office Visio畫圖軟件的應用
43、 </p><p><b> 3.1 需求分析</b></p><p> 3.1.1 功能需求</p><p> 根據分析可以確定系統(tǒng)有兩類參與者普通用戶和管理員,管理員分為用戶管理員、構件管理員、評論管理員。這兩個參與者的具體操作如下。</p&
44、gt;<p><b> 用戶的操作</b></p><p> 用戶登錄、用戶注冊、查詢構件、發(fā)表評論。如圖3-1所示。</p><p> 圖3-1 普通用戶的基本操作用例圖</p><p> 發(fā)表構件、修改個人基本信息、修改密碼、刪除所發(fā)布的構件、查詢評論。如圖3-2所示。</p><p> 圖3
45、-2 用戶的操作用例圖</p><p><b> 管理員的操作</b></p><p> 管理員對管理員和用戶的管理:查詢用戶、刪除用戶、添加管理員、刪除管理員、修改管理員權限。如圖3-3所示。</p><p> 圖3-3 管理員管理用戶的用例圖</p><p> 管理員對構件或評論管理:查詢構件、刪除構件、查詢
46、評論、刪除評論。如圖3-4所示。</p><p> 圖3-4 管理員管理構件或評論的用例圖</p><p> 3.1.2 數據需求</p><p> 軟件構件庫系統(tǒng)的開發(fā)目的就是提供給用戶重用構件的平臺,即用戶可以發(fā)布自己的構件,并且可以查找、下載自己所需的構件,以推動軟件構件化的發(fā)展。</p><p> 由此,系統(tǒng)涉及到的實體有:普
47、通用戶、管理員、構件、評論。實體之間有如下聯系:</p><p> 一個用戶可以發(fā)布多個構件</p><p> 一個構件可以有多個評論</p><p> 系統(tǒng)設一個超級管理員,主要是管理系統(tǒng)中其他管理員</p><p> 不同的管理員有不同的權限</p><p> 用戶管理員可以管理所有的用戶</p&g
48、t;<p> 構件管理員可以管理所有的構件以及構件的評論</p><p> 用戶可以管理自己的構件</p><p> 用戶可以查詢自己構件的評論</p><p> 經過分析畫出E-R圖,如圖3-6所示。</p><p> 圖3-6 實體關系圖</p><p> 根據實際情況的分析,設計出如下實
49、體及其屬性。</p><p> 普通用戶屬性:用戶ID(personID)、用戶名(userName)、密碼(userPassword)、真實姓名(trueName)、找回密碼問題(userQues)、問題答案(userAns)、性別(sex)、Email(email)、地址(adress)。如圖3-7所示。</p><p> 圖3-7 普通用戶的屬性</p><p
50、> 管理員屬性:管理員編號(adminID)、管理員名字(adminName)、密碼(adminPassword)、管理員權限(power)。如圖3-8所示。</p><p> 圖3-8 管理員的屬性</p><p> 構件信息屬性:構件ID(componentID)、構件名稱(componentName)、構件大小(componentSize)、構件描述(componentD
51、escribe)、當前版本(currentEdition)、封裝類型(encapulationType)、運行環(huán)境(runEnvironment)、構件來源(componentURL)(提供下載連接)、功能類型(functionType)、國際化支持(nationSustain)、開發(fā)商名字(empolderName)、開發(fā)商主頁(empolderBlog)。如圖3-9所示。</p><p><b>
52、 圖3-9 構件屬性</b></p><p> 構件評論屬性:評論ID(commentID)、構件ID(componentID)、評論內容(commentContent)、評論時間(commentDate)。如圖3-10所示。</p><p> 圖3-10 構件評論屬性</p><p> 3.2 系統(tǒng)開發(fā)可行性分析</p><p
53、> 可行性分析是在用戶的要求和系統(tǒng)調研的基礎上進行的,對新系統(tǒng)的開發(fā)從經濟、市場、技術、時間等方面進行分析,并得出新系統(tǒng)的開發(fā)工作可行、不可行、需要修改、追加投資、暫緩開發(fā)、分步實施等方案和結論,最后完成可行性分析。</p><p> 3.2.1 經濟可行性</p><p> 經濟可行性分析中最重要的內容之一是成本——效益分析。對于一個基于基本計算機系統(tǒng)的研制項目要在經濟方面評
54、價其是否合理,成本——效益分析要估計出研制開發(fā)的花費并與收益(包括有形的可以用貨幣計數的及無形的利益)衡量比較。</p><p> 目前已有兩臺PC機。無須購買新的硬件設備。只要支付軟件開發(fā)和維護費用,以及人員培訓費用。系統(tǒng)投入運行后,會及大提高數據的管理效率。</p><p> 3.2.2 市場可行性</p><p> 要在軟件系統(tǒng)的開發(fā)過程中有效的實現復用
55、,必須要求復用達到一定的規(guī)模,必須有大量的可供開發(fā)人員選擇的可復用構件。構件的數量越多,找到合適構件的可能性也就越大,應用系統(tǒng)的復用程度也就越高。</p><p> 但是隨著構件數量的增加,如何有效的對這些構件進行組織和管理成為了構件復用技術成敗的關鍵。如果大量的構件沒有被有效的組織和管理起來,那么要在一堆沒有任何結構,散亂的構件中,找到滿足特定需求的構件是一件十分困難的事情。因此,當構件的數量達到一定規(guī)模時,
56、采用構件庫對其進行組織和管理是十分必要的,構件庫的組織和管理水平直接決定著構件復用的效率。</p><p> 構件庫是用于存儲,檢索,瀏覽和管理可復用構件的基礎設施,構件庫的組織和管理形式要有利于構件的存儲和檢索,其最關鍵的目標是支持構件的使用者可以高效而準確的發(fā)現滿足其需要的可復用構件。 </p><p> 3.2.3 技術可行性</p><p> 就目前使
57、用的開發(fā)技術來說系統(tǒng)的功能目標能夠達到;利用現有的技術在規(guī)定的期限內開發(fā)工作能夠完成。</p><p> 從目前市場上比較流行的Web開發(fā)來看,對于比較簡單的中小型網站的開發(fā)STRUTS框架和HIBERBATE框架組合是一種比較好的解決方案。它為用戶提供了Windows所一貫堅持的界面友好、操作簡單無疑是在實際應用中較為成功的用戶界面,簡潔明了的數據接口與SQL語句的結合支持對數據庫進行更為復雜的操作。結合本項
58、目的實際情況來看,但是其業(yè)務流程和數據流程還是可以分析清楚的,經系統(tǒng)分析可以設計出符合實際需求、易于理解、易于操作、易于維護的后臺數據庫和前臺應用程序。</p><p> 3.2.4 時間可行性</p><p> 根據學院及導師對畢業(yè)設計的要求,通過具體安排系統(tǒng)開發(fā)時間如下,并要求自己在每一階段提前完成具體任務。</p><p><b> 開發(fā)進度安
59、排:</b></p><p><b> 前期工作:</b></p><p> 2007/10/22至2007/10/30 確定具體課題題目</p><p> 2007/10/31至2008/01/16 完成課題的調查研究、可行性分析、設計目標、需要解決的關鍵問題、資料收集。</p><p> 2008
60、/01/18至2008/01/22 完成需求分析</p><p> 2008/01/23至2008/02/01完成總體功能設計</p><p><b> 后期工作:</b></p><p> 2008/02/18至2008/02/28 系統(tǒng)的編碼設計、系統(tǒng)性能測試分析</p><p> 2008/02/28至20
61、08/04/08 完成畢業(yè)設計論文的書寫</p><p> 2008/04/12 論文答辯</p><p><b> 4 總體設計</b></p><p> 4.1 系統(tǒng)的開發(fā)設計思想</p><p> 系統(tǒng)是以瀏覽器/服務器模式開發(fā)的管理系統(tǒng),系統(tǒng)具備如下功能。</p><p> 系統(tǒng)
62、允許用戶注冊、登錄、查詢構件以及對構件發(fā)表評論</p><p> 用戶可以發(fā)布構件、對自己注冊信息管理,對自己所發(fā)布的構件進行管理</p><p> 系統(tǒng)中有不同的管理員,包括超級管理員、用戶管理員、構件管理員、評論管理員</p><p> 系統(tǒng)管理員對數據庫中所有的構件管理、對構件的評論、對用戶管理,對管理員的管理</p><p>
63、 下面是系統(tǒng)的具體部署圖,如圖4-1所示。</p><p> 圖4-1 系統(tǒng)部署示意圖</p><p> 4.2 系統(tǒng)功能設計</p><p> 4.2.1 系統(tǒng)的功能模塊劃分</p><p> 根據對系統(tǒng)的實際需求分析,再結合自己的實際開發(fā)能力,總結出系統(tǒng)的總體設計,明確地劃分出了系統(tǒng)的功能模塊,該系統(tǒng)主要有用戶管理員、管理員管理、
64、構件管理、評論管理這4大模塊組成。各個模塊的具體實現功能用方框圖來描述如圖4-2所示。</p><p> 圖4-2 系統(tǒng)的總的功能模塊圖</p><p> 4.2.2 系統(tǒng)的類圖</p><p> 通過對系統(tǒng)進行模塊劃分,明確系統(tǒng)的主要功能。再進一步分析,確定系統(tǒng)中的類,以及類與類之間的關系,下面是系統(tǒng)中涉及的類</p><p> 普
65、通用戶(UserDao) 主要方法:登錄(login)、注冊用戶(registerPerson)、修改密碼(updatePasswor)、修改用戶(updatePerson)、刪除用戶(deletePerson)、查詢所有用戶(queryGetAll)。</p><p> 管理員(AdminDao) 主要方法:登錄(login)、添加管理員(addAdmin)、修改密碼(updatePassword)、修改權限
66、(updatePower)、刪除管理員(deleteAdmin)、按用戶名查詢(queryByName)、按權限查詢(queryByPower)、查詢所有(getAll)。</p><p> 構件(ComponentDao) 主要方法:發(fā)布構件(addComponent)、按功能類型查詢(getByFunctionType)、按封裝語言查詢(getBy EncapulationLanguage)、模糊查詢(ge
67、tByIndexName)、按用戶ID查詢(getByPersonID)、查詢所有(queryGetAll)、刪除構件(deleteComponent)。</p><p> 評論(CommentDao) 主要方法:發(fā)表評論(issueComment)、刪除評論(deleteComment)、按構件ID查詢(getByComponentID)、查詢所有(getAll)。</p><p>
68、 下面是用圖的形式來描述系統(tǒng)中的類,包括類的屬性和方法,以及類與類的關系如圖4-3所示。</p><p> 圖4-3 系統(tǒng)類圖以及之間的關系</p><p><b> 4.3 數據庫設計</b></p><p> 根據數據庫的邏輯分析,在Microsoft SQL Server 2000數據庫建立數據庫表和數據字段。</p>
69、<p> 有E-R圖分析可映射成如下4張表。</p><p><b> 用戶信息表</b></p><p> 表名Data_user,存放用戶信息,物理結構如表4-1所示。</p><p> 表4-1 用戶信息表Data_user</p><p><b> 管理員信息表</b>
70、</p><p> 表名Data_admin,存放管理員信息,物理結構如表4-2所示。</p><p> 表4-2 管理員信息表Data_admin</p><p><b> 3.構件信息表</b></p><p> 表名Data_component,存放構件信息,物理結構如表4-3所示。</p>
71、<p> 表4-3 構件信息表Data_component</p><p> 續(xù)表4-3 構件信息表Data_component</p><p><b> 4.評論信息表</b></p><p> 表名Data_comment,存放評論內容,物理結構如表4-4所示。</p><p> 表4-4 評論信
72、息表Data_comment</p><p><b> 5 具體實現</b></p><p> 軟件構件庫管理系統(tǒng)主要有用戶管理、管理員管理、構件管理、評論管理,這四大功能模塊。這一章主要來介紹系統(tǒng)的各個模塊的詳細實現。</p><p> 軟件構件庫管理系統(tǒng)的主界面如圖5-1所示。</p><p> 圖5-1
73、系統(tǒng)首頁示意圖</p><p> 軟件構件庫管理系統(tǒng)可以有以下使用方式:</p><p><b> 注冊</b></p><p> 任何人在使用本系統(tǒng)之前(構件查詢和發(fā)表評論除外),必須注冊,申請成為本系統(tǒng)的合法用戶。</p><p> 用戶登錄→維護個人信息/構件發(fā)布/構件查詢/評論查詢→注銷</p>
74、;<p> 用戶使用用戶名和密碼登錄到本系統(tǒng)后,可以進行個人信息維護、構件發(fā)布或管理自己的構件、評論查詢的工作,完成之后注銷用戶身份。如想再使用本系統(tǒng)(構件查詢除外),必須再次登錄系統(tǒng)。</p><p><b> 構件查詢→發(fā)表評論</b></p><p> 任何人員都可以不進行系統(tǒng)登錄而直接查詢構件,并且還可以發(fā)表評論。</p>&
75、lt;p> 系統(tǒng)管理員登錄→維護系統(tǒng)管理員/維護用戶/維護構件/維護評論→注銷</p><p> 系統(tǒng)管理員登錄系統(tǒng)后,管理系統(tǒng)管理員信息、管理用戶信息、管理構件信息、管理構件評論,完成之后注銷用戶身份,如果還想進行系統(tǒng)管理功能,必須再次登錄。</p><p> 5.1 查詢構件及發(fā)表評論</p><p> 5.1.1 查詢構件</p>
76、<p> 查詢構件用戶有兩類:一類是未登錄的用戶,另一類是登錄用戶。未登錄用戶可以查看構件、發(fā)表評論,登錄用戶也可以查看構件、發(fā)表評論并且還可以管理自己的構件。</p><p> 查詢部分的主要功能,是幫助用戶根據自己的需要查詢、瀏覽、選取和提取構件庫中的構件。系統(tǒng)為用戶提供了3種查詢構件的方式,分別是模糊查詢、按封裝語言查詢、按功能類型查詢。盡量保證用戶快速、準確地查找到自己所需要的構件。<
77、/p><p> 例如:用戶采用模糊查詢,可以在模糊查詢文本框中輸入關鍵字“JSP”,系統(tǒng)將關鍵字與數據庫存儲的構件名稱匹配,只要構件名稱中含有“JSP”字樣,就將構件顯示出來。下圖是查詢后的顯示結果如圖5-2所示。</p><p> 圖5-2 顯示查詢構件結果示意圖</p><p> 在此頁面中,將顯示出構件編號、構件名稱、發(fā)布日期,這些構件信息。查詢構件的操作
78、順序是:首先,用戶進入查詢構件頁面(在首頁也可以查詢),其次,用戶可以選擇任何一種查詢方式來查詢構件,輸入或選擇查詢條件,最后,點擊相應的查詢按鈕。系統(tǒng)將顯示查詢結果,若是沒有查詢到構件,將顯示為空。下面是查詢構件的流程圖如圖5-3所示。</p><p> 圖5-3 查詢構件流程圖</p><p> 查詢完畢之后,用戶可以點擊界面右側的“查看構件詳細”按鈕,可以看到構件的詳細,包括構
79、件描述、當前版本、封裝語言、運行環(huán)境、構件來源、功能類型、構件大小、國際化支持、開發(fā)商名稱、開發(fā)商主頁。用戶可以根據開發(fā)商提供的來源地址下載構件,或者根據開發(fā)商提供的開發(fā)商主頁地址,聯系開發(fā)商,取得構件。</p><p> 5.1.2 發(fā)表評論</p><p> 任何用戶都可以對構件發(fā)表評論,其中評論主題、內容不能為空,系統(tǒng)還要求填寫驗證碼。該頁面的顯示效果如圖5-4所示。</p
80、><p> 圖5-4 發(fā)表評論界面示意圖</p><p> 用戶填寫完評論信息之后,點擊“提交”,系統(tǒng)將檢驗評論主題、評論內容是否為空,若不為空,將評論信息保存到數據庫中,若是為空,系統(tǒng)會顯示出錯誤信息,只能重新發(fā)表。下面是發(fā)表評論的流程圖,如圖5-5所示。</p><p> 圖5-5 發(fā)表評論流程圖</p><p> 5.2 用戶管理
81、模塊實現</p><p><b> 5.2.1 注冊</b></p><p> 任何人在使用系統(tǒng)之前(除構件查詢除外),必須先注冊成為系統(tǒng)會員,點擊主界面上的“用戶注冊”鏈接,可進入到“用戶注冊頁面”如圖5-6所示。 </p><p> 圖5-6 用戶注冊界面示意圖</p><p> 在此界面上,需要填寫的個人
82、基本信息,包括用戶名、密碼、性別、找回密碼問題、問題答案、真實姓名、聯系地址、電子郵件,系統(tǒng)在注冊時還要求用戶正確填寫驗證碼。用戶填寫完所有的信息之后,點擊“注冊”按鈕,系統(tǒng)首先對所填信息進行檢驗,以確保信息合法,然后再把信息存儲到數據庫中。下面是用戶注冊的程序的流程圖,如圖5-7所示。</p><p> 圖5-7 用戶注冊流程圖</p><p><b> 5.2.2 登錄
83、</b></p><p> 用戶要向發(fā)布構件必須先登錄系統(tǒng),系統(tǒng)登錄界面如圖5-8所示。 </p><p> 圖5-8 用戶登錄界面示意圖</p><p> 在此界面上,用戶需要填寫自己的用戶名和密碼,以及系統(tǒng)需要的驗證碼,填寫完整之后,點擊“用戶登錄”按鈕,系統(tǒng)先檢測輸入的信息是否合法,如果合法,再去數據庫中查找用戶是否存在,程序流程圖如圖5-
84、9所示。</p><p> 圖5-9 用戶登錄流程圖</p><p> 經過系統(tǒng)查找之后,如果用戶存在,將顯示登錄成功界面如圖5-10所示。</p><p> 圖5-10 用戶登錄成功界面示意圖</p><p> 5.2.3 忘記密碼</p><p> 由于某種原因,用戶忘記了密碼,系統(tǒng)為用戶提供了找回密
85、碼的功能。如果用戶忘記了密碼,可以點擊界面上的“忘記密碼”鏈接進入找回密碼界面,如圖5-11所示。</p><p> 圖5-11 找回密碼界面示意圖</p><p> 在此界面上,用戶根據用戶名、注冊時填寫的找回密碼問題以及問題答案這3項信息向系統(tǒng)詢問。系統(tǒng)首先找到對應的用戶,再將現在填寫的找回密碼問題以及問題答案與數據庫中的這些信息匹配,若是匹配成功,系統(tǒng)會讓用戶重新設置密碼;若是
86、匹配不成功,系統(tǒng)將給出錯誤提示。下面是找回密碼功能模塊的流程圖,如圖5-12所示。</p><p> 圖5-12 找回密碼流程圖</p><p> 5.2.4 修改密碼</p><p> 用戶登錄成功之后,可以進入“我的帳戶”,在此界面上有修改密碼鏈接,用戶點擊“修改密碼”,進入修改密碼頁面,如圖5-13所示。</p><p> 圖
87、5-13 修改密碼示意圖</p><p> 用戶填寫原密碼、新密碼、新密碼確認,可以隨時修改密碼。下面是修改密碼的流程圖,如圖5-14所示。</p><p> 圖5-14 修改密碼流程圖</p><p> 5.2.5 修改個人資料</p><p> 同樣,在“我的帳戶”頁面里,系統(tǒng)也給出了修改個人資料鏈接,用戶點擊左側的“用戶信息”
88、在右側可看到個人資料,如圖5-15所示。在這里,用戶點擊“用戶信息”時,系統(tǒng)按照用戶ID查詢用戶信息,從數據庫中查詢出來信息并顯示給用戶,用戶可以修改以前的個人信息。修改完之后,用戶點擊“修改”按鈕,系統(tǒng)開始檢查用戶重新修改的信息,其中“用戶名”不能為空,若是為空,系統(tǒng)將提示錯誤信息。檢查完之后,系統(tǒng)將新的信息保存到數據庫中。</p><p> 圖5-15 修改個人資料示意圖</p><p
89、> 用戶可以修改個人資料,下面是修改個人資料的流程圖如圖5-16所示。</p><p> 圖5-16 修改個人資料流程圖</p><p> 5.2.6 發(fā)布構件</p><p> 用戶如果希望別人使用自己的構件,首先必須在網上發(fā)布這些構件相關信息。用戶必須登錄系統(tǒng),才能發(fā)布構件,在“我的帳戶”頁面中,系統(tǒng)給出了發(fā)布構件的鏈接,發(fā)布構件界面如圖5-17
90、所示。</p><p> 圖5-17 發(fā)布構件頁面示意圖</p><p> 在發(fā)布軟件構件時,用戶需要填寫以下信息項:</p><p><b> 構件名稱</b></p><p> 構件必須有名稱,名稱不能為空,模糊查詢就是根據構件名稱來查找的,所以名稱非常重要。</p><p><
91、;b> 構件描述</b></p><p> 構件描述是對構件的詳細說明,包括軟件構件的結構、內容、所采用的數據結構、使用方法等。系統(tǒng)允許用戶填寫可達2000字的構件描述內容。總之,描述的越詳細,其他用戶就越容易理解構件。</p><p><b> 封裝語言</b></p><p> 封裝語言是指構件是什么語言編寫的,系
92、統(tǒng)以下拉列表的形式提供給用戶選擇,包括java語言、.NET相關、C/C++、Delphi、Basic、Asp/Php、Fortran、Perl/Python/Ruby和其他。系統(tǒng)提供給用戶一個按封裝語言的查詢方式,所以用戶必須認真填寫這一項。</p><p><b> 功能類型</b></p><p> 功能類型是指構件的用途,也是以下拉列表的形式給出,包括系統(tǒng)
93、和安全、程序開發(fā)、數據庫相關、網絡與通信、中間件、文件處理、標記語言(XML)相關、用戶界面、實用工具、信息管理、辦公應用、Web應用、領域相關和其他。</p><p><b> 國際化支持</b></p><p> 是指能使用于什么語言,包括簡體中文、繁體中文、日語、英語和其他。</p><p><b> 構件來源</b
94、></p><p> 構件是來源是下載構件的鏈接地址,用戶可以填寫,也可以不填寫。</p><p><b> 構件大小</b></p><p><b> 當前版本</b></p><p> 當前版本包括:阿爾法(Alpha)內部測試版、貝它(Beta)外部測試版、成熟(Gamma)版本
95、、試用版本(Trial)。</p><p><b> 運行環(huán)境</b></p><p> 系統(tǒng)的運行環(huán)境包括:Ms-Dos、OS/2、Windows、Linux、Windows NT、Windows 2000等。</p><p><b> 開發(fā)商名稱</b></p><p> 開發(fā)商名稱是指
96、誰開發(fā)的構件,發(fā)布時應該寫清楚。</p><p><b> 開發(fā)商主頁</b></p><p> 為了便于和開發(fā)商聯系,應該把開發(fā)商主頁也寫上。</p><p> 完整填寫構件信息之后,點擊“確認提交”按鈕,系統(tǒng)檢查構件信息,若是信息合法,就會將其保存到數據庫。下面是系統(tǒng)實現的流程圖如圖5-18所示。</p><p&g
97、t; 圖 5-18 發(fā)布構件的流程圖</p><p> 5.2.7 查詢我的構件</p><p><b> 1. 查詢構件列表</b></p><p> 用戶登錄系統(tǒng)后,可以查詢自己所發(fā)布的構件。在“我的帳戶”頁面中,用戶點擊“我的構件”系統(tǒng)將自動獲得用戶編號并按照用戶編號查詢所有的構件,以列表的形式顯示出來,如圖5-19所示。<
98、;/p><p> 圖5-19 顯示我的構件示意圖</p><p> 在此頁面上,將顯示出構件編號、構件名稱、發(fā)布時間,下面是查詢過程的流程圖,如圖5-20所示。</p><p> 圖5-20 按用戶查詢本人發(fā)布的構件流程圖</p><p> 2.查詢構件詳細信息</p><p> 上面只顯示構件編號、構件名稱
99、、發(fā)布時間,構件信息不夠詳細,在每一行后面都有一個“查詢構件詳細”按鈕,用戶點擊此按鈕,系統(tǒng)自動獲得構件編號,并按照構件編號查詢構件的詳細信息,如圖5-21所示。</p><p> 圖5-21 顯示構件詳細內容示意圖</p><p> 在此頁面上,將顯示出構件的詳細信息,到此構件的完整的查詢過程全部完成。下面是查詢構件詳細的流程圖如圖5-22所示。</p><p&
100、gt; 圖5-22 按構件ID查詢構件程序流程圖</p><p> 5.2.8 查詢構件相應評論</p><p> 在顯示構件詳細信息頁面中,系統(tǒng)設置了“查詢評論”按鈕,用戶可以點擊此按鈕,系統(tǒng)會自動獲得構件編號,按構件編號查詢其他用戶對本構件所發(fā)表的評論。系統(tǒng)只允許用戶查看評論,不允許用戶對評論做任何操作。查詢結果如圖5-23所示。</p><p> 圖
101、5-23 構件的相關評論示意圖</p><p> 系統(tǒng)顯示出了評論編號、評論主題、評論內容、評論時間,查詢過程的流程圖如圖5-24所示。</p><p> 圖5-24 查詢評論流程圖</p><p> 5.2.9 刪除構件</p><p> 用戶可以刪除自己所發(fā)布的構件,在顯示構件詳細信息頁面中,系統(tǒng)設有“刪除”按鈕。用戶點擊此按
102、鈕,系統(tǒng)將自動獲得構件編號,按照構件編號查到對應的構件將其刪除,刪除成功后,系統(tǒng)將給出提示,如圖5-25所示。 </p><p> 圖5-25 刪除構件成功界面示意圖</p><p> 下面是刪除構件數據庫操作代碼:</p><p> public boolean delete(int componmentid) {</p><p>
103、 boolean flag = false;</p><p> Transaction tx = null;</p><p><b> try {</b></p><p> Session session = HibernateSessionFactory.getSession();</p><p> tx =
104、 session.beginTransaction();</p><p> DataComponment componment = (DataComponment) session.get(</p><p> DataComponment.class, new Integer(componmentid));</p><p> session.delete(co
105、mponment);</p><p> System.out.print("刪除成功");</p><p> tx.commit();</p><p> session.flush();</p><p> flag = true;</p><p> } catch (Exception e
106、x) {</p><p> if (tx != null) {</p><p> tx.rollback();</p><p><b> }</b></p><p> ex.printStackTrace();</p><p> } finally {</p><p&
107、gt; HibernateSessionFactory.closeSession();</p><p><b> }</b></p><p> return flag;}</p><p> 5.3 管理員管理模塊實現</p><p> 系統(tǒng)管理員不是從主界面登錄到系統(tǒng)的,系統(tǒng)為管理員設有獨立的登錄窗口如圖5-2
108、6所示。</p><p> 圖5-26 管理員登錄界面示意圖</p><p> 該頁面只允許系統(tǒng)管理員登錄,管理員按照擁有不同的權限分為:</p><p><b> 超級管理員</b></p><p> 超級管理員只有一個,它主要負責管理員系統(tǒng)中所有的管理員,可以添加管理員、修改管理員權限、查找所有的管理員、刪
109、除管理員</p><p><b> 用戶管理員</b></p><p> 它主要負責管理系統(tǒng)中的所有的用戶,可以查找所有的用戶、刪除用戶。</p><p><b> 構件管理員</b></p><p> 它主要負責管理數據庫中所有的構件,可以查詢所有的構件、刪除構件</p>&
110、lt;p><b> 評論管理員</b></p><p> 它負責管理數據庫中所有的評論,可以查詢所有評論、刪除評論。</p><p> 5.3.1 超級管理員管理模塊</p><p><b> 1.添加管理員</b></p><p> 系統(tǒng)中的所有管理員都是由超級管理員添加的,超級管
111、理員登錄到系統(tǒng)之后,便進入超級管理員管理中心。如圖5-27所示。</p><p> 圖5-27 添加管理員界面示意圖</p><p> 在此界面上,超級管理員需要填寫管理員名稱、管理員密碼、確認密碼、選擇管理權限和系統(tǒng)所需要的驗證碼。系統(tǒng)首先檢查管理員名稱是否為空,若是為空,系統(tǒng)將提示錯誤并且結束;若是不為空,再檢查密碼和確認密碼是否正確,若是不正確,系統(tǒng)將提示錯誤并結束;若是正確,
112、檢查驗證碼是否相等,若是不相等,同樣提示錯誤并結束;若是相等,將保存管理員信息。下面是添加管理員模塊的流程圖如圖5-28所示。</p><p> 圖5-28 添加管理員流程圖</p><p><b> 2. 查詢管理員</b></p><p> 超級管理員可以查詢所有的系統(tǒng)管理員,在超級管理員管理中心,超級管理員點擊查詢所有管理員,將查詢
113、出全部的管理員,以列表的形式顯示出管理員編號、管理員名稱、管理員權限,如圖5-29所示。 </p><p> 圖5-29 查詢管理員界面示意圖</p><p> 下面是查詢管理員操作數據庫的核心代碼:</p><p> public List queryGetAll() {</p><p> Transaction tx = nul
114、l;</p><p> List list;</p><p><b> try {</b></p><p> Session session = HibernateSessionFactory.getSession();</p><p> String sql = " from Admin "
115、;</p><p> list = session.createQuery(sql).list();</p><p> } catch (HibernateException e) {</p><p> tx.rollback();</p><p> e.printStackTrace();</p><p>
116、 return null;</p><p> } finally {</p><p> HibernateSessionFactory.closeSession();</p><p><b> }</b></p><p> return list;}</p><p><b>
117、修改管理員權限</b></p><p> 超級管理員可以修改管理權限,在顯示管理員列表后面有“修改權限”鏈接,超級管理員點擊此鏈接,將進入修改管理員權限頁面,如圖5-30所示。 </p><p> 圖5-30 修改管理員權限界面示意圖</p><p> 系統(tǒng)將自動獲得要修改的管理員的編號,并且顯示到頁面上。超級管理員選擇新的權限,點擊“提交”按鈕
118、,系統(tǒng)將根據管理員編號,修改管理員的權限,修改過程的流程圖如圖5-31所示。</p><p> 圖5-31 修改管理員權限流程圖</p><p> 5.3.2 構件管理員管理模塊</p><p> 構件管理員登錄系統(tǒng)之后,進入構件管理中心,構件管理員的管理權限有查詢所有構件、查詢構件的詳細內容、刪除構件。其中,查詢構件詳細內容模塊的功能實現和用戶查詢構件詳細
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件系統(tǒng)項目管理畢業(yè)論文
- 軟件項目管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文——軟件下載管理系統(tǒng)
- 軟件編程畢業(yè)論文--賓館管理系統(tǒng)
- 軟件園管理服務系統(tǒng)-畢業(yè)論文
- 會計軟件系統(tǒng)畢業(yè)論文
- 畢業(yè)論文管理系統(tǒng)的數據庫設計
- 超市管理系統(tǒng)數據庫設計——畢業(yè)論文
- 畢業(yè)論文管理系統(tǒng)的數據庫設計
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng)
- 廈門軟件園管理服務系統(tǒng)-畢業(yè)論文
- 畢業(yè)論文——廈門軟件園管理服務系統(tǒng)
- 軟件工程畢業(yè)論文--項目任務管理系統(tǒng)
- 計算機畢業(yè)論文-數據庫管理系統(tǒng)
- 畢業(yè)論文設計主要構件
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng) (2)
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng) (2)
- 畢業(yè)論文——畢業(yè)論文管理系統(tǒng) (2)
- 軟件工程專業(yè)畢業(yè)論文員工管理系統(tǒng)
- 基于jsp軟件開發(fā)會員管理系統(tǒng)畢業(yè)論文
評論
0/150
提交評論