面向对象实例分析(图书管理系统)_第1页
面向对象实例分析(图书管理系统)_第2页
面向对象实例分析(图书管理系统)_第3页
面向对象实例分析(图书管理系统)_第4页
面向对象实例分析(图书管理系统)_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、图书馆管理系统的分析图书馆管理系统的分析 1 . 标识参与者 参与者是在业务中扮演某个角色的人、部门或者独立的软 件系统。一般来说,参与者使用系统或给系统提供服务。 图书管理系统的参与者: 借阅者:可以通过网络查询书籍信息和预定书籍,借阅者 能够借阅书籍和还书。 图书管理员:能够处理借阅者的借阅和还书请求。 系统管理员:可以对系统的数据进行维护,如增加、删除 和更新书目,增加、删除和更新借阅者帐户,增加和删除 书籍。 2.标识用例 有了参与者后,下一个任务就是标识业务用例。每个用例 都是业务系统的一部分。 如何把业务分解为用例没有普遍的规则可遵循,一般说来, 常识、逻辑和经验对此有一定的帮助。

2、 可以向每个参与者提出以下问题: “你完成你的业务的重要活动是什么?”,把所有参与者 回答的问题,要完成的活动或任务整理成用例。 图图1 借阅者请求服务的用例图借阅者请求服务的用例图 (1)Serch for Book:书籍查询用例。:书籍查询用例。 (2)Reserve the book:书籍预订用:书籍预订用 例。例。 (3)Logon the system:登录系统。:登录系统。 用户可以登录系统以便进行借阅信用户可以登录系统以便进行借阅信 息查询以及预订书籍等操作。息查询以及预订书籍等操作。 (4)Query Info:查询借阅信息。:查询借阅信息。 (5)Borrow the boo

3、k:借阅书籍。:借阅书籍。 (6)Return the book:归还书籍。:归还书籍。 (7)Return With Fine:还书时交纳罚:还书时交纳罚 金。如果借阅者所借书籍超过借阅金。如果借阅者所借书籍超过借阅 期限未还,还书的时候就要交纳一期限未还,还书的时候就要交纳一 定的罚金。定的罚金。 借阅者请求服务的用例图 图书馆管理员处理借书、还书等的用例图 图图 2 图书馆管理员处理借书、还书等的用例图图书馆管理员处理借书、还书等的用例图 (1)Get book:书籍归:书籍归 还处理。还处理。 (2)Lend book:书籍借:书籍借 阅处理。阅处理。 (3)Remove Reserv

4、ation: 删除书籍预订信息。删除书籍预订信息。 (4)Get With Fine:还书:还书 时收取罚金。时收取罚金。 (5)Check user count: 检查用户借阅凭证的合检查用户借阅凭证的合 法性。法性。 系统管理员进行系统维护的用例图 图图3 系统管理员进行系统维护的用例图系统管理员进行系统维护的用例图 (1)Query Borrower Info:查询:查询 读者信息。读者信息。 (2)Query Book Info:查询书籍:查询书籍 信息。信息。 (3)Add Title:增加书目。:增加书目。 (4)Remove or Update Title:删:删 除或更新书目。

5、除或更新书目。 (5)Add Book:增加书籍。:增加书籍。 (6)Remove Book:删除书籍。:删除书籍。 (7)Add Borrower:添加借阅者:添加借阅者 账户。账户。 (8)Remove or Update Borrower: 删除或更新借阅者账户信息。删除或更新借阅者账户信息。 1. 系统管理员添加书籍的时序图 : Item : Administrator : Maintenance Window : Title 1: add item( ) 4: create(Integer, Title) Check if corresponding title exist 2: f

6、ind(String) 3: return true 图4 系统管理员添加书籍的时序图 实现用例的时序图 (1)add Item(): 添加书籍函数。添加书籍函数。 (2)find(String): 根据书籍查找相根据书籍查找相 应书目的函数。应书目的函数。 (3) create(integer,Title): 修改书籍数目的函数。修改书籍数目的函数。 2.系统管理员添加借阅者帐户的时序图 : Borrower : Administrator : Maintenance Window 1: create borrower( ) 2: create(String, String) 图图5 系统管

7、理员添加借阅者帐户的时序图系统管理员添加借阅者帐户的时序图 Create(String,String): 添加新的借阅者账户添加新的借阅者账户 的函数。的函数。 3. 系统管理员删除书目的时序图 图图 6 系统管理员删除书目的时序图系统管理员删除书目的时序图 (1)find(String): 书目类的查找函数。书目类的查找函数。 (2) find_on_title(Title): 查找此书目下书籍信查找此书目下书籍信 息的函数。息的函数。 (3)destroy: 删除书籍信息的函数。删除书籍信息的函数。 (4)destroy: 删除书目信息的函数。删除书目信息的函数。 4. 图书管理员处理书籍

8、借阅的时序图 (1)find(String): 查找书目的函数。查找书目的函数。 (2)find_item():查找所:查找所 要书籍的函数。要书籍的函数。 (3)find_on_title(Title): 根据书目名从数据库中找根据书目名从数据库中找 到书目信息的函数。到书目信息的函数。 (4)identify_borrower(): 验证借阅者身份的函数。验证借阅者身份的函数。 (5)find(String):根据借:根据借 阅者的登录账号找到借阅阅者的登录账号找到借阅 者信息的函数。者信息的函数。 (6) create(Borrower,item): 修改借阅信息的函数。修改借阅信息的函

9、数。 图图7 图书管理员处理书籍借阅的时序图图书管理员处理书籍借阅的时序图 5. 图书管理员处理书籍归还的时序图 : Borrower : Librarian : Return Window : Item : Loan 1: give the book 2: return item( ) 3: check( ) 4: ok 5: update( ) 6: update( ) 图图8 图书管理员处理书籍归还的时序图图书管理员处理书籍归还的时序图 (1)check(): 检查书籍状况的函数。检查书籍状况的函数。 (2)update(): 更新书籍类信息的函数。更新书籍类信息的函数。 (3)upda

10、te(): 更新借阅者借阅信息的更新借阅者借阅信息的 函数。函数。 6. 借阅者查询书籍信息的时序图 : Borrower : Maintenance Window : Item 1: QueryBook( ) 2: find_on_title(Title) 图图9 借阅者查询书籍信息的时序图借阅者查询书籍信息的时序图 Find_on_title(): 根据书目查找到相应的书籍信息。根据书目查找到相应的书籍信息。 7. 借阅者预订书籍的时序图 theBorrower : Borrower Web Application theTitle : Title 1: Login 2: find(Str

11、ing) 3: Return true 4: reserve( ) 图图10 借阅者预订书籍的时序图借阅者预订书籍的时序图 (1)Login: 登录系统的函数。登录系统的函数。 (2)Find(String): 查找相应的书目的查找相应的书目的 函数。函数。 (3)Reserve(): 预订书籍的函数。预订书籍的函数。 实现用例的协作图 1. 系统管理员添加书籍的协作图 : Administrator : Maintenance Window : Item : Title 1: add item( )3: update( ) 2: find(String) (1)add Item():添加书籍

12、的函数。:添加书籍的函数。 (2)find(String):根据书籍名查找相应书目的函数。:根据书籍名查找相应书目的函数。 (3)update():修改某类书目下书籍数量的函数。:修改某类书目下书籍数量的函数。 2 图书管理员处理借书的协作图 : Administrator : Lend Window 2: find reservation( ) : Reservation : Title : Item : Loan 7: check_if_max( ) 1: identify borrower( ) 3: find(Borrower, Title) 4: borrow( ) 6: borro

13、w( ) 5: update( ) identify_borrower():验证:验证 借阅者身份的函数。借阅者身份的函数。 find_reservation():查找预:查找预 订信息的函数。订信息的函数。 find(Borrower,Title):根据:根据 借阅者和借阅的书籍名找到借阅者和借阅的书籍名找到 相应预订信息的函数。相应预订信息的函数。 borrow():处理借书的函数。:处理借书的函数。 update():更新某一书目下:更新某一书目下 书籍数量的函数。书籍数量的函数。 check_if_max():检查借阅:检查借阅 凭证所借书籍数目是否已经凭证所借书籍数目是否已经 超过最

14、大限额的函数。超过最大限额的函数。 3. 图书管理员处理还书的协作图 : Librarian : Return Window : Loan : Title : Item 1: find borrower( ) 2: find(String)5: return_back( ) 3: return_back( ) 4: update( ) find_borrower():查找借阅者信息的函数。:查找借阅者信息的函数。 find(String):根据借阅者查找借阅信息的函数。:根据借阅者查找借阅信息的函数。 return_back():处理还书的函数。:处理还书的函数。 update():更新书籍数

15、目函数。:更新书籍数目函数。 对象的状态图 1. 书的状态图 New book:还未入库的新书。:还未入库的新书。 Delete:已经从书库里删除的书。:已经从书库里删除的书。 Available:书籍处于可用状态,即:书籍处于可用状态,即 可以外借的状态。可以外借的状态。 Reserved:预订状态。:预订状态。 Borrowed:借出状态。:借出状态。 书籍处于可用(书籍处于可用(Available)状态时既)状态时既 可以预订也可以外借,外借后变为借阅可以预订也可以外借,外借后变为借阅 (Borrower)状态。)状态。 处于预订(处于预订(Reserved)状态时可以外借,)状态时可以

16、外借, 超出预订时间期限则从预订状态直接转超出预订时间期限则从预订状态直接转 为可用状态。借阅者在规定的预订时间为可用状态。借阅者在规定的预订时间 内也可以考虑取消预订,取消预订后书内也可以考虑取消预订,取消预订后书 籍的状态转为可用。外借书籍归还后变籍的状态转为可用。外借书籍归还后变 为可用状态。为可用状态。 2.借阅者帐户的状态图 New Borrower:新加入的借阅者的账户。:新加入的借阅者的账户。 Account Available:借阅账户为可用状态,即未达到:借阅账户为可用状态,即未达到 所规定的书籍借阅数目上限。所规定的书籍借阅数目上限。 Account Unavailable

17、:借阅账户为不可用状态,即:借阅账户为不可用状态,即 所借的书籍数已达到规定的书籍借阅数目上限,不能所借的书籍数已达到规定的书籍借阅数目上限,不能 再借阅书籍了。再借阅书籍了。 Delete Account:个人账户被删除状态。:个人账户被删除状态。 参与者的活动图 1. 借阅者的活动图 (1) Self-help Service: 打开图书馆负责自助服务的计打开图书馆负责自助服务的计 算机。算机。 (2) Search for books: 查询需要的书籍。查询需要的书籍。 (3) Login:登录管理系统。:登录管理系统。 (4) View book information: 查看书籍信息

18、。查看书籍信息。 (5) Reserve the book: 预订书籍。预订书籍。 (6) Exit System: 退出系统。退出系统。 (7) Leave Computer: 离开自助服务的计算机。离开自助服务的计算机。 2. 2. 图书管理员的活动图图书管理员的活动图 Login the system: 图书管理员登录系统。图书管理员登录系统。 Get book: 处理还书操作。处理还书操作。 Lend book: 处理借书操作、处理借书操作、 Update borrowers information: 更新借阅者借阅凭证上的信息。更新借阅者借阅凭证上的信息。 Accept money:

19、 收取罚金。收取罚金。 系统管理员维护借阅者帐户系统管理员维护借阅者帐户 系统管理员进行书目信息维护系统管理员进行书目信息维护 系统管理员维护书籍信息系统管理员维护书籍信息 系统管理员登录系统后,可以进行添加书籍、删除系统管理员登录系统后,可以进行添加书籍、删除 书籍等活动。书籍等活动。 3.系统管理员维护书籍信息的活动图 lOperation on borrower: l对借阅者账户操作。 lQuery borrower info: l查询借阅者信息。 lNew borrower: l添加新的借阅者账户。 lRemove or Update borrower: 删除或更新借阅 者账户。 Op

20、eration on title: 对书目进行操作。 Query title: 查询书目信息。 New title: 增加新的书目。 Remove or update title: 删除或更新书目。 Operation on book: 对书籍进行操作。 Add book: 增加书籍信息。 Remove book: 删除书籍信息。 系统中的类 1参与者相关的类 Borrower 类是借阅者的类,它的类是借阅者的类,它的 属性很多,包括借阅者的账户属性很多,包括借阅者的账户ID (UserID)、姓名()、姓名(Name)、地)、地 址(址(Address)、邮编()、邮编(Zip)、所)、所

21、借书籍的书目(借书籍的书目(borrow_number) 等等.其中主要操作有借书其中主要操作有借书(borrow) 和还书和还书(return_back)。 Librarian类是图书管理员的类,包类是图书管理员的类,包 括工作帐号(括工作帐号(WorkID)、名字)、名字 (Name)和地址()和地址(Address)等属)等属 性。性。 Administrator 类是系统管理员类。类是系统管理员类。 2.2.系统中其它的类系统中其它的类 Title类是记录书目信息的类,包括书籍的名字(name)、 作者(author)、ISBN、此种书籍总数量 (total_number)、借出的数量

22、(borrowed_number)、是 否允许借出 (isAllowForBorrow)等属性。 Item类是具有某本书的类,包括书籍号(id)。操作包括 预订(reserve)、按书目查找(find_on_title)等。 Loan类是某本书的借阅信息类,包括所借阅书籍的ISBN、 借阅的时间(date)等。 Reservation类是预订信息类,每个预订信息包括预订日期 (date)、所预订书籍的ISBN、预订书籍的用户ID (UserID)等属性。 3.各个类之间的关系各个类之间的关系 系统的配置与实现系统的配置与实现 1 1 系统的组件图系统的组件图 图书管理系统主要有两个组件图:业务对象组件图,用户界面的组件图。图书管理系统主要有两个组件图:业务对象组件图,用户界面的组件图。 业务对象组件图业务对象组件图 用户界面的组件图 UpdateBorrowerFrame.java BorrowerFrame.java CancelReservationFrame.ja

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论