基于Struts2+Spring+Hibernate网上体育商城的设计与实现

智术园

发布日期: 2020-08-03 19:00:17 浏览量: 44
评分:
star star star star star star star star star star_border
*转载请注明来自write-bug.com

摘 要

如今我们生活在一个互联网时代,随着智能手机与网络技术的日益发达,电子商务空前发展,许多商品的销售也逐渐从有形的市场转向虚拟的网络,为了满足人们购买体育用品的需求,网上体育商城应运而生,目的是在体育商城与消费者之间建立一座高速、便捷的网上信息桥梁,从而可以节省用户的时间、方便他们购买,使其永远走在时代的前沿。

本系统的设计严格遵循软件开发流程,使用MVC模式,采用开源框架Struts2、Spring、Hibernate进行开发,使用java语言编写,后端的数据库采用MySQL,通过Spring配置文件与数据库进行无缝连接,应用可以跨平台的Web应用技术与SSH结合开发的网上购物系统—网上体育商城,通过使用这些框架,使开发过程中的逻辑更加清晰,更有层次,也简化了代码的书写,更好的了解了Web应用程序和这些开源的框架技术,熟练了使用框架开发的流程。

该体育商城网站的前台页面非常简单明了,当用户第一次访问该商城时,可以清晰的看到商城中的新款商品与销量排行,可以非常方便的挑选到自己需要的商品,后台的管理也很方便,管理员可以对商品、订单等进行管理,所以该网上体育商城的创建可以更好地解决人们因没有时间到实体店而不能买到自己需要的体育用品的问题,商家使用该系统,也可以方便管理,提高工作效率。

关键词:网上体育商城;Struts2;Spring;Hibernate;MVC

Abstract

Nowadays,we live in an era of the Internet,With the development of smart phones and network technology, the unprecedented development of e-commerce,many goods s-ales have gradually shifted from the tangible market to the virtual network.In order to meet the needs of people to buy sporting goods,Online sports malls came into being.The aim is to establish a high-speed and convenient online information bridge between the sports mall and the consumers,which can save the user’s time and make them easy to buy and keep it at the forefront of the times.

The design of the system strictly follow the software development process, the use of MVC model, the use of open source framework Struts2, Spring, Hibernate development, the use of java language, back-end database using MySQL,through the Spring configuration file and database seamless connection, the application can be cross-platform Web application technology and SSH combined with the development of online shopping system - online sports mall,by using these frameworks, the logic of the development process is clearer, more hierarchical, simplifying code writing, better understanding of Web applications and these open source framework technologies, and proficient in the use of framework development processes.

The front desk page of the sports mall website is very simple and clear, when the user first visit the mall, you can clearly see the mall in the new goods and sales ranking, can be very convenient to pick their own needs goods,the management of the background is also very convenient, the administrator can manage the goods, orders, etc., so the creation of online sports mall can better solve people because there is no time to the store and can not buy their own needs sporting goods,businesses use the system, you can also facilitate the management, improve work efficiency.

KEYWORD:Online sports mall; Struts2; Spring; Hibernate; MVC

第1章 前言

1.1 系统开发背景

伴随着互联网加时代的到来,智能手机的不断普及,过快的工作节奏,使人们在紧张繁忙的工作之后,没有大把的时间再去逛商场购买物品,因此很多人选择在网上商城购买自己心仪的物品。我们生活中常见的体育用品从外表观察,品种繁多,实体店无法有足够大的店面来展示所有物品,有些喜欢锻炼的朋友没有时间去实体店挑选,而且现在的网上购物环境越来越好,买到的东西如果不满意还可以免费退换,人们也乐于尝试在线购买。所以网上体育商城在互联网上纷纷出现。

由于我国的互联网已经基本全面覆盖,速度很快而且信息量也很全面,方便了人们的生活。就在网上销售体育用品的商城而言,销售理念其实非常简单明了,就是尽最大的可能帮助顾客在第一时间寻找到自己需要的体育用品。对于喜欢锻炼的人来说,网上体育商城近在咫尺,并且二十四小时营业,只要顾客来访问店铺,肯定有客服招待,只要你有网,就可以随时浏览和购买商品,不再需要亲自跑去商店,一家一家的跑,只要打开电脑访问商城就可买到自己所需要的体育商品,而且顾客在网上商城看到的商品要比实体店里多的多,下单也很方便,同时还减少了购买过程中的支出,现在时间对于每个人来说都非常宝贵,网上购买体育商品可以节省大量时间,这对于那些没有时间经常逛实体店或其住所离店面较远的顾客来说,无疑是一个好的选择。所以我认为该网上体育商城一定会有大的发展空间。设计该系统的最初目的就是要实现在线销售体育商品,顾客可以注册会员、浏览商品、在线留言、购物下单等一系列功能,可以保证顾客不用出家门就能够在该体育商城购买到自己非常喜爱的商品,最终用户可以买到自己喜欢的商品,商家也可以获取更多的利润,形成一个互利的局面。

1.2 国内外研究现状

现如今,随着智能手机的飞速发展,越来越多的人已经习惯了在网上购买商品,因此最近几年来,国内出现了很多大的网上体育商城,主要是买一些专业的体育用品和一些运动类的服装,大家平时所访问的有淘宝、天猫、京东、虎扑、优个网等等,这些网站上的商品都是品牌直接授权,正品保障,在业内的口碑不错,还有一些有名的体育类的品牌商家,也把线下的实体店转到了线上,比如李宁、361、安踏等等,他们也有专门卖自己品牌商品的网上商城。

国外使用互联网的时间要比咱们早,网络技术的发展相对咱们也要强,因此国外的网上商城的发展也是相当不错的,比较有名的有亚马逊,在这个网站上面可以买到自己喜欢的很多商品。

纵观国内外的发展,我感觉网上体育商城是网络购物中不可缺少的部分,因为在网上购买体育商品能够弥补传统购买方法的很多缺点,互联网加传统购物行业,既为需要购买商品的顾客提供了方便,也使商家尝试了一种新的销售手段。

现在网络正处于大力发展的时候,各行各业都需要计算机的辅助加以提高效率,购买体育用品更应该求助于快速并且方便的网络工具——网上体育商城。

1.3 系统开发目的及意义

在各行各业竞争日益激烈的今天,工作的效率和质量,是每个企业都要面对并且重视的问题。如果网上体育商城的系统开发成功,有些着急需要使用产品而没有时间的客户,将不再需要去实体店寻找,现在Wifi的覆盖率也非常广,可以在任何地方,拿出自己的手机或电脑,登上体育商城的网站,挑选自己需要的商品,下单订购就好了,非常的方便,顾客使用这样的系统,既可以节约时间,又能挑选自己喜欢的商品,非常省事,而商家使用这样的系统,可以提高办事效率,把以前对销售员的开销能省下来。

随着这种购物网站的不断出现,计算机和网络技术的不断进步和提升,个人电脑和智能手机的增加,使人类的信息传播方式和生活方式都得到了很大的改变,人们的网购也会越来越频繁,这无形中也促进了互联网在中国的发展,对提高我国的经济发展水平也是有利的,所以我认为开发这个网上体育商城,对人们的生活有诸多的好处,值得开发。

第2章 相关技术工具介绍

2.1 Struts2与MVC

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,Struts2中对于用户的请求是通过拦截器来处理的,当用户在客户端对浏览器发出HTTP请求,根据web.xml配置,该请求被FilterDispatcher接收,根据struts.xml配置,找到需要调用的Action类和方法,并通过IoC方式,将值注入给Aciton,Action调用业务逻辑组件处理业务逻辑,这一步包含表单验证,Action执行完毕,根据struts.xml中的配置找到对应的返回结果result,并跳转到相应页面,返回HTTP响应到客户端浏览器,简单的说,就是用户在页面发出一个请求,通过struts找到对应的方法进行处理,处理完成把结果返回。

MVC模式是项目开发中最常用的设计模式,英文即Model-View-Controller,模型里有JavaBean,JavaBean的主要工作是负责数据模型,进行业务逻辑和访问数据库,视图中有JSP,JSP可以允许在HTML中插入JAVA代码,控制层里有Servlet,Servlet的作用是接收请求和控制应用程序,当用户在客户端发送请求时,服务器响应客户端的执行过程是,先执行Servlet,Servlet调用JavaBean,JavaBean访问数据库,数据库返回数据给JavaBean,Servlet调用了JavaBean之后,转向JSP页面,然后JSP页面就可以动态的显示数据呈现给用户,主要目的就是把大量的数据分开展示,也就是模型层和视图层的分离,中间用控制层来协调,起着一个类似中介的作用,将模型运算的结果发送到视图,视图负责将这部分数据显示给客户。

  • 模型(Model)相当于人体的骨骼,里面封装了各种拥有私有属性和set/get方法的类

  • 视图(View)相当于人体展示的动作,将数据用控制层提供的方法从模型层中取出来放在视图层中展示出来

  • 控制器(controller) 相当于人体的大脑,封装了各种读取模型层中数据的方法,主要控制各种业务逻辑

这三者之间的关系如图2-1所示。

2.2 Hibernate

Hibernate是一个开源持久框架。它是由Gavin King在2001创建。简单来说,Hibernate是一个轻量级的ORM(对象关系映射)解决方案或java工具、Hibernate框架进行简化,用java开发应用程序与数据库的交互。Hibernate框架的主要优点是:比起JDBC,Hibernate没有很多复杂的SQL语句需要书写。使用Hibernate框架,没有必要在JDBC中完成所有不必要的繁琐工作;域对象与关系数据库的高效映射。因此,没有必要集中精力管理数据库中的数据;它的性能更好,速度快,因为使用缓存内部处理。Hibernate框架在数据库中自动创建表,因此不需要手工创建表。它简化了复杂的连接,由于这种简化,它很容易从多个表中获取数据。Hibernate支持继承、集合和关联。Hibernate有自己的独立数据库查询语言。

2.3 Spring

Spring 是一个开源框架,通俗来说是用来关联两个对象的,对象和对象之间不再需要实例化,只需用在spring的配置文件中配置一下就可以确定两个对象之间的依赖关系,spring的两大特点是依赖注入和控制反转,简单点来说,就是在代码中对对象实例化以后,需要调用对象的方法,但是使用了spring以后,就可以直接在代码中指向需要的对象和对象的方法,只需要在配置文件中自动把类注入,不需要自己在写new,是系统的耦合度降低了,这样做的好处是只需要知道对象的名称而不需要知道对象具体是干什么的,一旦对象改变只需要简单的改一下配置文件即可。

AOP又称为面向切面编程,它的实现原理还是用了反射,通过对某一个种类的方法名做监控来实现统一处理,面向切面编程最大的用途就是提供了事务管理的能力,事务管理非常的复杂,而我们的目的是去访问数据库,而不想管理太多的事务,所以spring在我们访问数据库之前,自动帮我们开启事务,当访问数据库结束时,会自动提交或回滚事务,这样可以使我们写的代码更加的简洁,注重于它实际需要解决的问题。

2.4 开发工具以及环境

2.4.1 Eclipse工具说明

Eclipse是IBM公司投资开发的,是一个开源、功能强大、最为流行的Java编程工具,因为可以免费下载使用,所以大多数人都是将Eclipse作为Java的集成开发环境使用。

Eclipse里的插件非常多,基本上能想到的插件都有,可以无限的进行扩展,尤其是公司做项目时,用eclipse找各种插件非常的方便,而且eclipse的图形化界面非常好,不会出现字体丑的问题,它提供的快捷键非常的好用,还可以设置自动补全,它里面的很多功能都是为java量身定做的,用它编写java代码非常的快。

2.4.2 MySQL工具说明

MySQL数据库软件中的一种,是当前比较受欢迎的开源的小型关系型数据库管理系统,因为它可以免费使用,而且体积小、速度快,所以受到很多中小型企业的喜爱,其被甲骨文公司收购后,由甲骨文进行开发、分发和支持。MySQL可以运行在所有的操作系统上,包括Linux,UNIX和Windows,可以说应用非常广泛,但是MySQL最常用于是基于Web的应用程序,由于它的性能优越,搭配JAVA和Apache tomcat可组成良好的开发环境。

2.4.3 Tomcat服务器介绍

Tomcat 服务器是SUN公司官方推荐的服务器和Jsp容器,是由java语言开发的,它只是一个servlet容器,是Apache的扩展,主要用来处理动态网页,是jsp的服务器之一,如果网页是纯html静态网页,通过浏览器就可以直接解析查看效果,但是网页一旦用jsp来生成动态网页,浏览器就无法直接解析了,需要用Tomcat服务器来进行解析,在这次开发中也应用到了。Tomcat部署很简单,只需要先将Tomcat添加到eclipse中,然后把需要运行的项目添加到Tomcat中,然后启动Tomcat服务器,Tomcat会自动检测这个文件,通常情况下第一次运行速度比较慢,而后运行速率会加快,因为在第一次部署完成后Tomcat要将jsp转化为Servlet文件后才能编译。

2.4.4 系统运行环境

  • 操作系统:Windows7及以上

  • Web服务器:tomcat7.0

  • 浏览器:Fire Fox、Google Chrome

第3章 系统的分析

3.1 系统可行性分析

随着我国科技力量的不断提高,互联网的覆盖率越来越广,智能手机的技术越来越成熟,使用它的人也越来越多,在互联网上的各种各样的信息都很多,关于购物的信息也很多,网上购物已经是如今互联网中不可缺少的一部分,人们可以在任意时刻在手机上挑选自己喜爱的商品,我相信要不了多长的时间,人们就可以在网络世界上购买他们在现实生活中不方便买到的所有商品。可行性研究的目的,就是看如果这个项目开发成功,能否达到最初的开发目标,把它的最大价值发挥到极限。要想达到这种效果,必须它的可行性进行分析,预估一下开发成功的概率和成功以后的可用性。

系统的可行性分析主要包括经济可行性,技术可行性,操作可行性和法律可行性。本系统的可行性分析如下:

3.1.1 经济可行性

由于开发网上体育商城所需的电脑,在电脑商城可以很容易的购买到,所需的软件也可以在官网上方便的下载,因此开发环境可以很容易搭建好,系统的主要成本主要集中在本系统的前期开发上和后期的维护上,前期的开发可能相对后期的测试辛苦一点,但假设通过自己的努力,成功的完成了此项目的开发,将来如果投入使用,卖家可以提高自己的工作效率,一个人就可以打理一个很大的店铺,节省了很多的劳动力,买家如果使用这个网站购买商品,可以大大的节约自己的时间,坐在家里就可以买到自己需要的体育商品,不需要再去大商场跑,由于系统的设计不是很复杂,开发的时间也不是特别长,所需提供的人员、花费的金钱都比较少,所以从经济可行方面来考虑此系统是可以开发的。

3.1.2 技术可行性

该网上体育商城有关技术方面的开发,主要包括对主要代码逻辑的实现、网站前台页面的设计和后台数据库的建立。对于前端客户端的开发应该做到功能完整、使用方便,对于前台页面的设计应该做到美观大方,对于后台数据库应该做到数据完整和一致、数据库安全性较好。

开发该体育商城系统所采用的语言是主流语言java,数据库用的是Mysql,目前jsp是比较火的制作动态网页的技术,因此使用它作为处理动态网页的技术,这些开发所需用的技术都可以很方便的寻找到资源,并且能够顺利完成开发工作,因此从技术方面来讲开发此系统是可行的。

3.1.3 操作可行性

网上体育商城是一个基于Web的体育商城。系统的前台界面非常直观,不管你是不是第一次使用这个网站,打开网页就知道如何操作,无论用户在什么地方,只要有网,都可以在电脑上通过浏览器访问该体育商城,所有的操作都非常简单,商家不需要进行专门的培训学习,就可以对商城里自己的商品进行管理,买家就更不用说了,直接打开网站,浏览商品,有看中的直接加入购物车,付款就完成了,因此在操作上该商城的系统是可行的。

3.1.4 时间可行性

从现有的时间上来看,对于该商城系统的开发有将近四个月的时间,除过查询资料学习技术的时间,剩下的时间足够实现该项目的最基本功能,因此该系统在时间上是可行的。

3.1.5 法律可行性

从法律上讲,开发此系统所使用的所有技术、所有软件工具都是开源的、合法的,不存在触犯法律的行为,系统的设计都是自己独立完成的,没有抄袭任何系统的源代码,完全是自己的设计思想,并且该体育商城系统是为毕业设计准备的,并没有投入任何商业市场获得利润,因此该体育商城系统从法律上讲是可开发的。

3.2 系统需求分析

根据对该网上体育商城的功能进行分析,为了满足用户的需求,该系统应该满足以下功能,接下来从前台的客户端界面和后台管理界面分别对该系统的功能加以描述。

前台页面的功能主要包括:

  • 体育商品分类:当用户第一次访问该商城时,可以按照商品分类快速查找到自己所需商品是属于哪一类型

  • 所售商品描述:当用户看到某一商品时,可以很快看到这件商品的详细介绍

  • 商品销量排行:在该商城的客户端界面,用户可以清晰的看到该商城畅销的前五件商品

  • 商品的搜索栏:当用户不想逐一类别的查找自己需要的商品时,可以在搜索栏进行查找,该搜索栏必须支持模糊查询,用户只输入关键字,就可以快速查找到自己需要的

  • 会员留言:该功能是用来专门给用户提供反馈意见的机会,用户对在该商城买的商品有某些意见,可以进行留言,或者对该商城有某些建设性的建议,也可以进行留言,总之,就是为用户提供一个与商家交流的窗口

  • 会员的注册登录:该功能是一个购物网站不可缺少的主要功能,用户只有注册登录成功后,才可以进行后续的一系列操作,不然就只能浏览商品,不能进行购买

  • 购物车:该功能也是一个购物网站必须的功能,用户不可能看中一件商品就去付一次款,这样对商家和用户都不是很方便,用户可以先将看中的商品加入购物车中,等挑选结束后,再进行统一付款

  • 查看订单:该功能主要是方便用户查看自己的订单,当用户下一次单时,商家可以受理此订单并进行发货,用户收到货后,可以确认收货并评价商品

  • 查看个人信息:当用户在该商城进行注册时,需要填写自己的个人信息,如姓名、性别、地址、邮箱、电话、QQ等信息,注册成功后,该商城会把每一位注册成功的用户信息保存下来,用户登录成功后,可以查看并修改个人信息

  • 联系我们:该功能主要是给用户提供商家的联系方式,当用户有某些需求时,可以直接跟商家电话联系

  • 网站公告:该功能主要是方便商家对顾客发布一些公告,如商城搞活动或有新商品上架等

  • 后台登录:在前台页面的下方提供一个管理员登录后台的按钮,管理员点击该按钮,可以进入后台登录界面,方便管理员进行管理

后台管理页面的功能主要包括

  • 系统参数:该功能可以使管理员看到该商城系统的版本号和作者及作者的邮箱,有需要改进的地方可以直接和作者联系

  • 管理员维护:该功能可以让管理员对自己的密码进行修改

  • 注册会员的管理:管理员可以对前台已经注册的一些会员用户进行管理,当某些会员用户有非法操作时可以进行删除,防止对该商城系统造成大的损害

  • 商品管理:该功能使管理员对该商品的类别和具体商品进行管理,对商城所售商品的类别进行增加、修改和删除,对具体某一件商品进行添加和删除

  • 订单管理:当某一用户在前台下单后,管理员在后台可以查看订单明细,受理此订单或删除该订单,方便管理员对订单的管理

  • 销量管理:管理员在后台可以对该商城所售商品的销量进行管理,商品的销量按从高到低进行排列

  • 留言公告管理:管理员在后台可以查看或删除用户的留言,发布最新的公告或删除过期的公告

  • 退出后台:该功能主要是方便管理员的退出,当管理员想退出后台管理页面时,点击此按钮,可以迅速返回到后台的登录页面

以上就是该体育商城的前台客户端页面和后台管理页面所需要实现的所有功能。

3.3 业务流程分析

网上体育商城的主要工作流程为:启动服务器并进入系统界面,用户可以浏览网页,挑选自己喜欢的体育商品,管理员的权限是最大的,既可以管理整个系统,又可以管理已经注册的会员用户,对所售体育商品进行添加、修改和删除,还可以处理客户订单,以及对商品销量进行查看管理、查看留言。

用户在该体育商城系统中的业务流程图如图3-1所示。

该系统是将程序技术与生活中的实际应用紧密结合的好的案例,利用编程语言的技术改善了人们的生活,使不懂得技术的人也能与计算机进行交互,并且在该系统中,为了提高服务的人性化,专门设计了一个交流平台,商家可以发布公告,买家可以进行留言,对店铺提出自己的建议,有利于系统的不断完善。并且此系统界面简单直观,操作非常方便,只需轻轻点击鼠标就可以完成相应的操作,功能也非常丰富,适合所有的购物网站,方便移植,需要的商家只需要对前台代码做小的改动,就能更新前台的系统界面,及时显示出新的画面效果,省去了更改系统源代码的复杂,对工作效率和工作质量的提高很有帮助。

第4章 系统的设计

4.1 系统的设计

在该网上体育商城的设计过程中,突出了面向对象的设计理念,使用的开发模式为B/S模式,后台管理系统与前台客户端的处理层次分的很清楚,并且考虑到了不同用户浏览网页的方式不同,在页面的开始设置了一个搜索栏,系统的界面非常简单友好,用户在访问的过程中,操作方便,系统的响应速度非常快,占用的资源很少,可以满足大多数用户的购买需求,页面设计比较人性化,匿名用户第一次访问该网站,可以很轻松的找到自己想要的商品。在设计和开发这个系统时,模块化的设计理念也很突出,把一个大的系统划分成好几个小的模块,简化设计,有利于更好的开发。

4.2 业务对象设计

在该体育商城的系统设计中,普通用户的权限有注册会员、登录网站、浏览商品、查询商品、加入购物车、下单购买,因为普通的用户登录网站主要就是想买到自己喜欢的体育用品,所以拥有这些权限足够了,普通会员用户的用例图如图4-1所示。

也有一些访问者可能是匿名用户,用例图如图4-2所示。

在该商城系统中,核心的管理者是系统管理员,管理员对商城里的各个功能模块都可以进行操作,对商城里的所销售的体育用品信息也可以修改,处理客户的订单,并能及时的增加一些时下流行的体育商品,下架一些过时的体育商品,反馈客户的留言,发布公告,管理员的用例图如图4-3所示。

4.3 业务流程设计

4.3.1 业务流程图

在该体育商城的系统中,普通的用户第一次访问商城网站时,不能立即购买商品,只能浏览网页,要想马上购买商品,就必须要注册会员,输入自己的基本信息,设置正确格式的用户名和密码,然后登录,就可以买喜欢的商品了,而要想进入这个体育商城系统的后台管理界面,身份必须要是管理员,输入正确的名字和密码后就可以进入后台管理界面。管理员成功登陆后可以对访问该网站的会员人员进行管理、对商品的基本信息管理、对订单、销量、留言等进行管理。

根据以上的叙述,建立了普通用户的系统流程图,如图4-4所示。

建立了管理员的系统流程图,如图4-5所示。

4.3.2 系统前台功能图

根据系统的需求分析,设计了普通用户的功能模块图,如图4-6所示。

4.3.3 系统后台功能图

根据系统的需求分析,设计了管理员的用户模块图,如图4-7所示。

4.4 数据库

数据库简单的来说,就是一个保存数据的小仓库,所有需要的数据都可以往里面存,现在我们生活中的各行各业都离不开它,最普通的例子,我们平时使用微信聊天,所有的好友,聊天记录都是存在数据库中的,我们手机里的联系人,短信也都是存在数据库里的,这也就是所谓的数据库,它产生于二十世纪六十年代,特别是最近几年,随着电子商务技术的不断发展,市场需求的不断变化,数据库不再仅仅具有存储数据的功能,而要满足对不同的数据进行管理的功能,现在各行各业的发展都有大量的数据,都离不开对数据的管理,为了科学的和有效的管理,都需要依靠数据库,因此数据库技术得到了广泛的应用。

4.4.1 数据库需求分析

该体育商城系统的数据库需求具体体现在对所有的注册会员的用户进行管理,对各种体育商品的情况进行管理,这就要求数据库能及时的更新数据,确保每一条数据都能够保存,保证对每个会员,每件商品进行有效的管理,为最终项目的成功运行提供保障。

4.4.2 数据库概念结构设计

数据库的概念结构设计在整个开发过程中非常的重要,没有一个好的概念设计,编码做得再好都是徒劳,一般可以利用E-R图进行数据库的概念设计,E-R图可用于描述各个实体之间的关系。

经过对该体育商城系统的分析:

得出一个系统管理员可以管理多个体育商品,而一个体育商品也可以被多个管理员进行修改,所以是多对多的关系,如图4-8所示。

管理员实体的E-R图如图4-9所示。

登录用户的E-R图如图4-10所示。

每个体育商品的E-R图如图4-11所示。

商品订单的E-R图如图4-12所示。

4.4.2 数据库逻辑结构设计

该体育商城系统的概念结构设计完成后,该数据库的逻辑结构设计可以参照概念结构设计转化过来。

网上体育商城数据库中各个表的设计如下所示,每个表格表示在数据库中的一个表。

描述管理员各个属性的表为管理员表 t_admin,主要包含管理员的ID号、用户名和密码,如表4-1所示。

列名 数据类型 长度 允许空
用户序号 userId int 11 主键
用户名 userName varchar 50 not null
密码 userPw varchar 50 not null

描述商品所有类别的表为商品类别表 t_catelog,主要包含商品类别的ID号、类别的名称和具体描述,如表4-2所示。

列名 数据类型 长度 允许空
类别序号 catelog_id int 4 主键
类别名称 catelog_name varchar 50 not null
类别描述 catelog_miaoshu varchar 5000 not null

描述公告信息的表为t_gonggao,主要包含某条公告的ID号、公告的标题、公告的内容、公告的发布时间和发布者,如表4-3所示。

列名 数据类型 长度 允许空列名
公告序号 gonggao_id int 4 主键
公告标题 gonggao_title varchar 50 not null
公告内容 gonggao_content varchar 50 not null
发布时间 gonggao_data datetime 50 null
发布者 gonggao_fabuzhe varchar 50 null

描述用户留言的表为 t_liuyan,主要包含用户留言的ID号、留言的标题、留言内容、留言的日期和留言人,如表4-4所示。

列名 数据类型 长度 允许空
留言序号 liuyan_id int 4 主键
留言标题 liuyan_title varchar 10 not null
留言内容 liuyan_content varchar 8 not null
留言日期 liuyan_date varchar 10 not null
留言者 liuyan_user varchar 4 null

描述商品具体属性的表为 t_goods,主要包含某件商品的ID号、商品的名称、商品的详细描述、商品图片和该商品所属类别的ID号,如表4-5所示。

列名 数据类型 长度 允许空
商品序号 goods_id int 4 主键
商品名称 goods_name varchar 10 not null
商品描述 goods_miaoshu varchar 8 not null
商品图片 goods_pic varchar 10 not null
类别ID goods_catelog_id int 11

描述商品订单属性的表为 t_order,主要包含订单的ID号、某条订单的编号、订单的日期、订单目前的状态、订单的金额、订单的送货方式和付款方式,还有下此条订单的用户ID号,如表4-6所示。

列名 数据类型 长度 允许空
订单序号 order_id int 4 主键
订单编号 order_bianhao varchar 10 not null
订单日期 order_date varchar 8 not null
订单状态 order_zhuangtai varchar 10 not null
订单金额 order_jine varchar 4 null
订单送货方式 order_songhuodizhi varchar 4
订单付款方式 order_fukuangfangshi varchar 4
用户ID order_user_id int 4

描述商品订单明细的表为 t_orderitem,主要包含该订单明细的ID、订单的ID号、商品的ID号和商品的数量,如表4-7所示。

列名 数据类型 长度 允许空
订单明细ID orderItem_id int 4 主键
订单ID order_id int 4 not null
商品ID goods_id int 4 not null
商品数量 goods_quantity int 4

描述会员用户属性的表为 t_user,主要包含用户的ID号、用户名、密码、真实姓名、地址、性别、电话、邮箱和QQ号,如表4-8所示。

列名 数据类型 长度 允许空
用户序号 user_id int 4 主键
用户名 user_name varchar 50 not null
密码 user_pw varchar 50 not null
真实姓名 user_realname varchar 50 not null
地址 user_address varchar 50 null
性别 user_sex varchar 50 null
电话 user_tel varchar 50 null
邮箱 user_email varchar 50 null
QQ user_qq varchar 50 null

描述用户评价的表为 t_ping,主要包含该评价的ID号、评价某条订单的ID、订单明细的ID、所评价商品的ID、商品的名称、用户的ID、写该条评价的用户名、评价的具体内容和评价的日期,如表4-9所示。

列名 数据类型 长度 允许空
评价序号 id int 4 主键
订单序号 order_id int 50 null
订单明细序号 orderitem_id varchar 50 null
商品编号 goods_id varchar 50 null
名称 mingcheng varchar 50 null
用户序号 user_id varchar 50 null
用户名 loginname varchar 50 null
评价信息 info varchar 50 null
添加日期 adddate varchar 50 null

第5章 系统的实现

根据对该体育商城系统的需求分析,该商城的界面主要分为后台管理页面和前台客户端页面,用户只可以访问前台客户端页面,通过浏览网页来满足自己的购物需求,商城前端的所有功能都是通过后台的管理来实现的,所显示的所有商品信息都需要通过后台管理系统来增加、修改和删除,后台管理页面只有管理员可以访问。因为在后台需要对所有商品的信息进行处理,所以后台管理部分的开发比前台客户端要复杂。

对于该体育商城系统,概括起来,主要实现了以下功能:

  • 前台部分

    • 商品分类:用户可以查看商品的所有分类,方便用户快速找到自己需要的商品
    • 商品描述:用户可以查看每件商品的详细描述
    • 销量排行:用户可以看到该商城中商品销售排在前五的商品
    • 商品搜索:用户可以搜索自己感兴趣的体育商品,该搜索栏支持模糊查询,只需输入关键字就可以查到
    • 会员注册:用户填写自己的基本信息,可以成为该商城的会员用户
    • 用户登录:注册成功后,可以登录该商城的网站
    • 购物车:用户看中一件商品不需要马上付款,可以先加入到购物车中,挑选结束后再整体付款
    • 订单管理:用户可以查看自己已下的订单,看是否被管理员受理,收到商品后,可以点击收货,并对商品进行评价
    • 留言:用户可以对网站进行留言,发表自己的建议或意见
    • 公告管理:管理员可以在后台发布公告,用户可以在前台进行点击看到公告的详细信息
    • 联系我们:提供网站的联系方式,用户有某些需求可以直接联系
  • 后台部分

    • 系统参数:管理员可以查看此刻系统运行环境
    • 管理员维护:管理员可以对自己的密码进行修改
    • 会员管理:管理员可以对该体育商城的用户进行删除
    • 商品管理:管理员可以对商品的类别进行添加、修改和删除,对具体某一类别的商品进行添加和删除
    • 订单管理:管理员可以查看用户订单的详细信息,还可以受理用户的订单或删除用户的订单
    • 销量管理:管理员可以查看该商城中所有商品的销售情况,按商品的销售量由多到少进行排列
    • 留言公告管理:管理员可以查看所有用户的留言或删除,发布新的公告或删除旧的公告
    • 退出系统:当管理员的所有操作都结束后,可以点击退出系统进行退出

下面分别说明这些功能进行具体的说明。

5.1 体育商城前台界面

5.1.1 首页界面

用户第一次登录商城时,可以在浏览器中输入 localhost:8087/tyypsc ,发出请求后,前台显示index.jsp,用户可以看体育商城主界面,主要分为三个div模块,上面为一块,下面分成左右两块,界面如图5-1所示。

当用户刚打开该商城网站时,点击在线留言、我的信息、购物车、我的订单,都会提示请先登录,主要是通过以下代码实现的:

  1. <s:if test="#session.user==null">
  2. alert("请先登录");//弹出对话框
  3. </s:if>

新款上市主要是按商品ID号进行降序排列,关键代码如下:

  1. String sql="from TGoods where goodsDel='no' and goodsIsnottejia='yes' order by goodsId desc";//按商品ID号降序排列
  2. List goodsYesTejiaList=goodsDAO.getHibernateTemplate().find(sql);
  3. if(goodsYesTejiaList.size()>5)
  4. {
  5. goodsYesTejiaList=goodsYesTejiaList.subList(0, 5); //商品列表中的前五个商品品
  6. }
  7. request.put("goodsYesTejiaList", goodsYesTejiaList);

5.1.2 商品分类

对商品信息进行分类,既使商家方便管理商品,更有利于用户更快的挑选自己需要的商品,该商城的商品主要分为以下四类,点击每一类,都可以查看这个类中的所有商品,如图5-2所示。

点击商品信息,可以查看该商城所售的所有商品,如图5-3所示。

5.1.3 商品描述

用户在商城主页面点击任意一张喜欢的商品图片可以跳转到一个新的jsp页面,在该页面用户可以看到该体育用品的基本介绍,和已购买用户的评价,如图5-4所示。

5.1.4 销量排行

根据顾客的喜欢程度,将销售情况较好的前五件商品展示出来,这样更有利于顾客的挑选,如图5-5所示。

销量排行的关键代码如下:

  1. sql="select sum(goodsQuantity),goodsId from TOrderItem group by goodsId order by sum(goodsQuantity) desc"; //按照商品销售数量的多少进行降序排列

5.1.5 商品搜索

该搜索功能支持模糊查询,只要输入所需商品关键字,点击商品搜索按钮,调用goodsAction.java中的goodSearch方法,可跳转到goodSearch.jsp页面,可以查询到用户需要的商品,如图5-6所示。

5.1.6 会员注册

注册功能是购物网站最基本的功能,用户只有成功注册,才能继续进行接下来的一系列操作,在该体育商城中,当用户在前台页面点击注册按钮后,会弹出注册的jsp页面,显示一个填写信息的form表单,用户按照要求填写基本信息,check1方法会判断用户填入的信息是否符合要求,如果符合要求,点击确定按钮,提示注册成功,如图5-7所示。

注册成功后,用户输入正确的用户名和密码,可以成功登录该网站,登录后点击我的信息,可以跳转到userXinxi.jsp页面,在该页面中,用户可以修改自己的基本信息,如图5-8所示。

用户点击注册按钮后,填完基本信息,点击确定按钮时,会弹出操作成功,提示本窗口将在3秒后自动关闭,如下图所示,这个功能主要是通过以下代码实现的。

  1. function clock()
  2. {
  3. i = i -1;
  4. if(i > 0)
  5. {
  6. document.getElementById("info").innerHTML =
  7. "本窗口将在"+i+"秒后自动关闭";
  8. //先获取到id为info的标签
  9. setTimeout("clock();",1000);
  10. }
  11. else
  12. {
  13. closewindow();
  14. }
  15. }

5.1.7 购物车

购物车模块也是一个购物网站不可缺少的功能,用户可以将喜欢的商品先放入购物车中,然后点击导航栏中的购物车,会跳转到购物车的jsp页面,在这个页面中,用户可以查看自己已挑选的商品,还可改变购买数量,这里的个数后台通过正则表达式进行限制,只可以输入正整数,如图5-9所示。

限制商品数量的关键代码如下:

  1. function modiNum(goodsId,quantity)
  2. {
  3. var r1= /^[0-9]*[1-9][0-9]*$/  //运用正则表达式限制为正整数
  4. var val=r1.test(quantity); //str为你要判断的字符 执行返回结果 true 或 false
  5. if(val==false)
  6. {
  7. alert("数量必须是正数,请重新输入");
  8. }
  9. else
  10. {
  11. document.getElementById("indicator1").style.display="block";
  12. cartService.modiNum(goodsId,quantity,callback);
  13. }
  14. }

如果顾客没有输入购买个数,也会弹出提示对话框,提示“请输入购买数量”。

  1. if(document.buy.quantity.value=="")
  2. {
  3. alert("请输入购买数量");
  4. return false;
  5. }

5.1.8 订单管理

顾客可以在前台页面点击我的订单查询自己的订单信息,点击后会跳转到myOrder.jsp页面,如图5-10所示。

如果自己已经收到货物,可以点击收获按钮,会显示收货成功的对话框。

点击评价按钮,可跳转到orderDetailPing.jsp页面,这个页面可显示已购买的商品名称和图片,还可填写评价,如图5-11所示。

5.1.9 留言

顾客在导航栏点击在线留言,可跳转到liuyanAll.jsp页面,在这个页面可以发表问题,咨询,建议并进行提交,如图5-12所示。

5.1.10 公告

点击网站公告下的任意一条,可跳转到gonggaoDetailQian.jsp页面,该页面可详细介绍这条公告的完整信息,如图5-13和5-14所示。

5.1.11 联系我们

顾客点击导航栏的联系我们,跳转到lianxi.jsp页面,该页面可显示网站的联系方式,如图5-15所示。

5.2 体育商城后台管理

5.2.1 首页界面

在该体育商城中,在前台页面的下方有个管理登录按钮,管理员点击后,可跳转到后台的登录页面,管理员按要求输入用户名、密码和验证码,就可成功登录后台管理系统,后台通过frame框架分成三部分,页面顶部为一部分,下面分成左右两部分,如图5-16、5-17和5-18所示。

以下这段代码主要实现了后台登录时验证码的功能:

  1. public class RandomValidateCode {
  2. public static final String RANDOMCODEKEY = "RANDOMVALIDATECODEKEY";//放到session中的key
  3. private Random random = new Random();
  4. private String randString = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
  5. //从这里面随机产生一个字符串
  6. private int width = 80;//图片宽
  7. private int height = 26;//图片高
  8. private int lineSize = 40;//干扰线数量
  9. private int stringNum = 4;//随机产生字符数量
  10. //获得字体
  11. private Font getFont(){
  12. return new Font("Fixedsys",Font.CENTER_BASELINE,18);
  13. }
  14. //获得颜色
  15. private Color getRandColor(int fc,int bc){
  16. if(fc > 255)
  17. fc = 255;
  18. if(bc > 255)
  19. bc = 255;
  20. int r = fc + random.nextInt(bc-fc-16);
  21. int g = fc + random.nextInt(bc-fc-14);
  22. int b = fc + random.nextInt(bc-fc-18);
  23. return new Color(r,g,b);
  24. }
  25. //生成随机图片
  26. public void getRandcode(HttpServletRequest request,
  27. HttpServletResponse response) {
  28. HttpSession session = request.getSession();
  29. //BufferedImage类是具有缓冲区的Image类,Image类是用于描述图像信息的类
  30. BufferedImage image = new BufferedImage(width,height,BufferedImage.TYPE_INT_BGR);
  31. Graphics g = image.getGraphics();
  32. //产生Image对象的Graphics对象,该对象可以对图像进行各种绘制操作
  33. g.fillRect(0, 0, width, height);
  34. g.setFont(new Font("Times New Roman",Font.ROMAN_BASELINE,18));
  35. g.setColor(getRandColor(110, 133));
  36. //绘制干扰线
  37. for(int i=0;i<=lineSize;i++){
  38. drowLine(g);
  39. }
  40. //绘制随机字符
  41. String randomString = "";
  42. for(int i=1;i<=stringNum;i++){
  43. randomString=drowString(g,randomString,i);
  44. }
  45. session.removeAttribute(RANDOMCODEKEY);
  46. session.setAttribute(RANDOMCODEKEY, randomString);
  47. System.out.println(randomString);
  48. g.dispose();
  49. try {
  50. ImageIO.write(image, "JPEG", response.getOutputStream());
  51. //将内存中的图片以流动的形式显示到客户端
  52. } catch (Exception e) {
  53. e.printStackTrace();
  54. }
  55. }
  56. //绘制字符串
  57. private String drowString(Graphics g,String randomString,int i){
  58. g.setFont(getFont());
  59. g.setColor(new Color(random.nextInt(101),random.nextInt(111),random.nextInt(121)));
  60. String rand = String.valueOf(getRandomString(random.nextInt(randString.length())));
  61. randomString +=rand;
  62. g.translate(random.nextInt(3), random.nextInt(3));
  63. g.drawString(rand, 13*i, 16);
  64. return randomString;
  65. }
  66. //绘制干扰线
  67. private void drowLine(Graphics g){
  68. int x = random.nextInt(width);
  69. int y = random.nextInt(height);
  70. int xl = random.nextInt(13);
  71. int yl = random.nextInt(15);
  72. g.drawLine(x, y, x+xl, y+yl);
  73. }
  74. //获取随机的字符
  75. public String getRandomString(int num){
  76. return String.valueOf(randString.charAt(num));
  77. }
  78. }

通过frameset框架集,把后台管理界面分成了三块。

  1. <frameset rows="59,*" cols="*" frameborder="no" border="0" framespacing="0">
  2. <frame src="top.jsp" name="topFrame" scrolling="No" noresize="noresize" id="topFrame" title="topFrame" />
  3. <frameset cols="213,*" frameborder="no" border="0" framespacing="0">
  4. <frame src="left.jsp" name="leftFrame" scrolling="No" noresize="noresize" id="leftFrame" title="leftFrame" />
  5. <frame src="version.jsp" name="mainFrame" id="mainFrame" title="mainFrame" />
  6. </frameset>
  7. </frameset>

5.2.2 系统参数

可以查看此刻该系统运行环境,如图5-19所示。

5.2.3 管理员维护

点击管理员维护,可以修改密码,如图5-20所示。

5.2.4 会员管理

点击会员管理,可以对该网站会员的信息进行查看和删除,如图5-21所示。

5.2.5 商品管理

该商城的商品管理主要分为两部分,一部分是添加和删除某个商品类别,另一部分是对具体某个类别的商品进行管理,如图5-22和5-23所示。

5.2.6 订单管理

订单管理主要包含三个功能,一是对用户刚买的订单进行受理,二是查看订单明细,三是删除任意一条订单,如图5-24所示。

5.2.7 销量管理

管理员点击销量管理,可查看该商城所有商品的销量情况,按从高到低排列,如图5-25所示。

5.2.8 留言公告管理

管理员点击留言公告,可以对用户的留言进行管理,添加商城公告信息或删除已发布的消息,如图5-26和5-27所示。

点击退出系统就可返回到后台登录界面。

由于该系统在开始设计的时候就没有考虑的复杂,所以系统界面比较简单明了,用户使用起来也非常方便,在此不再详细叙述如何操作。总而言之,该系统界面设计虽然简单,但功能齐全无遗漏,是该体育商城的最大亮点。

5.3 配置文件说明

在struts2中,通过Filter可以启动struts框架,在web.xml中的配置如下:

  1. <filter>
  2. <filter-name>struts</filter-name>
  3. <filter-class>
  4. org.apache.struts2.dispatcher.FilterDispatcher
  5. </filter-class>
  6. </filter>
  7. <filter-mapping>
  8. <filter-name>struts</filter-name>
  9. <url-pattern>/*</url-pattern>
  10. </filter-mapping>

在StrutsPrepareAndExecuteFilter的init()方法中将会读取类路径下默认的配置文件struts.xml完成初始化操作,struts.xml文件需要存放在src目录下,struts2读取到struts.xml的内容后,以javabean的形式存放在内存中,以后struts2对用户的每次请求处理将使用内存中的数据,所以不需要每次都读取struts.xml文件,该体育商城系统中struts.xml的部分配置文件如下代码:

  1. <?xml version="1.0" encoding="UTF-8" ?>
  2. <!DOCTYPE struts PUBLIC
  3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
  4. "http://struts.apache.org/dtds/struts-2.0.dtd">
  5. <struts>
  6. <package name="liu" extends="struts-default">
  7. <action name="upload" class="com.util.upload" method="upload">
  8. <result name="success">/upload/upload_re.jsp</result>
  9. </action>
  10. <action name="index" class="indexAction" method="index">
  11. <result name="success">/qiantai/index.jsp</result>
  12. </action>
  13. </package>
  14. </struts>

第6章 系统的测试

6.1 程序调试

一个系统从开始设计,到最终的开发完成,中间过程可能会出现各种各样的问题,也会时常出现一些意想不到的错误。对于在写代码的时提示的语法错误,程序在编译的过程中会自动报错,这类错误比较好发现,修改也比较容易,我们可以根据提示修改错误。但在开发的过程中,除了这一种错误,还会出现别的错误,当程序在运行的过程中,由于编写逻辑的错误,或一些不正确的操作,而产生错误的结果,这类型错误比较难解决,要想处理,必须要从根本上想办法,才能保证系统在后期成功运行,因此,在开发的过程中我们不断的要调试程序,发现错误立即处理,防止到后期累积了很多的错误,造成系统的开发失败。

测试和调试一般被认为是一个层次,其实他们并非同一个任务。简单地说,测试是在已知程序存在某些问题而要做解决问题的工作,而调试则是在该系统已经具备能正常工作能力而进行的功能性测试的工作。

6.2 程序的测试

6.2.1 测试的重要性及目的

迪杰斯特拉曾经说过:测试可以显示程序中有错误,他的希望是,该程序可以正确地通过某种实施过程,可以避免绝大多数的错误,所以有时候是没有必要进行测试的。这的确是个理想化的目标,对目前的实际程序开发而言,要省去测试这个过程显然不现实,所以应专注于如何测试,如何更快地检测程序错误,如何使工作更高效的完成。在一个系统的开发过程中,要不断的进行一系列的测试,使得软件能够正常运作。对于大部分时刻都是编码与测试相结合,完成此功能之后,对此功能做一些必要的测试,使系统更加合理,是软件质量保证非常关键重要的一部分。

测试的重要性

在软件的生命周期中,测试占据很大的一部分,有着重要的地位,千里之堤毁于蚁穴,如果前期的小错误没有及时发现并处理,到了后期可能会成为一个很大的错误。微软是世界上最大的IT公司之一,其中做开发的员工只有三成,而做测试的却占了七成,这表明测试过程在软件开发中是很重要的。在软件正式交付、运作之前,测试部门会对软件做一个比较全面的测设,保证软件运行过程中,不会出现大的问题。结合软件开发之前的可行性分析、概要设计、详细设计等各种设计,会对整个过程制定严格地测试计划,保证测试的全面性,不会有遗漏,因此测试在软件开发的过程中是值得重视的。

测试目的

在一个系统的开发过程中,软件测试的成功与否,直接影响到用户及自身的利益,避免大的错误造成不可挽回的影响,必须要进行测试,其主要目的,在一个成功运行的系统里,不断地发现新的错误,并对此进行分析,再交给技术部门进行改正,不断完善整个系统。保证所交付的产品是可用的、优秀的。对于比较繁杂的,不方便进行全面测试的,要根据用户的需求与实际应用,针对主要的选择进行,尽可能多的保证软件可以满足需求设计中的每一项内容。好的测试是什么,好的测试就是成功的发现到现在为止还没有发现的错误,一个好的测试员是要不断努力的在程序中找出错误,而不关注程序中正确的功能,所有工作都是围绕错误展开的。

6.2.2 测试的步骤

一个系统的测试与开发的过程非常相似,必须一步一步来,分步骤进行,而不能随便测试,前一步的测试内容都是下一步的基础。一个大的软件系统一般是由几个小的系统组成,而每个小系统又可以分成若干个模块。因此,对于项目的测试,也需要分步骤进行:

  • 代码审查:对于一个大的软件项目,代码的工作量着实不少,审查主要是对代码中的逻辑进行细致分析,看其是否合理

  • 单元测试:对于一个项目中的某一个小的模块进行测试,首先看一下它的编码有没有错误,然后看这个模块所实现的功能符不符合最初的设计要求,如果不符合,看需要从哪一方面进行改进

  • 集成测试:集成测试,是将该体育商城系统所划分的每个模块都结合在一起,同时进行测试,有的时候单个模块测试不会出现问题,但一旦进行整体测试,就会出现意想不到的错误,尤其是接口方面的错误,因此必须进行集成测试,看整个系统在运行起来有没有错误,如果各个模块之间不能很好的兼容,到开发的后期会出现很大的问题,对用户会造成很大的损失

  • 确认测试:随着单元测试和集成测试的完成,保证每个模块都没有问题,各个模块之间的组合也非常成功,接下来就该完成确认测试,确认测试主要是验证客户所提出的需求在该商城系统中有没有一一实现,对客户的要求能否满足,有没有遗漏某些功能

  • 系统测试:当整个的项目系统开发结束后,上面几步的测试也都完成,最后还要进行系统测试,系统测试首先验证客户所要求的全部功能系统能否全部实现,其次对整个系统所能承受的强度进行检测,比如当有很多用户同时访问该系统网站时,会出现什么情况,最后要对系统的安全性进行测试,例如当输入用户名和密码时,输入一个非法的或错误的数据时,看系统会出现什么结果,可以测出系统的抗干扰能力的强弱

第7章 总结

7.1 系统总结

该体育商城系统采用的主要编码语言是主流语言Java,数据库使用的是MySQL,在开发时采用了模块化的设计思想,逻辑比较清晰,该系统满足了一般购物者所需要的基本功能,系统的前台界面比较简单,用户操作起来非常方便。

刚开始时对整个网站系统的需求以及整体开发的流程和开发过程中各部分资源的分配进行了较为详细的分析,并在此基础上对于该系统的开发所需要的技术以及环境进行了较为准确的定位,从数据库到服务器以及其他的架构和框架技术都进行了确认,这些工作保证了开发的顺利完成。开发过程中又证实了数据库的设计,各功能模块的设计基本符合开发需求。开发完成后对整个系统进行了较为全面的测试评估,其中的用户模块的用户,注册,登录,用户个人信息修改功能完全实现,商品购买模块实现的也很完美,管理员模块中会员管理对用户信息的修改,删除功能也是完全实现。

其次,该系统的开发流程也遵循了传统的软件开发流程,需求分析,概要设计,详细设计,系统总体设计,详细模块设计,最后系统测试。经过这一系列的流程,逐步实现了整个系统的完整,后期系统的情况也是比较稳定的。

最后,虽然之前对开发该系统所需要的技术都有过接触,有一定的基础,但在开发时候才发现自己掌握的其实是远远不够的,特别是Html和CSS这块对于网页的布局,颜色设计,动画等这些都没有做的很好,使得整个网站看上去较为单薄,并且视觉体验上不算优秀。代码方面因为有框架的引入使得整体代码结构有了一定的规范,但是个人对于代码的注释还是不够优秀,总体来说代码这块还是不够优秀,只能达到最基本的要求,改进的空间还很大。

7.2 设计收获与心得

此次毕业设计是对我们大学四年所学知识的一次综合检测,在实现这个系统的时,不仅用到了平常所学的所有知识,而且自己通过查资料学了很多新知识,在设计中所遇到的问题,也培养了我与人交流、解决问题的能力,在开发项目的过程中,使我编写代码的技术也得到了训练,并且有了很大程度的提高。

在开发此体育商城的系统时,我也有很深的体会:在开发一个新的项目时,想一次做到完全的成功是不可能的,刚开始肯定会有很多考虑不到的地方,只有通过不断地改进,才能达到最初的目标;在开发的过程中,用到了以前从没有接触过的技术,要不断的练习,才能熟练掌握新的技术;一个商城系统要想让更多的人喜欢使用,界面的设计必须吸引人,在设计界面的时候,我们要多听取别人的建议;在开发的过程中肯定会遇到困难,当系统遇到自己无法解决的大问题时,我们要虚心的请教别人,弄清楚其中的道理,真正理解。

虽然开发这个商城系统只有短短的几个月的时间,但还是让我从中学到了很多知识,认识到了自己的不足,还需要不断地努力学习。

7.3 展望

该体育商城系统从设计到开发完成,仅仅用了四五个月的时间,还有自己的知识储备量不足,技术能力也不是特别高,开发出的系统肯定有很多不足的地方,改进的空间还是非常大的,比如:对用户信息进行加密、前台界面设计的美观性、后台功能的强大等很多方面需要改进,我相信,随着自己不断地学习,技术能力的提高,会使系统的功能不断强大,用户的使用评价越来越高。

参考文献

[1] 赵伟,李东明 Java语言 北京航空航天大学出版社 2011

[2] Bruce Ecke Thinking in Java 机械工业出版社 2007

[3] 王珊,萨师煊 数据库系统概论(第5版) 高等教育出版社 2014

[4] 李爱萍,崔冬华,李东生. 软件工程. 人民邮电出版社 2014.

[5] 赵志超,吴铁锋 基于J2EE的网上体育用品店的设计 数字技术与应用 2012

[6] 沈洪,朱军 Photoshop图像处理技术 中国铁道出版社 2011

[7] 谢希仁 计算机网络 电子工业出版社 2013

[8] Patton.R 张小松等译Software Testing 机械工业出版社 2006

[9] D Raggett HTML 4.01 Specification 1999

[10] 朱少民 软件测试 人民邮电出版社 2013

上传的附件 cloud_download 基于Struts2+Spring+Hibernate网上体育商城的设计与实现.zip ( 25.96mb, 1次下载 )
error_outline 下载需要14点积分

发送私信

23
文章数
0
评论数
最近文章
eject