基于j2ee的圖書館管理系統(tǒng)設計與實現(xiàn).doc
《基于j2ee的圖書館管理系統(tǒng)設計與實現(xiàn).doc》由會員分享,可在線閱讀,更多相關《基于j2ee的圖書館管理系統(tǒng)設計與實現(xiàn).doc(85頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、基于J2EE的圖書館管理系統(tǒng)設計與實現(xiàn)摘 要隨著計算機及網(wǎng)絡技術的迅速發(fā)展,人們的工作效率大大提高,信息化管理在我們生活中所扮演的角色也越來越重要。而計算機信息處理系統(tǒng)更是改變了許多系統(tǒng)的經(jīng)營管理。學校的圖書館作為學生獲取知識的一個重要學習場所,圖書和學生借閱資料繁多,信息化管理更是必不可少。因而圖書館管理系統(tǒng)成為學校管理機制中的重要組成部分之一,通過對圖書館管理的日常運行的研究,開發(fā)了這套圖書館管理系統(tǒng),以此代替原始的圖書館人工管理。本系統(tǒng)基于J2EE平臺,采用oracle作為后臺數(shù)據(jù)庫,本文根據(jù)軟件工程規(guī)范的要求,按照系統(tǒng)的需求分析、系統(tǒng)設計、系統(tǒng)實現(xiàn)與測試的順序分別介紹了系統(tǒng)的研究背景和
2、研究現(xiàn)狀,介紹了系統(tǒng)的業(yè)務需求、功能需求和非功能需求,給出了系統(tǒng)的軟件架構(gòu)、數(shù)據(jù)設計和各模塊的詳細設計,簡述了書目查詢、讀者管理、新書管理、信息發(fā)布、圖書借還模塊的設計與實現(xiàn),重點突出了個性化推薦模塊的模型和算法實施,最后還實現(xiàn)了系統(tǒng)的三層軟件架構(gòu)和系統(tǒng)界面,并通過系統(tǒng)測試驗證了系統(tǒng)給的可用性和適用性。 圖書館管理系統(tǒng)為圖書館提供信息化的管理模式,簡化了圖書盤點和記錄的流程,幫助管理人員更好地為讀者服務。圖書館極大地減少人工成本、顯著地提高工作效率,使圖書館的管理工作告別繁瑣,實現(xiàn)圖書館圖書的信息化管理。該系統(tǒng)的設計與實現(xiàn)體現(xiàn)了計算機信息化管理速度快、儲存量大、可靠性強、查閱方便的優(yōu)勢。關鍵詞
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課題相關國內(nèi)外研究現(xiàn)狀11.3論文主要工作31.4論文組織結(jié)構(gòu)42 相關技術介紹52.1 J2EE技術架構(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è)務需求113.1.1業(yè)務分析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)設計224.1 系統(tǒng)總體設計224.1.1 系統(tǒng)軟件架構(gòu)224.1.2 系統(tǒng)拓撲結(jié)構(gòu)224.2 模塊數(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)詳細設計274.3.1 時序圖設計274.3.2 關鍵類圖設計314.4 系統(tǒng)數(shù)據(jù)庫設計324.4.1 實體設計334.4.2 數(shù)據(jù)表設計384.5 本章小結(jié)415 系統(tǒng)實現(xiàn)與測試425.1 系統(tǒng)實現(xiàn)的架構(gòu)425.1.1 web層實現(xiàn)425.1.2 業(yè)務層實現(xiàn)435.1.3 數(shù)據(jù)層實現(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 驗收測試525.4 本章小結(jié)526 總結(jié)與展望54參考文獻551 緒論1.1研究背景及意義在科學技術快速發(fā)展的今天,計算機得到了普遍應用,在各行業(yè)中扮演著十分關鍵的角色,它使人們的各項工作不再復雜,進而提高了工作效率。當前,大部分圖書館在辦理圖書借閱業(yè)務時,大多以人工的方式進行。此種方式存在著較多的問題,不但使圖書借閱的效率得不到提升,而且圖書館管理員也不能全面的掌握圖書借閱的基本情況。人工管理在人為因素的作用下,也勢必存在著一些弊端,進而造成圖書的丟失等一系列后果。計算機的信息化
14、管理則有著速度快、儲存量大、可靠性強、查閱方便等諸多優(yōu)點,及時地為我們處理各類信息1。當前,市場化經(jīng)濟在國內(nèi)得到了快速化發(fā)展,也使人們對文化的需求日益提升,而圖書則成為人們獲取文化知識的最佳途徑。對于大學生來說,通過閱讀圖書來獲取知識無疑是非常必要的。絕大多數(shù)的高校都有自己的圖書館,豐富的館藏可以幫助學生獲得更多的學習資料和閱讀機會,但同時也為圖書館的管理工作帶來了問題。人工記錄大量的書籍、讀者和借閱記錄信息,不僅工作量大、人員成本高,還容易因為人工的失誤造成讀者查找和借閱的不便。利用計算機和基礎網(wǎng)絡,圖書館可以轉(zhuǎn)變管理模式,減少人工的記錄和查找,簡化借閱和歸還的流程,這都可以為圖書館減少人員
15、成本,提高服務質(zhì)量提供幫助。另外通過建立網(wǎng)上圖書館,海量的多媒體館藏資源還可以幫助讀者更好地了解圖書館的文獻資源,更加快速、有效地閱讀自己需要的圖書和期刊2。1.2課題相關國內(nèi)外研究現(xiàn)狀圖書館管理系統(tǒng)起源于上個世紀50年代,那時的自動化管理主要面向圖書的流通和編目工作。1965年,美國國會圖書館首次用計算機進行圖書編目管理,而受限于當時計算機技術的發(fā)展程度,計算機系統(tǒng)對圖書館管理工作的幫助并不顯著3。上個世紀60年代的計算機設備的價格昂貴,只有國家級的圖書館才有專用的計算機系統(tǒng),再加上當時的計算機性能較弱,存儲量和處理能力都很低,致使這段時間的圖書館信息系統(tǒng)的發(fā)展緩慢。圖書館管理系統(tǒng)的應用更多
16、是實驗性質(zhì),系統(tǒng)的可靠性和安全性也很難保證4。大部分圖書館只能在所在單位的計算中心中部署圖書館管理系統(tǒng),嘗試性地進行圖書館自動化管理研發(fā)工作5。上世紀70年代中期,計算機軟硬件技術水平得以飛速提升,更多的機構(gòu)和單位都擁有了專用的計算機系統(tǒng)。這一階段的圖書館信息系統(tǒng)研發(fā)也進入了實用階段,雖然還沒有真正意義上的系統(tǒng)管理軟件,但各種不同功能和原理的圖書管理信息系統(tǒng)真正進入了業(yè)務環(huán)節(jié),提高了圖書館的辦事效率6。當時還沒有專門進行圖書館管理系統(tǒng)研發(fā)的團隊,只是在圖書館的個別部門進行圖書采訪、圖書編目、圖書流通、期刊管理等方面研究工作。圖書館信息系統(tǒng)還是由中央主機管理的終端系統(tǒng)。上世紀80年代,小型機逐步
17、成為計算機終端的主體,更多的圖書館配備了專用的計算機,并投入了足夠的人力物力進行圖書館信息系統(tǒng)軟件的研制工作7。圖書館自動化系統(tǒng)由簡單的圖書編目和流通管理向功能強大的集成系統(tǒng)方向發(fā)展。較為成熟的圖書館管理集成系統(tǒng)被廣泛的應用,隨之而來的是巨大的商品化機遇。很多技術人員從圖書館機構(gòu)分離出來專門從事圖書館集成系統(tǒng)的研發(fā)工作,很多大型軟件公司也和圖書館合作開發(fā)相應的商業(yè)產(chǎn)品。市場上出現(xiàn)了一批技術含量高、功能較為齊全、應用范圍廣的圖書館自動化集成系統(tǒng)8。進入21世紀,隨著科技的高速發(fā)展,圖書館管理系統(tǒng)的集成化和商品化得到了進一步加強。該類系統(tǒng)的性能越來越高,規(guī)模越來越大,價格也越來越便宜,在很多圖書館
18、都得到了應用9。圖書館不再需要組織人力物力進行圖書管理軟件的開發(fā),所有的圖書管理軟件都是商品化的系統(tǒng)軟件,這也標志著圖書管理系統(tǒng)進入了商品化時代。再加上網(wǎng)絡的普及,網(wǎng)絡化的結(jié)構(gòu)也逐步成為圖書館管理系統(tǒng)的主要結(jié)構(gòu)10。我國的圖書館管理系統(tǒng)研發(fā)始于上個世紀70年代中期,當時我國組建了一批試點性的圖書館管理自動化系統(tǒng)研發(fā)團隊。上世紀七十年代,由中科院專家組成的專業(yè)化研究團隊,應用計算機來獲取文獻數(shù)據(jù),能夠提供大量的與圖書檢索相關的服務11。時至今日,我國圖書館管理自動化系統(tǒng)已經(jīng)走過了40個年頭,其發(fā)展的階段主要有四個:1976年到1980是探索階段。在這個時期,國內(nèi)一些專家開始向國外學習圖書集成系統(tǒng)
19、管理的實踐經(jīng)驗,并深入的探索了中文機讀編寫文獻的相關技術。1976年的漢字信息處理工程,為圖書館管理系統(tǒng)提供了中文通訊、中文激光照排、中文情報檢索等方面的技術支持,我國的圖書館自動化研究工作也從此起步。此后,中科院研發(fā)部門在原有的基礎上構(gòu)建了專業(yè)化團隊,并與計算機所進行合作共同開發(fā)中文文獻數(shù)據(jù),其數(shù)量多達600余冊。由于當時計算機還不支持中文信息的相關功能,只能用拼音處理和描述中文文獻12。1981年到1985年是實驗階段。經(jīng)過探索階段的積累,我國圖書館界已經(jīng)掌握了圖書管理集成化系統(tǒng)的研發(fā)技術,一些大型圖書館組織圖書館管理人員實施集中技術培訓,同時也加入到MARC合作組中,推行圖書館信息化系統(tǒng)
20、的自主研發(fā)工作。這段時間國內(nèi)的圖書館機構(gòu)結(jié)合單位自身情況,進行了一系列探索性的研究和開發(fā)工作13。1986年到1995年是使用階段。在當時,計算機的性能和容量大幅度提高,為圖書館自動化和集成化發(fā)展提供了有利的條件。國內(nèi)的圖書館信息系統(tǒng)研發(fā)團隊經(jīng)過前兩階段的理論積累,利用先進的計算機終端技術在圖書編目、檢索和流通等主要圖書館管理工作環(huán)節(jié)開展了廣泛的研究和應用。圖書館管理系統(tǒng)也逐步向商品化和服務化的方向發(fā)展14。1996年至今是提高接軌階段。進入新的世紀后,經(jīng)濟的快速發(fā)展使電子信息技術等發(fā)展速度進一步加快,圖書館系統(tǒng)中應用數(shù)據(jù)與多媒體技術已經(jīng)成為當前的主要發(fā)展方向。圖書館信息化建設在各級領導的高度
21、重視下和圖書館各業(yè)務部門的共同努力下進入了一個全新的時代。我國軟件研發(fā)機構(gòu)緊跟時代步伐,不斷在圖書館管理系統(tǒng)的技術創(chuàng)新和商品化進程方面進行研究,為廣大讀者和圖書館管理人員提供了一批性能強大、易用性強、安全性高的圖書館管理信息系統(tǒng)。由深圳公司推出的ILAS系統(tǒng)、大連妙思開發(fā)圖書館軟件等都已經(jīng)成為在城市化圖書管理系統(tǒng)中得到了廣泛應用。這些系統(tǒng)集成化高,性能優(yōu)良的圖書管理系統(tǒng)實現(xiàn)了圖書館的自動化管理,為圖書館降低成本、提高服務質(zhì)量,為讀者更加方便的查找和借閱館藏資料提供了方便15。時至今日,我國圖書館的信息化管理程度已經(jīng)很成熟,但因各圖書館的規(guī)模和實際情況不同,圖書館集成化管理系統(tǒng)在國內(nèi)仍然呈現(xiàn)水平
22、參差不齊的狀況。通過上述分析可以看出,國內(nèi)應用的圖書館集成化管理系統(tǒng)仍然處在一個較為初級的階段,有些技術尚未成熟。大多數(shù)圖書館應用屬于一種較為簡單的系統(tǒng)。所以,要結(jié)合圖書館的基本情況,從多個層次出發(fā)來開發(fā)一些先進的圖書管理集成系統(tǒng)16。1.3論文主要工作本系統(tǒng)采用當今最流行的面向?qū)ο笳Z言之一的Java語言對前端的應用程序進行設計,對后臺數(shù)據(jù)庫的設計采用了oracle10g開發(fā)。本文從項目開發(fā)、需求分析、開發(fā)平臺選擇、系統(tǒng)模塊建立、數(shù)據(jù)庫設計、功能模塊編程實現(xiàn)及軟件測試等方面闡述了本應用系統(tǒng)的設計過程。詳細論述了系統(tǒng)分析、設計和數(shù)據(jù)庫的設計等方面的內(nèi)容。著重描述了該系統(tǒng)的圖書查詢、訂閱、歸還等功
23、能,對很多細節(jié)上的功能也做了詳細的闡述。本文的主要工作包括:(1) 分析描述了課題研究的背景和意義,介紹了國內(nèi)外相關研究成果,描繪了系統(tǒng)重點功能。根據(jù)系統(tǒng)的功能要求進行需求分析,建立基于J2EE的圖書館管理系統(tǒng)業(yè)務模型。(2)介紹了系統(tǒng)設計與實現(xiàn)的相關技術和論文描述語言,通過介紹這些技術的優(yōu)缺點分析系統(tǒng)的技術優(yōu)勢,論文使用規(guī)范的軟件工程描述語言來描述系統(tǒng)設計與實現(xiàn)內(nèi)容。(3)根據(jù)需求分析的要求進行系統(tǒng)設計與實現(xiàn)描述,給出了系統(tǒng)設計的內(nèi)容和圖形描述,讓讀者了解系統(tǒng)開發(fā)的全過程,包括每個功能的用例、功能設計、數(shù)據(jù)庫設計、程序設計以及界面展示等。(4)針對系統(tǒng)的功能和非功能需求進行系統(tǒng)測試,給出了系
24、統(tǒng)測試的環(huán)境、方法、用例以及結(jié)果,分析測試結(jié)果總結(jié)系統(tǒng)實現(xiàn)的成果。1.4論文組織結(jié)構(gòu)本文首先對研究背景進行介紹,針對目前圖書管理信息化程度不足的問題,在借鑒國內(nèi)外圖書館管理系統(tǒng)的基礎上,選擇先進的系統(tǒng)實現(xiàn)技術和數(shù)據(jù)庫技術開發(fā)了一套用于管理高校圖書館的信息系統(tǒng)。論文共有6個章節(jié),分別是緒論、技術、需求分析、系統(tǒng)設計、系統(tǒng)實現(xiàn)與測試、總結(jié)。第1章,緒論。主要介紹了基于J2EE的圖書館管理系統(tǒng)的研究背景和研究意義,從國內(nèi)外研究的情況切入分析出圖書館管理系統(tǒng)存在的難題,并簡要介紹了論文的主要工作和組織結(jié)構(gòu)。第2章,相關技術介紹。主要針對本系統(tǒng)開發(fā)所需要的技術進行了介紹,包括J2EE技術架構(gòu)、Strut
25、s+Spring框架、IBatis數(shù)據(jù)庫框架、Oracle數(shù)據(jù)庫以及UML語言等。第3章,系統(tǒng)需求分析。分析了圖書館管理系統(tǒng)的業(yè)務需求、用例分析、功能需求和非功能需求。為后續(xù)的設計與實現(xiàn)工作提供了功能要求和非功能要求。第4章,系統(tǒng)設計。描述了圖書館管理系統(tǒng)的設計內(nèi)容,包括系統(tǒng)軟件架構(gòu)、拓撲結(jié)構(gòu)和功能模塊劃分,介紹了系統(tǒng)實體和對應的數(shù)據(jù)庫表,然后根據(jù)需求分析的結(jié)果分別介紹了每個功能模塊的設計內(nèi)容。第5章,系統(tǒng)實現(xiàn)與測試。首先介紹了系統(tǒng)軟件架構(gòu)的實現(xiàn)方式,然后給出每個模塊的系統(tǒng)展示截圖,最后從功能和性能兩方面對系統(tǒng)進行測試,測試內(nèi)容包括測試環(huán)境、測試方法、測試用例和測試結(jié)果。第6章,總結(jié)與展望。對
26、論文進行了總結(jié),并對未來系統(tǒng)的升級和維護工作進行了展望。56 2 相關技術介紹 2.1 J2EE技術架構(gòu) Java2平臺有3個主要版本它們分別是適合在微型設備應用的Micro 版(Java 2 Platform Micro Edition,J2ME)、用于桌面程序開發(fā)的標準版(Java 2 Platform Standard Edition,J2SE)、用于服務供應商程序開發(fā)的企業(yè)專用版。 J2EE是在Java2平臺基礎上構(gòu)建的一種結(jié)構(gòu),此種結(jié)構(gòu)能夠完成系統(tǒng)開發(fā)、管理等任務。J2EE 技術延續(xù)了Java2標準版的跨平臺、簡易I/O等諸多優(yōu)點,還包括了JDBC、CORBA等新型數(shù)據(jù)技術和安全模式
27、。基于J2EE的系統(tǒng)開發(fā)技術規(guī)范很多,比如可擴展性標記語言、java服務器頁面等技術。J2EE結(jié)構(gòu)的系統(tǒng)具有高性能、高可靠性和高開發(fā)敏捷性等特點,因為 J2EE 提供了能夠滿足高可靠性和可用性要求的中間層集成框架,這就為多層應用開發(fā)和簡化系統(tǒng)提供了方便17。J2EE 提供了面向現(xiàn)有應用程序集成的強有力支持,提供了良好的打包和部署、添加目錄等應用,這些都是提高系統(tǒng)性能,增強系統(tǒng)安全機制的保障。 J2EE由一組系統(tǒng)組件、服務架構(gòu)和技術層次組成,這些技術規(guī)范和指南均有通用的標準和規(guī)格,使得J2EE可以在各種平臺和軟硬件環(huán)境中良好兼容。這充分解決了企業(yè)級系統(tǒng)信息產(chǎn)品之間不能很好兼容,內(nèi)外數(shù)據(jù)很難互通的
28、問題18。除此之外,J2EE具有很多可以為企業(yè)級系統(tǒng)提供可伸縮性、靈活性、易維護性和安全性等特性的優(yōu)良機制: (1)漸進式開發(fā) 由于企業(yè)的業(yè)務十分復雜,如果一次實現(xiàn)所有的系統(tǒng)業(yè)務顯然不現(xiàn)實,再加上企業(yè)為了適應的市場環(huán)境往往經(jīng)常變化企業(yè)管理方案,這些都要求企業(yè)信息化系統(tǒng)具備很好的漸進式開發(fā)特性。不能激進也不能全盤否定,要設法在原有的系統(tǒng)基礎上建立或改進新的系統(tǒng)實現(xiàn)。J2EE的技術規(guī)范中對漸進式開發(fā)有專門的設計,支持植入式的系統(tǒng)升級和維護技術,再加上 JAVA 平臺本身的低容量和可移植特性,J2EE 架構(gòu)的系統(tǒng)可以部署在任意的硬件環(huán)境和操作系統(tǒng)中。這些特性都使得產(chǎn)品供應商和用戶有更多的選擇19。
29、(2)開發(fā)高效率 J2EE 架構(gòu)是分層實現(xiàn)的,并且在每個層次中都保證了組件的低耦合特性。這種特性允許供應商把一些通用和頻繁使用的系統(tǒng)組件外包給中間件供應商開發(fā),這樣不僅可以提高開發(fā)的敏捷性,還可以通過使用高校的中間件來保證系統(tǒng)性能。J2EE 中經(jīng)常使用的中間件一般是狀態(tài)管理、分布式共享數(shù)據(jù)和持續(xù)性服務組件,因為這些中間件都可以提供黑盒式的系統(tǒng)服務,系統(tǒng)供應商只需要提供相應的輸入和輸出規(guī)范,而無需考慮如何實現(xiàn)中間件和保證系統(tǒng)性能,這不僅降低了開發(fā)成本,還保證了系統(tǒng)的可維護性,因為可以讓中間件供應商承擔一定的系統(tǒng)開發(fā)任務和來維護其部署在系統(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)境。因此在設計J2EE系統(tǒng)時無需考慮如何部署到各個平臺上,這十分有利于供應商的成本控制策略。客戶可以任意訂購符合自身硬件條件的J2EE標準系統(tǒng),不需要為自己的軟硬件是否兼容發(fā)愁,節(jié)省了一大筆開支21。 (4)可伸縮性 由于企業(yè)的大小不同,業(yè)務復雜度也不盡相同,要設計符合所有企業(yè)的信息化系統(tǒng)是一個十分困難的工作。J2EE憑借其強大的伸縮特性為不同級別的企業(yè)級用戶提供了業(yè)務解決方案。例如同一個J2EE架構(gòu)系統(tǒng),可以部署到普通的PC上,也可以部署到架裝服務器上,還可以部署到大型機系統(tǒng)上,還可以通過
31、具有復雜平衡特性的分布式服務器集群上。從單機的單核、雙核、多核,到集群式的服務器系統(tǒng),J2EE架構(gòu)都可以完美的兼容使用,這種強大的可伸縮特性是保證J2EE架構(gòu)長盛不衰的基礎特性22。 (5)高可靠性 企業(yè)級的信息化系統(tǒng)一般都要全天候的運行,要24小時滿足用戶和合作伙伴的訪問需要。特別隨著網(wǎng)絡技術設施的普及,全球化的進程不斷完善,任何的系統(tǒng)延遲或停機都會造成企業(yè)信息化系統(tǒng)的不可用,甚至出現(xiàn)災難性的后果。J2EE的部署機制可以保證系統(tǒng)的高可靠性和安全性,并且和所有的操作系統(tǒng)安全機制兼容。據(jù)統(tǒng)計,全球型的J2EE架構(gòu)web系統(tǒng)平均可用性在95%以上,年平均停機時間不足10分鐘??煽啃院桶踩允巧虡I(yè)系
32、統(tǒng)最低也是最先考慮的選擇條件,J2EE在這方面的表現(xiàn)無遺是完美的。作為一類應用模型,J2EE系統(tǒng)開發(fā)體現(xiàn)出分布式的特點。按照功能分布將應用邏輯細化為若干個系統(tǒng)組件,每個組件又分布在不同的組件服務器上。這種多層分布式結(jié)構(gòu)可以有效地解決傳統(tǒng)Java平臺系統(tǒng)客戶端過于臃腫的問題。將主要的業(yè)務邏輯放在服務器上,可以避免由于客戶端過于分散造成的難以升級維護和擴展性不強的問題,還能增強系統(tǒng)的重用性和安全性。J2EE一般分為四個層次,每個層次都由不同的服務器支持和維護,當要修改某個層次時不會影響其他層次的結(jié)構(gòu)。這四個層次分別是,在客戶端承載用戶組件的客戶層,在此種服務器中可以加載頁面邏輯的web層,此類服務
33、器能夠加載業(yè)務量邏輯的業(yè)務層,也可以使與企業(yè)信息相關系統(tǒng)軟件層得到有效的運行。J2EE的四層模型結(jié)構(gòu)如圖2-1所示。圖2-1 J2EE的四層模型結(jié)構(gòu)2.2 Struts+Spring框架 2.2.1 Struts框架 Struts屬于一類開發(fā)性的應用模型。近年來,此項技術得到了快速的發(fā)展。該框架已經(jīng)在JSP Web中得到了廣泛的應用。發(fā)展之初,Web服務是以JSP為中心的運行狀態(tài)。在JSP的主要作用是表現(xiàn)與控制邏輯。這樣的方式,在頁面規(guī)模很小的項目上無法體現(xiàn)出缺點,但是當項目規(guī)模擴大,頁面間關系交錯復雜時,如果將一張頁面進行修改,那么它就會對其他頁面產(chǎn)生一定的影響,進而使整個程序的運行受到嚴重
34、的影響。同時,如果同時打開頁面與邏輯開發(fā),這樣將會對分工合作與代碼產(chǎn)生較大的影響,使程序不再具有可延展性23。 為了改進上述不足,在web服務中加入控制器,而控制器包括servlet,客戶端的需求將不再直接發(fā)傳送至JSP 頁面,而是經(jīng)由中央指揮者傳送控制器,隨后控制器會結(jié)合實際需要對業(yè)務邏輯進行調(diào)整,這樣得到的結(jié)果將會反饋到頁面中。這樣便于將業(yè)務邏輯從JSP文件剝離出來,JSP文件也就凈化為一個單純完成顯示的構(gòu)建,即View視圖層。而擔當控制器的servlet則被賦予control控制,進行處理的事務邏輯便成為了Model模型,即MVC。Struts就是一種具體實現(xiàn)MVC理念的程序框架。可以使
35、用servlet的接受客戶發(fā)出全部需求。隨后結(jié)合實際的參數(shù)與Struts配置內(nèi)的Action Mapping,此后請求將會由Action進行處理,這些共同組成了Struts的控制器24。2.2.2 Spring架構(gòu) Spring框架是個輕量級的Java EE框架。最核心的理念是IOC(Inversion of control),即控制反轉(zhuǎn)。在控制過程中,對象可以向容器進行切換。隨后容器會結(jié)合配置文件來構(gòu)建一些新型的實例,同時也要保證各個實例間形成一種相互依賴的關系。這樣就讓一個對象的創(chuàng)建不用new了。此種構(gòu)建模式應用的原理是Java里的反射,以反射為基礎使系統(tǒng)在運行過程中創(chuàng)建對象。當Sprin
36、g開始運行時,可以結(jié)合相關的配置文件來構(gòu)建動態(tài)對象以及調(diào)用對象中的方法25。 Spring另一個核心就是AOP(Aspect-Oriented Programming)屬于一種面向切面的編程。此種編程可對某些對象間合理化的控制,這樣就能夠達到擴展模塊的目的。只有通過配置才能達到實際的要求。而進行Spring編程的主要目標是:對象在進行關聯(lián)時,就不需要借助代碼來完成。Spring屬于一類容器,只有容器內(nèi)部含有對象,Spring才能提供相關功能與服務26。 2.3 IBatis數(shù)據(jù)框架 IBatis不同于被廣泛使用的Hibernate數(shù)據(jù)映射技術,它不具備全自動的數(shù)據(jù)查詢、插入、修改、刪除操作,也
37、沒有緊密約束關系的OR映射。IBatis為開發(fā)者提供了更為靈活和便捷可控的類ORM數(shù)據(jù)解決方案,他們需要自己實現(xiàn)SQL語句,可以根據(jù)自己的需要進行靈活的創(chuàng)作和性能提升。當然,開發(fā)者在提供這些SQL之后,就無需擔心他們是否會被正確的運行,IBatis會保證運行的穩(wěn)定性和安全性。根據(jù)寫好的SQL和參數(shù)條件,IBatis會動態(tài)生成執(zhí)行帶參數(shù)的SQL語句,然后傳參數(shù)進去,為這些SQL參數(shù)提供具體值。IBatis會自動根據(jù)配置文件生成數(shù)據(jù)連接池,只要有合適的驅(qū)動文件,就可以自動的執(zhí)行SQL語句,利用IDataReader 機制返回數(shù)據(jù)結(jié)果集,生成一個可被識別的強類型數(shù)據(jù)對象(IList)相對于其他配置復
38、雜類似Community Server的數(shù)據(jù)操作架構(gòu),IBatis無需開發(fā)者編寫復雜的重復代碼,只需要一個配置文件,然后調(diào)用SqlMapper的實例對象即可簡單的實現(xiàn)。當然,當系統(tǒng)的復雜度和數(shù)據(jù)操作量較大時,編寫IBatis配置文件也是一個比較繁瑣復雜的工作27。 數(shù)據(jù)操作的事務問題方面,IBatis為我們提供了全自動的管理和執(zhí)行SQL語句的機制,返回的結(jié)果集也是強類型的數(shù)據(jù)對象。它直接生成DB Command返回集,這樣用戶可以自由的選擇數(shù)據(jù)集合進行進一步的操作。 效率方面,雖然IBatis使用了少量的發(fā)射技術,但是由于配置文件的形式,數(shù)據(jù)操作性能的影響就可以忽略不計了。根據(jù)測試,使用IBa
39、tis進行多條記錄的添加操作和使用UpdateDataSet 這種批量提交的形勢比較,整體效率有所提高,性能優(yōu)秀。IBatis的緩存機制很有特點,它可以根據(jù)不同的條件進行有選擇的SQL執(zhí)行,緩存機制可以保存某個條件執(zhí)行之后的輸出數(shù)據(jù),這些都是在生成結(jié)果集之前封閉進行28。 IBatis運行環(huán)境必須的兩個配置文件是SqlMap.config和Provider.config。SqlMap.config是IBatis的核心配置文件,用來保存相關的配置環(huá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)品就是以公司名命名的關系型數(shù)據(jù)庫管理系統(tǒng)Oracle數(shù)據(jù)庫。Oracle數(shù)據(jù)庫是全球首個關系型數(shù)據(jù)庫管理系統(tǒng),其具有的跨平臺、分布式、海量數(shù)據(jù)處理和安全體系都是世界一流,Oracle數(shù)據(jù)庫目前仍被廣泛的應用于B/S結(jié)構(gòu)的企業(yè)級信息化系統(tǒng)開發(fā)過程中。Oracle數(shù)據(jù)庫是一個
41、系列產(chǎn)品,所有的甲骨文公司數(shù)據(jù)庫產(chǎn)品編號都以Oracle開頭,甲骨文公司也憑借Oracle產(chǎn)品成為實際上最大的數(shù)據(jù)庫管理系統(tǒng)供應商,也是最主要的信息處理軟件供應商之一29。Oracle數(shù)據(jù)庫系統(tǒng)采用客戶端/服務器的形式,服務器就和其他關系型數(shù)據(jù)庫一樣可以提供集成化、開發(fā)、全面的數(shù)據(jù)存儲和維護管理辦法。Oracle服務器又數(shù)據(jù)倉庫和數(shù)據(jù)庫實例共同構(gòu)成,其中數(shù)據(jù)倉庫包括了自治性的數(shù)據(jù)存儲透明機制,數(shù)據(jù)庫實例包括一個SID和相關的權(quán)限控制機制。Oracle服務器又權(quán)限機制,通過用戶名來區(qū)分用戶權(quán)限,具體包括Internal、Sys和System三種。其中Internal是Sys的別名,是由數(shù)據(jù)庫管理
42、員使用進行數(shù)據(jù)庫啟動和關閉的基礎用戶名;Sys用戶名具有最高的操作權(quán)限,一般由數(shù)據(jù)庫管理員所有,用來進行數(shù)據(jù)庫操作;System用戶名是較低權(quán)限的用戶名,僅能進行普通的數(shù)據(jù)查詢,供普通用戶使用。 Oracle客戶端是為了滿足用戶遠程訪問和操作數(shù)據(jù)庫而設定,具體包括數(shù)據(jù)應用、維護工具和聯(lián)網(wǎng)工具等。進行本地數(shù)據(jù)庫訪問可以通過制定用戶名來登錄客戶端,進行遠程訪問則需要制定個特定的PC位置才能建立和維護數(shù)據(jù)庫訪問連接。由于Oracle數(shù)據(jù)庫的物理存儲和邏輯存儲彼此分開,所以可以通過客戶端操作邏輯結(jié)構(gòu)時無需考慮物理存儲結(jié)構(gòu),反之亦然。 2.5 UML語言 UML(Unified Modeling Lan
43、guage)屬于一種能夠進行編程的可視化語言,主要以圖形化的形式進一步展現(xiàn)。UML的應用主要是為了各種開發(fā)人員的交流都給予一個標準的平臺上進行,同時為了清晰便捷,UML定義了不同的圖形來表示不同的信息,可以簡單直觀的表達程序開發(fā)人員對系統(tǒng)的理解。UML支持面向?qū)ο蟮木幊汤砟?,是一門圖形化的語言,在每一個圖形符號后面都擁有良好的語言機制,可以根據(jù)用戶的需要增加標記值、構(gòu)造型、約束等。UML作為一種建模語言,主要涵蓋UML語義和UML表示法兩個部分:UML語義可以精確描述建模的概念,形成一個統(tǒng)一、通用和簡單的定義過程,是模型開發(fā)者可以在語法層次達成統(tǒng)一,可以消除語義形式對于模型定義的影響。UML表
44、述法則是通過圖形和文本語言相結(jié)合的方式為系統(tǒng)建模提供了統(tǒng)一和形象的標準展現(xiàn)方式。當程序設計人員對系統(tǒng)進行設計時,首先會對需求進行建模,其次便會對具體的需求進行系統(tǒng)行為描述。第一步需要使用到包括用例圖、類圖、對象圖、組件圖和配置圖等五個圖形,第二部則主要使用到包括活動圖、狀態(tài)圖、合作圖和順序圖等表示執(zhí)行時的交互關系或時序狀態(tài)的圖形。UML作為一種抽象的描述語言,將各種需求用一種通用的語言來進行全面的描述,為來自不同語言文化背景的開發(fā)人員提供了一個統(tǒng)一的交流平臺,類似于阿拉伯數(shù)字一樣在整個業(yè)界通用流行30。2.6本章小結(jié) 主要針對本系統(tǒng)開發(fā)所需要的技術進行了介紹,包括J2EE技術架構(gòu)、Struts
45、+Spring框架、IBatis數(shù)據(jù)庫框架、Oracle數(shù)據(jù)庫以及UML語言等。 3 系統(tǒng)需求分析 3.1 系統(tǒng)業(yè)務需求 3.1.1業(yè)務分析 根據(jù)高校圖書館管理的實際情況,本系統(tǒng)的主要用戶包括圖書館管理人員、普通用戶和借閱者三類。圖書館管理人員也就是日常維護圖書館的人員,他們負責圖書借閱信息的記錄和管理,形成借書或還書報表供借閱者確認,同時還要負責圖書館的日常信息發(fā)布、管理機制維護等業(yè)務工作;普通用戶是指通過本系統(tǒng)查詢圖書情況和借閱信息的用戶;借閱者一般為學校的學生或教職員工,他們憑借統(tǒng)一規(guī)格的登錄信息來進行系統(tǒng)登錄后的借閱信息查看和圖書借閱操作。基于J2EE的圖書館管理系統(tǒng)業(yè)務流程圖如圖3-
46、1所示。 圖3-1 系統(tǒng)業(yè)務流程圖3.1.2用例分析 根據(jù)業(yè)務分析的介紹,本系統(tǒng)的主要角色有三種,分別是工作人員、借閱人員和普通用戶。其中工作人員和借閱人員都需要登錄系統(tǒng)才能操作,普通用戶不需要登錄系統(tǒng)。 本系統(tǒng)的設計與實現(xiàn)內(nèi)容都要通過面向?qū)ο蠼<夹g和UML語言來描述,在進行業(yè)務需求分析時要劃分系統(tǒng)的主要角色和相關用例,在基于UML語言中,用例圖能夠全面的描述用戶的需求,更好的發(fā)揮描述的各種功能?;贘2EE的圖書館管理系統(tǒng)業(yè)務角色有3種,分別用3個用例圖來描述每個角色的用例和用例之間的關系。 工作人員角色是指圖書館管理員或系統(tǒng)管理員,他們的主要用例是系統(tǒng)信息維護、書籍信息維護和借閱信息維護
47、,這些功能提供的信息都是維持系統(tǒng)正常運行的關鍵信息,所以工作人員的操作必須在系統(tǒng)登錄之后且有相關功能的操作權(quán)限才能進行。工作人員可操作的功能包括圖書信息維護、借閱信息維護、系統(tǒng)登錄和系統(tǒng)信息維護等。工作人員角色的用例圖如圖3-2所示。 圖3-2 工作人員用例圖借閱人員角色主要是在圖書館借閱圖書的教師或?qū)W生,他們有自己的登錄賬號(借書證號或讀者條碼),他們的主要用例包括圖書查詢、借閱歷史查詢、預約借書單和維護個人信息等。為了方便圖書館管理個人信息,借閱人員的信息必須真實且必須登錄之后才能進行操作。借閱人員可操作的功能包括借閱管理、圖書查詢、個人信息維護和系統(tǒng)登錄。借閱人員角色的用例圖如圖3-3所
48、示。圖3-3 借閱人員用例圖普通用戶是指不需要登錄就可以進行系統(tǒng)瀏覽和操作的用戶,這種角色的用例都只是查詢功能,比如未借書的讀者可以閱讀讀者須知、查詢圖書信息和電子圖書信息、獲取圖書館聯(lián)系方式等。普通用戶角色不需要登錄系統(tǒng),也不需要預留任何個人信息。普通用戶可操作的功能包括圖書查詢和公告查詢。普通用戶角色的用例圖如圖3-4所示。 圖3-4 普通用戶角色用例圖3.2 系統(tǒng)功能需求 系統(tǒng)的功能需求主要有: (1)書目查詢:借閱人員和普通用戶可以通過這個功能查看圖書的詳細信息、借閱信息以及評價信息等。借閱人員還可以把圖書加入自己的預約清單和收藏夾里,方便借閱和查看。圖書查詢要提供多種條件的檢索方式,
49、包括簡單查詢、組合查詢和分類查詢等。 (2)讀者管理:此功能是針對借閱人員的功能,借閱人員用自己的借書證和密碼登錄系統(tǒng)之后,可以查看或修改自己的個人信息、查看借書記錄、預借書清單、圖書收藏夾等,還可以在證件丟失時進行在線掛失記錄。這些功能都必須是借閱人員本人才能操作,在進行系統(tǒng)登錄時要根據(jù)登錄信息判斷操作權(quán)限。 (3)新書管理:這個功能是為了及時擴充圖書館館藏而設的,具有登錄權(quán)限的借閱人員和圖書館工作人員可以進行新書推薦,圖書館根據(jù)這些用戶的推薦制定采購計劃,然后統(tǒng)一進行采購擴充。這個功能主要包括新書推薦、信息確認和新書征訂查詢等。 (4)信息發(fā)布:這個功能主要是圖書館工作人員發(fā)布管理信息的功
50、能,信息包括讀者須知、網(wǎng)站使用說明、機構(gòu)組成、聯(lián)系方式、電子數(shù)據(jù)庫地址、新書征訂和采購計劃等。另外,在借閱過程中超期未還的信息也會定期在這個功能內(nèi)發(fā)布出來。 圖書館管理系統(tǒng)根據(jù)功能分布分為4個主要模塊,分別是書目查詢模塊、讀者管理模塊、新書管理模塊和信息發(fā)布模塊。其中書目查詢模塊又分為圖書查詢、圖書詳細信息、圖書評價三個子模塊,讀者管理模塊分為個人信息維護、借書歷史查詢、預約借書單和借書證掛失四個子模塊,新書管理模塊分為新書推薦、新書征訂、新書通報三個子模塊,信息發(fā)布模塊分為最新資訊、讀者服務、入館指南和資源數(shù)據(jù)庫鏈接四個子模塊。系統(tǒng)功能模塊劃分如圖 3-5所示。 圖3-5 系統(tǒng)功能模塊劃分3
51、.2.1 書目查詢模塊 書目查詢模塊主要有圖書查詢、圖書詳細信息、圖書評價3個功能,其中書目查詢就是利用一些檢索條件來查詢書目的基本信息,根據(jù)檢索條件的不同又分為簡單查詢、組合查詢和分類查詢。在書目查詢之后,系統(tǒng)會列出所有符合檢索條件書目名稱和借閱信息,點擊書目名稱就會進入圖書詳細信息功能,圖書詳細信息功能會列出館藏每一本圖書的圖書編號、作者、條形碼、館藏地址、館藏書目、是否在架等信息,具有登錄權(quán)限的借閱人員還可以把圖書加入收藏單或預借單中方便借閱。圖書評價是圖書館為了掌握讀者對圖書的喜好設置的功能,讀者可以為圖書打分和寫評語,這有助于圖書館采購和補充館藏圖書。 書目查詢和預借的業(yè)務流程如圖3
52、-6所示。圖3-6 書目查詢和預借業(yè)務流程圖 書目查詢的流程是這樣的,首先在系統(tǒng)主頁點擊書目查詢進入查詢系統(tǒng)的頁面,然后再在簡單查詢、組合查詢和分類查詢之中選擇一個查詢方式,根據(jù)自己的要求選擇檢索條件和錄入檢索信息。在完成檢索條件錄入之后,點擊開始檢索,系統(tǒng)會在數(shù)據(jù)庫里查找符合檢索條件的信息并把它們展示在檢索列表內(nèi),檢索列表的信息包括圖書名和借閱情況等。如果圖書全部被借出,用戶可以把圖書加入預借書單內(nèi)(這里需要用戶具有登錄權(quán)限)。用戶在列表中選擇一個圖書,點擊圖書名就可以進入圖書詳細信息頁面,詳細信息頁面列出了圖書的條形碼和館藏地址等信息,讀者可以把圖書加入收藏夾方便以后借閱(這里需要用戶具有
53、登錄權(quán)限),還可以對該圖書進行評價,評價也需要用戶具有登錄權(quán)限。 3.2.2 讀者管理模塊 讀者管理模塊是面向借閱人員的,必須通過登錄才能操作其中的功能。讀者管理模塊的主要功能包括個人信息維護、借書歷史查詢、預約借書單和借書證掛失等。個人信息維護是為了保證借閱人員的信息正確性,因為借閱人員的個人信息是從教務系統(tǒng)獲取的,為了保證不出現(xiàn)錯誤,需要借閱人員登錄后首先確認個人信息,如果有誤或者缺失要補全。借閱人員的登錄賬號和密碼默認為借書證號碼,借閱人員可以自己修改登錄密碼。借閱人員借閱過的圖書都會在系統(tǒng)內(nèi)記錄,每個借閱人員可以查看自己的借書歷史,借書歷史包括借書和還書的書名、登錄號、條形碼和時間等信
54、息。如果借閱人員推薦過新書,還可以通過借閱歷史查詢看到推薦歷史。預約借書單是指借閱人員在查詢圖書時把沒有館藏在架的圖書加入預借借書單里,每個預借借書單都有有效期,如果借閱人員沒有在制定時間內(nèi)借走圖書,預約借書記錄會自動失效。借書證掛失是指借閱人員需要掛失時,輸入個人姓名就可以掛失借書證,掛失期間的借書證將不能借書和預借書。讀者管理的業(yè)務流程圖如圖3-7所示。圖3-7 讀者管理業(yè)務流程圖3.2.3 新書管理模塊 新書征訂是指圖書館工作人員根據(jù)借閱人員的推薦意見草擬購書計劃的相關功能。本模塊的功能包括新書推薦、新書征訂、新書通報等。其中新書推薦是由具有登錄權(quán)限的借閱人員才能操作的,用戶可以填寫推薦
55、圖書的基本信息、推薦理由和推薦購買數(shù)量,圖書館可以根據(jù)這些推薦信息來進行館藏補充。新書征訂是把所有的推薦圖書信息列出來,供借閱人員補充推薦信息和圖書館工作人員查看的功能,新書征訂提供征訂查詢功能,并在結(jié)果里把所有的推薦信息、推薦人和推薦時間列出來,借閱人員可以根據(jù)圖書條目補充推薦信息,圖書館工作人員可以根據(jù)推薦信息制定采購計劃。新書通報是提供近期加入館藏的圖書查詢功能,查詢條件包括圖書類型、圖書館和上架時間等,方便讀者選擇最新的圖書進行借閱。新書管理模塊的業(yè)務流程圖如圖3-8所示。 圖3-8 新書管理業(yè)務流程3.2.4 信息發(fā)布模塊 信息發(fā)布模塊的主要功能包括最新資訊、讀者服務、入館指南和資源
56、數(shù)據(jù)庫鏈接等。這些信息類功能都是圖書館為了方便讀者和工作人員發(fā)布的實用信息,信息由專人負責定期更新。信息發(fā)布模塊的信息類別和具體內(nèi)容如表3-1所示。 表3-1 信息發(fā)布類別最新資訊讀者服務入館指南資源數(shù)據(jù)庫鏈接圖書館概況讀者須知規(guī)章制度數(shù)據(jù)庫圖書館通訊信息咨詢館藏分布電子圖書古籍典藏常用網(wǎng)站查收查引文獻傳遞聯(lián)系我們開館時間入館須知機構(gòu)設置試用資源3.2.5 圖書借還模塊用戶應用此模塊可以辦理圖書借閱、還書等業(yè)務。其中各個子模塊的主要內(nèi)容如下表所示:表3-2 圖書借閱描述表3-3 圖書續(xù)借描述表3-4 圖書歸還描述3.2.6 個性化推薦模塊要理解該模塊的工作原理,我們先介紹它的計算模型,計算模型
57、如圖3-9所示:圖3-9 個性化信息計算模型用戶的個性化信息如興趣愛好,閱讀偏好等是一個比較模糊的概念,為了做個性化推薦,必須將用戶的個性化信息通過標簽的方式來描述,每個標簽在描述個性化的時候都有一個權(quán)重,表示其影響力的大小。通過一個用戶在其描述標簽的各個維度上的投影,一本書籍使用該方法投影到被推薦用戶的標簽維度上,通過權(quán)重值的加權(quán)計算,可以計算出這本書對于特定用戶的推薦值,推薦值越高表示用戶可能更加會接收這本書籍。對待推薦書籍根據(jù)推薦值進行排序,就可以得到一個有序序列,這個序列就是系統(tǒng)推薦的結(jié)果候選集。書籍推薦模塊的活動圖如圖3-10所示:圖3-10 圖書推薦活動圖3.3 系統(tǒng)非功能需求 系
58、統(tǒng)除了功能需求之外,還需要對系統(tǒng)的服務水平、承載力和非運行狀態(tài)進行描述,這些都屬于非功能需求的范疇。非功能需求雖然不能對系統(tǒng)的功能作出約束,但其內(nèi)容都是直接影響用戶體驗和系統(tǒng)性能的,是非常重要的系統(tǒng)需求指標。 (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),面向全體教職員工和在校學生,用戶界面的設計要充分考慮用戶的接受能力,界面要美觀大方、操作簡單、有較
59、多指引性的說明文字等。系統(tǒng)操作應具備一定的靈活性,不同角色權(quán)限用戶的操作體驗要統(tǒng)一,關鍵操作要有提示,避免由于誤操作造成錯誤。 (3)可靠性需求 系統(tǒng)應能24小時運行,在出現(xiàn)錯誤需要重啟或恢復的時間不應超過10分鐘。系統(tǒng)部署配置要采用雙機熱備的方式,可在緊急時刻進行服務器轉(zhuǎn)換。在進行系統(tǒng)備份和維護時,系統(tǒng)的數(shù)據(jù)要能夠即時恢復且不會丟失。 (4)安全性需求 系統(tǒng)為了避免受到外來病毒或侵入代碼的攻擊,需要從軟硬件兩方面進行部署,硬件方面需要布置防火墻,軟件方面則是需要從系統(tǒng)權(quán)限設定、密碼加密和驗證碼等方面進行設計。 (5)可拓展性需求 系統(tǒng)要有較高的可拓展性,可根據(jù)實際需要任意拓展或兼容其他功能,
60、要采用組件式的方式來設計系統(tǒng)。數(shù)據(jù)結(jié)構(gòu)也要和校園網(wǎng)內(nèi)的其他系統(tǒng)如學生管理系統(tǒng)同步,這樣可以在不影響用戶體驗的情況下任意修改系統(tǒng)功能機構(gòu)和實現(xiàn)數(shù)據(jù)共享。 3.4 本章小結(jié) 在本章中,對圖書館系統(tǒng)的多種業(yè)務需求、功能與非功能需求等展開了全面合理化分析。為后續(xù)的設計與實現(xiàn)工作提供了功能要求和非功能要求,也可以作為系統(tǒng)實現(xiàn)時模塊劃分和測試用例選擇的依據(jù)。 4 系統(tǒng)設計 4.1 系統(tǒng)總體設計 4.1.1 系統(tǒng)軟件架構(gòu) 本系統(tǒng)基于J2EE架構(gòu)開發(fā),軟件系統(tǒng)首先要根據(jù)J2EE的四個層次分層和模塊化進行開發(fā),這就可以保證系統(tǒng)實現(xiàn)期間系統(tǒng)的開發(fā)是按照技術標準和需求分析的要求進行的。本系統(tǒng)的軟件架構(gòu)分為四個層次,
61、分別是表現(xiàn)層、Web層、業(yè)務層和數(shù)據(jù)層。其中表現(xiàn)層主要是指瀏覽器端的顯示內(nèi)容,需要使用HTML網(wǎng)頁語言來顯示,JavaScript腳本語言來控制頁面元素。Web層主要是在表現(xiàn)層的基礎上接受請求和響應應答用的,這里使用了Java平臺的網(wǎng)頁實現(xiàn)技術JSP和Struts框架。業(yè)務層是實現(xiàn)系統(tǒng)業(yè)務功能的層,每個功能都對應業(yè)務層的一些模塊和功能類,這里用Spring技術來控制這些功能類。數(shù)據(jù)層主要是處理業(yè)務層封裝的數(shù)據(jù)請求的,數(shù)據(jù)連接和響應的操作使用IBatis來完成,數(shù)據(jù)存儲使用Oracle數(shù)據(jù)庫。圖書館管理系統(tǒng)的軟件架構(gòu)如圖4-1所示。圖4-1 系統(tǒng)軟件架構(gòu)4.1.2 系統(tǒng)拓撲結(jié)構(gòu) 系統(tǒng)的拓撲結(jié)構(gòu)內(nèi)
62、包括數(shù)據(jù)庫服務器、web服務器、網(wǎng)絡設備和客戶端瀏覽器等,此外為了保證系統(tǒng)的數(shù)據(jù)正確性和安全性,系統(tǒng)還要部署在校園網(wǎng)內(nèi),并要在校園網(wǎng)和外網(wǎng)之間部署防火墻和防攻擊軟件。在校園網(wǎng)內(nèi)的用戶可以登錄系統(tǒng)進行操作,在外網(wǎng)的用戶只能操作普通用戶功能。所有的客戶端訪問都是通過瀏覽器進行的,沒有在客戶端部署任何業(yè)務邏輯軟硬件設備。圖書館管理系統(tǒng)的拓撲圖如圖4-2所示。 圖4-2 系統(tǒng)拓撲結(jié)構(gòu)圖4.2 模塊數(shù)據(jù)流設計 基于J2EE的圖書館管理系統(tǒng)的頂層數(shù)據(jù)流圖如圖4-3所示。 圖4-3 頂層數(shù)據(jù)流圖4.2.1 書目查詢模塊 書目查詢模塊的功能主要包括圖書查詢、圖書詳細信息、圖書評價功能等。圖書查詢就是利用一些檢
63、索條件來查詢書目的基本信息,根據(jù)檢索條件的不同又分為簡單、分類查詢等。在進行簡單查詢的過程中,主要涉及到主題內(nèi)容、文獻分類、查詢類型、查詢方式、排序方式、語言種類、顯示列表方式、所屬圖書館等。組合查詢的條件包括題目、索書號、責任者、標準編碼、主題詞、題名縮寫、作者、出版社等,這些條件可以多個并存。圖書詳細信息是指在搜索到指定的圖書后,查看該書的各種詳細信息和借閱信息,包括圖書編號、作者條形碼、館藏地址、館藏書目、是否在架等。圖書評價是在查看詳細信息后為圖書填寫評價和評分的功能,評價的內(nèi)容可以作為檢索條件和個人記錄存儲起來。書目查詢模塊的數(shù)據(jù)流圖如圖4-4所示。 圖4-4 書目查詢模塊數(shù)據(jù)流圖4.2.2 讀者管理模塊 讀者管理模塊是面向借閱人員的,必須通過登錄才能操作其中的功能。讀者管理模塊的主要功能包括個人信息維護、借書歷史查詢、預約借書單和借書證掛失等。個人信息維護是指借閱人員可以在登錄后查看和修改自己的個人信息和登錄密碼,因為為了便于管理,所有借閱人員的信息都是來自教務系統(tǒng)。借書歷史查詢是指借閱人員可以看自己在圖書館借書和還書的記錄,記錄信息包括圖書名、借閱/歸還時間、借閱條形碼等。預約借書單是指借閱人員在圖書查詢過程中可以把要預約借閱的圖書加入圖書單中,預約借書的記錄會在系統(tǒng)中顯示,被預借或借出的圖書其他借閱人員將不能再預借。借書證
- 溫馨提示:
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。