版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 課程名稱:軟件工程課程設(shè)計</p><p> 試題題目:圖書館管理系統(tǒng)</p><p><b> 目錄</b></p><p> 一.開發(fā)背景與目標......................................-1-</p><p> 1.1開發(fā)背景……………………………………
2、……………………1-</p><p> 1.2開發(fā)目標…………………………………………………………-2-</p><p> 二.需求分析說明書....................................-2-</p><p> 2.1圖書館管理系統(tǒng)介紹...............................-3-</p><
3、;p> 2.2圖書館管理系統(tǒng)面向的對象群體.....................-3-</p><p> 2.3圖書館管理系統(tǒng)的功能性需求.......................-3-</p><p> 2.4圖書館管理系統(tǒng)的非功能性需求.....................-4-</p><p> 2.5用戶界面需求..........
4、..........................-4-</p><p> 2.6軟硬件環(huán)境需求..................................-4-</p><p> 三.可行分析報告......................................-5-</p><p> 3.1技術(shù)方面可行性分析..............
5、.................-5-</p><p> 3.2經(jīng)濟方面可行性分析...............................-5-</p><p> 3.3社會因素方面可行性分析...........................-6-</p><p> 3.4運行可行性分析...............................
6、....-6-</p><p> 3.5開發(fā)方案可行性分析.................................-6-</p><p> 3.6可行性結(jié)論........................................-7-</p><p> 四.開發(fā)環(huán)境與項目規(guī)劃..................................
7、-7-</p><p> 4.1開發(fā)環(huán)境...........................................-7-</p><p> 4.2項目規(guī)劃與管理.....................................-7-</p><p> 4.2.1開發(fā)人員安排..................................
8、.-7-</p><p> 4.2.2開發(fā)進度安排...................................-8-</p><p> 五.結(jié)構(gòu)化分析與設(shè)計...................................-10-</p><p> 5.1數(shù)據(jù)流條目與數(shù)據(jù)字典................................-10-
9、</p><p> 5.2模塊結(jié)構(gòu)............................................-12-</p><p> 5.3數(shù)據(jù)流程圖..........................................-13-</p><p> 六.面向?qū)ο蠓治鲈O(shè)計................................
10、...-18-</p><p> 6.1系統(tǒng)的UML建模設(shè)計.................................-18-</p><p> 6.1.1UML簡介........................................-18-</p><p> 6.2該圖書館管理系統(tǒng)的用例分析........................
11、.-19-</p><p> 6.3、系統(tǒng)的順序圖.....................................-20-</p><p> 6.4、系統(tǒng)的狀態(tài)圖....................................................................-23-</p><p> 6.5、系統(tǒng)的活動圖...
12、.................................................................-24-</p><p> 6.6、圖書館管理系統(tǒng)的類圖...................................................-26-</p><p> 七.數(shù)據(jù)庫分析與設(shè)計..........................
13、........-29-</p><p> 7.1數(shù)據(jù)庫環(huán)境說明...................................-29-</p><p> 7.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計...............................-29-</p><p> 7.2.1 任務(wù)與目標................................
14、..-29-</p><p> 7.2.2 各階段的結(jié)果................................-29-</p><p> 7.2.3各E-R圖中實體的屬性和聯(lián)系的屬性...........-31-</p><p> 7.3數(shù)據(jù)庫邏輯設(shè)計...................................-32-</p>
15、<p> 7.3.1邏輯設(shè)計的任務(wù)和目標.........................-32-</p><p> 7.3.2邏輯設(shè)計步驟與設(shè)計原則......................-33-</p><p> 7.4數(shù)據(jù)庫物理設(shè)計....................................-35-</p><p> 7.4
16、.1物理設(shè)計階段的目標與任務(wù)....................-35-</p><p> 7.4.2數(shù)據(jù)庫物理設(shè)計步驟.........................-35-</p><p> 八。人機界面設(shè)計....................................-37-</p><p> 8.1界面設(shè)計意義及任務(wù)..........
17、....................-37-</p><p> 8.2主界面設(shè)計......................................-37-</p><p> 九、項目系統(tǒng)實現(xiàn)....................................-39-</p><p> 9.1 實現(xiàn)環(huán)境與技術(shù)..................
18、...............-39-</p><p> 9.2 核心模塊實現(xiàn)技術(shù)代碼...........................-39-</p><p> 十。軟件測試分析報告.................................-54-</p><p> 10.1測試目的和原則............................
19、............................................54-</p><p> 10.2測試方法..................................................................................-54-</p><p> 10.2.1白盒測試.....................
20、..........................................................-54-</p><p> 10.2.2黑盒測試................................................................................-55-</p><p> 10.3測試步驟..........
21、...............................-55-</p><p> 10.4該軟件系統(tǒng)優(yōu)缺點及相關(guān)建議.......................-55-</p><p> 10.5該軟件測試的評價結(jié)果............................................................-56-</p><p
22、> 十一.軟件使用說明書...................................56-</p><p> 11.1軟件概述.........................................-56-</p><p> 11.2使用說明.........................................-57-</p>&l
23、t;p> 11.2.1系統(tǒng)登陸....................................-57-</p><p> . 11.2.2注冊.......................................-57-</p><p> 11.2.3 系統(tǒng)簡介....................................-57-</p>
24、;<p> 十二、課程系統(tǒng)開發(fā)評價................................-58-</p><p> 12.1.功能方面........................................-58-</p><p> 12.2.性能方面........................................-58-</p&
25、gt;<p> 12.3.課程知識運用方面................................-59-</p><p> 參考文獻..............................................-59-</p><p><b> 一·開發(fā)背景與目標</b></p><p>&
26、lt;b> 1.1 項目背景</b></p><p> 由于學校的不斷發(fā)展,學生不斷增多,學校圖書館的圖書品種、數(shù)量也在不斷的增多。以前的人工管理方式暴露出了很多問題。例如,學生想要借一本書,圖書管理人員還要花大量時間在茫茫書海中苦苦尋覓。浪費了大量寶貴的時間。學校為了提高工作效率,圖書管理包括的圖書和用戶借閱資料繁多,包含很多的信息數(shù)據(jù)的管理,現(xiàn)今,有很多的圖書管理系統(tǒng)都是初步開始使用,
27、甚至尚未使用計算機進行信息管理。以前對信息管理的主要方式是基于文本、表格等紙介質(zhì)的手工處理,對于圖書借閱情況(如借書天數(shù)、超過限定借書時間的天數(shù))的統(tǒng)計和核實等往往采用對借書卡的人工檢查進行,對借閱者的借閱權(quán)限、以及借閱天數(shù)等用人工計算、手抄進行。數(shù)據(jù)信息處理工作量大,容易出錯;由于數(shù)據(jù)繁多,容易丟失,且不易查找??偟膩碚f,缺乏系統(tǒng),規(guī)范的信息管理手段。</p><p> 盡管有的圖書館有計算機,但是尚未用于信
28、息管理,沒有發(fā)揮它的效力,資源閑置比較突出,這就是圖書管理系統(tǒng)開發(fā)所要解決的問題?;谶@此問題,有必要建立一個圖書管理系統(tǒng),使圖書管理工作規(guī)范化,系統(tǒng)化,程序化,避免圖書管理的隨意性,提高信息處理的速度和準確性,能夠及時、準確、有效的進行查詢和修改圖書情況等圖書管理操作。</p><p> 同時擺脫圖書管理人員在工作中出現(xiàn)的很多問題,現(xiàn)學校需要開發(fā)一個高校圖書館管理系統(tǒng)。</p><p>
29、; 1.2 項目目標及范圍</p><p> 學校圖書借閱管理系統(tǒng)主要的目的是實現(xiàn)圖書館的信息化管理。圖書館的主要業(yè)務(wù)就是圖書的借閱和歸還,因此系統(tǒng)最核心的功能便是實現(xiàn)圖書的借閱和歸還。此外,還需要提供圖書的信息查詢、讀者圖書借閱情況的查詢功能。項目實施后,能夠提高圖書館的圖書借閱、歸還流程,提高工作效率。整個項目需要在兩個月的時間內(nèi)交付用戶使用。</p><p> 時間就是金錢,
30、效率就是生命。項目實施后,圖書館的每個業(yè)務(wù)流程所用時間縮短了2/3,所用人員減少了1/2,原來兩個人3分鐘可以完成的工作,現(xiàn)在只需1個人1分鐘就可以完成。極大的提高了效率,間接為學校節(jié)約了大量成本。所以要求系統(tǒng)具有良好的可操作性,數(shù)據(jù)穩(wěn)定性以及安全性,可以長期使用。</p><p><b> 二、需求規(guī)格說明書</b></p><p> 2.1、該圖書館管理系統(tǒng)的
31、介紹</p><p> 該圖書館管理系統(tǒng)本旨在為學校的圖書館管理人員提供一個可以方便管理庫存圖書的系統(tǒng)??梢詫齑鎴D書進行錄入、借還、查詢、修改功能。減少操作時間,提高工作效率。 該圖書館管理系統(tǒng)適用于一般規(guī)模的圖書館管理操作。</p><p> 2.2該圖書館管理系統(tǒng)面向的用戶群體</p><p> 用戶特點: 本系統(tǒng)的操作對象為高校的各位同學和教師還有圖
32、書管理人員。對用戶人員的計算機水平不需要很高的要求。該系統(tǒng)具有簡單易用的特點,用戶只需按照菜單功能行操作。</p><p> 2.3圖書館管理系統(tǒng)的功能性需求</p><p> 該系統(tǒng)有以下描述的功能</p><p> 錄入功能: 輸入相關(guān)數(shù)據(jù)</p><p> 瀏覽功能: 以列表方式列出所有記錄信息<
33、/p><p> 信息查詢功能: 根據(jù)書名匹配查詢,并將查詢結(jié)果列出</p><p> 借出歸還功能: 根據(jù)借出與歸還的書籍信息修改相應(yīng)數(shù)據(jù)</p><p> 插入與刪除功能: 插入一條新的圖書信息,刪除某圖書的信息</p><p> 信息的備份與讀入功能:將輸入文件進行備份和從指定文件讀入數(shù)據(jù)</p><p&g
34、t; 設(shè)置訪問權(quán)限功能:只有輸入正確密碼才可以進行操作</p><p> 2.4圖書館管理系統(tǒng)的性能需求錯誤!未定義書簽。</p><p><b> 系統(tǒng)性能需求分析</b></p><p> *界面設(shè)計友好,美觀。</p><p> *數(shù)據(jù)存儲安全,可靠。</p><p> *信息
35、分類清晰,準確。</p><p> *強大的查詢功能,保證數(shù)據(jù)查詢的靈活性。</p><p> *實現(xiàn)對圖書借閱、續(xù)借和歸還過程的全程數(shù)據(jù)信息跟蹤。</p><p> *提供圖書借閱排行榜,為圖書館管理員提供了真實的數(shù)據(jù)信息。</p><p> *提供借閱到期提醒功能,使圖書管理員可以及時了解到已經(jīng)到達歸還日期的圖書借閱信息。<
36、/p><p> *提供靈活、方便的權(quán)限設(shè)置功能,使整個系統(tǒng)的管理分工明確。</p><p> *具有易維護性和易操作性。</p><p> 2.5用戶界面需求</p><p> 界面設(shè)計友好,美觀。但是最重要的是要能夠讓用戶非常方便操作(如讀者可以方便的查閱,借閱書籍。圖書館管理員可以方便精準地記錄各圖書和讀者信息)。</p>
37、;<p> 2.6軟硬件環(huán)境需求</p><p> 1.用戶界面:在Windows XP界面運行</p><p> 2.硬件接口:普通PC機</p><p> 3.軟件接口:運行于裝有Windows XP的操作系統(tǒng)</p><p> 4.所需軟件:微軟的visio2010和word,VC++6.0</p>
38、<p><b> 三、可行性分析報告</b></p><p> 3.1技術(shù)方面的可行性 開發(fā)一個學校圖書借閱管理系統(tǒng),涉及到的技術(shù)問題不會太多,主要用到的用軟件visio做出該系統(tǒng)的框架。visio是專門用于軟件的開發(fā) 的,可以用于制作流程圖,時序圖 ,用例圖,協(xié)作圖,狀態(tài)圖,活動圖等,還可以用于設(shè)計人機界面。而且還用軟件V-F編寫代碼設(shè)計該圖書館管理系統(tǒng)的數(shù)據(jù)庫。&l
39、t;/p><p> 系統(tǒng)現(xiàn)階段的發(fā)展過程中,利用現(xiàn)有人力和物力是完全具備的能力開發(fā)出來的,作為階段性產(chǎn)品,日后的發(fā)展空間大,實現(xiàn)方法逐步簡單容易,所以圖書館管理系統(tǒng)的技術(shù)上是完全可行的。</p><p> a. 在當前的限制條件下,該系統(tǒng)的功能目標能達到;</p><p> b. 利用現(xiàn)有的技術(shù),該系統(tǒng)的功能能實現(xiàn);</p><p> c
40、. 對開發(fā)人員的數(shù)量和質(zhì)量的要求并說明這些要求因該能滿足;</p><p> d. 在規(guī)定的期限內(nèi),本系統(tǒng)的開發(fā)能完成</p><p> 3.2 經(jīng)濟可行性分析</p><p> 本系統(tǒng)開發(fā)成本低,不需要特殊要求。經(jīng)濟可行性即進行成本效益分析,評估項目的開發(fā)成本,估算開發(fā)成本是否會超過項目預期的全部利潤。開發(fā)學校圖書借閱管理系統(tǒng)提高了圖書管理人員的工作效率,節(jié)
41、約了學校的開支。因此,在經(jīng)濟上是可行的。</p><p> 3.3社會因素方的可行性</p><p> 法律方面: 軟件服務(wù)條款要與中華人民共和國的法律解釋相一致,一致同意服從高等法院所有管轄。如發(fā)生軟件服務(wù)條款與中華人民共和國法律相抵觸時,則這些條款將完全按法律規(guī)定重新解釋,而其它條款則依舊保持對用戶產(chǎn)生法律效力和影響。本系統(tǒng)的開發(fā)不會侵犯他人、集體或國家的利益,不違背當?shù)胤煞ㄒ?guī)
42、。本軟件系統(tǒng)不對非管理人員公開用戶的具體信息,要想查詢必須要有用戶名和密碼。</p><p> 3.4運行可行性分析</p><p> 本系統(tǒng)可以滿足圖書館管理的要求,而且對使用本軟件人員的計算機水平要求不高,只需了解軟件操作流程就可以使用本軟件,無需培訓。</p><p> 3.5開發(fā)方案可行性分析</p><p> 該系統(tǒng)投資成本
43、小,使用方法簡單易懂。該系統(tǒng)有效地提高圖書館工作人員的工作效率,節(jié)約人力物力。同時可以根據(jù)用戶的特殊需要,增添功能。具有成本低,功能強大,使用靈活的特點。</p><p> 軟件的開發(fā)環(huán)境如下:</p><p> 用戶界面:在Windows XP界面運行。</p><p> 硬件接口:普通PC機。</p><p> 軟件接口:運行于裝
44、有Windows XP的操作系統(tǒng)</p><p> 所需軟件:微軟的visio2010和word,VC++6.0,v-f</p><p><b> 3.6可行性結(jié)論</b></p><p> 綜上所述,本工程的技術(shù)相當成熟、完備也比較完善,測試手段可靠,具有良好的市場拓展,技術(shù)上可行,經(jīng)濟上可行,操作上可行,因此本工程可立即開始</
45、p><p> 四、開發(fā)環(huán)境與項目規(guī)劃</p><p><b> 4.1開發(fā)環(huán)境</b></p><p> 軟件的開發(fā)環(huán)境如下:</p><p> 用戶界面:在Windows XP界面運行。</p><p> 硬件接口:普通PC機。</p><p> 軟件接口:運
46、行于裝有Windows XP的操作系統(tǒng)</p><p> 所需軟件:微軟的visio2010和word,VC++6.0</p><p> 4.2項目規(guī)劃與管理</p><p> 4.2.1開發(fā)人員安排</p><p> 該軟件項目是由本組兩個成員設(shè)計開發(fā)的,劉靜著重設(shè)計了關(guān)于需求分析和面向?qū)ο竽遣糠?,楊寒培著重設(shè)計了可行性和關(guān)于數(shù)據(jù)
47、庫那部分。至于其他部分則基本上是由兩人協(xié)力完成的,期間我們不僅用了這學期新學的軟件工程中學到的知識還運用了數(shù)據(jù)庫和C語言C++中知識 ,查找了很多資料,也上互聯(lián)網(wǎng)了解了一些。雖然只有兩個人做這個軟件項目,但是我們兩個人都積極籌備合作過程非常愉快。</p><p> 4.2.2開發(fā)進度安排</p><p> 五、結(jié)構(gòu)化分析與設(shè)計</p><p> 5.1數(shù)據(jù)
48、流條目與數(shù)據(jù)字典</p><p><b> 1) 數(shù)據(jù)流條目:</b></p><p> 登錄用戶=用戶名+密碼 </p><p> 讀者=編號+姓名+性別+學院+證件號碼 </p><p> 圖書信息=圖書編號+書名+作者+出版日期+出版社+單價價+所屬類型</p><p
49、> 借書信息=讀者編號+圖書編號+借書日期+到期日期+圖書名+作者</p><p> 還書信息=圖書編號+圖書編號+還書日期+圖書名+作者</p><p> 2) 數(shù)據(jù)字典(DD):</p><p><b> 5.2模塊結(jié)構(gòu)圖</b></p><p> 圖1.圖書館管理系統(tǒng)模塊結(jié)構(gòu)圖</p>
50、<p><b> 5.3數(shù)據(jù)流程圖</b></p><p> 圖2.圖書館借閱子系統(tǒng)流程圖</p><p> 圖5.第二層數(shù)據(jù)流圖</p><p> 圖6.第三層數(shù)據(jù)流圖(讀者借閱)</p><p> 圖7.第三層數(shù)據(jù)流圖(讀者還書)</p><p> 圖8.第三層數(shù)據(jù)流圖
51、(管理員讀者)</p><p> 圖9.第三層數(shù)據(jù)流圖(圖書的維護)</p><p> 圖10.第三層數(shù)據(jù)流圖(更改讀者信息)</p><p> 圖11.第三層數(shù)據(jù)流圖(更改管理員信息)</p><p> 六、面向?qū)ο蠓治雠c設(shè)計</p><p> 6.1系統(tǒng)的UML建模設(shè)計</p><p
52、> 6.1.1UML簡介</p><p> UML是一種功能強大的、面向?qū)ο蟮目梢暬到y(tǒng)分析的建模語言,它采用一整套成熟的建模技術(shù),廣泛地適用于各個應(yīng)用領(lǐng)域。它的各個模型可以幫助開發(fā)人員更好地理解業(yè)務(wù)流程,建立更可靠、更完善的系統(tǒng)模型。從而使用戶和開發(fā)人員對問題的描述達到相同的理解,以減少語義差異,保障分析的正確性.</p><p> 6.2該圖書館管理系統(tǒng)的用例分析</
53、p><p> 該圖書館管理系統(tǒng)的用例圖如下</p><p> 圖12:圖書館管理系統(tǒng)的用例圖</p><p> 從用例圖中我們可以看出管理員和讀者之間對本系統(tǒng)所具有的用例。</p><p> 管理員所包含的用例有:</p><p> 登錄系統(tǒng):管理員可以通過登錄該系統(tǒng)進行各項功能的操作</p>&l
54、t;p> 書籍管理:包括對書籍的增刪改等。</p><p> 書籍借閱管理:包括借書、還書、預訂、書籍逾期處理和書籍丟失處理等等。</p><p> 讀者管理:包含對讀者的增刪改等操作。</p><p><b> 自動借書機的管理。</b></p><p> 讀者所包含的用例有:</p>&
55、lt;p><b> 登錄系統(tǒng)</b></p><p> 借書:進行借書業(yè)務(wù)。</p><p> 還書:讀者具有的還書業(yè)務(wù)。</p><p> 查詢:包含對個人信息和書籍信息的查詢業(yè)務(wù)</p><p> 預訂:讀者對書籍的預訂業(yè)務(wù)。</p><p> 逾期處理:就是書籍過期后的繳納
56、罰金等。</p><p> 書籍丟失處理:對書籍丟失后的不同措施進行處理。</p><p> 自動借書機的使用等。</p><p> 6.3、系統(tǒng)的順序圖</p><p> 順序圖是顯示對象之間交互的圖,這些對象是按時間順序排列的。該圖書館管理系統(tǒng)主要含有以下幾個重要的順序圖,其他對象的順序圖和這些也類似。</p>&l
57、t;p><b> 借書順序圖</b></p><p><b> 還書順序圖</b></p><p><b> 罰款順序圖</b></p><p><b> 借書順序圖</b></p><p> 圖13:圖書館管理系統(tǒng)借書順序圖</p&
58、gt;<p><b> 順序圖說明】</b></p><p> login():登錄系統(tǒng)。</p><p> checkstu_card():對讀者信息進行驗證,檢查是否符合本圖書館借書條件。</p><p> showinformation():顯示該讀者的基本信息函數(shù)。</p><p> bo
59、rrow():讀者借書函數(shù)。</p><p> getreaders():取得讀者信息函數(shù)。看該讀者是否符合借書條件,若符合,則返回可借信息。</p><p> gettitle():取得書目信息。</p><p> getreservation():檢驗書籍是否被預訂函數(shù)。</p><p> getnoreservation():書
60、籍沒被預訂或取消預訂函數(shù)。</p><p> create(borrower,item):創(chuàng)建書籍外借函數(shù)。</p><p> 借書時,讀者先將書拿予管理員,管理員對書籍和讀者進行檢驗,若書籍和讀者都符合借書條件,則借書成功。</p><p><b> 還書順序圖</b></p><p> 圖14:圖書館管理系統(tǒng)
61、還書順序圖</p><p><b> 【順序圖說明】</b></p><p> login():登錄系統(tǒng)。</p><p> getitem():取得書籍條目信息。</p><p> update():對圖書館書籍條目和借閱者信息進行更新條目。</p><p> 還書時,讀者先將書交給管
62、理員,由管理員掃描書籍,若書籍沒有過期等違規(guī)現(xiàn)象,則對書目和讀者借閱信息進行更新,同時還書成功。</p><p><b> 罰款順序圖</b></p><p> 圖15:圖書館管理系統(tǒng)的罰款順序圖</p><p><b> 【順序圖說明】</b></p><p> 管理員對書籍進行掃描,若發(fā)
63、現(xiàn)書籍已經(jīng)超過了圖書館規(guī)定的還書期限,則按每天一定金額進行罰款,過期天數(shù)和罰款金額由系統(tǒng)自動計算。用戶交完罰金后,則對讀者借閱信息進行更新。</p><p> 6.4、系統(tǒng)的狀態(tài)圖</p><p> 圖書館的書籍狀態(tài)圖如圖7所示。</p><p><b> 【狀態(tài)圖說明】</b></p><p> 書籍在未變成圖
64、書館在庫書籍時,為新加書籍狀態(tài)。書籍處于在庫狀態(tài)時既可以預訂也可以外借,外借后變?yōu)榻璩鰻顟B(tài)。處于預訂狀態(tài)時也可以外借,超出預訂時間期限則從預訂狀態(tài)直接轉(zhuǎn)為可用狀態(tài)。借閱者在規(guī)定的預訂時間內(nèi)也可以考慮取消預訂,取消預訂后書籍的狀態(tài)轉(zhuǎn)為可用。外借書籍歸還后變?yōu)榭捎脿顟B(tài)。</p><p> 圖16:圖書館的書籍狀態(tài)圖</p><p> 6.5、系統(tǒng)的活動圖</p><p&
65、gt; 活動圖描述的是某流程中的任務(wù)的執(zhí)行,活動圖描述活動是如何協(xié)同工作的,當一個操作必須完成一系列事情,而又無法確定以什么樣的順序來完成這些事情時,活動圖可以更清晰地描述這些事情。。在本圖書館管理系統(tǒng)中,我們主要描述了圖書館系統(tǒng)的借書、還書和預訂的活動圖。</p><p><b> 1.借書活動圖</b></p><p><b> 【借書活動圖說明】
66、</b></p><p> 管理員首先要掃描讀者的借書證,檢驗證件是否符合圖書館借書條件,若該讀者的借書數(shù)量還未達到最大規(guī)定數(shù)量,并且其所借書籍均未屬于過期范圍,則符合借書條件。則再掃描書籍條形碼,檢查書籍是否是不可借書籍或者已經(jīng)被預訂,若被預訂,則取消預訂,方可借書。在這些條件都符合時則更新書籍信息和讀者的借閱信息,記錄好借書的時間。</p><p> 圖17:圖書館管理
67、系統(tǒng)的借書活動圖</p><p><b> 2、還書活動圖</b></p><p><b> 【還書活動圖說明】</b></p><p> 圖書管理員對書籍進行掃描,若書籍已經(jīng)過期,則要求讀者還請欠款才能還書,讀者繳應(yīng)交罰款后,更新書目信息和讀者信息。</p><p> 圖18:圖書館管理系
68、統(tǒng)的還書活動圖</p><p> 6.6、圖書館管理系統(tǒng)的類圖</p><p><b> 【類圖說明】</b></p><p> reader類是借閱者的類,它的屬性很多,包括借閱者的賬戶ID(reader_id)、姓名(reader_Name)、地址(Address)、班級(class)、所借書籍的書目(borrowed)等。其中主要操
69、作有借書(addborrowed)和還書(deleteborrowed)和預訂(reservation)等。</p><p> admin類是管理員類,他有編號和姓名屬性,操作主要是書籍的增刪改和讀者的增刪改等等。</p><p> ?。?) Title 類是記錄書目信息的類,包括書籍的名字(name)、作者(author)、book_id等屬性。</p><p&g
70、t; (4) Item 類是具體某本書的類,屬性包括書籍號(id)。操作包括預訂(reserve)、按書目查找(find_on_title)等。</p><p> (5) borrow類是某本書的借閱信息類,包括所借閱書籍的ISBN、借閱的時間(date)等。</p><p> ?。?) Reservation類是預訂信息類,每個預訂信息包括預訂日期(date)、所預訂書籍的IS
71、BN、預訂書籍的用戶ID(UserID)等屬性。</p><p> (7) persistent store類是書籍永久的存儲類,在數(shù)據(jù)庫中的存儲數(shù)據(jù),其他對與書籍有關(guān)的活動都要經(jīng)過其存儲類。</p><p> 圖19:圖書館管理系統(tǒng)的類圖及關(guān)系</p><p> 七、數(shù)據(jù)庫分析與設(shè)計</p><p> 7.1數(shù)據(jù)庫環(huán)境說明&
72、lt;/p><p><b> 1)運行環(huán)境: </b></p><p> Windows 2000/XP/2003操作系統(tǒng)下,安裝并配置軟件Microsoft SQL Server 2000數(shù)據(jù)庫管理系統(tǒng)。</p><p> 2)所需硬件接口環(huán)境:普通PC機。</p><p> 3)所需軟件接口環(huán)境:運行于裝有Win
73、dows XP的操作系統(tǒng)</p><p> 7.2數(shù)據(jù)庫概念結(jié)構(gòu)設(shè)計</p><p> 7.2.1 任務(wù)與目標</p><p> ?。?)選擇中層數(shù)據(jù)流為切入點,通常選擇實際系統(tǒng)中的子系統(tǒng);</p><p> (2)設(shè)計分E-R圖,即各子模塊的E-R圖;</p><p> ?。?)生成初步E-R圖,通過合并方法,
74、做到各子系統(tǒng)實體、屬性、聯(lián)系統(tǒng)一;</p><p> ?。?)生成全局E-R圖,通過消除沖突等方面。</p><p> 在本圖書管理系統(tǒng)中,從第3層數(shù)據(jù)流程圖下手。分析各3層數(shù)據(jù)流圖和數(shù)據(jù)字典,知道整個系統(tǒng)功能圍繞“讀者”、“管理員”和“圖書”的處理。根據(jù)實體與屬性間的兩條準則:作為“屬性”,不能再具有需要描述的性質(zhì)?!皩傩浴辈荒芘c其他實體具有聯(lián)系。數(shù)據(jù)流程圖2.4 、圖2.5、圖2.6
75、可綜合成借閱子系統(tǒng)的分E-R圖3.1,數(shù)據(jù)流程圖2.7可抽象為分E-R圖3.2,數(shù)據(jù)流程圖2.8可抽象為分E-R圖3.3,數(shù)據(jù)流程圖2.9可抽象為分E-R圖3.4。然后采用逐步集成的方式將各分E-R圖合并,消除不必要的冗余和沖突后就生成了基本E-R圖如圖3.5。</p><p> 7.2.2 各階段的結(jié)果</p><p> ?。?)根據(jù)不同的對象,從第3層數(shù)據(jù)流程圖入手,分別畫出各分E-
76、R圖:</p><p> ?。╝)從數(shù)據(jù)流程圖圖(三) 與圖(四)抽象出的分E-R圖如下:</p><p> (c)從數(shù)據(jù)流程圖圖(六)抽象出的分E-R圖:</p><p> ?。╠)從數(shù)據(jù)流程圖圖(七)抽象出的分E-R圖:</p><p> ?。╡)從數(shù)據(jù)流程圖圖(八)抽象出的分E-R圖:</p><p> ?。?
77、)合并各分E-R圖,消除屬性沖突、命名沖突、結(jié)構(gòu)沖突等三類沖突,得到初步E-R圖,再消除不必要冗余,得到的基本E-R圖如下所示:</p><p> 圖20.全局U-R圖</p><p> 7.2.3各E-R圖中實體的屬性和聯(lián)系的屬性</p><p> 各E-R圖各實體的屬性如下所示:</p><p><b> 圖書:<
78、/b></p><p> Book(BookID, BookNo, BookName, BookWriter, BookPublish, BookPrice, BookDate, BookClass, BookMain, BookPrim, BookCopy, BookState,BookRN)</p><p><b> 讀者:</b></p&
79、gt;<p> Reader(ReaID, ReaName, ReaSex, ReaNo, ReaLBID, ReaType, ReaDep, ReaGrade, ReaPref, ReaDate)</p><p><b> 管理員:</b></p><p> Maneger(MID, MName, MSex, Mpwd, MAuth,
80、 MTeleph, MAddre)</p><p><b> 館室:</b></p><p> Room(RoomNo,RoomMID,RoomNum,RoomAddre)</p><p><b> 讀者類別:</b></p><p> ReaderTpye(LBID, LBName,
81、 LBnum, LBbqx, LBqx)</p><p> 各E-R圖中聯(lián)系的屬性如下所示:</p><p> 借閱信息:Borrow (BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)</p><p> 借閱歷史:History(BookID,ReaderID,BookName, BookWrite
82、r, Outdate,Indate)</p><p> 罰款信息:Fine(BookID,ReaderID,BookName, Outdate,Indate, Fine, CLState, MID)</p><p> 7.3數(shù)據(jù)庫邏輯設(shè)計</p><p> 7.3.1邏輯設(shè)計的任務(wù)和目標</p><p> 以上的概念設(shè)計階段是獨立于
83、任何一種數(shù)據(jù)模型的,但是邏輯設(shè)計階段就與選用的DBMS產(chǎn)品發(fā)生關(guān)系了,系統(tǒng)邏輯設(shè)計的任務(wù)就是將概念設(shè)計階段設(shè)計好的基本E-R圖轉(zhuǎn)換為選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。具體內(nèi)容包括數(shù)據(jù)組織(將E-R圖轉(zhuǎn)換成關(guān)系模型、模型優(yōu)化、數(shù)據(jù)庫模式定義、用戶子模式設(shè)計)、數(shù)據(jù)處理(畫出系統(tǒng)功能模塊圖)兩大任務(wù)。</p><p> 7.3.2邏輯設(shè)計步驟與設(shè)計原則</p><p>
84、1)將E-R圖轉(zhuǎn)換為關(guān)系模型</p><p> 實體型轉(zhuǎn)換為關(guān)系模式。實體的屬性就是關(guān)系的屬性,實體的碼就是關(guān)系的碼。對于實體間的聯(lián)系則有以下不同的情況:一個m:n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式。與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合。</p><p> 一個1:n聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與n端對應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為
85、一個獨立的關(guān)系模式,則與該聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為n端實體的碼。 一個1:1聯(lián)系可以轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與任意一端對應(yīng)的關(guān)系模式合并。三個或三個以上實體間的一個多元聯(lián)系可以轉(zhuǎn)換為一個關(guān)系模式。與該多元聯(lián)系相連的各實體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為各實體碼的組合具有相同碼的關(guān)系模式可合并。</p><p> 由于讀者類別與讀
86、者、館室與圖書的聯(lián)系方式是1:n(一對多),可以將其之間的聯(lián)系與n端實體讀者、圖書合并,管理員與圖書之間的維護聯(lián)系也是1:n(一對多),同樣也將其之間的聯(lián)系與n端實體合并,而讀者與圖書之間的借閱和歸還聯(lián)系方式則是n:m(多對多),這樣要把它們之間的聯(lián)系轉(zhuǎn)化為獨立的關(guān)系模式,讀者與管理員之間的罰款聯(lián)系是m:n(多對多),將其聯(lián)系也轉(zhuǎn)化成獨立的關(guān)系模式,</p><p> 2)具體的基本E-R圖向關(guān)系模型轉(zhuǎn)化<
87、;/p><p> 具體的基本E-R圖向關(guān)系模型的轉(zhuǎn)化如下:</p><p><b> 圖書:</b></p><p> Book(BookID,BookNo,BookName,BookWriter,BookPublish,BookPrice,BookDate,BookClass,BookMain,BookPrim,BookCopy,BookS
88、tate,BookRNo)</p><p><b> 讀者:</b></p><p> Reader(ReaID,ReaName,ReaSex,ReaNo,ReaLBID,ReaType,ReaDep,ReaGrade,ReaPref, ReaDate)</p><p><b> 管理員: </b></p&g
89、t;<p> Maneger(MID,MName,MSex,Mpwd,MAuth,MTeleph,MAddre)</p><p><b> 讀者類別:</b></p><p> ReaderTpye(LBID, LBName, LBnum, LBbqx, LBqx)</p><p><b> 館室:</b&
90、gt;</p><p> Room(RoomNo,RoomMID,RoomNum,RoomAddre)</p><p><b> 借閱信息:</b></p><p> Borrow(BookID,ReaderID,BookName,BookWriter, Outdate,YHdate)</p><p><b&
91、gt; 借閱歷史:</b></p><p> History(BookID,ReaderID,BookName,BookWriter, Outdate,Indate,YHdate)</p><p><b> 罰款信息:</b></p><p> Fine(BookID,ReaderID,BookName,Outdate,In
92、date,Fine,CLState,MID) </p><p> ?。ㄗⅲ簶擞兄本€下劃線的為主屬性,標有波浪線下劃線的是外鍵屬性,主屬性與外鍵屬性一起構(gòu)成主碼)</p><p> 7.4數(shù)據(jù)庫物理設(shè)計</p><p> 7.4.1物理設(shè)計階段的目標與任務(wù)</p><p> 數(shù)據(jù)庫的物理設(shè)計就是為邏輯數(shù)據(jù)模型選取一個最合適應(yīng)用要求的物理
93、結(jié)構(gòu)的過程,在這個階段中要完成兩大任務(wù):</p><p> (1)確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要是存取方法和存儲結(jié)構(gòu);</p><p> (2)對物理結(jié)構(gòu)和功能進行評價,評價的重點是時間和空間效率。</p><p> 7.4.2數(shù)據(jù)庫物理設(shè)計步驟</p><p><b> 1)數(shù)據(jù)存儲方面</b>&l
94、t;/p><p> 為數(shù)據(jù)庫中各基本表建立的索引如下:</p><p> 由于基本表Reader,Book的主碼ReaID,BookID經(jīng)常在查詢條件和連接操作的連接條件中出現(xiàn),且它們的值唯一,在兩個屬性上建立唯一性索引;</p><p> 由于基本表Reader的屬性ReaDep,Book的屬性BookPublish經(jīng)常在查詢條件中出現(xiàn)在兩個屬性上建立聚簇索引;
95、</p><p> 借閱信息基本表Borrow的一屬性ReaID,BookID,經(jīng)常在查詢條件中出現(xiàn),考慮在其之上建立聚簇索引;</p><p> 罰款信息基本表Fine的一屬性ReaID,BookID,經(jīng)常在查詢條件中出現(xiàn),考慮在其之上建立聚簇索引;</p><p><b> 2)系統(tǒng)功能模塊</b></p><p&
96、gt; (1)讀者基本信息的查詢和更新模塊</p><p> 將實現(xiàn)對讀者基本信息的查詢和更新(修改、添加、刪除)操作,用于新生入學,畢業(yè)生離校,以及讀者補辦借閱證或更改信息的情況,具體的功能模塊圖如下:</p><p> 圖21.查詢和更新模塊</p><p> 八、 人機界面設(shè)計</p><p> 8.1界面設(shè)計意義及任務(wù)&l
97、t;/p><p> 意義:人機界面是用戶與計算機交流的中間媒介,是用戶運行程序時的第一感覺,用戶只能通過顯示在屏幕上的人機界面了解并掌握運行整個系統(tǒng),因此人機界面設(shè)計非常重要</p><p><b> 主要任務(wù):</b></p><p> 必須對用戶的特性進行分析,對界面的功能進行任務(wù)分析(即建立任務(wù)模型),還要確定用戶界面的類型,并根據(jù)其特
98、點借助工具進行分析與設(shè)計〉</p><p><b> 8.2主界面設(shè)計</b></p><p> 圖書館管理系統(tǒng)的界面主要是面向用戶和管理員,如果是管理人員則可使用系統(tǒng)中所有的界面,如果是普通用戶(學生)則只能使用有限的幾個界面。根據(jù)系統(tǒng)結(jié)構(gòu)的不同,下面對該系統(tǒng)中所需的主界面進行簡單的分析。</p><p> 1.登錄界面:該界面主要是
99、為了維護數(shù)據(jù)的安全,用于區(qū)分管理員和普通用戶(學生)。因此界面中必須有一個用于區(qū)分管理員和普通用戶的元素,復選框;還需要一個輸入密碼的文本框等。如下圖所示:</p><p> 2.管理界面:該界面主要用于管理員設(shè)置該圖書館的名稱。在打開該界面時要顯示已經(jīng)添加的書的名稱,并能進行修改和刪除。因此該界面中可包含書列表框、以及館內(nèi)書的增加、修改、刪除等的按鈕等。如下圖所示:</p><p>
100、 學生借書信息錄入界面:該界面主要用于錄入相應(yīng)借書的學生信息。因此該界面應(yīng)包含學號、姓名、借書的具體時間數(shù)量以及還書時間有無超期。如下圖所示:</p><p> 圖書的信息查詢界面:該界面主要用于查詢圖書的基本信息。因此該界面中必須包含 “檢索”功能,另外還可具體分一般檢索與高級檢索,并顯示檢索出來的圖書德具體情況。如下圖所示: </p><p><b> 九、項目系統(tǒng)實現(xiàn)&
101、lt;/b></p><p><b> 9.1 實現(xiàn)環(huán)境</b></p><p> 軟件項目實現(xiàn)的環(huán)境如下:</p><p> 用戶界面:在Windows XP界面運行。</p><p> 硬件接口:普通PC機。</p><p> 軟件接口:運行于裝有Windows XP的操作系統(tǒng)
102、</p><p> 所需軟件:微軟的visio2010和word,VC++6.0,v-f</p><p> 9.2 核心模塊實現(xiàn)技術(shù)代碼</p><p> 核心模塊實現(xiàn)技術(shù)代碼描述如下</p><p><b> 身份驗證</b></p><p><b> ·功能:驗
103、證身份</b></p><p><b> ·性能:</b></p><p><b> ·輸入項:預設(shè)密碼</b></p><p><b> ·輸出項:歡迎語句</b></p><p> ·算法: int keywor
104、d=111,a;</p><p> printf("Please input keyword:");</p><p> scanf("%d",&a);</p><p> if(a!=keyword) exit(0);</p><p> else printf("Welcome!
105、");</p><p> ·測試要求:運行正常。</p><p><b> 主菜單模塊</b></p><p><b> ·功能:選擇功能</b></p><p><b> ·性能:</b></p><p>
106、; ·輸入項:數(shù)字0-9</p><p> ·輸出項:對應(yīng)功能項</p><p> ·算法: int Display_MainMenu() /*顯示菜單的函數(shù)*/</p><p><b> {char x;</b></p><p><b> do{</b>
107、</p><p> system("cls");</p><p> printf("************************\n");</p><p> printf("1.Create BookList\n");</p><p> printf("2.Di
108、splay All Books\n");</p><p> printf("3.Insert a BookInformation\n");</p><p> printf("4.Delete a Book\n");</p><p> printf("5.Borrow a Book\n");&
109、lt;/p><p> printf("6.Return a Book\n");</p><p> printf("7.Query\n");</p><p> printf("8.Add Records From a File\n");</p><p> printf("
110、;9.Write to a File\n");</p><p> printf("0.Goodbye\n");</p><p> printf("************************\n");</p><p> printf("Please choose from 0-9:")
111、;</p><p> printf("\n");</p><p> x=getchar();</p><p> }while(x<'0'||x>'9');</p><p> return(x-'0');</p><p><b&
112、gt; }</b></p><p> ·測試要求:運行正常。</p><p><b> 插入模塊</b></p><p><b> ·功能:插入新信息</b></p><p><b> ·性能:</b></p>
113、<p> ·輸入項:書名 數(shù)量</p><p><b> ·輸出項:成功提示</b></p><p> ·算法: Book *Insert(Book *head,Book *s) /*插入結(jié)點的函數(shù)*/</p><p> { Book *p0,*p1,*p2;</p>&l
114、t;p> p1=head;p0=s; </p><p> /*使p1指向第一個結(jié)點,p0指向要插入的結(jié)點*/</p><p> if(head==NULL) /*原來的鏈表是空表*/</p><p> {head=p0;p0->next=NULL;}
115、 /*使p0作為首結(jié)點*/</p><p> while(strcmp(p0->Name,p1->Name)>0&&(p1->next!=NULL))</p><p> {p2=p1; p1=p1->next;</p><p><b> }</b></p>
116、<p> if(strcmp(p0->Name,p1->Name)<=0)</p><p> {p0->next=p1;</p><p> if(head==p1) head=p0;</p><p> else p2->next=p0;</p><p><b> }</b>
117、;</p><p><b> else</b></p><p> {p1->next=p0;</p><p> p0->next=NULL;</p><p><b> }</b></p><p> return(head);</p><
118、;p><b> }</b></p><p> Book *Insert_a_record(Book *head)</p><p> { Book *newrecord;</p><p> newrecord=(Book *)malloc(LEN); /*動態(tài)分配存儲空間*/</p><p>
119、; scanf("%s%d",newrecord->Name,&newrecord->all);</p><p> newrecord->borrow=0;</p><p> newrecord->left=newrecord->all;</p><p> head=Insert(head,newre
120、cord);</p><p> printf("Insert successfully\n"); /*輸出插入成功的信息*/</p><p> return(head);</p><p><b> }</b></p><p> ·測試要求:運行正常。</p&g
121、t;<p><b> 刪除模塊</b></p><p><b> ·功能:刪除信息</b></p><p><b> ·性能:</b></p><p><b> ·輸入項:所刪書名</b></p><p>
122、;<b> ·輸出項:成功提示</b></p><p> ·算法: Book *Delete(Book *head,char *name)</p><p> { Book *p1,*p2;</p><p> if(head==NULL)</p><p> printf("Sor
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 軟件工程課程設(shè)計---圖書館管理系統(tǒng)
- 軟件工程課程設(shè)計--圖書館管理系統(tǒng)
- 軟件工程課程設(shè)計之圖書館管理系統(tǒng)
- 軟件工程課程設(shè)計實驗報告--圖書館管理系統(tǒng)
- 《軟件工程》課程設(shè)計--基于uml的圖書館管理系統(tǒng)設(shè)計
- 軟件課程設(shè)計--圖書館管理系統(tǒng)
- 軟件工程綜合課程設(shè)計報告--基于uml的圖書館管理系統(tǒng)
- 軟件工程圖書館管理系統(tǒng)
- 軟件工程課程設(shè)計--圖書管理系統(tǒng)
- 軟件工程課程設(shè)計---圖書管理系統(tǒng)
- 軟件工程課程設(shè)計--圖書借閱管理系統(tǒng)
- 軟件工程課程設(shè)計--圖書借閱管理系統(tǒng)
- 圖書館管理系統(tǒng)課程設(shè)計
- 課程設(shè)計--圖書館管理系統(tǒng)
- 圖書館管理系統(tǒng)課程設(shè)計
- c語言圖書館管理系統(tǒng)課程設(shè)計---高校圖書館管理系統(tǒng)
- 軟件工程課程設(shè)計-- 圖書分銷系統(tǒng)
- 圖書管理系統(tǒng)軟件工程課程設(shè)計
- 圖書管理系統(tǒng)軟件工程課程設(shè)計
- 圖書館管理系統(tǒng)課程設(shè)計報告
評論
0/150
提交評論