网上购物系统本科毕业论文

上传人:沈*** 文档编号:42747547 上传时间:2021-11-27 格式:DOC 页数:49 大小:1.85MB
收藏 版权申诉 举报 下载
网上购物系统本科毕业论文_第1页
第1页 / 共49页
网上购物系统本科毕业论文_第2页
第2页 / 共49页
网上购物系统本科毕业论文_第3页
第3页 / 共49页
资源描述:

《网上购物系统本科毕业论文》由会员分享,可在线阅读,更多相关《网上购物系统本科毕业论文(49页珍藏版)》请在装配图网上搜索。

1、本科毕业论文(设计)网上购物系统二级学院专 业班 级学生姓名学 号指导教师2012年 月 诚 信 声 明我声明,所呈交的毕业论文(设计)是本人在老师指导下进行的研究工作及取得的研究成果。据我查证,除了文中特别加以标注和致谢的地方外,论文(设计)中不包含其他人已经发表或撰写过的研究成果,也不包含为获得其他教育机构的学位或证书而使用过的材料。我承诺,论文(设计)中的所有内容均真实、可信。毕业论文(设计)作者(签名): 年 月 日网上购物系统摘要:伴随着计算机技术在各行各业日益广泛和深入的应用,互联网购物早已深入人心。电子商务在各行各业的发展战略中占据了重要的位置,成为各大商家的必争之地。商品的流通

2、已不仅仅局限于传统渠道,网络平台已成为商家展示自己,提升自身形象的舞台。商家通过建立网站,将产品、资源等各方面信息展现在互联网上。而计算机和互联网技术本身所具备的信息透明度、信息高速传播和快速管理等特征,不仅可以改进商家原有经营方式与经营效率外,也为商家带来了更高的效益。因此,对于商家来说,拥有一个属于自己的购物网站是至关重要的。本网站是基于J2EE开发的B2C电子商务网站,主要完成网站的整体设计以及各个功能的实现。采用JSP作为顶层表示技术,struts实现MVC模式的架构,运用spring整合系统,即目前较流行的SSH框架,开发出一个具有良好扩展能力的J2EE商城网站。使用MyEclips

3、e作为代码开发工具,在Windows XP操作系统平台下,采用MySQL作为数据库服务器,Tomcat作为解析服务器。本论文以系统的开发为线,从软件设计的角度对系统的理论基础、系统整体布局及系统具体设计进行了详细研究,其中某些功能,如电子支付功能,由于局限于条件,只做理论分析。关键字:B2C,j2ee,MySQL,SSH,MVC,电子商务,网上购物注:本论文(设计)题目来源于教师的国家级(或省部级、厅级、市级、校级、企业)科研项目,项目编号为: 。Online shopping systemAbstract:Along with computer technology, Internet sh

4、opping has long been popular in all walks of life increasingly extensive and in-depth applications. E-commerce development strategies of all walks of life to occupy a major position, become the battleground of the major businesses. The flow of goods is not limited to the traditional channels, the ne

5、twork platform has become a business to show themselves, enhance their own image of the stage. Businesses through the creation of websites, products, resources, and other information is displayed on the Internet. The characteristics of computer and Internet technology have transparency of informatio

6、n, high-speed dissemination of information and rapid management can not only improve business the old way of operating efficiency, but also bring higher efficiency. Therefore, for the business, we have a shopping site is crucial.This website is based on J2EE development of B2C e-commerce website, co

7、mplete the site's overall design and function to achieve. Using JSP as the top-level technology, the struts MVC pattern architecture, using the spring integrated system, that is, the more popular SSH framework, to develop a good scalability of J2EE mall site. Use MyEclipse as a code development

8、tool in the Windows XP operating system platform, using MySQL as the database server, Tomcat as the resolution server.This thesis to the development of the system line, the theoretical basis of the system from the perspective of software design, the overall system layout and system design were studi

9、ed in detail, some of functionality, such as electronic payment, confined conditions, only the theoreticalanalysis.Keywords: B2C, j2ee, MySQL, SSH, MVC, e-commerce, online shopping目 录前言111 问题定义及内容简介11.1.1目的与意义11.1.2研发背景21.1.3可行性分析21.1.4各章节内容简介32系统需求分析52.1 需求背景分析52.2功能需求分析52.3 业务流程分析63 系统设计93.1 系统总体结

10、构分析93.2 数据库设计93.2.1数据库的设计思想93.3系统的开发技术简介与运行环境143.3.1 Struts+Hibernate+Spring的技术原理143.3.1.1 Struts技术原理143.3.1.2 Hibernate技术163.3.1.3 Spring技术173.3.2 Tomcat互联网服务器技术193.3.3 MySQL数据库技术203.3.1运行环境214 主要模块详细设计224.1系统体系结构224.2主要子模块的详细说明224.2.1用户注册和登录模块22注册页面,用户正确填写相关信息之后,后台自动创建新用户。224.2.2 产品信息模块254.2.3 分类管

11、理模块27编辑分类页面可以添加该分类的一些属性,如CPU,内存,硬盘等等的参数均在此添加,页面设计如下:28在分类列表页面可直接删除分类信息。删除后直接跳转回列表页面。284.2.4 购物车模块294.2.5 订单模块304.2.6 优惠信息模块334.2.7 反馈信息模块344.2.8 物流信息模块354.2.9 用户信息模块355使用说明书375.1运行环境简介376 软件测试387 结束语40参考文献41致 谢4243前言近年来,随着Internet的迅速崛起,互联网已日益成为收集提供信息的最佳渠道并逐步进入传统的流通领域。于是电子商务开始流行起来,越来越多的商家在网上建起网络商店,向消

12、费者展示出一种新颖的购物理念。最新发布的中国网上购物消费者调查报告2011显示,2010年度我国网上购物继续高速发展,全年网 购规模达到4980亿元,占到了全国社会商品零售总额的3.2%,网购人数达到1.85亿,网上购物在网民中的渗透率为40.6%。上海和北京的网购规模 分别突破400亿元和300亿元,杭州、广州、深圳和苏州4个城市的网购规模突破百亿元大关。调查显示,京东商城和凡客在2010年度表现突出,市场份额 分别比上一年度提升了1.1和0.8个百分点。由此可以看出当前网上购物的迅猛发展以及今后网上购物的发展模式,即使以商城为主导的中大型B2C网站发展模式。本论文将为客户设计较为先进性的网

13、站系统。设计方案立足当前流行的变成技术,以先进的观点和设计思路实现商城的服务性,实用性和便利性。11 问题定义及内容简介1.1.1目的与意义建立网上商城可以提高商业交易的效率、范围, 网上商城 以在线交易、客户服务为核心。降低人工、经营本钱,这对于全面推进商家的信息化网络化具有重要意义。1 网上商城 有利于树立和提高企业形象。提高商家对客户的服务水平及客户服务效率,同时大幅提高商家员工的信息化水平。2 网上商城 能很好地为客户提供在线咨询及反馈。增强客户与商家交流与沟通的能力,协助商家以更快的速度了解客户需求,同样客户也能从 网上商城 快捷地获得商家对产品的售前及售后服务。3 网上商城 一个重

14、要的目的就是提供在线交易服务。为客户与商家之间形成互通及企业内部办公自动化,最终构建企业“电子商务”打下坚实基础。4 信息网络正在生长为 “ 第四媒体 ” 将成为人们获得信息的实现社会多种功能的主要载体。可以改变企业的信息化建设、产品销售和客户服务在激进方式下人力资源的比重失调,极好地体现企业在行业领域的知名度及企业的信息资源。5 网上商城有助于行业建议产品及信息资源的市场价值。从而带动商家产品在业界的品牌与地位,营造有利于商家生存与发展环境,加速企业信息化发展。1.1.2研发背景互联网技术的飞快发展给人们的生活带来了巨大的变化,电子商务的发展催生了一种新的购物方式网上购物,它以快速的信息更新

15、,方便快捷的购物方式,实惠的商品定位吸引了越来越多的人参与其中。相比传统零售行业,网上购物具有许多无可比拟的优势。首先,以商铺销售或商场销售等为代表的零售行业因受地域限制,其影响范围仅限于较小的区域,而借助四通八达的互联网,消费者可以通过网上商城浏览和获取世界各地商家的商品信息;其次,通过网上购物渠道,消费者可以足不出户地进行购物;再次,同样是管理商品信息和统计,传统零售行业需要花费大量劳动力才能完成,而销售网站许多信息都可以轻松地进行自动化管理,极大的降低企业的管理成本;最后,建立自己的网上购物系统,有利于提升企业和商家的企业形象,提高服务质量,展示企业的信息化水平。虽然网上购物具备以上的诸

16、多优点,但由于该行业刚刚兴起不久,目前发展程度较低。据互联网统计机构统计,截止2010年底,网络购物销售份额只占到零售业销售总额的0.6,由此数据可知,该行业的发展潜力巨大,研究和开发优秀的网上购物商城系统,对推动行业的发展,提高网上销售综合竞争力有着重要的意义。本课题的目的在于通过对网上商城开发,初探当前互联网编程的一些流行框架和技术,同时通过参考当前较为成功的商城网站的设计,探寻更佳的购物体验和更高效的产品信息管理,实现更轻松快捷的购物体验,降低传统商户进行网上交易的门槛。1.1.3可行性分析l 经济可行性本系统最大的特色是用的开源的软件开发工具MyEclipse。应用服务器用的是tomc

17、at这些都是免费的。而且结合JAVA的跨平台性,使该系统能稳定的运行与所有常见的WINDOWS,UNIX,FreeBSD,Linux操作系统上, 这样整个系统的软件成本得到很大程度的节约,只需要投入人力成本和硬件成本。由于本系统无平台的限制,与其它的系统相比,本系统独立性相当强,这样只需要投入较少的资金就可以达到预期的要求。在系统运行环境中,软硬件都无需做巨大投资,只利用现有计算机设备即可。因此在经济上可行的。l 技术可行性本系统采用JSP+Struts+Hibernate+Spring为网站实现技术,建立基于MySQL数据库的核心动态网页,这些技术已近相当成熟,具有平台无关性且安全可靠的特点

18、,完全适合作为面向Internet的开发工具,目前的此技术已成为所有大型电子商务项目的必然选择。本系统总共有两部分组成:前台开发和后台数据库的调用,从技术上讲前台用的MyEclipse开发工具,功能比较强大,结合JAVA WEB技术进行开发。对于数据库部分我们用的是MySQL,采用Hibernate将关系数据库封装成对象,真正体现面向对象编程,易于进行数据库连接,因此本系统的开发在技术上具有可行性。l 操作可行性从目标系统使用难易程度上来看并不复杂,界面设计亲切,容易使用,系统管理员要有一定的数据库方面的知识,但只需专业人事做短期的培训就可以拥有熟练使用系统的能力。最后,就是需要操作员对本系统

19、的各部分功能有全面的了解。因此,本系统在操作上是完全可行的。1.1.4各章节内容简介第1章是绪论, 讲述考试报名系统的开发背景,国内外研究现状,以及论文的组织结构。第2章是系统需求分析。主要内容是系统功能需求分析,业务流,数据流等。第3章是系统设计部分,主要内容是系统的总的体系结构的设计,这部分设计是从数据流导出的;系统数据模型设计,包括E-R图,关系模型和数据表;系统开发和运行环境的确定。从第四章开始介绍了各个主要模块的设计。第4章介绍的是系统实现,包括系统六个模块的体系结构设计,各个子模块功能,界面设计,详细设计,以及在设计时所遇到的问题及解决方案。第5章是用户使用手册,主要内容有系统功能

20、简介、运行环境简介。第6章是软件测试。介绍一般大型软件系统的基本测试步骤步骤。第7章是附录,在附录内收录了一些主要的参考文献、系统代码和致谢语。2系统需求分析在软件工程中,需求分析指的是在建立一个新的或改变一个现存的电脑系统时描写新系统的目的、范围和定义时所要做的所有的工作。需求分析是软件工程中的一个关键过程。 2.1 需求背景分析电子商务近几年在国内的高速发展加速了为电子商务服务的软件行业的发展,随之诞生了许多与之密切相关的网店和网上商城系统。对于网上商城的实现技术,从开源的到商业的,目前非常之多。本课题研究的网上商城系统,指的是支持商户自身面对消费者的卖场模式,也就是一般指的B2C网站。目

21、前大部分商城系统都是基于PHP语言开发,如淘宝商城和shopex,大部分企业和商户都有自己的网站或者POS系统,而且这些系统大多都基于JAVA技术。开发采用JAVA和J2EE技术的系统,可以更方便的实现客户内部各个系统的集成。因此,根据上述分析,在系统框架方面使用当前流行且稳定的J2EE框架spring+struts+hibernate开发。在保证系统稳定的同时尽可能提高系统的安全性和可扩展性。2.2功能需求分析本系统主要应实现以下各个功能:1.页面展示1)商城首页2)产品列表3)产品类别检索4)产品详情5)优惠活动6)购物车2.会员管理1)个人信息维护(会员资料,安全资料等)2)交易详情3)

22、订单管理4)客户反馈5)支付功能3.后台管理1)会员信息管理2)产品信息管理(价格,分类,库存等)3)产品信息录入4)订单管理5)反馈处理6)统计报表(销售统计,盈亏统计)7)物流管理2.3 业务流程分析在对系统的组织结构和功能进行分析时,需从一个实际业务流程的角度将系统调查中有关该业务流程的资料都串起来作进一步的分析。业务流程分析可以帮助我们了解该业务的具体处理过程,发现和处理系统的调查工作中的错误和疏漏,修改和删除原系统的不合理部分,在新系统基础上优化业务处理流程。业务流程图(transaction flow diagram,简称TFD), 就是用一些规定的符号及连接来表示某个具

23、体的业务处理过程,它是用尽可能少、尽可能简单的方法来描述业务处理过程的方法,由于它的符号简单明了,所以非常易于阅读和理解业务流程。所以说,绘制业务流程图是分析业务流程的重要步骤。数据流程分析把数据在组织内部的流动情况抽象地独立出来,舍去了具体组织机构、信息载体、处理工作、物资、材料等,单从数据流动过程来考察实际业务的数据处理模式。数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的业务流程顺序,将相应

24、调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图,一边绘图,一边核对相应的数据和报表、模型等.通过以上的系统需求分析,下面各个模块其流程分析可表示为:其流程分析可表示为:(1) 后台管理功能示意图:用户信息表会员信息管理产品信息表管理员产品信息管理订单信息表订单管理 密码正确登陆投诉建议表反馈处理 密码错误统计报表查看返回重新登陆物流信息表物流管理图1 管理员业务流程图(2)用户功能示意图:图2 用户业务流程图2.4 数据流分析数据流程分析把数据在组织内部的流动情况抽象地独立出来,舍去了具体组织机构、信息载体、处理工作、物资、材料等,单从数据流动过程来考察实际业务的数据处理模式。数据

25、流程分析主要包括对信息的流动、传递、处理、存储等的分析。数据流程分析的目的就是要发现和解决数据流通中的问题。现有的数据流程分析多是通过分层的数据流程图(data flow diagram,简称DFD)来实现的。其具体的做法是:按业务流程图理出的业务流程顺序,将相应调查过程中所掌握的数据处理过程,绘制成一套完整的数据流程图,一边绘图,一边核对相应的数据和报表、模型等,可以得到的数据流图如下: 图3 数据流程图(DFD)3 系统设计3.1 系统总体结构分析该系统总体结构设计如下:图4系统总体结构3.2 数据库设计3.2.1数据库的设计思想数据库(DataBase,简记为DB) 是长期储存在计算机内

26、的、有组织的、统一管理的相关数据的集合。DB能为各种会员共享,具有较小冗余度、数据间联系紧密而又有较高是数据独立性等特点。数据库设计(Database Design,简称DBD)是指对于给定的软、硬件环境,针对现实问题,设计一个较优的数据模型,建立DB结构和DB应用系统。几乎所有的WEB项目都是基于数据库的,这使得数据的设计在整个项目中的地位举足轻重。相关研究表明,在数据应用系统的开发中,项目成功50%靠数据库的设计。良好的数据设计往往能够减少开发的负担。数据库设计是指对于一个给定的应用环境,通过合理的逻辑设计和有效的物理设计来构造较优的数据库模式,建立数据库极其应用系统,满足会员的各种信息需

27、求。数据库设计(Database Design,简称DBD)是指对于给定的软、硬件环境,针对现实问题,设计一个较优的数据模型,建立DB结构和DB应用系统。计算机信息系统以数据库为核心,为现实世界的信息流计算机化,并对计算机化的信息进行各种操作,就是如何利用数据库管理系统,将会员的要求转化成有效的数据结构,并使数据库结构易于适应会员新的要求的过程,这个过程称为数据库设计。3.2.2 数据库简介本系统采用MySQL作为后台管理数据库。MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQ

28、L是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。3.2.3 数据库需求分析通过对整个系统的分析,依据网上商店的处理需求,对应数据表设计及功能如下。l 商品基本信息表:存放网上商店所销售商品的基本信息。l 商品类别信息表:存放网上商店所提供商品大的分类信息

29、。l 会员信息表:存放网上商店用户的基本信息。l 游客信息表:存放非注册会员的相关信息。l 订单信息表:存放与用户相关的订单基本信息。l 信息显示表:存放用于主页和各种分类页面显示的产品信息。l 物流信息表:存放物流相关数据。l 反馈信息表:存放用户投诉反馈和购买商品后评论的信息。l 反馈信息类别表:存放反馈信息类别。l 商城广告信息表:存放商店的广告信息。3.3.4 数据库关系模型根据需求分析生成的数据库关系模型图如下:图5 E-R图根据选用的数据库管理系统为MySQL,网上商城系统数据库中的各个表字段定义如下所示:1) user为用户信息表,主要保存用户和管理员的的注册信息,如表5-1:表

30、5-1 列名数据类型可否为空说明user_idintnot nullID,唯一标识user_namevarcharnot null用户名user_passvarcharnot null密码real_namevarcharnull真实姓名phonevarcharnull电话addressvarcharnull家庭住址roleintnot null权限emailvarcharnot null电子邮箱remarkvarcharnull备注ipvarcharnot nullIPstatusintnot null删除标示 2)shopcar表,主要存储用户的购物车信息,见表5-2表5-2 列名数据类型可

31、否为空说明shopcar_idintnot nullID,唯一标识user_idintnot null用户IDproduct_idintnot null产品IDproduct_sumintnot null产品数量product_namevarcharnot null产品名称3)product表,主要保存产品信息,见表5-3表5-3 列名数据类型可否为空说明product_idintnot nullID,唯一标识product_namevarcharnot null产品名称pricevarcharnot null价格discountvarcharnot null优惠价格title_display

32、varcharnot null标题显示remarkvarcharnot null备注detailvarcharnot null详细介绍discount_idintnot null优惠IDstatusintnot null删除标示imagevarcharnot null图片地址contentvarcharnot null产品参数category_idintnot null类别ID4) order表,储存订单信息,见表5-4表5-4 列名数据类型可否为空说明order_idintnot nullID,唯一标识user_idintnot null用户IDorder_pricevarcharnot n

33、ull订单总价order_timevarcharnot null订单时间addressvarcharnot null收货地址phonevarcharnot null收货电话area_codevarcharnot null邮政编码statusintnot null删除标示product_idsvarcharnot null产品ID组product_sumvarcharnot null产品数量组namevarcharnot null收件人姓名5)feedback表,保存用户反馈信息,见表5-5表5-5 列名数据类型可否为空说明feedback_idIntnot nullID,唯一标识user_id

34、Intnot null用户IDorder_idIntnot null订单IDcontentvarcharnot null内容create_timetimestampnot null创建时间statusIntnot null删除标示6)express表,保存物流信息,见表5-6表5-6 列名数据类型可否为空说明express_idIntnot nullID,唯一标识order_idIntnot null订单IDuser_idIntnot null用户IDaddressvarcharnot null地址phonevarcharnot null电话area_codevarcharnot null邮政

35、编码corperationvarcharnot null快递公司express_codevarcharnot null快递单号create_timetimestampnot null创建时间statusIntnot null删除标示7)discount表,保存优惠信息信息,见表5-7表5-7 列名数据类型可否为空说明discount_idIntnot nullID,唯一标识discount_namevarcharnot null优惠名称statusIntnot null删除标示7)category表,保存产品类别信息,见表5-8表5-8 列名数据类型可否为空说明category_idIntno

36、t nullID,唯一标识namevarcharnot null类别名称father_idIntnot null上级IDstatueIntnot null删除标示attributevarcharnot null类别参数3.3系统的开发技术简介与运行环境3.3.1 Struts+Hibernate+Spring的技术原理3.3.1.1 Struts技术原理l Struts的由来和发展Struts 框架工具是 Apache 基金会 Jakarta 项目中推出的一个子项目。 Struts 在英文中是支架、支撑的意思,这也体现出 Struts 在开发 Web 应用程序过程所起到的重要作用, Strut

37、s 为 Web 应用提供了通用的框架,让开发人员可以把主要精力集中在如何解决实际业务问题上,与此同时 Struts 框架也允许开发人员根据实际需要进行扩展和定制,从而可以更好的适应用户的需求。采用 Struts 可以简化遵循 MVC 设计模式的 Web 应用的开发工作,很好地实现代码重用,使开发人员从一些繁琐的工作中解脱出来,快速开发能够充分发挥 JSP/Servlet 优点、并具有强可扩展性的 Web 应用。l MVC简介 模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。 1、模型(Model):模型是应用程序的主体部分。模型表示业

38、务数据,或者业务逻辑.2、视图(View):视图是应用程序中用户界面部分,是用户看到并与之交互的界面。 3、控制器(controller) :控制器工作就是根据用户的输入,控制用户界面数据显示和更新model对象状态。 MVC 式的出现不仅实现了功能模块和显示模块的分离,同时它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性。 尽管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰。主要原因:一是在早期的Web项目的开发中,程序语言和HTML的分离一直难以实现。CGI程序以字符串输出的形式动态地生成HTML内容。后来随着脚本语言的出现,前面的方式又被倒了过来,

39、改成将脚本语言书写的程序嵌入在HTML内容中。这两种方式有一个相同的不足之处即它们总是无法将程序语言和HTML分离。二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EE的JSP Model 2问世时才得以改观。它用JSP技术实现视图的功能,用Servlet技术实现控制器的功能,用JavaBean技术实现模型的功能。一般情况下,Struts框架的,模型是由JavaBean或EJB构成,视图是由Jsp页面组成,控制器是由ActionServlet和Action实现,图2.1展示了MVC框架的基本结构。图2.1 Struts的工作原理图3.3.1.2 Hibern

40、ate技术Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了轻量级的对象封装,使 Java 程序员可以随心所欲的使用对象编程思想来操纵数据库。Hibernate的工作原理是通过文件(一般有两种:xml文件和properties文件)把值对象和数据库表之间建立起一个映射关系。这样,我们只需要通过操作这些值对象和Hibernate提供的一些基本类,就可以达到使用数据库的目的。例如,使用Hibernate的查询,可以直接返回包含某个值对象的列表(List),而不必向传统的JDBC访问方式一样把结果集的数据逐个装载到一个值对象中,为编码工作节约了大量的时间。Hibernat

41、e提供的HQL是一种类SQL语言,它和EJBQL一样都是提供对象化的数据库查询方式,但HQL在功能和使用方式上都非常接近于标准的SQL.图2.2展示了Hibernate的工作原理。图2.2 Hibernate工作原理图3.3.1.3 Spring技术Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的。框架的主要优势之一就是其分层架构,分层架构允许您选择使用哪一个组件,同时为 J2EE 应用程序开发提供集成的框架。它由两个大的模块组成:Spring 面向方面编程(AOP)和控制反转 (IOC) 容器。Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring

42、 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式。图2.3 Spring框架架构图组成 Spring 框架的每个模块(或组件)都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下: · 核心容器:核心容器提供 Spring 框架的基本功能。核心容器的主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。 · Spring 上下文:Spring 上下文是一个配置文件,向 Spring 框架提供上下文信息。Spring 上下文包

43、括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 · Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。· Spring DAO:JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。&

44、#183; Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。 · Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。 · Spring MVC 框架:MVC 框架是一个全功能的构建

45、Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。 l IOC 容器Spring 设计的核心是 org.springframework.beans 包,它的设计目标是与 JavaBean 组件一起使用。这个包通常不是由用户直接使用,而是由服务器将其用作其他多数功能的底层中介。下一个最高级抽象是 BeanFactory 接口,它是工厂设计模式的实现,允许通过名称创建和检索对象。BeanFactory 也可以管理对象之间的关系。BeanFactory 支持两个对象模型。

46、· 单态 模型提供了具有特定名称的对象的共享实例,可以在查询时对其进行检索。Singleton 是默认的也是最常用的对象模型。对于无状态服务对象很理想。 · 原型 模型确保每次检索都会创建单独的对象。在每个用户都需要自己的对象时,原型模型最适合。 bean 工厂的概念是 Spring 作为 IOC 容器的基础。IOC 将处理事情的责任从应用程序代码转移到框架。正如我将在下一个示例中演示的那样,Spring 框架使用 JavaBean 属性和配置数据来指出必须设置的依赖关系。l BeanFactory 接口因为 org.springframework.beans.factor

47、y.BeanFactory 是一个简单接口,所以可以针对各种底层存储方法实现。最常用的 BeanFactory 定义是 XmlBeanFactory,它根据 XML 文件中的定义装入 bean。 3.3.2 Tomcat互联网服务器技术Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat 中得到体现,Tomcat 5 支持最新的Servlet 2.4 和JSP 2.0 规

48、范。Tomcat 很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。Tomcat 是一个轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP 程序的首选。对于一个初学者来说,可以这样认为,当在一台机器上配置好Apache 服务器,可利用它响应对HTML 页面的访问请求。实际上Tomcat 部分是Apache 服务器的扩展,但它是独立运行的,所以当你运行tomcat 时,它实际上作为一个与Apache 独立的进程单

49、独运行的。这里的诀窍是,当配置正确时,Apache 为HTML页面服务,而Tomcat 实际上运行JSP 页面和Servlet。另外,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。不过,Tomcat处理静态HTML的能力不如Apache服务器。目前Tomcat最新版本为7.0.22 Released。本系统使用的TOMCAT版本是6.0.22。TOMCAT的访问和编译流程大致如下图所示:图3.3.2-13.3.3 MySQL数据库技术MySQL是一个小型关系型数据库管

50、理系统,开发者为瑞典MySQL AB公司。在2008年1月16号被Sun公司收购。而2009年,SUN又被Oracle收购。MySQL是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内。这样就增加了速度并提高了灵活性。MySQL的SQL“结构化查询语言”。SQL是用于访问数据库的最常用标准化语言。MySQL软件采用了GPL(GNU通用公共许可证)。由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多中小型网站为了降低网站总体拥有成本而选择了MySQL作为网站数据库。系统特性:1使用C和C+编写,并使用了多种编译器进行测试,保证源代码的可移

51、植性2支持AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统3为多种编程语言提供了API。这些编程语言包括C、C+、Python、Java、Perl、PHP、Eiffel、Ruby和Tcl等。4支持多线程,充分利用CPU资源5优化的SQL查询算法,有效地提高查询速度6既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名7提

52、供TCP/IP、ODBC和JDBC等多种数据库连接途径8提供用于管理、检查、优化数据库操作的管理工具9可以处理拥有上千万条记录的大型数据库10支持多种存储引擎与其他的大型数据库例如Oracle、DB2、SQL Server等相比,MySQL自有它的不足之处,如规模小、功能有限(MySQL Cluster的功能和效率都相对比较差)等,但是这丝毫也没有减少它受欢迎的程度。对于一般的个人使用者和中小型企业来说,MySQL提供的功能已经绰绰有余,而且由于MySQL是开放源码软件,因此可以大大降低总体拥有成本。本系统采用的MySQL版本是5.0.22。MySQL的架构和应用图如下所示:图3.3.3-13

53、.3.1运行环境本次设计采用的软件环境为:1. 平台:J2EE2. 数据库:MySQL3. WEB服务器:Tomcat4. 操作系统:Windows xp5. 浏览器:google chrome硬件环境:服务器配置:a.CPU:core i7 2600Kb.内存:4096Mc.硬盘:2T4 主要模块详细设计4.1系统体系结构Shopmall网上商城系统建立在SSH的框架上,通过spring整合系统功能模块之间的关系。系统之间的关系通过三个配置文件来实现:1) src/applicationContent.xml2) web/WEB-INF/struts-config.xml3) web/WEB

54、-INF/web.xml详细内容可见附件源代码。系统的主界面如下图:4.2主要子模块的详细说明4.2.1用户注册和登录模块注册页面,用户正确填写相关信息之后,后台自动创建新用户。在登录页面中,填写的信息经过初步合法性验证之后,提交验证,如果合法,则判断用户权限,如果为管理员则转向管理员主页,如果为用户则转回主页,同时将用户信息保存在session里以便在后来的权限验证中使用。如果不合法,则返回登录页面。注册页面设计如下图:登陆页面设计如下图:管理员主页:用户主页:主要实现代码: 4.2.2 产品信息模块产品信息模板可分为用户模块和管理员模块,用户只能查看你产品信息,管理员可以编辑或删除产品信息

55、。管理员最新发布的产品信息会在主页上优先显示,产品详情页面有加入购物车按钮,让用户将产品快捷的加入购物车。产品信息模块的主要后台代码和页面如下:/src/org/zjz/shopmall/struts/action/ProductAction.java/src/org/zjz/shopmall/struts/form/ProductForm.java/src/org/zjz/shopmall/model/ Product.java/src/org/zjz/shopmall/dao/ ProductDAO.java/src/org/zjz/shopmall/dao/ ProductDAOImpl

56、.java/web/product/*.jsp产品列表页面设计如下:增加产品页面设计如下:产品详情页面设计如下:产品删除后直接跳回列表页面。主要代码实现见附件源代码。4.2.3 分类管理模块产品必须归属于某个分类,因此本模块主要用于管理产品分类的信息,该模块只针对管理员,普通用户无权限操作。主要包含列表,编辑和删除功能。分类列表页面设计如下:增加分类页面设计如下:编辑分类页面可以添加该分类的一些属性,如CPU,内存,硬盘等等的参数均在此添加,页面设计如下:在分类列表页面可直接删除分类信息。删除后直接跳转回列表页面。4.2.4 购物车模块用户通过产品详情页面的加入购物车链接,可以将自己想买的产品

57、加入购物车,并在购物车中编辑产品数量。购物车列表页面设计如下:通过“去结算”链接可以到达下订单页面。主要代码时间如下:4.2.5 订单模块 用户通过购物车选择自己需要的产品和数量之后,可以提交订单,在订单页面上,用户需要填写自己的收货信息。提交订单成功之后,用户可以查看订单的详细情况,而管理员则可以编辑订单信息,让订单的状态改变。填写订单页面设计如下:订单提交成功后,可查看订单列表。设计如下:点击订单号可以查看订单详情,同时可以添加反馈信息,页面设计如下:在用户提交完订单后,管理员可以查看订单列表,编辑订单信息等。当管理员将订单状态修改为“已发货”时,需要填写物流信息。订单列表页面设计如下:订

58、单编辑页面设计如下:物流信息填写页面:代码实现请看附件源代码。4.2.6 优惠信息模块 网站管理员可以根据不同的节日添加优惠信息,优惠信息模块同样具备增删改查的功能。优惠列表页面:增加优惠信息页面:编辑优惠信息页面:删除优惠信息后直接跳转回优惠信息列表。4.2.7 反馈信息模块用户可能对某个订单有意见,这时候可以通过订单详情页面输入反馈信息,提交后管理员就可以通过反馈信息模块查看到这些信息。反馈信息只能查看,不能删除或编辑。反馈信息列表页面:反馈详情页面:4.2.8 物流信息模块该模块可以查看已发货订单的物流信息。当订单的状态发生改变时,该物流信息将会被删除。物流信息模块只有查看功能。列表页面

59、设计如下:4.2.9 用户信息模块该模块是针对管理员开发的,可以实现对用户信息的查看和编辑功能,当删除用户时,如果该用户有未成交或未关闭的订单,系统将提示无法删除。用户信息列表页面设计如下:编辑用户信息页面设计如下:删除用户的提示:代码实现请参考附件源代码。5使用说明书5.1运行环境简介运行环境简介:硬件环境要求:服务器端:一台配置为512M内存,CPU为 800MHZ,硬盘容量为80G的微机.服务端:奔腾以上的微机处理器软件环境要求:1服务器端:a.前台编译环境:Tomcatb.数据库:MySQLd.操作系统为:Windows xp2.客户端操作系统使用Windows9X/2000/NT/X

60、P浏览器:IE,Firefox,Chrome6 软件测试在开发大型软件系统的过程中,需要面对错综复杂的问题,人的主观认识不可能完美无缺,因此,在软件生存周期的每个阶段都不可避免地会产生错误。在软件生命周期的每个阶段都不可避免地回产生差错。我们力求在每个阶段结束之前通过严格的技术审查,尽可能早地发现并纠正差错。测试的目的就是在软件投入生产性运行之前,尽可能多地发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明、设计和编码的最后复审。软件测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试。与开发过程类似,测试过程也必须分步骤进行,每个步骤在逻辑上是前一个步骤地继续。大型软件系统通常由若干个子系统组成,每个子系统又由许多模块组成。因此,大型软件系统的测试基本上有下述几个步骤组成:1、模块测试:在这个测试过程中所发现的往往是编

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!