-1-图书管理系统的分析与设计2图书管理系统分析与设计2.1图书管理系统的需求分析2.1.1图书管理系统的功能需求分析需求分析在软件工程中占用至关重要的地位,需求分析关系到之后的系统开发与设计是否适应市场或满足客户的要求。图书管理系统在需求分析过程中,遵循如图1所示的流程和规则。对于一个完整的图书管理系统,需要满足来自各个方面的不同需求,包括图书借阅者、图书馆普通工作人员和图书馆管理人员。其中,对于图书借阅者来说,需要满足其查询和借阅图书,以及对个人账户信息进行修改等;对于图书馆普通工作人员来说,需要对图书借阅者的借阅图书和还书等要求进行操作,并形成借书合作还书记录;对于图书馆管理人员来说,不但要对图书借阅者、图书馆工作人员和馆存图书等进行管理,还要对系统进行监测和维护等。要实现这样的目标,必须采用现代化的图书管理手段和管理体制,因此,科学高效的现代化的图书管理系统是信息化时代对图书管理工作的必然要求,是图书馆实现自动化管理的最终目标1。开始需求结束需求分析进人设计阶段用户提出需求分析人员体验工作流程分析人员调研报告项目组分析并确定最终需求与用户沟通并确定工作环境图1用户需求分析流程图2.1.2图书管理系统的非功能需求分析非功能性需求的内容通常采用非量化的指标来表示。主要表现为:1)可靠性。(1)系统的可靠性包括系统的可用性,图书管理系统操作应尽可能简单,用户不用培-2-训或只需经过简单培训即可熟练使用。(2)可恢复性,系统在出现意外故障、停断电情况时,能够提供数据的可恢复性与可靠性。2)可扩展性。图书管理系统功能模块可以扩展,并且不影响客户端用户使用,3)兼容性。可以与其他系统结合使用,比如能够兼容条形码技术。另外,图书管理系统的设计要立足于实际需求,并着眼于未来的发展,综合运用计算机技术、数据库技术和网络技术,构建具有较强通用性和实用性的系统。图书管理系统的设计需要建立符合标准化协议和标准格式的系统。在外部界面的设计方面要采用标准化的界面格式,具有详细的联机帮助和较好的容错能力,在内部的数据标准方面,要提供标准交换格式数据的处理功能,以提高系统的运行效率和管理水平。图书管理系统的设计需要做到功能齐全、界面友好、运行可靠的需求,能够适应不同层次和不同应用。2.2图书管理系统类图设计图2领域模型图-3-+find():void+create():void+destroy():void+borrow():void+return_back():void+check_if_max():void+name:string+address:string+city:string-UserID:string+borrow_number:int+state:string+zip:string+maxbook:int+maxday:intBorrower-workID:stringAdministrator+create():void+destroy():void+update():void-workID:string-name:string-address:string-city:string-state:stringLibrarian+find_on_title():void+create():void+destroy():void+find():void+check():void+update():void+reserve():void-id:intItem-data:Date-Title_IsBN:string-money:double-IsPay:bool-create:void-destroy:void-find:void-pay:voidLoan+find():void+create():void+destroy():void+borrow():void+return_back():void+reserve():void+name:string+author:string+isbn:string+total_number:int+borrowed_number:int+type:string+IsAllowedForBorrow:boolTitle+create():void+destroy():void+find():void+date:Date+Title_ISBN:string+UserID:string+number:intReservation-**-1*-1*-**-1*-**-1*-1...**-1*-2*-1*-**图3图书管理系统类图2.3图书管理系统用例设计及分析2.3.1图书管理系统用例设计采用用例图描述的图书管理主要包括三类用户:读者、图书管理员、系统管理员。其中,读者是多个,图书管理员是几个,系统管理员是一个。对于系统,读者可以查询自己的借阅情况、分门别类的查询图书,借书,还书。图书管理员主要是日常操作以下几个工作环节:借阅书登记、图书信息注销和读者信息注销等,而系统管理员管理图书的系统相关事宜,比如增删用户和增删书,查询和更新用户及图书信息等。用例图如下:-4-LogininsystemSearchforbookincludeQueryuserinfoincludeBorrower图3借阅者请求服务的用例图GetBooklendBooklibrarianGetuseraccountinclude图4图书管理员用例图-5-RemoveorUpdataborrowerAddbookQueryborrowerinforQuerybookinforRemoveBookAddborrowerAdministratorlogininsystemincludeincludeincludeincludeincludeinclude图5系统管理员用例图2.3.2系统用例描述查询书:基本事件路径(1)借阅者输入查询条件;(2)系统显示相关书目;(3)借阅者寻找符合自己要求书的信息;查询书—没找到要借的书:可选事件路径(1)借阅者输入查询条件;(2)系统显示相关书目;(3)没有符合条件的书,用例终止;查询书—有要找的书,但已经被借出:可选事件路径(1)借阅者输入查询条件;(2)系统显示符合自己要求书的信息;(3)系统显示要借的书已经被借出;(4)用例终止;-6-查询个人信息:基本事件路径(1)借阅者输入查询条件;(2)系统显示该借阅者借书,还书情况等信息;查询个人信息—没有个人信息:可选事件路径(1)借阅者输入查询条件;(2)系统显示该借阅者的个人信息不存在,用例终止;查询个人信息—查询条件无效:例外事件路径(1)借阅者输入查询条件;(2)系统显示查询条件无效,用例终止;登陆系统:基本事件路径(1)借阅者输入登陆条件;(2)借阅者进入系统,在自己的权限范围内进行相关操作;登陆系统—此登陆者无权限登陆:可选事件路径(1)借阅者输入登陆条件;(2)系统显示该用户不存在,无权限登陆本系统;(3)用例终止登陆系统—学号(密码或姓名)输入有误:例外事件路径(1)借阅者输入登陆条件;(2)系统显示学号(密码或姓名)有误,用例终止;记录还书:基本事件路径(1)图书管理员登录图书管理系统;(2)输入所要归还图书的编号;(3)系统确认图书,记录并更新系统。记录还书—图书无法归还(损坏或丢失):可选事件路径(1)图书管理员登录图书管理系统;(2)图书管理员确认图书无法归还;(3)系统确认并更改图书信息,记录信息。-7-记录借阅:基本事件路径(1)图书管理员登录图书管理系统;(2)图书管理员执行“获取借阅者账户”用例;(3)输入该借阅者所要借阅的图书编号;(4)系统确认,记录并更新系统。记录借阅—借阅者有不良记录:可选事件路径(1)图书管理员登录图书管理系统;(2)图书管理员执行“获取借阅者账户”用例;(3)该借阅者有不良记录,系统提示此用户不能再借阅图书,用例终止。记录借阅—续借:可选事件路径(1)图书管理员登录图书管理系统;(2)图书管理员执行“获取借阅者账户”用例;(3)系统显示用户借书信息,图书管理员进行续借处理。获取借阅者账户:基本事件路径(1)图书管理员登录图书管理系统;(2)输入借阅者的图书证号;(3)系统显示该借阅者的借阅账户信息。获取借阅者账户—图书证号无效:例外事件路径(1)图书管理员登录图书管理系统;(2)输入借阅者的图书证号;(3)输入的借阅者的图书证号无效,系统提示此借阅者的图书证号无效,用例终止。增加书目:基本事件路径(1)系统管理员登录管理系统。(2)系统管理员增加书目信息。(3)系统记录改变并显示更新。增加书目—书目信息已存在:可选事件路径-。(1)系统管理员登录管理系统。-8-(2)系统管理员增加书目信息。(3)系统显示该书目信息已存在,询问是否更改。(4)系统确认不做更改后,保持原记录,并显示。删除书目:基本事件路径(1)系统管理员登录管理系统。(2)系统管理员移除书目信息。(3)系统记录改变并显示更新。删除书目—书目信息不存在:例外事件路径(1)系统管理员登录管理系统。(2)系统管理员输入书目信息。(3)系统提示该书目信息不存在。(4)经确定,系统记录不做修改。查询书目信息:基本事件路径(1)系统管理员登录管理系统。(2)系统管理员输入要查询的书目。(3)系统显示要查询书目的信息。查询借阅者信息:基本事件路径(1)系统管理员登录管理系统。(2)系统管理员输入要查询的借阅者学号。(3)系统显示要查询的借阅者的信息。删除借阅者信息:基本事件路径(1)系统管理员登录管理系统。(2)系统管理员删除借阅者信息。(3)系统记录改变并显示更新。删除借阅者信息:—借阅者信息不存在:例外事件路径(1)系统管理员登录管理系统。(2)系统管理员输入借阅者学号。-9-(3)系统提示该借阅者信息不存在。(4)经确定,系统记录不做修改。增加借阅者信息:基本事件路径(1)系统管理员登录管理系统。(2)系统管理员增加借阅者信息。(3)系统记录改变并显示更新。增加借阅者信息—借阅者信息已存在:可选事件路径。(1)系统管理员登录管理系统。(2)系统管理员增加借阅者信息。(3)系统显示该借阅者信息已存在,询问是否更改。(4)系统确认不做更改后,保持原记录,并显示。更新书目信息:基本事件路径(1)系统管理员登录管理系统。(2)系统管理员输入要更新的书目。(3)系统显示要更新书目的信息。(4)系统管理员对其信息进行修改。(5)系统记录改变,并显示更新。更新借阅者信息:基本事件路径(1)系统管理员登录管理系统。(2)系统管理员输入要更新的借阅者学号。(3)系统显示要更新借阅者的信息。(4)系统管理员对其信息进行修改。(5)系统记录改变,并显示更新。2.4图书管理系统总体架构设计图书管理系统开发和构建的主要目标是对图书馆种类繁多的书籍进行管理,并且对图书馆用户进行科学合理的管理,以提高图书馆工作效率和降低管理成本。图书管理系统的主要开发内容包括后台数据库的建立和维护以及前端应用程序的开发。其中重点和核心内容就是后台数据库的开发,要求建立起数据一致性好、完整性强、数据安全性和性能高的数据库系-10-统。图书管理系统开发需要满足以下基本需求,例如书目查询管理:即根据一定的条件对图书进行查询,并可以查看图书的详细信息,查询范围出版社、书名、作者等查询项目进行任意条件的组合查询;权限维护管理:系统管理员可以在此模块中,对已有的图书信息进行修改,并对用户信息进行管理;用户信息管理:用户登录该系统后,可以进行图书的借阅和归还操作,还可修改密码、查询借阅信息等。作为提供图书管理与交流的平台,图书管理系统需要面对两大类用户,即系统管理员和读者用户。因此,从用户使用的角度,图书管理系统大致可以分为两个子系统:管理员子系统和读者用户子系统。图书管理系统的基本功能结构如图6。基于B/S模式的图书管理系统三层结构模式如图7所示。图书管理系统读者用户端系统管理用户端图书查询公告查看图书分类浏览