图书管理系统
课题名称:指导教师:专业班级:姓 名:学 号:
图书管理系统 完成日期:2014年6月
目 录
1 图书管理系统的需求分析 . .......................................................................................................... 4
1.1 图书借阅者的需求 . ........................................................................................................... 4 1.2 图书馆管理员的需求 . ....................................................................................................... 4 1.3系统管理员的需求 . ............................................................................................................ 4 2 图书管理系统的UML 建模 ......................................................................................................... 4
2.1标识参与者 . ........................................................................................................................ 4 2.2 标识用例 . ......................................................................................................................... 5
2. 2.1借阅者请求服务的用例图 . .................................................................................... 5 2.2.2 图书馆管理员处理借书、还书等的用例图 . ........................................................ 6 2.2.3系统管理员进行系统维护的用例图 . ..................................................................... 6 2.3实现用例的时序图 . ............................................................................................................ 7
2.3.1 系统管理员添加书籍的时序图 . ............................................................................ 7 2.3.2系统管理员添加借阅者帐户的时序图 . ................................................................. 8 2.3.3系统管理员删除书目的时序图 . ............................................................................. 9 2.3.4 图书管理员处理书籍借阅的时序图 . .................................................................... 9 2.3.5 图书管理员处理书籍归还的时序图 . .................................................................. 10 2.3.6 借阅者查询书籍信息的时序图 . .......................................................................... 11 2.3.7借阅者预订书籍的时序图 . ................................................................................... 12 2.4实现用例的协作图 . .......................................................................................................... 12
2.4.1系统管理员添加书籍的协作图 . ........................................................................... 12 2.4.2系统管理员删除书籍的协作图 . ........................................................................... 13 2.4.3图书管理员处理借书的协作图 . ........................................................................... 13 2.4.4图书管理员处理还书的协作图 . ........................................................................... 14 2.4.5借阅者预订书籍的协作图 . ................................................................................... 15 2.5对象的状态图 . .................................................................................................................. 15
2.5.1书的状态图 . ........................................................................................................... 15 2.5.2借阅者帐户的状态图 . ........................................................................................... 16 2.6参与者的活动图 . .............................................................................................................. 17
2.6.1借阅者的活动图 . ................................................................................................... 17 2.6.2图书管理员的活动图 . ........................................................................................... 18 2.6.3系统管理员的活动图 . ........................................................................................... 19
3 系统中的类................................................................................................................................. 21
3.1系统中主要的类: . .......................................................................................................... 21
3.1.1参与者相关的类 . ................................................................................................... 21 3.1.2系统中用到的其它的类 . ....................................................................................... 22 3.2各个类之间的关系 . .......................................................................................................... 23 4系统的配置与实现 . ............................................................................................................. 24 4.1系统的组件图 . .................................................................................................................. 24
4.1.1业务对象组件图 . ................................................................................................... 25 4.1.2 用户界面的组件图 . .............................................................................................. 25 4.2系统的配置图 . .................................................................................................................. 26 5 小结 ............................................................................................................................................ 27
6 参考文献..................................................................................................................................... 27
1 图书管理系统的需求分析
立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。图书馆管理系统需要满足三个方面的需求,这三个方面分别是图书借阅者、图书馆管理员和图书系统管理人员。借阅者的需求是查询图书馆所存的图书、个人借阅情况和个人信息的修改;图书馆管理员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书记录;系统管理员可以对系统的数据进行维护,如增加、删除和更新图书目录,增加、删除和更新借阅者账户,增加和删除图书。
1.1 图书借阅者的需求
图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人的图书证号和密码登录系统,还可以进行个人的借书情况的查询并维护部分个人信息。一般情况下,图书借阅者只应该查询和维护个人的借书情况和信息,若查询和维护其他的借阅者的信息和借阅情况,就要知道其他借阅者的借书证号和密码。这些是很难得到的特别是密码,所以 不但满足了图书借阅者的需求而且还保护了图书借阅者的个人隐私。
1.2 图书馆管理员的需求
图书馆管理员有修改图书借阅者的借书和还书记录的权限,在此模块中,图书馆管理员可以为图书借阅者加入借书记录后还书记录。
1.3系统管理员的需求
图书馆系统管理员功能的信息量大,数据安全性和保密性要求最高。本功能实现对图书信息、借阅证信息、总体借阅情况信息的管理和信息查看及维护。图书馆系统管理员可以浏览、查询、添加、删除、修改图书的基本信息;浏览、查询、添加、删除和修改图书借阅者的基本信息,但不能添加、删除和修改借阅信息,这部分功能应该由图书馆管理员来执行,但是,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。总之本系统功能需求包括下面的几个方面和几个功能模块。
2 图书管理系统的UML 建模
2.1标识参与者
参与者是在业务中扮演某个角色的人、部门或独立的软件系统。一般来说,参与者使用系统或为系统提供服务。
图书管理系统的参与者介绍如下:
(1)借阅者:可以通过网络查询书籍信息和预定书籍,借阅者能够借阅书籍和还书。 (2)图书管理员:能够处理借阅者的借阅和还书请求。
(3)系统管理员:可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者账户,增加和删除书籍。
2.2 标识用例
2. 2.1借阅者请求服务的用例图
借阅者请求服务是涉及7个用例,如图1所示。 下列是用例图的说明:
(1)Search for book:书籍查询用例。 (2)Reserve the book:书籍预定用例。
(3)Logon the system:登录系统。用户可以登录系统以便进行借阅信息查询以及预定书籍等操作。
(4)Query Info:借阅查询信息。 (5)Borrow the book:借阅书籍。 (6)Return the book:归还书籍。
(7)Return With Fine:还书时缴纳罚金。如果借阅者所借书籍超过借阅期未还,还书时候就要缴纳一定的罚金。
Return the bookReturn With Fine
图1 借阅者请求服务用例图
2.2.2 图书馆管理员处理借书、还书等的用例图
图书管理员处理借书、还书等涉及5个用例,如图2所示。 下列是用例的说明:
(1)Get book:书籍归还处理。 (2)Lend book:书籍借阅处理。
(3)Remove Reservation:删除书籍预订信息。 (4)Get With Fine:还书时收取罚金。
(5)Check user count:检查用户借阅凭证的合法性。图书管理员在借阅者借书的时候要检查用户借阅凭证的合法性。
Remove Reservation
图2 图书管理员处理借书、还书等用例图
2.2.3系统管理员进行系统维护的用例图
系统管理员维护系统时涉及8个用例,如图3所示。 下列是用例的说明:
(1)Query Borrower Info:查询读者信息。 (2)Query Book Info:查询书籍信息。
(3)Add Title:增加书目。
(4)Remove or Update Title:删除或更新书目。 (5)Add Book:增加书籍。 (6)Remove Book:删除书籍。
(7)Add Borrower:添加借阅者账户。
(8)Remove or Update Borrower:删除或更新借阅者账户信息
Administrator
图3 系统管理员进行系统维护用例图
2.3实现用例的时序图
2.3.1 系统管理员添加书籍的时序图
系统管理员添加书籍的时序图如图4所示。 下列是时序图的说明:
(1)add Item():添加书籍函数。
(2)find(String):根据书籍查找相应书目的函数。 (3)create(integer,Title):修改书籍数目的函数。
注:添加书籍时,系统管理员首先与系统的维护窗口交互,查找有没有相应的书目信息。如果有,直接添加,如果没有,要创建新的书目。
Check if
title exist
图4 系统管理员添加书籍的时序图
2.3.2系统管理员添加借阅者帐户的时序图
系统管理员添加借阅者账户的时序图如图5所示。 下列是时序图说明:
(1)
Create(String,String):添加新的借阅者账户的函数。
注:系统管理员要添加新的借阅者账户,首先要与维护窗口交互,维护窗口负责创建一个新的借阅者账户。
图5 系统管理员添加借阅者账户时序图
2.3.3系统管理员删除书目的时序图
系统管理员删除书目的时序图如图6所示。 下列是时序图说明:
(1)find(String):书目类的查找函数。
(2)find_on_title(Title):查找此书目下书籍信息的函数。 (3)destroy :删除书籍信息的函数。 (4)destroy :删除书目信息的函数。
注:系统管理员与系统的维护窗口交互,查找到相应的书目及书籍信息并删除。
items first
图6 系统管理员删除书目的时序图
2.3.4 图书管理员处理书籍借阅的时序图
图书管理员处理书籍借阅的时序图如图7所示。 下列是时序图的有关说明:
(1)find(String):查找书目的函数。 (2)find_item():查找所要书籍的函数。
(3)find_on_title(Title):根据书目名从数据库中找到书目信息的函数。 (4)identify_borrower():验证借阅者身份的函数。
(5)find(String):根据借阅者的登录账号找到借阅者信息的函数。 (6)create(Borrower,item):修改借阅信息的函数。
图7 图书管理员处理图书借阅的时序图
2.3.5 图书管理员处理书籍归还的时序图
图书管理员处理书籍归还的时序图如图8所示。 有关时序图说明:
(1)check():检查书籍状况的函数。 (2)update():更新书籍类信息的函数。 (3)update():更新借阅者借阅信息的函数。
注:图书管理员处理还书时,首先从借阅者手里接过书籍,然后与还书窗口交互,还书窗口负责检查书籍状况,然后更新书籍信息和读者的借阅信息。
图8 图书管理员处理书籍归还的时序图
2.3.6 借阅者查询书籍信息的时序图
借阅者查询书籍的时序图如图9所示。 下列是时序图说明:
(1)Fine_on_title(Title):根据书目查找到相应的书籍信息。
图9 借阅者查询书籍的时序图
2.3.7借阅者预订书籍的时序图
借阅者预订书籍的时序图如图10所示。 时序图说明如下:
(1)Login :登录系统的函数。
(2)Find(String):查找相应的书目的函数。 (3)Reserve():预订书籍的函数。
注:借阅者首先与系统的网络模块交互,如果找到要预订的书籍,就将预订的信息添加进去。
图10 借阅者预定书籍的时序图
2.4实现用例的协作图
2.4.1系统管理员添加书籍的协作图
系统管理员添加书籍的协作图如图11所示。 以下是协作图说明:
(1)add item():添加书籍的函数。
(2)find(String):根据书籍名查找相应书目的函数。 (3)update():修改某类书目下书籍数量的函数。
图11 系统管理员添加书籍的协作图
2.4.2系统管理员删除书籍的协作图
系统管理员删除书籍的协作图如图12所示。 以下是协作图说明:
(1)remove_item():删除书籍的函数。
(2)find(String):根据书籍名查找相应书目的函数。 (3)update():修改某类书目下书籍数量的函数。
图12 图书管理员删除书籍的协作图
2.4.3图书管理员处理借书的协作图
图书管理员处理借书的协作图如图13所示 以下是协作图说明:
(1)identify_borrower():验证借阅者身份的函数。
(2)find_reservation():查找预订信息的函数。
(3)find(Borrower,Title):根据借阅者和借阅的书籍名找到相应预订信息的函数。 (4)borrow():处理借书的函数。
(5)update():更新某一书目下书籍数量的函数。
(6)check_if_max():检查借阅凭证所借书籍数目是否已经超过最大限额的函数。
图13 图书管理员处理借书的协作图
2.4.4图书管理员处理还书的协作图
图书管理员处理还书的协作图如图14所示。 以下是协作图说明:
(1)find_borrower():查找借阅者信息的函数。
(2)find(String):根据借阅者查找借阅信息的函数。 (3)return_back():处理还书的函数。 (4)update():更新书籍数目函数。
图14图书管理员处理还书的协作图
2.4.5借阅者预订书籍的协作图
借阅者预订书籍的协作图如图15所示。 以下是协作图说明:
(1)identify_borrower():验证借阅者身份的函数。 (2)find(String):根据书籍名称查找书目信息的函数。 (3)reserve():预订某一书目下的书籍的函数。 (4)create(Title,Borrower):修改预订信息的函数。
图15借阅者预订书籍的协作图
2.5对象的状态图
2.5.1书的状态图
书的状态图如图16所示。 下列是状态图的说明:
(1)New book:还未入库的新书。 (2)Delete :已经从书库里删除的书。
(3)Available :书籍处于可用状态,即可以外借的状态。 (4)Reserved :预订状态。 (5)Borrowed :借出状态。
注:书籍处于可用(Available )状态时既可以预订也可以外借,外借后变为借阅(Borrower )状态。处于预订(Reserved )状态时可以外借,超出预订时间期限则从预订状态直接转为可用状态。借阅者在规定的预订时间内也可以考虑取消预订,取消预订后书籍的状态转为可用。外借书籍归还后变为可用状态。
图16书的状态图
2.5.2借阅者帐户的状态图
借阅者帐户的状态图如图17所示 下列是状态图的说明:
(1)New Borrower:新加入的借阅者的账户。
(2)Account Available:借阅账户为可用状态,即未达到所规定的书籍借阅数目上限。 (3)Account Unavailable:借阅账户为不可用状态,即所借的书籍数已达到规定的书籍借阅数目上限,不能再借阅书籍了。
(4)Delete Account:个人账户被删除状态。
注:借阅者的账户刚被管理员加入时处于新帐户(New Borrower)状态,当管理员添加借阅权限后就变为可用(Account Available )状态,当所借书籍数已达到规定的书籍借阅数目上限时,变为不可用状态(Account Unavailable )状态,当账户被系统管理员删除后,变为删除(Delete )状态。
图17借阅者帐户的状态图
2.6参与者的活动图
2.6.1借阅者的活动图
借阅者的活动图如图18所示。 下列是活动图的说明:
(1) Self-help Service: 打开图书馆负责自助服务的计算机。 (2) Search for books: 查询需要的书籍。 (3) Login :登录管理系统。
(4) View book information: 查看书籍信息。 (5) Reserve the book: 预订书籍。 (6) Exit System: 退出系统。
(7) Leave Computer: 离开自助服务的计算机。
注:借阅者进行自助服务时,可以首先登录系统,然后进行书目查询、书籍信息查询、书籍预订等活动,也可以先查询书目和书籍信息后登录系统预订书籍。
图18借阅者的活动图
2.6.2图书管理员的活动图
图书管理员的活动图如图19所示。 下列是活动图说明:
(1)Login the system: 图书管理员登录系统。 (2)Get book: 处理还书操作。 (3)Lend book: 处理借书操作、
(4)Update borrower’s information: 更新借阅者借阅凭证上的信息。 (5)Accept money: 收取罚金。
注:1,图书管理员可以处理两种情况,借书操作和还书操作。当用户借书时,图书管理员要查看借阅者凭证上显示的可借书的数目是否满足要求;当用户还书时,图书管理员要查阅所借书籍是否已经超过期限,如果超期,要收取一定的罚金。,2,系统管理员登录系统后,可以进行查阅书目信息、添加书目、删除或更新书目等活动。
图19图书管理员的活动图
2.6.3系统管理员的活动图
注:系统管理员登录系统后,可以进行添加书籍、删除书籍等活动。 以下是活动图的说明:
(1)Login the system: 登录系统。
(2)Operation on borrower: 对借阅者账户操作。 (3)Operation on title: 对书目进行操作。 (4)Operation on book: 对书籍进行操作。 (5)Query borrower info: 查询借阅者信息。 (6)New borrower: 添加新的借阅者账户。
(7)Remove or Update borrower: 删除或更新借阅者账户。 (8)Query title: 查询书目信息。 (9)New title: 增加新的书目。
(10)Remove or update title: 删除或更新书目。
(11)Add book: 增加书籍信息。 (12)Remove book: 删除书籍信息。 (13)Exit the system: 退出系统。
图20-1系统管理员维护借阅者帐户的活动图:
图20-2系统管理员进行书目信息维护的活动图
:
图20-3系统管理员维护书籍信息的活动图:
3 系统中的类
3.1系统中主要的类:
3.1.1参与者相关的类
下列是类图的说明:
(1)Borrower 类是借阅者的类,它的属性很多,包括借阅者的账户ID (UserID )、姓名(Name )、地址(Address )、邮编(Zip )、所借书籍的书目(borrow_number)等. 其中主要操作有借书(borrow)和还书(return_back)。
(2)Librarian 类是图书管理员的类,包括工作帐号(WorkID )、名字(Name )和地址(Address )等属性。
(3)Administrator 类是系统管理员类。
图21 参与者相关的类
3.1.2系统中用到的其它的类
类图说明如下:
下列是类图的说明:
(1)Title 类是记录书目信息的类,包括书籍的名字(name )、作者(author )、ISBN 、此种书籍总数量(total_number)、借出的数量(borrowed_number)、是否允许借出 (isAllowForBorrow )等属性。
(2)Item 类是具有某本书的类,包括书籍号(id )。操作包括预订(reserve )、按书目查找(find_on_title)等。
(3)Loan 类是某本书的借阅信息类,包括所借阅书籍的ISBN 、借阅的时间(date )等。
(4)Reservation 类是预订信息类,每个预订信息包括预订日期(date )、所预订书籍的ISBN 、预订书籍的用户ID (UserID )等属性。
图22系统中用到的其它的类
3.2各个类之间的关系
下列是类图的有关说明:
Title 类是书库里的一条记录,而Item 类是指具体的书籍。现实世界里,每条记录都会有多本术存在,所以Title 与Item 之间是一对多的关系;Title 与Reservation 之间也是一对多的关系,也就是说Title 可以有多个预订记录,但是也可以没有预订记录。Item 与Reservation 之间是一对一的关系,不可能存在同一本书被两个人预订的情况;Borrower 与Loan 以及Borrower 与Reservation 之间是一对多的关系。
图23各类之间的关系
4系统的配置与实现
4.1系统的组件图
图书管理系统主要包括两个组件图:业务对象组件图和用户界面组件图。
4.1.1业务对象组件图
Item.java Loan.java BorrowerInformation.java
图24 业务对象组件图
4.1.2 用户界面的组件图
UpdateBorrowerFrame.jav
a BorrowerFrame.jav
a MainWindow.jav
a
CancelReserv ation.jav
a BrowseWindow.jav
a Reserv ationFrame.jav
a
FindBorrowerDialog.jav
a ReturnItemFrame.jav
a TitleInforWindow.jav
a
LendItemFrame.jav
a
a
BorrowerInforWindow.jav
a
UpdateTitleFrame.jav
a TitleFrame.jav
a AboutDialog.jav
a
MessageBox.jav
a QuitDialog.jav
a ResultOfFindBorrower.jav
a ResultOfFindTitle.jav a
图25 用户界面组件图
4.2系统的配置图
系统的配置图主要用来说明如何配置系统的软件和硬件。系统由5个节点构成,应用服务器负责整个系统的总体协调工作;数据库负责管理数据;Web 应用程序模块用于借阅者进行书籍查询、网上书籍预定;业务操作模块用于处理读者借书、还书等一般业务流程;信息维护模块用于系统管理员维护整个系统的数据信息。
图26系统的配置图
5 小结
这次的课程设计,对我来说,是一次尝试与创新,也是一个挑战的过程。以前实践太少,现在利用所学知识将理论与实践相结合。在具体的设计与实施中,我看到一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,深刻感受。
6 参考文献
[1] UML统一建模实用教程
图书管理系统
课题名称:指导教师:专业班级:姓 名:学 号:
图书管理系统 完成日期:2014年6月
目 录
1 图书管理系统的需求分析 . .......................................................................................................... 4
1.1 图书借阅者的需求 . ........................................................................................................... 4 1.2 图书馆管理员的需求 . ....................................................................................................... 4 1.3系统管理员的需求 . ............................................................................................................ 4 2 图书管理系统的UML 建模 ......................................................................................................... 4
2.1标识参与者 . ........................................................................................................................ 4 2.2 标识用例 . ......................................................................................................................... 5
2. 2.1借阅者请求服务的用例图 . .................................................................................... 5 2.2.2 图书馆管理员处理借书、还书等的用例图 . ........................................................ 6 2.2.3系统管理员进行系统维护的用例图 . ..................................................................... 6 2.3实现用例的时序图 . ............................................................................................................ 7
2.3.1 系统管理员添加书籍的时序图 . ............................................................................ 7 2.3.2系统管理员添加借阅者帐户的时序图 . ................................................................. 8 2.3.3系统管理员删除书目的时序图 . ............................................................................. 9 2.3.4 图书管理员处理书籍借阅的时序图 . .................................................................... 9 2.3.5 图书管理员处理书籍归还的时序图 . .................................................................. 10 2.3.6 借阅者查询书籍信息的时序图 . .......................................................................... 11 2.3.7借阅者预订书籍的时序图 . ................................................................................... 12 2.4实现用例的协作图 . .......................................................................................................... 12
2.4.1系统管理员添加书籍的协作图 . ........................................................................... 12 2.4.2系统管理员删除书籍的协作图 . ........................................................................... 13 2.4.3图书管理员处理借书的协作图 . ........................................................................... 13 2.4.4图书管理员处理还书的协作图 . ........................................................................... 14 2.4.5借阅者预订书籍的协作图 . ................................................................................... 15 2.5对象的状态图 . .................................................................................................................. 15
2.5.1书的状态图 . ........................................................................................................... 15 2.5.2借阅者帐户的状态图 . ........................................................................................... 16 2.6参与者的活动图 . .............................................................................................................. 17
2.6.1借阅者的活动图 . ................................................................................................... 17 2.6.2图书管理员的活动图 . ........................................................................................... 18 2.6.3系统管理员的活动图 . ........................................................................................... 19
3 系统中的类................................................................................................................................. 21
3.1系统中主要的类: . .......................................................................................................... 21
3.1.1参与者相关的类 . ................................................................................................... 21 3.1.2系统中用到的其它的类 . ....................................................................................... 22 3.2各个类之间的关系 . .......................................................................................................... 23 4系统的配置与实现 . ............................................................................................................. 24 4.1系统的组件图 . .................................................................................................................. 24
4.1.1业务对象组件图 . ................................................................................................... 25 4.1.2 用户界面的组件图 . .............................................................................................. 25 4.2系统的配置图 . .................................................................................................................. 26 5 小结 ............................................................................................................................................ 27
6 参考文献..................................................................................................................................... 27
1 图书管理系统的需求分析
立足于校园实际,着眼于未来发展,建成符合标准化协议、通用性较强、实用的系统,以提高图书信息的现代化管理水平,实现信息资源的共享。图书馆管理系统需要满足三个方面的需求,这三个方面分别是图书借阅者、图书馆管理员和图书系统管理人员。借阅者的需求是查询图书馆所存的图书、个人借阅情况和个人信息的修改;图书馆管理员对图书借阅者的借阅及还书要求进行操作,同时形成借书或还书记录;系统管理员可以对系统的数据进行维护,如增加、删除和更新图书目录,增加、删除和更新借阅者账户,增加和删除图书。
1.1 图书借阅者的需求
图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人的图书证号和密码登录系统,还可以进行个人的借书情况的查询并维护部分个人信息。一般情况下,图书借阅者只应该查询和维护个人的借书情况和信息,若查询和维护其他的借阅者的信息和借阅情况,就要知道其他借阅者的借书证号和密码。这些是很难得到的特别是密码,所以 不但满足了图书借阅者的需求而且还保护了图书借阅者的个人隐私。
1.2 图书馆管理员的需求
图书馆管理员有修改图书借阅者的借书和还书记录的权限,在此模块中,图书馆管理员可以为图书借阅者加入借书记录后还书记录。
1.3系统管理员的需求
图书馆系统管理员功能的信息量大,数据安全性和保密性要求最高。本功能实现对图书信息、借阅证信息、总体借阅情况信息的管理和信息查看及维护。图书馆系统管理员可以浏览、查询、添加、删除、修改图书的基本信息;浏览、查询、添加、删除和修改图书借阅者的基本信息,但不能添加、删除和修改借阅信息,这部分功能应该由图书馆管理员来执行,但是,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。总之本系统功能需求包括下面的几个方面和几个功能模块。
2 图书管理系统的UML 建模
2.1标识参与者
参与者是在业务中扮演某个角色的人、部门或独立的软件系统。一般来说,参与者使用系统或为系统提供服务。
图书管理系统的参与者介绍如下:
(1)借阅者:可以通过网络查询书籍信息和预定书籍,借阅者能够借阅书籍和还书。 (2)图书管理员:能够处理借阅者的借阅和还书请求。
(3)系统管理员:可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者账户,增加和删除书籍。
2.2 标识用例
2. 2.1借阅者请求服务的用例图
借阅者请求服务是涉及7个用例,如图1所示。 下列是用例图的说明:
(1)Search for book:书籍查询用例。 (2)Reserve the book:书籍预定用例。
(3)Logon the system:登录系统。用户可以登录系统以便进行借阅信息查询以及预定书籍等操作。
(4)Query Info:借阅查询信息。 (5)Borrow the book:借阅书籍。 (6)Return the book:归还书籍。
(7)Return With Fine:还书时缴纳罚金。如果借阅者所借书籍超过借阅期未还,还书时候就要缴纳一定的罚金。
Return the bookReturn With Fine
图1 借阅者请求服务用例图
2.2.2 图书馆管理员处理借书、还书等的用例图
图书管理员处理借书、还书等涉及5个用例,如图2所示。 下列是用例的说明:
(1)Get book:书籍归还处理。 (2)Lend book:书籍借阅处理。
(3)Remove Reservation:删除书籍预订信息。 (4)Get With Fine:还书时收取罚金。
(5)Check user count:检查用户借阅凭证的合法性。图书管理员在借阅者借书的时候要检查用户借阅凭证的合法性。
Remove Reservation
图2 图书管理员处理借书、还书等用例图
2.2.3系统管理员进行系统维护的用例图
系统管理员维护系统时涉及8个用例,如图3所示。 下列是用例的说明:
(1)Query Borrower Info:查询读者信息。 (2)Query Book Info:查询书籍信息。
(3)Add Title:增加书目。
(4)Remove or Update Title:删除或更新书目。 (5)Add Book:增加书籍。 (6)Remove Book:删除书籍。
(7)Add Borrower:添加借阅者账户。
(8)Remove or Update Borrower:删除或更新借阅者账户信息
Administrator
图3 系统管理员进行系统维护用例图
2.3实现用例的时序图
2.3.1 系统管理员添加书籍的时序图
系统管理员添加书籍的时序图如图4所示。 下列是时序图的说明:
(1)add Item():添加书籍函数。
(2)find(String):根据书籍查找相应书目的函数。 (3)create(integer,Title):修改书籍数目的函数。
注:添加书籍时,系统管理员首先与系统的维护窗口交互,查找有没有相应的书目信息。如果有,直接添加,如果没有,要创建新的书目。
Check if
title exist
图4 系统管理员添加书籍的时序图
2.3.2系统管理员添加借阅者帐户的时序图
系统管理员添加借阅者账户的时序图如图5所示。 下列是时序图说明:
(1)
Create(String,String):添加新的借阅者账户的函数。
注:系统管理员要添加新的借阅者账户,首先要与维护窗口交互,维护窗口负责创建一个新的借阅者账户。
图5 系统管理员添加借阅者账户时序图
2.3.3系统管理员删除书目的时序图
系统管理员删除书目的时序图如图6所示。 下列是时序图说明:
(1)find(String):书目类的查找函数。
(2)find_on_title(Title):查找此书目下书籍信息的函数。 (3)destroy :删除书籍信息的函数。 (4)destroy :删除书目信息的函数。
注:系统管理员与系统的维护窗口交互,查找到相应的书目及书籍信息并删除。
items first
图6 系统管理员删除书目的时序图
2.3.4 图书管理员处理书籍借阅的时序图
图书管理员处理书籍借阅的时序图如图7所示。 下列是时序图的有关说明:
(1)find(String):查找书目的函数。 (2)find_item():查找所要书籍的函数。
(3)find_on_title(Title):根据书目名从数据库中找到书目信息的函数。 (4)identify_borrower():验证借阅者身份的函数。
(5)find(String):根据借阅者的登录账号找到借阅者信息的函数。 (6)create(Borrower,item):修改借阅信息的函数。
图7 图书管理员处理图书借阅的时序图
2.3.5 图书管理员处理书籍归还的时序图
图书管理员处理书籍归还的时序图如图8所示。 有关时序图说明:
(1)check():检查书籍状况的函数。 (2)update():更新书籍类信息的函数。 (3)update():更新借阅者借阅信息的函数。
注:图书管理员处理还书时,首先从借阅者手里接过书籍,然后与还书窗口交互,还书窗口负责检查书籍状况,然后更新书籍信息和读者的借阅信息。
图8 图书管理员处理书籍归还的时序图
2.3.6 借阅者查询书籍信息的时序图
借阅者查询书籍的时序图如图9所示。 下列是时序图说明:
(1)Fine_on_title(Title):根据书目查找到相应的书籍信息。
图9 借阅者查询书籍的时序图
2.3.7借阅者预订书籍的时序图
借阅者预订书籍的时序图如图10所示。 时序图说明如下:
(1)Login :登录系统的函数。
(2)Find(String):查找相应的书目的函数。 (3)Reserve():预订书籍的函数。
注:借阅者首先与系统的网络模块交互,如果找到要预订的书籍,就将预订的信息添加进去。
图10 借阅者预定书籍的时序图
2.4实现用例的协作图
2.4.1系统管理员添加书籍的协作图
系统管理员添加书籍的协作图如图11所示。 以下是协作图说明:
(1)add item():添加书籍的函数。
(2)find(String):根据书籍名查找相应书目的函数。 (3)update():修改某类书目下书籍数量的函数。
图11 系统管理员添加书籍的协作图
2.4.2系统管理员删除书籍的协作图
系统管理员删除书籍的协作图如图12所示。 以下是协作图说明:
(1)remove_item():删除书籍的函数。
(2)find(String):根据书籍名查找相应书目的函数。 (3)update():修改某类书目下书籍数量的函数。
图12 图书管理员删除书籍的协作图
2.4.3图书管理员处理借书的协作图
图书管理员处理借书的协作图如图13所示 以下是协作图说明:
(1)identify_borrower():验证借阅者身份的函数。
(2)find_reservation():查找预订信息的函数。
(3)find(Borrower,Title):根据借阅者和借阅的书籍名找到相应预订信息的函数。 (4)borrow():处理借书的函数。
(5)update():更新某一书目下书籍数量的函数。
(6)check_if_max():检查借阅凭证所借书籍数目是否已经超过最大限额的函数。
图13 图书管理员处理借书的协作图
2.4.4图书管理员处理还书的协作图
图书管理员处理还书的协作图如图14所示。 以下是协作图说明:
(1)find_borrower():查找借阅者信息的函数。
(2)find(String):根据借阅者查找借阅信息的函数。 (3)return_back():处理还书的函数。 (4)update():更新书籍数目函数。
图14图书管理员处理还书的协作图
2.4.5借阅者预订书籍的协作图
借阅者预订书籍的协作图如图15所示。 以下是协作图说明:
(1)identify_borrower():验证借阅者身份的函数。 (2)find(String):根据书籍名称查找书目信息的函数。 (3)reserve():预订某一书目下的书籍的函数。 (4)create(Title,Borrower):修改预订信息的函数。
图15借阅者预订书籍的协作图
2.5对象的状态图
2.5.1书的状态图
书的状态图如图16所示。 下列是状态图的说明:
(1)New book:还未入库的新书。 (2)Delete :已经从书库里删除的书。
(3)Available :书籍处于可用状态,即可以外借的状态。 (4)Reserved :预订状态。 (5)Borrowed :借出状态。
注:书籍处于可用(Available )状态时既可以预订也可以外借,外借后变为借阅(Borrower )状态。处于预订(Reserved )状态时可以外借,超出预订时间期限则从预订状态直接转为可用状态。借阅者在规定的预订时间内也可以考虑取消预订,取消预订后书籍的状态转为可用。外借书籍归还后变为可用状态。
图16书的状态图
2.5.2借阅者帐户的状态图
借阅者帐户的状态图如图17所示 下列是状态图的说明:
(1)New Borrower:新加入的借阅者的账户。
(2)Account Available:借阅账户为可用状态,即未达到所规定的书籍借阅数目上限。 (3)Account Unavailable:借阅账户为不可用状态,即所借的书籍数已达到规定的书籍借阅数目上限,不能再借阅书籍了。
(4)Delete Account:个人账户被删除状态。
注:借阅者的账户刚被管理员加入时处于新帐户(New Borrower)状态,当管理员添加借阅权限后就变为可用(Account Available )状态,当所借书籍数已达到规定的书籍借阅数目上限时,变为不可用状态(Account Unavailable )状态,当账户被系统管理员删除后,变为删除(Delete )状态。
图17借阅者帐户的状态图
2.6参与者的活动图
2.6.1借阅者的活动图
借阅者的活动图如图18所示。 下列是活动图的说明:
(1) Self-help Service: 打开图书馆负责自助服务的计算机。 (2) Search for books: 查询需要的书籍。 (3) Login :登录管理系统。
(4) View book information: 查看书籍信息。 (5) Reserve the book: 预订书籍。 (6) Exit System: 退出系统。
(7) Leave Computer: 离开自助服务的计算机。
注:借阅者进行自助服务时,可以首先登录系统,然后进行书目查询、书籍信息查询、书籍预订等活动,也可以先查询书目和书籍信息后登录系统预订书籍。
图18借阅者的活动图
2.6.2图书管理员的活动图
图书管理员的活动图如图19所示。 下列是活动图说明:
(1)Login the system: 图书管理员登录系统。 (2)Get book: 处理还书操作。 (3)Lend book: 处理借书操作、
(4)Update borrower’s information: 更新借阅者借阅凭证上的信息。 (5)Accept money: 收取罚金。
注:1,图书管理员可以处理两种情况,借书操作和还书操作。当用户借书时,图书管理员要查看借阅者凭证上显示的可借书的数目是否满足要求;当用户还书时,图书管理员要查阅所借书籍是否已经超过期限,如果超期,要收取一定的罚金。,2,系统管理员登录系统后,可以进行查阅书目信息、添加书目、删除或更新书目等活动。
图19图书管理员的活动图
2.6.3系统管理员的活动图
注:系统管理员登录系统后,可以进行添加书籍、删除书籍等活动。 以下是活动图的说明:
(1)Login the system: 登录系统。
(2)Operation on borrower: 对借阅者账户操作。 (3)Operation on title: 对书目进行操作。 (4)Operation on book: 对书籍进行操作。 (5)Query borrower info: 查询借阅者信息。 (6)New borrower: 添加新的借阅者账户。
(7)Remove or Update borrower: 删除或更新借阅者账户。 (8)Query title: 查询书目信息。 (9)New title: 增加新的书目。
(10)Remove or update title: 删除或更新书目。
(11)Add book: 增加书籍信息。 (12)Remove book: 删除书籍信息。 (13)Exit the system: 退出系统。
图20-1系统管理员维护借阅者帐户的活动图:
图20-2系统管理员进行书目信息维护的活动图
:
图20-3系统管理员维护书籍信息的活动图:
3 系统中的类
3.1系统中主要的类:
3.1.1参与者相关的类
下列是类图的说明:
(1)Borrower 类是借阅者的类,它的属性很多,包括借阅者的账户ID (UserID )、姓名(Name )、地址(Address )、邮编(Zip )、所借书籍的书目(borrow_number)等. 其中主要操作有借书(borrow)和还书(return_back)。
(2)Librarian 类是图书管理员的类,包括工作帐号(WorkID )、名字(Name )和地址(Address )等属性。
(3)Administrator 类是系统管理员类。
图21 参与者相关的类
3.1.2系统中用到的其它的类
类图说明如下:
下列是类图的说明:
(1)Title 类是记录书目信息的类,包括书籍的名字(name )、作者(author )、ISBN 、此种书籍总数量(total_number)、借出的数量(borrowed_number)、是否允许借出 (isAllowForBorrow )等属性。
(2)Item 类是具有某本书的类,包括书籍号(id )。操作包括预订(reserve )、按书目查找(find_on_title)等。
(3)Loan 类是某本书的借阅信息类,包括所借阅书籍的ISBN 、借阅的时间(date )等。
(4)Reservation 类是预订信息类,每个预订信息包括预订日期(date )、所预订书籍的ISBN 、预订书籍的用户ID (UserID )等属性。
图22系统中用到的其它的类
3.2各个类之间的关系
下列是类图的有关说明:
Title 类是书库里的一条记录,而Item 类是指具体的书籍。现实世界里,每条记录都会有多本术存在,所以Title 与Item 之间是一对多的关系;Title 与Reservation 之间也是一对多的关系,也就是说Title 可以有多个预订记录,但是也可以没有预订记录。Item 与Reservation 之间是一对一的关系,不可能存在同一本书被两个人预订的情况;Borrower 与Loan 以及Borrower 与Reservation 之间是一对多的关系。
图23各类之间的关系
4系统的配置与实现
4.1系统的组件图
图书管理系统主要包括两个组件图:业务对象组件图和用户界面组件图。
4.1.1业务对象组件图
Item.java Loan.java BorrowerInformation.java
图24 业务对象组件图
4.1.2 用户界面的组件图
UpdateBorrowerFrame.jav
a BorrowerFrame.jav
a MainWindow.jav
a
CancelReserv ation.jav
a BrowseWindow.jav
a Reserv ationFrame.jav
a
FindBorrowerDialog.jav
a ReturnItemFrame.jav
a TitleInforWindow.jav
a
LendItemFrame.jav
a
a
BorrowerInforWindow.jav
a
UpdateTitleFrame.jav
a TitleFrame.jav
a AboutDialog.jav
a
MessageBox.jav
a QuitDialog.jav
a ResultOfFindBorrower.jav
a ResultOfFindTitle.jav a
图25 用户界面组件图
4.2系统的配置图
系统的配置图主要用来说明如何配置系统的软件和硬件。系统由5个节点构成,应用服务器负责整个系统的总体协调工作;数据库负责管理数据;Web 应用程序模块用于借阅者进行书籍查询、网上书籍预定;业务操作模块用于处理读者借书、还书等一般业务流程;信息维护模块用于系统管理员维护整个系统的数据信息。
图26系统的配置图
5 小结
这次的课程设计,对我来说,是一次尝试与创新,也是一个挑战的过程。以前实践太少,现在利用所学知识将理论与实践相结合。在具体的设计与实施中,我看到一个管理系统从无到有的过程,对具体的设计步骤、思路、方法、技巧都有了进一步的了解,深刻感受。
6 参考文献
[1] UML统一建模实用教程