【文章內(nèi)容簡(jiǎn)介】
定義和操縱數(shù)據(jù),維護(hù)數(shù)據(jù)的安全性和完整性,以及進(jìn)行多用戶(hù)下的并發(fā)控制和恢復(fù)數(shù)據(jù)庫(kù)。 數(shù)據(jù)庫(kù)系統(tǒng)本質(zhì)上是一個(gè)用計(jì)算機(jī)存儲(chǔ)記錄的系統(tǒng)。數(shù)據(jù)庫(kù)本身可被看作是一種電子文件柜,也就是說(shuō),它是收集計(jì)算機(jī)數(shù)據(jù)文件的倉(cāng)庫(kù)或容器。系統(tǒng)用戶(hù)可以對(duì)這些文件執(zhí)行插入數(shù)據(jù)、檢索數(shù)據(jù)、更改數(shù)據(jù)、刪除數(shù)據(jù)等操作。 Oracle 數(shù)據(jù)庫(kù)的選擇 Oracle Database,又名 Oracle RDBMS,或簡(jiǎn)稱(chēng) Oracle。是甲骨文公司的一款關(guān)系數(shù)據(jù)庫(kù)管理 7 系統(tǒng) 。 Oracle 數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)包括物理存儲(chǔ)結(jié)構(gòu)和邏輯存儲(chǔ)結(jié)構(gòu)。由于它們是相分離的,所以在管理數(shù)據(jù)的物理存儲(chǔ)結(jié)構(gòu)時(shí)并不會(huì)影響對(duì)邏輯存儲(chǔ)結(jié)構(gòu)的存取。 Oracle Server 是一個(gè)對(duì)象一關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。它提供開(kāi)放的、全面的、和集成的信息管理方法。每個(gè) Server由一個(gè) Oracle DB 和一個(gè) Oracle Server 實(shí)例組成。它具有場(chǎng)地自治性( Site Autonomy)和提供數(shù)據(jù)存儲(chǔ)透明機(jī)制,以此可實(shí)現(xiàn)數(shù)據(jù)存儲(chǔ)透明性。每個(gè) Oracle 數(shù)據(jù)庫(kù)對(duì)應(yīng)唯一的一個(gè)實(shí)例名 SID, Oracle 數(shù)據(jù)庫(kù)服務(wù)器啟動(dòng)后,一般至少有以下幾個(gè)用戶(hù): Internal,它不是一個(gè)真實(shí)的用戶(hù)名,而是具有 SYSDBA 優(yōu)先級(jí)的 Sys 用戶(hù)的別名,它由 DBA 用戶(hù)使用來(lái)完成數(shù)據(jù)庫(kù)的管理任務(wù),包括啟動(dòng)和關(guān)閉數(shù)據(jù)庫(kù); Sys,它是一個(gè) DBA 用戶(hù)名,具有最大的數(shù)據(jù)庫(kù)操作權(quán)限; System,它也是一個(gè) DBA 用戶(hù)名,權(quán)限僅次于 Sys 用戶(hù)。 Oracle 數(shù)據(jù)庫(kù)有如下優(yōu)點(diǎn): 1. 以來(lái)引入了共享 SQL 和多線(xiàn)索服務(wù)器體系結(jié)構(gòu)。這減少了 ORACLE的資源占用,并增強(qiáng)了 ORACLE 的能力,使之在低檔軟硬件平臺(tái)上用較少的資源就可以支持更多的用戶(hù),而在高檔平臺(tái)上可以支持成百上千個(gè)用戶(hù)。 2. 提供了基于角色 (ROLE)分工的安全保密管理。在數(shù)據(jù)庫(kù)管理功能、完整性檢查、安全性、一致性方面都有良好的表現(xiàn)。 3. 支持大量多媒體數(shù)據(jù),如二進(jìn)制圖形、聲音、動(dòng)畫(huà)以及多維數(shù)據(jù)結(jié)構(gòu)等。 4. 提供了與第三代高級(jí)語(yǔ)言的接口 軟件 PRO*系列,能在 C,C++等主語(yǔ)言中嵌入 SQL 語(yǔ)句及過(guò)程化 (PL/SQL)語(yǔ)句,對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操縱。加上它有許多優(yōu)秀的前臺(tái)開(kāi)發(fā)工具如 POWER BUILD、 SQL*FORMS、 VISIA BASIC 等,可以快速開(kāi)發(fā)生成基于客戶(hù)端 PC 平臺(tái)的應(yīng)用程序,并具有良好的移植性。 5. 提供了新的分布式數(shù)據(jù)庫(kù)能力??赏ㄟ^(guò)網(wǎng)絡(luò)較方便地讀寫(xiě)遠(yuǎn)端數(shù)據(jù)庫(kù)里的數(shù)據(jù),并有對(duì)稱(chēng)復(fù)制的技術(shù) 6. Oracle 具有良好的穩(wěn)定性,安全性,易用性,友好性等。 第二章 系統(tǒng)分析 問(wèn)題定義 問(wèn)題定義階段必須回 答的關(guān)鍵問(wèn)題是:“我們要解決的問(wèn)題是什么”。 如果不知道問(wèn)題是什么就試圖解決問(wèn)題, 這種做法 顯然是盲目的,只會(huì)白白浪費(fèi)時(shí)間和金錢(qián),最終得出的結(jié)果很可能是 8 毫無(wú)意義的。 對(duì)于軟件開(kāi)發(fā)者來(lái)說(shuō),只有自己正確地提出了問(wèn)題,然后才會(huì)很好去解決問(wèn)題?;?JSP 的圖書(shū)館管理系統(tǒng)針對(duì)的用戶(hù)是中小型圖書(shū)室,如學(xué)校圖書(shū)館。如何讓用戶(hù)能更高效地,快捷地,方便地管理自己的圖書(shū),就是我們軟件開(kāi)發(fā)人員需要考慮的首要因素,那么如何讓數(shù)據(jù)庫(kù)的設(shè)計(jì)更優(yōu)化,如何讓界面的設(shè)計(jì)更友好,如何讓用戶(hù)檢索信息更迅速,如何運(yùn)用各種技術(shù)讓系統(tǒng)更智能,就成了軟件開(kāi) 發(fā)人員需要考慮的關(guān)鍵問(wèn)題。 可行性分析 可行性分析是在對(duì)當(dāng)前系統(tǒng)有了初步了解的基礎(chǔ)上完成的,主要從技術(shù)特點(diǎn)、經(jīng)濟(jì)條件和社會(huì)效益三個(gè)方面分析討論開(kāi)發(fā)系統(tǒng)的可行性。開(kāi)發(fā)一個(gè)軟件,技術(shù)的運(yùn)用直接關(guān)系到軟件的質(zhì)量。本設(shè)計(jì)中,我運(yùn)用的技術(shù)都是當(dāng)前主流的技術(shù),是經(jīng)過(guò)了無(wú)數(shù)開(kāi)發(fā)人員認(rèn)可和稱(chēng)贊的技術(shù),如jsp,hibernate,struts2,javascript,ajax等,這些技術(shù)是軟件開(kāi)發(fā)過(guò)程中經(jīng)常用到和必需用到的。而對(duì)于這個(gè)網(wǎng)絡(luò)信息時(shí)代來(lái)說(shuō),基于 JSP 的圖書(shū)館管理系統(tǒng),可以為用戶(hù)節(jié)省大量的人力資 源和物力資源,用戶(hù)再也不需要租下一個(gè)廣闊的空間用來(lái)存儲(chǔ)各種圖書(shū),再也不需要聘用大批的人員來(lái)管理,搬運(yùn)圖書(shū)了。用戶(hù)只需要提供幾臺(tái)電腦,聘用幾個(gè)管理人員就可以滿(mǎn)足要求。最后,系統(tǒng)能否按照既定的設(shè)計(jì)方案順利運(yùn)轉(zhuǎn)起來(lái),社會(huì)可行性是人員、體制、社會(huì)環(huán)境所形成的限制條件進(jìn)行研究,了解他們可能對(duì)目標(biāo)系統(tǒng)建立所造成的影響,從技術(shù)的特點(diǎn)和功能需求來(lái)看,基于 JSP 的圖書(shū)館管理系統(tǒng)是能夠按照既定的方案完成并得到大眾支持的。所以,開(kāi)發(fā)一個(gè)基于 JSP 的圖書(shū)館管理系統(tǒng),為用戶(hù)節(jié)省了大量的開(kāi)支,架起了用戶(hù)和讀者間真誠(chéng)的溝通橋梁,是適應(yīng)信 息時(shí)代所需要的,也是可行的。 需求分析 所謂 需求分析 ,是指對(duì)要解決的問(wèn)題進(jìn)行詳細(xì)的分析,弄清楚 用戶(hù) 的 需求。由于需求分析階段是其后的總體設(shè)計(jì)、詳細(xì)設(shè)計(jì)的基礎(chǔ) , 也是系統(tǒng)模型的最初形成階段 , 可以說(shuō) , 它決定了整個(gè)系統(tǒng)設(shè)計(jì)的走向。在軟件生存周期中,其他四個(gè)階段都是面向技術(shù)的,只有這個(gè)階段是面向用戶(hù)的。需求分析就是對(duì)用戶(hù)的業(yè)務(wù)活動(dòng)進(jìn)行分析,明確在用戶(hù)的業(yè)務(wù)環(huán)境中軟件系統(tǒng)應(yīng)具備哪些功能,應(yīng)實(shí)現(xiàn)哪些細(xì)節(jié),應(yīng)避免哪些疏漏。所以,為了不讓軟件開(kāi)發(fā)者無(wú)功而返,做好需求分析是必不可少的。 功能分 析 圖書(shū)館管理系統(tǒng)需要滿(mǎn)足兩方面的要求,一個(gè)是圖書(shū)館管理員,一個(gè)是圖書(shū)借閱者。圖書(shū)管理人員對(duì)圖書(shū)借閱者的借書(shū)、還書(shū)要求進(jìn)行操作,查看借還書(shū)記錄,同時(shí)還負(fù)責(zé)對(duì)系統(tǒng)狀態(tài)進(jìn)行 9 維護(hù),對(duì)系統(tǒng)資源進(jìn)行統(tǒng)計(jì)等。圖書(shū)借閱者的需求是查詢(xún)圖書(shū)館所有的圖書(shū),維護(hù)個(gè)人信息以及查詢(xún)借閱記錄。 如果圖書(shū)借閱者根據(jù)本人借書(shū)證號(hào)和密碼登陸系統(tǒng),就可查看圖書(shū)館圖書(shū)情況,還可以進(jìn)行本人借書(shū)情況的查詢(xún)和維護(hù)部分個(gè)人信息。這樣每個(gè)借閱者都只能查看自己的個(gè)人信息,不但滿(mǎn)足了圖書(shū)借閱者的要求,還保護(hù)了圖書(shū)借閱者的個(gè)人隱私。 圖書(shū)管理人員有修 改和查看借閱記錄的權(quán)限,能夠?qū)︷^內(nèi)的圖書(shū)信息、借閱者信息、總體借閱信息進(jìn)行查詢(xún)統(tǒng)計(jì)和修改更新。具體地講,圖書(shū)管理人員可以瀏覽、查詢(xún)、添加、刪除、修改、統(tǒng)計(jì)圖書(shū)的基本信息,也能夠?qū)D書(shū)借閱者的基本信息進(jìn)行瀏覽、查詢(xún)、統(tǒng)計(jì),還可以增加新的管理人員,可以刪除不稱(chēng)職的管理人員,可以修改自己的密碼等。 模塊分析 本圖書(shū)館管理系統(tǒng)主要分為前臺(tái)模塊和后臺(tái)模塊,前臺(tái)模塊主要針對(duì)讀者,有圖書(shū)查詢(xún),個(gè)人信息維護(hù),圖書(shū)借閱,退出系統(tǒng)等功能;而后臺(tái)是針對(duì)管理員的,包含有書(shū)刊管理,讀者管理,借閱管理,查詢(xún)統(tǒng)計(jì),用戶(hù)服務(wù), 退出系統(tǒng)等模塊。每個(gè)模塊又分為不同的子模塊,既相互獨(dú)立,又具有一定的聯(lián)系。 圖書(shū)查詢(xún)模塊可以讓讀者從不同的角度去查詢(xún)各種圖書(shū),以便于及時(shí)掌握館內(nèi)的藏書(shū)情況。 個(gè)人信息維護(hù)就是讀者對(duì)自己的個(gè)人信息進(jìn)行查詢(xún),修改,刪除等功能,以便于動(dòng)態(tài)地與管理員交流信息。 圖書(shū)管理模塊主要實(shí)現(xiàn)圖書(shū)資料的分類(lèi)瀏覽,添加,修改,刪除和查詢(xún)功能。讀者可以從不同的角度查詢(xún)圖書(shū)的詳細(xì)資料,包括圖書(shū)的名稱(chēng), ISBN,類(lèi)別,版次,作者,出版社,出版日期等。讀者單擊“借書(shū)”和“還書(shū)”可以實(shí)現(xiàn)圖書(shū)的借閱。 讀者管理模塊主要實(shí)現(xiàn)讀者信息的 瀏覽,添加,修改,刪除和查詢(xún)功能。管理人員可以查看讀者的詳細(xì)資料,包括讀者的圖書(shū)證號(hào)碼,姓名,性別,電話(huà), Emai,家庭住址等,還可以限制讀者對(duì)圖書(shū)的借閱數(shù)目,如果讀者有相應(yīng)的逾期記錄,那么在該讀者歸還該圖書(shū)之前不能再借閱其他圖書(shū)。 圖書(shū)借閱模塊主要實(shí)現(xiàn)讀者對(duì)圖書(shū)的借書(shū),還書(shū),查看借閱記錄和逾期記錄等功能。讀者通過(guò)借書(shū)記錄可以查看詳細(xì)的借閱資料,借閱時(shí)間,還可以對(duì)已借閱的圖書(shū)進(jìn)行歸還。如果讀者有逾期未還的圖書(shū)記錄,那么讀者必須繳納違償金后才能繼續(xù)借閱。 10 查詢(xún)統(tǒng)計(jì)模塊主要是實(shí)現(xiàn)圖書(shū)館內(nèi)所有的資料查詢(xún),是管理員 所特有的權(quán)限,是對(duì)館內(nèi)所有資源的查詢(xún)和統(tǒng)計(jì),包括館內(nèi)所有的圖書(shū)信息,讀者信息,管理員信息等。 用戶(hù)服務(wù)模塊主要是針對(duì)讀者的,通過(guò)該模塊,讀者可以了解圖書(shū)館的規(guī)章制度,新聞動(dòng)態(tài),以及開(kāi)館時(shí)間等。 退出系統(tǒng)模塊就是讓管理人員和讀者及時(shí)退出系統(tǒng),以免泄露相關(guān)資料,承擔(dān)不必要的責(zé)任。 概要設(shè)計(jì) 系統(tǒng)流程圖 系統(tǒng)的基本流程圖分別如下,從這些圖中可以了解系統(tǒng)是怎樣工作的: 圖 書(shū) 館 管 理 員輸 入 用 戶(hù)名密 碼登 陸 信 息 驗(yàn) 證進(jìn) 入 系 統(tǒng)F A L S ET R U E進(jìn) 行 各 種 管 理結(jié) 束 圖 21 管理員登陸系統(tǒng)流程圖 11 圖 書(shū) 借 閱 者輸 入 圖 書(shū)證 號(hào) 和密 碼登 陸 信 息 驗(yàn) 證進(jìn) 入 系 統(tǒng)F A L S ET R U E進(jìn) 行 各 種 查 詢(xún)結(jié) 束 圖 22 圖書(shū)借閱者登陸系統(tǒng)流程圖 系統(tǒng)功能模塊總設(shè)計(jì)圖 圖 書(shū) 館 管 理 系 統(tǒng)管 理 員 登 陸 模 塊退出系統(tǒng)用戶(hù)服務(wù)查詢(xún)統(tǒng)計(jì)讀者管理書(shū)刊管理系統(tǒng)維護(hù)讀 者 登 陸 模 塊圖書(shū)查詢(xún)個(gè)人信息維護(hù)圖書(shū)借閱退出系統(tǒng) 圖 23 系統(tǒng)功能模塊總圖 12 數(shù)據(jù)庫(kù)總體 ER圖 圖書(shū)書(shū)名ISBN圖書(shū)編號(hào) 出版社價(jià)格作者數(shù)量版 次借 還書(shū)記錄借書(shū)時(shí)間還書(shū)時(shí)間記錄編號(hào)記錄狀態(tài)讀者讀者編號(hào)讀者姓名讀者性別手機(jī)號(hào)碼Eail管理員管理員編號(hào)名字密碼圖書(shū)種類(lèi)編號(hào)名字類(lèi)型父類(lèi)具有1m管理n1管理1m借閱1m歸還n1 圖 2- 4 數(shù)據(jù)庫(kù)總體 ER 圖 第三章 詳細(xì)設(shè)計(jì) 數(shù)據(jù)庫(kù)設(shè)計(jì) 根據(jù)前面需求分析和功能 分析,數(shù)據(jù)庫(kù)中有管理員表,讀者信息表,圖書(shū)信息表,圖書(shū)分類(lèi)表,出版社信息表,借還信息記錄表,圖書(shū)分類(lèi)關(guān)聯(lián)表。表中的字段都是根據(jù)需要設(shè)定的,符合規(guī)范化原則。 數(shù)據(jù)庫(kù)總體類(lèi)圖 類(lèi)的概念是面向?qū)ο筌浖_(kāi)發(fā)的關(guān)鍵。通過(guò)使用類(lèi)圖,可以清晰明確地展現(xiàn)出系統(tǒng)內(nèi)部各靜態(tài)模塊的性質(zhì)、功能以及它們之間的關(guān)系。 13 + g e t N a m e ( ) : S t r i n g+ s e t N a m e ( ) : v o i d+ g e t P a s s w o r d ( ) : S t r i n g+ s e t P a s s w o r d ( ) : v o i d+ g e t M n a n a g e r _ i d ( ) : I n t e g e r+ s e t M a n a g e r _ i d ( ) : v o i d m a n a g e r _ i d : I n t e g e r n a m e : S t r i n g p a s s w o r d : S t r i n gM a n a g e r+ f i n d B y N a m e ( S t r i n g n a m e ) ( ) : M a n a g e r+ v a l i d a t e ( M a n a g e r m a n a g e r ) ( ) : B o o l e a n+ f i n d A l l M a n a g e r ( i n t p a g e ) ( ) : L i s t+ g e t T o t a l P a g e ( ) : i n t 接 口 M a n a g e r S e r v i c e+ g e t ( ) : O b j e c t+ s e t ( ) : v o i d b o o k _ i d : I n t e g e r I S B N _ I S S N : S t r i n g n a m e : S t r i n g p u b l i s h _ t i m e : S t r i n g p u b l i s h _ p r i n t e d : i n t s t o r e _ t y p e : S t r i n g p r i c e : d o u b l e r e m a r k s : S t r i n g p a g e : i n t p i c t u r e _ u r l : S t r i n g n u m : i n t l e n d o u t _ n u m : i n t a u t h o r : S t r