汽车用品购物网站的设计与实现毕业论文 下载本文

前台功能:提供用户的注册和登录功能。用户能够随意浏览商品,包括使用搜索功能和使用排行榜功能,方便用户获取商品的详细信息,如图片预览、商品描述。可以查询以及确认订单信息。登录用户可以使用购物车,可以对购物车中的商品进行修改,包括修改商品的数量,删除商品和回复商品。可以编辑订单信息,最后生成订单。

后台功能:管理员可以配置一些信息管理本网站。管理员可以管理商品。可以管理订单信息,包括订单状态的修改,订单的删除。可以管理用户的信息,包括用户的删除。

建成后的网站系统是一个动态、交互式、具有商品提供、系统管理、用户评论等功能的综合性电子商务网站。

1.3 平台开发环境

1.3.1 MyEclipse

开发本平台所用到的开发工具是知名的java项目开发工具MyEclipse。MyEclipse企业级工作平台(MyEclipse Enterprise Workbench ,简称MyEclipse)是对Eclipse IDE的扩展,利用它我们可以在数据库和J2EE的开发、发布,以及应用程序服务器的整合方面极大的提高工作效率。它是功能丰富的J2EE集成开发环境,包括了完备的编码、调试、测试和发布功能,完整支持HTML, Struts, JSP, CSS, Javascript, SQL, Hibernate。

在结构上,MyEclipse的特征可以被分为7类: J2EE模型,WEB开发工具,EJB开发工具,应用程序服务器的连接器,J2EE项目部署服务,数据库服务,MyEclipse整合帮助。

对于以上每一种功能上的类别,在Eclipse中都有相应的功能部件,并通过一系列的插件来实现它们。MyEclipse结构上的这种模块化,可以让我们在不影响其他模块的情况下,对任一模块进行单独的扩展和升级。

简单而言,MyEclipse是Eclipse的插件,也是一款功能强大的J2EE集成开发环境,支持代码编写、配置、测试以及除错。

1.3.2 SQL Server

数据库使用的是SQL Server 2005数据库。

SQL Server 是一个全面的、集成的、端到端的数据解决方案,它为企业中的用户提供了一个安全、可靠和高效的平台用于企业数据管理和商业智能应用。SQL Server 2005 为IT专家和信息工作者带来了强大的、熟悉的工具,同时减少了在从移动设备到企业数据系统的多平台上创建、部署、管理及使用企业数据和分析应用程序的复杂度。 通过全面的功能集、和现有系统的集成性、以及对日常任务的自动化管理能力,SQL Server 2005 为不同规模的企业提供了一个完整的数据解决方案。

1.4 平台开发的思想及技术

1.4.1 MVC模式

本平台是基于MVC的开发模式,所谓的MVC模式是\的缩写,中文翻译为\模式-视图-控制器\。MVC应用程序总是由这三个部分组成。Event(事件)导致Controller改变Model或View,或者同时改变两者。只要Controller改变了Models的数据或者属性,所有依赖的View都会自动更新。类似的,只要Controller改变了View,View会从潜在的Model中获取数据来刷新自己。

MVC模式是一个复杂的架构模式,其实现也显得非常复杂。但是,我们已经总结出了很多可靠的设计模式,多种设计模式结合在一起,使MVC模式的实现变得相对简单易行。Views可以看作一棵树,显然可以用Composite Pattern来实现。Views和Models之间的关系可以用Observer Pattern体现。Controller控制Views的显示,可以用Strategy Pattern实现。Model通常是一个调停者,可采用Mediator Pattern来实现。

1.4.2 Struts

本平台采用传统的MVC框架Struts2。Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品。

Struts2框架的大概处理流程如下: 1、加载类(FilterDispatcher)

2、读取配置(struts配置文件中的Action) 3、派发请求(客户端发送请求)

4、调用Action(FilterDispatcher从struts配置文件中读取与之相对应的Action ) 5、启用拦截器(WebWork拦截器链自动对请求应用通用功能,如验证) 6、处理业务(回调Action的execute()方法)

7、返回响应(通过execute方法将信息返回到FilterDispatcher)

8、查找响应(FilterDispatcher根据配置查找响应的是什么信息如:SUCCESS、ERROER,将跳转到哪个jsp页面)

9、响应用户(jsp--->客户浏览器端显示)

10、struts2标签库(相比struts1的标签库,struts2是大大加强了,对数据的操作功能很强大)

1.4.3 Hibernate

在持久层的设计中,采用的也是非常知名的ORM框架Hibernate3。选择该框架的原因:

Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行了非常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。 Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在Servlet/JSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。

Hibernate 中提供了两级Cache,第一级别的缓存是Session级别的缓存,它是属于事务范围的缓存。这一级别的缓存由Hibernate管理的,一般情况下无需进行干预;第二级别的缓存是SessionFactory级别的缓存,它是属于进程范围或群集范围的缓存。这一级别的缓存可以进行配置和更改,并且可以动态加载和卸载。 Hibernate还为查询结果提供了一个查询缓存,它依赖于第二级缓存。

1.4.4 Spring

Spring 表示是一个开源框架,是为了解决企业应用程序开发复杂性由Rod Johnson创建的。框架的主要优势之一就是其分层架构,分层架构允许使用者选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。Spring使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。

轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地,Spring应用中的对象不依赖于Spring的特定类。

控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。

面向切面——Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。

2 系统分析

2.1 需求分析

系统需求分析是平台开发的一个不可缺少的环节,为了能够使本系统更好、更完善地被设计出来,就必须先进行调查研究。在系统调查的基础上,对新系统的功能进行细致的分析,从而才能够开发出完整的系统设计。

在设计本系统之前,我大量的参阅了国内外一些知名的购物网站,并根据自己的实际掌握知识的能力设计了需求分析。

总体需求:网上购物平台是针对用户提供网上购物的现代化购物平台,分前后台的设计,前台主要提供给用户使用,以实现用户的注册,登陆,浏览商品,购买商品,生成订单等功能。后台主要提供给管理员使用,管理用户信息,管理商品信息,管理订单信息。

2.2 平台的功能分析

经过前期的深入调查和研究,总结出该平台需要完成的一些具体功能,分析如下: 用户信息管理:能够完成用户基本信息录入的注册和用户基本信息的修改。 管理员管理:能够完成管理员对网站的商品信息管理以及订单的管理。 商品的浏览:包括商品的搜索,商品的分类查询等功能。

购物车功能:购物车中对商品的操作,包括改变商品的数量,删除商品,恢复商品。 订单生成功能:包括编辑订单的送货地址,选择订单的送货方式。

根据平台的功能分析,设计的系统应该包括前台的功能设计(主要针对用户)和后台的功能设计(主要针对管理员)。

系统前台功能描述:在前台设计中采用了分模块的设计思路,共分为商品浏览模块,用户管理模块,购物车模块,订单生成模块。每个模块都完成特定的功能。

系统后台功能描述:在后台同样采用了分模块的设计思想。分为商品信息管理模块,订单信息管理模块,用户信息管理模块。