圖書館借還書系統實驗報告_第1頁
圖書館借還書系統實驗報告_第2頁
圖書館借還書系統實驗報告_第3頁
圖書館借還書系統實驗報告_第4頁
圖書館借還書系統實驗報告_第5頁
已閱讀5頁,還剩8頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、圖書還借系統uml建模設計實驗報告 姓名:班級:計算機022學號:02095206日期:2005.06.11引言UML目前已近成為面向對象技術領域內占主導地位的標準建模語言,已經被越來越多的接受和使用。另一方面,應用軟件系統,就其本質來說,是使用計算機對現實世界進行的數字化模擬。應用軟件的制造過程,按照UML的方法,就是建立這一系列模型的過程。本文將用UML建模的方法設計一個圖書還借系統,使用rational rose工具,通過用例圖實現用戶的需求;類圖描述系統的類及類之間的關聯、添加系統中類的屬性和操作;順序圖和協作圖表達系統的對象和類之間的交互,從而建立一種通用的圖書還借系統模型。正文一、

2、實驗名稱: 圖書還借系統UML建模設計。二、實驗環境:硬件環境:微處理器:Pentium®90MHz或更高硬盤空間:至少4G內存:32M或者更高軟件環境:操作系統:中文Windows 98/2000/XP平臺開發軟件:Rational Rose 2003三、設計內容及過程:問題描述:圖書還借系統的基本業務包括:對一本書的借閱、歸還、預定以及取消預定等等。設計一個圖書還借系統,并用rational rose工具畫出各用例圖、類圖、順序圖以及協作圖來描述各個業務活動。基本需求:關于這個圖書館系統,基本的需求比較簡單,就是允許讀者可以在圖書館借閱、歸還、預定以及取消預定圖書。為了簡化系統,

3、我并沒有把圖書館中的人員作細分。圖書館里面的角色確認為圖書館管理人員(Librarian)和讀者(Reader)。圖書館管理人員是圖書館的員工,他們是系統的使用者,他們的工作就是和讀者打交道并在軟件系統的支持下工作。而讀者則是是客戶,客戶是指那些從圖書館借閱圖書的人。讀者不直接地與系統互動,他們的行為由圖書館人員來代為工作。另一方面,每種書的登記內容至少包括書號、現存量、總庫存量等三項。綜合分析,系統應實現的操作及其功能定義如下:a) 借閱:如果一種書的現存量大于零,則借出一本,登記借閱者的圖書證號和歸還期限。b) 歸還:勾銷對借閱者的登記,改變該書的現存量。c) 預定:讀者可以預定當前沒有的

4、圖書和雜志。這樣,當讀者所預定的圖書和雜志歸還回來或購進時,就通知預定讀者。d) 取消預定:當預定了某書的讀者者借閱了該書后預定就取消;或者通過顯式獨立的取消過程強行取消預定。 用例模型:用例模型描述了圖書還借系統在功能方面提供了什么的功能,是系統需求的獲取。總體上由“角色”和“用例”組成。在這個圖書館系統中,我們可以識別出的角色有讀者和圖書管理員。整個用例模型包含的用例有:借書、還書、預訂、取消預定。用例模型可以用用例圖表示如下:圖書館還借系統分析的結果做成UML用例圖,如圖所示。圖一 圖書還借系統用例圖其中,圖書還借系統的用例有:<!-if !supportLists->l&#

5、160;      <!-endif->借書(Borrow)<!-if !supportLists->l       <!-endif->返書(Return)<!-if !supportLists->l       <!-endif->約定(Reservation)<!-if !supportLists->l    

6、   <!-endif->取消預定(Cancel Reservation)而每個用例的描述則更詳細地描述用例和角色之間的交互。 由于用例比較多,這里僅對借書這個用例來做描述:l 名稱:借書”。 l 說明:讀者在圖書館挑選好需要的圖書后,通過圖書管理員把書借出去。 l 參與者:讀者,圖書管理員l 頻率:每天可能會有很多次。最繁忙的情況是,借書的人非常多,按照現在的速度,大約每分鐘完成一個人的結束工作。 l 前置條件:無l 后置條件:修改所借出的圖書的剩余數量。l 假設:借書者總是從圖書館找到書,然后才能拿書辦理借書手續,因此,總是有足夠的書可以出借。 l 基本操作

7、流程:借書成功。1)學生將所借圖書和借書證交給圖書管理員2) 圖書管理員將學生借書證號碼和所借圖書輸入系統3)系統校對借書信息,比對該學生以往借書情況和當前借書情況,如果不存在不允許借書的情況,則記錄借書交易的信息,并且修改相應的館藏圖書的數量信息。4) 如果該學生已經預訂了這本圖書,則撤銷該預定。5) 報告交易成功。l 可選操作流程:所借圖書超出最大借書數量。1) 學生將所借圖書和借書證交給圖書管理員2) 圖書管理員將學生借書證號碼和所借圖書輸入系統3)系統校對借書信息,比對該學生以往借書情況和當前借書情況,發現已超出最大借書數量,則停止當前交易,并且提示用戶錯誤原因。4)圖書管理員可以應學

8、生的意見,減少借書數量,并重新提交系統。靜態模型: 首先來分析借書這個用例。在這個用例中,我們首先可以識別出一些直接的對象,包括圖書管理員(Librarian)、讀者(Reader),然后,稍作分析,發現需要一個實體對象來記錄圖書的借還信息(BorrowInfo)。隨后,在借書的過程中,我們會使用到預定圖書的信息(ReservedInfo)。到這一步,我們基本完成了實體對象的識別。然后,我們發現我們需要一個借書的控制類(Borrow)來執行借書的動作。這樣,初步的模型就可以建立了。在此模型中,也需要識別出類的一些屬性和方法。例如,對于Reader類,我們需要Name、CardID、Passwo

9、rd和BorrowNo屬性,對于Book,我們只需要BooKID、CountNo、ReservedFlag等屬性。現在,我們為我們的類圖添加上述屬性,就可以得到下面的結果:圖二 圖書還借系統類圖以此類推,我們把還書、預定、撤銷預定這些用例一并分析后,我們就能夠得到整個系統的靜態分析模型。動態模型:在面向對象的系統中,業務流程表現為對象之間的交互。有了上面分析的得到的對象后,就可以來描述他們是怎么進行交互和協作的了。在UML中,我們可以使用順序圖、或者協作圖來建模這些動態的過程。同樣的,看借書這個用例。在借書這個用例中,有兩個事件流:借書成功(正常事件流)和所借圖書超出最大借書數量(非正常事件流

10、)。這里以“借書成功”這個事件流為例,下面是這個事件流的順序圖及其協作圖:l 借書順序圖及其協作圖:圖三 借書順序圖 Operation:1:Login()-登陸 2:Borrow()-借書 3:CheckCanBorrow()-檢查是否可借 4:GetBorrowedNo()-得到讀者已借書的數量 5:ValidMax()-讀者可借書的最大數量 6:BorrowOper()-進行借書操作 7:UpdateCurrentNo()-更新庫存書數量 8:CancelReservedOper()-取消預定操作 9,10,11:OKMessage-成功的消息返回 圖四 借書協作圖 同樣的,我們也可以為

11、其他三個用例的事件流創建動態模型,順序圖及其協作圖如下所示:l 還書順序圖及其協作圖:圖五 還書順序圖 Operation:1:Login()-登陸 2:Return()-還書 3:CheckOverdue ()-檢查是否過期 4:ReturnOper()-進行還書操作 5:UpdateCurrentNo()-更新庫存書數量 6:GetBorrowedNo()-得到讀者已借書的數量 7:UpdateValidMax()-更新讀者可借書的最大數量 8,9:OKMessage-成功的消息返回圖六 還書協作圖l 預定順序圖及其協作圖:圖七 預定順序圖 Operation:1:Login()-登陸 2

12、:Reserved()-預定 3:ReservedOper ()-預定操作 4:SetFlagOn() -預定書籍標記置1 5,6:OKMessage-成功的消息返回圖八 預定協作圖l 取消預定順序圖及其協作圖圖九 撤銷預定順序圖 Operation:1:Login()-登陸 2:CancelReserved()-取消預定 3:CancelReservedOper ()-取消預定操作 4:SetFlagOff() -預定書籍標記置0 5,6:OKMessage-成功的消息返回圖十 撤銷預定協作圖四、實驗總結:初次接觸Rational Rose,發現是比較容易上手,非常的use friendly。Rose 真是一個不錯的輔助工具。動態模型和靜態模型的建立是一個交互的過程。在建立動態模型的過程中,有可能會發現一些新的類,也會為已有的類找到一些新的屬性和方法,這樣,在這個過程中就需要去修改與設計的類圖,反之亦然。由于是第一次設計建模,我選了在功能上較易理解的“

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論