智能化图书管理查询系统(Java+SSM+MySQL)

发布于:2022-11-01 ⋅ 阅读:(843) ⋅ 点赞:(0)

目 录
1 绪 论 1
1.1 课题研究的目的及意义 1
1.2 现状分析 2
2 系统环境介绍及相关理论知识 3
2.1 系统开发环境 3
2.1.1 B/S结构 3
2.1.2 JSP技术 3
2.1.3 Tomcat虚拟服务器 4
2.1.4 MVC模式 4
2.1.5 SSM框架 5
2.1.6 MySQL数据库 8
3 系统需求分析及设计 9
3.1 可行性研究 9
3.1.1 技术可行性 9
3.1.2 经济上的可行性 9
3.1.3 操作上的可行性 9
3.2 系统分析 10
3.3 总体功能模块 10
3.4 具体功能模块 11
3.5 系统业务描述 11
3.6 程序流程图 13
4 数据库的设计与实现 15
4.1系统和数据库的配置 15
4.2概念模型设计 15
4.3数据库ER 16
4.4数据库表设计及结构 19
5系统功能实现 23
5.1数据库表设计分析 23
5.1.1图书信息表t_Books 23
5.1.2图书借还表t_Borrow 24
5.1.3公告表t_Gonggao 25
5.1.4图书分类表t_Fenlei 25
5.1.5用户表t_User 26
5.1.6用户留言表t_liuyan 26
5.2系统功能实现的主要框架 27
5.2.1 SSM框架 27
5.2.2 MyBatis配置文件 27
5.2.3 Spring配置文件 27
5.2.4 SpringMVC 配置文件 28
5.3系统功能实现的主要模块 29
5.3.1 网站登录与注册页面 29
5.3.2 用户管理页面 31
5.3.3 图书管理页面 32
5.3.4 借书管理页面 33
5.3.5 还书管理与历史借书页面 34
5.3.6 亮点功能查询图书演示 35
6系统的调试与测试 38
6.1 系统测试的目的以及任务 38
6.2 测试环境 38
6.3 软件测试 38
6.4 本章总结 40
参考文献 41
致谢 42
外文原文 43
中文翻译 49
3 系统需求分析及设计
3.1 可行性研究
可行性研究的目的是用最小的代价在尽可能短的时间内确定问题是否能够解决,其中它包括技术可行性、经济可行性和操作可行性。
3.1.1 技术可行性
本系统前台数据库采用mysql 数据库,该数据库系统在安全性、准确性和运行速度方面比其他数据库有绝对的优越性,并且处理数据量大,效率高。
本系统后台采用Microsoft的公司的MyEclipse8.5作为主要的开发平台,它提供了完善的指令控制语句、类与对象的支持及丰富的数据类型,给开发系统提供了高性能的保障。而且保证了代码的模块化要求,便于以后系统的扩展和修改。
综上所述,本系统的设计与开发在技术上和硬件设备上的条件都是满足的。因此,在技术方面是可行的。
3.1.2 经济上的可行性
在网络高速发展的今天,本系统将为销售效率开启一个新的窗口,其优越性有以下几点:
(1)本系统的运行可以减少不必要的人力,为学校节省更多的资源;
(2)本系统可以统计大量的数据,对各个数据库进行分类管理,保证数据的安全性和统一性;
所以本系统在经济上是可行的。
3.1.3 操作上的可行性
本系统是结合实际工作需要而开发,对于硬件和软件的要求很普遍,能解决当前工作中的诸多问题,因此该项目符合相关部门的工作实际,有稳定而扎实的合作基础。从操作方讲有项目操作更好完成的基础和可行性。从前面分析看,技术上的操作己经日臻完善和成熟,技术实现的可操作性非常大,并且开发完成此系统后,用户只需使用浏览器即可登录使用本系统。从而系统的操作是可行的,能最终以满足客户需求,达到最初开发目的的目标。因此,本系统在运行上是可行的。
3.2 系统分析
系统需求分析是对对象进行系统调查,是系统开发工作中最重要的环节之一,系统需求分析需要准确回答“系统必须做什么,目的是什么”。
在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围、定义和功能时所要做的所有的工作。需求分析是软件工程中的一个关键过程。在这个过程中,系统分析员和软件工程师确定顾客的需要。只有在确定了这些需要后他们才能够分析和寻求新系统的解决方法。需求分析阶段的任务是确定软件系统功能。
在软件工程的历史中,很长时间里人们一直认为需求分析是整个软件工程中最简单的一个步骤,但在过去十年中越来越多的人认识到它是整个过程中最关键的一个过程。假如在需求分析时分析者们未能正确地认识到顾客的需要的话,那么最后的软件实际上不可能达到顾客的需要,本文转载自http://www.biyezuopin.vip/onews.asp?id=11917或者软件无法在规定的时间里完工。
3.3 总体功能模块
软件体系结构图:
图3-1 软件体系结构图
在这里插入图片描述

3.4 具体功能模块
本系统主要开发目的是方便图书管理人员进行图书信息管理,增加工作效率,面向的客户群体是各级图书馆和书店的工作人员。根据本系统的需求,结合实际管理情况,本系统应用有如下功能模块: 1.基本信息设置:如操作人员的编辑,操作人员密码的修改。 2.用户的管理:可以增加(会员)、修改、删除用户信息。 3.图书信息管理:可以增加、删除、修改图书信息等。 4.查询图书信息。 5.添加图书借阅信息。 6.借阅还书功能。系统管理员的功能图如图3-2所示

在这里插入图片描述

图3-2 功能模块图

<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
<%
	String path = request.getContextPath();
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
if((model.User)session.getAttribute("user")==null){
	response.sendRedirect("login.jsp");
	return;
}
%>
<!doctype html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <link rel="stylesheet" href="css/common.css">
  <link rel="stylesheet" href="css/style.css">
  <script type="text/javascript" src="js/jquery.min.js"></script>
  <script type="text/javascript" src="js/jquery.SuperSlide.js"></script>
  <script type="text/javascript">
  $(function(){
      $(".sideMenu").slide({
         titCell:"h3", 
         targetCell:"ul",
         defaultIndex:0, 
         effect:'slideDown', 
         delayTime:'500' , 
         trigger:'click', 
         triggerTime:'150', 
         defaultPlay:true, 
         returnDefault:false,
         easing:'easeInQuint',
         endFun:function(){
              scrollWW();
         }
       });
      $(window).resize(function() {
          scrollWW();
      });
  });
  function scrollWW(){
    if($(".side").height()<$(".sideMenu").height()){
       $(".scroll").show();
       var pos = $(".sideMenu ul:visible").position().top-38;
       $('.sideMenu').animate({top:-pos});
    }else{
       $(".scroll").hide();
       $('.sideMenu').animate({top:0});
       n=1;
    }
  } 

var n=1;
function menuScroll(num){
  var Scroll = $('.sideMenu');
  var ScrollP = $('.sideMenu').position();
  /*alert(n);
  alert(ScrollP.top);*/
  if(num==1){
     Scroll.animate({top:ScrollP.top-38});
     n = n+1;
  }else{
    if (ScrollP.top > -38 && ScrollP.top != 0) { ScrollP.top = -38; }
    if (ScrollP.top<0) {
      Scroll.animate({top:38+ScrollP.top});
    }else{
      n=1;
    }
    if(n>1){
      n = n-1;
    }
  }
}
  </script>
  <title>后台首页</title>
</head>
<body>
    <div class="top" align="center">
      <div id="top_t" >
        <div class="fl" style="padding-top:15px " >
        <span style="font-size: 35px; font-weight: bold;color: white;">  智能化图书查询系统
        </span>
        </div>
        <div id="photo_info" class="fr" >
          <div id="photo" class="fl">
            <a href="#"><img src="images/a.png" alt="" width="60" height="60"></a>
            
          </div>
          <div style="margin:40px;padding-right:20px " align="center">
              <a href="method!changepwd" target="right"><span style="font-size: 15px;font-weight: bold;color: white;">密码修改&nbsp;||</span></a>
              <a href="method!loginout" ><span style="font-size: 15px;font-weight: bold;color: white;">退出&nbsp;</span></a>
          </div>
        </div>
      </div>
      <div id="side_here">
        <div id="side_here_l" class="fl"></div>
        <div id="here_area" class="fl">
                  
                   当前角色: <c:if test="${user.role==1}">系统管理员</c:if>
			     <c:if test="${user.role==2}">普通用户</c:if>
					&nbsp;&nbsp;&nbsp;&nbsp;
	         当前用户:${user.username }		
        </div>
      </div>
    </div>
    
    <c:if test="${user.role==1}">
    <div class="side">
        <div class="sideMenu" style="margin:0 auto">
          <h3>用户管理</h3>
          <ul>
            <li><a href="method!userlist" target="right">用户管理</a></li>
            
          </ul>

          <h3>公告管理</h3>
          <ul>
            <li><a href="method!gonggaolist" target="right">公告管理</a></li>
           
          </ul>
           <h3>图书分类管理</h3>
          <ul>
            <li><a href="method!fenleilist" target="right">图书分类管理</a></li>
          </ul>
          
           <h3>图书管理</h3>
          <ul>
            <li><a href="method!bookslist" target="right">图书管理</a></li>
          </ul>
          
           <h3>已借图书查询</h3>
          <ul>
            <li><a href="method!ret_borrowlist" target="right">已借图书查询</a></li>
          </ul>
          
           <h3>历史借书记录</h3>
          <ul>
            <li><a href="method!admin_borrowlist" target="right">历史借书记录</a></li>
          </ul>
          
           <h3>逾期图书</h3>
          <ul>
            <li><a href="method!yuqi_borrowlist" target="right">逾期图书</a></li>
          </ul>
          <h3>留言管理</h3>
          <ul>
            <li><a href="method!liuyanlist" target="right">留言管理</a></li>
          </ul>
          
       </div>
    </div>
    </c:if>
    
    <c:if test="${user.role==2}">
     <div class="side">
        <div class="sideMenu" style="margin:0 auto">
          <h3>个人信息查询</h3>
          <ul>
            <li><a href="method!userlist2" target="right">个人信息查询</a></li> 
          </ul>
         
          <h3>公告查询</h3>
          <ul>
            <li><a href="method!gonggaolist2" target="right">公告查询</a></li>
          </ul>
          
            <h3>图书检索</h3>
          <ul>
            <li><a href="method!borrowlist" target="right">图书检索</a></li>
          </ul>
          
           <h3>图书借还</h3>
          <ul>
            <li><a href="method!ret_borrowlist" target="right">图书借还</a></li>
          </ul>
         <h3>历史借书记录</h3>
          <ul>
            <li><a href="method!user_borrowlist" target="right">历史借书记录</a></li>
          </ul>
           <h3>留言</h3>
          <ul>
            <li><a href="method!sy_liuyan" target="right">留言</a></li>
          </ul>
       </div>
    </div>
    </c:if>
    
    <div class="main">
       <iframe name="right" id="rightMain" src="main.jsp" frameborder="no" scrolling="auto" width="100%" height="auto" allowtransparency="true"></iframe>
    </div>
    <div class="bottom">
      <div id="bottom_bg">版权</div>
    </div>
    <div class="scroll">
          <a href="javascript:;" class="per" title="使用鼠标滚轴滚动侧栏" onclick="menuScroll(1);"></a>
          <a href="javascript:;" class="next" title="使用鼠标滚轴滚动侧栏" onclick="menuScroll(2);"></a>
    </div>
</body>

</html>
   
 

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到