摘要:随着互联网时代的来临,电商在推动全球经济发展发挥着非常重要的作用,为了给人们的生活带来便利,给予漫迷们一个便利的购书平台从而提高动漫图书的销售额,方便对动漫图书的管理,开发出一个动态,交互的,可在线购书的动漫图书商城是十分有意义的。
动漫图书商城是一种针对漫迷设计的网上图书商城,系统以B/S为系统架构,采用了SpringBoot框架进行开发实现,通过Tomcat作为应用服务器提供网络信息服务,MySql数据库进行后台数据交互以及html页面进行前台页面展示等技术分别实现了图书商城所需要的用户模块的用户注册、登录、退出功能;图书模块的图书浏览、查找、添加、创建及删除功能;订单模块的订单查找、创建、删除功能以及购物车模块的购物车清空、修改、添加功能,让动漫图书商城成为一个可以在线选择图书并实现图书买卖的购书平台,达到为漫迷们购书带来便利优惠,提高动漫图书的销售额的目的。
动漫图书商城的实现解决了传统书店给交易带来的局限性以及各类交易问题,将企业资源更有效的利用起来,降低了图书销售的成本,提高双方交易效率,为企业带来了更多的图书销售额,从而加速了电商的发展。
关键词:动漫,图书商城,设计,Springboot
The Design and Implementation of SpringBoot-Based Animation Book Shop
Abstract:With the advent of the Internet era, e-commerce plays a very important role in promoting the development of the global economy. In order to bring convenience to people ’s lives, fans are given a convenient book-purchasing platform to increase the sales of cartoon books and facilitate the sale of cartoon books. For book management, it is very meaningful to develop a dynamic, interactive, anime book store that can buy books online.
The cartoon book store is an online book store designed for fans. The system uses B / S as the system architecture, adopts the SpringBoot framework for development and implementation, provides network information services through Tomcat as the application server, and MySql database performs background data interaction and html. The front page display and other technologies on the page respectively realize the user registration, login, and logout functions of the user module required by the book store; the book browsing, searching, adding, creating, and deleting functions of the book module; the order searching, creating, and deleting of the order module The function and the shopping cart of the shopping cart module are cleared, modified, and added functions, making the anime book store a book purchasing platform that can select books online and realize book trading, so as to bring convenience discounts for fans to buy books and increase the sales of anime books.
The purpose of the animation book store has solved the limitations of traditional bookstores and various transaction problems, used enterprise resources more effectively, reduced the cost of book sales, improved the transaction efficiency of both parties, and brought to enterprises More book sales Amount, thereby accelerating the development of e-commerce.
Key Words:Anime,Book Store, Design,SpringBoot
第1章 绪 论 1
1.1 课题研究背景 1
1.2 课题研究意义 1
1.3 国内外网上书城发展状况 2
1.4课题研究的主要内容 2
第2章 系统分析 4
2.1 可行性分析 4
2.1.1 技术可行性 4
2.1.2 经济可行性 5
2.1.3 运行可行性 5
2.1.4 时间可行性 5
2.2 系统的需求分析 6
2.2.1 功能需求 6
2.2.2 性能需求 8
2.3 UML系统建模 9
2.3.1 普通用户用例图 9
2.3.2 会员用户用例图 9
2.3.3 管理员用例图 10
2.4 数据流图 11
2.4.1 普通用户注册数据流图 11
2.4.2 会员用户登录数据流图 12
2.4.3 图书查询数据流图 12
2.4.4 订单查询数据流图 13
2.4.5 添加图书数据流图 13
2.4.6 会员用户购书数据流图 14
2.5 本章小结 14
第3章 系统设计与实现 15
3.1 系统设计 15
3.1.1 数据库设计 15
3.1.2 系统模块的设计 19
3.2 系统实现 23
3.2.1 用户登录功能的实现 24
3.2.2 用户注册功能的实现 24
3.2.3 购物车模块的实现 25
3.2.4 创建订单功能的实现 26
3.2.5 添加图书功能的实现 27
3.2.6 修改图书功能的实现 27
3.2.7 图书上下架功能的实现 28
3.3 本章小结 28
第4章 系统测试 29
4.1 测试的意义和目的 29
4.1.1 测试的意义 29
4.1.2 测试的目的 29
4.2 测试的方法 30
4.3 测试用例 30
4.3.1 用户注册测试用例 30
4.3.2 用户登录测试用例 31
4.3.3 图书查找测试用例 32
4.3.4 图书添加测试用例 32
4.3.5 修改图书测试用例 33
4.3.6 订单管理测试用例 34
4.3.7 购物车管理测试用例 35
4.4 本章小结 35
第5章 结束语 36
5.1 课题总结 36
5.2 课题展望 36
参考文献 38
致 谢 39
1.1 课题研究背景
随着互联网时代的来临,越来越多的人们对互联网产生了强烈的依赖,网络在不知不觉中改变着人们的观念和生活方式,各种终端设备的高速发展升级更是让人们的生活变得十分方便,在这种环境下,电子商务很快发展成为了全球经济发展中的重点,网上购物作为电子商务中发展较好的模式之一,跨越了时间和空间的限制,不仅为人们的生活带来便利, 也为商业经济流动带来了重大的改变,现如今,网上购物作为一种崭新的消费模式已经融入了人们的生活,越来越多的人选择网上购物作为主要的消费模式,网上图书商城作为网上购物的一部分在电子商务高速发展的情况下也有了迅速的发展,网上图书商城可以做到价格优惠,节省时间,搜索方便,货比三家,解决了许多交易中的问题,在更大的范围内,更多的层面上以更高的效率实现资源配置。而本次课题,动漫图书商城则是作为一种针对漫迷的网上图书商城,更是在图书商城的基础上对动漫图书进行专项完善设计,综合漫迷们的各项需求做到更加完善的动漫图书商城,针对性的给予漫迷们一种高效方便的购书方式,让漫迷们可以轻松愉快的购买到自己喜欢的动漫图书并享受更加优越的服务。
1.2 课题研究意义
本课题研究的目的是建立一个动态的,交互的在线购书的动漫图书商城,我们可以根据自己喜欢的动漫找到相应的动漫图书并将其购买回家,本课题需要实现通过Internet购买到自己喜欢的动漫图书或者享受一些自己需要的服务,通过网络实现整个商务买卖课程的电子化、数字化、网络化,从专业上讲,这是一种名为B2C的电商模式,通过网上所罗列的动漫图书信息,完善好方便安全的资金结算系统进行图书交易,这种模式将大大节省了顾客和图书销售商的时间和空间从而大大提高交易效率,本课题针对各类漫迷设计,让他们可以在紧凑的生活中可以继续享受动漫带给他们的欢乐。
1.3 国内外网上书城发展状况
目前,我国电子商务行业正在快速发展,逐步向市场化,国际化和深领域迈进,像是知名的购物网站淘宝、京东等,已经给人们带来了很大的方便与实惠,在这种电子商务整体都在向前发展格局里,网上图书商城作为电商购物网站的一种,在国内是网上购物网站里面发展相对较快的,据报道我国的第一家网上书店-新华书店,虽然一开始经营有些不顺,只维持了一年便以失败告终,但在经过了十几年的发展,现如今,我国的网上书店已经颇具规模,能够在网上买卖图书的网站已经有数百家之多,并形成了各种发展模式,其营业额在图书零售市场上的占比超过5%,据报道中国比较知名的图书网站,当当网,文纤网,博库网,中国图书网等等每年都是超100亿的销售,由此可见,网上图书商城在各方面的发展都已经日趋成熟。
在国外,网上书店更是处于高速发展阶段,据报道国外网上书店早在90年代末就已经有了初步发展,根据初步统计那时便有超1000家的网上图书商城,他们主要分布在美国和其他一些欧美地区经济实力强盛技术比较发达的国家。这些国家比我国网上图书商城的发展起步早、规模大、发展快、数量多等优势,例如,亚马逊网上图书商城,它是全球最大的网上书城,位于华盛顿州的西雅图。它是网络上最早开始经营电子商务的公司之一。亚马逊有着进乎完美的综合书目数据库,还有着十分方便的图书检索系统。据分析亚马逊图书网站经营的图书达400万种之多,除此之外,网站还拥有十分完善的金融结算制度和物流配送服务,还实现了零库存运转,由这些优点可知,网站给消费者提供了十分方便舒适的网上购书环境,从而使得公司的销售总额直线上升。另外,像美国,他们国家有很多图书馆,随着网上图书商城的发展,这些图书馆选择了网上图书商城这种途径订购图书馆里的图书,这也加快了网上图书商城的发展,现如今,国外的的电商发展的很快,网上图书商城更是首当其冲,很大程度上推动着全球经济的发展。
1.4课题研究的主要内容
动漫图书商城主要分为前台服务系统与后台管理系统两部分,前台服务系统主要是面对客户的购物全过程,后台管理系统则是针对系统管理员的,主要实现对图书,用户,订单等信息的管理维护。
前台服务系统主要包括以下方面:
前台页面:图书商城需提供一些前台页面,让顾客可以浏览一些图书的详细信息,以及展示一些热门的动漫图书等。
登录注册:用户可以注册账户,登录账户后才可以进行图书的购买,对购物车进行管理等。
购物车:用于存放用户需要或有意向购买的图书用户登录账户后,用户可根据自己的情况修改自己的购物车。
搜索模块:用户可以通过关键字查找相应的商品。
后台管理系统主要包括以下方面:
后台系统登录:管理员根据账户和密码进行登录。
图书管理:管理员可以通过后台管理系统对数据库图书进行添加,修改,删除,查询的管理操作,也可以通过此功能模块上传图书的封面图片等。
用户管理:管理员可以在后台管理系统查看并管理用户的信息。
订单管理:管理员可以查看订单的详情,还可以对订单进行删除,修改操作。
2.1 可行性分析
在这个阶段我们通过对项目的初步调研和分析,随后通过分析调研结果总结出可行性方案,我们主要是从技术可行性,经济可行性,运行可行性以及时间可行性等方面进行论证分析。
2.1.1 技术可行性
在技术可行性这一方面上,我们从以下方面进行考虑:
项目以Java语言作为该项目的开发语言,Java语言作为当今世界编程的主流语言之一,已经有了20多年的发展历程,它不仅吸收了C语言及其它编程语言的优点,又从中摒弃许多编程语言所带来的缺点,例如难以理解的概念,开发步骤的繁琐等,通过不断的更新发展,Java语言已经可以完美编写出各种应用程序,像本项目动漫图书商城,一种web应用购物网站,自然可以通过Java进行实现。
在开发工具上,我们选用IntelliJ IDEA做为本项目的开发工具,IntelliJ IDEA作为这几年发展很好的java编程语言开发的集成环境,现如今已经是业界公认做好的Java开发工具,该工具对Java编程带来了许多好处,例如,智能的代码提示,对各种编码辅助的支持等等,应用该工具可以大大提高我们的开发效率。
在后台数据管理方面我们依托MySql关系型数据库管理系统对我们的数据进行处理,MySql作为一款优秀的关系型数据库管理系统,尤其是在web应用方面,可以为我们提供良好数据管理方式,满足我们项目在数据管理方面的各种要求。
最后便是本次项目所用到的框架SpringBoot,虽然实现我们的项目可以有许多种框架选择,它们都可以帮助我们完成动漫图书商城的开发实现,但只有SpringBoot才是最适合,最高效的框架,SpringBoot作为把Java抬进去现代化开发阶段的框架,在Spring开发的基础上进行更快速,体验更好的应用开发,它具有强大的整合其他技术的能力,在web应用上,数据访问上都能提供良好的支持,其次,它还带有强悍的应用测试功能,可以为我们的项目带来许多便利,大大的提高我们项目开发的高效性。
2.1.2 经济可行性
在经济可行性方面上我们是以经济效益和开发成本进行分析论证的,通过分析我们得出:
从经济效益上看,传统的图书销售方式是由书店向客户提供图书,顾客要想购买图书,需要到书店进行挑选,所供的图书种类由于空间限制也不一定能够满足顾客们的购书需求,而作为书店管理者,他们需要为这些图书提供相应的位置,在管理上亲力亲为,这些因素都使得交易变得繁琐,自然而然就使成交量大幅下降,而我们的项目是为动漫图书的销售提供了一个便利高效的交易平台,在平台上交易,不仅顾客可以很方便购买到心仪的书籍,书店商家们,他们更是减少了许多繁琐的工作,只需为图书提供一个可以存放图书的仓库,就可以进行正常的图书交易,对图书管理也可以很方便的在本项目实现,这些因素都会大大提升交易的效率,从而使交易额上升,所以,从经济效益上看,该项目可以减少商家成本,加大交易额是可行的。
从开发成本上看,本项目所应用到的各项技术都是无需支出费用,比起用那些例如Oracle等收费技术进行实现的项目,在开发成果上本项目也不会在性能方面有些缺失,同样也可以出色的完成动漫图书商城设计规划,在开发效率上也不会有不及的地方,所以,综上所述,动漫图书商城项目在经济可行性方面是十分可行的。
2.1.3 运行可行性
在这一方面上,我们的项目在使用时主要分为游客,用户和管理员,他们都可以在无须具备任何计算机专业知识的情况下,对我们的动漫图书商城进行相应的业务操作,通过Jsp技术能够实现做出方便简洁的商城界面,这些操作界面也是十分简洁明了,可以让我们的用户对项目的应用做到应用自如,所以从运行可行性方面上也是可行的。
2.1.4 时间可行性
最后是时间可行性,从时间上来看,通过对实习对自己水平的加深,完全可以在规定的时间内学习相关知识并对动漫图书商城进行开发,将系统的基本实现亦是完全有可能的。
2.2 系统的需求分析
动漫图书商城项目分为前后台两个管理系统,前台系统是通过互联网接收用户访问并进行图书销售的购物网站,后台系统是经由管理员对内部图书进行管理的图书管理系统,对于前台管理系统,根据用户需求,我们需要实现类似于现实生活中的图书销售功能,当用户通过互联网访问前台图书销售网站时,需要提供给用户浏览商品,了解商品详情,选择商品等相关图书业务操作,而当用户想要下单购书的时候,则需要进行账户登录,登录账户之后才可以把商品放入购物车接着提交相关信息,生成订单页面,在确认无疑后进行下单支付完成图书购买,其中,支付方面需要提供安全的支付方式,以确保交易安全,而对于后台管理系统,则是需要满足管理员对图书日常管理工作,管理员需要进行身份验证,登录后才可以对图书进行分类管理,对图书库存数量和图书信息等进行增删改查等操作,对于图书信息还需要提供封面图片上传功能,使用户在购书时可以根据图书封面图片了解到图书的基本样式,从而增强图书销售效率。
通过以上对动漫图书商城的分析,可以制定出项目的系统框架,主要的需求有如下几方面:
2.2.1 功能需求
根据对动漫图书商城的需求分析,动漫图书商城的功能模块主要分为用户模块,图书模块,订单模块及购物车模块,具体的项目功能如图2-1项目的功能模块结构图所示:
图2-1 项目的功能模块结构图
用户模块是针对用户设计的模块,主要包括用户注册,用户登录,用户注销及信息修改四大功能模块,其中,普通用户可以通过用户注册功能注册账号成为会员,在需要购书的时候,用户可以通过注册的账号进行登录,登录后,可以通过用户信息修改对自己的账号相关信息进行修改,当用户购书完毕,可以选择用户注销功能退出当前登录的账号。
图书模块主要是对图书进行管理,主要包括图书浏览,图书查找,图书添加,图书修改及图书删除等图书相关业务操作功能,其中,图书浏览及图书查找主要是为用户提供,用户可以通过图书查找更快更高效的找到自己想要购买的图书,可以通过图书浏览对图书有一个详细的了解,对于图书的添加,修改,删除则是为管理员所提供的图书管理功能,管理可以通过图书添加功能,编辑好新图书的相关信息并上传新图书的封面图片,从而完成新图书的上架工作,对于那些库存不足或者已经绝版的图书,管理员可以通过图书删除功能,把这些图书下架,避免交易出错,最后,图书修改则是应用于一些图书信息错误,每日库存修改等业务场景。
订单模块主要是对订单相关信息进行管理,用户在购买图书时,会有订单页面生成,用户在填好相应的用户信息以后,点击提交订单,这时后台管理便会创建出相应的新订单,在订单提交成功后,用户可以对查看相应订单,以确认订单是否正常生成,当交易完成时,用户还可以根据自己的需求,删除相应的订单,这时后台管理系统同样会自动删除该用户的指定订单,从而让用户可以自主删除自己所下的订单。
购物车模块是可以用来保存用户有意向购买的图书模块,主要包括清空购物车,修改购物车,添加商品进入购物车三大功能,用户在浏览商城里的图书,可以通过添加购物车功能将自己感兴趣的图书加入购物车,然后再决定是否购买,当商品被添加进购物车,用户还可以根据自己的需求对已经存在购物车中的图书进行数量上的修改及移除图书等相关修改操作,另外当用户觉得自己存在购物车图书都没有购买的必要时,还可以通过清空购物车操作,把存在购物车的图书全部清空。
2.2.2 性能需求
该阶段对项目性能需求进行分析,主要有以下几方面:
1.网页响应要求,用户通过互联网访问动漫图书商城网站或者在商城进行相应的操作时会受网速影响,一般操作的响应时间在1-30秒内,当网速较慢拉长响应时间时应该给予用户提示,以此提高用户体验。
2.适应性要求,用户在访问动漫图书商城网站时可能使用不同的终端设备,也有可能使用不同的操作系统,项目在进行开发时应考虑到各种终端设备及操作系统的兼容性,以提高用户体验。
3.安全要求,项目需要提供安全的检查校验机制,非法用户不能使用本项目后台管理系统,随意的对订单图书等信息进行的删改,还需提供必要的信息备份服务。
4.保密要求,各级用户只能允许查看相对应的信息,普通用户不能用操作订单,下单等功能,会员不能登录后台管理系统,对图书信息进行修改,订单状态等进行修改。
2.3 UML系统建模
2.3.1 普通用户用例图
在动漫图书商城项目中,顾客在未进行账号注册情况会以普通用户角色对项目进行使用,普通用户可以通过互联网访问商城前台页面,在前台网页可以对动漫图书相关信息进行浏览,也可以通过页面搜索框查找到相应的动漫图书,当普通用户想要进行图书购买的操作,可以在商城首页点击注册按钮跳转进入注册页面,在注册页面,普通用户需填写并提交必要的用户信息才可以完成用户注册,注册完成后,项目会自动向用户发送激活链接,用户通过激活链接跳转至激活页面完成用户激活,在经过激活后,账号会更改为可用状态,这时才可以进行登录以进行其他操作。普通用户用例图如图2-2所示:
图2-2 普通用户用例图
2.3.2 会员用户用例图
会员用户在本动漫图书商城项目中,可以在登录页面进行用户登录,在提交账号密码校验无误后完成用户登录,登录账号后同样可以对图书信息进行浏览,通过页面搜索框查找到自己心仪的动漫图书,当找到合适的动漫图书有购买欲望的时候,可以将该图书添加到购物车,在购物车里可以已经存入的图书进行数量等修改操作,也可以移除相应图书或者直接清空购物车,当你确定要购买的时候,可以在购物车选定并进行支付,支付完成后会自动生成订单,在订单模块,用户可以查看自己所有已购订单,也可以根据需要对这些订单进行删除操作。会员用户用例图如图2-3所示:
图2-3 会员用户用例图
2.3.3 管理员用例图
管理员可以通过管理员账号密码登录后台图书管理系统,在后台图书管理系统中,管理员可以对已经上架且图书信息不符出错的动漫图书进行修改或者修改动漫图书的库存,对于库存不足或者已经没有资源的动漫图书进行删除操作,还可以添加新的动漫图书供用户选购,除了对图书的管理,后台图书管理系统还为管理员提供了订单管理系统,管理员可以在系统中查看前台用户生成的订单并对这些订单进行管理,对于一些用户信息填写错误的订单或者异常错误生成的订单,管理员可以进行删除。管理员用例图如图2-4所示:
图2-4 管理员用例图
2.4 数据流图
2.4.1 普通用户注册数据流图
普通用户注册的数据流过程是由普通用户在注册页面提交用户注册相关信息,经由后台用户信息管理系统进行信息处理,将注册信息写入数据库用户表中,最后,还需要把数据库操作处理的结果信息反馈回去给普通用户。普通用户注册数据流图如图2-5所示:
图2-5 普通用户注册数据流图
2.4.2 会员用户登录数据流图
会员用户登录的数据流过程为会员用户通过登录页面,填写好登录的账号密码并提交,然后,系统会根据提交的账号密码跟后台数据库用户表中的用户信息进行信息校验,当校验通过后,系统会从用户表中找到用户相关资料并把资料回显给用户。会员用户登录数据流图如图2-6所示:
图2-6 会员用户登录数据流图
2.4.3 图书查询数据流图
图书查询数据流程:首先,用户需要根据自己的需求在前台页面输入图书的名称或者对应的编号;其次,系统会根据用户输入的图书名称或编号进行信息处理,从后台数据库图书表中查找所输入图书;最后,系统会将从数据库图书表中查找到的相关图书信息返回给前台页面,经由前台页面展示给用户进行查看。图书查询数据流图如图2-7所示:
图2-7 查询图书数据流图
2.4.4 订单查询数据流图
订单查询数据流程为:第一步,会员用户在前台登录页面手动输入登录的账号密码进行登录操作,然后,系统会根据用户输入的账号密码跟后台数据库用户表中的用户信息进行信息校验;第二步;当校验通过,系统会根据用户表查找到的用户信息进行信息处理,再从数据库订单表中找到对应的订单信息,最后,还需要将查找到的订单信息返回给前台页面,通过前台页面展示给用户。订单查询数据流图如图2-8所示:
图2-8 查询订单数据流图
2.4.5 添加图书数据流图
添加图书的数据流程为:首先,需要管理员准备好新图书的相关信息并登录后台管理系统,其次,需由管理员在后台图书管理模块手动输入新图书信息并提交,系统会根据图书信息进行信息处理,向后台数据库图书表中新添图书记录,最后,将向后台数据库图书表中新添图书记录的操作结果反馈给管理员。添加图书数据流图如图2-9所示:
图2-9 添加图书数据流图
2.4.6 会员用户购书数据流图
会员用户购书流程为:会员用户通过前台购物页面提交相应的图书订购信息,经由购物管理处理并将该用户的订购信息提交给系统进行信息处理,系统根据提交的订购信息生成新的订单,并通过数据库将新的订单信息写入订单表,最后,还需要将整个流程的处理结果信息及生成的订单信息反馈回前台网站,展示给用户。会员用户购书数据流图如图2-10所示:
图2-10 会员用户购书数据流图
2.5 本章小结
本章对动漫图书商城进行了系统分析,分别从技术,经济,运行,时间可行性上分析图书商城是否具备开发的潜质的,通过可行性分析得出动漫图书商城在各个方面都是可行的,之后,又对其进行了需求分析,通过功能,性能等需求分析得出项目大致可以分为用户模块,图书模块,订单模块及购物车模块,每个模块都对应着相应的功能,紧接着又对项目进行UML系统建模,在这一阶段,本章从普通用户,会员用户及管理员等几个重要的角色角度进行建模,给出了各自的功能用例图,最后,本章还给出了的普通用户注册,会员登录,图书查询,订单查询,添加图书及会员购书数据流图并加以详细说明。
3.1 系统设计
3.1.1 数据库设计
根据第二章的系统需求分析,系统需要建立一些数据库表来保存一些相关的信息,如用户表,图书表,订单表,订单详情表,出版社表以及分类表以下便是对上述一些主要数据库表及数据库ER图的设计:
1.数据库ER图
图3-1 用户购书E-R图
如图3-1所示,用户包含用户ID,用户名,密码,手机号码,加密salt值及注册时间等属性,图书包含图书ID,图书名称,图书价格,图书种类,库存,封面图片及图书描述等属性,用户可以在动漫图书商城进行购买图书操作,一个用户可以在商城一次性购买多本图书。
图3-2 用户下单E-R图
如图3-2所示,用户包含用户ID,用户名,密码,手机号码,加密salt值及注册时间等属性,订单包含订单ID,总金额,实付金额,买家评论,买家昵称,创建时间及接收人相关信息属性,用户可以在动漫图书商城进行下单,一个用户可以同时进行多个订单。
图3-3 系统全局E-R图
如图3-3所示,用户可以在动漫图书商城进行购买下单操作,一个用户可以同时进行多个订单,每一个订单可以包含一本或多本图书的购买,同样,每一款图书也可以拥有多个订单,除此之外,图书属于出版社,一个出版社对应多本图书,同样图书也属于图书分类,一个图书分类对应多本图书。
2.User(用户信息)表
该表给出了存放用户信息的数据库表结构,该表包含用户ID,用户名,密码,手机号码,密码加密的salt值,注册时间,其中主键为用户ID,用户ID及用户名唯一。表结构如表3-1所示:
表3-1 User表
列名 数据类型 可为空 注释
ID BIGINT(20) NOT NULL 用户Id
USERNAME VARCHAR(32) NOT NULL 用户名
PASSWORD VARCHAR(32) NOT NULL 密码
PHONE VARCHAR(11) NOT NULL 手机号码
CREATED DATETIME NOT NULL 注册时间
SALT VARCHAR(32) NOT NULL 密码加密的salt值
3.book(图书信息)表
该表为图书信息表,用于保存动漫图书商城所有图书的基本信息。该表包含图书编号(ID),图书名称,图书价格,图书种类,图书的库存数量,图书封面图片及图书详情描述,其中图书ID为主键且唯一。表结构如表3-2所示:
表3-2 Book表
列名 数据类型 可为空 注释
ID VARCHAR(100) NOT NULL 图书ID
NAME VARCHAR(50) NOT NULL 图书名称
PRICE DOUBLE NOT NULL 图书价格
CATEGORY VARCHAR(40) NOT NULL 图书种类
PNUM INT(11) NOT NULL 库存数量
IMGURL VARCHAR(100) NOT NULL 封面图片
DESCRIPTION VARCHAR(255) NOT NULL 图书描述
4.Orders(订单)表
该表为订单表,用于保存用户下单时的订单信息,该表包含订单编号,订单总金额,实付金额,支付类型,创建订单时间及对应的用户ID,买家昵称及买家评价还包含接收人地址,接收人名字及接收人电话等图书接收人信息,其中ID为主键且唯一,USER_ID为外键。表结构如表3-3所示:
表3-3 Orders表
列名 数据类型 可为空 注释
ID BIGINT(20) NOT NULL 订单ID
TOTALPAY BIGINT(20) NOT NULL 总金额
ACTUALPAY BIGINT(20) NOT NULL 实付金额
PAYMENTTYPE TINYINT(1) NOT NULL 支付类型
RECEIVERADDRESS VARCHAR(256) NOT NULL 接收人地址
RECEIVER VARCHAR2(32) NOT NULL 接收人名字
RECEIVERPHONE VARCHAR2(11) NOT NULL 接收人电话
BUYERNICK VARCHAR2(32) NOT NULL 买家昵称
BUYERRATE TINYINT(1) NULL 买家评价
CREATETIME DATETIME NULL 创建订单时间
5.Brand(出版社)表
该表为出版社表,用于登记动漫图书所属出版社的信息表,该表包含出版社编号,出版社名称,出版社对应的图片及出版社对应的首字母,其中出版社ID为表主键且唯一,表结构如表3-4所示:
表3-4 Brand表
列名 数据类型 可为空 注释
ID BIGINT(20) NOT NULL 出版社ID
NAME VARCHAR(32) NOT NULL 出版社名称
IMAGE VARCHAR(128) NULL 出版社图片
LETTER CHAR(1) NULL 出版社首字母
6.Category(分类)表
该表为图书分类表,是对动漫图书进行分类的信息表,该表包含分类编号,分类名称,其中分类ID为表主键且唯一,表结构如表3-5所示:
表3-5 Category表
列名 数据类型 可为空 注释
ID BIGINT(20) NOT NULL 分类ID
NAME VARCHAR(32) NOT NULL 分类名称
3.1.2 系统模块的设计
根据需求分析,动漫图书商城项目的实现主要包括用户模块、图书模块、订单模块、购物车模块等几模块的实现,本小节不在此对所有的模块的实现进行介绍,主要介绍项目中用户登录模块、用户注册模块、添加图书模块、修改图书模块、添加商品到购物车、创建订单模块的设计。
图3-4 用户登录流程图
2. 用户注册模块
用户注册是用户进行登录购物的前提,如若普通用户没有注册成为会员用户,用户是无法进行登录操作的,因此在登录之前需要注册,要想注册,用户需要打开注册页面,根据页面要求填写相应的注册信息,系统会自动校验注册信息是否合法,若检验失败则无法注册,单击注册按钮时会反馈相应的错误信息,当校验通过,单击注册按钮时,浏览器会向服务器提交用户的注册信息,服务器在接收到注册信息时,会把接收到信息进行处理,会在数据库用户表中添加一条记录,添加操作完成后会向浏览器发送操作成功的反馈信息,浏览器根据反馈信息提示用户注册成功并跳转至登录页面,让用户进行登录。
根据上面的分析,用户注册流程为:首先用户需要在注册页面填写相应的注册信息,系统会自动校验这些信息是否合法,当校验通过,单击注册,服务器会根据注册信息在数据库用户表中添加一条用户记录并根据操作结果向浏览器发送反馈信息,浏览器接收反馈信息,提示用户注册成功并自动跳转至登录页面。其具体的流程图如下图3-5所示:
图3-5 用户注册流程图
3. 图书添加模块
图书添加模块是动漫图书商城项目重要的模块之一,有了这个功能模块,商城才可以不断的更新新的图书以供用户购买,从而提高商城的销售额;因为图书添加功能需要在后台图书管理系统操作,自然需要管理员先登录后台图书管理系统,登录成功后,系统跳转至后台系统首页,管理员需要点击图书管理,再点击二级菜单中的添加图书跳转至图书添加页面,在图书添加页面,管理员需要手动输入新图书的相关信息,单击提交按钮,将图书信息提交给服务器,服务器会根据图书信息,在数据库图书表中进行添加操作并渲染到前台图书页面,这时用户访问商城就可以查找到该图书进行浏览购买了。
根据上面的分析,添加图书的流程为管理员先登录后台系统,单击图书管理下单二级菜单添加图书跳转至图书添加页面,管理员手动输入图书信息并单击提交,系统根据图书信息进行处理,添加成功后会渲染到前台页面进行展示。其具体的流程图如下图3-6所示:
图3-6 图书添加流程图
图3-7 图书修改流程图
5. 添加到购物车模块
用户要想在动漫图书商城进行购买还需要进行添加图书到购物车操作,用户在登录商城之后,可以在自己想要购买的图书详情页面单击添加到购物车按钮,系统会将该图书添加至购物车,向用户提示购物车添加成功并跳转至购物车显示页面。其具体的流程图如下图3-8所示:
图3-8 添加图书到购物车流程图
6. 订单创建模块
用户在完成购物车操作流程后,在购物车中单击购买系统会自动跳转到订单页面,用户需要在订单页面填写接收人等相关信息,填写完成后点击提交订单,系统会根据订单信息生成订单,向数据库订单表新增一条订单记录,如若操作成功,系统会提示用户订单创建成功,若生成订单操作中出现了异常或者数据错误,系统会跳转回订单页面并提示用户订单生成失败。其具体的流程图如下图3-9所示:
图3-9订单创建流程图
3.2 系统实现
根据上一节的系统模块的设计,本节给出了它们的实现。下面分别是它们实现的界面效果。
3.2.1 用户登录功能的实现
下图3-10是动漫图书商城用户登录页面,页面上包含了二个文本域用于填写用户名和密码及一个登录按钮,当用户输入登录信息并单击登录按钮后将进行登录操作;此外当用户单击“立即注册”跳转到用户注册页面。该功能的核心代码如下:
User user = this.userMapper.selectOne(record);
if (user == null) {return null;}
if(!user.getPassword().equals(CodecUtils.md5Hex(password,user.getSalt())))
{return null; }
return user;
图3-10 用户登录页面
3.2.2 用户注册功能的实现
下图3-11是动漫图书商城用户注册页面,页面上有用户名,邮箱,登录密码等用户信息填写文本域,单击完成注册按钮将进行注册操作;如果用户注册成功将返回到登录页面,否则将提示相应的错误信息。
图3-11 用户注册页面
3.2.3 购物车模块的实现
下图3-12是动漫图书商城的购物车页面,页面上罗列了用户在商城购买的图书及相应的图书信息,用户可以选择相应的图书,单击删除按钮进行删除,也可以对图书数量进行增加减少等操作,当用户需要购买结算时,单击结算按钮将进行下单操作,页面会跳转至订单填写页面。
图3-12 购物车页面
3.2.4 创建订单功能的实现
下图3-13是设动漫图书商城订单页面,用户可以在此页面填写收件人等相关信息,还可以选择付款方式及配送方式等,当用户信息填写完毕且确认无疑,单击购买按钮,系统将会自动创建新订单。该功能核心代码如下:
long orderId = idWorker.nextId();
UserInfo user = LoginInterceptor.getLoginUser();
order.setBuyerNick(user.getUsername());
order.setBuyerRate(false);
order.setCreateTime(new Date());
order.setOrderId(orderId);
order.setUserId(user.getId());
this.orderMapper.insertSelective(order);
OrderStatus orderStatus = new OrderStatus();
orderStatus.setOrderId(orderId);
orderStatus.setCreateTime(order.getCreateTime());
orderStatus.setStatus(1);
this.statusMapper.insertSelective(orderStatus);
图3-13 订单创建页面
3.2.5 添加图书功能的实现
管理员可以登录动漫图书商城后台管理系统,在添加图书页面上填写新添图书的信息,还可以在图书图片选择本地图片进行上传,当管理员填写好图书信息后,单击确定按钮,新图书信息就会提交上去,另外页面还提供返回和重置两个按钮,单击重置会重新刷新页面清空填写的信息,单击返回按钮则会返回后台系统页面。该功能核心代码如下:
spuVo.setId(null);
spuVo.setSaleable(true);
spuVo.setValid(true);
spuVo.setCreateTime(new Date());
spuVo.setLastUpdateTime(spuVo.getCreateTime());
this.spuMapper.insertSelective(spuVo);
SpuDetail spuDetail = spuVo.getSpuDetail();
spuDetail.setSpuId(spuVo.getId());
this.spuDetailMapper.insertSelective(spuDetail);
saveSkuAndStock(spuVo);
3.2.6 修改图书功能的实现
管理员可以登录动漫图书商城后台管理系统,在修改图书页面上修改图书的信息,当管理员填写好修改的图书信息后,单击确定按钮,图书的信息就会进行更新,同样页面上还有返回和重置两个按钮,单击重置会重新刷新页面清空填写的信息,单击返回按钮则会返回图书列表页面。该功能核心代码如下:
Sku osku = new Sku();
osku.setSpuId(spuVo.getId());
List skus = this.skuMapper.select(osku);
skus.forEach(nsku -> {
this.stockMapper.deleteByPrimaryKey(nsku.getId());
});
Sku tsku = new Sku();
tsku.setSpuId(spuVo.getId());
this.skuMapper.delete(tsku);
this.saveSkuAndStock(spuVo);
spuVo.setCreateTime(null);
spuVo.setLastUpdateTime(new Date());
spuVo.setSaleable(null);
spuVo.setValid(null);
this.spuMapper.updateByPrimaryKeySelective(spuVo);
this.spuDetailMapper.updateByPrimaryKeySelective(spuVo.getSpuDetail();
3.2.7 图书上下架功能的实现
管理员可以登录动漫图书商城后台管理系统,在图书列表页面上对图书的进行上下架处理,管理员需要在图书列表找到需要进行上下架处理的图书,单击上架(下架)按钮,图书的上下架状态就会变化,单击上架按钮后,按钮会自动变更为下架按钮,反之亦然。该功能核心代码如下:
Spu spu = new Spu();
spu.setId(spuId);
spu.setValid(!saleable);
spu.setSaleable(!saleable);
this.spuMapper.updateByPrimaryKeySelective(spu);
3.3 本章小结
本章介绍了从系统的总体架构、数据库的设计和系统部分模块设计与实现四个方面阐述了动漫图书商城的设计与实现。数据库的设计包括了总体的ER表,用户信息表、图书信息表、订单详情表、订单项表的设计;系统模块设计主要包括了用户登录模块、用户注册模块、添加图书模块、修改图书模块、订单模块和添加图书到购物车模块的设计;最后,文中给出了各个模块设计中相应的实现界面。
4.1 测试的意义和目的
4.1.1 测试的意义
软件测试是软件在开发之后投入使用之前所必须要做的一项工作,这是一项系统专业的工作,它需要用安全有效的方式来确保软件的质量,软件测试作为软件开发过程中不可缺少的环节,它从不同的角度看有着不同的意义,对于软件开发者而言,它是检测软件是否完全满足客户的需求的直接代表,对于一款软件而言,它的实用性非常重要,讲究实用性自然离不开客户的要求,所以,软件测试的结果直接代表软件的成功与否;而对于用户而言,他们看看重的是软件带给他们的体验,如果,软件在实际使用操作时出现各种各样的问题,这些问题将直接导致用户放弃使用这款软件,而软件测试就是在给用户使用之前去发现并解决这些问题的,它将大大提高用户使用软件时的体验,综上所述,软件测试是软件开发中不可缺少且十分重要的一环,软件测试工作的有效进行将直接决定软件开发的成败。
4.1.2 测试的目的
Grenford J Myers 曾在其代表书籍《The Art of Software Testing》中对软件测试的目的提出过以下观点:
1.测试是为了发现程序中的错误而执行程序的过程。
2.好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案。
3.成功的测试是发现了至今为止尚未发现的错误的测试。
由上述观点我们可以知道,软件测试的目的便是为了发现软件未知的错误,以查找未知的错误为中心而执行的另外一套程序,然而,这不应该是软件测试目的的全部,软件测试还可以根据错误产生的原因和错误的发生趋势进行分析,进而帮助项目管理者发现当前软件开发过程中的缺陷,以便及时改进;这种分析也能帮助测试人员设计出有针对性的测试方法,改善测试的效率和有效性;即使是没有发现错误的测试也是有价值的,完整的测试是评定软件质量的一种方法.,是软件开发设计的代表。
4.2 测试的方法
目前市场上用到的测试方法主要有三种,分别是黑盒测试,白盒测试,灰盒测试;黑盒测试,又称功能测试,该测试方法是以用户角度进行的测试,主要针对软件界面和软件功能进行测试,它适用于软件开发完成阶段或者软件某一功能模块的开发完成阶段;白盒测试,又称结构测试,透明盒测试,它与黑盒相反是需要测试人员写上测试代码,需要关注程序的具体执行流程,所以白盒测试适用于软件开发阶段对软件业务逻辑或者相关数据进行测试;灰盒测试,又称灰盒分析,是介于白盒测试和黑盒测试之间的另一种测试方法,它不同于白盒测试那样完整详细,也不同于黑盒测试那样只关注输出输入,比起黑盒,白盒,它更适用于多模块化的系统项目,但它在单模块项目就不如黑盒,白盒高效。
以上便是当前主流测试方法的介绍,本项目采用了黑盒测试及白盒测试方法,在项目功能模块完成及项目开发完成时都会采用黑盒测试方法来进行测试,在编写代码逻辑时,则会采用白盒测试方法来测试该单元的逻辑及数据的正确性。
4.3 测试用例
4.3.1 用户注册测试用例
该表对用户注册功能模块进行测试,主要通过对不输入用户名,密码,输入错误格式的手机号码,及不合法的密码和用户名等不同场景进行注册信息合法性测试,另外还对正确注册信息进行注册测试,用户注册测试如表4-1用户注册测试用例表所示:
表4-1 用户注册测试用例表
序号 功能模块 用例标题 测试步骤 期望结果 实际结果
ZC_001 用户注册 输入所有正确的信息,进行注册。 1.打开商城首页
2.点击注册按钮,进入注册页面
3.输入所有正确的注册信息,点击注册按钮 注册成功 注册成功
ZC_002 用户注册 不输入用户名 1.打开商城首页
2.点击注册按钮,进入注册页面
3.不输入用户名,点击注册按钮 注册失败,提示用户名不能为空 注册失败,提示用户名不能为空
ZC_003 用户注册 不输入密码 1.打开商城首页
2.点击注册按钮,进入注册页面
3.不输入密码,点击注册按钮 注册失败,提示密码不能为空 注册失败,提示密码不能为空
ZC_004 用户注册 输入错误的手机号码 1.打开商城首页
2.点击注册按钮,进入注册页面
3.输入错误格式的手机号码,点击注册按钮 注册失败,提示请输入正确的手机号码 注册失败,提示请输入正确的手机号码
ZC_005 用户注册 输入少于6位的密码 1.打开商城首页
2.点击注册按钮,进入注册页面
3.输入少于6位的密码,点击注册按钮 注册失败,提示密码必须大于6位小于14位 注册失败,提示密码必须大于6位小于14位
ZC_006 用户注册 输入大于14位的密码 1.打开商城首页
2.点击注册按钮,进入注册页面
3.输入大于14位的密码,点击注册按钮 注册失败,提示密码必须大于6位小于14位 注册失败,提示密码必须大于6位小于14位
ZC_007 用户注册 输入已经注册过的用户名 1.打开商城首页
2.点击注册按钮,进入注册页面
3.输入已经注册过的用户名,点击注册按钮 注册失败,提示用户名已被注册 注册失败,提示用户名已被注册
4.3.2 用户登录测试用例
该表对用户登录功能模块进行测试,主要通过对输入错误的用户名,密码及正确的登录用户名密码等场景进行用户登录测试,用户登录测试如表4-2用户登录测试用例表所示:
表4-2 用户登录测试用例表
序号 功能模块 用例标题 测试步骤 期望结果 实际结果
DL_001 用户登录 输入正确的登录信息 1.打开商城首页
2.点击登录按钮,进入登录页面
3.输入正确的登录信息,点击登录按钮 登录成功,跳转至商城首页 登录成功,跳转至商城首页
DL_002 用户登录 输入错误的用户名 1.打开商城首页
2.点击登录按钮,进入登录页面
3.输入错误的用户名,点击登录按钮 登录失败,提示用户名或密码不正确 登录失败,提示用户名或密码不正确
DL_003 用户登录 输入错误的密码 1.打开商城首页
2.点击登录按钮,进入登录页面
3.输入错误的密码,点击登录按钮 登录失败,提示用户名或密码不正确 登录失败,提示用户名或密码不正确
4.3.3 图书查找测试用例
该表对图书查找功能模块进行测试,分别对输入不存在的图书名称及正确的图书名称进行功能测试,图书查找测试如表4-3图书查找测试用例表所示:
表4-3 图书查找测试用例表
序号 功能模块 用例标题 测试步骤 期望结果 实际结果
CZ_001 查找图书 输入正确的图书名称查找图书 1.登录商城首页
2.单击搜索框,输入图书信息
3.单击查找按钮 跳转至图书列表页面,显示相关图书信息 跳转至图书列表页面,显示相关图书信息
CZ_002 查找图书 输入不存在的图书名称 1.登录商城首页
2.单击搜索框,输入图书信息
3.单击查找按钮 跳转至错误页面,提示没有相关图书 跳转至错误页面,提示没有相关图书
4.3.4 图书添加测试用例
该表对图书添加功能模块进行测试,主要通过对不填写图书名称,价格,详情,编号,不上传图书封面及输入正确的图书信息等场景进行图书添加测试,图书添加测试如表4-4图书添加测试用例表所示:
表4-4 图书添加测试用例表
序号 功能模块 用例标题 测试步骤 期望结果 实际结果
TJ_001 添加图书 输入正确的图书信息 1.登录后台管理系统
2.单击图书管理,单击二级菜单添加图书
3.填写图书相关信息,单击提交按钮 图书添加成功,数据库图书表新增记录 图书添加成功,数据库图书表新增记录
TJ_002 添加图书 不填写图书名称 1.登录后台管理系统
2.单击图书管理,单击二级菜单添加图书
3.不填图书名称,单击提交按钮 图书添加失败,提示请输入图书名称 图书添加失败,提示请输入图书名称
TJ_003 添加图书 不填写图书价格 1.登录后台管理系统
2.单击图书管理,单击二级菜单添加图书
3.不填写图书价格,单击提交按钮 图书添加失败,提示请输入图书价格 图书添加失败,提示请输入图书价格
TJ_004 添加图书 不填写图书详情 1.登录后台管理系统
2.单击图书管理,单击二级菜单添加图书
3.不填写图书详情,单击提交按钮 图书添加失败,提示请输入图书详情 图书添加失败,提示请输入图书详情
TJ_005 添加图书 不填写图书编号 1.登录后台管理系统
2.单击图书管理,单击二级菜单添加图书
3.不填写图书编号,单击提交按钮 图书添加失败,提示请输入图书编号 图书添加失败,提示请输入图书编号
TJ_006 添加图书 不上传图书封面 1.登录后台管理系统
2.单击图书管理,单击二级菜单添加图书
3.不上传图书封面,单击提交按钮 图书添加失败,提示请上传图书封面 图书添加失败,提示请上传图书封面
4.3.5 修改图书测试用例
该表对修改图书功能模块进行测试,主要通过对图书名称,编号,价格,详情及重新上传图书封面等场景进行修改图书测试,修改图书测试如表4-5修改图书测试用例表所示:
表4-5 修改图书测试用例表
序号 功能模块 用例标题 测试步骤 期望结果 实际结果
TX_001 修改图书 修改图书名称 1.登录后台管理系统
2.单击图书管理,单击二级菜单修改图书
3.修改图书名称,单击保存按钮
4.登录前台商品页面查看 图书信息修改成功 图书信息修改成功
TX_002 修改图书 修改图书编号 1.登录后台管理系统
2.单击图书管理,单击二级菜单修改图书
3.修改图书编号,单击保存按钮 图书信息修改成功 图书信息修改成功
TX_003 修改图书 修改图书价格 1.登录后台管理系统
2.单击图书管理,单击二级菜单修改图书
3.修改图书价格,单击保存按钮
4.登录前台商品页面查看 图书信息修改成功 图书信息修改成功
TX_004 修改图书 修改图书详情 1.登录后台管理系统
2.单击图书管理,单击二级菜单修改图书
3.修改图书详情,单击保存按钮
4.登录前台商品页面查看 图书信息修改成功 图书信息修改成功
TX_005 修改图书 重新上传图书封面 1.登录后台管理系统
2.单击图书管理,单击二级菜单修改图书
3.单击选择按钮,重新选择图书封面,单击保存按钮
4.登录前台商品页面查看 图书信息修改成功 图书信息修改成功
4.3.6 订单管理测试用例
该表对订单管理功能模块进行测试,主要通过查看订单列表,删除订单,修改订单状态,详情,添加订单等场景进行订单管理测试,订单管理测试如表4-2订单管理测试用例表所示:
表4-6订单管理测试用例表
序号 功能模块 用例标题 测试步骤 期望结果 实际结果
DD_001 订单管理 查看订单列表 1.登录后台管理系统
2.单击订单管理,单击二级菜单订单列表 显示所有订单 显示所有订单
DD_002 订单管理 删除订单 1.登录后台管理系统
2.单击订单管理,单击二级菜单订单列表
3.选定相应订单,单击删除按钮 重新显示订单列表时无此订单记录 重新显示订单列表时无此订单记录
DD_003 订单管理 修改订单状态 1.登录后台管理系统
2.单击订单管理,单击二级菜单订单列表
3.选定相应订单,单击修改按钮,跳转至订单修改页面
4.更改订单状态,单击提交 重新显示订单列表时订单状态已改变 重新显示订单列表时订单状态已改变
DD_004 订单管理 修改订单详情 1.登录后台管理系统
2.单击订单管理,单击二级菜单订单列表
3.选定相应订单,单击修改按钮,跳转至订单修改页面
4.更改订单详情,单击提交 重新显示订单列表时订单详情已改变 重新显示订单列表时订单详情已改变
DD_005 订单管理 添加订单 1.登录后台管理系统
2.单击订单管理,单击二级菜单添加订单
3.填写相应订单信息,单击提交 添加成功,订单列表添加新记录 添加成功,订单列表添加新记录
4.3.7 购物车管理测试用例
该表对购物车功能模块进行测试,主要通过对添加购物车,修改购物车图书数量,移除购物车图书,清空购物车等场景进行购物车管理测试,购物车管理测试如表4-7购物车管理测试用例表所示:
表4-7购物车管理测试用例表
序号 功能模块 用例标题 测试步骤 期望结果 实际结果
GW_001 购物车 添加购物车 1.登录账号
2.选中任意图书,单击添加到购物车
3.单击我的购物车进行查看 操作成功,图书添加至购物车 操作成功,图书添加至购物车
GW_002 购物车 修改购物车图书数量 1.登录账号
2.单击我的购物车
3.选中购物车任意图书,编辑图书数量
4.刷新网页进行查看 操作成功,购物车中图书数量得到修改 操作成功,购物车中图书数量得到修改
GW_003 购物车 移除购物车图书 1.登录账号
2.单击我的购物车
3.选中购物车任意图书,点击删除按钮
4.刷新网页进行查看 操作成功,查看购物车以无该图书 操作成功,查看购物车以无该图书
GW_004 购物车 清空购物车 1.登录账号
2.单击我的购物车
3.单击清空购物车按钮
4.刷新网页进行查看 操作成功,购物车已被清空 操作成功,购物车已被清空
4.4 本章小结
本章分别从测试的意义,目的及当今市场主流的测试方法对系统测试进行了介绍,除此之外还介绍了本项目所应用到的测试方法以及项目相关测试用例,测试用例则分别介绍了不同场景下用户注册,登录,图书查找,添加,修改,订单管理及购物车相关功能的测试情况及相应的测试内容。
5.1 课题总结
本项目采用的是当下流行且应用很广的SpringBoot+SpringClound+MyBatis框架搭建的分布式web项目,项目围绕动漫图书商城需求分析进行设计开发,先后实现了用户登录,注册,注销等用户模块相关功能,图书浏览,查找,添加及修改删除等图书主体功能及订单创建删除查看等订单主体功能,此外还实现了购物车、支付等业务相关功能,进而达到漫迷可以访问的并登录动漫图书商城在线选择动漫图书并为其下单支付的目的,最终实现B2C电商购物模式,让动漫图书商城成为一个可以自由交易且安全高效的购书平台。
项目从设计初期到开发完成遇到了许多的困难,在设计初期,自己对网上图书商城的了解不够,头脑中虽然能够想出大概的模型,但在分析项目的各种需求时才发现对整个动漫图书商城的模块乃至各个模块应该具备的功能十分的模糊,之后,我便开始访问各类网上图书商城通过参考他们实现的功能制定出更加精确符合的功能模块,为之后的项目开发做好铺垫,另外在对动漫图书商城进行开发时也曾遇到了许多困难,在开发过程中抛出过许多异常和错误,这些异常错误各式各样是我开发时的最大障碍,这些异常错误大都是因为自己不能熟练的掌握springboot框架技术所导致的,为了解决这些困难,我上网翻阅了许多相应的异常错误技术帖,观看了springboot开发相关教学视频,再加上通过老师及同学们的帮助才能一一解决好最终完成好动漫图书商城的开发实现。
5.2 课题展望
此次项目对动漫图书商城进行了相对全面的开发,解决很多用户需求,然而在对动漫图书商城项目的开发还有很大的提升空间,在功能方面还有许多的功能可以实现,例如,用户模块还可以添加会员等级功能,根据用户购书活跃程度给予用户购书不同的优惠,这样可以让用户购买更多的动漫图书从而提高图书商城的销售额,可以在图书模块添加排行榜功能以及置办各种图书活动从而丰富图书商城,使用户体验到更好的购书服务,另外,在模块上也可以更加丰富,例如,可以往动漫图书商城添加评论模块,如果图书商城添加了评论模块,一来可以给用户一个评论图书好坏的平台,再者会帮助商城获取到更多的用户需求,从而让商城可以根据需求扩展出各种各样的业务提升商城图书销售额,此外动漫图书商城还有许多其他可以优化的地方,像是数据库中表的结构,开发代码等等都可以让动漫图书商城更加完善。
[1]向昌成.Java程序设计项目化教程.[M] 清华大学大学出版社,2013
[2]陈强.精通Java开发技术.[M] 清华大学出版社,2014
[3]张剑飞.Java EE开发技术…[M] 哈尔滨工业大学出版社,2013
[4]王映龙.Java EE实用教程. .[M]清华大学出版社,2011
[5]汪云飞.JavaEE开发的颠覆者Spring Boot.[M].电子工业出版社,2016
[6]黑马程序员.Spring Boot企业级开发教程.[M].人民邮电出版社,2019
[7]王雨竹.MySQL入门经典.机械工业出版社.[M],2013
[8][美]Rogers Cadenhead. Java编程入门经典.梅兴文译.[M].人民邮电出版社,2007
[9][美]Herbert Schidt.Java参考大全.鄢爱兰.鹿江春译.[M].清华大学出版社,2006
[10][美]Bruce Eckel. Thinking In Java.陈吴鹏译.[M].机械工业出版社,2007
[11][美]Joshua Bloch.Effective Java.俞黎敏译.[M].机械工业出版社,2018
[12][美]Sierra,k[美]Bates,B.Head First Java.O’Reilly TaiWan公司译.张然等改编.[M].中国电力出版社,2018
[13][美]Brian Goetz[美]Tim Pelerls.Java并发编程实战.童云兰译.[M].机械工业出版社,2012
[14]凌方.基于Java的图书管理系统的设计与实现[J]. 计算机光盘软件与应用,2014.2
[15]魏玲.基于Java的旅游网站设计与实现.[J].山西电子技术,2016.2
[16]田家旗.Java开发语言的开发平台与J2EE编程技术问题研究.[J].信息技术与信息化,2016.2
在历经几个月的项目设计及开发过程中,从课题选题到项目的设计开发,都遇到了巨大的困难与烦恼,但是在指导老师和同学们不厌其烦的帮助下,我顺利的完成了项目的设计开发,在此我对刘老师以及同学们表示真诚的感谢!
本次项目的设计开发参考了多位学者的研究成果并做了适当地引用,感谢各位学者,为我的项目设计提供了一定的学术研究基础与启发,帮助我解决好项目开发中的难题,让我对这方面的项目研究开发有了较为深入地了解。以此同时,我要感谢刘老师能为我耐心解答项目设计开发中所遇到的疑惑,给予我悉心的指导,感谢同学们对于项目设计排版格式等问题给予我热心的帮助。
最后,我衷心地感谢所有在这次项目设计过程中帮助过我的良师益友,请接受我诚挚的谢意。同时,由于我的专业水平有限,项目的开发设计难免有不足之处,恳请各位老师和学友批评和指正!