基于j2ee的圖書館管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).doc
《基于j2ee的圖書館管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).doc》由會員分享,可在線閱讀,更多相關(guān)《基于j2ee的圖書館管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn).doc(85頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、基于J2EE的圖書館管理系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)摘 要隨著計(jì)算機(jī)及網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,人們的工作效率大大提高,信息化管理在我們生活中所扮演的角色也越來越重要。而計(jì)算機(jī)信息處理系統(tǒng)更是改變了許多系統(tǒng)的經(jīng)營管理。學(xué)校的圖書館作為學(xué)生獲取知識的一個重要學(xué)習(xí)場所,圖書和學(xué)生借閱資料繁多,信息化管理更是必不可少。因而圖書館管理系統(tǒng)成為學(xué)校管理機(jī)制中的重要組成部分之一,通過對圖書館管理的日常運(yùn)行的研究,開發(fā)了這套圖書館管理系統(tǒng),以此代替原始的圖書館人工管理。本系統(tǒng)基于J2EE平臺,采用oracle作為后臺數(shù)據(jù)庫,本文根據(jù)軟件工程規(guī)范的要求,按照系統(tǒng)的需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)與測試的順序分別介紹了系統(tǒng)的研究背景和
2、研究現(xiàn)狀,介紹了系統(tǒng)的業(yè)務(wù)需求、功能需求和非功能需求,給出了系統(tǒng)的軟件架構(gòu)、數(shù)據(jù)設(shè)計(jì)和各模塊的詳細(xì)設(shè)計(jì),簡述了書目查詢、讀者管理、新書管理、信息發(fā)布、圖書借還模塊的設(shè)計(jì)與實(shí)現(xiàn),重點(diǎn)突出了個性化推薦模塊的模型和算法實(shí)施,最后還實(shí)現(xiàn)了系統(tǒng)的三層軟件架構(gòu)和系統(tǒng)界面,并通過系統(tǒng)測試驗(yàn)證了系統(tǒng)給的可用性和適用性。 圖書館管理系統(tǒng)為圖書館提供信息化的管理模式,簡化了圖書盤點(diǎn)和記錄的流程,幫助管理人員更好地為讀者服務(wù)。圖書館極大地減少人工成本、顯著地提高工作效率,使圖書館的管理工作告別繁瑣,實(shí)現(xiàn)圖書館圖書的信息化管理。該系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)體現(xiàn)了計(jì)算機(jī)信息化管理速度快、儲存量大、可靠性強(qiáng)、查閱方便的優(yōu)勢。關(guān)鍵詞
3、:圖書館;信息化管理;J2EE;OracleIVAbstract Along with the computer and network technology rapid development, peoples work efficiency greatly improve, information management in our lifes role is becoming more and more important. And the computer information processing system is changed many system management.
4、The school library as students obtain knowledge is an important learning place, books and student lending material is various, information management is essential. Therefore the library management system for school management mechanism in the important part of, through to the library management dail
5、y operation of the research and the development of the library management system, instead of the original library artificial management. This system is based on the J2EE platform, the oracle as backend database management system management system, in accordance with the requirements of the software
6、engineering specifications in accordance with the needs of the system analysis, system design, system implementation and testing order introduces the research background and the status quo, the business needs of the system, functional requirements and non-public energy needs, to a system software ar
7、chitecture, data design and the detailed design of each module, briefly introduces the design and implementation of bibliographic query, reader management, books management, information release, books borrowed module, and highlights the model and algorithm implementation of personalized recommendati
8、on module, and finally to achieve a three-tier software architecture of the system and the system interface, and system testing to verify the availability and applicability of the system. Library management system for the library to provide information management model, simplifies the inventory of b
9、ooks and records of the process, help managers to better service for readers. Library greatly reduce labor costs and significantly improve the work efficiency, make management of the library farewell trival, realize information management of library books. The design and implementation of the system
10、 reflects the computer information management system of speed and large storage capacity, reliability, access to convenient advantage. Keywords: Library; Information management; J2EE; Oracle 目 錄1 緒論11.1研究背景及意義11.2課題相關(guān)國內(nèi)外研究現(xiàn)狀11.3論文主要工作31.4論文組織結(jié)構(gòu)42 相關(guān)技術(shù)介紹52.1 J2EE技術(shù)架構(gòu)52.2 Struts+Spring框架72.2.1 Struts框
11、架72.2.2 Spring架構(gòu)82.3 IBatis數(shù)據(jù)框架82.4 Oracle數(shù)據(jù)庫92.5 UML語言102.6本章小結(jié)103 系統(tǒng)需求分析113.1 系統(tǒng)業(yè)務(wù)需求113.1.1業(yè)務(wù)分析113.1.2用例分析123.2 系統(tǒng)功能需求133.2.1 書目查詢模塊143.2.2 讀者管理模塊153.2.3 新書管理模塊163.2.4 信息發(fā)布模塊173.2.5 圖書借還模塊183.2.6 個性化推薦模塊183.3 系統(tǒng)非功能需求203.4 本章小結(jié)214 系統(tǒng)設(shè)計(jì)224.1 系統(tǒng)總體設(shè)計(jì)224.1.1 系統(tǒng)軟件架構(gòu)224.1.2 系統(tǒng)拓?fù)浣Y(jié)構(gòu)224.2 模塊數(shù)據(jù)流設(shè)計(jì)234.2.1 書目查
12、詢模塊234.2.2 讀者管理模塊244.2.3 新書管理模塊254.2.4 信息發(fā)布模塊254.2.5 圖書借還模塊264.2.6 個性化推薦模塊264.3 系統(tǒng)詳細(xì)設(shè)計(jì)274.3.1 時序圖設(shè)計(jì)274.3.2 關(guān)鍵類圖設(shè)計(jì)314.4 系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)324.4.1 實(shí)體設(shè)計(jì)334.4.2 數(shù)據(jù)表設(shè)計(jì)384.5 本章小結(jié)415 系統(tǒng)實(shí)現(xiàn)與測試425.1 系統(tǒng)實(shí)現(xiàn)的架構(gòu)425.1.1 web層實(shí)現(xiàn)425.1.2 業(yè)務(wù)層實(shí)現(xiàn)435.1.3 數(shù)據(jù)層實(shí)現(xiàn)445.2 系統(tǒng)功能頁面展示455.2.1 書目查詢模塊455.2.2 讀者管理模塊475.2.3 新書管理模塊485.2.4 個性化推薦模塊495.
13、3 系統(tǒng)測試505.3.1 測試環(huán)境和方法505.3.2 系統(tǒng)功能測試505.3.3 系統(tǒng)性能測試525.3.4 驗(yàn)收測試525.4 本章小結(jié)526 總結(jié)與展望54參考文獻(xiàn)551 緒論1.1研究背景及意義在科學(xué)技術(shù)快速發(fā)展的今天,計(jì)算機(jī)得到了普遍應(yīng)用,在各行業(yè)中扮演著十分關(guān)鍵的角色,它使人們的各項(xiàng)工作不再復(fù)雜,進(jìn)而提高了工作效率。當(dāng)前,大部分圖書館在辦理圖書借閱業(yè)務(wù)時,大多以人工的方式進(jìn)行。此種方式存在著較多的問題,不但使圖書借閱的效率得不到提升,而且圖書館管理員也不能全面的掌握圖書借閱的基本情況。人工管理在人為因素的作用下,也勢必存在著一些弊端,進(jìn)而造成圖書的丟失等一系列后果。計(jì)算機(jī)的信息化
14、管理則有著速度快、儲存量大、可靠性強(qiáng)、查閱方便等諸多優(yōu)點(diǎn),及時地為我們處理各類信息1。當(dāng)前,市場化經(jīng)濟(jì)在國內(nèi)得到了快速化發(fā)展,也使人們對文化的需求日益提升,而圖書則成為人們獲取文化知識的最佳途徑。對于大學(xué)生來說,通過閱讀圖書來獲取知識無疑是非常必要的。絕大多數(shù)的高校都有自己的圖書館,豐富的館藏可以幫助學(xué)生獲得更多的學(xué)習(xí)資料和閱讀機(jī)會,但同時也為圖書館的管理工作帶來了問題。人工記錄大量的書籍、讀者和借閱記錄信息,不僅工作量大、人員成本高,還容易因?yàn)槿斯さ氖д`造成讀者查找和借閱的不便。利用計(jì)算機(jī)和基礎(chǔ)網(wǎng)絡(luò),圖書館可以轉(zhuǎn)變管理模式,減少人工的記錄和查找,簡化借閱和歸還的流程,這都可以為圖書館減少人員
15、成本,提高服務(wù)質(zhì)量提供幫助。另外通過建立網(wǎng)上圖書館,海量的多媒體館藏資源還可以幫助讀者更好地了解圖書館的文獻(xiàn)資源,更加快速、有效地閱讀自己需要的圖書和期刊2。1.2課題相關(guān)國內(nèi)外研究現(xiàn)狀圖書館管理系統(tǒng)起源于上個世紀(jì)50年代,那時的自動化管理主要面向圖書的流通和編目工作。1965年,美國國會圖書館首次用計(jì)算機(jī)進(jìn)行圖書編目管理,而受限于當(dāng)時計(jì)算機(jī)技術(shù)的發(fā)展程度,計(jì)算機(jī)系統(tǒng)對圖書館管理工作的幫助并不顯著3。上個世紀(jì)60年代的計(jì)算機(jī)設(shè)備的價格昂貴,只有國家級的圖書館才有專用的計(jì)算機(jī)系統(tǒng),再加上當(dāng)時的計(jì)算機(jī)性能較弱,存儲量和處理能力都很低,致使這段時間的圖書館信息系統(tǒng)的發(fā)展緩慢。圖書館管理系統(tǒng)的應(yīng)用更多
16、是實(shí)驗(yàn)性質(zhì),系統(tǒng)的可靠性和安全性也很難保證4。大部分圖書館只能在所在單位的計(jì)算中心中部署圖書館管理系統(tǒng),嘗試性地進(jìn)行圖書館自動化管理研發(fā)工作5。上世紀(jì)70年代中期,計(jì)算機(jī)軟硬件技術(shù)水平得以飛速提升,更多的機(jī)構(gòu)和單位都擁有了專用的計(jì)算機(jī)系統(tǒng)。這一階段的圖書館信息系統(tǒng)研發(fā)也進(jìn)入了實(shí)用階段,雖然還沒有真正意義上的系統(tǒng)管理軟件,但各種不同功能和原理的圖書管理信息系統(tǒng)真正進(jìn)入了業(yè)務(wù)環(huán)節(jié),提高了圖書館的辦事效率6。當(dāng)時還沒有專門進(jìn)行圖書館管理系統(tǒng)研發(fā)的團(tuán)隊(duì),只是在圖書館的個別部門進(jìn)行圖書采訪、圖書編目、圖書流通、期刊管理等方面研究工作。圖書館信息系統(tǒng)還是由中央主機(jī)管理的終端系統(tǒng)。上世紀(jì)80年代,小型機(jī)逐步
17、成為計(jì)算機(jī)終端的主體,更多的圖書館配備了專用的計(jì)算機(jī),并投入了足夠的人力物力進(jìn)行圖書館信息系統(tǒng)軟件的研制工作7。圖書館自動化系統(tǒng)由簡單的圖書編目和流通管理向功能強(qiáng)大的集成系統(tǒng)方向發(fā)展。較為成熟的圖書館管理集成系統(tǒng)被廣泛的應(yīng)用,隨之而來的是巨大的商品化機(jī)遇。很多技術(shù)人員從圖書館機(jī)構(gòu)分離出來專門從事圖書館集成系統(tǒng)的研發(fā)工作,很多大型軟件公司也和圖書館合作開發(fā)相應(yīng)的商業(yè)產(chǎn)品。市場上出現(xiàn)了一批技術(shù)含量高、功能較為齊全、應(yīng)用范圍廣的圖書館自動化集成系統(tǒng)8。進(jìn)入21世紀(jì),隨著科技的高速發(fā)展,圖書館管理系統(tǒng)的集成化和商品化得到了進(jìn)一步加強(qiáng)。該類系統(tǒng)的性能越來越高,規(guī)模越來越大,價格也越來越便宜,在很多圖書館
18、都得到了應(yīng)用9。圖書館不再需要組織人力物力進(jìn)行圖書管理軟件的開發(fā),所有的圖書管理軟件都是商品化的系統(tǒng)軟件,這也標(biāo)志著圖書管理系統(tǒng)進(jìn)入了商品化時代。再加上網(wǎng)絡(luò)的普及,網(wǎng)絡(luò)化的結(jié)構(gòu)也逐步成為圖書館管理系統(tǒng)的主要結(jié)構(gòu)10。我國的圖書館管理系統(tǒng)研發(fā)始于上個世紀(jì)70年代中期,當(dāng)時我國組建了一批試點(diǎn)性的圖書館管理自動化系統(tǒng)研發(fā)團(tuán)隊(duì)。上世紀(jì)七十年代,由中科院專家組成的專業(yè)化研究團(tuán)隊(duì),應(yīng)用計(jì)算機(jī)來獲取文獻(xiàn)數(shù)據(jù),能夠提供大量的與圖書檢索相關(guān)的服務(wù)11。時至今日,我國圖書館管理自動化系統(tǒng)已經(jīng)走過了40個年頭,其發(fā)展的階段主要有四個:1976年到1980是探索階段。在這個時期,國內(nèi)一些專家開始向國外學(xué)習(xí)圖書集成系統(tǒng)
19、管理的實(shí)踐經(jīng)驗(yàn),并深入的探索了中文機(jī)讀編寫文獻(xiàn)的相關(guān)技術(shù)。1976年的漢字信息處理工程,為圖書館管理系統(tǒng)提供了中文通訊、中文激光照排、中文情報檢索等方面的技術(shù)支持,我國的圖書館自動化研究工作也從此起步。此后,中科院研發(fā)部門在原有的基礎(chǔ)上構(gòu)建了專業(yè)化團(tuán)隊(duì),并與計(jì)算機(jī)所進(jìn)行合作共同開發(fā)中文文獻(xiàn)數(shù)據(jù),其數(shù)量多達(dá)600余冊。由于當(dāng)時計(jì)算機(jī)還不支持中文信息的相關(guān)功能,只能用拼音處理和描述中文文獻(xiàn)12。1981年到1985年是實(shí)驗(yàn)階段。經(jīng)過探索階段的積累,我國圖書館界已經(jīng)掌握了圖書管理集成化系統(tǒng)的研發(fā)技術(shù),一些大型圖書館組織圖書館管理人員實(shí)施集中技術(shù)培訓(xùn),同時也加入到MARC合作組中,推行圖書館信息化系統(tǒng)
20、的自主研發(fā)工作。這段時間國內(nèi)的圖書館機(jī)構(gòu)結(jié)合單位自身情況,進(jìn)行了一系列探索性的研究和開發(fā)工作13。1986年到1995年是使用階段。在當(dāng)時,計(jì)算機(jī)的性能和容量大幅度提高,為圖書館自動化和集成化發(fā)展提供了有利的條件。國內(nèi)的圖書館信息系統(tǒng)研發(fā)團(tuán)隊(duì)經(jīng)過前兩階段的理論積累,利用先進(jìn)的計(jì)算機(jī)終端技術(shù)在圖書編目、檢索和流通等主要圖書館管理工作環(huán)節(jié)開展了廣泛的研究和應(yīng)用。圖書館管理系統(tǒng)也逐步向商品化和服務(wù)化的方向發(fā)展14。1996年至今是提高接軌階段。進(jìn)入新的世紀(jì)后,經(jīng)濟(jì)的快速發(fā)展使電子信息技術(shù)等發(fā)展速度進(jìn)一步加快,圖書館系統(tǒng)中應(yīng)用數(shù)據(jù)與多媒體技術(shù)已經(jīng)成為當(dāng)前的主要發(fā)展方向。圖書館信息化建設(shè)在各級領(lǐng)導(dǎo)的高度
21、重視下和圖書館各業(yè)務(wù)部門的共同努力下進(jìn)入了一個全新的時代。我國軟件研發(fā)機(jī)構(gòu)緊跟時代步伐,不斷在圖書館管理系統(tǒng)的技術(shù)創(chuàng)新和商品化進(jìn)程方面進(jìn)行研究,為廣大讀者和圖書館管理人員提供了一批性能強(qiáng)大、易用性強(qiáng)、安全性高的圖書館管理信息系統(tǒng)。由深圳公司推出的ILAS系統(tǒng)、大連妙思開發(fā)圖書館軟件等都已經(jīng)成為在城市化圖書管理系統(tǒng)中得到了廣泛應(yīng)用。這些系統(tǒng)集成化高,性能優(yōu)良的圖書管理系統(tǒng)實(shí)現(xiàn)了圖書館的自動化管理,為圖書館降低成本、提高服務(wù)質(zhì)量,為讀者更加方便的查找和借閱館藏資料提供了方便15。時至今日,我國圖書館的信息化管理程度已經(jīng)很成熟,但因各圖書館的規(guī)模和實(shí)際情況不同,圖書館集成化管理系統(tǒng)在國內(nèi)仍然呈現(xiàn)水平
22、參差不齊的狀況。通過上述分析可以看出,國內(nèi)應(yīng)用的圖書館集成化管理系統(tǒng)仍然處在一個較為初級的階段,有些技術(shù)尚未成熟。大多數(shù)圖書館應(yīng)用屬于一種較為簡單的系統(tǒng)。所以,要結(jié)合圖書館的基本情況,從多個層次出發(fā)來開發(fā)一些先進(jìn)的圖書管理集成系統(tǒng)16。1.3論文主要工作本系統(tǒng)采用當(dāng)今最流行的面向?qū)ο笳Z言之一的Java語言對前端的應(yīng)用程序進(jìn)行設(shè)計(jì),對后臺數(shù)據(jù)庫的設(shè)計(jì)采用了oracle10g開發(fā)。本文從項(xiàng)目開發(fā)、需求分析、開發(fā)平臺選擇、系統(tǒng)模塊建立、數(shù)據(jù)庫設(shè)計(jì)、功能模塊編程實(shí)現(xiàn)及軟件測試等方面闡述了本應(yīng)用系統(tǒng)的設(shè)計(jì)過程。詳細(xì)論述了系統(tǒng)分析、設(shè)計(jì)和數(shù)據(jù)庫的設(shè)計(jì)等方面的內(nèi)容。著重描述了該系統(tǒng)的圖書查詢、訂閱、歸還等功
23、能,對很多細(xì)節(jié)上的功能也做了詳細(xì)的闡述。本文的主要工作包括:(1) 分析描述了課題研究的背景和意義,介紹了國內(nèi)外相關(guān)研究成果,描繪了系統(tǒng)重點(diǎn)功能。根據(jù)系統(tǒng)的功能要求進(jìn)行需求分析,建立基于J2EE的圖書館管理系統(tǒng)業(yè)務(wù)模型。(2)介紹了系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)的相關(guān)技術(shù)和論文描述語言,通過介紹這些技術(shù)的優(yōu)缺點(diǎn)分析系統(tǒng)的技術(shù)優(yōu)勢,論文使用規(guī)范的軟件工程描述語言來描述系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)內(nèi)容。(3)根據(jù)需求分析的要求進(jìn)行系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)描述,給出了系統(tǒng)設(shè)計(jì)的內(nèi)容和圖形描述,讓讀者了解系統(tǒng)開發(fā)的全過程,包括每個功能的用例、功能設(shè)計(jì)、數(shù)據(jù)庫設(shè)計(jì)、程序設(shè)計(jì)以及界面展示等。(4)針對系統(tǒng)的功能和非功能需求進(jìn)行系統(tǒng)測試,給出了系
24、統(tǒng)測試的環(huán)境、方法、用例以及結(jié)果,分析測試結(jié)果總結(jié)系統(tǒng)實(shí)現(xiàn)的成果。1.4論文組織結(jié)構(gòu)本文首先對研究背景進(jìn)行介紹,針對目前圖書管理信息化程度不足的問題,在借鑒國內(nèi)外圖書館管理系統(tǒng)的基礎(chǔ)上,選擇先進(jìn)的系統(tǒng)實(shí)現(xiàn)技術(shù)和數(shù)據(jù)庫技術(shù)開發(fā)了一套用于管理高校圖書館的信息系統(tǒng)。論文共有6個章節(jié),分別是緒論、技術(shù)、需求分析、系統(tǒng)設(shè)計(jì)、系統(tǒng)實(shí)現(xiàn)與測試、總結(jié)。第1章,緒論。主要介紹了基于J2EE的圖書館管理系統(tǒng)的研究背景和研究意義,從國內(nèi)外研究的情況切入分析出圖書館管理系統(tǒng)存在的難題,并簡要介紹了論文的主要工作和組織結(jié)構(gòu)。第2章,相關(guān)技術(shù)介紹。主要針對本系統(tǒng)開發(fā)所需要的技術(shù)進(jìn)行了介紹,包括J2EE技術(shù)架構(gòu)、Strut
25、s+Spring框架、IBatis數(shù)據(jù)庫框架、Oracle數(shù)據(jù)庫以及UML語言等。第3章,系統(tǒng)需求分析。分析了圖書館管理系統(tǒng)的業(yè)務(wù)需求、用例分析、功能需求和非功能需求。為后續(xù)的設(shè)計(jì)與實(shí)現(xiàn)工作提供了功能要求和非功能要求。第4章,系統(tǒng)設(shè)計(jì)。描述了圖書館管理系統(tǒng)的設(shè)計(jì)內(nèi)容,包括系統(tǒng)軟件架構(gòu)、拓?fù)浣Y(jié)構(gòu)和功能模塊劃分,介紹了系統(tǒng)實(shí)體和對應(yīng)的數(shù)據(jù)庫表,然后根據(jù)需求分析的結(jié)果分別介紹了每個功能模塊的設(shè)計(jì)內(nèi)容。第5章,系統(tǒng)實(shí)現(xiàn)與測試。首先介紹了系統(tǒng)軟件架構(gòu)的實(shí)現(xiàn)方式,然后給出每個模塊的系統(tǒng)展示截圖,最后從功能和性能兩方面對系統(tǒng)進(jìn)行測試,測試內(nèi)容包括測試環(huán)境、測試方法、測試用例和測試結(jié)果。第6章,總結(jié)與展望。對
26、論文進(jìn)行了總結(jié),并對未來系統(tǒng)的升級和維護(hù)工作進(jìn)行了展望。56 2 相關(guān)技術(shù)介紹 2.1 J2EE技術(shù)架構(gòu) Java2平臺有3個主要版本它們分別是適合在微型設(shè)備應(yīng)用的Micro 版(Java 2 Platform Micro Edition,J2ME)、用于桌面程序開發(fā)的標(biāo)準(zhǔn)版(Java 2 Platform Standard Edition,J2SE)、用于服務(wù)供應(yīng)商程序開發(fā)的企業(yè)專用版。 J2EE是在Java2平臺基礎(chǔ)上構(gòu)建的一種結(jié)構(gòu),此種結(jié)構(gòu)能夠完成系統(tǒng)開發(fā)、管理等任務(wù)。J2EE 技術(shù)延續(xù)了Java2標(biāo)準(zhǔn)版的跨平臺、簡易I/O等諸多優(yōu)點(diǎn),還包括了JDBC、CORBA等新型數(shù)據(jù)技術(shù)和安全模式
27、?;贘2EE的系統(tǒng)開發(fā)技術(shù)規(guī)范很多,比如可擴(kuò)展性標(biāo)記語言、java服務(wù)器頁面等技術(shù)。J2EE結(jié)構(gòu)的系統(tǒng)具有高性能、高可靠性和高開發(fā)敏捷性等特點(diǎn),因?yàn)?J2EE 提供了能夠滿足高可靠性和可用性要求的中間層集成框架,這就為多層應(yīng)用開發(fā)和簡化系統(tǒng)提供了方便17。J2EE 提供了面向現(xiàn)有應(yīng)用程序集成的強(qiáng)有力支持,提供了良好的打包和部署、添加目錄等應(yīng)用,這些都是提高系統(tǒng)性能,增強(qiáng)系統(tǒng)安全機(jī)制的保障。 J2EE由一組系統(tǒng)組件、服務(wù)架構(gòu)和技術(shù)層次組成,這些技術(shù)規(guī)范和指南均有通用的標(biāo)準(zhǔn)和規(guī)格,使得J2EE可以在各種平臺和軟硬件環(huán)境中良好兼容。這充分解決了企業(yè)級系統(tǒng)信息產(chǎn)品之間不能很好兼容,內(nèi)外數(shù)據(jù)很難互通的
28、問題18。除此之外,J2EE具有很多可以為企業(yè)級系統(tǒng)提供可伸縮性、靈活性、易維護(hù)性和安全性等特性的優(yōu)良機(jī)制: (1)漸進(jìn)式開發(fā) 由于企業(yè)的業(yè)務(wù)十分復(fù)雜,如果一次實(shí)現(xiàn)所有的系統(tǒng)業(yè)務(wù)顯然不現(xiàn)實(shí),再加上企業(yè)為了適應(yīng)的市場環(huán)境往往經(jīng)常變化企業(yè)管理方案,這些都要求企業(yè)信息化系統(tǒng)具備很好的漸進(jìn)式開發(fā)特性。不能激進(jìn)也不能全盤否定,要設(shè)法在原有的系統(tǒng)基礎(chǔ)上建立或改進(jìn)新的系統(tǒng)實(shí)現(xiàn)。J2EE的技術(shù)規(guī)范中對漸進(jìn)式開發(fā)有專門的設(shè)計(jì),支持植入式的系統(tǒng)升級和維護(hù)技術(shù),再加上 JAVA 平臺本身的低容量和可移植特性,J2EE 架構(gòu)的系統(tǒng)可以部署在任意的硬件環(huán)境和操作系統(tǒng)中。這些特性都使得產(chǎn)品供應(yīng)商和用戶有更多的選擇19。
29、(2)開發(fā)高效率 J2EE 架構(gòu)是分層實(shí)現(xiàn)的,并且在每個層次中都保證了組件的低耦合特性。這種特性允許供應(yīng)商把一些通用和頻繁使用的系統(tǒng)組件外包給中間件供應(yīng)商開發(fā),這樣不僅可以提高開發(fā)的敏捷性,還可以通過使用高校的中間件來保證系統(tǒng)性能。J2EE 中經(jīng)常使用的中間件一般是狀態(tài)管理、分布式共享數(shù)據(jù)和持續(xù)性服務(wù)組件,因?yàn)檫@些中間件都可以提供黑盒式的系統(tǒng)服務(wù),系統(tǒng)供應(yīng)商只需要提供相應(yīng)的輸入和輸出規(guī)范,而無需考慮如何實(shí)現(xiàn)中間件和保證系統(tǒng)性能,這不僅降低了開發(fā)成本,還保證了系統(tǒng)的可維護(hù)性,因?yàn)榭梢宰屩虚g件供應(yīng)商承擔(dān)一定的系統(tǒng)開發(fā)任務(wù)和來維護(hù)其部署在系統(tǒng)中的中間件20。 (3)異構(gòu)環(huán)境 J2EE架構(gòu)秉承了JAV
30、A平臺可移植異構(gòu)環(huán)境的優(yōu)良傳統(tǒng),可以不依賴任何的軟硬件環(huán)境,另外系統(tǒng)中的中間件、外部軟件也可以支持異構(gòu)環(huán)境。因此在設(shè)計(jì)J2EE系統(tǒng)時無需考慮如何部署到各個平臺上,這十分有利于供應(yīng)商的成本控制策略??蛻艨梢匀我庥嗁彿献陨碛布l件的J2EE標(biāo)準(zhǔn)系統(tǒng),不需要為自己的軟硬件是否兼容發(fā)愁,節(jié)省了一大筆開支21。 (4)可伸縮性 由于企業(yè)的大小不同,業(yè)務(wù)復(fù)雜度也不盡相同,要設(shè)計(jì)符合所有企業(yè)的信息化系統(tǒng)是一個十分困難的工作。J2EE憑借其強(qiáng)大的伸縮特性為不同級別的企業(yè)級用戶提供了業(yè)務(wù)解決方案。例如同一個J2EE架構(gòu)系統(tǒng),可以部署到普通的PC上,也可以部署到架裝服務(wù)器上,還可以部署到大型機(jī)系統(tǒng)上,還可以通過
31、具有復(fù)雜平衡特性的分布式服務(wù)器集群上。從單機(jī)的單核、雙核、多核,到集群式的服務(wù)器系統(tǒng),J2EE架構(gòu)都可以完美的兼容使用,這種強(qiáng)大的可伸縮特性是保證J2EE架構(gòu)長盛不衰的基礎(chǔ)特性22。 (5)高可靠性 企業(yè)級的信息化系統(tǒng)一般都要全天候的運(yùn)行,要24小時滿足用戶和合作伙伴的訪問需要。特別隨著網(wǎng)絡(luò)技術(shù)設(shè)施的普及,全球化的進(jìn)程不斷完善,任何的系統(tǒng)延遲或停機(jī)都會造成企業(yè)信息化系統(tǒng)的不可用,甚至出現(xiàn)災(zāi)難性的后果。J2EE的部署機(jī)制可以保證系統(tǒng)的高可靠性和安全性,并且和所有的操作系統(tǒng)安全機(jī)制兼容。據(jù)統(tǒng)計(jì),全球型的J2EE架構(gòu)web系統(tǒng)平均可用性在95%以上,年平均停機(jī)時間不足10分鐘??煽啃院桶踩允巧虡I(yè)系
32、統(tǒng)最低也是最先考慮的選擇條件,J2EE在這方面的表現(xiàn)無遺是完美的。作為一類應(yīng)用模型,J2EE系統(tǒng)開發(fā)體現(xiàn)出分布式的特點(diǎn)。按照功能分布將應(yīng)用邏輯細(xì)化為若干個系統(tǒng)組件,每個組件又分布在不同的組件服務(wù)器上。這種多層分布式結(jié)構(gòu)可以有效地解決傳統(tǒng)Java平臺系統(tǒng)客戶端過于臃腫的問題。將主要的業(yè)務(wù)邏輯放在服務(wù)器上,可以避免由于客戶端過于分散造成的難以升級維護(hù)和擴(kuò)展性不強(qiáng)的問題,還能增強(qiáng)系統(tǒng)的重用性和安全性。J2EE一般分為四個層次,每個層次都由不同的服務(wù)器支持和維護(hù),當(dāng)要修改某個層次時不會影響其他層次的結(jié)構(gòu)。這四個層次分別是,在客戶端承載用戶組件的客戶層,在此種服務(wù)器中可以加載頁面邏輯的web層,此類服務(wù)
33、器能夠加載業(yè)務(wù)量邏輯的業(yè)務(wù)層,也可以使與企業(yè)信息相關(guān)系統(tǒng)軟件層得到有效的運(yùn)行。J2EE的四層模型結(jié)構(gòu)如圖2-1所示。圖2-1 J2EE的四層模型結(jié)構(gòu)2.2 Struts+Spring框架 2.2.1 Struts框架 Struts屬于一類開發(fā)性的應(yīng)用模型。近年來,此項(xiàng)技術(shù)得到了快速的發(fā)展。該框架已經(jīng)在JSP Web中得到了廣泛的應(yīng)用。發(fā)展之初,Web服務(wù)是以JSP為中心的運(yùn)行狀態(tài)。在JSP的主要作用是表現(xiàn)與控制邏輯。這樣的方式,在頁面規(guī)模很小的項(xiàng)目上無法體現(xiàn)出缺點(diǎn),但是當(dāng)項(xiàng)目規(guī)模擴(kuò)大,頁面間關(guān)系交錯復(fù)雜時,如果將一張頁面進(jìn)行修改,那么它就會對其他頁面產(chǎn)生一定的影響,進(jìn)而使整個程序的運(yùn)行受到嚴(yán)重
34、的影響。同時,如果同時打開頁面與邏輯開發(fā),這樣將會對分工合作與代碼產(chǎn)生較大的影響,使程序不再具有可延展性23。 為了改進(jìn)上述不足,在web服務(wù)中加入控制器,而控制器包括servlet,客戶端的需求將不再直接發(fā)傳送至JSP 頁面,而是經(jīng)由中央指揮者傳送控制器,隨后控制器會結(jié)合實(shí)際需要對業(yè)務(wù)邏輯進(jìn)行調(diào)整,這樣得到的結(jié)果將會反饋到頁面中。這樣便于將業(yè)務(wù)邏輯從JSP文件剝離出來,JSP文件也就凈化為一個單純完成顯示的構(gòu)建,即View視圖層。而擔(dān)當(dāng)控制器的servlet則被賦予control控制,進(jìn)行處理的事務(wù)邏輯便成為了Model模型,即MVC。Struts就是一種具體實(shí)現(xiàn)MVC理念的程序框架??梢允?/p>
35、用servlet的接受客戶發(fā)出全部需求。隨后結(jié)合實(shí)際的參數(shù)與Struts配置內(nèi)的Action Mapping,此后請求將會由Action進(jìn)行處理,這些共同組成了Struts的控制器24。2.2.2 Spring架構(gòu) Spring框架是個輕量級的Java EE框架。最核心的理念是IOC(Inversion of control),即控制反轉(zhuǎn)。在控制過程中,對象可以向容器進(jìn)行切換。隨后容器會結(jié)合配置文件來構(gòu)建一些新型的實(shí)例,同時也要保證各個實(shí)例間形成一種相互依賴的關(guān)系。這樣就讓一個對象的創(chuàng)建不用new了。此種構(gòu)建模式應(yīng)用的原理是Java里的反射,以反射為基礎(chǔ)使系統(tǒng)在運(yùn)行過程中創(chuàng)建對象。當(dāng)Sprin
36、g開始運(yùn)行時,可以結(jié)合相關(guān)的配置文件來構(gòu)建動態(tài)對象以及調(diào)用對象中的方法25。 Spring另一個核心就是AOP(Aspect-Oriented Programming)屬于一種面向切面的編程。此種編程可對某些對象間合理化的控制,這樣就能夠達(dá)到擴(kuò)展模塊的目的。只有通過配置才能達(dá)到實(shí)際的要求。而進(jìn)行Spring編程的主要目標(biāo)是:對象在進(jìn)行關(guān)聯(lián)時,就不需要借助代碼來完成。Spring屬于一類容器,只有容器內(nèi)部含有對象,Spring才能提供相關(guān)功能與服務(wù)26。 2.3 IBatis數(shù)據(jù)框架 IBatis不同于被廣泛使用的Hibernate數(shù)據(jù)映射技術(shù),它不具備全自動的數(shù)據(jù)查詢、插入、修改、刪除操作,也
37、沒有緊密約束關(guān)系的OR映射。IBatis為開發(fā)者提供了更為靈活和便捷可控的類ORM數(shù)據(jù)解決方案,他們需要自己實(shí)現(xiàn)SQL語句,可以根據(jù)自己的需要進(jìn)行靈活的創(chuàng)作和性能提升。當(dāng)然,開發(fā)者在提供這些SQL之后,就無需擔(dān)心他們是否會被正確的運(yùn)行,IBatis會保證運(yùn)行的穩(wěn)定性和安全性。根據(jù)寫好的SQL和參數(shù)條件,IBatis會動態(tài)生成執(zhí)行帶參數(shù)的SQL語句,然后傳參數(shù)進(jìn)去,為這些SQL參數(shù)提供具體值。IBatis會自動根據(jù)配置文件生成數(shù)據(jù)連接池,只要有合適的驅(qū)動文件,就可以自動的執(zhí)行SQL語句,利用IDataReader 機(jī)制返回?cái)?shù)據(jù)結(jié)果集,生成一個可被識別的強(qiáng)類型數(shù)據(jù)對象(IList)相對于其他配置復(fù)
38、雜類似Community Server的數(shù)據(jù)操作架構(gòu),IBatis無需開發(fā)者編寫復(fù)雜的重復(fù)代碼,只需要一個配置文件,然后調(diào)用SqlMapper的實(shí)例對象即可簡單的實(shí)現(xiàn)。當(dāng)然,當(dāng)系統(tǒng)的復(fù)雜度和數(shù)據(jù)操作量較大時,編寫IBatis配置文件也是一個比較繁瑣復(fù)雜的工作27。 數(shù)據(jù)操作的事務(wù)問題方面,IBatis為我們提供了全自動的管理和執(zhí)行SQL語句的機(jī)制,返回的結(jié)果集也是強(qiáng)類型的數(shù)據(jù)對象。它直接生成DB Command返回集,這樣用戶可以自由的選擇數(shù)據(jù)集合進(jìn)行進(jìn)一步的操作。 效率方面,雖然IBatis使用了少量的發(fā)射技術(shù),但是由于配置文件的形式,數(shù)據(jù)操作性能的影響就可以忽略不計(jì)了。根據(jù)測試,使用IBa
39、tis進(jìn)行多條記錄的添加操作和使用UpdateDataSet 這種批量提交的形勢比較,整體效率有所提高,性能優(yōu)秀。IBatis的緩存機(jī)制很有特點(diǎn),它可以根據(jù)不同的條件進(jìn)行有選擇的SQL執(zhí)行,緩存機(jī)制可以保存某個條件執(zhí)行之后的輸出數(shù)據(jù),這些都是在生成結(jié)果集之前封閉進(jìn)行28。 IBatis運(yùn)行環(huán)境必須的兩個配置文件是SqlMap.config和Provider.config。SqlMap.config是IBatis的核心配置文件,用來保存相關(guān)的配置環(huán)境和實(shí)體文件地址,它的存放目錄必須是應(yīng)用程序的運(yùn)行目錄下,并且是靜態(tài)不可改變。Provider.config是用來分配數(shù)據(jù)驅(qū)動類的配置文件,是用來區(qū)分
40、不同數(shù)據(jù)庫的,它的文件名是不固定的,可以通過SqlMap.config配置它的引用路徑。 2.4 Oracle數(shù)據(jù)庫 Oracle數(shù)據(jù)庫管理系統(tǒng)是美國甲骨文公司的分布式數(shù)據(jù)庫管理軟件。甲骨文公司是目前世界上僅次于微軟的第二大軟件公司,公司英文名就是Oracle。1979年,Oracle公司在美國的加利福尼亞州城里,其核心軟件產(chǎn)品就是以公司名命名的關(guān)系型數(shù)據(jù)庫管理系統(tǒng)Oracle數(shù)據(jù)庫。Oracle數(shù)據(jù)庫是全球首個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),其具有的跨平臺、分布式、海量數(shù)據(jù)處理和安全體系都是世界一流,Oracle數(shù)據(jù)庫目前仍被廣泛的應(yīng)用于B/S結(jié)構(gòu)的企業(yè)級信息化系統(tǒng)開發(fā)過程中。Oracle數(shù)據(jù)庫是一個
41、系列產(chǎn)品,所有的甲骨文公司數(shù)據(jù)庫產(chǎn)品編號都以O(shè)racle開頭,甲骨文公司也憑借Oracle產(chǎn)品成為實(shí)際上最大的數(shù)據(jù)庫管理系統(tǒng)供應(yīng)商,也是最主要的信息處理軟件供應(yīng)商之一29。Oracle數(shù)據(jù)庫系統(tǒng)采用客戶端/服務(wù)器的形式,服務(wù)器就和其他關(guān)系型數(shù)據(jù)庫一樣可以提供集成化、開發(fā)、全面的數(shù)據(jù)存儲和維護(hù)管理辦法。Oracle服務(wù)器又?jǐn)?shù)據(jù)倉庫和數(shù)據(jù)庫實(shí)例共同構(gòu)成,其中數(shù)據(jù)倉庫包括了自治性的數(shù)據(jù)存儲透明機(jī)制,數(shù)據(jù)庫實(shí)例包括一個SID和相關(guān)的權(quán)限控制機(jī)制。Oracle服務(wù)器又權(quán)限機(jī)制,通過用戶名來區(qū)分用戶權(quán)限,具體包括Internal、Sys和System三種。其中Internal是Sys的別名,是由數(shù)據(jù)庫管理
42、員使用進(jìn)行數(shù)據(jù)庫啟動和關(guān)閉的基礎(chǔ)用戶名;Sys用戶名具有最高的操作權(quán)限,一般由數(shù)據(jù)庫管理員所有,用來進(jìn)行數(shù)據(jù)庫操作;System用戶名是較低權(quán)限的用戶名,僅能進(jìn)行普通的數(shù)據(jù)查詢,供普通用戶使用。 Oracle客戶端是為了滿足用戶遠(yuǎn)程訪問和操作數(shù)據(jù)庫而設(shè)定,具體包括數(shù)據(jù)應(yīng)用、維護(hù)工具和聯(lián)網(wǎng)工具等。進(jìn)行本地?cái)?shù)據(jù)庫訪問可以通過制定用戶名來登錄客戶端,進(jìn)行遠(yuǎn)程訪問則需要制定個特定的PC位置才能建立和維護(hù)數(shù)據(jù)庫訪問連接。由于Oracle數(shù)據(jù)庫的物理存儲和邏輯存儲彼此分開,所以可以通過客戶端操作邏輯結(jié)構(gòu)時無需考慮物理存儲結(jié)構(gòu),反之亦然。 2.5 UML語言 UML(Unified Modeling Lan
43、guage)屬于一種能夠進(jìn)行編程的可視化語言,主要以圖形化的形式進(jìn)一步展現(xiàn)。UML的應(yīng)用主要是為了各種開發(fā)人員的交流都給予一個標(biāo)準(zhǔn)的平臺上進(jìn)行,同時為了清晰便捷,UML定義了不同的圖形來表示不同的信息,可以簡單直觀的表達(dá)程序開發(fā)人員對系統(tǒng)的理解。UML支持面向?qū)ο蟮木幊汤砟?,是一門圖形化的語言,在每一個圖形符號后面都擁有良好的語言機(jī)制,可以根據(jù)用戶的需要增加標(biāo)記值、構(gòu)造型、約束等。UML作為一種建模語言,主要涵蓋UML語義和UML表示法兩個部分:UML語義可以精確描述建模的概念,形成一個統(tǒng)一、通用和簡單的定義過程,是模型開發(fā)者可以在語法層次達(dá)成統(tǒng)一,可以消除語義形式對于模型定義的影響。UML表
44、述法則是通過圖形和文本語言相結(jié)合的方式為系統(tǒng)建模提供了統(tǒng)一和形象的標(biāo)準(zhǔn)展現(xiàn)方式。當(dāng)程序設(shè)計(jì)人員對系統(tǒng)進(jìn)行設(shè)計(jì)時,首先會對需求進(jìn)行建模,其次便會對具體的需求進(jìn)行系統(tǒng)行為描述。第一步需要使用到包括用例圖、類圖、對象圖、組件圖和配置圖等五個圖形,第二部則主要使用到包括活動圖、狀態(tài)圖、合作圖和順序圖等表示執(zhí)行時的交互關(guān)系或時序狀態(tài)的圖形。UML作為一種抽象的描述語言,將各種需求用一種通用的語言來進(jìn)行全面的描述,為來自不同語言文化背景的開發(fā)人員提供了一個統(tǒng)一的交流平臺,類似于阿拉伯?dāng)?shù)字一樣在整個業(yè)界通用流行30。2.6本章小結(jié) 主要針對本系統(tǒng)開發(fā)所需要的技術(shù)進(jìn)行了介紹,包括J2EE技術(shù)架構(gòu)、Struts
45、+Spring框架、IBatis數(shù)據(jù)庫框架、Oracle數(shù)據(jù)庫以及UML語言等。 3 系統(tǒng)需求分析 3.1 系統(tǒng)業(yè)務(wù)需求 3.1.1業(yè)務(wù)分析 根據(jù)高校圖書館管理的實(shí)際情況,本系統(tǒng)的主要用戶包括圖書館管理人員、普通用戶和借閱者三類。圖書館管理人員也就是日常維護(hù)圖書館的人員,他們負(fù)責(zé)圖書借閱信息的記錄和管理,形成借書或還書報表供借閱者確認(rèn),同時還要負(fù)責(zé)圖書館的日常信息發(fā)布、管理機(jī)制維護(hù)等業(yè)務(wù)工作;普通用戶是指通過本系統(tǒng)查詢圖書情況和借閱信息的用戶;借閱者一般為學(xué)校的學(xué)生或教職員工,他們憑借統(tǒng)一規(guī)格的登錄信息來進(jìn)行系統(tǒng)登錄后的借閱信息查看和圖書借閱操作。基于J2EE的圖書館管理系統(tǒng)業(yè)務(wù)流程圖如圖3-
46、1所示。 圖3-1 系統(tǒng)業(yè)務(wù)流程圖3.1.2用例分析 根據(jù)業(yè)務(wù)分析的介紹,本系統(tǒng)的主要角色有三種,分別是工作人員、借閱人員和普通用戶。其中工作人員和借閱人員都需要登錄系統(tǒng)才能操作,普通用戶不需要登錄系統(tǒng)。 本系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)內(nèi)容都要通過面向?qū)ο蠼<夹g(shù)和UML語言來描述,在進(jìn)行業(yè)務(wù)需求分析時要劃分系統(tǒng)的主要角色和相關(guān)用例,在基于UML語言中,用例圖能夠全面的描述用戶的需求,更好的發(fā)揮描述的各種功能?;贘2EE的圖書館管理系統(tǒng)業(yè)務(wù)角色有3種,分別用3個用例圖來描述每個角色的用例和用例之間的關(guān)系。 工作人員角色是指圖書館管理員或系統(tǒng)管理員,他們的主要用例是系統(tǒng)信息維護(hù)、書籍信息維護(hù)和借閱信息維護(hù)
47、,這些功能提供的信息都是維持系統(tǒng)正常運(yùn)行的關(guān)鍵信息,所以工作人員的操作必須在系統(tǒng)登錄之后且有相關(guān)功能的操作權(quán)限才能進(jìn)行。工作人員可操作的功能包括圖書信息維護(hù)、借閱信息維護(hù)、系統(tǒng)登錄和系統(tǒng)信息維護(hù)等。工作人員角色的用例圖如圖3-2所示。 圖3-2 工作人員用例圖借閱人員角色主要是在圖書館借閱圖書的教師或?qū)W生,他們有自己的登錄賬號(借書證號或讀者條碼),他們的主要用例包括圖書查詢、借閱歷史查詢、預(yù)約借書單和維護(hù)個人信息等。為了方便圖書館管理個人信息,借閱人員的信息必須真實(shí)且必須登錄之后才能進(jìn)行操作。借閱人員可操作的功能包括借閱管理、圖書查詢、個人信息維護(hù)和系統(tǒng)登錄。借閱人員角色的用例圖如圖3-3所
48、示。圖3-3 借閱人員用例圖普通用戶是指不需要登錄就可以進(jìn)行系統(tǒng)瀏覽和操作的用戶,這種角色的用例都只是查詢功能,比如未借書的讀者可以閱讀讀者須知、查詢圖書信息和電子圖書信息、獲取圖書館聯(lián)系方式等。普通用戶角色不需要登錄系統(tǒng),也不需要預(yù)留任何個人信息。普通用戶可操作的功能包括圖書查詢和公告查詢。普通用戶角色的用例圖如圖3-4所示。 圖3-4 普通用戶角色用例圖3.2 系統(tǒng)功能需求 系統(tǒng)的功能需求主要有: (1)書目查詢:借閱人員和普通用戶可以通過這個功能查看圖書的詳細(xì)信息、借閱信息以及評價信息等。借閱人員還可以把圖書加入自己的預(yù)約清單和收藏夾里,方便借閱和查看。圖書查詢要提供多種條件的檢索方式,
49、包括簡單查詢、組合查詢和分類查詢等。 (2)讀者管理:此功能是針對借閱人員的功能,借閱人員用自己的借書證和密碼登錄系統(tǒng)之后,可以查看或修改自己的個人信息、查看借書記錄、預(yù)借書清單、圖書收藏夾等,還可以在證件丟失時進(jìn)行在線掛失記錄。這些功能都必須是借閱人員本人才能操作,在進(jìn)行系統(tǒng)登錄時要根據(jù)登錄信息判斷操作權(quán)限。 (3)新書管理:這個功能是為了及時擴(kuò)充圖書館館藏而設(shè)的,具有登錄權(quán)限的借閱人員和圖書館工作人員可以進(jìn)行新書推薦,圖書館根據(jù)這些用戶的推薦制定采購計(jì)劃,然后統(tǒng)一進(jìn)行采購擴(kuò)充。這個功能主要包括新書推薦、信息確認(rèn)和新書征訂查詢等。 (4)信息發(fā)布:這個功能主要是圖書館工作人員發(fā)布管理信息的功
50、能,信息包括讀者須知、網(wǎng)站使用說明、機(jī)構(gòu)組成、聯(lián)系方式、電子數(shù)據(jù)庫地址、新書征訂和采購計(jì)劃等。另外,在借閱過程中超期未還的信息也會定期在這個功能內(nèi)發(fā)布出來。 圖書館管理系統(tǒng)根據(jù)功能分布分為4個主要模塊,分別是書目查詢模塊、讀者管理模塊、新書管理模塊和信息發(fā)布模塊。其中書目查詢模塊又分為圖書查詢、圖書詳細(xì)信息、圖書評價三個子模塊,讀者管理模塊分為個人信息維護(hù)、借書歷史查詢、預(yù)約借書單和借書證掛失四個子模塊,新書管理模塊分為新書推薦、新書征訂、新書通報三個子模塊,信息發(fā)布模塊分為最新資訊、讀者服務(wù)、入館指南和資源數(shù)據(jù)庫鏈接四個子模塊。系統(tǒng)功能模塊劃分如圖 3-5所示。 圖3-5 系統(tǒng)功能模塊劃分3
51、.2.1 書目查詢模塊 書目查詢模塊主要有圖書查詢、圖書詳細(xì)信息、圖書評價3個功能,其中書目查詢就是利用一些檢索條件來查詢書目的基本信息,根據(jù)檢索條件的不同又分為簡單查詢、組合查詢和分類查詢。在書目查詢之后,系統(tǒng)會列出所有符合檢索條件書目名稱和借閱信息,點(diǎn)擊書目名稱就會進(jìn)入圖書詳細(xì)信息功能,圖書詳細(xì)信息功能會列出館藏每一本圖書的圖書編號、作者、條形碼、館藏地址、館藏書目、是否在架等信息,具有登錄權(quán)限的借閱人員還可以把圖書加入收藏單或預(yù)借單中方便借閱。圖書評價是圖書館為了掌握讀者對圖書的喜好設(shè)置的功能,讀者可以為圖書打分和寫評語,這有助于圖書館采購和補(bǔ)充館藏圖書。 書目查詢和預(yù)借的業(yè)務(wù)流程如圖3
52、-6所示。圖3-6 書目查詢和預(yù)借業(yè)務(wù)流程圖 書目查詢的流程是這樣的,首先在系統(tǒng)主頁點(diǎn)擊書目查詢進(jìn)入查詢系統(tǒng)的頁面,然后再在簡單查詢、組合查詢和分類查詢之中選擇一個查詢方式,根據(jù)自己的要求選擇檢索條件和錄入檢索信息。在完成檢索條件錄入之后,點(diǎn)擊開始檢索,系統(tǒng)會在數(shù)據(jù)庫里查找符合檢索條件的信息并把它們展示在檢索列表內(nèi),檢索列表的信息包括圖書名和借閱情況等。如果圖書全部被借出,用戶可以把圖書加入預(yù)借書單內(nèi)(這里需要用戶具有登錄權(quán)限)。用戶在列表中選擇一個圖書,點(diǎn)擊圖書名就可以進(jìn)入圖書詳細(xì)信息頁面,詳細(xì)信息頁面列出了圖書的條形碼和館藏地址等信息,讀者可以把圖書加入收藏夾方便以后借閱(這里需要用戶具有
53、登錄權(quán)限),還可以對該圖書進(jìn)行評價,評價也需要用戶具有登錄權(quán)限。 3.2.2 讀者管理模塊 讀者管理模塊是面向借閱人員的,必須通過登錄才能操作其中的功能。讀者管理模塊的主要功能包括個人信息維護(hù)、借書歷史查詢、預(yù)約借書單和借書證掛失等。個人信息維護(hù)是為了保證借閱人員的信息正確性,因?yàn)榻栝喨藛T的個人信息是從教務(wù)系統(tǒng)獲取的,為了保證不出現(xiàn)錯誤,需要借閱人員登錄后首先確認(rèn)個人信息,如果有誤或者缺失要補(bǔ)全。借閱人員的登錄賬號和密碼默認(rèn)為借書證號碼,借閱人員可以自己修改登錄密碼。借閱人員借閱過的圖書都會在系統(tǒng)內(nèi)記錄,每個借閱人員可以查看自己的借書歷史,借書歷史包括借書和還書的書名、登錄號、條形碼和時間等信
54、息。如果借閱人員推薦過新書,還可以通過借閱歷史查詢看到推薦歷史。預(yù)約借書單是指借閱人員在查詢圖書時把沒有館藏在架的圖書加入預(yù)借借書單里,每個預(yù)借借書單都有有效期,如果借閱人員沒有在制定時間內(nèi)借走圖書,預(yù)約借書記錄會自動失效。借書證掛失是指借閱人員需要掛失時,輸入個人姓名就可以掛失借書證,掛失期間的借書證將不能借書和預(yù)借書。讀者管理的業(yè)務(wù)流程圖如圖3-7所示。圖3-7 讀者管理業(yè)務(wù)流程圖3.2.3 新書管理模塊 新書征訂是指圖書館工作人員根據(jù)借閱人員的推薦意見草擬購書計(jì)劃的相關(guān)功能。本模塊的功能包括新書推薦、新書征訂、新書通報等。其中新書推薦是由具有登錄權(quán)限的借閱人員才能操作的,用戶可以填寫推薦
55、圖書的基本信息、推薦理由和推薦購買數(shù)量,圖書館可以根據(jù)這些推薦信息來進(jìn)行館藏補(bǔ)充。新書征訂是把所有的推薦圖書信息列出來,供借閱人員補(bǔ)充推薦信息和圖書館工作人員查看的功能,新書征訂提供征訂查詢功能,并在結(jié)果里把所有的推薦信息、推薦人和推薦時間列出來,借閱人員可以根據(jù)圖書條目補(bǔ)充推薦信息,圖書館工作人員可以根據(jù)推薦信息制定采購計(jì)劃。新書通報是提供近期加入館藏的圖書查詢功能,查詢條件包括圖書類型、圖書館和上架時間等,方便讀者選擇最新的圖書進(jìn)行借閱。新書管理模塊的業(yè)務(wù)流程圖如圖3-8所示。 圖3-8 新書管理業(yè)務(wù)流程3.2.4 信息發(fā)布模塊 信息發(fā)布模塊的主要功能包括最新資訊、讀者服務(wù)、入館指南和資源
56、數(shù)據(jù)庫鏈接等。這些信息類功能都是圖書館為了方便讀者和工作人員發(fā)布的實(shí)用信息,信息由專人負(fù)責(zé)定期更新。信息發(fā)布模塊的信息類別和具體內(nèi)容如表3-1所示。 表3-1 信息發(fā)布類別最新資訊讀者服務(wù)入館指南資源數(shù)據(jù)庫鏈接圖書館概況讀者須知規(guī)章制度數(shù)據(jù)庫圖書館通訊信息咨詢館藏分布電子圖書古籍典藏常用網(wǎng)站查收查引文獻(xiàn)傳遞聯(lián)系我們開館時間入館須知機(jī)構(gòu)設(shè)置試用資源3.2.5 圖書借還模塊用戶應(yīng)用此模塊可以辦理圖書借閱、還書等業(yè)務(wù)。其中各個子模塊的主要內(nèi)容如下表所示:表3-2 圖書借閱描述表3-3 圖書續(xù)借描述表3-4 圖書歸還描述3.2.6 個性化推薦模塊要理解該模塊的工作原理,我們先介紹它的計(jì)算模型,計(jì)算模型
57、如圖3-9所示:圖3-9 個性化信息計(jì)算模型用戶的個性化信息如興趣愛好,閱讀偏好等是一個比較模糊的概念,為了做個性化推薦,必須將用戶的個性化信息通過標(biāo)簽的方式來描述,每個標(biāo)簽在描述個性化的時候都有一個權(quán)重,表示其影響力的大小。通過一個用戶在其描述標(biāo)簽的各個維度上的投影,一本書籍使用該方法投影到被推薦用戶的標(biāo)簽維度上,通過權(quán)重值的加權(quán)計(jì)算,可以計(jì)算出這本書對于特定用戶的推薦值,推薦值越高表示用戶可能更加會接收這本書籍。對待推薦書籍根據(jù)推薦值進(jìn)行排序,就可以得到一個有序序列,這個序列就是系統(tǒng)推薦的結(jié)果候選集。書籍推薦模塊的活動圖如圖3-10所示:圖3-10 圖書推薦活動圖3.3 系統(tǒng)非功能需求 系
58、統(tǒng)除了功能需求之外,還需要對系統(tǒng)的服務(wù)水平、承載力和非運(yùn)行狀態(tài)進(jìn)行描述,這些都屬于非功能需求的范疇。非功能需求雖然不能對系統(tǒng)的功能作出約束,但其內(nèi)容都是直接影響用戶體驗(yàn)和系統(tǒng)性能的,是非常重要的系統(tǒng)需求指標(biāo)。 (1)權(quán)限規(guī)范 圖書館管理系統(tǒng)采用權(quán)限管理方式來規(guī)范系統(tǒng)的界面展示和操作,不同身份的用戶將被分配不同的角色權(quán)限。比如工作人員就具有所有查詢、管理圖書信息的權(quán)限,借閱讀者則具有管理自己個人信息和借閱信息的權(quán)限,普通用戶僅具有查詢圖書的權(quán)限。 (2)易用性需求 圖書館管理系統(tǒng)本身部署在校園網(wǎng)內(nèi),面向全體教職員工和在校學(xué)生,用戶界面的設(shè)計(jì)要充分考慮用戶的接受能力,界面要美觀大方、操作簡單、有較
59、多指引性的說明文字等。系統(tǒng)操作應(yīng)具備一定的靈活性,不同角色權(quán)限用戶的操作體驗(yàn)要統(tǒng)一,關(guān)鍵操作要有提示,避免由于誤操作造成錯誤。 (3)可靠性需求 系統(tǒng)應(yīng)能24小時運(yùn)行,在出現(xiàn)錯誤需要重啟或恢復(fù)的時間不應(yīng)超過10分鐘。系統(tǒng)部署配置要采用雙機(jī)熱備的方式,可在緊急時刻進(jìn)行服務(wù)器轉(zhuǎn)換。在進(jìn)行系統(tǒng)備份和維護(hù)時,系統(tǒng)的數(shù)據(jù)要能夠即時恢復(fù)且不會丟失。 (4)安全性需求 系統(tǒng)為了避免受到外來病毒或侵入代碼的攻擊,需要從軟硬件兩方面進(jìn)行部署,硬件方面需要布置防火墻,軟件方面則是需要從系統(tǒng)權(quán)限設(shè)定、密碼加密和驗(yàn)證碼等方面進(jìn)行設(shè)計(jì)。 (5)可拓展性需求 系統(tǒng)要有較高的可拓展性,可根據(jù)實(shí)際需要任意拓展或兼容其他功能,
60、要采用組件式的方式來設(shè)計(jì)系統(tǒng)。數(shù)據(jù)結(jié)構(gòu)也要和校園網(wǎng)內(nèi)的其他系統(tǒng)如學(xué)生管理系統(tǒng)同步,這樣可以在不影響用戶體驗(yàn)的情況下任意修改系統(tǒng)功能機(jī)構(gòu)和實(shí)現(xiàn)數(shù)據(jù)共享。 3.4 本章小結(jié) 在本章中,對圖書館系統(tǒng)的多種業(yè)務(wù)需求、功能與非功能需求等展開了全面合理化分析。為后續(xù)的設(shè)計(jì)與實(shí)現(xiàn)工作提供了功能要求和非功能要求,也可以作為系統(tǒng)實(shí)現(xiàn)時模塊劃分和測試用例選擇的依據(jù)。 4 系統(tǒng)設(shè)計(jì) 4.1 系統(tǒng)總體設(shè)計(jì) 4.1.1 系統(tǒng)軟件架構(gòu) 本系統(tǒng)基于J2EE架構(gòu)開發(fā),軟件系統(tǒng)首先要根據(jù)J2EE的四個層次分層和模塊化進(jìn)行開發(fā),這就可以保證系統(tǒng)實(shí)現(xiàn)期間系統(tǒng)的開發(fā)是按照技術(shù)標(biāo)準(zhǔn)和需求分析的要求進(jìn)行的。本系統(tǒng)的軟件架構(gòu)分為四個層次,
61、分別是表現(xiàn)層、Web層、業(yè)務(wù)層和數(shù)據(jù)層。其中表現(xiàn)層主要是指瀏覽器端的顯示內(nèi)容,需要使用HTML網(wǎng)頁語言來顯示,JavaScript腳本語言來控制頁面元素。Web層主要是在表現(xiàn)層的基礎(chǔ)上接受請求和響應(yīng)應(yīng)答用的,這里使用了Java平臺的網(wǎng)頁實(shí)現(xiàn)技術(shù)JSP和Struts框架。業(yè)務(wù)層是實(shí)現(xiàn)系統(tǒng)業(yè)務(wù)功能的層,每個功能都對應(yīng)業(yè)務(wù)層的一些模塊和功能類,這里用Spring技術(shù)來控制這些功能類。數(shù)據(jù)層主要是處理業(yè)務(wù)層封裝的數(shù)據(jù)請求的,數(shù)據(jù)連接和響應(yīng)的操作使用IBatis來完成,數(shù)據(jù)存儲使用Oracle數(shù)據(jù)庫。圖書館管理系統(tǒng)的軟件架構(gòu)如圖4-1所示。圖4-1 系統(tǒng)軟件架構(gòu)4.1.2 系統(tǒng)拓?fù)浣Y(jié)構(gòu) 系統(tǒng)的拓?fù)浣Y(jié)構(gòu)內(nèi)
62、包括數(shù)據(jù)庫服務(wù)器、web服務(wù)器、網(wǎng)絡(luò)設(shè)備和客戶端瀏覽器等,此外為了保證系統(tǒng)的數(shù)據(jù)正確性和安全性,系統(tǒng)還要部署在校園網(wǎng)內(nèi),并要在校園網(wǎng)和外網(wǎng)之間部署防火墻和防攻擊軟件。在校園網(wǎng)內(nèi)的用戶可以登錄系統(tǒng)進(jìn)行操作,在外網(wǎng)的用戶只能操作普通用戶功能。所有的客戶端訪問都是通過瀏覽器進(jìn)行的,沒有在客戶端部署任何業(yè)務(wù)邏輯軟硬件設(shè)備。圖書館管理系統(tǒng)的拓?fù)鋱D如圖4-2所示。 圖4-2 系統(tǒng)拓?fù)浣Y(jié)構(gòu)圖4.2 模塊數(shù)據(jù)流設(shè)計(jì) 基于J2EE的圖書館管理系統(tǒng)的頂層數(shù)據(jù)流圖如圖4-3所示。 圖4-3 頂層數(shù)據(jù)流圖4.2.1 書目查詢模塊 書目查詢模塊的功能主要包括圖書查詢、圖書詳細(xì)信息、圖書評價功能等。圖書查詢就是利用一些檢
63、索條件來查詢書目的基本信息,根據(jù)檢索條件的不同又分為簡單、分類查詢等。在進(jìn)行簡單查詢的過程中,主要涉及到主題內(nèi)容、文獻(xiàn)分類、查詢類型、查詢方式、排序方式、語言種類、顯示列表方式、所屬圖書館等。組合查詢的條件包括題目、索書號、責(zé)任者、標(biāo)準(zhǔn)編碼、主題詞、題名縮寫、作者、出版社等,這些條件可以多個并存。圖書詳細(xì)信息是指在搜索到指定的圖書后,查看該書的各種詳細(xì)信息和借閱信息,包括圖書編號、作者條形碼、館藏地址、館藏書目、是否在架等。圖書評價是在查看詳細(xì)信息后為圖書填寫評價和評分的功能,評價的內(nèi)容可以作為檢索條件和個人記錄存儲起來。書目查詢模塊的數(shù)據(jù)流圖如圖4-4所示。 圖4-4 書目查詢模塊數(shù)據(jù)流圖4.2.2 讀者管理模塊 讀者管理模塊是面向借閱人員的,必須通過登錄才能操作其中的功能。讀者管理模塊的主要功能包括個人信息維護(hù)、借書歷史查詢、預(yù)約借書單和借書證掛失等。個人信息維護(hù)是指借閱人員可以在登錄后查看和修改自己的個人信息和登錄密碼,因?yàn)闉榱吮阌诠芾恚薪栝喨藛T的信息都是來自教務(wù)系統(tǒng)。借書歷史查詢是指借閱人員可以看自己在圖書館借書和還書的記錄,記錄信息包括圖書名、借閱/歸還時間、借閱條形碼等。預(yù)約借書單是指借閱人員在圖書查詢過程中可以把要預(yù)約借閱的圖書加入圖書單中,預(yù)約借書的記錄會在系統(tǒng)中顯示,被預(yù)借或借出的圖書其他借閱人員將不能再預(yù)借。借書證
- 溫馨提示:
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. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案