图书管理系统的分析与设计
2 图书管理系统分析与设计
2.1 图书管理系统的需求分析
2.1.1 图书管理系统的功能需求分析
需求分析在软件工程中占用至关重要的地位,需求分析关系到之后的系统开发与设计是否适应市场或满足客户的要求。图书管理系统在需求分析过程中,遵循如图 1所示的流程和规则。
对于一个完整的图书管理系统,需要满足来自各个方面的不同需求,包括图书借阅者、图书馆普通工作人员和图书馆管理人员。其中,对于图书借阅者来说,需要满足其查询和借阅图书,以及对个人账户信息进行修改等;对于图书馆普通工作人员来说,需要对图书借阅者的借阅图书和还书等要求进行操作,并形成借书合作还录;对于图书馆管理人员来说,不但要对图书借阅者、图书馆工作人员和馆存图书等进行管理,还要对系统进行监测和维护等。要实现这样的目标,必须采用现代化的图书管理手段和管理,因此,科学高效的现代化的图书管理系统是信息化时代对图书管理工作的必然要求,是图书馆实现自动化管理的最终目标1。
- 1 -
开始需求用户提出需求分析人员体验工作流程分析人员调研报告项目组分析并确定最终需求与用户沟通并确定工作环境结束需求分析进人设计阶段
图 1 用户需求分析流程图
2.1.2图书管理系统的非功能需求分析
非功能性需求的内容通常采用非量化的指标来表示。主要表现为:
1)可靠性。
(1)系统的可靠性包括系统的可用性,图书管理系统操作应尽可能简单,用户不用培训或只需经过简单培训即可熟练使用。
(2)可恢复性,系统在出现意外故障、停断电情况时,能够提供数据的可恢复性与可靠性。
2)可扩展性。图书管理系统功能模块可以扩展,并且不影响客户端用户使用,
3)兼容性。可以与其他系统结合使用,比如能够兼容条形码技术。
- 2 -
另外,图书管理系统的设计要立足于实际需求,并着眼于未来的发展,综合运用计算机技术、数据库技术和网络技术,构建具有较强通用性和实用性的系统。图书管理系统的设计需要建立符合标准化协议和标准格式的系统。在外部界面的设计方面要采用标准化的界面格式,具有详细的联机帮助和较好的容错能力,在内部的数据标准方面,要提供标准交换格式数据的处理功能,以提高系统的运行效率和管理水平。图书管理系统的设计需要做到功能齐全、界面友好、运行可靠的需求,能够适应不同层次和不同应用。
2.2 图书管理系统类图设计
图 2领域模型图
- 3 -
BorrowerLibrarian-workID : string-name : string-address : string-city : string-state : string+create() : void+destroy() : void+update() : void*-1-*-1**+name : string+address : string+city : string-UserID : string+borrow_number : int+state : string+zip : string+maxbook : int+maxday : int+find() : void+create() : void+destroy() : void+borrow() : void+return_back() : void+check_if_max() : void*-1TitleAdministrator-workID : string*-*Reservation+date : Date+Title_ISBN : string+UserID : string+number : int+create() : void+destroy() : void+find() : void-1*-**+name : string+author : string+isbn : string+total_number : int+borrowed_number : int+type : string+IsAllowedForBorrow : bool+find() : void+create() : void+destroy() : void+borrow() : void+return_back() : void+reserve() : void-1-1...***Item-id : int+find_on_title() : void+create() : void+destroy() : void+find() : void+check() : void+update() : void+reserve() : void-**-1*Loan-data : Date-Title_IsBN : string-money : double-IsPay : bool-create : void-destroy : void-find : void-pay : void*-2图
3 图书管理系统类图
2.3 图书管理系统用例设计及分析
2.3.1 图书管理系统用例设计
采用用例图描述的图书管理主要包括三类用户:读者、图书管理员、系统管理员。其
- 4 -
中,读者是多个,图书管理员是几个,系统管理员是一个。对于系统,读者可以查询自己的借阅情况、分门别类的查询图书,借书,还书。图书管理员主要是日常操作以下几个工作环节:借阅书登记、图书信息注销和读者信息注销等,而系统管理员管理图书的系统相关事宜,比如增删用户和增删书,查询和更新用户及图书信息等。用例图如下:
Search for book< 图3 借阅者请求服务的用例图 Get Book< 图 4 图书管理员用例图 - 5 - Add book< 图5 系统管理员用例图 2.3.2系统用例描述 查询书:基本事件路径 (1) 借阅者输入查询条件; (2) 系统显示相关书目; (3) 借阅者寻找符合自己要求书的信息; - 6 - 查询书—没找到要借的书:可选事件路径 (1) 借阅者输入查询条件; (2) 系统显示相关书目; (3) 没有符合条件的书,用例终止; 查询书—有要找的书,但已经被借出:可选事件路径 (1) 借阅者输入查询条件; (2) 系统显示符合自己要求书的信息; (3) 系统显示要借的书已经被借出; (4) 用例终止; 查询个人信息:基本事件路径 (1) 借阅者输入查询条件; (2) 系统显示该借阅者 借书,还书情况等信息; 查询个人信息—没有个人信息:可选事件路径 - 7 - (1) 借阅者输入查询条件; (2) 系统显示该借阅者的个人信息不存在,用例终止; 查询个人信息—查询条件无效:例外事件路径 (1) 借阅者输入查询条件; (2) 系统显示查询条件无效,用例终止; 登陆系统:基本事件路径 (1) 借阅者输入登陆条件; (2) 借阅者进入系统,在自己的权限范围内进行相关操作; 登陆系统—此登陆者无权限登陆:可选事件路径 (1) 借阅者输入登陆条件; (2) 系统显示该用户不存在,无权限登陆本系统; (3) 用例终止 登陆系统—学号(密码或姓名)输入有误:例外事件路径 - 8 - (1) 借阅者输入登陆条件; (2) 系统显示学号(密码或姓名)有误,用例终止; 记录还书:基本事件路径 (1) 图书管理员登录图书管理系统; (2) 输入所要归还图书的编号; (3) 系统确认图书,记录并更新系统。 记录还书—图书无法归还(损坏或丢失):可选事件路径 (1) 图书管理员登录图书管理系统; (2) 图书管理员确认图书无法归还; (3) 系统确认并更改图书信息,记录信息。 记录借阅:基本事件路径 (1) 图书管理员登录图书管理系统; (2) 图书管理员执行“获取借阅者账户”用例; - 9 - (3) 输入该借阅者所要借阅的图书编号; (4) 系统确认,记录并更新系统。 记录借阅—借阅者有不良记录:可选事件路径 (1) 图书管理员登录图书管理系统; (2) 图书管理员执行“获取借阅者账户”用例; (3) 该借阅者有不良记录,系统提示此用户不能再借阅图书,用例终止。 记录借阅—续借:可选事件路径 (1) 图书管理员登录图书管理系统; (2) 图书管理员执行“获取借阅者账户”用例; (3) 系统显示用户借书信息,图书管理员进行续借处理。 获取借阅者账户:基本事件路径 (1) 图书管理员登录图书管理系统; (2) 输入借阅者的图书证号; - 10 - (3) 系统显示该借阅者的借阅账户信息。 获取借阅者账户—图书证号无效:例外事件路径 (1) 图书管理员登录图书管理系统; (2) 输入借阅者的图书证号; (3) 输入的借阅者的图书证号无效,系统提示此借阅者的图书证号无效,用例终止。 增加书目:基本事件路径 (1) 系统管理员登录管理系统。 (2) 系统管理员增加书目信息。 (3) 系统记录改变并显示更新。 增加书目—书目信息已存在:可选事件路径-。 (1) 系统管理员登录管理系统。 (2) 系统管理员增加书目信息。 (3) 系统显示该书目信息已存在,询问是否更改。 - 11 - (4) 系统确认不做更改后,保持原记录,并显示。 删除书目: 基本事件路径 (1) 系统管理员登录管理系统。 (2) 系统管理员移除书目信息。 (3) 系统记录改变并显示更新。 删除书目—书目信息不存在:例外事件路径 (1) 系统管理员登录管理系统。 (2) 系统管理员输入书目信息。 (3) 系统提示该书目信息不存在。 (4) 经确定,系统记录不做修改。 查询书目信息:基本事件路径 (1) 系统管理员登录管理系统。 (2) 系统管理员输入要查询的书目。 - 12 - (3) 系统显示要查询书目的信息。 查询借阅者信息:基本事件路径 (1) 系统管理员登录管理系统。 (2) 系统管理员输入要查询的借阅者学号。 (3) 系统显示要查询的借阅者的信息。 删除借阅者信息: 基本事件路径 (1) 系统管理员登录管理系统。 (2) 系统管理员删除借阅者信息。 (3) 系统记录改变并显示更新。 删除借阅者信息:—借阅者信息不存在: 例外事件路径 (1) 系统管理员登录管理系统。 (2) 系统管理员输入借阅者学号。 (3) 系统提示该借阅者信息不存在。 - 13 - (4) 经确定,系统记录不做修改。 增加借阅者信息:基本事件路径 (1) 系统管理员登录管理系统。 (2) 系统管理员增加借阅者信息。 (3) 系统记录改变并显示更新。 增加借阅者信息—借阅者信息已存在: 可选事件路径。 (1) 系统管理员登录管理系统。 (2) 系统管理员增加借阅者信息。 (3) 系统显示该借阅者信息已存在,询问是否更改。 (4) 系统确认不做更改后,保持原记录,并显示。 更新书目信息:基本事件路径 (1) 系统管理员登录管理系统。 (2) 系统管理员输入要更新的书目。 - 14 - (3) 系统显示要更新书目的信息。 (4) 系统管理员对其信息进行修改。 (5) 系统记录改变,并显示更新。 更新借阅者信息:基本事件路径 (1) 系统管理员登录管理系统。 (2) 系统管理员输入要更新的借阅者学号。 (3) 系统显示要更新借阅者的信息。 (4) 系统管理员对其信息进行修改。 (5) 系统记录改变,并显示更新。 2.4 图书管理系统总体架构设计 图书管理系统开发和构建的主要目标是对图书馆种类繁多的书籍进行管理,并且对图书馆用户进行科学合理的管理,以提高图书馆工作效率和降低管理成本。图书管理系统的主要开发内容包括后台数据库的建立和维护以及前端应用程序的开发。其中重点和核心内容就是后台数据库的开发,要求建立起数据一致性好、完整性强、数据安全性和性能高的数据库系统。图书管理系统开发需要满足以下基本需求,例如书目查询管理:即根据一定的条件对图书进行查询,并可以查看图书的详细信息,查询范围出版社、书名、作者等查 - 15 - 询项目进行任意条件的组合查询;权限维护管理:系统管理员可以在此模块中,对已有的图书信息进行修改,并对用户信息进行管理;用户信息管理:用户登录该系统后,可以进行图书的借阅和归还操作,还可修改密码、查询借阅信息等。 作为提供图书管理与交流的平台,图书管理系统需要面对两大类用户,即系统管理员和读者用户。因此,从用户使用的角度,图书管理系统大致可以分为两个子系统:管理员子系统和读者用户子系统。图书管理系统的基本功能结构如图6。基于B/S模式的图书管理系统三层结构模式如图7所示。 图书管理系统系统管理用户端读者用户端基本功能操作数据管理操作图书统计操作用户管理操作图书查询公告查看图书分类浏览图书借阅信息数据库 图 6 图书管理系统的功能结构 Client客户Web Service数据库服务器 图7 图书管理系统的总体架构 可见,系统需要满足两类基本用户的使用需求。其中,读者用户主要是完成图书查询、 - 16 - 公告查看、图书分类浏览、图书借阅信息查询等功能,包括查看图书室的通知通告,发表建议和看法;进行图书的概要浏览;按照图书编号、图书名称、出版社、作者等关键字段进行匹配查找和模糊查找;查看图书的借阅情况(即借阅状态)等等。系统管理用户主要完成的功能包括对图书的管理;对系统的升级、维护、纠错等处理;进行图书的分类设置;输入和修改图书属性;对借阅者的管理等等。图书管理系统主要是面向读者进行服务的,因此,其构建是以读者的需求为中心的,最关键的模块就是图书的查询模块。图书查询模块功能的强弱和性能的好坏关系到读者使用的方面程度,在图书管理系统中占有非常重要的作用。 2.5 图书管理系统详细设计 :Administrator:LibrarySystem:TitleaddItem()find(String)return()create(int,Title ):Item 图 8系统管理员添加书籍的顺序图 系统管理员向图书管理系统发出增加书籍的消息addItem(), 图书管理系统执行find(String)操作,在Title中找到相应的图书类别并返回,图书管理系统在返回的图书类别中创建这本书的图书对象。 - 17 - ;Administrator:LibrarySystemcreateBorrower() create():Borrower 图 9 系统管理员添加借阅者帐户的顺序图 系统管理员向图书管理系统发出增加借阅的消息createBorrower(), 图书管理系统执行create()操作,并创建一个新的借阅者对象。 - 18 - :Administrator:LibrarySystem:Title:ItemremoveTitle()find(String)find_on_title(Title)< 图 10系统管理员删除书目的顺序图 系统管理员向图书管理系统发出删除书籍的消息removeTitle(), 图书管理系统执行find(String)操作,在Title中找到相应的图书类别并返回,图书管理系统在返回的图书类别中执行find_on_title(Title)消息找到这本书并返回结果,然后发送destory销毁这本书的图书对象,并可销毁相应的图书类别对象。 - 19 - :Librarionfind Title( ):Library systemfind(string):Title:Borrower:itemfind Item( )find_on_title( )identify borrrower( )find(string)create(borrower,item):(loan) 图 11 图书管理员处理书籍借阅的顺序图 管理员向系统发送 find title()操作;此时,系统向title类发送 find(string)操作。 管理员向系统发送 find item()操作;系统向item类发送 find_on_title( )操作。 管理员向系统发送identify borrower( )操作;系统向borrower类发送 find(string)操作;同时系统新建一个loan 类的对象。 - 20 - :borrower:Librarion:Labrary system:Item:LoanGive the book( )return item( )check( )return ( )=okupdate( )update( ) 图 12图书管理员处理书籍归还的顺序图 Borrower向管理员发送 give thebook( )操作;管理员向系统return item();系统检查该书籍对象的完好与否;并更新该书籍的被借的情况;并更新loan 对象; - 21 - :borrowerQuery book( ):labrary systemfind_on_title(title):item 图 13 借阅者查询书籍信息的顺序图 Borrower向 系统 发送 querybook( )操作;系统向item 发送find_on_item(title)寻找该数目,查询信息。 :Borrower1: Login():web Applicationthe Title:Title2: find(Title)3: return():title4: Reserve()5: return():ok 图14 借阅者预定书籍时序图 - 22 - Borrower向 web application 发送 Login( )操作;web application向title 发送find(title);web application向title 发送reserve( )操作。 书的状态图:新书状态,书可用状态,删除书状态,预定书 New bookTime outAvailableReservedCancelBorrowReservedBorrowedDeleteReturn book 图 15 图书管理系统状态图 - 23 - the number of book is okNew BorrowAccount Availablereturn some booksthe number of book extends the limitDelete AccountAccount unavailable 图 16借阅者帐户状态图 - 24 - 因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- huatuo0.com 版权所有 湘ICP备2023021991号-1
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务