图书管理系统—解决方案一、综述1.1 图书管理系统开发背景在中学时发现这些图书室都藏书达六、七万余册,但其现行图书管理工作都是采用传统的手工管理,经过对其图书管理工作中的图书信息、读者管理及借阅管理工作做全面调查研究,其现行手工流程具体分析如下:图书登记:对上级分配、学校购入和社会捐赠的图书进行图书信息登记;读者登记:图书管理员根据学校档案室提供的教师花名册和学生花名册进行读者登记,然后填发借书证,学生毕业和教师调出时将其借书证注销。
借阅管理:读者特别是学生读者持借书证到图书室借阅图书,图书管理员将借阅日期填写在书籍卡片上,将卡片夹在借书证中间,存放在图书室,学生看完后,送还所借书籍,收回借书证或另借其它书籍。
这种传统人工的管理方式效率低、保密性差, 一方面导致教师、学生对学校图书室藏书情况不了解,图书室究竟有哪些图书也不知道;另一方面图书管理员对图书管理工作力不从心,因为时间一长,将产生大量的文件和数据,这对于查找、更新和维护都带来了不少的困难,耗费劳动力大,难于避免错误的产生,更容易造成图书的外流。
然而现在,计算机的价格已经十分低廉,性能却有了长足的进步。
在初级中学都装备有一定数量的电脑,中学教师都掌握了一定的计算机知识,它已经被学校应用于学校工作的许多领域。
计算机之所以在中小学发挥如此重要的作用的原因主要有以下几个方面:首先,计算机可以代替人工进行许多繁杂的劳动;其次,计算机可以为农村初级中学节省许多资源;第三,计算机可以大大的提高教职工的工作效率;第四,计算机可以使敏感文档更加安全,等等。
然而为了更好的应用计算机,广州远志资讯开发有限公司就针对目前中小学的要求,历时三年,精心研制了远制易航图书管理系统,目前广东省大约有百分之六十的中小学都一直在使用广州远志资讯开发有限公司开发的远志易航图书管理系统。
利用远志易航图书管理系统来管理图书,其好处归纳起来,大约有以下几点:1.可以存储学校图书室的图书信息、读者信息和借阅信息,安全、高效;2.只需一名图书管理员即可操作系统,节省大量人力;3.可以迅速查到所需信息,图书管理系统可以为学校教师和学生提供充足的信息和快捷的查询手段,让教师和学生能够及时查询图书信息,更好地为读者服务。
4.可以预借想借的书本。
5.并能做到管籍互借,这样能更好地实现图书的流通,无形中增加了图书的资源。
6.远志易航图书管理系统更好地主要实现纸质图书的采购、编目、流通业务管理。
因此广州远志公司开发的远志易航图书管理系统,以适应现行图书管理工作的要求,提高工作效率。
二、系统分析设计2.1 系统功能模块设计一、管理员客户端二、借书人员客户端三、借书登记员三、数据分析与设计3.1 数据库分析3.1.1 建立数据库与表建立图书管理系统并命名为BookSystemDB,根据项目需求分析,在数据库中建5张表,包括有:图书管理人员表(bookMgrInfo)图书借阅人员表(borrowerInfo)图书信息表(bookInfo)图书借阅记录表(borrowNotesInfo)图书评论表(critiqueInfo)3.1.2 封装存储过程和视图3.2 数据库设计图书管理人员表(bookMgrInfo)图书借阅人员表(borrowerInfo)图书信息表(bookInfo)图书借阅记录表(borrowNotesInfo)图书评论表(critiqueInfo)四、系统功能详细分析41.1系统参与人员1.管理员2.借书登记员3.学生4.1.2 功能说明1 登陆获取用户输入的用户名和密码,以及身份,判断用户名和密码是否匹配,如果匹配,则验证身份,通过不同的身份进入不同的界面查询需要的存储过程:usp_Login;2管理员客户端a>查询功能可查询某段时间的内的借书与还书记录需要借书记录表的视图,视图名:view_borrowNotes可通过书籍的书名,作者,类别查询书籍查询一段时间内的排行榜需要图书信息表的视图,视图名:view_bookb>新增功能增加新书信息(书籍编号,书名,作者,类别,价格,出版日期,总数量,已借数量,备注)存储过程名:usp_addBook增加借阅人员信息(编号,姓名,性别,身份,系别,年龄,密码,照片,备注)存储过程名:usp_addPersonc>修改功能可通过书名,编号修改新书信息(作者,类别,价格,出版日期,总数量,已借数量,备注)通过编号修改借阅人员信息(姓名,性别,身份,系别,年龄,密码,照片,备注)存储过程名:usp_upPersond>删除功能通过编号删除借阅人员信息(姓名,性别,身份,系别,年龄,密码,照片,备注)存数过程名:usp_deletePerson3借阅人员客户端a>查询功能可通过书籍的书名,作者,类别查询书籍查询一段时间内的排行榜可以查询个人的借还书记录需要图书信息表的视图,视图名:view_bookb>评论功能可以发表对某一本书的评论存储过程名:usp_addC4 借书登记员客户端a>查询功能可以查询全部借书记录,可按学号、时间、图书编号等类型查询b>新增借书记录获取用户填入的借书信息,封装指定对象,执行添加借书记录的存储过程,返回添加结果。
存储过程名:usp_addBorrowNotesc>学生还书输入指定学号和图书编号,找到指定的借书记录,将其中的借书状态该为“已还”。
还书时,查询其借阅时间,判断是否超时,超时时,需要支付一定罚金。
修改图书已借数量存储过程名:usp_upBorrowNotesd>图书遗失输入指定学号和图书编号,,找到指定的借书记录,将借书状态该为“遗失”,并修改图书的总数量。
存储过程名:usp_deleteBook4.2.1所需实体类和工具类实体类:1.借书人员类:Borrower2.图书信息类:Book3.借书记录类:Borrownotes4.评论类:Critique工具类:1.逻辑层中:a)借书人员表所用的工具类:Bll_borroweri.添加借书人员信息的方法:bool addBorrower(Borrower b)ii.修改借书人员信息的方法:bool upBorrower(Borrower b)iii.删除借书人员信息的方法:bool deleteBorrower(Borrower b)iv.查询借书人员信息的方法:DataTable selectBook(Book b)1.按人员编号查询2.按人员姓名查询3.按人员身份查询4.按人员系别查询5.查询全部b)图书信息表所用的工具类:Bll_booki.添加图书信息的方法:bool addBook(Book book)ii.修改图书信息的方法:bool upBorrower(Book book)iii.查询图书信息的方法:DataTable selectBook(Book b)1.按图书名称查询2.按图书作者查询3.按图书类别查询4.查看好书排行榜查询5.查询全部c)借书记录表所用的工具类:Bll_borrownotesi.添加借书记录的方法:bool addBorrownotes(Borrownotes b)ii.学生还书的方法:bool upBorrownotes(int bookId,int borrowerId)iii.查询借书记录的方法DataT able selectBorrownotes(Borrownotes b)1.按借书人编号查询2.按图书编号查询3.按借书状态查询4.查询全部iv.按不同时间段查询借书记录DataTable selectTimeBorrownotes (String s),分别传:1“本周”2“本月”3“本日”等、d)评论表所用的工具类:Bll_Critiquei.添加评论信息的方法bool addCritique(Critique c)ii.查询评论DataT able selectCritique (Critique c)1.按图书编号查询2.按借书人编号查询2.数据访问层a)借书人员表所用的工具类:BorrowerDALi.添加借书人员信息的方法:bool addBorrower(Borrower b)1.所需存储过程名:usp_addBorrowerii.修改借书人员信息的方法:bool upBorrower(Borrower b)1.所需存储过程名:usp_upBorroweriii.删除借书人员信息的方法:bool deleteBorrower(Borrower b)1.所需存储过程名:usp_deleteBorroweriv.查询借书人员信息的方法:DataTable selectBorrower(Book b ,int i)a)所需视图名:view_selectBorrower2.按人员编号查询3.按人员姓名查询4.按人员身份查询5.按人员系别查询6.查询全部b)图书信息表所用的工具类:BookDALi.添加图书信息的方法:bool addBook(Book book)1.所需存储过程名:usp_addBookii.修改图书信息的方法:bool upBook(Book book)1.所需存储过程名:usp_upBookiii.查询图书信息的方法:DataTable selectBook(Book b,int i)a)所需视图名:view_selectBook2.按图书名称查询3.按图书作者查询4.按图书类别查询5.查看好书排行榜查询6.查询全部c)借书记录表所用的工具类:BorrownotesDALi.添加借书记录的方法:bool addBorrownotes(Borrownotes b)1.所需存储过程名:usp_addBorrownotesii.学生还书的方法:bool upBorrownotes(int bookId,int borrowerId)1.所需存储过程名:usp_upBorrownotesiii.查询借书记录的方法DataT able selectBorrownotes(Borrownotes b,int i)a)所需存储过程名:view_selectBorrownotes2.按借书人编号查询3.按图书编号查询4.按借书状态查询5.查询全部iv.按不同时间段查询借书记录DataTable selectTimeBorrownotes (int,i)根据I值判断是1本周,2本月,3本日所需视图名:view_selectTimeBorrownotesd)评论表所用的工具类:CritiqueDALi.添加评论信息的方法bool addCritique(Critique c)1.所需存储过程名:usp_addCritiqueii.查询评论DataT able selectCritique (Critique c,int i)a)所需视图名:view_selectCritique2.按图书编号查询3.按借书人编号查询e)DBhelp类五、结果与讨论。