軟件構(gòu)件庫管理論文03507_第1頁
軟件構(gòu)件庫管理論文03507_第2頁
軟件構(gòu)件庫管理論文03507_第3頁
軟件構(gòu)件庫管理論文03507_第4頁
軟件構(gòu)件庫管理論文03507_第5頁
已閱讀5頁,還剩88頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、高等教育自學考試畢業(yè)設計(論文)題 目: 軟件構(gòu)件庫管理系統(tǒng) 軟件構(gòu)件庫管理系統(tǒng)摘 要目前,基于構(gòu)件的軟件開發(fā)是軟件產(chǎn)業(yè)中的熱點,它成為解決重復開發(fā)的問題,提高生產(chǎn)效率和質(zhì)量的現(xiàn)實可行的途徑。當軟件構(gòu)件的數(shù)量達到一定規(guī)模時,采用構(gòu)件庫管理系統(tǒng)對其進行組織和管理是十分必要的,構(gòu)件庫管理系統(tǒng)的組織和管理水平直接決定著構(gòu)件復用效率。本文系統(tǒng)的介紹了構(gòu)件庫管理系統(tǒng)的開發(fā)過程,完成了對構(gòu)件的發(fā)布、查詢、修改以及下載功能,還有對用戶管理和對構(gòu)件的評論管理等功能。采用的技術(shù)是基于java語言的web開發(fā)技術(shù),使用struts框架和hibernate框架組合,數(shù)據(jù)庫是microsoft sqlserver 2

2、000關(guān)鍵詞 java語言;軟件構(gòu)件;struts框架; hibernate框架;microsoft sqlserver2000software component library management systemabstractat present, the component-based software development in the software industry is hot, it developed to solve the problem of duplication, improve production efficiency and quality of the

3、 realistic way. when the number of components to achieve a certain scale, a component library management system and its management is very necessary, component library management system for the organization and management directly determines the efficiency of component reuse. this paper introduces c

4、omponent library management system development process, completed a component of the release, query, modify and download capabilities, and management and user comments on the component management. the technology used is based on the web java language development technology, the use of framework and

5、hibernate struts framework composition database is microsoft sql server 2000keywords java; software component; struts framework;hibernate framework; microsoft sql server 2000目 錄摘 要iabstractii1 緒論11.1 立題背景、目的及意義11.2 軟件構(gòu)件庫管理系統(tǒng)的發(fā)展情況21.2.1 國外研究動態(tài)21.2.2 國內(nèi)研究動態(tài)32 系統(tǒng)開發(fā)環(huán)境42.1 系統(tǒng)服務器環(huán)境要求42.1.1 對硬件的要求42.1.2 對軟

6、件的要求42.2 系統(tǒng)客戶端環(huán)境要求42.2.1 對硬件的要求42.2.2 對軟件的要求42.3 開發(fā)工具簡介52.3.1 struts框架介紹52.3.2 hibernate對象關(guān)系映射框架介紹52.3.3 sql server 2000 介紹62.3.4 系統(tǒng)的開發(fā)平臺73 需求分析及可行性研究分析93.1 需求分析93.1.1 功能需求93.1.2 數(shù)據(jù)需求113.2 系統(tǒng)開發(fā)可行性分析143.2.1 經(jīng)濟可行性153.2.2 市場可行性153.2.3 技術(shù)可行性163.2.4 時間可行性164 總體設計184.1 系統(tǒng)的開發(fā)設計思想184.2 系統(tǒng)功能設計194.2.1 系統(tǒng)的功能模塊

7、劃分194.2.2 系統(tǒng)的類圖204.3 數(shù)據(jù)庫設計215 具體實現(xiàn)245.1 查詢構(gòu)件及發(fā)表評論255.1.1 查詢構(gòu)件255.1.2 發(fā)表評論275.2 用戶管理模塊實現(xiàn)295.2.1 注冊295.2.2 登錄305.2.3 忘記密碼325.2.4 修改密碼335.2.5 修改個人資料345.2.6 發(fā)布構(gòu)件365.2.7 查詢我的構(gòu)件395.2.8 查詢構(gòu)件相應評論415.2.9 刪除構(gòu)件425.3 管理員管理模塊實現(xiàn)435.3.1 超級管理員管理模塊445.3.2 構(gòu)件管理員管理模塊475.3.3 用戶管理員管理模塊495.3.4 評論管理員管理模塊49結(jié)論51致 謝52參考文獻53附

8、錄1 英文原文及譯文55中文譯文55英文原文58附錄2 程序源代631 緒論1.1 立題背景、目的及意義目前,基于構(gòu)件的軟件開發(fā)是軟件產(chǎn)業(yè)中的熱點,它成為解決重復開發(fā)的問題,提高生產(chǎn)效率和質(zhì)量的現(xiàn)實可行的途徑。當構(gòu)件的數(shù)量達到一定規(guī)模時,采用構(gòu)件庫管理系統(tǒng)對其進行組織和管理是十分必要的,構(gòu)件庫管理系統(tǒng)的組織和管理水平直接決定著構(gòu)件復用效率。軟件復用是在軟件開發(fā)中避免重復勞動的解決方案。通過軟件復用,可以提高軟件開發(fā)的效率和質(zhì)量。近十幾年來,面向?qū)ο蠹夹g(shù)出現(xiàn)并逐步成為主流技術(shù),為軟件復用提供了基本的技術(shù)支持。軟件復用研究重新成為熱點,被視為解決軟件危機,提高軟件生產(chǎn)效率和質(zhì)量的現(xiàn)實可行的途徑。當

9、前軟件構(gòu)件技術(shù)被視為實現(xiàn)成功復用的關(guān)鍵因素之一。軟件構(gòu)件(software component)是可復用的軟件組成成份,可被用來構(gòu)造其他軟件。它可以是被封裝的對象類、類樹、一些功能模塊、軟件框架(framework)、軟件構(gòu)架(或體系結(jié)構(gòu) architectural)、文檔、分析件、設計模式(pattern)等。構(gòu)件分為構(gòu)件類和構(gòu)件實例,通過給出構(gòu)件類的參數(shù),生成實例,通過實例的組裝和控制來構(gòu)造相應的應用軟件。軟件構(gòu)件庫管理系統(tǒng)的目的,就是對軟件構(gòu)件的存儲、分類、檢索和管理,為基于構(gòu)件開發(fā)提供了全面支持。軟件工程師可以快速準確地找到需要的構(gòu)件,同時發(fā)布自己的構(gòu)件,以達資源共享。1.2 軟件構(gòu)件

10、庫管理系統(tǒng)的發(fā)展情況1.2.1 國外研究動態(tài)1968年nato軟件工程會議,mcllroy在提交會議的論文大量生產(chǎn)的軟件構(gòu)件中,提出了“軟件組裝生產(chǎn)線”的思想。從那以后,采用構(gòu)件技術(shù)實現(xiàn)軟件復用,采用“搭積木”的方式生產(chǎn)軟件,成為軟件開發(fā)人員長期的夢想。經(jīng)過這么多年的努力,開發(fā)人員提出了基于構(gòu)件的軟件開發(fā)(cbsd:component-based software development)技術(shù),并且工業(yè)界中一些主要的軟件公司和產(chǎn)業(yè)聯(lián)盟紛紛提出了一些軟件構(gòu)件的建議標準和技術(shù)規(guī)范。目前,主流的軟件構(gòu)件技術(shù)標準有三種:微軟公司的構(gòu)件對象模型(com),對象管理組織(omg)的公共對象的請求代理系統(tǒng)結(jié)

11、構(gòu)(corba)和太陽微軟系統(tǒng)公司的ejb(enterprise java bean)。它們?yōu)閼密浖拈_發(fā)提供了可移植性、異構(gòu)性的實現(xiàn)環(huán)境和健壯平臺,結(jié)束了面向?qū)ο笾械拈_發(fā)語言混亂的局面,解決軟件復用在通信、互操作等環(huán)境異構(gòu)的瓶頸問題。在基于構(gòu)件的軟件開發(fā)技術(shù)中,軟件構(gòu)件庫是管理軟件構(gòu)件及促進軟件復用的核心機制,有效地對現(xiàn)有構(gòu)件進行組織和管理,使構(gòu)件的使用者可以高效而準確地發(fā)現(xiàn)滿足其需要的可復用構(gòu)件。軟件構(gòu)件化在發(fā)達國家已普及,美國軍方與政府已經(jīng)建立了cards、asset和dars等多個大型構(gòu)件庫系統(tǒng),還有上萬個商業(yè)軟件構(gòu)件(cots)、近千個專業(yè)構(gòu)件制作組織和一批商業(yè)構(gòu)件庫運作機構(gòu),形成

12、了幾百億美元的構(gòu)件市場。1.2.2 國內(nèi)研究動態(tài)2002年7月,國務院47號文將構(gòu)件庫列為影響軟件產(chǎn)業(yè)的重大關(guān)鍵性軟件。2004年4月,科技部、發(fā)改委、商務部、信息產(chǎn)業(yè)部、國家標準化管理委員會在“國科發(fā)高字”124號文中,把發(fā)展“構(gòu)件庫”寫進了2005年“加強軟件企業(yè)技術(shù)創(chuàng)新”的目標中。在基于internet的構(gòu)件庫管理系統(tǒng)、可擴展的軟件建模系統(tǒng)等方面取得較大進展,軟件開發(fā)平臺已經(jīng)形成了系列化軟件。構(gòu)件庫系統(tǒng)完成了公共和企業(yè)兩級構(gòu)件庫管理系統(tǒng)的研發(fā),公共構(gòu)件庫已經(jīng)在北京、上海、廣州、沈陽、長沙、鄭州、西安等8個地區(qū)部署并對外使用,支持了各地軟件園區(qū)和863軟件專業(yè)孵化器的軟件構(gòu)件庫建設。2 系

13、統(tǒng)開發(fā)環(huán)境2.1 系統(tǒng)服務器環(huán)境要求2.1.1 對硬件的要求服務器硬盤空間:數(shù)據(jù)庫空間 360m (db300mlog 60m) 構(gòu)件實體空間由用戶需求決定 內(nèi)存:不小于 512m 推薦使用高性能的工作站,并且推薦配備磁盤陣列2.1.2 對軟件的要求microsoft windows 2000 server操作系統(tǒng)或更高版本microsoft sql server 2000數(shù)據(jù)庫或更高版本tomcat5.0 web 服務器或更高版本2.2 系統(tǒng)客戶端環(huán)境要求2.2.1 對硬件的要求客戶機:intel586或更高性能的微機 內(nèi)存:不小于128m2.2.2 對軟件的要求microsoft ie 5

14、.0或更高版本的web瀏覽器2.3 開發(fā)工具簡介2.3.1 struts框架介紹struts框架是apache開源軟件聯(lián)盟()的一個開源項目jakarta struts framework。struts框架繼承了mvc設計模式的特性,遵守了j2ee的servlet、jsp等技術(shù)規(guī)范,并且根據(jù)j2ee的特點做了相應的變化和擴展,是j2ee體系架構(gòu)的一種輕量級實現(xiàn)。作為一款優(yōu)秀的java web應用程序的開發(fā)框架,struts框架憑借其清晰性、靈活性,成為當前最為廣泛應用的輕量級java web 開發(fā)框架。struts的工作的原理如圖2-1所示。圖2-1 struts的

15、工作原理2.3.2 hibernate對象關(guān)系映射框架介紹hibernate框架是開放源代碼的對象關(guān)系映射工具(object-relational mapping),是一款基于java環(huán)境的優(yōu)秀的對象持久化開發(fā)框架。它根據(jù)o/r(對象/關(guān)系)映射技術(shù)思想,對jdbc進行了輕量級封裝,使開發(fā)人員可以使用一種面向?qū)ο蟮姆绞絹聿倏v和管理關(guān)系數(shù)據(jù)庫,所以從技術(shù)本質(zhì)上來說該框架是一種提供面向?qū)ο蟮臄?shù)據(jù)庫服務中間件。hibernate框架位于應用程序的業(yè)務化和持久化層,在運行時的體系結(jié)構(gòu)如圖2-2所示。圖2-2 hibernate核心接口的層次架構(gòu)關(guān)系hibernate的核心接口一共有5個,分別為:ses

16、sion、session factory、transaction、query和configuration。通過這些接口,不僅可以對持久化對象進行存取,還能夠進行事務控制。2.3.3 sql server 2000 介紹microsoft sql server 2000 數(shù)據(jù)庫在分析服務、數(shù)據(jù)轉(zhuǎn)化服務、數(shù)據(jù)倉庫等方面引入了大量新特性。它為web標準提供了強勁的支持,并為系統(tǒng)管理和調(diào)整提供了很多有力的工具。對于foxpro、access等數(shù)據(jù)庫而言,sql server是一個功能完備的正規(guī)數(shù)據(jù)庫管理系統(tǒng)。sql server2000繼承了數(shù)據(jù)庫軟件設計引擎方面的優(yōu)勢,已經(jīng)成為新一代網(wǎng)絡應用程序的最

17、佳數(shù)據(jù)庫和分析解決方案之一。作為microsoft.net enterprise servers的核心組件,它將減少電子商務、在線商務和數(shù)據(jù)倉儲應用程序推向市場時間,并對需要的環(huán)境提供可靠的支持。sql server2000對xml和http提供充分的支持;提供分割裝載和確保時間的特性;提供先進的管理和協(xié)調(diào)機制,可以自動管理線和任務,降低總體開銷。另外,sql server2000充分利用了windows 2000的功能,包括支持活動目錄服務,最多支持32個處理器和64gb的內(nèi)存。它還包括支持開發(fā)引擎、標準的sql語言、擴展的特性等功能,這些是一些大型數(shù)據(jù)庫系統(tǒng)才具備的特性。而存儲過程、觸發(fā)器

18、等特性,也是個人數(shù)據(jù)庫所沒有的??偟膩碚f,sql server2000簡單易用,功能全,很適合做開發(fā)使用。2.3.4 系統(tǒng)的開發(fā)平臺根據(jù)前面介紹可以看到hibenate架構(gòu)只具備數(shù)據(jù)持久化設計能力,而struts架構(gòu)則在模型設計方面能力薄弱,所以將二者結(jié)合起來使用,共同搭建系統(tǒng)結(jié)構(gòu)實現(xiàn)model-view-contral模型設計,可以達到二者優(yōu)勢互補,從而使系統(tǒng)設計具備低耦合性以及較高的可維護性和可擴展性。本系統(tǒng)就是采用這個思想來開發(fā)的,用struts框架實現(xiàn)視圖和控制設計,用hibernate實現(xiàn)模型設計。在具體的設計過程中,采用“簡單工廠設計模式”,將二者完整地結(jié)合起來,使系統(tǒng)符合到了“低

19、耦合、高內(nèi)聚”的程序設計要求,這樣程序模塊清晰,容易理解,具有很高的復用價值。下面是用圖來描述本系統(tǒng)的體系結(jié)構(gòu)如圖2-3所示。圖2-3 系統(tǒng)體系結(jié)構(gòu)圖3 需求分析及可行性研究分析基于構(gòu)件的軟件開發(fā)技術(shù),在我國有了初步發(fā)展,國家已經(jīng)在北京、上海、廣州、沈陽、長沙、鄭州、西安等8個地區(qū)建立公共軟件構(gòu)件庫并對外使用。構(gòu)件庫系統(tǒng)通過對可復用構(gòu)件的分類、管理、存儲和檢索,為面向復用和基于復用的軟件開發(fā)過程提供全面的支持。 本文所設計的軟件構(gòu)件庫管理系統(tǒng)包括如下功能:用戶管理、構(gòu)件發(fā)布、構(gòu)件查詢、構(gòu)件下載等。支持構(gòu)件的使用者可以高效而準確地發(fā)現(xiàn)滿足其需要的可復用構(gòu)件,從而提高構(gòu)件的復用效率。知識點:l s

20、truts+hibernate框架的使用l sql server2000數(shù)據(jù)庫設計l 構(gòu)件的分類l 構(gòu)件的存儲l 構(gòu)件的查詢l office visio畫圖軟件的應用3.1 需求分析3.1.1 功能需求根據(jù)分析可以確定系統(tǒng)有兩類參與者普通用戶和管理員,管理員分為用戶管理員、構(gòu)件管理員、評論管理員。這兩個參與者的具體操作如下。1. 用戶的操作l 用戶登錄、用戶注冊、查詢構(gòu)件、發(fā)表評論。如圖3-1所示。圖3-1普通用戶的基本操作用例圖l 發(fā)表構(gòu)件、修改個人基本信息、修改密碼、刪除所發(fā)布的構(gòu)件、查詢評論。如圖3-2所示。圖3-2用戶的操作用例圖2. 管理員的操作l 管理員對管理員和用戶的管理:查詢用

21、戶、刪除用戶、添加管理員、刪除管理員、修改管理員權(quán)限。如圖3-3所示。圖3-3管理員管理用戶的用例圖l 管理員對構(gòu)件或評論管理:查詢構(gòu)件、刪除構(gòu)件、查詢評論、刪除評論。如圖3-4所示。圖3-4管理員管理構(gòu)件或評論的用例圖3.1.2 數(shù)據(jù)需求軟件構(gòu)件庫系統(tǒng)的開發(fā)目的就是提供給用戶重用構(gòu)件的平臺,即用戶可以發(fā)布自己的構(gòu)件,并且可以查找、下載自己所需的構(gòu)件,以推動軟件構(gòu)件化的發(fā)展。由此,系統(tǒng)涉及到的實體有:普通用戶、管理員、構(gòu)件、評論。實體之間有如下聯(lián)系:l 一個用戶可以發(fā)布多個構(gòu)件l 一個構(gòu)件可以有多個評論l 系統(tǒng)設一個超級管理員,主要是管理系統(tǒng)中其他管理員l 不同的管理員有不同的權(quán)限l 用戶管理

22、員可以管理所有的用戶l 構(gòu)件管理員可以管理所有的構(gòu)件以及構(gòu)件的評論l 用戶可以管理自己的構(gòu)件l 用戶可以查詢自己構(gòu)件的評論經(jīng)過分析畫出e-r圖,如圖3-6所示。圖3-6實體關(guān)系圖根據(jù)實際情況的分析,設計出如下實體及其屬性。l 普通用戶屬性:用戶id(personid)、用戶名(username)、密碼(userpassword)、真實姓名(truename)、找回密碼問題(userques)、問題答案(userans)、性別(sex)、email(email)、地址(adress)。如圖3-7所示。圖3-7普通用戶的屬性l 管理員屬性:管理員編號(adminid)、管理員名字(adminnam

23、e)、密碼(adminpassword)、管理員權(quán)限(power)。如圖3-8所示。圖3-8 管理員的屬性l 構(gòu)件信息屬性:構(gòu)件id(componentid)、構(gòu)件名稱(componentname)、構(gòu)件大小(componentsize)、構(gòu)件描述(componentdescribe)、當前版本(currentedition)、封裝類型(encapulationtype)、運行環(huán)境(runenvironment)、構(gòu)件來源(componenturl)(提供下載連接)、功能類型(functiontype)、國際化支持(nationsustain)、開發(fā)商名字(empoldername)、開發(fā)商主

24、頁(empolderblog)。如圖3-9所示。圖3-9構(gòu)件屬性l 構(gòu)件評論屬性:評論id(commentid)、構(gòu)件id(componentid)、評論內(nèi)容(commentcontent)、評論時間(commentdate)。如圖3-10所示。圖3-10 構(gòu)件評論屬性3.2 系統(tǒng)開發(fā)可行性分析可行性分析是在用戶的要求和系統(tǒng)調(diào)研的基礎(chǔ)上進行的,對新系統(tǒng)的開發(fā)從經(jīng)濟、市場、技術(shù)、時間等方面進行分析,并得出新系統(tǒng)的開發(fā)工作可行、不可行、需要修改、追加投資、暫緩開發(fā)、分步實施等方案和結(jié)論,最后完成可行性分析。3.2.1 經(jīng)濟可行性經(jīng)濟可行性分析中最重要的內(nèi)容之一是成本效益分析。對于一個基于基本計算機

25、系統(tǒng)的研制項目要在經(jīng)濟方面評價其是否合理,成本效益分析要估計出研制開發(fā)的花費并與收益(包括有形的可以用貨幣計數(shù)的及無形的利益)衡量比較。目前已有兩臺pc機。無須購買新的硬件設備。只要支付軟件開發(fā)和維護費用,以及人員培訓費用。系統(tǒng)投入運行后,會及大提高數(shù)據(jù)的管理效率。3.2.2 市場可行性要在軟件系統(tǒng)的開發(fā)過程中有效的實現(xiàn)復用,必須要求復用達到一定的規(guī)模,必須有大量的可供開發(fā)人員選擇的可復用構(gòu)件。構(gòu)件的數(shù)量越多,找到合適構(gòu)件的可能性也就越大,應用系統(tǒng)的復用程度也就越高。但是隨著構(gòu)件數(shù)量的增加,如何有效的對這些構(gòu)件進行組織和管理成為了構(gòu)件復用技術(shù)成敗的關(guān)鍵。如果大量的構(gòu)件沒有被有效的組織和管理起來

26、,那么要在一堆沒有任何結(jié)構(gòu),散亂的構(gòu)件中,找到滿足特定需求的構(gòu)件是一件十分困難的事情。因此,當構(gòu)件的數(shù)量達到一定規(guī)模時,采用構(gòu)件庫對其進行組織和管理是十分必要的,構(gòu)件庫的組織和管理水平直接決定著構(gòu)件復用的效率。構(gòu)件庫是用于存儲,檢索,瀏覽和管理可復用構(gòu)件的基礎(chǔ)設施,構(gòu)件庫的組織和管理形式要有利于構(gòu)件的存儲和檢索,其最關(guān)鍵的目標是支持構(gòu)件的使用者可以高效而準確的發(fā)現(xiàn)滿足其需要的可復用構(gòu)件。 3.2.3 技術(shù)可行性就目前使用的開發(fā)技術(shù)來說系統(tǒng)的功能目標能夠達到;利用現(xiàn)有的技術(shù)在規(guī)定的期限內(nèi)開發(fā)工作能夠完成。從目前市場上比較流行的web開發(fā)來看,對于比較簡單的中小型網(wǎng)站的開發(fā)struts框架和hib

27、erbate框架組合是一種比較好的解決方案。它為用戶提供了windows所一貫堅持的界面友好、操作簡單無疑是在實際應用中較為成功的用戶界面,簡潔明了的數(shù)據(jù)接口與sql語句的結(jié)合支持對數(shù)據(jù)庫進行更為復雜的操作。結(jié)合本項目的實際情況來看,但是其業(yè)務流程和數(shù)據(jù)流程還是可以分析清楚的,經(jīng)系統(tǒng)分析可以設計出符合實際需求、易于理解、易于操作、易于維護的后臺數(shù)據(jù)庫和前臺應用程序。3.2.4 時間可行性根據(jù)學院及導師對畢業(yè)設計的要求,通過具體安排系統(tǒng)開發(fā)時間如下,并要求自己在每一階段提前完成具體任務。開發(fā)進度安排:前期工作:2007/10/22至2007/10/30 確定具體課題題目2007/10/31至20

28、08/01/16 完成課題的調(diào)查研究、可行性分析、設計目標、需要解決的關(guān)鍵問題、資料收集。2008/01/18至2008/01/22 完成需求分析2008/01/23至2008/02/01完成總體功能設計后期工作: 2008/02/18至2008/02/28 系統(tǒng)的編碼設計、系統(tǒng)性能測試分析 2008/02/28至2008/04/08 完成畢業(yè)設計論文的書寫 2008/04/12 論文答辯4 總體設計4.1 系統(tǒng)的開發(fā)設計思想 系統(tǒng)是以瀏覽器/服務器模式開發(fā)的管理系統(tǒng),系統(tǒng)具備如下功能。l 系統(tǒng)允許用戶注冊、登錄、查詢構(gòu)件以及對構(gòu)件發(fā)表評論l 用戶可以發(fā)布構(gòu)件、對自己注冊信息管理,對自己所發(fā)布

29、的構(gòu)件進行管理l 系統(tǒng)中有不同的管理員,包括超級管理員、用戶管理員、構(gòu)件管理員、評論管理員l 系統(tǒng)管理員對數(shù)據(jù)庫中所有的構(gòu)件管理、對構(gòu)件的評論、對用戶管理,對管理員的管理下面是系統(tǒng)的具體部署圖,如圖4-1所示。圖4-1系統(tǒng)部署示意圖4.2 系統(tǒng)功能設計4.2.1 系統(tǒng)的功能模塊劃分根據(jù)對系統(tǒng)的實際需求分析,再結(jié)合自己的實際開發(fā)能力,總結(jié)出系統(tǒng)的總體設計,明確地劃分出了系統(tǒng)的功能模塊,該系統(tǒng)主要有用戶管理員、管理員管理、構(gòu)件管理、評論管理這大模塊組成。各個模塊的具體實現(xiàn)功能用方框圖來描述如圖4-2所示。軟件構(gòu)件庫管理系統(tǒng)用戶登錄用戶注冊用戶管理構(gòu)件管理評論管理管理員管理修改密碼查詢所有用戶刪除用

30、戶添加管理員刪除管理員用戶信息修改修改權(quán)限查詢構(gòu)件發(fā)布構(gòu)件刪除構(gòu)件查詢評論刪除評論修改密碼按權(quán)限查詢按用戶名查詢查詢所有模糊查詢查詢管理員發(fā)表評論按封裝語言查詢按用戶查詢按功能類型查詢查詢所有按構(gòu)件查詢圖4-2系統(tǒng)的總的功能模塊圖4.2.2 系統(tǒng)的類圖通過對系統(tǒng)進行模塊劃分,明確系統(tǒng)的主要功能。再進一步分析,確定系統(tǒng)中的類,以及類與類之間的關(guān)系,下面是系統(tǒng)中涉及的類l 普通用戶(userdao) 主要方法:登錄(login)、注冊用戶(registerperson)、修改密碼(updatepasswor)、修改用戶(updateperson)、刪除用戶(deleteperson)、查詢所有用戶

31、(querygetall)。l 管理員(admindao)主要方法:登錄(login)、添加管理員(addadmin)、修改密碼(updatepassword)、修改權(quán)限(updatepower)、刪除管理員(deleteadmin)、按用戶名查詢(querybyname)、按權(quán)限查詢(querybypower)、查詢所有(getall)。l 構(gòu)件(componentdao)主要方法:發(fā)布構(gòu)件(addcomponent)、按功能類型查詢(getbyfunctiontype)、按封裝語言查詢(getby encapulationlanguage)、模糊查詢(getbyindexname)、按用戶

32、id查詢(getbypersonid)、查詢所有(querygetall)、刪除構(gòu)件(deletecomponent)。l 評論(commentdao)主要方法:發(fā)表評論(issuecomment)、刪除評論(deletecomment)、按構(gòu)件id查詢(getbycomponentid)、查詢所有(getall)。下面是用圖的形式來描述系統(tǒng)中的類,包括類的屬性和方法,以及類與類的關(guān)系如圖4-3所示。圖4-3系統(tǒng)類圖以及之間的關(guān)系4.3 數(shù)據(jù)庫設計根據(jù)數(shù)據(jù)庫的邏輯分析,在microsoft sql server 2000數(shù)據(jù)庫建立數(shù)據(jù)庫表和數(shù)據(jù)字段。有e-r圖分析可映射成如下4張表。1. 用戶

33、信息表表名data_user,存放用戶信息,物理結(jié)構(gòu)如表4-1所示。表4-1用戶信息表data_user字段名類型是否為主鍵是否空說明personidint是否用戶idusernamechar否否用戶名userpasswordchar否否密碼truenamechar否是真實姓名userqueschargo否是找回密碼問題useranschar否是問題答案sexchar否是性別emailchar否是電子郵件addressvarchar否是聯(lián)系地址2. 管理員信息表表名data_admin,存放管理員信息,物理結(jié)構(gòu)如表4-2所示。表4-2管理員信息表data_admin字段名類型是否為主鍵 是否空

34、說明adminidint是否管理員idadminnamechar是否管理員用戶名adminpasswordchar否否密碼powerchar否否權(quán)限3.構(gòu)件信息表表名data_component,存放構(gòu)件信息,物理結(jié)構(gòu)如表4-3所示。表4-3構(gòu)件信息表data_component字段名類型是否為主鍵是否空說明componentidint是否構(gòu)件主鍵personidint否否發(fā)布人componentnamevarchar否否構(gòu)件名字currenteditionchar否否當前版本encapulationlanguagechar否否封裝語言componentdescribntext否否構(gòu)件描述ru

35、nenvironmentvarchar否否運行環(huán)境componenturlvarchar否否構(gòu)件來源functiontypevarchar否否功能類型componentsizefloat否否構(gòu)件大小續(xù)表4-3構(gòu)件信息表data_componentnationsustainchar否否國際化支持empoldernamevarchar否是開發(fā)商名字empolderblogchar否是開發(fā)商主頁adddatedate否是發(fā)布日期4.評論信息表表名data_comment,存放評論內(nèi)容,物理結(jié)構(gòu)如表4-4所示。表4-4評論信息表data_comment字段名類型是否為主是否空說明commentidin

36、t是否評論主鍵componentidint否否構(gòu)件idcommentcontentvarchar否否評論內(nèi)容commentdatedatetime否否發(fā)表評論時間5 具體實現(xiàn)軟件構(gòu)件庫管理系統(tǒng)主要有用戶管理、管理員管理、構(gòu)件管理、評論管理,這四大功能模塊。這一章主要來介紹系統(tǒng)的各個模塊的詳細實現(xiàn)。軟件構(gòu)件庫管理系統(tǒng)的主界面如圖5-1所示。圖5-1 系統(tǒng)首頁示意圖軟件構(gòu)件庫管理系統(tǒng)可以有以下使用方式:l 注冊任何人在使用本系統(tǒng)之前(構(gòu)件查詢和發(fā)表評論除外),必須注冊,申請成為本系統(tǒng)的合法用戶。l 用戶登錄維護個人信息/構(gòu)件發(fā)布/構(gòu)件查詢/評論查詢注銷 用戶使用用戶名和密碼登錄到本系統(tǒng)后,可以進行

37、個人信息維護、構(gòu)件發(fā)布或管理自己的構(gòu)件、評論查詢的工作,完成之后注銷用戶身份。如想再使用本系統(tǒng)(構(gòu)件查詢除外),必須再次登錄系統(tǒng)。l 構(gòu)件查詢發(fā)表評論任何人員都可以不進行系統(tǒng)登錄而直接查詢構(gòu)件,并且還可以發(fā)表評論。l 系統(tǒng)管理員登錄維護系統(tǒng)管理員/維護用戶/維護構(gòu)件/維護評論注銷系統(tǒng)管理員登錄系統(tǒng)后,管理系統(tǒng)管理員信息、管理用戶信息、管理構(gòu)件信息、管理構(gòu)件評論,完成之后注銷用戶身份,如果還想進行系統(tǒng)管理功能,必須再次登錄。5.1 查詢構(gòu)件及發(fā)表評論5.1.1 查詢構(gòu)件查詢構(gòu)件用戶有兩類:一類是未登錄的用戶,另一類是登錄用戶。未登錄用戶可以查看構(gòu)件、發(fā)表評論,登錄用戶也可以查看構(gòu)件、發(fā)表評論并且

38、還可以管理自己的構(gòu)件。查詢部分的主要功能,是幫助用戶根據(jù)自己的需要查詢、瀏覽、選取和提取構(gòu)件庫中的構(gòu)件。系統(tǒng)為用戶提供了3種查詢構(gòu)件的方式,分別是模糊查詢、按封裝語言查詢、按功能類型查詢。盡量保證用戶快速、準確地查找到自己所需要的構(gòu)件。例如:用戶采用模糊查詢,可以在模糊查詢文本框中輸入關(guān)鍵字“jsp”,系統(tǒng)將關(guān)鍵字與數(shù)據(jù)庫存儲的構(gòu)件名稱匹配,只要構(gòu)件名稱中含有“jsp”字樣,就將構(gòu)件顯示出來。下圖是查詢后的顯示結(jié)果如圖5-2所示。圖5-2 顯示查詢構(gòu)件結(jié)果示意圖在此頁面中,將顯示出構(gòu)件編號、構(gòu)件名稱、發(fā)布日期,這些構(gòu)件信息。查詢構(gòu)件的操作順序是:首先,用戶進入查詢構(gòu)件頁面(在首頁也可以查詢),

39、其次,用戶可以選擇任何一種查詢方式來查詢構(gòu)件,輸入或選擇查詢條件,最后,點擊相應的查詢按鈕。系統(tǒng)將顯示查詢結(jié)果,若是沒有查詢到構(gòu)件,將顯示為空。下面是查詢構(gòu)件的流程圖如圖5-3所示。 進入查詢構(gòu)件界面選擇查詢方式結(jié) 束輸入功能類型顯示查詢結(jié)果按封裝語言查詢按功能類型模糊查詢查 詢輸入關(guān)鍵字輸入封裝語言圖5-3 查詢構(gòu)件流程圖查詢完畢之后,用戶可以點擊界面右側(cè)的“查看構(gòu)件詳細”按鈕,可以看到構(gòu)件的詳細,包括構(gòu)件描述、當前版本、封裝語言、運行環(huán)境、構(gòu)件來源、功能類型、構(gòu)件大小、國際化支持、開發(fā)商名稱、開發(fā)商主頁。用戶可以根據(jù)開發(fā)商提供的來源地址下載構(gòu)件,或者根據(jù)開發(fā)商提供的開發(fā)商主頁地址,聯(lián)系開發(fā)

40、商,取得構(gòu)件。5.1.2 發(fā)表評論任何用戶都可以對構(gòu)件發(fā)表評論,其中評論主題、內(nèi)容不能為空,系統(tǒng)還要求填寫驗證碼。該頁面的顯示效果如圖5-4所示。圖5-4 發(fā)表評論界面示意圖用戶填寫完評論信息之后,點擊“提交”,系統(tǒng)將檢驗評論主題、評論內(nèi)容是否為空,若不為空,將評論信息保存到數(shù)據(jù)庫中,若是為空,系統(tǒng)會顯示出錯誤信息,只能重新發(fā)表。下面是發(fā)表評論的流程圖,如圖5-5所示。填寫主題、內(nèi)容、驗證碼檢驗是否為空保存并發(fā)布結(jié) 束開 始yn圖5-5 發(fā)表評論流程圖5.2 用戶管理模塊實現(xiàn)5.2.1 注冊任何人在使用系統(tǒng)之前(除構(gòu)件查詢除外),必須先注冊成為系統(tǒng)會員,點擊主界面上的“用戶注冊”鏈接,可進入到

41、“用戶注冊頁面”如圖5-6所示。 圖5-6 用戶注冊界面示意圖 在此界面上,需要填寫的個人基本信息,包括用戶名、密碼、性別、找回密碼問題、問題答案、真實姓名、聯(lián)系地址、電子郵件,系統(tǒng)在注冊時還要求用戶正確填寫驗證碼。用戶填寫完所有的信息之后,點擊“注冊”按鈕,系統(tǒng)首先對所填信息進行檢驗,以確保信息合法,然后再把信息存儲到數(shù)據(jù)庫中。下面是用戶注冊的程序的流程圖,如圖5-7所示。ynynynyn保存用戶信息用戶名是否存在驗證碼對否驗證兩次輸入密碼是否一致基本信息是否空填寫基本信息、驗證碼開 始結(jié)束圖5-7 用戶注冊流程圖5.2.2 登錄用戶要向發(fā)布構(gòu)件必須先登錄系統(tǒng),系統(tǒng)登錄界面如圖5-8所示。

42、圖5-8 用戶登錄界面示意圖在此界面上,用戶需要填寫自己的用戶名和密碼,以及系統(tǒng)需要的驗證碼,填寫完整之后,點擊“用戶登錄”按鈕,系統(tǒng)先檢測輸入的信息是否合法,如果合法,再去數(shù)據(jù)庫中查找用戶是否存在,程序流程圖如圖5-9所示。開 始驗證碼正確?輸入用戶名、密碼、驗證碼結(jié)束登錄成功并進入主界面n用戶名、密碼合法嗎yny圖5-9 用戶登錄流程圖經(jīng)過系統(tǒng)查找之后,如果用戶存在,將顯示登錄成功界面如圖5-10所示。圖5-10 用戶登錄成功界面示意圖5.2.3 忘記密碼由于某種原因,用戶忘記了密碼,系統(tǒng)為用戶提供了找回密碼的功能。如果用戶忘記了密碼,可以點擊界面上的“忘記密碼”鏈接進入找回密碼界面,如圖

43、5-11所示。圖5-11 找回密碼界面示意圖在此界面上,用戶根據(jù)用戶名、注冊時填寫的找回密碼問題以及問題答案這3項信息向系統(tǒng)詢問。系統(tǒng)首先找到對應的用戶,再將現(xiàn)在填寫的找回密碼問題以及問題答案與數(shù)據(jù)庫中的這些信息匹配,若是匹配成功,系統(tǒng)會讓用戶重新設置密碼;若是匹配不成功,系統(tǒng)將給出錯誤提示。下面是找回密碼功能模塊的流程圖,如圖5-12所示。開 始輸入用戶名結(jié) 束密碼、確認密碼是否一致保存密碼yn輸入新密碼、確認密碼答案是否正確ny顯示找回密碼問題輸入問題答案圖5-12 找回密碼流程圖5.2.4 修改密碼用戶登錄成功之后,可以進入“我的帳戶”,在此界面上有修改密碼鏈接,用戶點擊“修改密碼”,進

44、入修改密碼頁面,如圖5-13所示。圖5-13 修改密碼示意圖 用戶填寫原密碼、新密碼、新密碼確認,可以隨時修改密碼。下面是修改密碼的流程圖,如圖5-14所示。結(jié) 束yn保 存輸入原密碼、新密碼、確認密碼原密碼正確嗎新密碼、確認密碼是否一致yn開 始圖5-14 修改密碼流程圖5.2.5 修改個人資料同樣,在“我的帳戶”頁面里,系統(tǒng)也給出了修改個人資料鏈接,用戶點擊左側(cè)的“用戶信息”在右側(cè)可看到個人資料,如圖5-15所示。在這里,用戶點擊“用戶信息”時,系統(tǒng)按照用戶id查詢用戶信息,從數(shù)據(jù)庫中查詢出來信息并顯示給用戶,用戶可以修改以前的個人信息。修改完之后,用戶點擊“修改”按鈕,系統(tǒng)開始檢查用戶重

45、新修改的信息,其中“用戶名”不能為空,若是為空,系統(tǒng)將提示錯誤信息。檢查完之后,系統(tǒng)將新的信息保存到數(shù)據(jù)庫中。圖5-15 修改個人資料示意圖 用戶可以修改個人資料,下面是修改個人資料的流程圖如圖5-16所示。輸入的信息合法嗎開始獲得用戶id查詢個人信息結(jié)束顯示個人信息保存ny修改個人信息圖5-16 修改個人資料流程圖5.2.6 發(fā)布構(gòu)件用戶如果希望別人使用自己的構(gòu)件,首先必須在網(wǎng)上發(fā)布這些構(gòu)件相關(guān)信息。用戶必須登錄系統(tǒng),才能發(fā)布構(gòu)件,在“我的帳戶”頁面中,系統(tǒng)給出了發(fā)布構(gòu)件的鏈接,發(fā)布構(gòu)件界面如圖5-17所示。圖5-17 發(fā)布構(gòu)件頁面示意圖在發(fā)布軟件構(gòu)件時,用戶需要填寫以下信息項:l 構(gòu)件名稱

46、構(gòu)件必須有名稱,名稱不能為空,模糊查詢就是根據(jù)構(gòu)件名稱來查找的,所以名稱非常重要。l 構(gòu)件描述構(gòu)件描述是對構(gòu)件的詳細說明,包括軟件構(gòu)件的結(jié)構(gòu)、內(nèi)容、所采用的數(shù)據(jù)結(jié)構(gòu)、使用方法等。系統(tǒng)允許用戶填寫可達2000字的構(gòu)件描述內(nèi)容??傊?,描述的越詳細,其他用戶就越容易理解構(gòu)件。l 封裝語言 封裝語言是指構(gòu)件是什么語言編寫的,系統(tǒng)以下拉列表的形式提供給用戶選擇,包括java語言、.net相關(guān)、c/c+、delphi、basic、asp/php、fortran、perl/python/ruby和其他。系統(tǒng)提供給用戶一個按封裝語言的查詢方式,所以用戶必須認真填寫這一項。l 功能類型 功能類型是指構(gòu)件的用途,

47、也是以下拉列表的形式給出,包括系統(tǒng)和安全、程序開發(fā)、數(shù)據(jù)庫相關(guān)、網(wǎng)絡與通信、中間件、文件處理、標記語言(xml)相關(guān)、用戶界面、實用工具、信息管理、辦公應用、web應用、領(lǐng)域相關(guān)和其他。l 國際化支持是指能使用于什么語言,包括簡體中文、繁體中文、日語、英語和其他。l 構(gòu)件來源構(gòu)件是來源是下載構(gòu)件的鏈接地址,用戶可以填寫,也可以不填寫。l 構(gòu)件大小l 當前版本當前版本包括:阿爾法(alpha)內(nèi)部測試版、貝它(beta)外部測試版、成熟(gamma)版本、試用版本(trial)。l 運行環(huán)境系統(tǒng)的運行環(huán)境包括:ms-dos、os/2、windows、linux、windows nt、window

48、s 2000等。l 開發(fā)商名稱 開發(fā)商名稱是指誰開發(fā)的構(gòu)件,發(fā)布時應該寫清楚。l 開發(fā)商主頁 為了便于和開發(fā)商聯(lián)系,應該把開發(fā)商主頁也寫上。完整填寫構(gòu)件信息之后,點擊“確認提交”按鈕,系統(tǒng)檢查構(gòu)件信息,若是信息合法,就會將其保存到數(shù)據(jù)庫。下面是系統(tǒng)實現(xiàn)的流程圖如圖5-18所示。開 始填寫構(gòu)件信息構(gòu)件名稱為空嗎?保 存結(jié) 束構(gòu)件來源填寫規(guī)范嗎?開發(fā)商主頁填寫規(guī)范?ynynyy是否填寫構(gòu)件來源或開發(fā)商主頁n圖 5-18 發(fā)布構(gòu)件的流程圖5.2.7 查詢我的構(gòu)件 1. 查詢構(gòu)件列表用戶登錄系統(tǒng)后,可以查詢自己所發(fā)布的構(gòu)件。在“我的帳戶”頁面中,用戶點擊“我的構(gòu)件”系統(tǒng)將自動獲得用戶編號并按照用戶編號

49、查詢所有的構(gòu)件,以列表的形式顯示出來,如圖5-19所示。圖5-19 顯示我的構(gòu)件示意圖在此頁面上,將顯示出構(gòu)件編號、構(gòu)件名稱、發(fā)布時間,下面是查詢過程的流程圖,如圖5-20所示。開 始獲得用戶id按本人id查詢顯示構(gòu)件結(jié)束圖5-20 按用戶查詢本人發(fā)布的構(gòu)件流程圖2查詢構(gòu)件詳細信息上面只顯示構(gòu)件編號、構(gòu)件名稱、發(fā)布時間,構(gòu)件信息不夠詳細,在每一行后面都有一個“查詢構(gòu)件詳細”按鈕,用戶點擊此按鈕,系統(tǒng)自動獲得構(gòu)件編號,并按照構(gòu)件編號查詢構(gòu)件的詳細信息,如圖5-21所示。圖5-21 顯示構(gòu)件詳細內(nèi)容示意圖在此頁面上,將顯示出構(gòu)件的詳細信息,到此構(gòu)件的完整的查詢過程全部完成。下面是查詢構(gòu)件詳細的流程

50、圖如圖5-22所示。開 始獲得構(gòu)件id按構(gòu)件id查詢顯示構(gòu)件結(jié)束圖5-22 按構(gòu)件id查詢構(gòu)件程序流程圖5.2.8 查詢構(gòu)件相應評論在顯示構(gòu)件詳細信息頁面中,系統(tǒng)設置了“查詢評論”按鈕,用戶可以點擊此按鈕,系統(tǒng)會自動獲得構(gòu)件編號,按構(gòu)件編號查詢其他用戶對本構(gòu)件所發(fā)表的評論。系統(tǒng)只允許用戶查看評論,不允許用戶對評論做任何操作。查詢結(jié)果如圖5-23所示。圖5-23 構(gòu)件的相關(guān)評論示意圖系統(tǒng)顯示出了評論編號、評論主題、評論內(nèi)容、評論時間,查詢過程的流程圖如圖5-24所示。開始獲得構(gòu)件id按構(gòu)件id查詢顯示評論結(jié)束圖5-24 查詢評論流程圖5.2.9 刪除構(gòu)件 用戶可以刪除自己所發(fā)布的構(gòu)件,在顯示構(gòu)件

51、詳細信息頁面中,系統(tǒng)設有“刪除”按鈕。用戶點擊此按鈕,系統(tǒng)將自動獲得構(gòu)件編號,按照構(gòu)件編號查到對應的構(gòu)件將其刪除,刪除成功后,系統(tǒng)將給出提示,如圖5-25所示。 圖5-25 刪除構(gòu)件成功界面示意圖下面是刪除構(gòu)件數(shù)據(jù)庫操作代碼:public boolean delete(int componmentid) boolean flag = false;transaction tx = null;try session session = hibernatesessionfactory.getsession();tx = session.begintransaction();datacomponmen

52、t componment = (datacomponment) session.get(datacomponment.class, new integer(componmentid);session.delete(componment);system.out.print(刪除成功);mit();session.flush();flag = true; catch (exception ex) if (tx != null) tx.rollback();ex.printstacktrace(); finally hibernatesessionfactory.closesession();ret

53、urn flag;5.3 管理員管理模塊實現(xiàn)系統(tǒng)管理員不是從主界面登錄到系統(tǒng)的,系統(tǒng)為管理員設有獨立的登錄窗口如圖5-26所示。圖5-26 管理員登錄界面示意圖該頁面只允許系統(tǒng)管理員登錄,管理員按照擁有不同的權(quán)限分為:l 超級管理員超級管理員只有一個,它主要負責管理員系統(tǒng)中所有的管理員,可以添加管理員、修改管理員權(quán)限、查找所有的管理員、刪除管理員l 用戶管理員它主要負責管理系統(tǒng)中的所有的用戶,可以查找所有的用戶、刪除用戶。l 構(gòu)件管理員它主要負責管理數(shù)據(jù)庫中所有的構(gòu)件,可以查詢所有的構(gòu)件、刪除構(gòu)件l 評論管理員 它負責管理數(shù)據(jù)庫中所有的評論,可以查詢所有評論、刪除評論。5.3.1 超級管理員管理模塊1添加管理員系統(tǒng)中的所有管理員都是由超級管理員添加的,超級管理員登錄到系統(tǒng)之后,便進入超級管理員管理中心。如圖5-27所示。圖5-27 添加管理員界面示意圖在此界面上,超級管理員需要填寫管理員名稱、管理員密碼、確認

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論