《面向對象設計與分析 圖書管理系統(tǒng)》由會員分享,可在線閱讀,更多相關《面向對象設計與分析 圖書管理系統(tǒng)(23頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、真誠為您提供優(yōu)質參考資料,若有不當之處,請指正。
華北電力大學科技學院
實 驗 報 告
實驗名稱 圖書館管理系統(tǒng)的分析與設計
課程名稱 面向對象技術
專業(yè)班級: 學生姓名:
學 號: 成 績:
指導教師: 實驗日期:
23 / 23
一、
2、圖書管理系統(tǒng)需求描述
圖書館里有多種書目,每種書有多個副本,每個副本有唯一的編號。每本圖書借閱期限為60天,超期罰款,按天計算,每天0.1元。
每個借閱者在系統(tǒng)中建立一個賬戶,并發(fā)放借閱證,賬戶中有用戶名、證號、單位、存的現(xiàn)金數(shù)額,用于超期罰款,用戶可以續(xù)費。
持借閱證的用戶可以借書、還書,但這些操作要通過圖書館館員來實現(xiàn),每個借閱者可借10本書。每次借閱會將特定的借閱者和書籍副本聯(lián)系起來。
圖書管理員還負責圖書的書目管理,書籍副本管理,借閱者管理。如果借閱證丟失,借閱證持有者應到圖書館前臺掛失。
借閱證持有者可以預約圖書,最多可預約3本(可以設定預約有效的期
3、限),并在圖書到達后得到電話通知,圖書館為其保留圖書,3日內有效。還可以取消預約。
2、 需求分析
系統(tǒng)的功能需求主要包括以下幾個方面:
1.這是一個圖書館管理系統(tǒng)。
2.借閱者需預先建立一個賬戶(賬戶中有用戶名、證號、單位、存的現(xiàn)金數(shù)額),并領取借閱證,借閱者可以續(xù)費。
3.各種書目需預先注冊。每種書目有多個副本且每個副本有唯一的編號。
3.借閱者能夠通過圖書館館員借書、還書(每個借閱者可借10本書),每次借閱或歸還都更新數(shù)據(jù)庫信息。
4.借閱者可以通過網(wǎng)絡查詢書籍信息。
5.借閱者可以預約圖書。當他所預約的圖書歸還或購進時,就通知預定人。圖書館為其保留3日預約書籍。當預定某
4、書的借書者借閱該書后,系統(tǒng)取消預約。
6.如果借閱者還書超過期限(60天),需扣款,按天計算,每天0.1元。
7.圖書館館員在軟件系統(tǒng)的支持下處理借閱者的借書和還書請求。
8.系統(tǒng)管理員可以對系統(tǒng)的數(shù)據(jù)進行維護,如增加、刪除和更新書目,增加和刪除書籍,增加、刪除和更新借閱者帳戶,掛失借閱證等。
7.系統(tǒng)能夠運行在流行的技術環(huán)境中,并應有一個良好的人機交互圖形用戶界面。
8.系統(tǒng)容易擴展新功能。
系統(tǒng)將通過計算機來處理圖書、副本、借閱者和借書。借閱者要求借書,出示借閱證,查詢該借閱者提供的借閱證是否滿足借書要求。如果滿足,給出要借圖書的名稱,系統(tǒng)查找所借的圖書是否存在副本,如果有,則
5、辦理借書手續(xù)(登記借閱信息)。
圖書是存放在圖書館中的書的名稱,副本是一個圖書的具體實例。一個圖書可能有多個副本,一個副本一定會對應一個圖書。一次借閱必須記錄一個圖書的副本和一個借閱證信息。一個副本可以被借閱,也可以不被借閱。一個借閱證可以借多本書,也可以不借一本書。一個借閱證可以進行多個圖書名稱的預定,也可以不進行預定。一次預定必須記錄一個圖書名稱信息和一個借閱證信息。
識別參與者
創(chuàng)建用例圖之前首先需要確定參與者。對于一個圖書管理系統(tǒng),基本的功能是完成圖書的借閱和相關信息的管理,服務的對象有學生,教師,及其他學校的學生,還有社會人員,這些人可歸結為一類即借閱者。幫助借閱者順利完成
6、借還書的是圖書館館員,負責圖書的書目管理,書籍副本管理,借閱者信息管理的可以歸結為一類即圖書管理員。因此對于一個圖書管理系統(tǒng)主要有三類參與者,借閱者、圖書館館員、圖書管理員。
圖書管理系統(tǒng)中的用例圖簡述
通過識別的參與者,對需求進一步分析,獲得每個參與者的用例圖:
(1)借閱者用例圖:主要描述用戶注冊,登錄,用戶查詢、預約書籍,用戶借書、還書,用戶信息查看,修改時的相關操作,以及的相關信息。
讀者用例圖
【用例圖說明】
(1) 登錄用例,用于登錄系統(tǒng),核實身份信息,給予借閱者的本系統(tǒng)相關操作權限。
(2)查詢書籍用例,用于查詢自己感興趣的書籍,系統(tǒng)顯示書籍的相關信息。
7、(3)預約書籍用例,用于記錄自己想借閱的書籍,方便直接去圖書管理員處借書。
(4)借書用例,用于讀者向圖書館館員借閱圖書,從借書到取書的全過程。其中包
括書籍續(xù)借用例,用于提供續(xù)借書籍的功能。
(5)還書用例,用于讀者向圖書館館員歸還圖書,記錄借閱者還書的相關信息。其
中包括丟失處理、逾期處理用例,用于借書超期和丟失讀書時罰款的操作。
(6) 查詢、修改個人信息用例,用于查看自己的個人信息,修改密碼等相關信息。
2 圖書館館員用例圖:圖書館館員可以進行借書、還書處理。
圖書館館員用例圖
【用例圖說明】
(1)借書處理用例,用于圖書館館員把書借給借閱者,從借書到給書的全過
8、程,包括查詢書籍是否可借和檢查借閱者借閱信息兩個用例,用于判斷該書是否可借和借閱者是否滿足借閱條件的操作。
(2)還書處理用例,用于處理借閱者歸還的圖書,判斷借閱者是否逾期,丟失圖書,并執(zhí)行相對應的操作。
3.圖書管理員用例圖:圖書管理員可以通過登錄系統(tǒng)對系統(tǒng)的數(shù)據(jù)進行維護,如增加、刪除和更新書目,增加和刪除書籍,增加、刪除和更新借閱者帳戶,掛失借閱證等。
圖書管理員用例圖
【用例圖說明】
(1)登錄用例,用于登錄系統(tǒng),核實身份信息,給圖書管理員本系統(tǒng)的所有操作權限。
(2)預約處理用例,用于處理借閱者預約圖書的操作,包括通知預約者等。
(3)管理讀者用例,用于管理借閱者的基
9、本信息,實現(xiàn)對借閱者的增刪查改功能,此外還包括處理借閱證掛失情況。
(4)管理書籍用例,用于管理書籍的基本信息,實現(xiàn)對書籍的增刪查改功能。更改數(shù)據(jù)庫中的書籍信息。
圖書管理系統(tǒng)用例
1.借書用例
用例名稱:借閱者借書
參與者:借閱者、圖書館館員
前置條件:一個合法的圖書館館員已經登錄到這個系統(tǒng)
事件流:
A.掃描讀者借閱證;
顯示讀者借閱信息;
If 借閱者借閱圖書達到10本或有出書超期未還
Then
給出相應提示;
Else
添加一條借書記錄;
“圖書信息表”中“現(xiàn)有庫存量”-1;
“讀者信息表”中“已借書數(shù)量”+1;
提示執(zhí)行情況;
End if
10、清空借閱者、圖書編號等輸入數(shù)據(jù);
End if
If選擇“退出”then
返回上一級界面;
End if
返回A.等待輸入下一條;
后置條件:如果是有效借書,在系統(tǒng)中保存借閱紀錄,并修改圖書庫存量和讀者借書
數(shù)量。
2還書用例
用例名稱:借閱者還書
參與者:借閱者、圖書館館員
用例描述:當借閱者圖書閱讀完成時或者借閱期限到,應該通過圖書館館員還書;假如逾期,還應附加繳納罰款
前置條件:圖書館館員要提前登陸系統(tǒng),并打開外圍設備儀器
基本事件流
A.掃描歸還圖書條形碼;
顯示此次借閱信息;
If 超期
then
提示,調用“計算超期罰款金額”;
End
11、if
If 選擇“確定”還書 //要先交罰款后才能還
then
添加一條還書記錄;
刪除該借書記錄;
“圖書信息表”中“現(xiàn)有庫存量”+1;
“讀者信息表”中“已借書數(shù)量”-1;
提示執(zhí)行情況;
End if
清空借閱者、圖書編號等輸入數(shù)據(jù);
End if
If選擇“退出”then
返回上一級界面;
End if
返回A.等待輸入下一條;
后置條件:如果是有效還書,在系統(tǒng)中刪除借閱紀錄,并修改圖書庫存量和讀者借
書數(shù)量。
3預訂用例
用例名稱:借閱者預訂圖書
參與者:借閱者
用例描述:借閱者可以通過系統(tǒng)預定自己想讀的書,需要明確取書日期,系統(tǒng)接受預
12、訂
請求后,可以為讀者查看是否可以預定
前置條件:借閱者登陸系統(tǒng)
事件流:
A.借閱者登錄系統(tǒng);
顯示讀者借閱信息;
查詢所要預約書籍;
顯示該書信息;
If 該書不在書庫 或 概述已被預訂 或 該書為不可借書籍;
Then
給出相應提示;
Else
添加一條預約記錄;
“圖書信息表”中“預約記錄”+1;
“讀者信息表”中“預約記錄”+1;
提示執(zhí)行情況;
End if
If選擇“重新輸入”then
清空讀者、圖書編號等輸入數(shù)據(jù);
End if
If選擇“退出”then
返回上一級界面;
End if
返回A.等待輸入下一條;后置條件:如果是有效預
13、約圖書,在系統(tǒng)中保存預約紀錄,并修改圖書信息表和讀者信息表預約記錄。
活動圖描述的是某流程中的任務的執(zhí)行,當一個操作必須完成一系列事情,而又無法確定以什么樣的順序來完成這些事情時,活動圖可以更清晰地描述這些事情。在本圖書館管理系統(tǒng)中,我們主要描述了圖書館系統(tǒng)的借書、還書和預訂的活動圖。
1.借書活動圖
借書活動圖說明:圖書館館員首先進入系統(tǒng),之后要掃描閱者的借閱證,系統(tǒng)顯示該借閱者信息,并判斷該借閱者是否符合圖書館借書條件,若該借閱者的借書數(shù)量還未達到最大規(guī)定數(shù)量,并且其所借書籍均未屬于過期范圍,則符合借書條件。則再掃描書籍條形碼,檢查書籍是否是不可借書籍或者已經被預訂,若被預訂
14、,則也為不可借書籍。在這些條件都符合時,則更新書籍信息和借閱者的借閱信息,記錄好借書的時間。
2、還書活動圖
還書活動圖說明:圖書館館員對書籍進行掃描,系統(tǒng)顯示此次借閱信息,若書籍已經過期,則要求讀者還清欠款才能還書,讀者繳應交罰款后,才可以更新書目信息和讀者信息。
3預訂圖書活動圖
預訂書籍活動圖說明:讀者先進入系統(tǒng)查詢自己所需要的書籍,顯示書籍信息,檢驗書籍是否屬于可預訂書籍,若符合條件則檢查書籍是否已經被預訂或已經被外借,若都未成立,則讀者對該書籍進行預訂。
三、系統(tǒng)分析
1.對系統(tǒng)靜態(tài)結構建模
3.1類圖的生成
(1) 借閱者基本信息類
主要用于描述借
15、閱者基本信息的類,它的屬性包括借閱者的借閱證編號、姓名、密碼、性別、年齡、地址、聯(lián)系電話、所借書籍的書目、借閱數(shù)量、狀態(tài)等。其中主要操作有借書,還書和預訂等。
2)讀者的借書還書信息類
主要用于描述讀者的借書還書信息記錄的類,它的屬性包括借閱信息ID、讀者ID、圖書在數(shù)據(jù)庫中的信息、借書時間、還書時間
3)書籍基本信息類
主要用于描述書籍基本信息的類,它的屬性包括書籍的編號(book_id)、名稱(name)、作者(author)、出版社、價格、圖書ISBN編號、書籍數(shù)量等
4)讀者類別信息類
主要用于描述讀者類別信息的類,它的屬性包括讀者類別ID、類別名、最大
16、借書數(shù)量(我設置的10本)、最大借書天數(shù)(我設置的60天)、逾期每天應繳金額
5) 書籍類別信息類
主要用于描述書籍類別信息的類,它的屬性包括書籍類別ID、類別名
7)讀者預定圖書信息類
主要用于描述讀者預定圖書信息的類,它的屬性包括預定圖書ID、書籍的名稱(Books)、讀者ID、圖書在數(shù)據(jù)庫中的信息、預定時間等
(8) 圖書管理員類是系統(tǒng)管理員類,他有圖書管理員賬號,名字,密碼等屬性,操作主要是書籍的增刪改和讀者的增刪改等等。
10某本具體書類是具體某本書副本的類,屬性包括書籍號,書籍名稱,書籍狀態(tài)。操作包括預訂、按書目查找等。
9數(shù)據(jù)庫信息存儲類是書籍永
17、久的存儲類,在數(shù)據(jù)庫中的存儲數(shù)據(jù),其他對與書籍有關的活動都要經過其存儲類。
圖書館管理系統(tǒng)的類圖如圖9所示
2.對系統(tǒng)的動態(tài)行為建模
我們再進行動態(tài)建模分析。對于圖書管理系統(tǒng)借書還書是兩個重要的過程,此外還有罰款過程。
(1) 借書的過程:借閱者憑借閱證進入圖書館,或者先查詢圖書及個人借閱信息,或者直接去挑選圖書,選擇好圖書后進入借書程序,圖書館館員首先進入系統(tǒng),之后要掃描借閱者的借閱證,查驗能否借閱,比如:借閱證是否無效或書籍是否已經借滿等,即檢驗其借書的合法性和有效性,如果是非法用戶或借書數(shù)量范圍外,則該借閱者不能借閱圖書。如果滿足借閱要求,則再獲取所借書的標題以進行庫內搜
18、索,獲取書目查詢此書的數(shù)量,看是否還有此書,如果沒有則阻止其他借書者可能進行的預訂活動,將此書借出,根據(jù)書號將此書的借閱標志位取反以表示此書已借出,并將此書的書目減1。并為此讀者記錄借閱日期,以及歸還日期,在歸還日期內未能歸還和續(xù)借的,并為其記錄超借天數(shù)及罰款數(shù)額。
還書過程:在返還圖書的過程中,圖書管理員對書籍進行掃描,獲取借閱者的借閱信息和被歸還的書籍的信息,如書標題信息,數(shù)量等,并一一審核每本書的歸還日期是否超過應歸還日期。在完成階段,將此書的書號登記并設計標志位為已歸還,以便借閱者網(wǎng)上預訂和繼續(xù)借閱,同時將此類圖書副本的數(shù)量加1,如果借閱者超期或丟失所借書籍,則要進行賠償處理。
19、
罰款過程:圖書館館員對書籍進行掃描,若發(fā)現(xiàn)書籍已經超過了圖書館規(guī)定的還書期限,則按每天一定金額進行罰款,過期天數(shù)和罰款金額由系統(tǒng)自動計算。用戶交完罰金后,則對借閱者借閱信息進行更新。
系統(tǒng)的狀態(tài)圖
圖書館的書籍狀態(tài)圖如圖所示。
【狀態(tài)圖說明】
書籍處于在庫狀態(tài)時既可以預訂也可以外借,外借后變?yōu)榻璩鰻顟B(tài)。處于預訂狀態(tài)時也可以外借,超出預訂時間期限則從預訂狀態(tài)直接轉為可用狀態(tài)。借閱者在規(guī)定的預訂時間內也可以考慮取消預訂,取消預訂后書籍的狀態(tài)轉為可用。外借書籍歸還后變?yōu)榭捎脿顟B(tài)。書籍丟失要進行相應的賠償處理。
借閱者的狀態(tài)圖
四、系統(tǒng)設計
數(shù)據(jù)管理部分設計
(一)書
20、籍類別(書籍類別編號,類別名稱)
(二)借閱者信息實體(借閱證號,姓名,性別,登記時期,讀者類別)
(三)書籍(書籍編號,書籍名稱,書籍類別編號,作者,出版社,出版日期,價格,登記日期,是否可借)
(四)借閱(借閱證號,書籍編號,借閱時間時間,應還時間)
(五)還書(借閱證號,書籍編號,還書時間)
(六)罰款(借閱證號,姓名,書籍名稱,書籍編號,借閱時間,應還時間,還書時間,罰款金額)
(七)讀者類別表(讀者類別編號,讀者類別名稱)
定義并描述了各個類后,我們可以根據(jù)實際情況引入包來管理類。
五、總結
在這次課程設計中,由于自己的理論水平
21、有限,實踐知識和設計經驗不足,在設計過程中難免存在一些問題,甚至錯誤,不過在互聯(lián)網(wǎng)和老師的幫助下都得以解決,通過這次課程設計,我們分別畫了用例圖,類圖,順序圖,狀態(tài)圖,包圖和部署圖。這期間我們學會了用starUML軟件畫圖,在圖中正確繪制各種圖形元素,表示元素間的相互關系。熟練的掌握了這個軟件的操作,提高了我們自身的實際操作能力。同時,在軟件開發(fā)方面也積累了不少經驗,對軟件工程的知識重要性的認識更深了,懂得了面向對象的基本思想。通過這次課程設計的鍛煉,自己分析問題和解決問題的能力都得到了鍛煉和提高,完善了自己的知識結構,加深了對所學知識的理解。在今后的學習中,我會做到取長補短,不斷學習新的知識,吸取經驗,達到進步的目的。在學和做的過程中自身的努力以及相關圖書館資料的幫助,也讓我對數(shù)據(jù)庫的知識運用也有了進一步的了解。