《圖書管理系統(tǒng)用例圖類圖時序圖》由會員分享,可在線閱讀,更多相關(guān)《圖書管理系統(tǒng)用例圖類圖時序圖(15頁珍藏版)》請在裝配圖網(wǎng)上搜索。
1、軟件系統(tǒng)分析與設(shè)計
實驗報告
學(xué) 院:計算機科學(xué)與技術(shù)學(xué)院
專 業(yè):軟件工程
學(xué) 號:*********
姓 名:***
實驗名稱:圖書管理系統(tǒng)用例建模
時 間:
一、 實驗內(nèi)容與要求
本實驗要求學(xué)生對學(xué)校的圖書館管理系統(tǒng)進行需求分析,對系統(tǒng)功能進行用例建模,畫出用例圖,類圖以及相應(yīng)的時序圖。在使用UML對系統(tǒng)建模時,學(xué)會使用UML建模工具,
熟悉工具中的功能。
二、用例分析
1、讀者“ 借書還書系統(tǒng)” 用例圖
1.1、 行為者:
主要行為者:讀者。
1.2、 前置條件:
2、讀者進入圖書管理系統(tǒng)。
1.3、 事件流:
1.3.1、主要事件流:
1.3.1.1:讀者檢索所需圖書信息,并查看;
1.3.1.2:讀者檢索到所需圖書,登錄系統(tǒng),開始借書;
1.3.1.3:系統(tǒng)查詢圖書信息,圖書數(shù)目是否可借;
1.3.1.3.1:圖書顯示可借,借書成功;
1.3.1.3.2:圖書顯示不可借,借書失??;
1.3.1.4:進入續(xù)借圖書界面,續(xù)借圖書;
1.3.1.5:系統(tǒng)查看預(yù)約記錄,
1.3.1.5.1:沒有沖突,續(xù)借成功;
1.3.1.5.2:有沖突,續(xù)借失敗;1.3.3.1:
1.3.1.6:讀者歸還圖書;
3、 1.3.1.6.1:歸還時間沒有逾期,歸還成功;
1.3.1.5.2:歸還時間逾期,逾期處罰,歸還成功;
1.3.2、備選事件流:
1.3.2.1:圖書檢索信息失敗,未檢索到圖書,重新輸入信息檢索;
1.3.2.2:未曾檢索到用戶檢索的圖書,系統(tǒng)顯示相關(guān)聯(lián)的信息的圖書;
1.3.2.3:用戶名或密碼輸入錯誤,登錄系統(tǒng)失敗,重新輸入用戶名或密碼登錄;
1.3.2.4:系統(tǒng)顯示圖書不可借后,進入圖書預(yù)約界面,輸入信息預(yù)約圖書;
1.3.3、異常事件流:
1.3.3.1:讀者登錄系統(tǒng)失敗,未曾注冊用戶;
1.3.3.1.1:返回系統(tǒng)注冊用戶后
4、,重新登錄。
1.4、 后置條件:退出系統(tǒng)。
1.5、
1.6、 擴展點:無。
2、“圖書信息管理系統(tǒng)”用例圖
2.1、行為者:
主要行為者:管理員;
2.2、前置條件:管理員打開圖書信息管理系統(tǒng);
2.3、事件流:
2.3.1:主要事件流:
2.3.1.1:圖書管理員輸入管理員登錄信息,登錄系統(tǒng);
2.3.1.2:進入圖書信息管理界面,查看已有圖書信息,是否有需要購入圖書;
2.3.1.2.1:錄入新購進圖書信息,并確認(rèn);
2.3.1.3:進入讀者信息管理界面,管理已有用戶信息;
2.3.1.4:進入信息通知界面,查看已
5、有用戶圖書借閱、預(yù)約情況;
2.3.1.4.1:查看讀者所預(yù)約圖書,自動查詢圖書信息,確認(rèn)是否已有可借圖書,有則通知讀者;
2.3.1.4.2:查詢讀者已借圖書信息,根據(jù)已借時間及歸還時間分類;
2.3.1.4.2.1:所借圖書即將逾期,啟動系統(tǒng)提醒功能;
2.3.1.4.2.2:所借圖書已經(jīng)逾期,啟動逾期及處罰通知功能;
2.3.2:備選事件流:
2.3.2.1:管理員用戶名或登錄名錯誤,重新登錄;
2.3.2.2:需要購進新圖書,存儲信息,通知相關(guān)人員;
2.3.2.3:讀者預(yù)約圖書沒有可借圖書,不予通知;
2.3.2.4
6、:預(yù)約通知提醒后,刪除該預(yù)約記錄;
2.3.2.5:讀者所借圖書距離歸還時間仍很久,無需通知;
2.3.3:異常事件流:
2.3.3.1:登錄失敗超過一定次數(shù)后,系統(tǒng)凍結(jié)該用戶名,一段時間后可以重用;
2.4、后置條件:退出系統(tǒng);
2.5、擴展點:無。
三、“圖書管理系統(tǒng)”類圖及關(guān)系
1、 閱讀者信息類:
1.1、類名:閱讀者信息<<父類>>;
1.2、屬性名:
1.2.1、private: ID<<閱讀者證件號>> 類型:String;
1.3、方法:未定。
2、 讀者類:
2.1、類名:讀者<<子類>>;
2
7、.2、屬性名:
1.2.1、private:ID<<閱讀者證件號>> 類型:String;
2.3、方法:未定。
3、 管理員類:
3.1、類名:管理員<<子類>>
3.2、屬性名:
1.2.1、private: ID<<閱讀者證件號>> 類型:String;
3.3、方法:未定。
4、 Book類:
4.1、類名:book
4.2、屬性名:
4.2.1、private: 書號<<圖書編號>> 類型:String;
4.2.2、private: 書名<<圖書名>> 類型:String;
4.2.3、private: 出版號<<圖書
8、出版編號>> 類型:String;
4.2.4、private: 出版社名<<圖書出版社名>> 類型:String;
4.2.5、private: 作者<<圖書作者姓名>> 類型:String;
4.3、方法:未定。
5、 Copy_book類:
5.1、類名:copy_book;
5.2、屬性名:
5.2.1、private: 書號<<圖書編號>> 類型:String;
5.2.2、private: 書名<<圖書名>> 類型:String;
5.2.3、private: 出版號<<圖書出版編號>> 類型:String;
5.2.4、p
9、rivate: 出版社名<<圖書出版社名>> 類型:String;
5.2.5、private: 作者<<圖書作者姓名>> 類型:String;
5.2.6、private:count<<圖書數(shù)量>> 類型:String;
5.3、方法:未定。
6、 借還書記錄類<<關(guān)聯(lián)類>>:
6.1、類名:借還書記錄;
6.2、屬性名:
6.2.1、private: 書號<<圖書編號>> 類型:String;
6.2.2、private: 書名<<圖書名>> 類型:String;
6.2.3、private:讀者姓名<<>> 類
10、型:String;
6.2.4、private: 出版社名<<圖書出版社名>> 類型:String;
6.2.5、private: 作者<<圖書作者姓名>> 類型:String;
6.2.6、private:borrowdate<<所借圖書日期>> 類型:Date;
6.2.7、private:due_Date<<圖書應(yīng)還日期>> 類型:Date;
6.2.8、private:real_Date<<圖書實還日期>> 類型:Date;
6.3、方法:
6.3.1、private:getDate() 返回值:Date;
6.3.2、privat
11、e:isOverDate() 返回值:bool;
6.3.3、private:opname() 返回值:void;
7、 預(yù)約類:
7.1、類名:Reservation;
7.2、屬性:
7.2.1:private:書名<<預(yù)約書名>> 類型:String;
7.2.2:private:作者<<圖書作者>> 類型:String;
7.2.4:private:讀者ID<<預(yù)約者ID>> 類型:String;
7.2.4:private:預(yù)約時間<<預(yù)約時間>> 類型:Date;
7.3、方法:未定。
四、圖書管理系統(tǒng)時序圖及分析
1
12、)、時序圖內(nèi)容
時序圖是顯示對象之間交互的圖,這些對象是按時間順序排列的。該圖書館管理系統(tǒng)主要含有以下幾個重要的時序圖,其他對象的時序圖和這些類似。
1、 借書時序圖;
2、 還書時序圖;
3、 預(yù)約時序圖。
2)、時序圖分析
1、借書時序圖
【借書時序圖說明】
1、 login():讀者將需借書目交給管理員,管理員登陸系統(tǒng)。
2、 show_reader():顯示讀者的信息的函數(shù)。
3、 check():驗證讀者是否有借書的權(quán)利。
4、 borrow():讀者借書函數(shù)。
5、 getreader():獲取讀者信息的函數(shù)。
6、 check():檢驗讀者是否符合借
13、書條件函數(shù)。
7、 getbookinf():獲取書目信息函數(shù)。
8、 check():檢查書籍是否被預(yù)約的函數(shù)。
9、 isBorrow():返回未被預(yù)約函數(shù)。
10、 builtinf():建立借閱信息函數(shù)。
11、 isBorrow():返回借閱信息函數(shù)。
12、 isBorrow():返回借閱成功函數(shù)。
13、 isBorrow:借閱成功,將書交給讀者。
借書時,讀者先將書拿予管理員,管理員對書籍和讀者進行檢驗,若書籍和讀者都符合借書條件,則借書成功。
2、還書時序圖
【還書時序圖說明】
1、 login():讀者將書籍交給管理員,管理員登錄系統(tǒng)。
14、2、 getbookinf():管理員掃描條形碼,獲取書籍信息函數(shù)。
3、 getborrowinf():獲取借閱信息函數(shù)。
4、 getborrowDate():獲取借閱時間函數(shù)。
5、 getnowDate():獲取現(xiàn)在時間函數(shù)。
6、 isOverDate():是否超出借閱時間函數(shù)。
7、 work():處理函數(shù),處理時間差。
8、 return:消息返回。
還書時,讀者先將書交給管理員,由管理員掃描書籍,若書籍沒有過期等違規(guī)現(xiàn)象,還書成功。
3、預(yù)約時序圖
【預(yù)約圖書時序圖說明】
1、 login():登錄系統(tǒng)。
2、 getbookinf():獲
15、取圖書信息函數(shù)。
3、 check():檢查是否有圖書可借函數(shù)。
4、 reservation():確定預(yù)約圖書函數(shù)。
5、 getboook():獲取預(yù)約圖書信息函數(shù)。
6、 built():建立預(yù)約信息函數(shù)。
7、 return:消息返回。
讀者在借書時,發(fā)現(xiàn)自己所需要借的書目無法借閱,進入預(yù)約界面,建立預(yù)約記錄。
五、狀態(tài)圖
【狀態(tài)圖說明】
書籍在未變成圖書館在庫書籍時,為新加書籍狀態(tài)。書籍處于在庫狀態(tài)時既可以預(yù)訂也可以外借,外借后變?yōu)榻璩鰻顟B(tài)。處于預(yù)訂狀態(tài)時也可以外借,超出預(yù)訂時間期限則從預(yù)訂狀態(tài)直接轉(zhuǎn)為可用狀態(tài)。借閱者在規(guī)定的預(yù)訂時間內(nèi)也可以考慮取消預(yù)訂,取
16、消預(yù)訂后書籍的狀態(tài)轉(zhuǎn)為可用。外借書籍歸還后變?yōu)榭捎脿顟B(tài)。
六、
六、活動圖
活動圖描述的是某流程中的任務(wù)的執(zhí)行,活動圖描述活動是如何協(xié)同工作的,當(dāng)一個操作必須完成一系列事情,而又無法確定以什么樣的順序來完成這些事情時,活動圖可以更清晰地描述這些事情。。在本圖書館管理系統(tǒng)中,我們主要描述了圖書館系統(tǒng)的借書、還書和預(yù)訂的活動圖。
(1) 借書活動圖
【借書活動圖說明】
管理員首先要掃描讀者的借書證,檢驗證件是否符合圖書館借書條件,若該讀者的借書數(shù)量還未達到最大規(guī)定數(shù)量,并且其所借書籍均未屬于過期范圍,則符合借書條件。則再掃描書籍條形碼,檢查書籍是否是不可借書籍或者已經(jīng)被預(yù)
17、訂,若被預(yù)訂,則取消預(yù)訂,方可借書。在這些條件都符合時則更新書籍信息和讀者的借閱信息,記錄好借書的時間。
(2) 還書活動圖
【還書活動圖說明】
圖書管理員對書籍進行掃描,若書籍已經(jīng)過期,則要求讀者還請欠款才能還書,讀者繳應(yīng)交罰款后,更新書目信息和讀者信息。
(3) 預(yù)訂圖書活動圖
【預(yù)訂書籍活動圖說明】
讀者先進入系統(tǒng)查詢自己所需要的書籍,顯示書籍信息,檢驗書籍是否屬于可預(yù)訂書籍,若符合條件則檢查書籍是否已經(jīng)被預(yù)訂或已經(jīng)被外借,若都未成立,則讀者登錄系統(tǒng),并對該書籍進行預(yù)訂。
圖書館管理系統(tǒng)的類圖
【類圖說明】
(1) reader類是借閱者的
18、類,它的屬性很多,包括借閱者的賬戶ID (reader_id)、姓名(reader_Name)、地址(Address)、班級(class)、所借書籍的書目(borrowed)等。其中主要操作有借書(addborrowed)和還書(deleteborrowed)和預(yù)訂(reservation)等。 (2) admin類是管理員類,他有編號和姓名屬性,操作主要是書籍的增刪改和 讀者的增刪改等等。
(3) Title 類是記錄書目信息的類,包括書籍的名字(name)、作者(author)、 book_id等屬性。
(4) Item 類是具體某本書的類,屬性包括書籍號(id)。操作包括預(yù)訂 (reserve)、按書目查找(find_on_title)等。
(5) borrow類是某本書的借閱信息類,包括所借閱書籍的ISBN、借閱的時間(date)等。
(6) Reservation類是預(yù)訂信息類,每個預(yù)訂信息包括預(yù)訂日期(date)、所預(yù)訂書籍的ISBN、預(yù)訂書籍的用戶ID(UserID)等屬性。
(7) persistent store類是書籍永久的存儲類,在數(shù)據(jù)庫中的存儲數(shù)據(jù),其他對與書籍有關(guān)的活動都要經(jīng)過其存儲類。、
15 / 15