第1页共18页基于UML的大学图书管理系统分析与设计1.概述随着现代科学技术的发展和社会的进步,各大大学的图书馆规模也不断扩大,与此同时,图书的种类和数量以及有关图书的各种信息也迅速的增加,这一庞大的信息量也对图书馆的信息管理技术提出了更高的要求。为了避免图书管理上的混乱,降低管理费用,提高工作效率,给读者提供更方便、快捷的服务,图书管理系统必须引入信息化和自动化的管理方式,对图书资料进行集中、统一、高效率的管理。1.1问题的提出随着Internet技术的飞速发展,现在各大学已经把计算机引入了图书馆,开始了信息化的管理方式,这给予了学生极大的便利,学生可通过图书馆可以获得丰富的文献资料。和传统的图书管理方式相比,计算机和Internet的使用也大大提高了图书馆对书籍的管理效率,为读者提供了更方便、更快捷的服务。与此同时服务理念也由以书籍为中心变为以广大师生的信息需求为中心,但是图书馆的网络信息服务还远远没有跟上网络建设的步伐,所提供的服务也远远不能满足大学师生的信息需求。大学图书馆应当有着先进的现代信息设备,完善的管理和服务,并且有稳定和特定的高素质读者用户群,更应该深入开展图书馆多元化信息服务,以更好地满足大学师生不同的信息需求。目前大学图书馆网络信息服务内容都是浅层次的,主要还是集中在资料的“提供”上,比如动态信息和催还信息的发布只是停留在计算机上,没有充分利用现在飞速发展的通讯技术,使借阅者不能及时得到相应的信息。大学图书馆存在的诸多问题,已经不能满足广大师生群体对信息的需求,因此使得资源的共享性受到相当大的限制。1.2目的及主要内容以下是我结合高等学校的特点和实际情况,设计了一个基于网络结构的大学图书管理系统,能为广大的学生群体提供更方便、更加多元化的信息服务;利用UML统一建模语言并借助于Rose工具对图书管理系统进行建模,使系统模型直观、简洁、科学,提高了系统开发的质量。主要内容包括基于UML的大学图书管理系统的模型分析及设计。并使用基于MVC的一体化开发过程,对大学图书管理系统进行了系统设计及分析。2.UML的大学图书管理系统分析所谓需求分析就是对一个系统的功能的描述,确定系统到底需要做什么或希望系统所具有的功能。2.1图书管理系统的需求分析图书馆是为读者提供丰富文献资源的大型机构。对于大学图书馆而言,它面对的核心服务群体是广大第2页共18页的学生(也可以称之为借阅者或读者)。因此,图书馆应该以学生为中心来提供更加多元化的服务。图书管理系统是对书籍的借阅及读者信息进行统一管理的系统,具体应包括以下几个功能:(1)对于读者而言,他们对系统的要求主要有:能够按各种方式(例如书名、编号、作者、出版社、年份等)浏览图书馆的藏书情况;能够按各种方式(例如年级、专业、书名、编号、作者、出版社、年份等)查询所需参考书籍;能够方便地借阅图书、续借图书、预约图书、归还图书;能够及时获知有关图书馆的最新动态信息,如新书通报、最新公告、借阅时间调整情况等等;能够及时获知所借阅的书籍到期的消息;能够查询和修改自己的基本资料、借阅书籍的情况;(2)对于图书管理员来说,他对图书管理系统的要求主要有:能够方便地对借阅者的信息进行查询;能够方便地处理借书和还书操作;能够方便地处理书籍的预约和取消预约的操作;将通讯技术和网络技术相结合,及时发布一些重要信息,例如学生借阅的书籍到期的通知、馆内新到书籍的信息等等,以便学生能够随时获知书籍的借阅情况和图书馆的最新藏书情况;(3)对于系统管理员来说,他们对图书管理系统的要求主要有:能够方便地对书籍进行录入、修改、注销等等;能够方便地录入、修改、注销借阅者的账户信息;能够方便地查询借阅者的借阅信息和书籍信息;将通讯技术和网络技术相结合,随时发布一些重要消息,例如学生借阅的书籍到期的通知、馆内新到的书籍信息等等,并且能够随时获知学生或教职工的借书信息。2.2图书管理系统的业务流程分析通过大学学校图书馆的实地调查,大学图书管理系统的业务流程主要有如下几点:(1)借阅者借阅图书流程借阅者在图书馆找到所需书籍后,向图书管理员出示借书证,工作人员利用扫描设备扫描借书证号以验证借阅者的合法性和他的借阅权限,只有当借阅者身份合法,并且借阅数量未超出限制范围时,才能继续借阅。然后工作人员再扫描图书条码,查看该图书是否存在预约,若存在,则借阅者不能借阅此图书;若不存在,则借阅成功。(2)借阅者续借图书流程借阅者所借的图书是有一个时间限制的,如果到期后,借阅者还没有看完或者看完了还想继续再看,那么他就得必须续借,续借也是有次数和时间限制的。如有的图书馆规定的借阅期限是30天,每人只能续借一次,续借后的借阅期限也是30天。续借时,借阅者只需等待图书管理员扫描图书条码,查看所续借的图书是否超过所续借次数,如果没有超过续借次数,则更新读者信息数据库、书籍信息数据库,续借工作完成。(3)借阅者归还图书流程借阅者归还图书的流程比较简单,只需将书籍给图书管理员,图书管理员扫描图书条码。若图书超期,则向借阅者按照规定收取相应的罚款;若一切正常,则归还结束。(4)读者查询信息的流程读者在未登陆系统的情况下可以查询图书馆的藏书情况。如果登陆系统,还可以查询自己的借阅信息、修改自己的相关信息以及预约图书等。(5)系统管理人员对系统信息的维护和管理流程系统管理员主要的操作是实现对系统的维护,具体包括对借阅者的信息、书目信息、书籍信息的维护第3页共18页和管理等,如增加、更新、删除借阅者信息、书目信息以及书籍信息。2.3图书管理系统的功能描述经过上述对图书管理系统的需求分析,可以将大学图书管理系统的使用人员划分为读者、图书管理员和系统管理员三类。其中,读者主要查询图书信息和个人借阅信息等;图书管理员主要查看图书信息、用户借阅信息和读者借书、还书管理,并利用网络和通信技术及时向读者发布新到书籍的信息和催还信息;系统管理员主要管理和维护读者信息、书目信息和书籍信息等,并为读者提供多个大学图书馆的链接地址,读者可根据自己的需要进行选择。根据上述对大学图书管理系统的需求分析,该系统主要包括下面几个部分:(1)系统维护模块该模块的功能主要包括:系统用户身份的分类、录入、修改与删除;书籍和书目信息的录入、修改、删除;动态信息的发布、修改和删除等。(2)图书管理人员管理模块图书管理人员管理模块的功能主要包括:处理图书的借阅、预约、返还;读者信息的查询;动态信息的发布和浏览等。(3)读者查询模块读者查询管理:书目和书籍信息的查询;个人借阅情况查询;借阅者个人信息部分限制修改;动态信息的浏览等。系统的模块结构图如图3-1所示。图1系统的模块结构图3.基于MVC的大学图书管理系统设计3.1UML用例图描述用户需求(OOA模型)1.系统的用例图图书管理系统系统管理员图书管理员借阅者借阅者登录图书管理员登录系统管理员登录借书管理借阅信息查询还书管理动态信息管理书目、书籍信息管理借阅者信息管理预约管理个人资料修改书籍信息查询动态信息浏览动态信息浏览动态信息浏览第4页共18页用例是对一组序列动作的描述,系统执行这些动作将对用例的参与者产生可以观察的结果。用例模型图是从用户的角度出发对如何使用系统的描述。创建系统的用例图,首先要确定参与者,通过对系统功能模块的分析,系统的参与者主要有三类:借阅者、图书馆管理员和图书管理系统维护者。(1)有关借阅者的用例图,如图2所示。借阅者预约书籍修改个人信息查询书籍信息查询借阅信息登录系统浏览动态信息归还书籍借阅书籍缴纳罚金extendsusesusesusesusesusesusesusesuses图2借阅者的用例图(2)有关图书管理员的用例图,如图3所示。第5页共18页图书管理员动态信息浏览处理书籍预约收取罚金登录系统处理书籍借阅借阅者信息查询动态信息发布usesusesusesusesusesusesusesextends处理书籍归还图3有关图书管理员的用例图(3)系统管理员进行系统维护的用例图,如图4所示。系统管理员动态信息浏览管理动态信息增加书目登录系统删除用户修改用户信息查询用户信息usesusesusesusesusesusesuses删除书目更新书目查询书目信息增加用户usesusesusesuses图4有关系统管理员的用例图第6页共18页超出期限未超出期限未超出借书量超出借书量2.系统的顺序图顺序图是按时间顺序描述系统中对象之间的交互。大学图书管理系统中的顺序模型图较多,比如有借阅者借书、还书、查询书籍信息和预订书籍的顺序图、图书馆管理员处理书籍借阅、归还的顺序图、系统管理员添加书籍、添加借阅者信息、添加书目的顺序图以及删除或更新书目和借阅者账户的顺序图等等。3.系统的协作图顺序图是从时间上展现对象之间的交互,协作图是从空间角度描述对象之间的交互,它强调的是交互的语境和参与交互的对象的整体组织,两者是语义等价的。4.系统的状态图状态图描述的是单个对象所处的可能状态以及不同状态之间的转化,它显示了一个对象从创建到摧毁的整个生命周期。在大学图书管理系统中,比较明确的状态模型图主要有书籍的状态图和借阅者账户的状态图。5.系统的活动图活动图是一种比较粗粒度的事件流程图,它显示了工作步骤、判定点和分支。大学图书管理系统的活动模型图可以分别从借阅者、图书管理员和系统管理员的角度设计,下面主要介绍一下图书管理员的活动图,如图5所示。登录系统得到书籍借出书籍收取罚金更新书籍信息和读者的借阅信息图5图书管理员的活动图3.2基于MVC的设计(OOD模型)1.体系结构设计图书借阅系统主要用于图书馆工作人员对图书信息进行管理,并提供对图书的查阅、借阅、归还以及续借等功能,为图书馆提供了管理工具,同时让学生可以浏览、查询图书信息等,提高了整体运作效能。本系统分为三部分实现,通过使用的技术来区分:WebService部分,Remoting部分,B/S部分。如图6所示。查看借阅者借阅的图书信息、借阅图书、归还图书由Remoting实现。浏览、查询图书信息在B/S上实现。.跨学校间的图书信息浏览使用WebService实现。未超出期限第7页共18页图6学校图书借阅系统结构图所涉及到的数据库主要有图书的借书状态信息(TBL_BorrowInfo)和图书本身的信息(TBL_BookInfo),具体结构如图7:图7学校图书借阅系统数据库结构图第8页共18页2.领域问题软件结构设计对OOD模型进行细化.(1)对OOA模型按分层结构进行细化的时序图时序图是按时间顺序描述系统中对象之间的交互。大学图书管理系统中的顺序模型图较多,比如有借阅者借书、还书、查询书籍信息和预订书籍的顺序图、图书馆管理员处理书籍借阅、归还的顺序图、系统管理员添加书籍、添加借阅者信息、添加书目的顺序图以及删除或更新书目和借阅者账户的顺序图等等。下面以对图书管理员处理图书借阅的时序图为例进行绘制,如图8所示。:图书管理员:借出窗口:书目:书籍:借阅者:借出书籍1:登录系统()2:查询书目()3:查找书籍(书目)4:Available5:鉴定借阅者()6:建立预约()图8图书管理员处理图书借阅的时序图(2)客户层(图书管理员登录界面)表单输入drawing.jsp,原形如图9所示:图9图书管理员借阅者登录界面第9页共18页(3)图书管理员的相关操作设计及功能实现①管理借书当有学生借书时,图书馆管理员往往要进行核对,确定该学生是否可以借书或者有书尚未归还等,学生则需要提供所借图书的信息。在整个借书的过程中可能会涉及到的信息通常有学生个人信息(用户ID、姓名、性别、班级、照片等)和图书信息(图书编号、书名、出版日期、ISBN、作者、出版社、字数、页数、图书种类、版本等)。图10借书管理控件说明控件设定值类型功能用户信息groupBo