目录
绪论(项目背景) 1
研究背景及意义 1
国内研究状况及分析 2
研究目标及关键技术简介 2
需要分析 2
功能与性能需要分析 2
功能需要分析 2
性能需要分析 4
总体设计 4
系统框架选择及设计 4
ssm 框架简述 4
功能模块设计 5
系统流程图 6
系统模块(或类)设计 7
关键数据结构 7
总体设计的顺序图及类图 8
详细设计 10
UI 设计 10
数据库设计 10
详细设计的顺序图 12
编码实现 12
测试和部署 14
软件功能测试 15
集成测试 23
结论与展望 23
结论 23
展望 24
致谢 24
总体设计
系统框架选择及设计
ssm 框架简述
本系统将采用 ssm 框架(Spring、SpringMVC、MyBatis)设计图书管理系统,使用 ssm 框架对图书管理系统进行开发有很多方面的好处 主要从以下三个方面叙述:
1.Spring 的优势: 通过 Spring 的 IoC 特性,将对象之间的依赖关系交给了 Spring 控制,方便解耦,简化了开发。 通过 Spring 的 AOP 特性,对重复模块进行集中,实现事务,日志,权限的控制提供了对其他优秀开源框架的集成支持。
2.Spring MVC 的优势: SpringMVC 是使用了 MVC 设计思想的轻量级 Web 框架,对 Web 层进行解耦,使我们开发更简洁。 与 Spring 无缝衔接。 灵活的数据验证,格式化,数据绑定机制。
3.Mybatis 的优势: 数据库的操作(sql)采用 XML 文件配置,解除了 SQL 和代码的耦合。 提供映射标签,支持对象和和数据库 ORM 字段关系的映射,支持对象关系映射标签,支持对象关系的组建。 提供了 XML 标签,支持动态的 SQL。
功能模块设计
1.登陆认证模块 将输入的账号及密码与数据库中已有的账号密码进行匹配,如果不匹配,则跳转到登录界面,并返回错误提示信息,若成功匹配,则跳转到书籍列表首页
2.注册模块 将输入的账号与数据库中已用的账号进行匹配,若数据库已有该账号,则不能再次进行注册
3.查看书籍列表 可以查看所有的书籍,也可以按照书籍类别 ID 查看相对应的书籍
4.查看图书详细信息 可以查看图书的详细信息,可以在此页面进行借书
5.借书模块 点击借书按钮即可开始借书,本文转载自http://www.biyezuopin.vip/onews.asp?id=16701系统会检测书籍是否可借并返回对应的信息提示,若借书成功会更新借书信息表以及书籍信息表
还书模块 点击借书按钮即可开始借书,系统会检测书籍是否可借并返回对应的信息提示,若借书成功会更新借书信息表以及书籍信息表
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>数据 - AdminLTE2定制版 | Log in</title>
<meta
content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no"
name="viewport">
<link rel="stylesheet"
href="${pageContext.request.contextPath}/plugins/bootstrap/css/bootstrap.min.css">
<link rel="stylesheet"
href="${pageContext.request.contextPath}/plugins/font-awesome/css/font-awesome.min.css">
<link rel="stylesheet"
href="${pageContext.request.contextPath}/plugins/ionicons/css/ionicons.min.css">
<link rel="stylesheet"
href="${pageContext.request.contextPath}/plugins/adminLTE/css/AdminLTE.css">
<link rel="stylesheet"
href="${pageContext.request.contextPath}/plugins/iCheck/square/blue.css">
</head>
<body class="hold-transition login-page">
<div class="login-box">
<div class="login-logo">
<a href="all-admin-index.html"><b>ITCAST</b>后台管理系统</a>
</div>
<!-- /.login-logo -->
<div class="login-box-body">
<p class="login-box-msg">登录系统</p>
<form action="${pageContext.request.contextPath}/login.do" method="post">
<div class="form-group has-feedback">
<input type="text" name="username" class="form-control"
placeholder="用户名"> <span
class="glyphicon glyphicon-envelope form-control-feedback"></span>
</div>
<div class="form-group has-feedback">
<input type="password" name="password" class="form-control"
placeholder="密码"> <span
class="glyphicon glyphicon-lock form-control-feedback"></span>
</div>
<div class="row">
<div class="col-xs-8">
<div class="checkbox icheck">
<label><input type="checkbox"> 记住 下次自动登录</label>
</div>
</div>
<!-- /.col -->
<div class="col-xs-4">
<button type="submit" class="btn btn-primary btn-block btn-flat">登录</button>
</div>
<!-- /.col -->
</div>
</form>
<a href="#">忘记密码</a><br>
</div>
<!-- /.login-box-body -->
</div>
<!-- /.login-box -->
<!-- jQuery 2.2.3 -->
<!-- Bootstrap 3.3.6 -->
<!-- iCheck -->
<script
src="${pageContext.request.contextPath}/plugins/jQuery/jquery-2.2.3.min.js"></script>
<script
src="${pageContext.request.contextPath}/plugins/bootstrap/js/bootstrap.min.js"></script>
<script
src="${pageContext.request.contextPath}/plugins/iCheck/icheck.min.js"></script>
<script>
$(function() {
$('input').iCheck({
checkboxClass : 'icheckbox_square-blue',
radioClass : 'iradio_square-blue',
increaseArea : '20%' // optional
});
});
</script>
</body>
</html>