图书管理系统的设计与实现一引言1.1绪论1.2设计任务1给广大师生提供便利,比如说方便师生查阅图书,便于图书的管理;2.系统建立图书馆借阅读者的数据库,以便管理员对读者进行高效管理,对于诚信度不好的读者不给于借书服务;3.系统建立图书管理员数据库,根据数据库信息,可以对操作进行限定,不同的用户执行的操作不尽相同。1.3图书管理系统需要改进的地方?1)对人工来说不可避免的是在人工操作的过程中常常会发生一些不可避免的问题,这对于图书管理来说常常会造成不可避免的损失,同时效率低下。2)图书馆工作人员没有很好的与用户进行交流,造成管理漏洞没有及时改正。3)无法建立科学化的数据管理系统,4)专业化管理人才十分稀少1.4选题意义1.有利于节约学生查找书籍的时间,为学生在提高学习效率的方面创造了一个平台。2.普及计算机知识,让学生更好的了解计算机。3.为学校的管理节约成本,学校的管理无需大批的员工来进行管理。4.创造一个方便快捷的校园环境。5.为学生提供一个学习,图书一体化服务。二系统分析2.1系统需求模块1).书籍增加模块2).书籍删除模块3).书籍修改模块4).管理员权限模块5).管理员密码修改6).用户类型限制模块8).读者借阅书籍模块9).退出系统2.2图书系统设计原则该图书系统设计的原则是本着为广大师生提供服务,营造一个方便,快捷,学习—书籍一体化的校园环境。在设计方面,应该以方便学生我宗旨,系统要简介明了的表达出该系统具有的功能,同时也应该满足学生的要求。在页面设计方面,要新颖独特,保证可以吸引学生来使用该系统,让学生一目了然就知道该系统所具有的功能,系统设计不在烦杂,简洁大方即可。在此系统中,详细设计的主要目标是将各个模块的功能一一来实现,也就是说将各个模块的功能精细化,考虑每个模块需要完成的功能,将每个模块完成的功能分析清楚,逐步细化。分析清楚每个模块完成的功能以后在,为以后的编程打下了坚实的基础。对每个模块研究得越详细,以后的编程的效率就越高,从而软件的质量也就越高在设计软件时,需要考虑不少的问题比如说当用户登录以后,系统的响应时间,以及当用户输入的命令用户是否可以可以响应,或者是当出现差错时,该如何处理等相关方面都是需要我们考虑的问题,在此阶段过程中我们要善于分析问题,及时对响应的问题采取相应的措施。在设计过程中,尽量采取比较优化的程序代码,是程序短小而功能却很强大,减少系统的响应时间,同时也可以采用比较好的平台来进行项目的设计工作。2.3可行性分析(1)经济可行性在系统设计的过程中,一定的经济基础是必不可少的,没有一定的经济基础,系统的开发便无从展开,经济基础可以说是其他基础的前提,是非常重要,进行经济可行性分析是系统非常重要的一个步骤,若一个公司没有一定的经济基础,相应的电脑设备可能无法准备齐全,同时也请不到相应的技术人员,一切开发工作可能无法展开,所以说,在一个系统开发之前,进行经济可行性分析是非常有必要的。(2)技术可行性技术可行性就是分析,如果你要开发该系统,是否具有相应的技术来完成该系统的开发,比如说mysql技术,web技术,Java等等。(3)实践可行性分析在分析完经济可行性和技术可行性,操作可行性的分析也是必不可少的一步,操作可行性是看这个系统所执行的操作可否可以完成,在本系统中主要是完成书籍的查询,数据的管理,书籍的删除,修改,借阅等相关信息,是完全可以完成的,操作可行性方面,要有依据,不可随意想象,在这方面,本系统所完成的操作是完全可以实现的。三开发工具介绍1.开发语言:java语言2.开发工具:MyEclipse或Eclipse最新版3.web服务器:tomcat6.x以上4.数据库:MySQL5.程序采用Mvc模式:Jsp+servelt+javabean+mysql3.1MySQL数据库MySQL数据库是目前在编写程序的过程中,比较实用的一个数据库,它通过jdbc技术进行连接,数据库一般存储的是与用户相关的信息,比如说用户的名字,或者是登录的账号,密码,用户的身份信息等,在本系统中,数据库存储的相关信息主要包括用户名(账号或者是学号),登录密码,登录的身份,以及考试的科目等相关信息。MySQL有比较多的优势,通过查询语句查询相应MySQL数据库有比较高的速度,这样大大提高的系统的工作效率,节省了用户登录的时间,这样节约了学生的时间。同时MySQL在任何平台都可以使用,这一点是很多软件比不上的一点,通过这一技术,使得MySQL技术得到快速的发展,这不仅仅体现在使用MySQL数据库使用的人数上面,而且体现在各个使用的平台上面。随着计算机的发展,各种安全问题也暴露出来,比如黑客攻击,病毒入侵相关的系统,盗用用户的资料,给用户造成了无法估量的损失,但MySQL有比较高的安全性和稳定性,随着时代的发展,各种数据库的类型丰富多彩,但是MySQL数据库却是一种非常常用的数据库。3.2TOMCAT6.x服务器Tomcat是一个Servlet容器,Servlet有特点有以下:1、可以提供相应的代码程序,并且可以相应相关的客户端。2、支持java语言。3、不同的浏览器都可以访问Servlet。3.3Myeclipse开发软件Myeclipse软件是一款非常好的软件,在目前来说,在市面上比较流行,它之所以流行,不仅仅体现在功能强大的方面,而且还体现在它无需付费即可使用的方面,它提供强大的界面功能,可以和mysql数据库相结合起来使用,给用户提供一个界面良好,功能强大的系统。Myeclipse软件使用方便,具有一些其他软件没有的功能,它无需付费即可使用,这给使用Myeclipse的用户节省了不少的开支,在以前,一些开发软件无需付费时,功能却总是不能满足用户的需求,功能不够强大,当一些功能强大,可以满足用户的需求时,确实需要付费,这给用户的使用带来了不少的问题,Myeclipse的诞生大大的解决了用户的苦恼,它可以与相应的服务器相连接,跨平台使用,和用户进行交互。同时,Myeclipse可以和不同的数据库进行连接,如mysql数据库,Oracle数据库、Sybase数据库、Informix数据库、MicrosoftSQLServer数据库、MicrosoftAccess数据库、VisualFoxPro数据库等等。故而用Myeclipse与数据库相连接可以实现强大的功能,完成不同的项目问题。Myeclipse的相应软件代码是开放的,这给不少的程序开发人员提供了开发出一个优秀的软件提供的例子。目前不少的软件是包含插件的,当用户下载该软件是,不可避免的要下载相应的插件,这给用户使用造成一定的麻烦,给用户留下一个不太好的印象。但是Myeclipse是不包含插件的一款软件,使用起来方便,简洁。四数据库设计4.1数据库用户结构4.1.1.管理员数据数据库源码--Recordsoftb_manager------------------------------INSERTINTO`tb_manager`VALUES('1','user','123');INSERTINTO`tb_manager`VALUES('7','zhaoyi','111');INSERTINTO`tb_manager`VALUES('9','admin','111');tb_manageridnamePWD管理员表名管理员序号管理员名称管理员密码4.1.2.书籍信息数据.数据库源码--Recordsoftb_bookinfo------------------------------INSERTINTO`tb_bookinfo`VALUES('9787302210337','JavaWeb开发实战宝典',4,'王国辉','','302',89.00,834,4,'2011-2-24','mr',0,7);INSERTINTO`tb_bookinfo`VALUES('9787115195975','JavaWeb开发典型模块大全',4,'王国辉、王毅、王殊宇','','115',89.00,752,5,'2011-2-24','mr',0,8);INSERTINTO`tb_bookinfo`VALUES('4521212','心灵鸡汤',5,'五五','','115',11.00,0,5,'2011-2-14','mr',0,12);INSERTINTO`tb_bookinfo`VALUES('gf','华语教学',4,'','','111',26.00,0,4,'2011-2-24','mr',1,10);INSERTINTO`tb_bookinfo`VALUES('9787302201115','Java基础教学',5,'陈小西','陈小西','115',79.00,680,5,'2015-5-25','mr',0,11);tb_bookinfobarcodebooknametypeidauthortranslatorISBNpricepage书籍表名书籍条形码书籍名称书架类型作者翻译者出版社编号价格页数4.1.3.读者信息数据.数据库源码--Recordsoftb_reader------------------------------INSERTINTO`tb_reader`VALUES(4,'琦琦','女','20110224000001','学生','2010-7-10','身份证','220104201007100001','84978981','wgh717@sohu.com','2011-2-24','mr','无',4);INSERTINTO`tb_reader`VALUES(5,'wgh','女','20110224000002','程序员','1980-7-10','工作证','20010228','84978981','wgh717@sohu.com','2011-2-24','mr','无',4);INSERTINTO`tb_reader`VALUES(8,'陈小西','男','20110224000012','学生','1987-11-12','身份证','500123198707153429','15826023149','123@qq.com','2015-5-25','mr','学生信息',4);tb_readeridnamesexbarcodevocationbirthdaypaperTypepaperNotel借阅者表单借阅编号名字性别读者条形码职业生日证件类型证件号码联系电话4.1.4.用户权限信息数据.数据库源码--Recordsoftb_readertype------------------------------INSERTINTO`tb_readertype`VALUES(4,'学生',30);INSERTINTO`tb_readertype`VALUES(7,'教师',50);tb_readertypeidnamenumber用户权限表单编号借阅名称可借阅天数4.1.5.借出书籍信息数据数据库源码--Recordsoftb_booktype------------------------------INSERTINTO`tb_booktype`VALUES(4,'网络编程',20);INSERTINTO`tb_booktype`VALUES(5,'数据库开发',15);tb_booktypeidtypenamedays当前借出书籍表单书架书籍名称借阅天数4.2数据库结构设计4.3各个数据表结构1.tb_bookinfo(借出书籍表)对应的数据表结构2.tb_reader(读者管理表)名类型长度小数点允许空值(Null)barcodevarchar300√booknamevarchar700√typeidint100√authorvarchar300√translatorvarchar300√ISBNvarchar200√pricefloat80√pageint100√bookcaseint1