1 摘 要
本文首先实现了网上购物系统设计与实现管理技术的发展随后依照传统的软件开发流程,最先为系统挑选适用的言语和软件开发平台,依据需求分析开展控制模块制做和数据库查询构造设计,随后依据系统整体功能模块的设计,制作系统的功能模块图、E-R图。随后,设计框架,依据设计的框架撰写编码,完成系统的每个功能模块。最终,对基本系统开展了检测,包含软件性能测试、单元测试和性能指标。测试结果表明,该系统能够实现所需的功能,运行状况尚可并无明显缺点。
2 开发技术介绍
毕业论文为主体是学位论文的关键一部分,要构造认真细致,条理清晰,关键突出,简约顺畅。章节目录互相联络,构成一个总体。
后面内容省去,依据主要内容分配章节目录。每一章的内容都需要另起一页,这可以根据插进节/页标识符来完成[8]。不建议应用好几个回车键。实际编译程序标准见第三章。
2.1 MySQL 介绍
MySQL是一种关系型的数据库管理系统,属于Oracle旗下的产品。MySQL的语言是非结构化的,使用的用户可以在数据上进行工作。这个数据库管理系统一经问世就受到了社会的广泛关注。在各个方面,与同等的数据库相比,MySQL的优点极为突出,它的运行速度快,适用的范围广泛,而且数据库的安全性这一方面独树一帜。在语言结构方面,MySQL的语言简单,其他数据库需要一大段代码来实现的操作,MySQL仅需要一小部分代码甚至几行。综上所述,MySQL这种关系型数据库管理系统,已经成为了开发者进行项目的数据开发、存储的不二之选。MySQL的功能也多种多样,如数据操纵和数据库的建立维护等。而且该数据库的数据共享性高、冗余度低而且容易扩充。MySQL在安全性这一方面也具有自身的特点,它应用了用户的标识和鉴别技术,对试图和数据进行加密,确保资料信息的可靠性。介于数据库系统的功能与强大等性质之间,本数据库系统的设计中主要使用了MySQL实现对数据的处理。基于JSP的网上购物系统运用MySQL数据库,在Web应用这一块,MySQL是最好的选择。对于该系统整个的开发、搭建、运行和维护具有极其重要的作用。
2.2 SSM框架
SSM框架,全称是Spring+SpringMVC+MyBatis框架,是一个集群框架,本质上是由Spring以及MyBatis两个开源的框架整合而成的框架,目前很多成熟的企业都会用到,Java是就业者最常用到的和需要掌握的技术。
其中,所谓的Spring框架其实就是起到一个粘合剂的作用,一般情况下需要new一个对象使用,而现在有了Spring,便可以把这些步骤交给Spring完成,只需要在其配置文件中,使用指定的参数,即可调用一个实体类的构造方法去完成一系列功能以及实例化对象。
SpringMVC则是Spring中的特殊存在,可以在项目中拦截用户的请求,而其中的Servlet,主要的任务就是承担中介,或者说是前台的责任,Servlet将用户的请求通过Handler Mapping(处理程序映射)去匹配Controller控制器,控制器就是可执行的操作,一个对应请求的可执行的操作,可以将SpringMVC比喻为SSH(另一种框架)中的struts,也就是支柱。
MyBatis,这是一个对接数据库的框架,MyBatis是对JDBC的封装,让原本纷繁杂乱的数据库底层操作变得看起来透明了许多,MyBatis的操作围绕着一个SQL会话工厂的实例来展开,通过配置文件,MyBatis可以关联到每个实体类的映射器文件上,也就是Mapper文件,而Mapper文件中配置了所有的SQl语句映射,这些都是数据库进行所需的。
2.3 JSP技术介绍
JSP技术本身是一种脚本语言,JSP全称JSP server page(JSP服务页),JSP在使用时不能直接被客户端浏览器直接运行,它只能被服务器运行解析,其本质上JSP是一个Servlet,但看上去更像一个HTML,相比较JSP更适合编写服务器端运行页面。它与HTML的最大区别,就是JSP在客户端浏览器中查看源码是看不到的。简单地说,JSP就是在HTML的基础上加了JSP代码。JSP还拥有九大内置对象,可以更好地对网页进行开发。
2.4 B/S架构
B/S(Browser/Server,浏览器/服务器)模式,是一种架构模式,属于WEB发展后的所出现的一种网络构造,而WEB又是主要的浏览器应用商品软件。B/S架构模式不仅将系统的重新开发、维修及利用等简单化,更将其重点放到了服务器上。它使客户端得到了统一,服务器上集中了系统功能的最关键部分。
B/S架构的工作模式是浏览器发出请求后服务器进行相应的响应。Internet上文本、图片、动画等信息主要由Web服务器产生,而用户主要是通过浏览器访问这些信息。在Web服务器上下载程序时,如果在下载过程中遇到某些与数据库相关的指令,可以将这些指令交给数据库服务器来解释、进行执行。
3 系统分析
3.1可行性分析
在开发系统以前,必须对系统开展可行性研究,目地是用有效的方法处理最大的问题。程序流程一旦开发出去满足用户的要求,便会产生许多益处。下面咱们就从技术性、操作、经济、法律等领域来挑选这一系统是不是会最后开发[9]。
3.1.1 技术可行性
本系统在技术层面使用Eclipse作为Java开发语言,后台管理系统使用了SSM等开源框架,前端页面结合HTML、CSS、JS技术让页面更完善,本系统选择MySQL数据库系统来开发完成本网上购物系统。作为软件工程专业的学生,在大学开设的相关专业课程中都包含了这些技术,所以在系统开发技术及应用上都没有太大困难,因此系统开发在技术层面是完全可行的[10]。
3.1.2 操作可行性
网上购物系统旨在为用户提供一个简单方便快捷的网上购物系统。网上购物系统的界面简洁,操作方便,即使是不具备很强的网络技术知识的用户也可以轻松使用。在管理员管理模块中,各项内容的管理操作界面也都简洁易懂的,实际操作也十分的简单。因此该系统具有可操作性[11]。
3.1.3 经济可行性
本项目所有功能的开发都是由本人独立完成,而且开发中使用的所有技术及工具也都开源的,易于学习和掌握的,所有省去了请专家开发指导的大笔费用,本系统的开发对计算机的软硬件的要求较低,因此这个系统在经济方面是完全可行的。
3.1.4 法律可行性
网上购物系统属于自己设计的管理系统,因为这个系统在数据管理方面以及软件方面都是应用自己开发的开源代码,不存在模仿或盗用其他人的软件问题,是非常合法的[12]。
从上面给大家讲解的过程不难看出,网上购物系统是一个全面优质的系统,我们开发的这个程序也是存在合法和必然性的,而且在技术方面也是过硬的,还节约了成本,难度不大,很适合用户进行操作。
3.2系统需求分析
本网上购物系统是为了提高用户查阅信息的效率和管理人员管理信息的工作效率,可以快速存储大量数据,还有信息检索功能,这大大的满足了用户、商家和管理员这三者的需求。操作简单易懂,合理分析各个模块的功能,尽可能优化界面,让用户、商家和管理员能使用环境更好的系统[13]。
对比要实现的功能来分析出用户的需求,可以让管理员在线对其进行添加、修改、查看、删除,这不仅提高管理员的工作效率,也满足了用户的需求,还大大的节省了时间。
本课题要求实现一套网上购物系统,系统主要包括管理员模块和用户、商家模块。
图3-1管理员用例图
(2)用户用例图如下所示:
图3-2用户用例图
(3)商家用例图如下所示:
图3-3商家用例图
3.3其他系统需求分析
3.3.1性能要求
在开发了一个功能较为良好系统之后,首要考虑的就是它的性能要求,比如当用户使用它进行点击或提交功能时,它会产生多久的延迟,系统响应速度快不快,如果短时间同时有较多用户访问网站是否会产生系统崩溃,是否采用高并发接口,另外,存储功能进行中的代码量是否满足算法和数据结构,以及是否占用较大内存等:
(1)系统应具备快速的反映时间,对于并发特征得到解决。
(2)系统对用户密码是否进行了加密并进行大量安全处理。
(3)系统代码量是否简洁,不会占用计算机太多内存。
3.3.2安全要求
对于安全要求要进行可靠性分析,可靠性分析有利于可实现安全性、可靠 性设计与系统功能设计在数据源上的统一。就本系统的安全性能而言,数据的帐户和密码需要以明文形式显示,并严格加密。更改密码、修改个人数据、添加信息需要相应权限。用户点击业务信息,登录、用户登录信息、地址等都会被随时监控。
3.4 系统结构和流程设计
开发该系统主要选用了SSM的架构设计,将主要表现层、业务逻辑层和数据访问层分离出来。表现层将请求的回应信息展现在java网页页面上便于客户访问,业务逻辑层负责获得并正确处理请求逻辑,确保SQL语句读取时取得成功或失败,数据访问层关键将数据信息拼写成SQL语句。由于分层次构造开展开发,可以使开发系统软件的耦合性减少,随后重用率提升,只在数据层对数据开展处理就可以了。随后由接口封装对象,业务层完成对系统的逻辑操作,在显示层展现和接受数据信息,用接口完成每个层间的数据信息的传送。实际操作的方法简洁明了,使体系能更快的运作。
操作流程需要进行设计,一个完整的系统可以流畅的操作下来是至关重要的,本系统的完整操作流程如图3-4所示:
图3-4系统操作流程图
本系统主要有管理员、用户、商家三种角色,进行登录时需要确保输入的内容与已经保存的账号信息一致,通过账户密码等方式来校验用户信息,输入正确则登入系统,输入错误则登入失败。系统登录流程,如图3-5所示:
图3-5系统登录流程图
在添加信息的时候,会判断是哪类用户,并根据用户类型判断执行是否合法,合法者可以进行添加,不合法者则不能进行此操作。管理员登录账号后可以对内容进行添加,拥有着最高的权限,用户、商家权限仅次于管理员。添加信息流程图如图3-6所示:
图3-6系统添加流程图
删除数据时与添加数据功能类似,删除数据具体流程如图3-7所示:
图3-7系统删除流程图
4系统设计
本次系统采用JSP技术进行开发,JSP技术是一款主流的软件开发技术,其简化了开发流程,大大缩减了软件开发所需的时间提高了软件的响应速度。系统基本结构图如图4-1所示。
图4-1 系统基本结构图
4.2 数据库设计
4.2.1 数据库实体
E-R图,即实体-联系图,它是一种通过对实例进行抽象,以可视化的方式来描述现实世界的概念模型。根据需求分析绘制出数据库的E-R图,能够直观地映射出各个表之间的关系。
用户信息实体图如图4-2所示。
图4-2用户信息实体图
商家信息实体图如图4-3所示。
图4-3商家信息实体图
购物车实体图如图4-4所示。
图4-4购物车实体图
购物商品实体图如图4-5所示。
图4-5购物商品实体图
4.2.2 物理模型设计
根据上诉的逻辑模型设计,数据库的主要作用是储存和管理整个系统的数据。数据库中的数据在保证一定的独立性和安全性的前提下,也要有某种程度的共享,在一定条件范围内可以共享某些数据。必须保证数据库中每张表里存储的数据是安全的,如果没有经过身份认证,就无法查阅及使用。在进行数据库设计时,应根据具体情况,进行有针对性的数据库开发和设计。下面列举主要数据库表结构。共15张表。
表4-1:购物车表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
addtime | timestamp | 创建时间 | CURRENT_TIMESTAMP | ||
tablename | varchar | 200 | 商品表名 | gouwushangpin | |
userid | bigint | 用户id | |||
goodid | bigint | 商品id | |||
goodname | varchar | 200 | 商品名称 | ||
picture | longtext | 4294967295 | 图片 | ||
buynumber | int | 购买数量 | |||
price | float | 单价 | |||
discountprice | float | 会员价 | |||
shangjiazhanghao | varchar | 200 | 商户名称 | ||
goodtype | varchar | 200 | 商品类型 |
表4-2: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-15:用户表
字段名称 | 类型 | 长度 | 字段说明 | 主键 | 默认值 |
id | bigint | 主键 | 主键 | ||
username | varchar | 100 | 用户名 | ||
password | varchar | 100 | 密码 | ||
role | varchar | 100 | 角色 | 管理员 | |
addtime | timestamp | 新增时间 | CURRENT_TIMESTAMP |
5系统详细设计
5.1 前台用户功能模块
当游客打开系统的网址后,首先看到的就是首页界面。在这里,游客能够看到网上购物系统的导航条显示首页、购物商品、商城公告、购物车。系统首页界面如图5-1所示:
图5-1 系统首页界面
在系统首页点击中间的注册/登录按钮,然后页面跳转到注册登录界面,后来输入信息完成后,单击注册或者登录操作,如图5-2所示:
图5-2 用户注册、用户登录界面
用户点击购物商品,在购物商品页面的搜索栏输入商品编号,进行查询,还可以查看商品编号、商品名称、商品分类、商品图片、品牌、商家账号、店铺名、价格、会员价,然后可以添加到购物车、立即购买或者收藏、评论等操作;如图5-3所示:
图5-3购物商品页面
购物车:用户将想要购买的商品加入购物车,加入购物车后可以增减数量、删除、点击购买,可一键清除失效商品,如图5-4所示:
图5-4购物车页面
用户点击商城公告:在商城公告页面的搜索栏输入标题,进行查询,还可以查看标题、简介、发布时间、商城公告等内容,如图5-5所示:
图5-5商城公告页面
在个人中心页面可以输入个人详细信息,进行信息更新操作,还可以对我的订单、我的地址、我的收藏进行详细操作,如图5-6所示:
图5-6个人中心界面
5.2 后台管理员功能模块
管理员要登录网上购物系统,需要输入用户名和密码,选择登录角色进行登录,管理员登录界面如图5-7所示:
图5-7管理员登录界面
管理员功能:管理员登录系统后,能对首页、个人中心、商家管理、用户管理、商品分类管理、购物商品管理、系统管理、订单管理进行操作。管理员功能如下图5-8所示:
图5-8管理员功能界面
管理员点击商家管理;在商家管理页面输入商家账号、店铺名、店铺地址、联系方式、封面图片、联系人、信誉分等信息,进行查询,添加或删除商家信息等操作;如图5-9所示。
图5-9商家管理界面图
管理员点击用户管理;在用户管理页面输入用户账号、用户姓名、性别、年龄、头像、是否会员等信息,进行查询,添加或删除用户信息等操作;如图5-10所示。
图5-10用户管理界面图
管理员点击购物商品管理;在购物商品管理页面对商品编号、商品名称、商品分类、商品图片、品牌、商家账号、店铺名、价格、会员价等信息,进行查询或删除购物商品等操作;如图5-11所示。
图5-11购物商品管理界面图
管理员点击系统管理;在系统管理页面对轮播图管理、商城公告、关于我们、系统简介等信息,进行查询或删除系统信息等操作;如图5-12所示。
图5-12系统管理界面图
管理员点击订单管理;在订单管理页面对订单编号、商品名称、商品图片、购买数量、价格、折扣价格、总价格、折扣总价格、支付类型、状态、地址、电话、收货人、备注、商户名称、商品类型等信息,进行查询或删除订单信息等操作;如图5-13所示。
图5-13订单管理界面图
5.3 后台商家功能模块
商家注册界面,第一次使用本系统的使用者,首先是要进行注册,点击“注册”,然后就会进入到注册的页面里面,将商家信息录入注册表,确认信息正确后,系统才会进入登录界面,商家登录成功后可使用本系统所提供的所有功能,如图5-14所示。
图5-14商家注册界面
商家登录界面,首先双击打开系统,连上网络之后会显示出本系统的登录界面,这是进入系统的第初始页面“登录”,能成功进入到该登录界面则代表系统的开启是成功的,接下来就可以操作本系统所带有的其他所有的功能,如图5-15所示。
图5-15商家登录界面
商家登录系统后,可以对首页、个人中心、购物商品管理、订单管理等功能进行相应操作,如图5-16所示。
图5-16商家功能界图面
6系统测试
6.1 软件测试简介
取得源代码后,进到软件测试环节。由于在测试以前,系统很有可能也有许多问题,要是没有发觉得话,可能会存在安全隐患或者导致系统无法正常运行[14]。
系统整体测试步骤:
(1).单元测试
单元测试通常是在源码编译程序并查验没有错误以后开展,这也是全部测试的第一步。
(2).集成测试
集成测试的具体目的是明确与界面有关的问题,一般来说,模块测试进行后,将所有模块组成系统进行测试。
(3).确认测试
确认测试就是检测有没有与需求不相符的设计或功能,所以,确认测试又被称为有效性测试。
(4).系统测试
系统测试是确认在实际运行环境下,需要测试的软件是否存在问题。系统测试不但是因为发觉系统中不确定性的bug或不正确,也是为了能给用户带来不错的感受和安全性可以用的产品与服务。出现能发现未知错误或潜在性问题将有利于设备的竞争能力,这也是软件测试的主要目标之一。
软件测试方式有几种,但现阶段主要是以功用为关键测试方位的白盒测试和以逻辑性为关键测试方位的黑盒测试。这也是二种不一样的测试方式,对于不一样的测试关键。本课题研究依据具体要求,挑选以功用为关键测试方位的白盒测试方式,测试要根据一定的标准开展。测试的实行一般由测试测试用例特定,测试测试用例一般依据要求或命令制订。硬件配置在出厂前,测试是一个十分关键的全过程。因为时间和心力的缘故,本课题研究挑选已经完成的作用做为测试点开展测试。实际测试全过程如下所示:
测试实例1和测试全过程:
登录:键入登录信息、账户、登陆密码和管理权限,点一下登录按键。有2种状况:登录取得成功进到用户有管理权限的作用页面,登录不成功。
测试测试用例2和测试全过程:
登录:键入登录信息、管理人员账号、登陆密码和管理权限,随后点击登录按键。有2种状况:登录取得成功进到管理人员。具有权限的功能界面和提示登录失败[15]。
点击领取源码