因此网络购物的第二大优势就是其便利性,用户只要坐在电脑前,点点鼠标就可以买东西了。当然网购也有它的缺点,比如无法见到实物,只能通过商家介绍的文字和图片来了解商品,再比如买衣服无法试穿,而且这也为不良商家提供了忽悠消费者的方法,他们会尽力美化自己的商品来诱惑消费者买单,而消费者收到商品后才发现和想象中的差异很大,而商家又以各种各样的理由推脱,而且由于采用网上交易,所以会存在安全问题。但是这些都不能挡住网购的魅力,网上购物现在正变得越来越流行,市场份额也变得越来越大。因此这次毕业设计题目就以目前现有的网上商城系统为研究对象,例如淘宝和当当,这里主要研究后者的形式,也就是商城自己经营的方式,研究一般的网上商城的业务流程,猜测其各个功能模块及其组合、连接方式,并分析其具体的实现方式,最后使用Java加web服务器和数据库完成一个网上商城系统的主要功能模块。
通过这样一个毕业设计,可以提高自己Java编程的水准,也练习了怎样构建一个完整的系统,从系统的需求分析到设计,直至编码、测试并运行,熟悉并掌握一个完整的Web开发流程,为今后工作打下基础。
1.3论文研究内容
网上商城是一个基于Internet的应用,属于BS架构,前端就是一个客户浏览器,客户需要通过浏览器来访问服务器,因此,本文主要研究的就是一个网上商城系统(商城自负经营的类型)的业务流程及其实现方式。
首先,需要站在使用者的角度去思考你究竟会怎么使用这个系统,而一个网上商城的使用者一般又有两类,一类是普通消费者,而另一类则是商城的管
理员,因此我就需要思考这两类人都会怎么来使用这个系统,这样就能分析出网上商城系统的业务流程。
而实现这个业务流程可以采用很多种不同的方法,很明显,网上商城系统是一个基于Internet的应用,因此就需要使用到Web开发的方法,目前Web开发的方法有很多,流行的有Java和.Net,这里我选择了Java,因此我就需要研究如果采用Java作为编程语言,我应当如何来实现这个系统,这个系统应该划分为多少个模块,每个模块的功能又是什么,他们之间如何组合到一起,这也就是系统的设计。
第二章 网上商城系统的需求分析
1.1 网上商城业务流程分析
开发一个项目,不管你采用什么实现方式,其实都是在完成其业务流程,因此,将一个系统的业务流程分析清楚,将为后面的开发提供极大的便利。由于本文选择了B2C(Business To Customer,商家对顾客直销)模式,所以之后的分析或讨论均是针对此种模式。
如何对一个系统进行分析有很多的方法,这里我采用了站在具体的使用者的角度来考虑这个网上商城系统的功能和结构,先是粗略的分析一下使用的流程,在这个过程中就能够发现一些必须的基础的类。
1.1.1 作为一名消费者的使用流程
假如一个消费者第一次来到一个网上商城,他首先一般会先浏览浏览该商城的首页以及首页上所列的各种商品,如果你这个网站的首页设计得很精细很吸引人的话,消费者才会有兴趣进行下一部探索,看看你们这个商城有什么好的商品。因此,目前的网上商城设计者大多会在首页花费很大的功夫,比如在首页就展示商品什么的,一次来吸引客户的眼球。如此一来,用户也不需要登录就可以查看。
进而如果他对这个商品感兴趣,那他就会点击‘购买’这个按钮,如果客户是第一次来此商城购买商品,那么系统就会自动提醒客户是否注册一个新账号,注册之后才能进行下一步操作。当然了,消费者进行注册之后系统就该为消费者提供一个登录功能,以方便消费者登录进而进行购买商品的操作以及一
些相关的操作。该系统在消费者登录成功之后会在页面上显示该消费者的用户名以及跟消费者相关的一些操作功能。这些操作功能包括修改用户的密码,查看自己的个人信息,修改自己的相关的个人信息。
当然用户登录之后也可以查看商品,最重要的,登录用户可以选择商品放入自己的购物车并下单结账。还可以查看自己所下的订单。
根据上面的信息分析,我们大致可以分析出来有这么几个实体类来支撑这些操作,首先,注册之后就会产生一个用户,接着要用此用户来支持登录功能,这样一来,所有的用户集合成了一个用户实体类,这个实体类包括用户名,用户密码,联系方式,用户地址等等。接着,在用户注册登录之后,商城就要向用户展示相关的商品,那么,所有的商品又集合成了一个商品实体类,这个实体类包括一些商品的相关信息,不如商品名,商品价格,商品生产日期等。再者,用户如果对某些商品感兴趣了,就要把喜欢的商品放到购物车里,那么又一个购物车实体类产生了,这个实体类包括商品名称,商品价格,把此商品放入购物车的用户名称等等;最后会员买完东西后给商城下了订单,那么这个订单也需要包装成一个实体类,上面需要记录一些信息,最主要的信息应当有:谁下了这个订单?买了什么东西?多少钱?其它的诸如什么时候下的也可以记录。
1.1.2 作为一名商城管理员的使用流程
管理员首先也要登录才能操作所有功能,商城管理员应当能管理商城注册的会员:可以查看商城的已注册会员,并且对已注册的会员信息进行修改,而且也可以删除相关的会员。
接着,管理员还应该有如下的一些功能。首先,添加父类商品,比如说“书籍”,再者,就是可以添加子类商品,比如说“计算机”,最后,管理员应该也可以添加子类下的相关的一些商品,比如说“30天精通JAVA” 。
当然,管理员应该也可以修改自己的密码。
从管理员的操作,我们也可以得到这么几个实体类。第一,管理员,既然有管理员那么就必须有一个类来记录这些东西,对于该系统需要说明一点的就是:在我开发的这个系统中,由于本人的水平只是有限,为了降低该项目的复杂度,所以本人把管理员和会员都放在同一个实体类中去了,在登录的时候把管理员的名称固定到代码中去了,即:admin,用户类这个实体类中,admin这个用户是不能删除的,是永久保存在此实体类中的,只要以这个名称登录,那么页面就会跳转到管理员的操作页面中去;第二,这里提到了父类别,那么这个也应当包装成一个类,而且这个类应当和子类别有一定的关联。第三,这里也提到了子类别,那么子类别也应该是个实体类,这个类和商品类也有一定得关联;第三,最底层的就是商品这个类了,所有商品集合在一个构成了一个商品实体类,商品类别是属于某个子类别中的一种。
因此,从前面两个站在不同角度来分析使用流程来看,我从中提取出了一些个名词,这些个名词也就成为了一些基础的实体类,目前分析的出来的有,用户类、商品父类别类、商品子类别类、商品类、购物车类、订单类、。 显然,这些个类在此商城项目中是比较具体的,是可以很明显看出的,但是还有一些类是比较“抽象”的,是不能这样直接的通过找名词来得出来,但是可以分析这个过程,可以得出这些类确实要存在,因而来将其推算出来。商城有很多数据是要存到数据库的,在这里,我把一些与数据库打交道的通用操作封