1、uml建模应用实例图书馆管理系统 ———————————————————————————————— 作者: ———————————————————————————————— 日期: 22 个人收集整理 勿做商业用途 图书馆管
2、理系统 UML建模分析与设计 一、图书馆管理系统的需求分析 系统的功能需求主要包括以下几点: 1. 借阅者可以通过网络查询书籍信息和预定信息; 2. 借阅者能够借阅书籍和还书; 3. 图书管理员能够处理借阅者的借阅和还书请求; 4. 系统管理员可以对系统的数据进行维护,如增加、删除和更新书目,增加、删除和更新借阅者的账户,增加和删除书籍。 二、系统的用例图 1.借阅者请求服务的用例图 用例图说明: search foe book:书籍查询用例。 reserve the book:书籍预定用例。 login the system:
3、登录系统,用户可以登录系统以便进行借阅信息查询以及预定书籍等操作。 query info:查询借阅信息. login the system:借阅书籍。 return the book:归还书籍. return with fine:还书时交纳罚金,如果借阅者所借书籍超过借阅期限未还,还书时候就要交纳罚金. 2.图书馆管理员处罚借书、还书等的用例图 用例图说明 Get book: 书籍归还处理. lend book:书籍借阅处理。 remove reservation: 删除书籍预定信息。 get with fine:还书时收取罚金。 check user count:
4、检查用户借阅凭证的合法性。图书馆管理员在借阅者借书时候要检查用户借阅凭证的合法性. 3.系统管理员进行系统维护的用例图 用例图说明: remove or update borrower:删除或更新借阅者账户信息。 add borrower:添加借阅者账户。remove book:删除书籍. add book:增加书籍。remove or update title:删除或更新书目.add title:增加书目。query book info:书籍信息查询。 query borrower info:查询读者信息。 三、系统的时序图 1。系统管理员添加书籍的时序图 时序
5、图说明: Add item():添加书籍函数。find(string):根据书籍查找相应书目的函数。Creat(integer,title):修改书籍数目的函数. 2.系统管理员添加借阅者账户的时序图 时序图说明 creat (string,string):添加新的借阅者的账户的函数。 3.系统管理员删除书目的时序图 时序图说明: find (string):书目类的查找函数。find on title(Title) :查找此类书目下书籍信息的函数。destroy():删除书籍信息的函数。destroy():删除书目信息的函数。 4.图书馆管理员处理书籍
6、借阅的时序图 时序图说明: find(string):查找书目的函数。find item():查找所要书籍的函数。find on title(Title):根据书目名从数据库中找到书目信息的函数。 identify borrower():验证借阅者身份的函数.find(string):根据借阅者的登录帐号找到借阅者信息的函数。creat(borroewr,item):修改借阅信息的函数。 5.图书馆管理员处理书籍归还的时序图 时序图说明: check():检查书籍状况的函数。update():更新书籍类信息的函数。update():更新借阅者借阅信息的函数. 6。借阅者查
7、询书籍信息的时序图 时序图说明: find on title(Title):根据书目查找到相应的书籍信息. 7.借阅者预订书籍的时序图 时序图说明: Login:登录系统的函数。find(string):查找相应书目的函数。Reserve():预订书籍的函数。 四、系统的协作图 1。系统管理员添加书籍的协作图 协作图说明: Add item():添加书籍的函数。 Find(string):根据书籍名查找相应书目的函数。 Update():修改某类书目下书籍数量的函数。 2、系统管理员删除书籍的协作图 协作图说明: Remove_item():删除书籍
8、的函数。 Find(string):根据书籍名查找相应书目的函数。 Update():修改某类书目下书籍数量的函数。 3、图书管理员处理借书的协作图 协作图说明: Identify_borrower():验证借阅者身份的函数. Find_reservation():查找预订信息的函数。 Find(borrower,title):根据借阅者借阅的书籍名查找相应预订信息的函数。 Borrow():处理借书的函数。 Updat():更新某一书目下书籍数量的函数. Check_if_max():检查借阅凭证所借书籍数目是否已经超过最大限额的函数. 4、图书管理员处理书籍归
9、还的协作图 协作图说明: Find_borrower():查找借阅者的信息的函数。 Find(string):根据借阅者查找借阅信息的函数。 Return_back():处理还书的函数。 Update():更新书记数目的函数。 五、系统的状态图 1、书的状态图 状态图说明: new book:还未进库的新书。Avaiable:书籍处于可用状态。Delete:已从书库删除的书。Reserved:预定状态。Borrowerd:借出状态。 2.借阅者账户的状态图 状态图说明: new borrower:新加入的借阅者的账户。account avaiable
10、借阅账户为可用状态,即未达到所规定的书籍借阅数目的上限。account unavailable:借阅账户为不可用状态,即已达到所规定的书籍借阅数目的上限,不能再借书了delete account:个人账户被删除的状态. 六、系统的活动图 1、借阅者的活动图 活动图说明: Self-help Service:打开图书馆负责自助服务的计算机。 Search for books:查询需要的书籍。 Login登录管理系统。 View book information:查看书籍信息. Reserve the book:预订书籍。 Exit Sys
11、tem:退出系统。 Leave Computer:离开自助服务的计算机。 2。 图书管理员的活动图 活动图说明: Login the system:图书管理员登录系统。 Get book:处理还书操作。 Lend book:处理借书操作。 Update borrower's information:更新借阅者借阅凭证的信息。 Accept money:收取罚金。 3。 系统管理员的活动图 系统管理员要处理的内容比较多,活动图也比较大,所以将其分为3个图。 (1) 系统管理员维护借阅者账户的活动图 (2) 系统管理员进行书目信息维护的活动图
12、 (3)系统管理员维护书籍信息的活动图 活动图说明: Login the system:登录系统。 Operation on borrower:对借阅者账户操作。 Operation on title:对书目进行操作. Operation on book:对书籍进行操作 Query borrower info:查询借阅者信息。 New borrower:添加新的借阅者账户. Remove or Update borrower:删除或更新借阅者账户。 Query title:查询书目信息。 New title:增加新的书目。 Remove or update ti
13、tle:删除或更新书目. Add book:增加书籍信息。 Remove book:删除书籍信息。 Exit the system:退出系统。 七、类图的生成 在图书馆管理系统中用到的主要类有7个:Item,Title,Loan,Reservation,Borrower,Administrator,Librarian,前5个类有一定的关系。 1。参与者相关的类 说明:borrow类是借阅者的类。Librarian类是图书管理员的类。Administrator类是系统管理员的类。 2。系统中用到的其他类 Item 类是具体某本书的类。Title类记录书目信息的类。L
14、oan类是某本书的借阅信息类.Reservation类是预订信息类。 3.各类之间的关系 Title类是书库里的一条记录,而item类则是具体的书籍。每条记录都会有多本书存在,所以Title 和item之间是一对多的关系;Title与reservation之间也是一对多的关系。也就是说Title可以有多个预订记录,但是也可以没有。Item与reservation之间是一对一的关系,不可能有同一本书被2个人预订的情况,borrower 与loan以及borrower与reservation之间是一对多的关系.如下图: 八、总结: 以图书管理系统的开发过程为主线,用UML模型元素表示了开发各阶段的中间产品,让我们在实际项目中,学会如何应用UML设计语言对软件产品进行建模。






