1、图书管理系统的uml建模 作者: 日期:2 个人收集整理 勿做商业用途图书管理系统的UML建模设计 以图书管理系统为例,结合Rational Rose2003工具软件绘制图形,详细阐述UML的建模过程.1 需求分析描述图书信息管理系统是使用计算机实现图书大量信息处理的电子档案管理系统,在本系统中主要满足借书者、图书管理员和系统管理员3方面的需求。对借书者来说主要是查询个人信息、查询图书信息、预定当前正在被别人借阅的图书、借阅图书和返还图书等;图书管理员是系统的主要使用者,负责借书处理和还书处理,当读者预定的图书借出给定预定者后取消图书预定;系统管理员主要负责系统的维护工作,涉及到读者信息管理,
2、图书信息管理,系统状态维护等。2 模型建立 1)用例模型的建立本系统共设置四个活动者。分别是TT_People、TT_Registrar、TT_Reader和TT_Database。其中TT_People泛指与系统发生关系的人;TT_Registrar为系统管理员,负责添加、修改图书信息;TT_Reader为所有读者,读者可能发生借书、续借、还书的行为;TT_Database为存储各种信息的数据库对象.另:考虑到现实图书馆中还存在“图书馆管理员这一角色,但其所起的作用仅为代替读者完成各种系统操作,故没有设置此活动者.系统中共有五个用例。TT_Addinfo、TT_Modifyinfo、TT_B
3、orrow、TT_Renew和TT_Return。TT_Addinfo表示管理员添加图书信息;TT_Modifyinfo表示修改图书信息;TT_Borrow表示读者借阅图书;TT_Renew表示读者续借图书;TT_Return表示读者归还图书。用例图如图2所示。图书管理系统协作图读者借书协作图管理员修改读者信息协作图读者预定协作图图书管理系统对象图图书管理系统类图在用例分析基础上,根据需求可建立起系统的静态数据模型,即建立系统类图,以及相关的关系和方法。在面向对象分析中,一般只考虑与问题描述域和系统功能相关的对象。在对系统进行分析时,这里把系统的类对象抽象为图书管理、图书流通两方面。针到这两部
4、分可以分化为以下相关类:图书类(lib_Book)、图目类(lib_Category)、订书类(lib_Order)、报表类(lib_Form)、读者类(lib_Reader) 、流通书类(lib_CirBook)、部门类(lib_Department)、出版社类(lib_Publish)等。这些类之间我们可以用朴素的关联关系作一简要表达。如图2为图书管理静态类图,在图中每条有直接多重性关联的线上已标示出多重性,这为以后编程中提供了更好的关联参考价值,并为类在整个开发中的统一性奠定基础. 借阅者Reader类图:图书人员类LibraryStaff 系统管理员类SystemManager图书管理
5、员类LibraryManager 图书馆领导类LibratyBoss图书馆资源类LibraryResources实物书籍类BookResources电子书籍类ElectronicResources书类Book杂志类Magazine静态模型动态模型事件流TT_Addinfo添加图书事件流:1.管理员选择进入管理界面,用例开始2。系统提示输入管理员密码3。管理员输入密码4。系统验证密码 A1:密码错误5。进入管理界面,系统显示目前全部图书信息6。管理员选择添加信息7。系统提示输入信息8。管理员输入信息9.系统验证信息 A2:信息错误10.系统添加新图书信息,提示添加成功11.系统重新进入管理主界面
6、,显示所有信息12。用例结束A1:密码错误1。系统提示输入错误2.用户确认3。进入添加图书事件流第2步A2:信息错误1.系统提示修改错误信息2。管理员修改输入信息3.进入添加图书事件流第9步TT_Modifyinfo修改图书事件流:1.管理员选择进入管理界面,用例开始2.系统提示输入管理员密码3。管理员输入密码4.系统验证密码 A1:密码错误5.进入管理界面,系统显示目前全部图书信息6.管理员选择要修改的图书信息7。系统显示原有信息8。管理员修改信息9。系统验证信息 A2:信息错误10.系统添加新图书信息,提示添加成功11.系统重新进入管理主界面,显示所有信息12。用例结束A1:密码错误1。系
7、统提示输入错误2.用户确认3.进入添加图书事件流第2步A2:信息错误1。系统提示修改错误信息2。管理员修改输入信息3.进入添加图书事件流第9步TT_Borrow借书事件流:1。进入读者主界面,用例开始2。读者输入借书证号、书号,选择借书3.系统验证借书证号、书号 A1:借书证号不存在 A2:已达到借书数量上限 A3:书号不存在 A4:图书流通状态冲突4.借书成功5。系统显示读者借书信息6.读者确认7.系统重新进入读者主界面8.用例结束A1:借书证号不存在1。系统提示再次输入2.读者确认3.进入借书事件流第2步A2:已达到借书数量上限1。系统提示已达到借书数量上限2。读者确认3。进入借书事件流第
8、5步A3:书号不存在1.系统提示再次输入2.读者确认3。进入借书事件流第2步A4:图书流通状态冲突1。系统提示图书流通状态冲突2。读者确认3.进入借书事件流第2步TT_Return还书事件流:1.进入读者主界面,用例开始2.读者输入书号,选择还书3。系统验证书号 A1:书号不存在 A2:图书流通状态冲突 A3:借阅过期4.还书成功5。系统重新进入读者主界面6.用例结束A1:书号不存在1。系统提示再次输入2。读者确认3.进入借书事件流第2步A2:图书流通状态冲突1.系统提示图书流通状态冲突2。读者确认3.进入借书事件流第2步A3:借阅过期1.系统提示借阅过期,提示缴纳罚金 A4:读者拒交罚金2。
9、读者确认并缴纳罚金3。进入还书事件流第4步A4:读者拒交罚金1。进入借书事件流第5步TT_Renew续借事件流:1.进入读者主界面,用例开始2。读者输入书号,选择续借3.系统验证书号 A1:书号不存在 A2:图书流通状态冲突4。续借成功5。系统重新进入读者主界面6.用例结束A1:书号不存在1。系统提示再次输入2.读者确认3.进入借书事件流第2步A2:图书流通状态冲突1。系统提示图书流通状态冲突2。读者确认3。进入借书事件流第2步TT_Addinfo序列图TT_Modifyinfo序列图TT_Borrow序列图TT_Return序列图TT_Renew序列图TT_Book对象状态图TT_Addinfo活动图TT_Modifyinfo活动图TT_Borrow活动图TT_Return活动图TT_Renew活动图图书管理系统配置图实例_1 业务对象组件图