基于springboot的图书管理系统
springboot569图书管理系统
摘 要
随着我国经济的高速发展与人们生活水平的日益提高,人们对生活质量的追求也多种多样。尤其在人们生活节奏不断加快的当下,人们更趋向于足不出户解决生活上的问题,图书管理系统展现了其蓬勃生命力和广阔的前景。与此同时,为解决图书管理需求,图书管理发展愈发多元化、网络化与电子信息技术相结合。图书管理系统应运而生。
该系统利用Java语言、MySQL数据库,结合目前流行的 B/S架构,将图书管理的各个方面都集中到数据库中,以便于用户的需要。该系统在确保系统稳定的前提下,能够实现多功能模块的设计和应用。该系统由管理员功能模块和用户功能模块组成。不同角色的准入制度是有严格区别的。各功能模块的设计也便于以后的系统升级和维护。该系统采用了软件组件化、精化体系结构、分离逻辑和数据等方法。
**关键字:**Java技术;图书;MySQL;B/S结构
Abstract
With the rapid development of our economy and the increasing improvement of people's living standard, people's pursuit of quality of life is varied. Especially in the rapid pace of people's life at present, people tend to stay at home to solve problems in life, the library management system has shown its vigorous vitality and broad prospects. At the same time, in order to meet the needs of library management, library management development is increasingly diversified, network and electronic information technology. Library management system came into being.
The system uses Java language, MySQL database, combined with the current popular B/S architecture, all aspects of library management are concentrated in the database, so as to facilitate the needs of users. The system can realize the design and application of multifunctional modules on the premise of ensuring the stability of the system. The system consists of administrator function module and user function module. The admittance system of different roles is strictly different. The design of each function module is also convenient for future system upgrade and maintenance. The system adopts the methods of software componentization, refinement architecture, separation of logic and data.
Key words: Java technology; Books; MySQL; B/S structure
目 录
[1绪 论 1](#1绪 论 1)
[1.1开发背景 1](#1.1开发背景 1)
[1.2开发目的与意义 1](#1.2开发目的与意义 1)
[1.2.1开发目的 1](#1.2.1开发目的 1)
[1.2.2开发意义 2](#1.2.2开发意义 2)
[1.3本文研究内容 2](#1.3本文研究内容 2)
[2开发技术 3](#2开发技术 3)
[2.1 Java介绍 3](#2.1 Java介绍 3)
[2.2 MySql简介 3](#2.2 MySql简介 3)
[2.3 SPRINGBOOT框架 4](#2.3 SPRINGBOOT框架 4)
[2.4 B/S架构 4](#2.4 B/S架构 4)
[2.5 Tomcat简介 4](#2.5 Tomcat简介 4)
[3系统分析 6](#3系统分析 6)
[3.1可行性分析 6](#3.1可行性分析 6)
[3.1.1技术可行性分析 6](#3.1.1技术可行性分析 6)
[3.1.2经济可行性分析 6](#3.1.2经济可行性分析 6)
[3.1.3法律可行性分析 6](#3.1.3法律可行性分析 6)
[3.2系统性能分析 6](#3.2系统性能分析 6)
[3.3功能需求分析 7](#3.3功能需求分析 7)
[3.3.1管理员需求分析 7](#3.3.1管理员需求分析 7)
[3.3.2用户需求分析 7](#3.3.2用户需求分析 7)
[3.4系统流程分析 8](#3.4系统流程分析 8)
[4系统设计 9](#4系统设计 9)
[4.1功能模块设计 9](#4.1功能模块设计 9)
[4.2数据库设计 9](#4.2数据库设计 9)
[4.2.1数据库设计原则 9](#4.2.1数据库设计原则 9)
[4.2.2系统E-R图 10](#4.2.2系统E-R图 10)
[4.2.3数据库表设计 12](#4.2.3数据库表设计 12)
[5系统实现 17](#5系统实现 17)
[5.1系统功能模块实现 17](#5.1系统功能模块实现 17)
[5.2管理员模块实现 19](#5.2管理员模块实现 19)
[6系统测试 23](#6系统测试 23)
[6.1软件测试原则 23](#6.1软件测试原则 23)
[6.2软件测试过程 24](#6.2软件测试过程 24)
[6.3测试用例 25](#6.3测试用例 25)
[6.4本章小结 26](#6.4本章小结 26)
[结 论 27](#结 论 27)
[参考文献 28](#参考文献 28)
1绪 论
1.1开发背景
改革开放以来,中国社会经济体系复苏,人们生活水平稳步提升,中国社会已全面步入小康社会。同时也在逐渐转型,具有生活的现代化和劳动的社会化等特点。这不仅基于人们过快的工作节奏与生活方式,也是源于人们对于生活品质越来越严苛的要求。如何从工作压力与生活压力中得到解放,是现代人追求的永恒话题[1]。
单从工作压力来讲,图书管理在很大程度上可以解决一部分问题,逐渐进入人们的视野。图书管理采用的手工记录信息的方式,给工作人员的匹配工作造成很大的困难。这也充分说明了传统的信息处理方式已经很难适应现代管理系统的需要。
近年来,随着计算机技术的飞速发展以及其在全球范围内的普及,计算机技术的在人们生活中应用的占比越来越大,尤其是信息资源管理方面,广泛应用于各个行业,已经产生了不可估量的社会效益[6]。计算机技术在信息资源管理方面的应用大大提高了工作效率,简化了工作程序,改善了服务质量[7]。而这些特点正好对图书管理的难题对症下药。图书管理系统一经问世,就展现了其巨大的发展前景与优势。电子信息技术与图书管理的结合,使得用户足不出户就可以在系统上操作,符合人们现代生活方式发展;这种结合也对图书管理模式的变革也起到了决定性的作用,可以实现图书信息一次录入,永久使用的便捷,关键词输入即可将用户需求与图书管理人员信息进行匹配,达到客户需求最快最优实现的理想[8]。然后这种模式更加节省成本,无论是纸质文字的录入和保存,还有人工的费用都为图书管理的资本积累以及变革提供了保障。因此可以看出,图书管理网络化,不仅大大提高了本行业的工作效率,简化工作方式,更是一场图书管理的深刻变革。
1.2开发目的与意义
1.2.1开发目的
近年来,图书管理系统发展迅猛,在拥有广阔发展前景的同时,也面临着许许多多的问题。
我国线上管理起步晚,但发展快速,从业人员激增,多见于传统管理模式,管理体系不规范、不标准。且企业虽然多但规模普遍偏小,很难在市场形成有效的诚信经营的形象与品牌。
我国目前存在的图书管理监管制度缺失、市场监管不规范等问题。由于缺乏专业人士的素质和服务品质的明确测量,导致图书管理内部鱼龙混杂,难以获得用户的信赖。
图书管理系统是电子、信息技术的相结合,是一种必然的发展趋势。以互联网为基础,以服务于广大用户为目的,发展整体优势,扩大规模,提升服务质量,提高图书管理效率。图书管理系统实现了图书管理向现代化和网络化的转型,为管理决策和控制提供保障,这是图书管理系统发展中里程碑式的转型。
1.2.2开发意义
对于图书管理来说,系统的建设大大节省了管理成本和人工成本,增强用户信息安全建设,是实现管理现代化的有效途径,同时促进图书管理更加专业化和网络化。
对于用户来说,建立图书管理体系不仅丰富了图书管理的商业模式,还能刺激各行业进行自我改革,促使其专业性和规范性的提高。这是图书管理良性循环发展的里程碑。
1.3本文研究内容
首先,要掌握有关系统的基本理论,如 Java技术、 MySQL数据库等,并对其进行全面的分析。为了给系统打下坚实的技术基础,本系统采用了 MySQL数据库的架构,在开始这项工作前,首先要设计好要用到的数据库表。该系统的使用者有两类:管理员和用户,主要功能包括个人信息修改,用户管理、图书分类管理、图书信息管理、系统管理等功能。
2开发技术
2.1 Java介绍
Java语言正式诞生于1995年,是由SUN公司开发研制的OAK语言发展而来的。Java语言继承了OAK语言可跨平台运行的特点,融合了面向对象编程的风格,JAVA以其独有的开放性、跨平台性和面向网络的交互性席卷全球,以其安全性、易用性和开发周期短的特点,迅速从最初的编程语言发展成为全球第一大软件开发平台.广受时下程序开发人员的好评[3]。后来又为了丰富Java语言的用途,提高生产力,将它进行设计和改造,以满足更多地开发和应用场景。经过改造后,它可以满足移动端开发,桌面应用开发和企业级应用开发。Java语言还为用户提供了丰富的类库,在掌握它的特性后,学习特定的工具包,就可以满足很多场景的开发。现在来看,Java语言在这三种平台的应用开发中,都占据了举足轻重的地位。
与其他语言相比,Java语言具有很多的优点,Java语言简单比较容易理解,有c语言的基础很容易就可以学会,中文和英文的学习资源也比较多,而且Java语言经过许多年的沉淀发展,逐渐演变出很多成熟的框架技术。企业还还可以封装自己的框架,让开发变得简单。它还具有跨平台性较其他语言这一个最大的优势,这意味着它只需要一次编译就可以运行在其他平台上。
2.2 MySql简介
它以其优秀的性能、强大的功能以及良好的扩展性受到越来越多的关注。目前,国内已经有很多企业采用了该系统进行管理,取得了很好的效果。随着网络技术的发展。MySQL是最流行的关系型数据库管理系统之一,我的SQL是WEB应用应用程序中最好的RDBMS(Relational Database Management System)应用程序之一。MySQL是一个关系型数据库管理系统,在这个系统中,关系数据库将数据存储在不同的表中,而不是全部存储在一个大仓库中,从而提高了速度和灵活性。
在信息管理中,对于数据库的应用也日益广泛,不仅有效对信息管理的质量进行了提升,也进一步提升了信息管理的安全性,让信息管理更加高效[6]。SQL Server是一种关系数据库管理系统,它能提供超大型系统所需的数据库服务。大型服务器可能有成千上万的用户同时连接到 SQL Server实例[7]。
我的SQL使用的SQL语言是访问数据库最常用的标准化语言。它可以通过简单操作实现复杂查询功能,并且具有良好的可扩展性和可维护性等优点。随着网络技术的不断发展,ASP.NET成为目前互联网上最为流行的Web应用之一。MySQL软件采用双授权政策,分为社区版版本和商业版。由于其体积小,速度快,总体拥有成本低,特别是开放源码,MySQL用作中小型网站发展的网站数据库[8]。
2.3 SPRINGBOOT框架
Spring Boot是由Pivotal的开发团队在2013年开发的一个免费、轻量级、开源的系统框架。SpringBoot的主要设计思想是约定大于配置,因此SpringBoot在设计时几乎达到零配置。SpringBoot集成了业界的开源框架。
SpringBoot是一个非常强大的后台框架,因为SpringBoot的开发基本上不需要写配置文件,所以利用SpringBoot来构建网站的后台环境,在SpringBoot的YML配置文件中写项目启动端口,项目就可以启动了。项目的Java和静态文件由SpringBoot管理。
2.4 B/S架构
B/S(Browser/Server,浏览器/服务器)模式,是一种架构模式,属于WEB发展后的所出现的一种网络构造,而WEB又是主要的浏览器应用商品软件。B/S架构模式不仅将系统的重新开发、维修及利用等简单化,更将其重点放到了服务器上[8]。它使客户端得到了统一,服务器上集中了系统功能的最关键部分。
B/S架构的工作模式是浏览器发出请求后服务器进行相应的响应。Internet上文本、图片、动画等信息主要由Web服务器产生,而用户主要是通过浏览器访问这些信息。在Web服务器上下载程序时,如果在下载过程中遇到某些与数据库相关的指令,可以将这些指令交给数据库服务器来解释、进行执行。B/S架构工作流程图如2-1所示:
图2-1 B/S架构工作流程图
2.5 Tomcat简介
Tomcat是Java Servlet,JavaServerPages,Java Expression Language和JavaWebSocket(Java EE)技术的开源实现。因为可以通过HTTP提供HTML页面等静态内容的请求访问,所以是一个WEB服务器。
Tomcat 目录结构作用如表2-1所示
表2-1 tomcat目录结构表
序号 | 目录名称 | 作用 |
---|---|---|
1 | bin | 存放启动和关闭tomcat脚本 |
2 | conf | 存放不同的配置文件(server.xml和web.xml) |
3 | doc | 存放Tomcat文档 |
4 | lib | 存放Tomcat运行需要的库文件(JARS) |
5 | logs | 存放Tomcat执行时的LOG文件 |
6 | src | 存放Tomcat的源代码 |
7 | webapps | Tomcat的主要Web发布目录(包括应用程序示例) |
8 | work | 存放jsp编译后产生的class文件 |
3系统分析
需求分析是研发人员经过调研和分析后准确理解客户需求,确定系统需要具备的功能。然后对系统进行可行性和功能分析,确保符合图书管理系统的实现价值,对后续的系统创建有显著的帮助。
3.1可行性分析
3.1.1技术可行性分析
基于B/S架构开发的图书管理系统,技术方面应用了目前市面上比较主流的web三大框架,分别是Spring、Hibernate、struts2,数据库采用mysql,tomcat作为服务器,这些技术非常的成熟,在市面上有非常多成熟使用的案例,从技术角度是没有问题的,并且在学校的学习中对于这些技术就会有了一定的掌握,开发过类似的项目。
3.1.2经济可行性分析
图书管理系统大都是区域性的管理,系统中维护的范围不会非常大,因此数据并发量不会非常高,在数据并发量不是很高的情况下,系统的资源配置相对较低,用户所需要的客户端普通的电脑即可胜任。并且图书管理系统的管理还会提高效率减少纸质物品的使用,节约纸质资源。避免很多的人力消耗和资源浪费。从系统的开发角度分析,此次项目的开发软件全部都是开源且免费的。不需要在开发中投入经济成本,只需要专注于开发的内容即可,不会产生相应的开发费用。系统稳定使用后系统不会有过多的运营成本,投入使用后会在实际工作中发挥出重要的作用。
3.1.3法律可行性分析
图书管理系统是自己独立设计的,该系统是本人开发出来做毕业设计之用,并不会侵犯他人、集体和国家的利益。该系统使用正版软件开发,所有参考资料都是正规网站查询分析得出,开发的技术完全是开源免费的工具,百分百遵守国家法律法规。不会出现任何违反国家的政策和法律的。
3.2系统性能分析
- 系统安全性
图书管理系统中,系统的安全性要有一定的保障,不仅要保证系统数据存储足够安全,还要保障数据传输过程安全,还要保证对用户权限管理是合理的。保证一些意外情况发生,导致系统数据缺损时,会有历史数据备份对数据进行还原。
- 可维护性和适应性
世界是在不断进步的,互联网也在不断发展,随着行业发展,对图书管理系统可能会产生新的需求,好的系统应该具有可扩展性,无论在现在还是未来,都能够满足用户需求,可以长期使用本图书管理系统。
- 可靠性
图书管理信息量越来越大,到时候系统的访问量就会比现在多很多,图书管理系统要足够可靠,能够在并发量高的情况下,依旧保持优越的运行速度、容错能力。
3.3功能需求分析
3.3.1管理员需求分析
管理员端的功能主要是开放给系统的管理人员使用,能够对个人中心、用户管理、图书分类管理、图书信息管理、系统管理进行查看,修改和删除等,对系统整体运行情况进行了解。
管理员用例分析图,如图3-1所示。
图3-1管理员用例分析图
3.3.2用户需求分析
用户的功能主要是对首页、图书信息、公告信息、在线咨询、个人中心等进行操作。
用户用例分析图,如图3-2所示。
图3-2用户用例分析图
3.4系统流程分析
在本系统,非本系统的用户想要对图书管理系统进行操作就要注册本系统,登录时需要填写相应的资料,如有使用者,则会显示使用者名称已经存在,请再次键入使用者名称的提示框,若使用者不存在,则填写密码、确认密码等资料,并由系统判定密码与确认密码相符,确认无误后,填写使用者所填写的资料,即可进行登记。而且,为了保证系统的安全,只有在登录了本系统以后,才能进入系统后台操作。该系统的程序流程见图3-3。
图3-3程序流程图
4系统设计
4.1功能模块设计
对本系统进行全面的系统功能的分析,可以得出基于Springboot的图书管理系统的功能模块图,如图4-1所示。
图4-1 系统功能模块图
4.2数据库设计
4.2.1数据库设计原则
要学习程序设计,如果你想了解数据库管理系统或根据要求开发的系统接口,你必须创建一个数据库管理系统模型来存储数据。这样,当您在应用程序编程过程中,就不需要将信息加载到操作系统页面,从而提高整个系统的工作效率。信息库管理系统中存储着许多数据,应该说是管理信息系统建设的中心和基础。信息库管理系统还为管理信息系统的建设提供了添加、删除、更改和搜索的操作功能,使管理信息系统建设能够快速查询所需的数据,而不是直接从程序代码中查找。信息库管理系统通过按照特定的方法将信息表的各个组成部分组合起来,准确地组合、分类并构成信息库管理体系。
4.2.2系统E-R图
本系统的E-R图描述了在系统中各个实体之间的联系,以下是对部分主要的关键实体如下:
用户实体属性图如下图4-2所示。
图4-2用户实体属性图
在线咨询实体属性图如下图4-3所示。
图4-3在线咨询实体属性图
图书信息实体属性图如下图4-4所示。
图4-4图书信息实体属性图
公告信息实体属性图如下图4-5所示。
图4-5公告信息实体属性图
图书信息评论实体属性图如下图4-6所示。
图4-6图书信息评论实体属性图
4.2.3数据库表设计
图书管理系统的数据以一个个数据表的方式存储在数据库中,这一个个数据表示系统调取数据的基础,在进行系统数据库搭建时,会根据这些设计好的数据表进行优化搭建。系统选用MySQL数据库,对各表进行了详细的说明如下:
表名4-1:配置文件
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
name | varchar | 100 | 配置参数名称 | ||
value | varchar | 100 | 配置参数值 |
表名4-2:在线咨询
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
adminid | bigint | 管理员id | |||
ask | longtext | 4294967295 | 提问 | ||
reply | longtext | 4294967295 | 回复 | ||
isreply | int | 是否回复 |
表名4-3:用户
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
zhanghao | varchar | 200 | 账号 | ||
mima | varchar | 200 | 密码 | ||
xingming | varchar | 200 | 姓名 | ||
xingbie | varchar | 200 | 性别 | ||
youxiang | varchar | 200 | 邮箱 | ||
shoujihaoma | varchar | 200 | 手机号码 | ||
touxiang | longtext | 4294967295 | 头像 |
表名4-4:关于我们
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
subtitle | varchar | 200 | 副标题 | ||
content | longtext | 4294967295 | 内容 | ||
picture1 | longtext | 4294967295 | 图片1 | ||
picture2 | longtext | 4294967295 | 图片2 | ||
picture3 | longtext | 4294967295 | 图片3 |
表名4-5:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
表名4-6:图书信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tushumingcheng | varchar | 200 | 图书名称 | ||
tushufengmian | longtext | 4294967295 | 图书封面 | ||
tushufenlei | varchar | 200 | 图书分类 | ||
tuwenweizhi | varchar | 200 | 图文位置 | ||
zuozhe | varchar | 200 | 作者 | ||
chubanshe | varchar | 200 | 出版社 | ||
tushujianjie | longtext | 4294967295 | 图书简介 | ||
tushuxiangqing | longtext | 4294967295 | 图书详情 | ||
faburiqi | date | 发布日期 | |||
clicktime | datetime | 最近点击时间 |
表名4-7:图书分类
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tushufenlei | varchar | 200 | 图书分类 |
表名4-8:token表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
userid | bigint | 用户id | |||
username | varchar | 100 | 用户名 | ||
tablename | varchar | 100 | 表名 | ||
role | varchar | 100 | 角色 | ||
token | varchar | 200 | 密码 | ||
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP | ||
expiratedtime | timestamp | 过期时间 | CURRENT_TIMESTAMP |
表名4-9:收藏表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
userid | bigint | 用户id | |||
refid | bigint | 商品id | |||
tablename | varchar | 200 | 表名 | ||
name | varchar | 200 | 名称 | ||
picture | longtext | 4294967295 | 图片 | ||
type | varchar | 200 | 类型(1:收藏,21:赞,22:踩,31:竞拍参与,41:关注) | 1 | |
inteltype | varchar | 200 | 推荐类型 | ||
remark | varchar | 200 | 备注 |
表名4-10:公告信息
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
title | varchar | 200 | 标题 | ||
introduction | longtext | 4294967295 | 简介 | ||
picture | longtext | 4294967295 | 图片 | ||
content | longtext | 4294967295 | 内容 |
表名4-11:图书信息评论表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
---|---|---|---|---|---|
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
refid | bigint | 关联表id | |||
userid | bigint | 用户id | |||
avatarurl | longtext | 4294967295 | 头像 | ||
nickname | varchar | 200 | 用户名 | ||
content | longtext | 4294967295 | 评论内容 | ||
reply | longtext | 4294967295 | 回复内容 |
5系统实现
在图书管理系统的生命周期中,经过了系统分析、系统设计等阶段之后,便开始了系统实施阶段。系统的实现主要对管理员和用户功能的实现,通过实现的过程对代码和逻辑进行相应的修改和完善。该模块也是直接面对使用者的,不仅功能要齐全,而且要做到页面美观。
5.1系统功能模块实现
当人们打开系统的网址后,首先看到的就是首页界面。在这里,人们能够看到图书管理系统的导航条。系统首页界面如图5-1所示:
图5-1 系统首页界面
系统注册:在注册页面输入用户注册信息进行注册操作,系统注册页面如图5-2所示:
图5-2系统注册页面
图书信息:在图书信息页面的输入栏中输入图书名称、图文位置、作者和出版社进行查询,可以查看到图书详细信息,并根据需要进行收藏或评论等操作;如图5-3所示:
图5-3图书信息详细页面
公告信息:在公告信息页面的输入栏中输入标题进行查询,可以查看公告详细信息;如图5-4所示:
图5-4公告信息详细页面
在个人中心页面输入个人信息可以进行更新操作,还可以对我的收藏进行详细操作;如图5-5所示:
图5-5 个人中心界面
5.2管理员模块实现
管理员登录,在登录页面正确输入用户名和密码后,进入操作系统进行操作;如图5-6所示。
图5-6 管理员登录界面
管理员进入主页面,主要功能包括对个人中心、用户管理、图书分类管理、图书信息管理、系统管理等进行操作。管理员主界面如图5-7所示:
图5-7 管理员主界面
管理员点击用户管理。在用户页面输入账号和姓名进行查询、新增或删除用户列表,并根据需要对用户详情信息进行详情、修改或删除操作;如图5-8所示:
图5-8用户管理界面
管理员点击图书分类管理。进入图书分类页面输入图书分类进行查询、新增或删除图书分类列表,并根据需要对图书分类详细信息进行详情、修改或删除操作。如图5-9所示:
图5-9图书分类管理界面
管理员点击图书信息管理。在图书信息页面输入图书名称、图文位置、作者和出版社进行查询、新增、删除、图书分类统计或作者发布统计图书信息列表,并根据需要对图书详细信息进行详情、修改、查看评论或删除操作。如图5-10所示:
图5-10图书信息管理界面
管理员点击系统管理。在公告信息页面输入标题进行查询、新增或删除公告信息列表,并根据需要对公告详细信息进行详情、修改或删除操作;还可以对轮播图管理、在线咨询、关于我们和系统简介进行详细操作;如图5-11所示:
图5-11系统管理界面
6系统测试
系统的测试是必须的,需要知道的是这个阶段不是单独的,而是在全部的时间进行。这么做可以及时发现问题,还能找到产生矛盾的地方,并且可以尝试修改,这样就能完善系统。对于被测试的系统,都可以找到一些问题,而且还可以找到对应的位置在哪。其目的是对于整体的测试,发现需求中存在的矛盾,就可以做出修改了。测试的过程是对应于整体,有对软件的测试,发现需求的符合度,接下来,就是对数据的检测,以及对硬件的检测。
在软件测试规划中,必须了解测试流程,包括功能概述,测试周期,测试方法,测试范围,测试配置,测试技巧,测试交流,风险分析等[12]。对于一些开发的人员,是可以知道测试方法,找到测试过程的一些的问题,然后可以应对这些问题。
6.1软件测试原则
系统的项目开始启动,系统测试也就是正式开始。软件的是有很多特殊性质,其一些测试也是整体的时间,不是一个单独的过程,因为有可能在所以时间段里,可以有不同的问题。从需求分析、系统设计的过程中,就可以进行系统的测试,制定相应的测试内容和设计文档,并且在整个开发过程中,都要进行系统的审核和确认[13],只有这样,才能更快的发现错误,从而提升系统的质量。为了更早地进行检测,让测试人员可以早知道测试难度,还有进行工作的准备,提前了解关于问题的风险,便于能够提高测试的效率,而且还能保证开发质量,还能够避免风险存在于测试里的,可以有更加完善的方案。
在测试过程中有一些问题,还有一些不足能被发现,这样测试可以使软件中有比较少的问题。有些人觉得只要能够通过软件测试的系统,就不会再存在任何问题,便可以比较放心的使用。这种把软件测试夸大的思想是违反原则的。总的来说即使软件测试能够发现任何问题,也不足以证明软件当中就没有任何的问题,系统就是完全正确的。软件测试必须很快地到软件开发过程中,这样就可以很快的地发现软件缺陷,并且越快发现软件问题,软件的修复成本就会越小。可以让测试人员加入需求的开发过程,以确保需求的可以测试的性质、正确性等,便可以更加有效地节省开发带来的成本。在有关于测试的环节当中也会尽早的找到问题,要是开发人员在某个模块发现了问题,那么在这模块中或许会存在不止一个问题。现在软件都比较复杂,而且测试也有难度,几乎不能有测试可以是完全。
测试是在一定的顺序,每个不同的阶段能够由出现的问题,可以了解到它的风险,这样也可以加强测试,从而可以保证软件使用时的质量。测试是需要比较早开始的,一方面就是保证软件的质量,有效的降低风险以及成本。测试的人员一般在分析需求时候就已经开始测试准备了,使得系统的不足在需求或者设计阶段就可以被发现出,就这点来说发现越早,能够修复的成本就越小。测试的设计可以确定测试的有效性以及效率问题,测试的工具只是提升了测试的效率,而非测试本身。在设计一个测试案例时,是还能改善可靠性,可以用更有效的方法。
6.2软件测试过程
软件测试中每当用户提出新的功能需求时,测试人员需要与开发人员一起做测试,这样测试人员就会对本次测试有个比较清晰的认识,具体要完成什么,都有什么功能等。而且当集成测试在完成后,开发的模块就会被联接在一起,从而形成一个完整的程序。每个各模块间的接口存在的许多缺陷都被消除,就可以进入了确认测试的阶段。确认测试是按照软件的需求规格,对软件进行评估是确保它否满足需求规格,然后决定最后的软件是否正常。
在测试规范后,就可以进行测试用例的编写,主要根据功能模块而展开,例如界面包括哪些操作,其中的操作是否可以正常进行,然后根据相关功能来设计,可以根据不同的情况来设计,对于一些测试过程中出现的问题等,以便查找测试任务的相关情况。
(1)单元测试
这种测试是一种用代码的编写,然后完成的测试方法,在整个检测流程中,是一个非常关键的步骤。在一项有关的程序中,可以进行测试的代码,这种的步骤和实现功能的运行过程是一样的,更加能够突出实现的时候,有关于一些数据的正确还有难易的问题。而且单元测试都由开发人员自己来实现。通常都是开发人员有义务编写相关的功能模块代码,由于对于这些问题的出现,会比别人更加的清楚。有目的单元测试,就是能够出现相应地方代码的执行行为与我们预期的具有一样的效果。一般是由开发人员查看相关代码来查找出问题,而且同样是不同的开发人员相互查看对方的代码,这样才能发现更多的问题。在使用工具扫描程序时,可以根据程序的一些错误的特征,是能够发现而且记录代码中的错误原因。还有就是可以使用工具能够自动生成测试用例,而且也能执行相关程序的测试,这种方式也是由于发现一些行为上的特征,并且报告错误的原因,这种测试的方法只能够发现一些明显的错误的问题,对一些不明显的错误就不能测试出原因所在,就比如一直简单的加法函数,其中的错误是相对比较简单的,但是以上的测试方法仍不能发现,是由于这种测试工具不可能自动的理解代码的功能。
(2)系统测试
所谓系统测试,就是把被确定的软件系统,包括电脑的硬件和网络,都是一个整体,它可以完成整个系统的检测和验证[14],系统试验是对整个软件系统进行的一次试验,其目的在于检测该系统能否达到要求,发现一些和需求规定不一样或者有歧义的地方,从而能够提出更加有效的方案。这里要有出现的任何问题,为了能够找到出现问题的位置,就是需要有调试的过程,然后进一步的改正。
这种测试也能够发现和规定不一样的时候,或者是出现的一些矛盾。都是需要提前有关于规定的需求做出比较,做出能够在实际的应用里,可以运行的一些对应的测试过程的用例。
(3)集成测试
集成测试是在单元测试后面开始的,将确定测试单元之间可以相互协调的运行。由于在很大的情况中,需要的系统不是有单独的几个或者一个人来完成,所以在前面的测试过程是,通过负责独立部分的开发者,同时也要负责这里的功能测试。但是如果要是把所以的测试部分都整合在一起,就可以发生一些问题。所以这里的测试是能够说明,不同的负责者的模块可以完全的正常执行,通常在执行集成测试之前,是必须先执行单元测试。
集成测试通过将逻辑上相关的两个或许多的功能模块连接起来执行增量的测试,接着又加入更多功能模块,以及对其功能进行的测试,一直到完成所有功能模块的集然后成功测试为止。集成测试又可以是自上而下方法[15],一般从测试最顶层的功能模块开始,接着一步步地降到最低的功能模块,其中测试是按照软件的具体控制流程从上到下的进行。还可以是自底向上的集成测试,可以很快的发现底层功能模块的问题,能够提高测试的效率。如果要是了解整个的框架,就必须是对应的功能测试在可以检测完的条件。
测试过程中的集成是相对容易的,而且用到的方法也是不太难,根据对应的方法,做出测试用例的需要也比较少,但是由于无法避免的功能模块间接口的问题,所以能够一次运行成功的可能性比较小。而且要是一次集成的功能模块数量比较多,在集成测试后有可能还出现大量的错误,这样系统的错误定位以及相关的修改就会存在比较大的问题,即便能够完成集成测试,但是有可能会留下很多的错误进入系统测试。
6.3测试用例
部分系统测试用例如表6-1所示。
表 6-1 测试用例表
测试功能、流程 | 预期结果 | 实际结果 | 结论 |
---|---|---|---|
测试管理登录。管理员在登陆页面输入对应信息可以进入主页面 | 登陆成功, 之后跳转页面 | 登陆成功, 成功跳转页面 | 测试成功 |
6.4本章小结
一开始系统的测试是可以不用考虑整个的程序,只是考虑它的某个正常的部分,而且也可以不用看到其正常的运行的功能,暂时先不用了解具体的结构是什么样。只是用软件就能确定的测试,能够判断出测试的精确程度。这个软件的测试,其实是用一个软件的内部构造来进行的。同时经过一些分析来测试的。同时也是由代码进行的软件测试,开发者可以通过检查代码或利用开发工具,来判定系统的质量。
在正常的情况下,需要软件的安装程序必须能够比较好的与现存在系统是可以兼容的,而且还能有相关的提示信息,可以让用户查看,接着正常安装然后实现相应的功能。所以在这里就体现了测试的重要性,要是没有一些正确的测试过程就会导致软件安装上的错误,然后软件就不能正确的运行,所以在这里安装的测试就是比较重要的环节。其中安装的测试的目的就是检验系统能否可以成功的安装,同时也保证系统安装完成了可以正常运行。
在软件开发之后,会对软件做出测试。通过对软件的检测,能够发现软件的实际用法,主要是用户为主的,然后系统的开发人员以及质量保证的测试人员也应加入的测试。主要考虑的问题是各个功能是不是规范的,还有一些用户的会有的问题。不仅仅是一个方面的质量问题,而是需要进行全方位是功能验证,最后要确定软件是否符合要求,所以验收的测试是一项比较严格的测试项目,需要根据事先制订的一些相关的计划,进行对于软件配置的审查、功能的测试、性能的测试等,最后才能确保软件的正常使用。