【《基于Java的宠物用品在线商城的设计与实现》13000字(论文)】_第1页
【《基于Java的宠物用品在线商城的设计与实现》13000字(论文)】_第2页
【《基于Java的宠物用品在线商城的设计与实现》13000字(论文)】_第3页
【《基于Java的宠物用品在线商城的设计与实现》13000字(论文)】_第4页
【《基于Java的宠物用品在线商城的设计与实现》13000字(论文)】_第5页
已阅读5页,还剩31页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于Java的宠物用品在线商城的设计与实现摘要近些年来,电子商务呈现出一幅欣欣向荣的前景,随着社会的飞速发展,人们物质生活越来越好,就更要追求精神生活丰富,其中宠物陪伴成为了不二之选,随之宠物用品的需求大大增多。一方面为了巩固所学的知识,另一方面由于现实需要,遂开发一款基于PC端的宠物用品在线商城,该项目更全面的展示了学到的技术,本项目基于Java语言、SSM框架、Mysql数据库进行开发,该项目主要分为网站和后台管理,客户可以在网站进行浏览宠物用品,只有注册登录以后才可以进行假如购物车进行下单的操作,而后台的管理员登录以后进入到后台系统,对用户可以进行管理、宠物商品分类管理、宠物商品订单管理、修改密码、登录和退出等一系列操作,该项目涉及到的技术是比较多的,也是非常全面的,对巩固自身知识和提高开发能力有着重要的意义。关键词:宠物用品;在线商城;电商;Java;MySql目录204771绪论 1303741.1研究背景和意义 177371.2研究现状 1253521.3论文结构 1305841.4本章小结 244202相关知识 3326362.1主要技术 3325542.1.1Java语言 3270192.1.2SSM框架 3217222.1.3JSP技术 380712.1.4BootStrap框架 3137972.2开发工具 3315022.2.1Eclipse介绍 342142.2.2Navicat介绍 3267512.3开发环境 47222.4本章小结 4192033系统分析 5290933.1需求分析 5292023.2可行性分析 5322533.3系统角色用例分析 5133363.4系统类图设计 8163563.5本章小结 979584系统设计 1048514.1系统活动图设计 10305804.1.1前台执行用户活动图 10277354.1.2后台执行管理员活动图 11159804.2系统时序图 11118044.3数据库设计 1311994.3.1数据库概念模型设计 13188784.3.2数据库物理表结构设计 16130994.4本章小结 18215795系统实现 198025.1前台部分 191645.1.1网站首页 19266185.1.2商品详情 20226765.1.3用户注册 20985.1.4用户登录 2150815.1.5我的购物车 2245425.1.6确认订单信息 2393105.1.7我的订单 24266315.1.8个人中心 2523395.2后台部分 2613985.2.1管理员登录 26178485.2.2类目管理 27104185.2.3宠物商品管理 2826095.2.4客户管理 2995705.2.5订单管理 30143215.2.6修改密码 30108305.3本章小结 3145606系统测试 32106036.1软件测试的目的 3267546.2软件测试方法 32311256.2.1白盒测试 32310746.2.2黑盒测试 32181116.3测试用例 32188316.3.1前台测试用例 32196706.3.2后台测试用例 32313716.4测试总结 33166997结论 3316699参考文献 341绪论1.1研究背景和意义21世纪,是互联网的时[1]代,互联网电商的出现,人们的思想和生活方式相继受到一定程度的影响,发生了一定变化;在过去,生活水平低下,人们纠结吃饱穿暖,现在生活水平提高了,人们学会通过各种兴趣爱好来丰富自己的生活方式,几千年以来,人类都有着饲养动物的历史,在许久以前,人们饲养动物主要是为了用来当作食物来源;而如今人们饲养动物,大部分是为了个人的兴趣爱好,丰富自己的身心健康;据研究发现,人都会产生孤独感,尤其是上了年纪的人,宠物的陪伴有益于主人的心理健康,因此也不再感到孤独,养了宠物之后,生活也会充满了许多乐趣,人与宠物和谐相处,产生了很多令人感动的友情,人们对宠物也越来越重视,尤其是它们的生活方式,这点是人们普遍注重的,对它们的饮食情况、卫生情况、健康情况、身心健康等多种情况变得更为在意,尤其是对于宠物的日常用品非常感兴趣,有需求就有市场,在这样的背景下,善于发[2]现的人们在这里面找到了商机,国内越来越多人致力于宠物用品的研发和销售,从中找到了自己生意之路。据了解,宠物用品中衣物和狗粮是人们关注的重点,比如宠物穿了衣服之后可以保持长时间的清洁,这样避免了一定的细菌和病毒传播到人们的身上,对主人不仅仅是安全的,而且也减轻了非常多的负担,而且宠物穿了衣服之后不仅起[3]到较好的装饰作用,而且还能够用于宠物自身的保暖,宠物因此看起来更加的或活泼可爱;对于人和宠物来说,高品质的产品,能够丰富宠物和人之间[4]的关系,宠物用品是宠物必不缺少的生活中的一部分,宠物用品采用友好[5]的设计和制造方[6]式无疑于更容易受到欢迎,优秀的宠物用品,都代表着非常不错的想法,能够为消费者带来更多的选择。近些年来,国内互联网技术发展迅速,伴随着计算机的普及,人们更倾向于通过互联网来进行购物,而不是去实体店里购买,一个重要的原因就是互联网购物的宠物用品品种要多于实体店里,而且物美价廉。相对于实体店,房租高昂,宠物用品选择有限,而且价格相对比较高,随着社会的发展,实体店面临着倒闭的风险,而网店的发展趋势越来越好,宠物用[7]品可以通过互联网更好的进行销售,面向全国的消费者,因此在这样的背景下,需要开发一款基于Web的PC端宠物用品在线商城。1.2研究现状国内的电商互联网起步于世纪初,那个时候计算机并不是很普及,有一批有远见的人看到了计算机带来的前景,以及未来发展的趋势,将会颠覆传统[8]的购物方式,以前人们趋向于在商店购买,也就实体店购买各类生活用品,近些年来,互联网电商的出现击垮了许多传统实体店行业,各类生活用品的价格变得公开透明,通过电商平台人们可以购买各类生活用品以及其他物品,有些电商趋向于某一类,有些电商平台则包含所有的市面上能见到的商品,但目前没有发现太多有专一模块的电商平台,近些年来,电商平台逐渐走向于专一化,由于电商平台的海涵性、广阔性,有些电商平台出售的商品数以百万计,数量和范围是非常庞大的,而未来涌现更多电商平台则是专一化、模块化的,也就是在某一个领域发展、只做该领域相关的产品或者商品,让该领域的产品更加精细、精益求精做的更好,能够满足各类消费者的需求,比如宠物用品在线购物商场就是一个非常好的例子,宠物用品在线商城致力于发展销售宠物相关领域的生[9]活用品或其他物品,涵盖的范围也只和宠物相关联,这样可以发挥模块化的优势,使得该领域的宠物用品更加精细、更加丰富、品种也更加多样化,给予了消费者更大的选择性,可以说是只有想不到的东西,没有做不到的东西。1.3论文结构本文总共分为七个章节。绪论。本章节主要描述了宠物生活产品网上购物网站的研究方向、背景和意义。,以及电商平台未来发展的趋势,以及给人们生活上带来了影响。相关知识。本章主要介绍了本商城系统采用了什么主流技术,其中包括有:SSM框架、JSP技术、BootStrap技术等其他主流技术;同时也提到了这个系统开发所需要的开发工具,此外对本系统进行了需求分析。系统分析。本章主要介绍了本商城系统中分为前台和后台,其中参与人员为用户和管理员,用户可以进行注册、登录、购买等等一系列的操作,管理员可以进行对商品、订单、人员和类目等等项目进行管理。系统设计。本章节根据开发人员通过需求分析设计出合理的数据库和表,从而为程序的开发做好铺垫,这是程序开发过程中最为关键的一个步[10]骤,数据库的设计间接决定了程序开发的效率、进度、以及质量等多种问题。详细设计。本章主要介绍了宠物在线商城的各模块的详细设计和实现的具体细节,通过截图和代码向大家展示更具体的细节。系统测试。本章节主要介绍软件测试的过程,程序开发以后是需要测试的,只有通过测试在知道问题在那里,软件的质量是否有保证等许多的问题。结论。对此次研究课题进行归纳总结,同时对即将到来的发展前景进行规划和未来可能发生一切最好准备。1.4本章小结本章主要介绍本系统研究的意义和关于电商宠物用品的发展前景,还有论文的整体机构。2相关知识2.1主要技术2.1.1Java语言Java语言是一门面向对象的语言,不仅拥有了c++大部分的优点,还没有c++那么难理解,所以Java语言是有着编程功能十分强劲和简单方便这两个主要特征,而受到广大编程人员的喜爱,同时Java语言是分布功能、安全性、移植好、性能高、动态多样性等等强大的优势,所以选择作为本系统的主要语言。2.1.2SSM框架宠物用品在线商城采用了SSM框架,全名是Spring+SpringMVC+Mybatis,简称SSM,是目前许多企业和个人开发的首选框架,近些年来,涌现了许多更先进的框架技术,比如SpringBoot框架,但实际上还是基于SSM框架的,SSM仍然火热,很多中小型企业、高校、个人都仍然使用这类框架技术,主要是其性能相对其他框架来说更为优异,它的[8]出现代替了以前的老框架SSH,其中Mybatis是都对象映射框架,开发人员可以动态的编写SQL语句,自己可以根据需求写对应的SQL语句,从而完成自己想要开发的功能模块,这是开发程序的基础。2.1.3JSP技术JSP的全程叫做JavaServerPages,是一种可以响应客户端请求,能够动态生成比如HTML、XML、或者其他的相关格式文档的Web网页技术,JSP里面可以镶嵌Java代码,也可以写HTML、CSS等代码,其后缀名为.jsp,JSP是建立在Servlet的之上的,本质上JSP还是Servlet的简化版;当客户端发出请求JSP容器,JSP容器将JSP文件转化为相应的Java源文件,也就是编译成字节码文件.class,实际上也就是一个Servlet,执行一个Servlet的实例,最终响应给客户端,完成整个流程。2.1.4BootStrap框架BootStrap是一种前端框架,它并不是什么新的语言,它的核心其实还是HTML和CSS组成的一些样式,或者模板,一些开发人员用底层的语言写成一个个组件,其他的不擅长样式的开发人员只需要会调用这些组件就可以了,通过class或者id属性对样式进行引用,使得在即在开发的过程,也能够开发出漂亮的程序,不至于自己开发的程序过于丑陋,影响客户的使用和用户的体验,从而导致降低用户的使用感,程序和软件的基础在于用户的使用,由于BootStrap框架优雅、简洁、美观、大方,使用方便,因此BootStrap成为了市场上主流的前端框架,也是使用人数最多、最为广泛的前端框架。2.2开发工具2.2.1Eclipse介绍Eclipse是IBM公司开发的一款基于Java开发的IDE开发平台,后来被甲骨文Oracle公司收购,因为它是开源的,收到了很多企业和高校、学生使用,Eclipse目前是最为流行的开发工具,很多人选择使用它的主要原因就是因为它是开源免费的,不需要破解和收费,直接下载就可以使用了,而且使用起来操作简单、流畅、快捷、高效率,界面骨架也十分优秀清晰,尤其是在Tomcat配置这一块做的十分出色,使我们运行JavaEE程序配置Tomcat运行更加简单方便,而且Eclipse占用的内存空间等等都要小得多。2.2.2Navicat介绍Navicat是一种数据库的操作界面,它可以当作数据库的图形界面,可以通过操作界面来进行数据的增删改查操作,不需要写过多的SQL语句[10]来创建需要的数据库和数据库表,用起来十分方便,本次程序的开发使用的Mysql数据库,而图形界面采用的并非自带的Workbench,而是使用Navicat这个开发工具,它的可视化界面是中文的,看起来十分简洁,使用起来非常方便,而且Mysql导出SQL文件十分便捷。2.3开发环境开发宠物用品在线商城需要一定的物理环境,最好内存4G以上、系统盘40G,Java开发环境的搭建需要一定的硬件来支持的,如果硬件环境不够达标,开发过程重可能出现开发工具没有足够空间安装的情况,而Java开发环境是开发程序必备的准备,如果环境没有搭建好,就没有一个开发的铺垫,所以安装好Java的开发环境是必不可少,而主要是Jdk1.8的安装、Tomcat9.0的安装、Mysql5.7的安装,Eclipse的安装以及Navicat的安装[11],这些都是Java开发过程重必不可少的,如果选择合适软件,程序的运行也会更加的稳定可靠,将会对开发起到事半功倍的作用,由此可见开发环境的重要性,因此在做开发的前提,一定要把开发环境搭建好再继续进行下一步。2.4本章小结本章主要介绍系统所使用的语言功能、系统开发工具、系统开发环境以及数据库的开发工具。3系统分析3.1需求分析宠物用户在线商城分为网站和后台,或者也可以把网站称为前台,前台主要是对用户展现商品信息,用户可以通过前台浏览各类宠物用品,但如果想要加入购物车或者购买操作是需要登陆的,而后台主要是管理员登录后进行发布产品的,可以发布宠物商品、添加分类、以及对用户订单进行一系列的管理,具体详细模块如下:前台:主要展现给客户使用的,前台网站主要有商品分类、热门推荐、性价比、登录、注册、购物车、个人中心等模块。后台:管理员或者商家进入到后台以后,主要可以对一些模块进行管理也就是增删改查的权限,其中有客户管理、商品管理、类目管理、订单管理、修改密码、退出等功能模块。3.2可行性分析程序的开发过程是需要研究和分析的,而多半是从三个要素方面来考虑的,主要是社会可行性、经济可行性、技术可行性来进行综合分析的,只有满足这三点,程序开发的过程才可能是顺利的。社会可行性指的是程序是否在这个社会大背景下,是否允许符合国家的法律、法规,同时是否构成一些侵权或者损害他人利益、或者造成一些违法、违规的行为,以及一些不符合道德的行为进行开发,这些都是要考虑的。经济可行性是满足第一条社会可行性之后,能够确保程序合理、符合国家法律,在这样的前提下,有一定的经济实力进行开发一些应用程序,而开发的也是要控制成本的,比如可以采用一些开源的软件进行开发,这样也降低了开发的成本。技术可行性在满足社会可行性、经济可行性的最后一个要求,如果没有足够的实力和技术,程序的开发将会非常艰难,可能会引起一些其他的问题甚至利益纠纷。3.3系统角色用例分析本系统经过需求分析以后,分为网站和后台,网站主要是展现给客户使用的,客户可以在网站浏览宠物用品,如果想要进行购买宠物用品则需要进行先注册、再登录、然后加入到购物车,进行提交订单,下单的操作,完成一个购买的流程;后台主要面向的是管理员或者说商家,商家可以在里面添加宠物用品的类目,以及宠物用品的信息,还有客户信息,订单信息、修改密码等增删改查的操作。用户角色方面对应的功能有注册和登录、个人中心、购物车、我的订单、退出等模块,用户模块用例图如下图3-1所示:图3-1用户用例图如上图3-1中所示,个人中心还可以修改个人信息,购物车中可以对商品的数量进行变更和提交订单选择支付方式,还可以在我的订单中查看自己的订单情况等,用户用例规约表如下表2-1所示:表3-1用户功能用例规约表用例名称用户登录系统模块用例说明针对普通用户的注册登录、浏览商品、查看商品、加入购物车、支付订单、查看订单、查看个人中心等功能模块说明参与者普通用户前置条件用普通用户账号登录到系统后置条件用户信息写入数据库,订单数据上传后台基本路径用户通过注册界面注册用户通过登录界面登录网站用户直接浏览商品用户单击查看商品详情用户单击加入购物车用户选择商品以及商品数量用户选择支付方式支付订单用户查看用户的订单备用路径用户查看个人中心,修改个人信息异常条件一般用户执行登录时用户名不存在,要求先行注册付款功能时缺少必填项,给予提示管理员角色方面对应的功能有登录模块、客户管理模块、宠物用品管理模块、类目管理模块、以及订单管理模块和修改密码模块等,管理员模块的用例图如下图3-2所示:图3-2管理员用例图如上图3-2中所示,其中客户管理可以修改客户信息和重置密码,在宠物用品管理中可以把商品改为热销、推荐产品,也可以修改和删除商品。类目管理可以修改和删除商品类目,以及对订单的内容进行修改和删除等等,管理员功能用例规约表如表3-2所示:表3-2管理员功能用例规约表用例名称管理员登录系统模块用例说明针对管理员用户的登录、客户管理、商品管理、类目管理、订单管理、修改密码等功能模块说明参与者系统管理员前置条件用管理员账号登录到系统后置条件商品内容、订单信息、客户信息发生改变基本路径管理员通过后台登录界面登录网站。管理员对已注册的用户进行增删改查操作。管理员修改商品信息,对一些商品进行加入条幅、热销和性价比等操作。管理员对商品类目进行增删改查。管理员查看订单,对订单进行确认和删除。管理员可以自主修改管理员密码备用路径无异常条件管理员在添加和修改的特定信息时,缺少关键信息,系统会提示缺少必填项3.4系统类图设计系统主要类图是显示了数据模型的静态结构,尤其是是模型中存在的类、类的内部构成结构以及它们与其他类的关系等。包括类的属性和类对应的一些方法等,以下是宠物产品在线购物网站的系统主要类图,类图也可用于数据建模,如下图3-3所示。图3-3系统主要类图3.5本章小结本章通过对系统项目总体进行了需求分析、可行性分析、系统类图的描述、系统角色分析和与其相关的用例规约规划,为下一步的系统设计奠定了基础。4系统设计4.1系统活动图设计4.1.1前台执行用户活动图宠物用品在线商城前台的主要活动是用户进入到登录界面,输入用户账号和用户密码,如果用户账号和用户密码正确则进入该系统,反之如果用户名不存在或者[11]用户名和密码需要重新注册,只有注册和登录以后才可进入到商城的个人中心,进行把宠物用品添加至购物车,进行购买的操作,提交订单以后可以在我的订单里进行查看,具体整个前台网站的系统用户活动图如下图4-1所示:图4-1用户活动图4.1.2后台执行管理员活动图宠物用品在线商城后台的主要执行流程是管理员输入账号和密码进行登录到后台系统,在后台可以完成商品的上下架,客户管理、订单管理、修改密码等一些复杂的操作,具体的后台的管理员活动图,如下图4-2所示:图4-2系统管理员活动图4.2系统时序图宠物用品在线商城后时序图也叫做又名序列图、循序图,它是一种UML的\t"/item/%E6%97%B6%E5%BA%8F%E5%9B%BE/_blank"交互图。能够通过描述对象之间发送消息的时间顺序显示多个不同对象之间的动态协作。它也能表示一些\t"/item/%E6%97%B6%E5%BA%8F%E5%9B%BE/_blank"用例的行为顺序,当执行某一个用例的行为时,其中的每条消息对应一个类的操作或\t"/item/%E6%97%B6%E5%BA%8F%E5%9B%BE/_blank"状态机中所引起转换的触发事件。以下宠物用品在线商城的时序图,如下图所示。用户时序图,用户发出注册登录的请求后,后台返回登录成功的信息,用户登录网站浏览宠物用品并进行购买宠物用品,随后生成订单,如图4-3所示。图4-3用户-时序图管理员时序图,管理员发出登录的请求后,后台返回登录成功的信息,管理员对用户、类目信息、宠物用品信、订单进行管理,如图4-4所示。图4-4管理员-时序图4.3数据库设计宠物用品在线购物商城采用的是Mysql数据库,因为主要的原因Mysql是开源免费的,开发成本相对来说要低得多;而数据库作为程序开发的基础,也是整个软件开发的过程中最为重要的一个环节,良好的数据库设计决定了程序开发的质量的好坏,如果没有一个良好的数据库设计,那么无疑是一个非常糟糕的问题,后续在开发的过程中将会出现更多开发中的问题,数据库包含了多张数据库表,数据库表之间也有着紧密的联系,而我们在开发的过程中,如何处理这种关系,也是非常重要的,因为在数据库设计中,数据最重要的一个特征就是展现数据,也就是说数据的查询时数据库重最为重要也是最为繁琐的一个步骤,因此数据库表之间尤其是多表查询出来的数据整合在一起也是一个很关键性的问题,对于一些复杂的数据可以通过分表来减少数据表字段的重复性问题[12],提升数据库的查询和检索速度。4.3.1数据库概念模型设计数据库的概念模型实际上是一种现实世界抽象到信息世界的一种表现,确定了实体、属性、关系这三个要素,数据概念模型可以转化未数据模型,通常数据库的概念模型用E-R图来表示,用来描述现实世界中的这种数据库概念[12]模型,它是表现概念关系模型的一种表达方式,通常使用矩形来表示实体类、而用椭圆来描述实体的属性,此外采用实心的实线来表达联系,用实心线段把关系和实体型连接起来,便于映射到逻辑模型上面,以下主要展示的数据库实体图的概念模型。用户表的实体图概念模型如图4-5所示:图4-5用户信息实体图管理员信息表的实体图概念模型如图4-6所示:图4-6管理员信息实体图类目信息表的实体图概念模型如图4-7所示:图4-7类目信息实体图宠物商品信息表的实体图概念模型如图4-8所示:图4-8商品信息实体图订单信息表的实体图概念模型如图4-9所示:图4-9订单信息实体图清单信息表的实体图概念模型如图4-10所示:图4-10清单信息实体图清单信息表的实体图概念模型如图4-11所示:图4-11清单信息实体图4.3.2数据库物理表结构设计数据库的物理表结构是对真实数据的一种描述,比如物理表的结构对象为表、视图、字段、数据类型、主外键索引和约束,并且默认为null等详细的物理设计,如下所示的是宠物用品在线商城的各个数据库表的表结构如下所示:用户表users的物理表结构主要由以下字段组成:主键、用户名、密码、昵称、手机号、住址等字段组成,具体表信息如表4-1用户信息表-users所示:表4-1用户信息表-users字段字段名数据类型字段长度是否为空字段说明1idint11主键主键2usernamevarchar45非空用户名3passwordvarchar45非空密码4namevarchar45非空昵称5phonevarchar45非空手机号码6addressvarchar45非空住址管理员信息表admin的物理表结构主要包含以下字段:主键、管理员账号、管理员密码等组成,具体表信息如表4-2管理员信息表-admin所示:表4-2管理员信息表-admin字段字段名数据类型字段长度是否为空字段说明1idint11主键主键2usernamevarchar45非空管理员账号3passwordvarchar45非空管理员密码类目信息表type的物理表结构主要包含主键、类目名称,具体类目表的信息如表4-3类目信息表-type示:表4-3类目信息表-type字段字段名数据类型字段长度是否为空字段说明1idint11主键主键2namevarchar45非空类目名称商品信息表goods物理表结构主要包含以下字段:主键、宠物用品名称、商品封面、详情图1、详情图2、价格、介绍、库存、类目外键等,具体表信息如表4-4商品信息-goods所示:表4-4商品信息-goods字段字段名数据类型字段长度是否为空字段说明1idint11主键主键2namevarchar45非空宠物用品名称3covervarchar45非空商品封面4image1varchar45非空详情图15image2varchar45非空详情图26pricedouble10非空价格7introvarchar45非空介绍8stockint11非空库存9type_idint11非空类目外键订单信息表orders物理表结构主要包含以下字段:主键、商品总价、商品数量、商品状态、支付类型、收货人、手机号、收货地址、下单时间等,具体表信息如表4-5订单信息-orders所示:表4-5订单信息-orders字段字段名数据类型字段长度是否为空字段说明1idint11主键主键2totalvarchar45非空商品总价3amountint10非空商品数量4statuschar8非空商品状态5paytypevarchar45非空支付类型6namevarchar10非空收货人7phonevarchar45非空手机号8addressvarchar45非空收货地址9systemtimestamp45非空下单时间清单信息表items物理表结构主要包含以下字段:主键、清单价格、清单数量、订单外键、商品外键等,具体表信息如表4-6清单信息-items所示:表4-6清单信息-items字段字段名数据类型字段长度是否为空字段说明1idint11主键主键2pricedouble10非空清单价格3amountint10非空清单数量4order_idint11非空订单外键5good_idint11非空商品外键置顶表top物理表结构主要包含以下字段:主键、商品所属类目、商品外键等,具体表信息如表表4-7置顶信息-top所示:表4-7置顶信息-top字段字段名数据类型字段长度是否为空字段说明1idint11主键主键2typeint10非空商品类型5good_idint11非空商品外键4.4本章小结本章主要是介绍系统前端(前台)和后端(后台)的系统架构设计,以及关于网站数据库的内容设计,本系统相关的流程图和时序图,以及为后面的实现提供了帮助。

5系统实现系统实现是指的程序开发过程中具体的模块,在这个部分,会选择重要的模块进行详细设计以及说明整个模块的具体实现过程,在这个模块将会展示宠物用品在线商城[14]的一些重要模块的效果图,以及代码的展示。5.1前台部分5.1.1网站首页网站的首页是对外公开用来展示商品信息的部分,通过首页可以对外展示需要销售的商品信息,是宠物用品在线商城的门户网站,也是主要面向客户使用的,是网站的核心部分,具体的效果图如图5-1-1所示。图5-1-1网站首页本页面的关键代码如下所示:@RequestMapping("/indexAction")publicStringShouye(HttpServletRequestreq){ req.setAttribute("flag",1); req.setAttribute("tList",ts.getList()); req.setAttribute("tList1",ts.getList(Tops.TYPE_SCROLL,1,1)); req.setAttribute("tList2",ts.getList(Tops.TYPE_LARGE,1,7)); req.setAttribute("tLst3",ts.getList(Tops.TYPE_SMALL,1,8)); return"/index/index.jsp"; }5.1.2商品详情网站宠物用品的详细信息是用户在宠物用品网站处进行单击之后展示的信息,在这里可以看到宠物用品商品的详细信息,有分类、介绍、库存、价格等详细信息,如果觉得不错的可以添加至购物车,具体的效果图如图5-1-2所示:图5-1-2商品详情本页面的关键代码如下所示:@RequestMapping("/detailAction") publicStringxq(intgid,HttpServletRequestrequest){ request.setAttribute("good",gs.get(goodid)); request.setAttribute("tList",ts.getList()); return"/index/goods.jsp";5.1.3用户注册用户注册以后才可以做更多的操作,如果没有登陆,则只有浏览商品的权限,不能添加到购物车进行购买等操作,用户注册主要是用户名、用户密码、收货人、收货电话、收货地址等,录入信息后进行提交,具体的效果图如图5-1-3所示:图5-1-3用户注册本页面的关键代码如下所示:@RequestMapping("/registeAtction") publicStringzhuce(@RequestParam(required=false,defaultValue="0")intflag,Usersrecord,Modelm){ m.addAttribute("tList",ts.getList()); if(flag==1){ m.addAttribute("flag",5); return"/index/registe.jsp"; } if(user.getUsername().isEmpty()){ m.addAttribute("msg","用户名不允许为空!"); return"/index/registe.jsp"; }elseif(us.isexist(user.getUsername())){ m.addAttribute("msg","用户名已经存在!"); return"/index/registe.jsp"; }else{ Stringpassword=record.getPassword(); Us.add(user); record.setPassword(password); return"redirect:login?flag=1"; } }5.1.4用户登录用户进行过注册以后才能登录,否则无法进行更多的操作[15],用户登录需要输入用户名和密码,输入的用户名和密码正确后才可以登陆成功,具体的效果图如图5-1-4所示:图5-1-4用户登录本页面的关键代码如下所示:@RequestMapping("/loginAction") publicStringLogin(@RequestParam(required=false,defaultValue="0")intflag,Usersrecord,HttpSessionsession,Modelm){ m.addAttribute("tList",ts.getList()); if(flag==1){ flag=6;//登录页面 return"/index/login.jsp"; } if(us.checkTheUser(user.getUsername(),user.getPassword())){ session.setAttribute("user",us.get(user.getUsername())); return"redirect:index"; }else{ model.addAttribute("msg","用户名或者密码出现错误!"); return"/index/login.jsp"; } }5.1.5我的购物车用户登陆以后,可以把喜欢宠物用品添加至购物车,会自动结算,确认无误后可以提交订单,具体如图5-1-5所示:图5-1-5我的购物车本页面的关键代码如下所示:@RequestMapping("/cartAction") publicStringcarList(Modelm){ m.addAttribute("tList",ts.getList()); return"/index/cart.jsp"; }5.1.6确认订单信息用户把心仪的宠物用品添加至购物车之后,提交订单,点击提交订单之后会弹出确认信息栏,在这里进行核对用户的信息,如果无误则提交订单,具体效果图如图5-1-6所示:图5-1-6我的购物车本页面的关键代码如下所示:@RequestMapping("/topayList") publicStringzhifu(intorderid,ServletRequestreq,Modelm){ m.addAttribute("tList",ts.getList()); req.setAttribute("order",os.get(orderid)); return"/index/pay.jsp"; }5.1.7我的订单当用户把购物车里提交订单支付以后,会自动生成对应的订单信息,具体如效果图5-1-7所示:图5-1-7我的订单本页面的关键代码如下所示:@RequestMapping("/orderAction") publicStringmyOrder(HttpSessionsession,Modelm){ m.addAttribute("flag",3); m.addAttribute("tList",tS.getList()); Usersrecord=(Users)session.getAttribute("user"); if(record==null){ m.addAttribute("msg","请登录后查看这个订单!"); return"/index/login.jsp"; } List<Orders>ol=orderService.getListByUserid(user.getId()); if(ol!=null&&!ol.isEmpty()){ for(Ordersorder:ol){ order.setItemList(os.getItemList(order.getId())); } } model.addAttribute("oL",oL); return"/index/order.jsp"; } 5.1.8个人中心在用户成功登录之后,可以看到用户的个人中心,可以修改用户自己的信息、修改用户自己的密码等操作,具体如效果图5-1-8所示:图5-1-8个人中心本页面的关键代码如下所示: @RequestMapping("/grzxAction") publicStringgrzx(Usersrecord,HttpSessionsession,Modelm){ m.addAttribute("flag",4); m.addAttribute("tList",ts.getList()); Userslogin=(Users)session.getAttribute("user"); if(login==null){ m.addAttribute("msg","请先登录!"); return"/index/login.jsp"; } //进入个人中心 if(Objects.isNull(user)||Objects.isNull(user.getId())){ return"/index/mycenter.jsp"; }}5.2后台部分5.2.1管理员登录管理员通过登录后台来进行发布商品信息,包括对其他模块的所有详细操作,具体如效果图5-2-1所示:图5-2-1管理员登录本页面的关键代码如下所示:@RequestMapping("/loginAction") publicStringadminLogin(Adminsadmin,HttpServletRequestreq,HttpSessionsession){ if(as.checkAdmin(admin.getUsername(),admin.getPassword())){ session.setAttribute("username",admin.getUsername()); return"redirect:index"; } req.setAttribute("msg","用户名或密码错误!"); return"/admin/login.jsp"; }5.2.2类目管理管理员成功登录以后,可以对类目进行增删改查的操作,类目也叫做商品的分类,每一个宠物用品都会所属一个类目,具体如效果图4-2-2所示:图4-2-2类目管理本页面的关键代码如下所示: @RequestMapping("/typeListAction") publicStringtList(HttpServletRequestreq){ eq.setAttribute("flag",4); req.setAttribute("tList",ts.getList()); return"/admin/type_list.jsp"; }5.2.3宠物商品管理管理员成功进入后台中,可以对宠物用品商品信息进行管理,添加用品商品,修改用品商品,这里除了上传文字描述以外,还可以上传图片等操作,有分页的效果,具体的效果图如图5-2-3所示:图4-2-3商品信息本页面的关键代码如下所示:@RequestMapping("/goodListAction") publicStringgoodListInfo(@RequestParam(required=false,defaultValue="0")bytestatus,HttpServletRequestreq, @RequestParam(required=false,defaultValue="1")intpage){ req.setAttribute("flag",3); req.setAttribute("page",page); req.setAttribute("status",status); req.setAttribute("gL",gs.getList(status,page,rows)); req.setAttribute("pageTool",PageUtil.getPageTool(request,gs.getTotal(status),page,rows)); return"/admin/good_list.jsp"; }5.2.4客户管理管理人员进入到网页后台后,对用户各种信息可以进行进一步管理,管理人员可以添、修、删等等操作,也可以模糊查询客户信息。具体的效果图如图5-2-4所示:图4-2-4客户信息本页面的关键代码如下所示:@RequestMapping("/kehuListAcxtion") publicStringkeHuList(HttpServletRequestreq, @RequestParam(required=false,defaultValue="1")intpage){ req.setAttribute("flag",2); req.setAttribute("uList",us.getList(page,rows)); request.setAttribute("tool",PageUtil.getPageTool(eq,us.getTotal(),page,rows)); return"/admin/user_list.jsp"; }5.2.5订单管理管理人员进入到后台后,可以对客户订单进行管理,不能进行修改和添加操作,只能由发货和删除的操作,具体的效果图如图5-2-5所示:图5-2-5订单信息本模块的核心代码如下所示:@RequestMapping("/orderSearchActopm") publicStringos(@RequestParam(required=false,defaultValue="0")intid,HttpServletRequestreq){ if(id>0){ req.setAttribute("flag",1); req.setAttribute("oList",os.getListById(id)); return"/admin/order_list.jsp"; }else{ return"redirect:/admin/order_list"; } }5.2.6修改密码管理人员进入到后台后,可以修改自己的登录密码,具体如效果图5-2-6所示:图5-2-6修改密码本模块的核心代码如下所示:@RequestMapping("/updatePwdAction") publicStringupdatePwd(Adminsrecord,HttpServletRequestreq){ req.setAttribute("flag",5); if(as.get(record.getId()).getPassword().equals(SafeUtils.encode(record.getPassword()))){ record.setPassword(SafeUtil.encode(record.getPasswordNew()));as req.setAttribute("admin",record); req.setAttribute("msg","修改成功了!"); }else{ req.setAttribute("msg","原密码有错误!"); } return"/admin/admin_updatepwd.jsp"; }5.3本章小结本章主要展示了关于系统前台和后台的实际操作和关键代码。6系统测试6.1软件测试的目的软件测试指的是在程序开发的这一个周期内进行全方面的测试,其目的在于发现程序中出现bug,提高程序的质量,降低软件开发的成本,避免后期在开发的过程中遇到重大bug带来不可估量的损失,凡是开发中遇到的一些客观因素造成的bug,必须及时修复,确保程序的质量,这也是进行软件测试的意义。6.2软件测试方法6.2.1白盒测试白盒测试通常情况下指的是是根据程序内部的代码逻辑结构来进行测试一种方法,通常会进行单元测试,或者写一个测试方法来测试该模块的功能,通俗点讲就是能够看到代码来进行测试的一种测试方法。6.2.2黑盒测试黑盒测试法,一般来说,是把一个程序也就是被测试对象当成看不到的黑盒,也就是无法看到程序的内部结构,或者说无法看到代码,测试人员根据需求来进行测试,通常一般是在程序运行的界面进行输入输出的测试,用这种方法测试也是最有效的测试,能够更好的检测程序的质量。6.3测试用例6.3.1前台测试用例测试模块前置条件执行动作预期结果实际结果使用者注册输入使用者名,输入密码,收货人,收货电话,收货人填写的所在地单击上传按钮注册后弹出首页界面成功完成预期要求使用者登录输入使用者名以及密码单击登录登录好了后就开始购物成功完成预期要求使用者的购物车将想要的商品添加到使用者的购物车单击加入购物车单击购物车进行查看成功完成预期要求确认收货人填写的地址信息上传购物车数据单击提交单击后可以看到收货人地址成功完成预期要求使用者的订单确认信息无误后付款单击提交可以看到使用者的订单信息成功完成预期要求用户个人中心登录成功后进入用户个人中心单击个人中心可以查看到收货信息和更改使用者账号和密码成功完成预期要求6.3.2后台测试用例测试模块前置条件执行动作预期结果实际结果管理人员登录输入管理人员账号和密码单击提交登录登录后进入到管理人员系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论