目 录
摘 要 I
Abstract II
引 言 1
第1章 开发目的 3
1.1 开发背景 3
1.2 开发内容 3
1.3 本章小结 4
第2章 主要技术和工具介绍 5
2.1 JSP语言简介 5
2.2 MySQL数据简介 5
2.3 SSM框架简介 6
2.4 本章小结 6
第3章 系统分析 7
3.1 可行性分析 7
3.1.1 经济可行性分析 7
3.1.2 技术可行性分析 7
3.1.3 操作可行性分析 8
3.1.4 其他可行性分析 8
3.2 流程分析 9
3.3 数据流程分析 9
3.4 本章小结 10
第4章 系统设计 11
4.1 系统结构设计 11
4.2 功能模块设计 11
4.2.1 通用功能 11
4.2.2 普通用户功能 12
4.2.3 管理员用户功能 12
4.3 数据库设计 13
4.3.1 数据库设计概述 13
4.3.2 概念设计 13
4.3.3 数据库实现 13
4.4 本章小结 16
第5章 系统实现 17
5.1 普通用户 17
5.1.1 首页实现 17
5.1.2 注册模块实现 17
5.1.3 登录模块实现 19
5.1.4 购买模块实现 20
5.2 管理员用户 20
5.2.1 管理员后台管理模块 20
5.2.2 用户管理模块 21
5.2.3 商品信息管理模块 22
5.2.4 商品类别管理模块 23
5.2.5 最新动态管理模块 23
5.3 本章小结 24
第6章 系统测试 25
6.1 测试目的 25
6.2 测试原则 25
6.3 单元测试 26
6.3.1 注册测试 26
6.3.2 登录测试 27
6.3.3 功能测试 28
6.4 本章小结 31
总 结 32
致 谢 33
参考文献 34
摘 要
随着科技的发展和创新,让人们的生活变得更加丰富多彩,从人们最开始对互联网时代的怀疑到现如今越来越离不开互联网,无不标志着互联网的飞速发展。现如今互联网与人们日常生活相互结合,产生出了许多能够让人们生活效率有所提高的应用,最明显的莫过于购物平台,人们只需要动动手指就能在网上实现购物,并且拥有完整的购物流程体验。
在这次毕业设计过程中,主要将用户划分为两部分:普通用户部分和管理员用户部分,普通用户部分可以进行登录分类管理系统的购买,管理员用户可以进行用户的管理商品信息的管理网站的管理。本项目采用了JavaWeb技术,采用SSM框架,数据库连接MySQL数据库进行连接,操作。skc分类管理系统经过测试后,基本实现了预期所想的设计功能,可以满足大众所需。面对本次突如其来的疫情可以看到,网络的销量对这次灾害没有丝毫影响反而销量比同期更高,此现象说明网络还是当下阶段经济的命脉和核心。此项目可以应当下流行趋势,网上购物,方便简洁,促进经济的发展。
关键词:动态网站技术; MySQL数据库; 购物; JavaWeb技术
Abstract
With the development and innovation of science and technology, people’s life has be***e more colorful. From people’s suspicion of the Inter*** era at the beginning to their growing dependence on the Inter*** nowadays, all of these indicate the rapid development of the Inter***. Nowadays, the ***bination of the Inter*** and People’s Daily life has produced many applications that can improve people’s life efficiency. The most obvious one is the shopping platform, where people can shop online with just a touch of their fingers and have a ***plete shopping experience.
In the process of this graduation project, the user is mainly divided into two parts: the ordinary user part and the administrator user part. The ordinary user part can log in the classified management system to purchase, and the administrator user can manage the management of the user’s ***modity information management Website. This project USES JavaWeb technology, SSM framework, database connection MySQL database connection, operation.
After testing, skc classification management system has basically realized the expected design functions, which can meet the needs of the public. As can be seen from the sudden epidemic, the sales volume of the ***work did not have any impact on the disaster, but was higher than that of the same period. This phenomenon shows that the ***work is still the lifeblood and core of the economy at the current stage. This project can be under the popular trend, online shopping, convenient and simple, to promote economic development.
Keywords: dynamic Website technology;MySQLdatabase;shopping;
JavaWeb technol
引 言
进入二十一世纪这个信息爆炸的时代,人们的各种传统观念和生活习惯开始发生巨大变化,各行各业也开始信息化。随着互联网的发展、信息技术、网络技术、大数据、云计算、物联网等新兴技术都在不同领域得到了飞速的发展和应用[1]。
随着时代的变化,服装行业在我们生活中影响力还是很大的,因此很多企业对于服装的经营迅速扩大,增加了各种颜色,各种款式,最新型的款型以及风格。为了推销这些新型服装,不仅要在实体店里展示出样品,我们也要在网络上尽可能让世人皆知,以便于更快速的推销。所以服装管理系统应该能够为用户提供完整、正确和灵活的服装销售管理信息是对未来发展的一个趋势的一个指标,我们要跟随新时代的脚步。
本课题设计的基于Web的skc分类管理系统,为服装企业的管理提供了便利,使工作人员从沉重的手写数据的操作释放,大大减少了人为因素对企业带来的损失,并使管理者实时了解商品的销售情况,尽快调整销售策略。为了保证企业的长期稳定发展并获得自身在市场上的竞争优势,实现企业信息化管理。
本系统基于JavaEE的Web开发平台,协助用户记录各种服装的颜色,货号,款式,对商品采购、销售、退货、库存等零散信息进行统一、集中、规范的收集和管理,建立分类、编号管理、计算机存储查询等管理制度,为企业解除后顾之忧。
我国的计算机也得到了迅速的发展,使人类进入了信息社会,计算机的使用可以替代人们大量复杂的工作,从而节省很大的人力,可以快速提高工作效率,并且电脑有更高的准确性和更安全的保密措施,计算机技术以其无可比拟的优势,它已经迅速成为一个领域的工具。
计算机应用技术也已广泛渗透到各个行业,而计算机应用技术则为这些行业的推广快速发展也是有着重要的意义的。当前,国内计算机应用因地区经济水平的不同,不同信息化指数的高低相差很大,在一些一线大城市计算机应用水平来说相对较高。
本文第1章简述了软件所开发的背景,内容以及意义。第2章阐述了主要技术和工具介绍,JSP语言简介,MySQL数据简介以及SSM框架简介。第3章进行系统分析,主要包括数据分析,可行性分析,需求分析。第4章讲述了系统设计,系统的结构设计,功能板块设计,数据库设计。第5章讲述了系统实现,主要有用户和管理员实现的两个大类。第6章系统测试,测试所有流程,以便对项目的核查。
第1章 开发目的
1.1 开发背景
信息化时代的来临网络科技不断冲击着人们的日常生活方式,在与传统的生活模式相互碰撞,相互融合的情况下,衍生出了许多的互联网产品,这些互联网产品都在影响着人们的日常生活,提高了人们的生活效率,在一定程度上能够缓解人们对日益增长的物质文化需求的压力[2]。在这个信息化的时代下,网络成为生活不可缺失的一部分。网络不仅能带来许多的即时播报信息,还得在网络上完成生活上所需的事情,网购就是当下的一种流行趋势。
在今年突如其来的疫情面前,很多人都被困在了家中,但是,可以困住人们的腿,却控制不住人们获取信息的途径,全都是因为有互联网的存在。面对这次突如其来的疫情,许多人们都纷纷利用了互联网的方便和快捷来实时获取本次疫情的信息。好让大众知道应该怎么控制和避免感染。另一方面网络购物也成为了当下最火爆的消费趋势。网络购物在这次发挥的淋漓尽致,把各种人们所需要的物资统统挂在网上以供人们的挑选。当然爱美之心人间有之,即使人们暂时都足不出户,也不能拦住广大人民的穿衣打扮。所以,在此时衣服的销量源源不断的上升,在互联网上的流动资金也越来越多。所以,那本次项目也是着重于互联网服装这类型来进行研究的。
面对众多的线上分类系统,人们往往无法进行选择,因为许多相同相似的系统都在做着相同的功能,甚至有些不法分子通过分类系统进行用户信息的收集。为了杜绝这一现象的发生,同时也为了满足人们的生活需求,本次毕业设计选择了skc分类管理系统进行项目的开发工作。
1.2 开发内容
在本次毕业设计中,主要将用户划分为普通用户和管理员用户,在项目初期的时候,根据市场分析和调研工作,进行了功能性的统计和逻辑的梳理。首先是在项目的开发初期,项目的原型图设计和逻辑梳理工作时使用photoshop和xmind进行开发初期准备,这两种工具在技术上是比较简单的,而且在网上有许多两种相关的视频介绍和知识分享,通过网上学习能够完成这两者的熟练使用。
在项目进行开发的时候,使用了eclipse开发工具进行项目的开发,这款开发工具在大学期间就有所了解,并且拥有相关的学习,可以完成综合性的开发工作;在项目开发完成之后,又针对项目进行了综合性的测试[3]。
1.3 本章小结
通过本次毕业设计了解了完整项目的具体开发流程:项目需求分析和可行性分析、项目原型图设计和页面切图、项目的开发工作、项目的测试工作。首先在项目需求分析和可行性分析的时候,通过市场调研和抽样调查,进行了需求分析的统计,在调研的过程中,明白了怎样才能保证调研结果的有效性和调研,需要遵守的基本原则;项目原型图设计的阶段让针对项目的整体把控有了一定的经验,也对项目原型图的设计要求和设计风格以及美观性上有了一定的把握;项目测试的过程中,明白了项目的测试不仅仅是针对页面和功能的简单测试,还要对数据库进行输入和输出测试。通过本次毕业设计的开发工作,认识到了自己的不足之处和对未来的开发道路有了一定的方向。
第2章 主要技术和工具介绍
2.1 JSP语言简介
在市面上有许多的网站建设技术在谈论其网站建设技术,不得不说的是静态网页和动态网页的区分。静态网页和动态网页的分别不能通过字面意思理解,也不能通过网站动画的效果来进行静态网页和动态网页的区分;它们之间的区别就在于是否和服务端数据进行交互。
最常见的就是用户注册登录,注册登录模块的设立就是为了通过用户的行为,网站将用户的这种行为通过请求的方式传递到服务端,服务端接收到用户的请求之后进行数据库操作,操作完成之后会把结果重新传递给客户端,这就是动态网页的整个流程。而静态网页没有在一系列流程,它只是通过开发者将数据直接嵌入到html文件中,管理员用户不能通过服务端进行页面数据的控制,如果需要更新页面内容,则需要开发者重新对数据进行处理,并且重新上传才能够让用户正常使用[4]。
而动态网页技术中JSP技术是最为受开发者欢迎的,JSP动态网页的概念提出更加方便了管理者对网站信息的动态化管理,所谓JSP并不是单独的开发语言,它是运行在服务器上的一种脚本工具。严格看来JSP技术可以看成是html的升级,JSP官方的解释是可以通过Java代码将动态的内容嵌入到静态网页中,从而实现以静态网页为基础模板动态网页作为嵌入式xml中,并且通过相关的功能可以通过服务端进行动态模块的管理[5]。
2.2 MySQL数据简介
每一个项目都有一个数据库来支撑整个项目数据的运行,在市面上有许多的数据库,这些数据库可以分为两大类:一类是关系型数据库,一类是非关系型数据库,他们最直观的区别就是在于进行数据的存储操作上[6]。非关系型数据库在进行数据存储的时候,不考虑数据类型以及存储的方式,而关系型数据库在进行存储的时候,需要经历每个数据的类型并且在存储的时候是以表结构为存储模式的,因此在关系型数据库存储效率上,略低于非关系型数据库;也正是因为关系型数据库这种存储模式决定了它在数据查询的时候效率要远高于非关系型数据库,关于数据库在进行数据查询的时候,可以快速定位到每张表中的每一条数据,而且在进行数据查询的时候,关系型数据库可以开辟多个线程对数据进行查询修改删除等操作。
当然关心数据库不仅仅是因为这点优点受到开发者的喜爱,关于数据库是开发的数据库,因此在安装使用上是完全免费的,而且关系型数据库在进行安装的时候只需要几兆大小,并解压也将工具的大小控制在了100兆以内,而其他数据库则是几百兆;关系型数据库以轻巧,高效率、简单易上手优点,独占数据库中的鳌头[7]。
2.3 SSM框架简介
谈论起SSM框架的时候人们经常会拿MVC框架进行比较。所谓MVC框架是Model数据解析层、view视图展示层、controller控制器层三者的简称。MVC是指在进行开发的过程中将整体架构进行相互分离Model数据解析层只负责服务端返回给客户端的数据解析工作它本身不做视图的展示,而view视图展示层顾名思义则是只负责视图的展示工作不进行数据的解析,开发者经常会把这两者融合在一起共同构成view展示层造成代码的臃肿。最后一个Controller控制器层既不做数据的解析也不做view的展示,它的作用是负责调解那两者之间的关系[8]。本次毕业设计中主要采用了SSM框架没有使用MVC框架,是因为本次毕业设计的功能以及项目的整体构架来讲没有那么的庞大,MVC在中大型项目中有着良好的作用,而在小型项目中不能更好的发挥。SSM框架在百度百科中只是简单的介绍了框架的功能以及作用。在看来SSM框架和MVC框架是相似的,但是SSM框架在应用中更加的普遍以及在开发迭代中更能符合开发者的习惯[9]。SSM框架其实是Spring、SpringMVC、Mybatis的简称。它的作用就是在每次客户端与数据库进行数据交互的时候,通过一个sqlSessionFactory拿到sqlSession,然后才会再执行sql的相关命令[10]。
2.4 本章小结
JSP语言在市面上有许多的网站建设技术在谈论其网站建设技术,不得不说的是静态网页和动态网页的区分。MySQL数据这些数据库可以分为两大类:一类是关系型数据库,一类是非关系型数据库,他们最直观的区别就是在于进行数据的存储操作上。SSM框架简化了new的操作换句话说就是不需要创建一个新的对象就能进行实体的方法调用。
第3章 系统分析
3.1 可行性分析
3.1.1 经济可行性分析
所谓经济可行性分析是针对项目开发过程中的成本进行分析,无论是前期的调研工作还是技术开发工作,还是项目的最终测试工作,都需要成本费用,为了保证项目能够顺利开发,则需要进行综合性的分析,来判断该项目是否能够在有限的资金内进行整体的开发,从而避免因为开发资金不足而造成系统半途而废[11]。
表3.1 经济可行性分析表
项目开发阶段 开发内容 经济分析
项目市场分析阶段 通过市场调研工作和抽样调查当前系统的整体设计风格和项目的功能模块,通过调研结果得出相应的设计结论。 在项目的市场分析阶段还是通过调查当下的仓库管理系统进行的统计并通过调研学生针对skc分类管理系统的认知进行的需求分析,因此在市场调研阶段没有产生任何成本费用。
项目原型图设计阶段 通过使用xmind进行项目的逻辑梳理,在原型图设计的时候使用了Photoshop作为项目的原型图和界面切图工作。 在项目的设计阶段这两个工具都是免费的,因此在项目的设计阶段也没有产生成本费用。
项目开发设计阶段 在项目开发阶段使用了免费开发工具进行了skc分类管理系统前台展示和后台管理系统的开发工作 在项目的整体框架搭建上选用了免费开发工具和MVC设计模式,在进行项目开发过程中的开发工具都是免费的,因此也没有产生任何成本费用。
项目开发完成测试阶段 项目的测试阶段是本人亲自参考其他测试文档进行的项目测试。 在项目的测试阶段是通过本人进行的综合性测试,因此在测试阶段也没有产生任何技术费用。
3.1.2 技术可行性分析
所谓技术可行性分析是针对项目中所可能遇到的技术进行一个综合性的分析,在项目如果遇到技术上的难点,要及时根据项目的逻辑做出相应的调整,以保证项目能够在正常的周期内进行开发。在本次毕业设计中,主要将用户划分为普通用户和管理员用户,在项目初期的时候,根据市场分析和调研工作,进行了功能性的统计和逻辑的梳理[12]。
首先是在项目的开发初期,项目的原型图设计和逻辑梳理工作时使用photoshop和xmind进行开发初期准备,这两种工具在技术上是比较简单的,而且在网上有许多两种相关的视频介绍和知识分享,通过网上学习能够完成这两者的熟练使用;在项目进行开发的时候,使用了eclipse开发工具进行项目的开发,这款开发工具在大学期间就有所了解,并且拥有相关的学习,可以完成综合性的开发工作[13]。
3.1.3 操作可行性分析
在本次毕业设计中界面设计的原则,遵循的统一性原则和简单易用性原则,因此在项目逻辑梳理和功能模块划分上是具有可行性的。本次毕业设计主要将用户划分为普通用户和管理员用户,普通用户可以登录注册进行网站基础功能的使用,总共有四大模块:包括网站首页模块,购买商品模块、商品分类模块、我的购买模块;管理员用户可以通过后台管理系统进行平台的登陆,管理员的功能包括了用户管理,商品信息管理,商品类别管理和网站管理;从两种身份上划分可以看出,在功能设计上没有混淆点,用户可以通过模块的划分快速定位到自我的需求[14]。管理员用户也能清晰的查看自己的管理功能,因此在操作可行性分析上是通过的。
3.1.4其他可行性分析
(1)时间可行性
时间可能性是针对项目的开发周期进行了一个简单预测,在本次毕业设计中,项目初期的需求分析和功能模块确定,预计在2-3天完成;在毕业设计的原型图设计和页面切图工作,预计3-5天完成;在毕业设计的测试阶段,预计3-5天;因此在技术开发的阶段,有着充足的时间能够完成页面的搭建和逻辑的梳理以及功能模块的实现。因此在时间可行性分析上,是具有可行性的。
(2)推广可行性
本次毕业设计是针对skc分类管理系统,在项目的功能划分和逻辑梳理上,遵循了市场上的大部分线上分类管理系统流程,而且商品都属于大众化的,用户可以通过分类管理系统进行商品的购买和选择。现如今人们每天花费网上的时间超过10个小时,并且能够适应了网上购物的习惯,因此在推广上是具有可行性的[15]。
(3)发展可行性
在本次毕业设计上融入了一些独特的设计风格,虽然在逻辑上遵循了市面上大多的购物流程,但是如果不随着科技的发展而进行项目的新技术融入,必将会在未来被别人所替代。如果不进行产品的更新迭代,在发展性上是不具有可能性的。
3.2 流程分析
流程分析图如图3.1所示:
图3.1 流程分析图
3.3 数据流程分析
流程分析图如图3.2所示:
图3.2 数据流程分析图
系统的1层数据流图如下图3.3所示:
图3.3 系统数据流图(1层)
2层为管理员操作后台数据流图,管理员可以分别通过添加、修改和删除来对系统进行管理,系统的2层数据流图如下图3.4所示。
图3.4 系统数据流图(2层)
3.4 本章小结
在项目开发完成之后,又针对项目进行了综合性的测试,在测试阶段主要是通过界面测试和功能测试,综上所述在测试阶段没有什么技术可言,综上分析本次毕业设计在技术方面可行性分析是可行的。
第4章 系统设计
4.1 系统结构设计
系统结构图如图4.1所示:
图4.1 系统结构图
skc分类管理系统分为了前台模块和后台模块。前台模块功能主要包含了网站首页,系统简介,网站资讯,商品信息等。后台模块划分上为普通用户和管理员用户。普通用户的功能包含了个人资料管理,收藏记录管理,订单信息管理,购买记录管理;管理员用户包含了系统管理,订单信息管理,购买接入管理,商品信息管理,商品类别管理,最新动态管理,系统用户管理。
4.2 功能模块设计
4.2.1 通用功能
网站首页:网站的首页包含了网站基础的信息,普通用户和管理员用户可以通过网站首页进行网站信息的查看。
系统简介:系统简介模块包含了当前网站系统的基础介绍。普通用户可以通过系统简介模块查看系统信息。
网站资讯:网站资讯模块包含了网站的当前最新资讯,普通用户和管理员用户可以通过该模块进行最新资讯的查看工作。
商品信息:商品信息模块包含了当前网站的所有商品信息,普通用户可以通过商品信息模块进行商品信息的选择和删除购买的操作。
4.2.2 普通用户功能
个人资料管理:普通用户个人资料管理模块包含了普通用户的基础信息,普通用户可以通过该模块进行当前信息的修改,当用户点击保存基础信息的时候,会根据当前用户的IP进行数据库的查询,并且更新操作。
收藏记录管理:收藏记录管理模块包含了普通用户对商品信息的收藏,普通用户可以通过该模块进行收藏记录的修改和删除等操作。
订单信息管理:订单信息管理包含了普通用户当前的所有订单信息,用户可以通过该模块进行订单信息的删除和修改等操作。
购买记录管理:购买记录模块包含了当前用户所有购买信息,用户可以通过该模块进行信息的修改和删除等操作。
4.2.3 管理员用户功能
系统管理:系统管理模块包含了当前系统中所有信息,管理员可以通过该模块进行系统信息修改删除等操作。
订单信息管理:订单信息管理模块包含了当前所有用户的订单信息,管理员可以通过该模块进行订单信息的查询,修改,删除等操作。
购买记录管理:购买记录管理模块包含了当前所有用户的购买记录,管理员可以通过该模块进行购买信息的查询,修改,删除等操作。
商品信息管理:商品信息管理模块包含了当前网站所有的商品信息,管理员可以通过该模块进行商品信息的查询,修改,删除等操作。
商品类别管理:商品类管理模块包含了当前网站商品的所有类别信息,管理员可以通过该模块进行类别信息的修改,删除等操作。
最新动态管理:最新动态管理模块包含了网站当前所有的动态,管理员可以通过该模块进行动态的编辑,修改,删除等操作。
系统用户管理:系统用户管理模块包含了当前用户的所有信息,管理员可以通过该模块进行用户的管理操作,包括添加删除,修改。
4.3 数据库设计
4.3.1 数据库设计概述
数据库设计在整个项目中扮演着非常重要的角色,通常一个完整的数据库不管是在开发过程中还是迭代过程中是非常有建设性的[16]。在进行数据库的设计工作过程中,需要站在用户的角度和项目整体流程的角度进行数据库的设立,在进行数据库设计的时候,不仅仅要满足用户的基础需求,还要在基础之上,进行更多的延伸工作,因为还要考虑到项目在今后的迭代过程中数据的可增加性;在数据库设计的时候尽量降低数据库表之间的耦合性,只有这样才后期数据字段的加入过程中,不会导致其他的数据库表崩溃[17]。
4.3.2 概念设计
E-R图如图4.2所示:
图4.2 E-R图
4.3.3 数据库实现
在服务器上建立名为ssmdzcpxg5549AGY3的数据库,其中包括以下表:
表4.1 用户表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 username 150 255
3 pwd 150 255
4 cx 150 255
5 addtime DateTime 8 19
表4.2 购买记录表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 danhao 150 255
3 shangpinbianhao 150 255
4 shangpinmingcheng 150 255
5 leibie 150 255
6 kuanxing 150 255
7 chima 150 255
8 jiage 150 255
9 kucun 150 255
10 goumaishu 150 255
11 jine 150 255
12 goumairen 150 255
13 beizhu 1073741823 255
14 issh 150 255
15 addtime DateTime 8 19
表4.3 新闻通知表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 biaoti 150 255
3 leibie 150 255
4 neirong 1073741823 255
5 shouyetupian 150 255
6 dianjilv 150 255
7 tianjiaren 150 255
8 zhaiyao 1073741823 255
9 addtime DateTime 8 19
表4.4 内容表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 Id Int 4 10
2 leibie 150 255
3 content 1073741823 255
表4.5 订单信息表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 dingdanhao 150 255
3 dingdanjine 150 255
4 dingdanneirong 1073741823 255
5 yonghuming 150 255
6 xingming 150 255
7 shouji 150 255
8 beizhu 1073741823 255
9 addtime DateTime 8 19
表4.6 商品信息表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 shangpinbianhao 150 255
3 shangpinmingcheng 150 255
4 leibie 150 255
5 kuanxing 150 255
6 chima 150 255
7 jiage 150 255
8 kucun 150 255
9 tupian 150 255
10 beizhu 1073741823 255
11 addtime DateTime 8 19
表4.7 商品类别表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 leibie 150 255
3 tedian 150 255
4 beizhu 1073741823 255
5 addtime DateTime 8 19
表4.8 收藏记录表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 username 150 255
3 xwid 150 255
4 ziduan 150 255
5 biao 150 255
6 addtime DateTime 8 19
表4.9 用户注册表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 yonghuming 150 255
3 mima 150 255
4 xingming 150 255
5 xingbie 150 255
6 chushengnianyue DateTime 8 19
7 QQ 150 255
8 youxiang 150 255
9 shouji 150 255
10 shenfenzheng 150 255
11 touxiang 150 255
12 dizhi 150 255
13 beizhu 1073741823 255
14 issh 30 255
15 addtime DateTime 8 19
表4.10 邀请链接表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 ID Int 4 10
2 wangzhanmingcheng 150 255
3 wangzhi 150 255
4 addtime DateTime 8 19
5 LOGO 1073741823 255
表4.11 商品品类表
序号 字段名称 字段类型 大小 允许为空 最大长度 备注
1 id Int 4 10
2 leibie 150 255
3 beizhu 1073741823 255
4 addtime DateTime 8 19
4.4 本章小结
本章主要讲述项目的前台功能后台功能,还有用户和管理等模块进行了细致的讲解。还有对项目的功能模块等分类表达。用户以及管理员等功能分别进行了分层描述。
第5章 系统实现
5.1 普通用户
5.1.1 首页实现
图5.1 首页实现图
网站的首页包含了网站的基础信息,关于我们最新产品的推荐,普通用户和管理员用户可以通过首页进入网站基础信息的查看,并且可以通过关键词来查询商品信息。当用户输入关键词并点击搜索,搜索当前数据库中商品信息数据库表中和关键词是否想匹配,如果匹配成功的会展示到相应的搜索结果页。
首页主要代码如下:
<%@ page language=“Java” import=“Java.util.*” pageEncoding=“gb2312”%>
<%@page import=“util.Info”%>
<%@page import=“dao.***mDAO”%>
<%@page import=“util.PageManager”%>
5.1.2 注册模块实现
图5.2 注册模块实现图
用户注册模块包含了用户的用户名,用户的密码,用户的性别,用户的真实姓名,用户出生年月,QQ邮箱,手机地址,个人简介等。当用户出现信息并点击提交的时候,会首先校验每个必填项是否已经填写完成,如果填写完成,则会校验当前用户名是否在数据库中已存在,如果存在该用户名才会提示用户当前用户已被占用,如果不存在则会校验邮箱格式和手机号格式是否正确,如果正确则会插入到数据库中,如果不正确的会提示用户相关的错误信息[18]。
图5.3 注册模块实现流程图
<%
HashMap ext = new HashMap(); //声明一个HashMap变量
ext.put(“issm”,“否”);
new ***mDAO().insert(request,response,“yonghuzhuce”,ext,true,false,“index.JSP”); //新建一个DAO
%>
Php:
include_once ‘conn.php’;//用于避免多次引用同一个文件导致道多次执行
a
d
d
n
e
w
=
addnew=
addnew=_POST[“addnew”];//调用函数
if($addnew==“1”)
{
u
s
e
r
n
a
m
e
=
username=
username=_POST[‘username’];//用户名相等
p
w
d
=
pwd=
pwd=_POST[‘pwd1’];
c
x
=
cx=
cx=_POST[‘cx’];
M
y
S
Q
L
=
"
s
e
l
e
c
t
∗
f
r
o
m
a
l
l
u
s
e
r
s
w
h
e
r
e
u
s
e
r
n
a
m
e
=
′
MySQL ="select * from allusers where username='
MySQL="select∗fromalluserswhereusername=′username’ and pwd=‘$pwd’“;
q
u
e
r
y
=
M
y
S
Q
L
q
u
e
r
y
(
query=MySQL _query(
query=MySQLquery(MySQL );//调用Mysql文件中的方法进行检索操作
r
o
w
s
c
o
u
n
t
=
M
y
S
Q
L
n
u
m
r
o
w
s
(
rowscount=MySQL _num_rows(
rowscount=MySQLnumrows(query);
if($rowscount>0)
{
echo “”;
}
5.1.3 登录模块实现
图5.4 登录模块实现图
登录模块包含了用户名用户密码,用户的权限选择以及验证码。当用户填写信息完成的时候,会首先将验证码是否输入正确,如果输入正确才会娇艳,用户名在当前用户数据库表中是否存在,如果存在则会校验密码和用户名是否相匹配,如果不存在还会提示用户该用户不存在[19]。如果用户名和密码相匹配,则会进入到相应的管理模块。
5.1.4 购买模块实现
图5.5 购买模块实现图
购买模块包含了当前订单的生成商品编号,商品名称,商品类别,价格库存,购买数量金额,购买人备注等[20]。当用户筛选完商品进行商品购买的时候,会生成一个订单编号,并且将商品详情内的商品编号传递给购买页面,用户可以通过购买各模块查看当前的购买信息是否匹配,如果匹配成功,则会通过点击提交事件,网站通过该点击事件将商品的订单数据提交给服务,器服务加入到订单数据库表中,完成订单数据的插入操作。
5.2 管理员用户
5.2.1 管理员后台管理模块
图5.6 管理员后台管理模块图
管理员可以通过登录界面进入到管理员后台管理模块。后台管理模块包含了当前用户的管理,订单状态的管理,商品类别管理,商品信息管理,购买记录管理以及订单管理。
5.2.2 用户管理模块
图5.7 用户管理模块图
图5.8 用户管理模块流程图
系统用户管理关键代码为:
<%
if(request.getSession().getAttribute(“username”)==null )//如果找不到,则为空
{
out.print(“”);
out.close();
}
}
%> %>
5.2.3 商品信息管理模块
图5.9 商品信息管理模块图
商品信息管理模块包含了当前网站的所有商品信息,管理员可以通过该模块进行商品信息的添加删除和修改等操作。当管理员进行商品信息管理的时候,需要填写商品的编号,商品的名称,商品的类别,商品的价格,商品的详情,商品的图片等[21]。当管理员输入完整的商品信息并统计提交的时候,会首先校验必填项目是否已经填写完成,如果填写完成并且能够查询到该商品的时候,可以进行商品信息的更新。
商品信息添加关键代码为:
protected void Button1_Click(object sender, EventArgs e)
{
string MySQL ;
MySQL =“insert into liuyanban(cheng,biaoqing,biaoti,neirong,huifu) values('”+cheng.Text.ToString().Trim()+“‘,’”+biaoqing.Text.ToString().Trim()+“‘,’”+biaoti.Text.ToString().Trim()+“‘,’”+neirong.Text.ToString().Trim()+“‘,’”+huifu.Text.ToString().Trim()+“') “;
int result;
result = new Class1().hsgexucute(MySQL );
if (result == 1)
{
Response.Write(””);
}
}
5.2.4 商品类别管理模块
图5.10 商品类别管理模块图
商品类别管理模块包含了当前网站的所有商品类别,管理员可以通过该模块进行商品类别的添加删除和修改操作。当管理员进行商品类别管理的时候,需要输入商品类别的名称,商品的特点等当管理员用户点击提交的时候,会加入到商品类别的数据库中[22]。
5.2.5 最新动态管理模块
图5.11 最新动态管理模块图
最新动态管理模块包含了当前网站的所有最新动态,管理员可以通过该模块进行单个动态信息的管理包含动态的添加,删除,修改等操作。当管理员用户进行动态信息的编辑时候需要输入动态的标题,动态的类别,动态的内容,动态的图片,添加人等。管理员输入完整信息的时候,会首先校验必填项目是否已经填写完成,如果填写完成才会插入到最新动态数据库表中。
5.3 本章小结
本章讲述用户以及管理员的实现。用户方面用户注册模块包含了用户的用户名,用户的密码,用户的性别,用户的真实姓名,用户出生年月,QQ邮箱,手机地址,个人简介等。管理员可以通过登录界面进入到管理员后台管理模块。后台管理模块包含了当前用户的管理,订单状态的管理,商品类别管理,商品信息管理,购买记录管理以及订单管理。
第6章 系统测试
6.1 测试目的
项目测试是非常有必要性的,首先项目测试的目的包括第一是尽可能的发现界面和功能上的不足之处,项目开发的流程是先进行项目原型图的设计,然后根据原型图设计并进行开发,但是当在正常开发的过程中,可能因为逻辑的调整或者项目功能的调整原因造成某些页面或者某些功能不符合原型图的设计,我们在进行测试的时候需要根据原型图进行界面和功能上的设计,并且发现,在现有的逻辑中是否存在一些流程上的不足之处,在给予改进。其次是要尽可能的查找项目中的错误信息,应该在用户的角度上来进行测评。因为用户第一次接触到这个项目并不明白其中的具体逻辑和功能点,很有很多的未知事件发生,要做到的就是,在测试中尽可能的发现一些未知的问题[23];其次是测试项目的运行效率,在项目的开发中经常会遇到一些多数据加载的情况,在这种情况下要尽可能测试数据在大量加载的时候,是否出现掉帧的情况。
6.2测试原则
(1)系统测试要遵循数据不合理原则。
所谓数据不合理性原则就是指在进行数据校验的时候如果是针对手机号格式进行校验,那么需要输入其他的格式来验证项目中的校验格式是否具有合理性[24]。比如说项目中针对手机号的校验方法是根据长度来校验的,那么需要输入11位相同的字符串来查看当前是否能够通过校验。
(2)系统测试要遵循开发者不参与测试的规定。
所谓开发者不参与测试的原则是因为开发者是项目中最熟悉整个流程的人,如果参与到项目测试过程中,它会引导的测试人员进行固定的流程模式进行测试,不容易发现测试中的项目问题,因此开发人员应避免进行项目的测试工作。
(3)系统测试要进行综合性测试。
在进行项目测试的时候,不仅仅要针对项目的界面测试,还要针对项目的功能以及各个模块之间的逻辑联系进行测试。在进行界面测试和功能测试的时候要根据原型图进行对比测试
(4)系统测试要遵循输入和输出原则。
再进行测试的时候,不仅要对数据库进行写入操作,也要查看数据库的展示操作。
6.3 单元测试
6.3.1 注册测试
游客用户得先注册账号才能登录系统,用户输入符合规则的用户名后,填写2次一样的密码,点击注册按钮,系统提示“注册成功”。当用户2次密码不一致时,系统提示两次密码不一致。
注册测试用例如下图6.1所示:
图6.1 注册测试图
注册测试用例如下表6.1所示:
表6.1 注册测试用例表
测试模块 用户注册模块测试
测试目的 测试当注册信息输入不符合要求时,系统是否能进行相应处理并给出提示。
测试方法 黑盒测试
测试数据 1不输入用户名和密码,直接点击注册。
2输入未注册过的用户名。例如:abcd
3输入正确用户名,两次密码不一样。例如:用户名abcdefg、密码 000,确认密码111
预期结果 1 界面不跳转,弹出对话框,提示用户输入必填项。
2界面跳转,弹出对话框,提示用户注册成功。
3界面不跳转,弹出对话框,提示两次密码不一致。
实际结果 与预想一致。
结论 注册模块实现了基本的异常输入应对。
6.3.2 登录测试
登录模块需要测试的功能有:输入登录名和密码,点击“登录”按钮是否正常进入系统首页。
登录测试用例如下图6.2所示:
图6.2 登录测试图
登录测试用例如下表6.2所示:
表6.2 登录测试用例表
测试模块 用户登录模块测试
测试目的 测试当登陆信息输入不符合要求时,系统是否能进行相应处理并给出提示。
测试方法 黑盒测试
测试数据 1不输入用户名和密码,直接点击登陆。
2输入未注册过的用户名。例如:abcdefg
3输入正确用户名,错误密码。例如:用户名abcdefg、密码 000
4输入正确用户名,正确匹配密码。例如:用户名abcdefg、密码 111
预期结果 1 界面不跳转,弹出对话框,提示用户输入必填项。
2界面不跳转,弹出对话框,提示用户当前用户名尚未注册。
3界面不跳转,弹出对话框,提示用户密码错误。
4界面实现跳转,登陆功能正常进行。
实际结果 与预想一致。
结论 登陆模块实现了基本的异常输入应对。
6.3.3 功能测试
搜索测试用例如下图6.3所示:
图6.3 商品搜索栏测试图
搜索实现结果用例如下图6.4所示:
图6.4 商品搜索测试图
购买测试用例如下图6.5所示:
图6.5 商品购买界面测试图
购买成功用例如下图6.6所示:
图6.6 商品购买成功测试图
评论测试用例如下图6.7所示:
图6.7 评论测试图
评论成功用例如下图6.8所示:
图6.8 添加评论成功测试图
收藏成功用例如下图6.9所示:
图6.9 收藏成功测试图
软件测试系统就是当做小黑盒子,并不能正常打开,所以不能知道内部情况,只能通过软件的接口和测试用例来测试。目的是来检验一个软件的功能是否满足对用户需要数据的分析,功能结构是不是正常和完整,操作上的简单与否。
6.3.4 压力测试
测试在环境监测管理软硬件条件不足的特别情况下进行的,深入了解环境监测所表现出的具体压力和性能[25]。
系统压力测试,测试500个线程,如下图6.10所示:
图6.10 压力测试图
系统压力测试,测试500个线程,如下图6.11所示:
图6.11 压力测试图
使用Apache JMeter工具来当做测试工具为skc分类管理系统进行测试,JMeter可以对项目进行接口测试,性能测试,压力测试以及数据库的测试。它最大的优点是安装简单开源免费,支持多种协议,并且高效功能强大。测试可以看到测试了500次请求,传输协议为HTTP协议,从测试图中可以看到样本为500,平均值为1190,最小值为1004,最大值为1501,吞吐量为每秒314.1,测试结果稳定。测试的结果说明了项目完全能适应以后项目的大规模使用。
6.4 本章小结
在实际的开发过程中,无论项目的大小都需要进行统一测试。在进行项目测试的时候,要站在不同的角度,不同的方位,不同的流程进行项目测试。项目测试的最后一个目的是找到尽可能的错,无论是逻辑还是页面上,都应该多方面全方位的检测,以保证项目在进行的时候能够符合用户的基本需求和审美。
总 结
本次毕业设计再次就已经圆满完成了,虽然在开发的过程中有一些坎坷,并且有一些技术难点无法实现。在经过一系列的调整,针对项目的整体逻辑和功能进行了部分的调整。本次毕业设计是本人第一次参与到完整的项目中,无论是项目的开发前期原型图的设计还是项目后期的测试工作都对我帮助非常大,让我明白了项目的开发具体流程以及针对项目框架和整体逻辑的把控。本系统的主要管理功能包括对数据的分析编辑,查询等数据管理功能。
考虑到科技发展非常迅速,再加上2020年疫情对实体店的冲击,大众对于在网上购物的欲望越来越强,经过数据调查显示疫情期间网购同比之前上涨了将近70%,所以这些数据直接证明了网络销售的时代已经到来。足不出户,送货上门,网络购物将会是未来人们的首选,本次设计也是抓住当下的趋势。为后续更完善的系统开发,做了充分的准备,系统的操作简单,使用方便,安全可靠,扩展性好,可维护性高,并且提供了不断地更新需求。
虽然在本次毕业设计测试的过程中发现了项目存在的不足之处,但是我相信通过本人的不断努力和学习,这些不足之处都能得到有效的改善。通过本次毕业设计找到了自己大学4年来知识技能上的不足之处,对未来的规划有了一定的基础方向。
致 谢
在这即将毕业的日子里,回首大学4年的时光,感慨良多。在刚进入大学的时候,我充满了迷茫和不知所措,现在的我充满了斗志和美好的向往,在大学4年里我遇到了许多的人,他们和我有着同样的兴趣和同样的只想我们在大学4年里在生活上我们互相扶持,在学习上我们互相学习我们从彼此身上发现对方的优点,只为了能够每天过得充实,因为有他们的存在,我的十年大学时光才变得更加丰富多彩,因为他们的出现,我对未来才有了期待。在此,我要感谢他们4年来对我的照顾,谢谢你们,谢谢你们在生活和学习上对我的细心照料,让我能够顺利毕业;当然说最感谢的还是我的毕业设计指导老师崔满老师和刘荫忠老师,两位老师在我毕业设计开发的初期为我寻找相关的。设计原型图让我能够有所参考并根据其他的设计来形成自己的风格和自己的特色,当我开发中遇到困难的时候,我的两位指导老师总是第一时间出现为我解决问题。在此我要感谢他,是您的帮助我才能够顺利完成,毕业设计是您能帮助我才对,毕业设计的开发流程有了统一性的了解,是您的帮助让我。能够游刃有余。感谢您的出现,让我看到了一个优秀人民教师应有的职业道德和职业素养;也是您的出现,让我对未来有了一定的规划。在此我要真挚的向您说声谢谢,老师您辛苦了。
参考文献
[1]张继东.MySQL数据库基于JSP的访问技术[J].电子技术与软件工程,2017,9(15):169-175
[2]李春燕,李根.基于JSP技术的网络信息教学平台设计[J].电子技术与软件工程,2017,8(20):90-95
[3]王浩.基于JSP技术的在线技能评测系统的设计与实现[J].数字技术与应用,2016,7(12):171-172
[4]王金龙,张静.基于JSP+MySQL的高校慕课(MOOC)教学系统设计[J].通讯世界,2017,8(20):276-277
[5]潘国荣.基于JSP+JavaBean+Servlet实现模式的增删改模块的设计与实现[J].信息通信,2017,6(08):101-103
[6]葛建霞.JSP动态网页设计课程中项目教学法的应用研究[J].宿州教育学院学报,2017,20(04):160-161
[7]李清霞.JSP动态网页设计课程建设与教学模式研究[J].福建电脑,2017,33(06):92-166
[8]曾晰,舒坚.基于JSP的养老院管理信息系统的设计与实现[J].信息通信,2017,21(09):122-124
[9]费扬,杜庆治.基于JSP的大学城外卖网的设计与实现[J].软件,2017,38(07):92-96
[10]PANCai-hua,LYUJian-you.ResearchonDesignofDigitalDesignManagementSystemofElectronLinearA***eleratorBasedonJSP[J].AnnualReportofChinaInstituteofAtomicEnergy,2016,7(10):204-205
[11]盘采华,吕建友.基于JSP的E-linac数字化设计管理系统设计研究[J].中国原子能科学研究院年报,2016,22(05):171-172
[12]朱伟波.基于JSP技术的机务段安全管理信息系统的设计[J].建设科技,2016,08(21):86
[13]高杨,赵立杰.基于JSP+MySQL的物流管理系统的设计与实现[J].信息系统工程,2016,04(15):141-143
[14]周文英.基于JSP的企事业单位固定资产管理系统开发[J].数字技术与应用,2016,06(11):175-176
[15]杨静.基于JSP技术实现的体育用品管理系统设计[J].电子设计工程,2016,24(23):98-100
[16]崔娜.JSP的网络数据库连接技术探讨[J].黑龙江科技信息,2016,25(36):259
[17]朱小琴.基于JSP技术的高校教职工信息管理系统设计与实现[J].六盘水师范学院学报,2016,28(06):9-14
[18]李慧.以创新创业教育引领JSP技术课程教学的发展研究[J].中国新通信,2016,18(23):70
[19]朱家全,韦海清.基于JSP技术开发计算机网络技术专业资源库平台[J].电子技术与软件工程,2017,03(01):46-47
[20]王菊花,赵蔷,杜涛,杨妮妮.基于JSP的网络求职招聘系统的设计与实现[J].价值工程,2016,35(35):95-97
[21]段新娥.基于JSP的健身俱乐部管理系统设计与实现[J].山西电子技术,2016,15(06):57-68
[22]冯安,王素华.基于JSP的学生公寓管理系统的设计与实现[J].信息技术与信息化,2016,(12):24-29
[23]Xieling Chen,Di Zou,Gary Cheng. Detecting latent topics and trends in educational technologies over four decades using structural topic modeling: A retrospective of all volumes of ***puters & Education[J].***puters & Education,2016,(03):204-205
[24]Yinyan Shi,Xiaochan Wang,Xin (Rex) Sun.Development and application of an online grading system for pork loin quality based on ***puter vision technology[J]. Journal of Food Engineering,2020,(01):46-47
[25]Murakami Rie,Katsuragawa Shigehiko.Development of a ***puter simulation technique for low-dose chest radiographs[J].Radiological physics and technology,2020,28(06):9-14