图书管理系统UML建模:
1.1、确定系统涉及的总体信息
(1)读者:
?借书
?还书
?书籍预定
(2)图书馆管理员:
?书籍借出处理
?书籍归还处理
?预定信息处理
(3)系统管理员:
?增加书目
?删除或更新书目
?增加书籍
?减少书籍
?增加读者帐户信息
?删除或更新读者帐户信息
?书籍信息查询
?读者信息查询
1.2.确定系统的参与者
(1)分析系统所涉及的问题领域和系统运行的主要任务:?分析使用该系统主要功能部分的是哪些人
?谁将需要该系统的支持以完成其工作
?系统的管理者与维护者
(2)图书馆管理系统的参与者:
?读者(借阅者)
?图书馆管理员
?图书馆管理系统维护者
1.3.确定系统的用例
1.3.1借阅者请求服务的用例
(1)查询借阅者信息
(2)查询书籍信息
(3)增加书目
(4)删除或更新书目
(5)增加书籍
(6)删除书籍
(7)添加借阅者帐户
(8)删除或更新借阅者帐户
1.3.2 图书馆管理员处理借书、还书等的用例
(1)处理书籍借阅
(2)处理书籍归还
(3)删除预定信息
1.3.3系统管理员进行系统维护的用例
(1)查询借阅者信息
(2)查询书籍信息
(3)增加书目
(4)删除或更新书目
(5)增加书籍
(6)删除书籍
(7)添加借阅者帐户
(8)删除或更新借阅者帐户
1.4.使用Rational Rose绘制用例图的步骤(具体详见教材P83-92)
1.创建用例图
2.用例图工具栏按钮简介
3.工具栏的定制
4.添加参与者与用例
5.添加参与者与用例之间的关系
6.添加用例之间的关系
1.5.图书馆管理系统的用例图
1.5.1借阅者请求服务的用例图
Return the book
【用例图说明】
(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:还书时交纳罚金。
其中,用例Query Info 与Reserve the book 都与Logon the system之间存在《use》(使用)关系;用例Return the book与用例Return With Fine之间存在《extend》(扩展)关系。
1.5.2图书馆管理员处理借书、还书等用例图
Remove Reservation
【用例图说明】
(1) Get book :书籍归还处理。 (2) Lend book :书籍借阅处理。
(3) Remove Reservation :删除书籍预订信息。 (4) Get With Fine :还书时收取罚金。
(5) Check user count :检查用户借阅凭证的合法性。
其中,用例Lend book 和用例Remove Reservation 之间存在《use 》(使用)关系,用例Get book 和Get With Fine 之间存在《extend 》(扩展)关系,用例Lend book 和check user account 之间存在《include 》(包含)关系。 1.5.3系统管理员进行系统维护的用例图
Add Borrower Query Borrower Info
【用例图说明】
(1)Query Borrow Info:查询读者信息。
(2)Qurey book Info:查询书籍信息。
(3)Add Title:增加书目。
(4)Remove or Update Title:删除或更新书目。
(5)Add Book:增加书籍。
(6)Remove Book:删除书籍。
(7)Add Borrow:添加借阅者账户。
(8)Remove or Update Borrow:删除或更新借阅者账户信息。
系统管理员可以进行查询读者信息、查询书籍信息、增加数目、删除或更新书目、增加书籍、删除书籍、添加借阅者账户和删除或更新借阅者账户信息这些操作。
2、图书馆管理系统的时序图
1)系统管理员添加书籍的时序
Check if
title exist
【时序图说明】
(1) add Item():增加书籍函数。
(2) find(String):根据书籍查找相应书目的函数。
(3) create(integer,Title):修改书籍数目的函数。
2)图书管理员处理借书的时序图(不包括预留书籍的情况)
: Librarian
【时序图说明】
(1) find (String ):查找书目的函数。 (2) find_item():查找所要书籍的函数。
(3) find_on_title(Title):根据书目名从数据库中找到书目信息的函数。 (4) identify_borrower():验证借阅者身份的函数。 (5) find (String ):根据借阅者的登陆账号找到借阅者信息的函数。 (6)
create (Borrower ,item ):修改借阅信息的函数。
3)系统管理员删除书目的时序图
first
【时序图说明】
(1) find(String):书目类的查找函数。
(2) find_on_title(Title):查找此书目下书籍信息的函数。(3) destroy:删除书籍信息的函数。
(4) destroy:删除书目信息的函数。
4)借阅者预留书籍的时序图
: Borrower
【时序图说明】
(1) Login:登录系统的函数。
(2) find(String):查找相应书目的函数。
(3) reserve():预订书籍的函数。
3、图书馆管理系统的活动图
3.1、借阅者的活动图
【活动图说明】
(1) Self-help Service:打开图书馆负责自助服务的计算机。(2) Search for books:查询需要的书籍。
(3) Login:登陆管理系统。
(4) View book information:查看书籍信息。
(5) Reserve the book:预定书籍。
(6) Exit System:退出系统。
(7) Leave Computer:离开自助服务的计算机。
3.2、图书管理员的活动图
【活动图说明】
(1) Login the system:图书管理员登录系统。
(2) Get book:处理还书操作。
(3) Lend book:处理借书操作。
(4)Update borrower’s information:更新借阅者借阅凭证的信息。(5) Accept money:收取罚金。
3.3系统管理员的活动图
1)系统管理员维护借阅者帐户的活动图
2)系统管理员进行书目信息维护的活动图
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:退出系统。
4、图书馆管理系统的类图
4.1 7个类:
(1)Item
(2)Title
(3)Loan
(4)Reservation
(5)Borrower
(6)Administrator
(7)Librarian
4.2 类图的生成:
(1)参与者相关的类
【类图说明】
a.Borrower 类是借阅者的类,它的属性很多,包括借阅者的账户ID(UserID)、
姓名(Name)、地址(Address)、邮编(Zip)。所借书籍的书目(borrower_number)等。其中主要操作有借书(borrow)和还书(return_back)。
b.Librarian 类是图书管理员的类,包括工作账号(WorkID)、名字(Name)
和地址(Address)等属性。
c.Administrator 类是系统管理员类。
(2)系统中用到的其他类
【类图说明】
a.Title类史纪录说明书目信息的类,包括书籍的名字(name)、作者(author)、
ISBN、此种书籍的总数量(total_number)、借出的数量(borrowed_number),是否允许借出(isAllowForBorrow)等属性。
Item类是具体某本书的类,属性包括书籍号(id)。操作包括预定(reserve)、按书目查找(find_on_title)等。