JAVAWEB图书管理系统大作业范文.docx

上传人:小飞机 文档编号:3159517 上传时间:2023-03-11 格式:DOCX 页数:26 大小:46.83KB
返回 下载 相关 举报
JAVAWEB图书管理系统大作业范文.docx_第1页
第1页 / 共26页
JAVAWEB图书管理系统大作业范文.docx_第2页
第2页 / 共26页
JAVAWEB图书管理系统大作业范文.docx_第3页
第3页 / 共26页
JAVAWEB图书管理系统大作业范文.docx_第4页
第4页 / 共26页
JAVAWEB图书管理系统大作业范文.docx_第5页
第5页 / 共26页
亲,该文档总共26页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《JAVAWEB图书管理系统大作业范文.docx》由会员分享,可在线阅读,更多相关《JAVAWEB图书管理系统大作业范文.docx(26页珍藏版)》请在三一办公上搜索。

1、JAVAWEB图书管理系统大作业范文 javaWeb企业编程 - Java Web图书管理系统 班级:14软件 姓名:柴金宝 学号:14590108011 一、题目的选择 l Java Web图书管理系统 二、系统分析 2.1 系统的可行性分析 可行性分析是在进行初步调查后所进行的对系统开发必要性和可能性的研究,所以也称为可行性研究。信息系统也应从技术可行性,经济可行性和社会可行性三方面来论证。通过长时间的观察与实践,我认为图书馆管理系统的可行性分析如下: 2.1.1经济可行性分析 作为图书馆这样的商业性质较小的场所,其经济成分比重相对较少,主要是支出的费用:其中包括设备购置费、软件开发费用、

2、管理和维护费、人员工资和培训费等。由于各个图书馆实行统一操作,系统共享,其设备购置,人员工资,维护费用相对较少,前期的资金投入主要集中于购置图书上。建立信息中心,可将来自各方面的信息集中管理,提高图书管理的计划性和预见性,快速地反馈市场信息。 2.1.2技术可行性分析 技术上的可行性分析主要分析现有技术条件能否顺利完成开发工作,硬件、软件配置能否满足开发者的需要,各类技术人员的数量,水平,来源等。图书馆管理系统的工作主要是在读者和图书馆之间架起一座桥梁,能相互沟通信息和处理信息。这一特点非常适合计算机特点,通过网络internet技术,发挥计算机的信息传输速度快、准确度高的优势。计算机硬件和软

3、件技术的飞速发展,为系统的建设提供了技术条件。 2.1.3社会可行性分析 社会可行性有时也称为操作可行性,主要论证新系统在企业或机构开发和运行的可能性以及运行后可能一起的对企业或机构的影响,即组织内外是否具备接受和使用新系统的条件。在当前信息技术飞速发展的大环境下,计算机技术和软件技术的更新是图书馆完全有可能也有能力采用这样先进的管理技术。它对图书馆带来的影响可以看到: 对传统管理理念的冲击,可能引起管理层的变动和人员的调整。 对图书馆工作人员的要求提高,使图书馆在一定的可能下进行机构精简,迫使工作人员继续学习新知识,拓宽图书馆在市场环境下的生存空间。 对图书馆与读者之间业务方式的转变和扩充。

4、 最后,针对用户对图书资源进行有效利用和管理的功能需求,用建模技术对图书管理资源采用面向对象的描述方式,在具体系统功能实现之前,建立起系统模型是很必要的,这里采用具有可视化、能够柔性实现分析、设计和开发系统的统一建模语言实现系统模型构建。同时,结合最流行的基于浏览器的数据管理模式,建议采用基于组件技术的B/S(brower/server)系统结构。 从技术的角度来考虑,随着计算机技术的深入发展,相关的应用软件、技术已经很成熟了,各种信息系统的开发工具也很完善了。运用现在软件行业中流行的开发工具JAVA以及MySQL,借鉴别人成功开发的宝贵经验,可成功开发一个功能基本完善的、符合中小型生产企业生

5、产管理所需的生产管理信息系统。 综上所述,实施生产管理系统在技术上、经济上、运行上以及社会环境上都是可行的,因此,开发生产管理信息系统是可行的。 2.2 系统的需求分析 公司的图书管理涉及图书信息、系统用户信息、读者信息、图书借阅等多种数据管理。从管理的角度可将图书分为三类:图书信息管理、系统用户管理、读者数据管理。图书信息管理包括图书征定、借还、查询等操作,系统用户管理包括系统用户类别和用户数据管理,读者数据管理包括读者类别管理和个人数据的录入、修改和删除。 图书借阅者的需求是查询图书室所存的图书、个人借阅情况及个人信息的修改;图书馆工作人员对图书借阅者的借阅及还书要求进行操作,同时形成借书

6、或还书报表给借阅者查看确认;图书馆管理人员的功能最为复杂,包括对工作人员、图书借阅者、图书进行管理和维护,及系统状态的查看、维护等。图书借阅者可直接查看图书馆图书情况,如果图书借阅者根据本人借书证号和密码登录系统,还可以进行本人借书情况的查询和维护部分个人信息。一般情况下,图书借阅者只应该查询和维护本人的借书情况和个人信息,若查询和维护其他借阅者的借书情况和个人信息,就要知道其他图书借阅者的借书证号和密码。这些是很难得到的,特别是密码,所以不但满足了图书借阅者的要求,还保护了图书借阅者的个人隐私。图书馆工作人员有修改图书借阅者借书和还书记录的权限,所以需对工作人员登陆本模块进行更多的考虑。在此

7、模块中,图书馆工作人员可以为图书借阅者加入借书记录或是还书记录,并打印生成相应的报表给用户查看和确认。图书馆管理人员功能的信息量大,数据安全性和保密性要求最高。本功能实现对图书信息、借阅者信息、总体借阅情况信息的管理和统计、工作人员和管理人员信息查看及维护。图书馆管理员可以浏览、查询、添加、删除、修改、统计图书的基本信息;浏览、查询、统计、添加、删除和修改图书借阅者的基本信息,浏览、查询、统计图书馆的借阅信息,但不能添加、删除和修改借阅信息,这部分功能应该由图书馆工作人员执行,但是,删除某条图书借阅者基本信息记录时,应实现对该图书借阅者借阅记录的级联删除。并且还应具有生成催还图书报表,并打印输

8、出的功能。 2.3系统的功能需求 在本系统中,对读者来说,他们关心的问题其实是如何方便的查询到图书馆中的书籍以及自己正在借阅或是已经借阅过些什么书,所借的书是否到期等。3由此可以得出系统在面向读者方面应该至少做到如下几点: 1图书查询。 2读者信息查询,读者信息的查询内容应包括下面的几个方面: 读者信息对读者的基本信息进行显示。 书刊借阅对该读者借阅过的所有书籍进行查询。 借阅历史查询该读者借阅过的所有书籍。 违章信息该读者的违章信息。 读者规则该读者所应用的规则。 对系统的管理员来说,应该注意的是: 1图书馆中有些什么书,它们都存放在那里,是不是可以被借阅; 2本图书馆发放的读者证有那些,如

9、何管理这些读者证; 3这些读者证都借阅着那些书; 4如何来确定这些读者证是否可用,以及借书的还期等。 从以上问题出发,可以得出本系统应该具有的功能: 1图书查询对馆内的图书进行查询。 2借阅管理对读者的每一次借阅,还书进进登记和管理。 3图书管理对图书馆的书籍进行管理。 4借阅证管理对读者的借阅证进行管理。 5读者规则管理设置和管理读者规则。 2.4设计模式 设计模式是面向对象的程序设计人员用来解决编程问题的一种形式化表示。本系统开发采用目前一种目前广泛流行的软件设计模式MVC。MVC应用程序结构被用来分析分布式应用程序的特征。这种抽象结构能有助于将应用程序分割成若干逻辑部件,使程序设计变得更

10、加容易。把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层模型层、视图层、控制层。如下图2.1所示: 图2.1 MVC模式 三、系统设计 3.1 系统概要 本图书管理系统总体上分为前台页面显示和后台管理。前台页面实现了公告的显示图书查询,留言建议三大功能。而后台的页面则集成了图书管理中所需的功能和录入新书到库,办公图书,借还手续,查询图书等等。平时图书管理人员的工作都是在后台中完成的。前台是为了师生显示的。师生们可以看到图书管理人员发布的最新公告信息;并可以查询自己感兴趣的图书,也可以给学校的图书管理人员留言提议。相对应的后台

11、是针对学校图书管理人员,后台的页面都加密,如果不正常登录是进入不了后台管理页面的,后台功能具体包括:发布首页公告,添加新书到库等等。 3.2功能模块 本系统的功能模块的设计如图3.1所示,整个系统包含基本信息设置,图书信息管理,查询图书管理,添加图书管理,修改图书管理和用户借阅管理。 基本信息 设置 图书信息管理 管理系统 用户借阅管理 查询图书管理 修改图书管理 添加图书管理 图3.1功能结构图 3.3设计思想 利用软件开发现有软硬件环境,及先进的管理系统开发方案,从而达到充分利用现在资源提高系统开发水平和应用效果的目的。 系统应该符合软件工程开发的理论,开发方法等开发依据。 系统应满足图书

12、馆管理工作需要,到操作过程中的直观,方便,实用,安全等要求。 系统具备数据库维护功能,及时根据用户需求进行数据库的各种操作。 系统采用原型,使用模块化程序设计方法,便于系统功能的各种组合和修改,以及系统的测试与维护。 3.4模块设计及功能 3.4.1图书查询 读者可以通过网络访问学校图书馆管理系统,并对馆内的图书进行查询,对查到的在馆图书可以进行借阅,如图3.2所示: 图书借阅 借阅 查询 图3.2 图书查询流程图 3.4.2借阅管理 这一部分是对书籍借阅、书籍归还的管理,当读者借书的时候,图书馆管理员把书籍的编号和读者的借阅证号输入系统,当此次借阅符合借阅规则的时候,借阅成功。并将结果写入到

13、数据库中。读者归还书籍时,将图书交给图书管理员,管理员把书籍的编号和读者的借阅证号输入系统,系统核对借阅规则,对违规的读者进行罚款之类。如图3.3所示: 3.4.3图书管理 借阅管理 书籍归还 书籍借阅 输入读者证号和书籍索引号 借阅成功 输入读者证号和图书索引号 归还成功 图3.3借阅管理流程图 图书管理主要实现的功能是对新购的图书进行入库和废书记录从库中删除。当新书被放入图书馆时,管理员登录进入系统,把图书的信息添加到图书馆管理系统中,并指定是放到哪一个藏书馆中。这时图书可以被读者查询到,并可以借阅。当要把一本废书删除时,图书管理员登录进入系统,查找到这一本书,并将其删除。这时,这一本图书

14、将不再能被查询到。如图3.4所示: 图书管理 图书入库 图书维护 确定馆藏 图书上架 图书下架 删除图书 图3.4图书管理流程图 3.4.4借书证管理 本部分是对借阅证进行管理,并对读者的一些基本的信息进行维护,提供增、删、改等功能。每一个借阅证都要以某一个读者规则相应,读者规则决定读者可以借阅书籍的等级,如借书时间、借书种类等。当读者借阅证丢失时,可以进行挂失处理。持失之后借阅证失效。如图4.5所示: 3.4.5读者规则管理 借阅证管理 新增借阅证 修改借阅证信息 挂失 填写读者信息 确定读者规则 删除 图3.5借书证管理流程图 读者规则包括借阅时间,可借阅的图书数目,可借阅图书的书馆等。这

15、一部分可以对读者规则进行管理,主要是增、删、改操作。如图3.6所示: 规则管理 修改规则 增加规则 给读者设置规则 图3.6 读者规则管理流程图 删除规则 3.4.6借还图书功能流程图 图3.7 借还书流程图 3.5数据库设计 设计两个表: a) 书籍信息autos(id,category类别,model型号,no书籍编号,price租书价格),如表3.8所示: 表3.8书籍信息表 b) 租书信息leases(id,autoId书籍id,customer客户名称,leaseDate租书日期,returned是否还书?,returnDate还书日期),如表3.9所示: 表3.9租书信息表 3.5

16、.1创建数据库的代码 代码1: create database bookmanage; use bookmanage; create table autos (id int primary key auto_increment, category varchar(50) not null, model varchar(50) not null, no varchar(50) not null, price double )ENGINE=InnoDB DEFAULT CHARSET=utf8; 代码2: create table leases ( id int primary key auto_

17、increment, autoId int not null, customer varchar(20) not null, leasedate date, returned int default 0, returndate date )ENGINE=InnoDB DEFAULT CHARSET=utf8; 四、程序设计与编码 4.1 系统登录界面 当系统登陆时,首先出现的是一个用户权限登陆的界面, 权限设置主要是维护系统的安全性和完整性。拥有管理员权限的操作员能对其他操作员进行相应的权限设置,没有权限的操作员不能对相应的窗口进行操作。如下图4.1所示: 图4.1 管理员登入界面 这是进入系

18、统时的身份验证,用户首先要从软件开发者那里申请用户名和密码,才可以进入。该过程的流程图如下图4.2所示: 开始 输入姓名及口令 继续吗 记录在口令表吗 中 Y 进入主界面 N 提示信息 图4.2系统登入流程图 核心代码如下: N 结束 public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException response.setContentType(Constant.CONTENTTYPE); request.setCharacterE

19、ncoding(Constant.CHARACTERENCODING); try String method=request.getParameter(method).trim; AdminBean loginbean = new AdminBean; HttpSession session = request.getSession; session.setMaxInactiveInterval(1200); SystemBean systembean = new SystemBean; String sysdir = systembean.getDir; if(method.equals(o

20、ne)/admin登录 String username = request.getParameter(username); String password = request.getParameter(password); if(username = null|username.trim.equals() request.setAttribute(message, 请正确输入用户名!); request.getRequestDispatcher(index.jsp).forward(request, response); else if(password = null|password.tri

21、m.equals() request.setAttribute(message, 请输入密码!); return ; request.getRequestDispatcher(index.jsp).forward(request, response); DBO dao = new DBO; String realPassword =; dao.open; java.util.ArrayList list = new java.util.ArrayList; ResultSet rs = dao.executeQuery(select * from admin where return ; us

22、ername=+username+); Date date = new Date; SimpleDateFormat format = new SimpleDateFormat(yyyy-MM-dd); String logintime = format.format(date); if(rs.next) realPassword = rs.getString(password).trim; String userName = rs.getString(username).trim; String right = rs.getString(quanxian).trim; Integer log

23、intimes = Integer.valueOf(rs.getInt(logintimes); list.add(userName); list.add(right); list.add(logintimes); list.add(logintime); String pwd = MD5.MD5(password.trim); if(!pwd.equals(realPassword) request.setAttribute(message, 密码错误!); request.getRequestDispatcher(index.jsp).forward(request, response);

24、 else session.setAttribute(list,list); session.setAttribute(user,username); request.getRequestDispatcher(admin/index.jsp).forward(request, response); 4.2 添加图书信息 身份验证通过以后,点击可以使用系统的基本信息管理界面,这是管理员主要的输入信息部分,它即可以对数据进行输入包括图书类别,图书名称,图书作者等。填写好各项信息后,单击保存按钮,系统将对这些信息进行处理。界面见下图5.3所示: 图4.3 添加图书信息界面 核心代码如下: publi

25、c int addBOOK(String booktype,String name,String author,String cbs,String isbn,String price,String num,String intro,String jyjg) String sql=insert into book(booktype,name,author,cbs,isbn,price,num,intro,jyjg,addtime) + values(+booktype+,+name+,+author+,+cbs+,+isbn+,+price+,+num+,+intro+,+jyjg+,+date

26、+); public int upBOOK(String id,String booktype,String name,String author,String cbs,String DBO dbo = new DBO; dbo.open; try int i = dbo.executeUpdate(sql); if(i = 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; catch(Exception e) e.printStackTrace; return Constant.SYSTEM_ERROR; final

27、ly dbo.close; isbn,String price,String num,String intro,String jyjg) String sql=update book set booktype=+booktype+,name=+name+,author=+author+,cbs=+cbs+,isbn=+isbn+, + price=+price+,num=+num+,intro=+intro+,jyjg=+jyjg+ where id=+id+; DBO dbo = new DBO; dbo.open; try int i = dbo.executeUpdate(sql); i

28、f(i = 1) return Constant.SUCCESS; else return Constant.SYSTEM_ERROR; catch(Exception e) e.printStackTrace; return Constant.SYSTEM_ERROR; finally dbo.close; 4.3 图书类别管理 点击可以使用系统的基本信息管理界面,这是管理员主要的输入信息部分,它即可以对数据进行输入,可以添加图书的类别。填写好各项信息后,单击保存按钮,系统将对这些信息进行处理。界面见下图4.4所示: 图4.4图书管理类别管理 核心代码如下: public void doPo

29、st(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException System.out.println(-); response.setContentType(Constant.CONTENTTYPE); request.setCharacterEncoding(Constant.CHARACTERENCODING); PayBean pb=new PayBean; String method=request.getParameter(method).trim; /

30、图书类型 if(method.equals(addTYPE) String name=request.getParameter(booktype); int flag=pb.addTYPE(name); if(flag=Constant.SUCCESS) request.setAttribute(message, 操作成功!); request.getRequestDispatcher(admin/type/index.jsp).forward(request, response); else request.setAttribute(message, 系统维护中,请稍后再试!); reque

31、st.getRequestDispatcher(admin/type/index.jsp).forward(request, response); else if(method.equals(addBOOK) String booktype=request.getParameter(booktype); String name=request.getParameter(name); String author=request.getParameter(author); String cbs=request.getParameter(cbs); String isbn=request.getPa

32、rameter(isbn); String price=request.getParameter(price); String num=request.getParameter(num); String intro=request.getParameter(intro); String jyjg=request.getParameter(jyjg); int flag=pb.addBOOK(booktype, name, author, cbs, isbn, price, num, intro, jyjg); if(flag=Constant.SUCCESS) request.setAttri

33、bute(message, 操作成功!); request.getRequestDispatcher(admin/book/index.jsp).forward(request, response); else request.setAttribute(message, 系统维护中,请稍后再试!); request.getRequestDispatcher(admin/book/index.jsp).forward(request, response); 4.4 管理员设置 增加系统管理员。管理员可以添加新的管理员,包括为管理员设置一个密码。管理员登入后,可以自己修改密码。同样,总管理员可以删

34、除管理员。管理员还可以将状态设置成当前在用和关闭状态。如下图4.5所示: 图4.5管理员设置界面 核心代码如下: String username2 = (String)session.getAttribute(user); if(username2 = null) request.getRequestDispatcher(error.jsp).forward(request, response); else session.removeAttribute(user); session.removeAttribute(list); System.gc; request.getRequestDis

35、patcher(index.jsp).forward(request, response); else if(method.equals(manager)/添加修改管理员 String username2 = (String)session.getAttribute(user); if(username2 = null) request.getRequestDispatcher(error.jsp).forward(request, response); else String ra = request.getParameter(ra).trim; if(ra.equals(add) Stri

36、ng username = request.getParameter(username).trim; String password = MD5.MD5(request.getParameter(password).trim); String isuse = request.getParameter(isuse).trim; if(isuse.equals(在用) isuse = 1; else isuse = 2; int flag = loginbean.addManager(username, password, 2, isuse); if(flag = Constant.SUCCESS

37、) request.setAttribute(message, 增加管理员成功!); request.getRequestDispatcher(sysdir+/system/user.jsp).forward(request, response); else if(flag = Constant.SAME_NAME) request.setAttribute(username, username); request.setAttribute(message, 该用户名已经存在!); request.getRequestDispatcher(sysdir+/system/user.jsp).fo

38、rward(request, response); else request.setAttribute(message, 系统维护中,请稍后再试!); request.getRequestDispatcher(sysdir+/system/user.jsp).forward(request, response); else if(ra.equals(update) String username = request.getParameter(username).trim; String password = request.getParameter(password).trim; String

39、 isuse = request.getParameter(isuse).trim; if(!password.equals() if(isuse.equals(在用) isuse = 1; password = MD5.MD5(password); else isuse = 2; int flag = loginbean.updateManager(username, password, 2, isuse); if(flag = Constant.SUCCESS) request.setAttribute(message, 修改管理员信息成功!); request.getRequestDis

40、patcher(sysdir+/system/user.jsp).forward(request, response); else request.setAttribute(message, 系统维护中,请稍后再试!); request.getRequestDispatcher(sysdir+/system/user.jsp).forward(request, response); 4.5 图书借阅管理 点击图书借阅界面,管理员可以查看到图书的借阅情况,包括借阅者,图书名称,借出的时间,归还的时间,图书的状态,借阅图书的价格等。管理员同样可以修改和删除图书借阅的内容。操作成功后,点击保存退出。

41、如图4.6所示: 图4.6图书借阅管理界面 核心代码如下: String card=request.getParameter(card); String bookid=request.getParameter(bookid); String stime=request.getParameter(stime); String etime=request.getParameter(etime); int flag=pb.addJY(card, bookid, stime, etime); if(flag=Constant.SUCCESS) request.setAttribute(message,

42、 操作成功!); request.getRequestDispatcher(admin/jy/index.jsp).forward(request, response); else request.setAttribute(message, 系统维护中,请稍后再试!); request.getRequestDispatcher(admin/jy/index.jsp).forward(request, response); else if(method.equals(upJY) String id=request.getParameter(id); String card=request.get

43、Parameter(card); String bookid=request.getParameter(bookid); String stime=request.getParameter(stime); String etime=request.getParameter(etime); int flag=pb.upJY(id, card, bookid, stime, etime); if(flag=Constant.SUCCESS) request.setAttribute(message, 操作成功!); request.getRequestDispatcher(admin/jy/ind

44、ex.jsp).forward(request, response); else request.setAttribute(message, 系统维护中,请稍后再试!); request.getRequestDispatcher(admin/jy/index.jsp).forward(request, response); else if(method.equals(delJY) String id=request.getParameter(id); int flag=pb.delJY(id); if(flag=Constant.SUCCESS) request.setAttribute(message, 操作成功!); request.getRequestDispatcher(admin/jy/index.jsp).forward(request, response); else request.setAttribute(messa

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号