网上商城系统-论文_第1页
网上商城系统-论文_第2页
网上商城系统-论文_第3页
网上商城系统-论文_第4页
网上商城系统-论文_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

..毕业论文〔设计〕题目:网上商城系统Title:OnlineShoppingSystem申请学位工学学士学院计算机学院专业软件工程学生学号导师2014年5月14日摘要随着社会的不断开展,科学技术也在不断的更新。Internet作为新型的工具,在90年代便开场用于商业,它的迅速的开展为商业界提供了更加广阔信息平台与更多的商机,如催化剂一般刺激着商业经济的快速开展。因此选择设计开发一个企业门户拥有重要的意义。本文阐述了网上购物系统的开发与设计。设计采用现在比拟流行的JSP开发技术,并考虑到所处理的数据的构造特点及所学到的知识,应用MySql数据库系统作为的后台数据库。系统实现了的根本功能,包括客户的注册登录、浏览信息、信息查询、购物并填写订单以及管理员对于的维护与更新。在页面设计与制作中,对于页面的根本格式,使用HTML语言出大的框架,然后用Dreamweaver8及MyEclipse在框架里面做详细的设计。结合这次设计的意义对Internet在商业中的应用与开展做一下介绍;然后针对整个系统进展分析,其中包括可行性分析、需求分析、系统的业务流程分析、数据分析等;在此根底上确定的功能目标,将的功能逐次划分,并细分出子功能模块;接下来设计并实现各个模块,在每个模块都能完成其功能的结果下将其综合成一个完整的系统。关键词:Internet;JSP;MySql;HTML;网上商城.AbstractWiththecontinuousdevelopmentofsociety,scienceandtechnologyisalsoinconstantupdates.AsanewInternettool,inthe1990sbegantomercial,itsrapiddevelopmentforthebusinessmunityprovidesbroaderinformationplatformwithmoreopportunities,suchascatalystgeneralstimulatingmercialtherapiddevelopmentofeconomy.Sochoosedesigndevelopmentanenterpriseportalhasimportantsignificance.Thispaperexpoundstheonlineshoppingsystemdevelopmentanddesign.DesignUSESnowpopularJSPwebsitedevelopmenttechnologyandconsideringwebsitethedatadealtwiththestructurecharacteristicandtheknowledgeyouhavelearned,applicationMySqldatabasesystemaswebsitebackstagedatabase.Systemrealizesthebasicfunctionofthesite,includingregisteredbyclientlogin,browsingwebsiteinformation,informationquery,shoppingandfillordersandadministratorforthewebsitemaintenanceandupdate.Inwebdesignandproduction,tothepageofthebasicformat,usingHTMLlanguageoutthelargeframe,thenuseDreamweaver8andEclipseinframeinsidemakedetaileddesign.binedwiththedesignofthemeaningoftheInternetinthebusinesstheapplicationanddevelopmentofanoverview,Thenforthewholesystemisanalyzed,includingfeasibilityanalysis,requirementanalysis,systemofbusinessprocessanalysis,dataanalysis,etc.Onthisbasistodeterminethefunctionalityofthesitegoal,willthefunctionalityofthesitesuccessiveclassified,andthesubdivisionoutthesonfunctionmodule;Thenextdesignandrealizethemodules,ineachmodulecanacplishitsfunctionresultunderitsintegratedintoapletesystem.Keywords:Internet;JSP;MySql;HTML;OnlineShopping.目录TOC\o"1-3"\h\u25407摘要218000Abstract311181目录431508第一章绪论6196731.1课题的工程背景672471.2课题的现实意义644971.3网上商城系统开展历史7125561.4网上商城系统的作用757031.5网上商城系统的构成85956第二章系统可行性研究9202722.1问题的定义9204622.2可行性研究的方法1022052.3可行性确实定1020613第三章系统需求分析与设计12314543.1系统需求12117313.1.1系统目标1257363.1.2系统用例图13209923.1.3系统开发环境配置1546393.2数据描述15164443.2.1数据库设计15217403.2.2数据库描述16149633.2.3数据表清单17238193.2.4数据库的连接22494第四章系统概要设计2568324.1系统架构25291474.2系统目标设计2684394.3系统逻辑分析27273924.4系统功能模块设计27264294.4.1前台系统功能模块设计275584.4.2后台管理系统功能模块设计2826193第五章系统详细设计29120825.1程序设计29307545.2系统页面设计与实现29267005.3前台功能模块实现30219645.4后台功能模块实现3813952第六章系统测试45120916.1概述45289796.1.1测试目的45288616.1.2测试方法4610156.2测试环境46118276.3测试用例4630579第七章总结5110437致5232456参考文献53第一章绪论1.1课题的工程背景在国家大力推进信息化建立的宏观背景下,城市网络根底设施及应用水平均已得到了较大的完善和提升。特别是在经济兴旺的沿海地区,商贸效劳业也较为兴旺,市民承受新事物能力和消费水平均较高,进展商贸流通业〔即商品流通和为居民效劳的第三产业〕信息化与电子商务建立是政府的一项重要工作。

愈来愈多的商贸效劳企业意识到了用现代信息技术改造传统经营方式,用电子商务手段提升管理和效劳水平的重要性。已有许多企业在着手方案或已进展自身的电子商务建立,这就有了对商贸效劳业电子商务应用平台的迫切需求。电子商务建立的最终目的是开展业务和应用。电子商城系统的建立,可以建立起电子商务效劳的门户站点,是现实社会到网络社会的真正表达,为广阔网上商家以及网络客户提供一个符合中国国情的电子商务网上生存环境和商业运作空间。1.2课题的现实意义1999年底,随着互联网高潮降临。中国网络购物的用户规模不断上升。2010年中国网络购物市场延续用户规模、交易规模的双增长态势。据"2013-2017中国网络购物行业市场前瞻与投资预测分析报告"统计数据显示,2010年中国网络购物市场交易规模接近5000亿,达4980.0亿元,占到社会消费品零售总额的3.2%;同时,网络购物用户规模到达1.48亿,在网民中的渗透率达30.8%。前瞻网认为对于一些传统企业而言,通过一些传统的营销手段已经很难对现今的市场形成什么重大的改变了。如果想将企业的销售渠道完全翻开,企业就必需引进新的思维和新的方法。而网络购物正好为现今的传统企业提供了一个很好的时机与平台,传统企业通过借助第三方平台和建立自有平台纷纷试水网络购物,构建合理的网络购物平台、整合渠道、完善产业布局成为传统企业未来开展重心和出路。1.3网上商城系统开展历史网上购物系统的英文是OnlineShoppingSystem,这个单词最先提出的是英国的Lap公司,一家在世界围做网店系统都非常有名的公司。该公司在中国大陆设有分公司,Lap公司提出这个词起源于1998年,英国在线购物刚刚起步,当时Lap在英国小有名气,为规市场称谓,那么提出OnlineShoppingSystem统一名称,后被引入中国,亦是现在的网上购物系统。无论是开设个人网上购物商店还是企业在线购物商城,一套好用的网上购物系统都是必须的。网上购物系统拥有完整规的商流和金流,整合了几十家国知名的支付网关,并且置了多套精巧模版,同时还提供灵活强大的模版编辑功能。商家可以根据自己的喜好对网上商店的前台页面做个性化设置;同时,网上购物系统还拥有强大的商城功能,如店铺推荐和搜索,商品推荐和展示等等。运营商可以给商家提供全方位的广告宣传和推广。顾客也可以方便的找到自己心仪的商品和商店;1.4网上商城系统的作用网上商城系统与实体店相比,有如下几点优点:(1)你有零售店铺实体,说明货源和渠道都没问题了。网店可以是实体的很好补充。(2)24小时营业时间。网上商城延长了商店的营业时间,一天24小时、一年365天不停地运作,都可照常营业。对于所有的商家来说,时间永远都是金钱。网上商城那么节省了人力方面的投资,同时,营业时间不受限制,消费者可以在任何时间登陆、购物。交易时间上的全天性和全年性,使得交易成功的时机大大提高。(3)网店可以很好的做到免费宣传实体店的效果。(4)网店还可以帮实体,完善更好客户群。有的外地客户想购置你的东西,就没有地域界限。(5)网店还是你实体的免费市场调查。点击和成交都是自动统计的。你可以通过网络点击和成交量把握商品库存的尺度和市场的趋势。并且通过沟通可以得到更多有助你实体开展的信息。(6)最优秀的配合,就是实体和网络的配合,这是传统与高科技的完美集合。1.5网上商城系统的构成基于Internet根底上的企业网上商城系统是由以下三局部构成:〔1〕Internet信息系统网上商城系统的根底是Internet信息系统,它是进展交易的平台,交易中所涉及的信息流、物流和货币流都与其严密相关。Internet信息系统是指企业、组织和电子商务效劳商,在Internet网络的根底上开发设计的信息系统,它可以成为企业、组织和消费者之间跨越时空进展信息交换的平台。在信息系统的平安和控制措施保证下,通过基于Internet的支付系统进展网上支付,通过基于Internet物流信息系统控制物流的顺利进展,最终保证企业、组织和个人消费者之间网上交易的实现。因此,Internet信息系统的主要作用是提供一种开放的、平安的和可控制的信息交换平台,它是电子商务系统的核心和基石。〔2〕实物配送进展网上交易时,如果消费者通过Internet订货、付款后,不能及时送货上门,便不能实现满足消费者的需求。因此,一个完整的电子商务系统,如果没有高效的实物配送物流系统的支撑,是难以维系交易顺利进展的。〔3〕支付结算支付结算是网上交易完整实现的很重要一环,关系到购置者是否讲信用按时支付,卖者能否按时回收资金,促进企业经营良性循环的问题。一个完整的网上交易,它的支付应是在网上进展的。但由于目前电子虚拟市场尚处在演变过程中,网上交易还处于初级阶段,诸多问题尚未解决,如信用问题及网上平安问题,导致许多电子虚拟市场交易并不是完全在网上完成只是在网上通过了解信息撮合交易,然后利用传统手段进展支付结算。第二章系统可行性研究可行性分析法(Feasibility

analysis),可行性分析法是对工程工程技术、经济论证技术、经济论证、经济合理性综合分析的方法。其目的是通过对技术先进程度,经济合理性和条件可能性的分析论证,选择以最小的人力、物力、财力消耗,取得最正确技术、经济、社会效益的切实方案。它是解决工程投资前期分析的主要手段。

2.1问题的定义开发该系统的原因随着因特网的不断开展和信息高速公路的逐步延伸,人类社会现今已昂首步入信息社会时代,而商品交易模式在不断的发生着变化。在社会化大生产以及社会分工日趋专业化的今天,网上购物无形的占据着主要地位。网上购物系统一般有商品管理、购物车管理、系统同管理和会员管理等要素组成,是一个网上交易的过程。其主要任务是交易各方以电子交易方式而不是通过当面交换或者之间面谈方式进展的任何形式的商业交易。显然,这与"网上购物〞的概念和容既有联系,又有明显的区别。他们设计的信息围,效劳功能以及社会意义等都不一样。网上购物系统搜集和管理的是特定的信息,其围较窄,功能和目标比拟明确、具体,主要是为特定的领域和机构的决策和管理效劳;而信息管理那么要对各类信息及其相关要素进展全方位管理,而对全社会开展信息效劳,以便有效的满足社会的信息需求。系统的根本目标网上商城系统为实现一下目标第一,网上产品群有很高的利润空间,例如的库存图书,也可以包销、定制、买断产品来做低价销售。同时,针对新产品线的百货、礼品、饰品等可以做贴牌销售,毛利空间很高,弥补了其他产品线低价的损失;第二,网上购物无店面本钱,并且可以根据客户需求进展针对性的跟踪推广,市场广告本钱比拟低,整体的运营本钱低。第三,网上购物给用户提供方便的购置途径,只要简单的网络操作,足不出户,即可送货上门,并具有完善的售后效劳。同时,在向当当网这样的地方购置商品,都能实现送货上门,货到付款,使网上购物的平安性得到了保障。这些都是顾客热衷网上购物和网络销售快速增长的原因。系统的根本功能游客可浏览以及商城商品,注册成为会员后可选择商品参加购物车,选择送货方式和支付方式以及完善个人信息后可进展下单支付。本会员可直接登录进展购物。顾客在售后可对商品进展评论,并且可以在论坛发帖子。后台管理分为商品管理和系统管理。商品管理主要负责添加商品、管理商品以及管理订单;系统管理主要负责对管理员和会员的管理。2.2可行性研究的方法〔1〕可行性研究所采用的方法和步骤通过调查分析开发网上商城系统所具备的能力及实现的方法。确定总体构造,利用J2EE技术连接MySql数据库,以最简洁最容易的方法,使其成为一个初级的系统软件。〔2〕评价尺度此软件由于只是一个初级产品,所以只能构建一个比拟简单的网购系统,能根本完成用户注册登录,客户下单以及后台管理订单等功能,为一个可完成根本购物的网上商城系统。2.3可行性确实定(1)经济上的可行性:从长远角度来看,此系统的投入会给店家的带来管理严格化、信息统计完整化、数据处理智能化、经济预算科学化、业务处理高效化等综合多方面,对网购的顾客满意程度和酒店的经济效益会有长远的提高。操作上的可行性:主要包括:a.对目标组织的影响;b.目标组织人员适应的可行性(如目标组织的行政管理、工作制度、人员素质等能否满足要求);c.市场、法律、社会环境条件的可行性;d.时间进度可行性:工程完成所需的时间、预计时间是否足够等。网络技术的可行性:1)处理能力本方案中程序与数据集中存放,可以大大降低系统维护本钱。那么,效劳器的处理能力足够吗?根据公司目前的状况,即使在顶峰期,最多也只有一百多台电脑同时使用,这对于我们选定的效劳器是一个小的数目。2)平安性系统平安问题主要包括用户认证,加密传输与用户权限这几方面。利用数字证书、HTTP协议、+平安管理等技术,可以很好地解决这些问题。(4)法律上的可行性:本软件系统由个人自主设计开发,属本人,不存在侵犯他人,集体,国家利益等情况。(5)社会上的可行性:无论是对顾客、店家还是管理员对信息系统使用的方便快捷都表示很大的赞同。同时,系统的开发和使用对促进整个社会的信息化程度开展有巨大推动作用。综合上所述,本系统具备设计开发条件。第三章系统需求分析与设计3.1系统需求本系统分为前台和后台管理功能,前台对象是浏览客和会员,后台对象是系统管理员和商品管理员。各个对象功能需求如下:使用人员权限、功能浏览客浏览、注册、搜索会员浏览、注册、搜索、购物、登陆、消息功能、个人资料修改、收货地址、积分交易、订单查看商品管理员商品管理、商品分类管理、品牌管理、订单管理系统管理员商品管理、商品分类管理、品牌管理、订单管理、送货方式管理、会员管理、公告管理、模板管理、论坛分类管理、帖子管理、系统配置、支付管理3.1.1系统目标本网上商城系统主要经营酒业,名为醉翁酒行,按照根本网上商城系统功能,系统主要实现的目标如下:这是一个网上在线购物系统〔B2C〕。系统需要提供网上购物的功能。用户能够随意浏览商品,并能获取商品的详细信息,如图片预览、商品描述等。系统能够向用户提供一些浏览信息,让用户能够快速的了解系统出售商品信息,如特价促销,店长推荐,排行榜,新上架商品等。系统能够提供3级分类商品。系统能够提供品牌分类。系统能够提供公告信息,让用户快速了解系统的通告信息。系统能够提供论坛的方式,供用户发表对商品的评论的功能。系统能够提供搜索功能,让用户快速了解他需要的产品。用户在浏览3级分类商品的时候,需要体统高级筛选功能,如不同方式浏览商品信息、按价格排序商品,按规格浏览商品等功能。用户购物需要注册成为本系统的会员,并能随时修改自己的信息〔如收货信息等〕。会员能够收藏自己喜欢的商品,并能随时关注该商品。会员能够查看已购置的商品。会员能够完成与论坛的相关功能。下面的这些功能需要后期实现。系统可以分为不同权限的管理员,管理本系统,如商品管理员、系统管理员等。系统管理员可以配置一些信息管理本系统。系统可以管理商品〔添加、删除、修改、查询〕。系统可以管理商品分类〔添加、删除、修改、查询〕。系统可以管理品牌〔添加、删除、修改、查询〕。系统可以管理论坛,根据商品分类创立论坛分类。自定义分类等。系统可以的论坛管理功能等,此处不再详细累赘。系统可以进展订单管理功能。系统可以进展用户管理功能。公告管理管理。模板管理功能。支付用送货管理。3.1.2系统用例图本系统的各个用例关系图如下:前台用例:图3-1前台用例图后台用例:图3-2后台用例图3.1.3系统开发环境配置硬件环境:◆CPU:PentiumⅢ或以上◆存:256MB以上软件环境:◆开发语言:JAVA、HTML/JS、Ajax、JQuery◆使用的技术:Servlet技术、MVC架构◆操作系统:WindowsXP、windowsserver2003、windows7等◆WEB效劳器:IIS5.0以上◆分辨率:最正确效果1024*768像素3.2数据描述3.2.1数据库设计数据库是数据库应用程序的重要组成局部。一个设计构造合理的数据库对于应用程序的开发效率和程序的性能都是非常重要的。数据库的设计过程大致如下:根据用户需求,确定数据库中要保存的数据信息。对用户需求进展分析时数据库设计的第一个阶段。不断的调查与研究用户需求,了解企业运作流程等系统需求,使设计概念模型的根底。(1)设计数据库的概念模型。概念模型是按用户的观点来对数据建模,使用与进展信息世界建模的工具。它对整个数据库的设计具有深刻的影响。(2)逻辑构造设计。逻辑构造是把概念构造转化为与所采用的数据库管理系统所支持的数据模型相符合的过程。(3)数据库的实施和维护。在设计好前台与后台的功能模块后,就开场进展数据库的设计了。根据系统的分析,数据库是整个的核心。从前台显示的信息到后台操作的对象,都是围绕数据库展开的。3.2.2数据库描述本系统应用的数据量比拟少,使用Mysql操作数据库作为底层数据源。以下为本系统的E-R图:普通用户普通用户购置商品管理员用户更新账号用户名密码手机推荐人活动代码品牌型号内存尺寸颜色原价编号优惠价库存账号密码查看购置列表商品编号用户账号编号购置数量购置日期1n1n11图3-3系统E-R图3.2.3数据表清单表3-1系统表一览:名称代码会员tb_customer公告tb_notice历史表tb_orderhistory品牌tb_brand商品评论tb_productsay支付方式tb_pay收货信息tb_realmsg消息tb_msg管理员权限tb_power系统管理员tb_admin订单tb_order订单明细tb_orderitem论坛tb_bbs送货方式tb_send属性tb_product酒类别tb_category表3-2会员表〔tb_customer〕名称代码数据类型是否主键是否为空用户IDuseridint20是否用户名称usernamevarchar50否否密码userpwdvarchar30否否性别usergenchar5否否usermailvarchar80否否手机userphoneint11否否描述userdesctext否是地址useraddressvarchar100否否积分scoreint11否是表3-3公告表〔tb_notice〕名称代码数据类型长度是否主键是否为空公告IDnoticeidint11是否公告标题noticetitlevarchar50否否公告容noticecontenttext否否公告时间noticetimedatetime否否公告类别noticetypevarchar30否否表3-4订单历史表〔tb_orderhistory〕名称代码数据类型长度是否主键是否为空订单历史IDidint11是否订单号ordernumint11否否时间htimedatetime否否状态hdescint2否否表3-5订单历史表〔tb_brand〕名称代码数据类型长度是否主键是否为空商品品牌IDidint11是否商品分类IDclassIdint11否否品牌名称namevarchar20否否品牌图片URLimageurlvarchar100否否品牌描述bdesctext否否表3-6商品评论表〔tb_productsay〕名称代码数据类型长度是否主键是否为空商品评论IDidint11是否商品评论IDpidint11否否用户IDuseridint11否否商品IDgoodsidint11否否评论容contenttext否否评论时间saytimedatetime否否表3-7支付方式表〔tb_pay〕名称代码数据类型长度是否主键是否为空支付IDpayidint11是否名称paynamevarchar30否否表3-8收货信息表〔tb_realmsg〕名称代码数据类型长度是否主键是否为空idmsgidint11是否用户IDuseridint11否否真实realnamevarchar20否否收货地址realaddressvarchar60否否邮政编码sendcodeint11否否手机phonenumint11否否表3-9消息表〔tb_msg〕名称代码数据类型长度是否主键是否为空消息IDmessageidint11是否主题titlevarchar50否否正文contenttext否否发件时间sendtimedatetime否否收件时间receivetimedatetime否否用户IDuseridint11否否表3-10权限表〔tb_power〕名称代码数据类型长度是否主键是否为空权限IDmenuidint11是否支付管理payvarchar20否否论坛管理bbsvarchar20否否帖子管理cardvarchar20否否会员管理customervarchar20否否公告管理noticevarchar20否否商品管理goodsvarchar20否否订单管理ordermvarchar20否否表3-11系统管理员表〔tb_admin〕名称代码数据类型长度是否主键是否为空管理员IDmgidint11是否用户名mgnamevarchar20否否密码mgpwdvarchar20否否真实mgrealnamevarchar20否否生日mgbirthdaydate否否描述mgdesctext否否权限IDmenuidint11否否性别mggenderchar5否否表3-12订单表〔tb_order〕名称代码数据类型长度是否主键是否为空订单号ordernumbigint20是否送货方式sendnamevarchar20否否支付方式paynamevarchar20否否结算时间paytimedatetime否否状态paystatuint11否否用户IDuseridint11否否收货人namevarchar20否否收货地址addressvarchar20否否sendcodeint10否否手机phonenumint11否否总金额sumpriceint11否否表3-13订单明细表〔tb_orderitem〕名称代码数据类型长度是否主键是否为空订单号ordernumbigint20是否商品单价pricefloat2否否数量countint11否否商品IDgoodsidint11否否商品名称pnamevarchar20否否表3-14论坛表〔tb_bbs〕名称代码数据类型长度是否主键是否为空帖子IDpostidint11是否日期posttimedatetime否否标题posttitlevarchar50否否容postcontenttext否否用户IDuseridint11否否帖子IDpidint11否否类别classidint11否否等级levelint11否否表3-15送货方式表〔tb_send〕名称代码数据类型长度是否主键是否为空送货IDdeliveridint11是否送货方式sendwayvarchar20否否表3-16商品属性表表〔tb_product〕名称代码数据类型长度是否主键是否为空商品IDgoodsidint11是否类别goodsnamevarchar30否否类别IDgoodsclassint11否否商品主题goodstitlevarchar30否否商品简介goodsIntroducetext否否商品品牌goodsbrandvarchar20否否商品价格memberpricefloat11否否商品标价marketpricefloat11否否商品图片urlimgurlvarchar100否否销量salecountbigint否否点击率clickcountbigint否否评论remendvarchar11否否特价specialsalefloat11否否最新上架newgoodsint11否否表3-17商品类别表〔tb_category〕名称代码数据类型长度是否主键是否为空类别IDclassidint11是否商品IDpidint11否否类别名称namevarchar30否否等级levelint11否否节点isleafint11否否描述cdesctext否否3.2.4数据库的连接(1)JDBC的原理JDBC是一种可用于执行SQL语句的JavaAPI〔ApplicationProgrammingInterface,应用程序设计接口〕。它由一些Java语言写的类、界面组成。JDBC给数据库应用开发人员、数据库前台工具开发人员提供了一种标准的应用程序设计接口,使开发人员可以用纯Java语言编写完整的数据库应用程序。通过使用JDBC,开发人员可以很方便地将SQL语句传送给几乎任何一种数据库。也就是说,开发人员可以不必写一个程序访问Sybase,写另一个程序访问Oracle,再写一个程序访问Microsoft的SQLServer。用JDBC写的程序能够自动地将SQL语句传送给相应的数据库管理系统〔DBMS〕。不但如此,使用Java编写的应用程序可以在任何支持Java的平台上运行,不必在不同的平台上编写不同的应用。Java和JDBC的结合可以让开发人员在开发数据库应用时真正实现"WriteOnce,RunEverywhere!〞Java具有强健、平安、易用等特性,而且支持自动网上下载,本质上是一种很好的数据库应用的编程语言。它所需要的是Java应用如何同各种各样的数据库连接,JDBC正是实现这种连接的关键。JDBC图解:图3-4JDBC图解JDBC的任务(步骤):a.注册JDBC驱动程序三种方式:1)DriverManager.registerDriver(neworacle.jdbc.driver.OracleDriver());2)Class.forName("oracle.jdbc.driver.OracleDriver");3)java-Djdbc.drivers=oracle.jdbc.driver.OracleDriver.FirstJDBb.创立数据库连接Connectionconn=DriverManager.getConnection(url,username,password);JDBC的URL=协议名+子协议名+数据源名。c.创立Statement对象Statementstm=conn.createStatement();d.执行SQL语句rs=stm.executeQuery(sql);e.处理返回的结果集常见的处理方法:while(rs.next()){······}如果返回的只有一个数据记录,那么if(rs.next()){······}f.关闭JDBC资源if(rs!=null){try{rs.close();}catch(SQLExceptione){e.printStackTrace();}}if(stm!=null){try{stm.close();}catch(SQLExceptione){e.printStackTrace();}}if(con!=null){try{con.close();}catch(SQLExceptione){e.printStackTrace();}}第四章系统概要设计4.1系统架构本系统整体架构使用了MVC框架。MVC全名是ModelViewController,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典,用一种业务逻辑、数据、界面显示别离的方法组织代码,将业务逻辑聚集到一个部件里面,在改良和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的开展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的构造。其分层构造图如下:图4-1MVC架构图视图层:由jsp动态页面组成,主要负责与用户进展一系列的交互,给用户提供直接,方便和可靠的操作。控制层:对用户的请求进展分析,调用相应的业务逻辑进展处理,根据处理获得的结果返回相应的视图。业务层:提供系统的业务逻辑处理,根据控制层的调用,返回相应的结果逻辑层:与持久层进展交互,对数据进展加工处理,返回给业务层。持久层:直接与数据库进展交互,能够调用数据库的API对其进展增删改查的操作,并且提供接口给业务逻辑层进展相应的数据操作。数据库层:负责一系列数据的管理和存储。4.2系统目标设计系统的功能模块主要有两大模块,分别是前台用户模块和后台管理员模块。A.前台的用户模块主要是用户购置商品。〔1〕注册会员游客要首先注册成为本会员才可以进展商品购物〔2〕会员登录会员要登录才能进展网购〔3〕浏览〔搜索〕商品用户可以浏览网页上现有的商品,并可以根据需求来进展模糊搜索商品。〔4〕购物车用户挑选出自己想买的商品,并放入购物车,以便结算。〔5〕选择支付方式、送货方式用户可以选择系统已有的一种支付方式和一种送货方式〔6〕填写收货地址用户填写收货地址,以便日后准确送货。〔7〕查看订单及订单历史用户可以查看自己已买过的商品B.后台管理模块分为商品管理和系统管理1.系统管理〔1〕管理员登录管理员登录可以进展各个模块的管理〔2〕会员管理管理员可以查看,修改、删除会员的信息〔3〕管理员管理管理员可以进展管理员的添加、信息修改、删除。〔4〕支付方式、送货方式管理管理员负责添加、删除支付方式、送货方式〔5〕公告管理后台添加、修改、删除公告,以便在前台显示公告2.商品管理〔1〕分类管理对商品的类别进展添加、修改、删除。〔2〕品牌管理对商品所属品牌进展添加、修改、删除。〔3〕订单管理管理员可以从后台获得用户下的订单,并可以对订单状态进展修改4.3系统逻辑分析通过对系统的可行性研究和需求分析,可得出系统的逻辑功能如下所示:网上商城系统网上商城系统后台局部前台局部用户管理个人资料管理购物车管理订单查询公告系统管理员登录添加商品订单信息管理查询用户信息支付送货方式图4-2系统前后台逻辑功能图4.4系统功能模块设计4.4.1前台系统功能模块设计前台系统主要包括游客浏览商品、顾客搜索商品、顾客参加购物车并购置商品、顾客评论商品、系统公告等(1)商品搜索:顾客可以按照类型、品牌、以及准确搜索商城数据库存在的所有商品,以及商品的详细信息(2)顾客下订单:对于会员可以对选中的商品参加购物车,填写送货信息和支付方式并进展结算。(3)顾客评论:顾客收货之后可以对商品进展评论,将信息与其他顾客分享,并向商品管理员反应商品质量。4.4.2后台管理系统功能模块设计后台管理系统主要包括会员管理,支付方式和送货方式管理,商品管理统,管理员管理、商品评论管理和订单管理。(1)会员管理:系统管理员可以对已经注册的客户进展管理,主要是查看客户信息和删除客户,并不可以增加用户。(2)支付方式和送货方式管理系统:系统管理员可以在后台增删改查支付方式和送货方式,便于顾客选择。(3)商品管理:商品管理员可以对商品进展增删改查,详细描述商品信息,让顾客对商品有更深的了解。(4)管理员管理:系统管理员可以增加管理员,删除管理员,修改管理员的信息以及模糊搜索管理员。(5)商品评论管理:商品管理员及时处理客户的意见反应,满足客户的需要。(6)订单管理:商品管理员可以修改前台会员下的订单状态,以及删除订单功能。第五章系统详细设计详细设计以概要设计为前提,进一步对系统每个模块进展细化及对据库的数据构造进展设计。5.1程序设计本系统设计的在设计过程中包含页面〔HTML〕的设计以及客户端验证机制〔JavaScript〕的设计。JavaScript也叫小脚本语言,他是一种非常流行的动态网页技术。他不仅能够实现网页的动态效果,而且能够在一定程度上检测网页的错误,从而在一定程度上实现的平安。本系统应用效劳器端JSP动态网页技术,以及在Serverlet和JavaBean的可重用组件技术的支持下,结合客户端动态网页技术Javascript以及与HTML的无缝结合的设计,从而方便系统的实现[7]。5.2系统页面设计与实现如果将比作一个人的话,效劳器就像大脑,数据库就像五脏六腑,其嵌的Java和JavaScript组合起来就像是细胞与神经,而网页就是这个人的皮肉。网页将的各个组成局部包裹起来,形成易懂并且美观的外表展示给大家。浏览者登陆后看到的就是一个个网页的组合。所以设计和实现每一个网页也是非常重要的工作。随着科技的高速开展,众多网页制作的应用软件应运而生。相对于传统的动态网页开发工具而言,由于继承了Java语言的许多优点,用JSP开发动态十分方便,开发效率较高。此外,JSP还具有强大的组件〔JavaBean〕支持功能,可以方便地实现组件复用,进一步提高了开发效率。在整个网页的制作过程中,都是结合使用HTML语言来实现设计的。系统的页面设计决定了的风格,制作好的不仅提供应营销商,更多的要供浏览者浏览。所以整个系统应注重的是:易导航性、易操作性和友好的交互界面。因此,的设计最好要简洁、明了、风格清新、实用、易于使用和维护。在页面的风格上应保持统一,这里采用CSS样式表将所有页面的字体、字号、颜色以及超的样式做统一定义5.3前台功能模块实现5.3.1前台首页前台首页可分为几个模块:热板排行,搜索商品,查看商品,购物车等图5-1前台首页5.3.2游客注册游客需要注册方可成为本系统会员,才能购置商品,修改个人信息。图5-2注册页面以下为注册功能的流程图,当注册信息不符合本系统规定的要求会提示注册不成功,并返回原注册页面。图5-3注册流程图本功能难点在于利用正那么表达式和JS代码控制判断输入信息是否合法,以下为主要代码〔此处以控制输入为数字为例〕://控制输入必须为数字functioncountOnKeyPress(elmt,event){ //alert("sss"); vartheEvent=window.event||event;varcode=theEvent.keyCode||theEvent.which; if(!(code>=48&&code<=57)){ event.keyCode=48; } setTimeout("checkcount("+elmt+")",1200);}5.3.3会员登录会员进展登录才可以完成购置商品等功能图5-4登录页面本功能难点为用过滤器判断用户名和密码是否跟数据库里存的用户名和密码一致,如果一致那么可以直接进入,以下为判断流程以及主要代码:publicvoiddoFilter(ServletRequestservletrequest,ServletResponseservletresponse, FilterChainchain)throwsIOException,ServletException{ //TODOAuto-generatedmethodstub HttpServletRequestrequest=(HttpServletRequest)servletrequest; HttpSessionsession=request.getSession(); Customercustomer=(Customer)session.getAttribute("userlogin"); if(customer==null) { request.setAttribute("msg","请先登录"); request.getRequestDispatcher("/servlet/cookieservlet"mon=get").forward(servletrequest,servletresponse); return; } chain.doFilter(servletrequest,servletresponse); }图5-5登录流程图5.3.4查看商品详情点击商品图标或者商品名,可以查看商品的详情图5-6商品详情页面以下为主要实现的代码: publicList<Category>findAllClass(){ List<Category>list=newArrayList<Category>(); Connectionconn=ConnectionManager.getConnection(); PreparedStatementpstmt=null; ResultSetrs=null; try{ pstmt=conn.prepareStatement(SQL_FINDALLCLASS); rs=pstmt.executeQuery(); while(rs.next()){ Categoryc=newCategory(); c.setClassId(rs.getInt("classid")); c.setName(rs.getString("name")); c.setLevel(rs.getInt("level")); c.setPid(rs.getInt("pid")); c.setIsLeaf(rs.getString("isleaf")); c.setCdesc(rs.getString("cdesc")); list.add(c); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ ConnectionManager.close(pstmt); ConnectionManager.closeConnection(); } returnlist; }5.3.5购物车会员将想要购置的商品放进购物车,点击购物车将出现以下界面〔我的购物车〕:图5-7购物车界面亮点在于将购物车上商品和cookie挂钩,加在购物车的商品会保存一定的时间。主要实现代码如下: HttpSessionsession=request.getSession(); Customercustomer=(Customer)session.getAttribute("userlogin"); Cookie[]cookie=request.getCookies(); StringBuffersb=newStringBuffer(); booleanfg=false; if(cookie!=null){ for(CartItemcItem:cart.getItems()){ sb.append(cItem.getGood().getGoodsid()+""+cItem.getCount()+","); } System.out.println("sb="+sb.toString()); for(inti=0;i<cookie.length;i++){ if(cookie[i].getName().equals(customer.getName()+"cart")){ cookie[i].setValue(sb.toString().equals("")""":sb.substring(0,sb.length()-1)); cookie[i].setMaxAge(60*60*24); cookie[i].setPath("/"); response.addCookie(cookie[i]); fg=true; } }5.3.6结算页面结算页面主要包含有已经选择好的要购置的商品,以及需要客户填写收货人的信息,确认无误后按"提交〞按钮,即可成功完成结算图5-8结算界面结算流程如以下图:图5-9结算流程图5.3.7查看订单会员查看订单,并且前提是用户已经登录,可查看订单信息,历史和状态图5-10订单查看以下为主要实现的代码:publicList<Order>findOrderByUserId(intuserId){ Stringsql="select*fromtb_orderwhereuserid="orderbypaytimedesc"; Connectionconn=ConnectionManager.getConnection(); PreparedStatementpstmt=null; ResultSetrs=null; Ordero=null; List<Order>list=newArrayList<Order>();//把订单信息放进ArrayList try{ pstmt=conn.prepareStatement(sql); pstmt.setObject(1,userId); rs=pstmt.executeQuery(); while(rs.next()){ o=newOrder(); o.setOrdernum(rs.getString("ordernum")); o.setSendname(rs.getString("sendname")); o.setPayname(rs.getString("payname")); o.setPaytime(rs.getTimestamp("paytime")); o.setPaystatu(rs.getString("paystatu")); o.setUserid(rs.getInt("userid")); o.setRealname(rs.getString("name"));······ list.add(o); } }catch(SQLExceptione){ //TODOAuto-generatedcatchblock e.printStackTrace(); }finally{ ConnectionManager.close(rs); ConnectionManager.close(pstmt); ConnectionManager.closeConnection(); } returnlist; }5.4后台功能模块实现5.4.1管理员登录管理员进展用户名和密码输入登录后台,进展后台管理图5-11后台登录界面管理员登录的活动图如下,通过Javascript的控制,判断用户名和密码是否为空,如果不为空,那么通过查找数据库看是否存在此人,有那么可以通过servlet跳转,登录后台:图5-12登录流程图以下为Javascript判断用户名或密码不为空://验证不能为空functionvalueNotNull(elmt){ if(trim(elmt.value)==""){ flag=false; varame=document.getElementById("errOldPwd"); ame.innerHTML="该项必须输入"; returnfalse; }else{ returntrue; }}5.4.2产品管理产品管理可实现对现有产品的信息修改,查看产品的详情以及删除产品的功能图5-13产品管理界面//返回商品listpublicList<Good>findAllGoods(){ List<Good>list=newArrayList<Good>(); Connectionconn=ConnectionManager.getConnection(); PreparedStatementpstmt=null; ResultSetrs=null; try{ pstmt=conn.prepareStatement(SQL_FINDALLGOODS); rs=pstmt.executeQuery(); while(rs.next()){ Goodgd=newGood(); gd.setGoodsid(rs.getInt("goodsid")); gd.setGoodsname(rs.getString("goodsname")); gd.setGoodsclass(rs.getString("goodsclass")); gd.setGoodstitle(rs.getString("goodstitle")); gd.setGoodsintroduce(rs.getString("goodsIntroduce"));······ list.add(gd);//把商品信息加进list } }catch(SQLExceptione){ e.printStackTrace(); }finally{//关闭连接 } returnlist; }5.4.3会员管理管理员可以查看已经注册的客户信息,并可以删除客户,但不可以增加一个客户。以下为会员管理界面图5-14会员管理界面以下为主要实现代码://查找所有会员 publicList<Customer>findAllCustomer(){ List<Customer>customerlist=newArrayList<Customer>(); Connectionconn=null; PreparedStatementpstmt=null; ResultSetrs=null; try{ conn=ConnectionManager.getConnection();; pstmt=conn.prepareStatement(SQL_FINDALLCUSTOMER); rs=pstmt.executeQuery(); while(rs.next()){ Customerc=newCustomer(); c.setId(rs.getInt("userid")); c.setName(rs.getString("username")); c.setPassword(rs.getString("userpwd")); c.setSex(rs.getString("usergen"));······ customerlist.add(c); } }catch(SQLExceptione){ e.printStackTrace(); }finally{//关闭数据库连接 } returncustomerlist; }5.4.4管理员管理管理员可以在本界面中对管理员信息进展修改,新增,删除图5-15管理员管理以下为实现管理员管理的核心代码:/**根据条件模糊查询管理员表的方法*/ publicList<Admin>searchAdmin(Adminadmin){ adminlist=newArrayList<Admin>(); Connectionconn=ConnectionManager.getConnection(); ResultSetrs=null; Statementst=null; try{ Stringwhere="where1=1"; if(admin.getAdminRealName().length()!=0){ where=where+"andmgrealnamelike'%" +admin.getAdminRealName()+"%'"; } if(admin.getAdminName()!=null &&admin.getAdminName().length()>0){ where=where+"andmgnamelike'%" +admin.getAdminName()+"%'"; } StringsearchSelectSql="select*fromtb_admin"+where; //创立语句对象 st=conn.prepareStatement(searchSelectSql); //执行语句对象返回结果集 rs=st.executeQuery(searchSelectSql); //处理结果集 while(rs.next()){ this.admin=newAdmin(); this.admin.setAdminid(rs.getInt("mgid")); this.admin.setAdminName(rs.getString("mgname")); this.admin.setAdminPassword(rs.getString("mgpwd"));······ adminlist.add(this.admin); } }catch(SQLExceptione){ e.printStackTrace(); }finally{ //关闭连接 } returnadminlist; }5.4.5订单管理在订单管理模块中,管理员可以查看订单详情,并且可以修改订单状态,把订单最新信息反映给客户,以下为订单管理界面:图5-16订单管理界面图5-17修改订单状态订单是本系统的核心功能,订单有几种状态,分别为:等待到款,等待商品到货,正在配货,正在移仓,已配送等等。利用Ajax技术实现对订单状态的修改。<tr><tdalign="center"><selectname="selectd"style="width:160px"> <c:forEachitems="${statelist}"var="sc"> <optionvalue="${sc}">${sc}</option> </c:forEach> </select><inputname="sub"type="submit"value="修改"></td></tr></form> <c:forEachitems="${historylist}"var="ohl"> <tr><td><spanid="cont">${ohl.htime}: ${ohl.hdesc}</span></td></tr> </c:forEach>以上代码中,${statelist}是以ognl表达式获取数据库里的订单状态列表,显示出来页面,并进展修改。第六章系统测试6.1概述在开发大型软件的漫长过程中,面对极其错综复杂的问题,人的主观认识不可能完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺。因此,在软件生命周期的每个阶段都不可防止地会产生过失。测试是"为了发现程序中的错误而执行程序的过程〞。测试的目的就是在软件投入生产性运行之前,尽可能多的发现软件中的错误。目前软件测试仍然是保证软件质量的关键步骤,它是对软件规格说明.设计和编码的最后复审,也是必不可少的关键步骤。6.1.1测试目的依据可行性分析、用户需求、概要设计和详细设计说明,,其目的是:测试是为了发现程序中的错误而执行程序的过程;好的测试方案是极可能发现迄今为止尚未发现的错误的测试方案;成功的测试是发现了至今为止尚未发现的错误的测试。需求分析需求分析系统设计编制程序单元测试集成测试系统测试确认测试使用维护测试阶段开发阶段图6-1测试流程6.1.2测试方法软件测试的方法和技术多种多样,一般分为两大类:静态测试和动态测试。而动态测试方法又根据测试用例的设计不同,分为白盒测试和黑盒测试。本软件的测试主要采取了黑盒测试也称功能测试或数据驱动测试,是在产品所应具有的功能,通过对每个模块输入数据来测试检测每个功能是否都能满足用户需求,在测试时,把程序看作一个不能翻开的黑盒子,在完全不考虑程序部构造和部特性的情况下,测试者在程序接口进展测试。所以本次测试只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息〔如数据库或文件〕的完整性。〔1)检查程序功能能否按需求规格说明书的规定正常使用,测试各个功能是否有遗漏,检测性能等特性要否满足.

〔2)检测人机交互是否错误,检测数据构造或外部数据库访问是否错误,程序是否能适当地接收输入数据而产生正确的输出结果,并保持外部信息(如数据库或文件)的完整性.

〔3)检测程序初始化和终止方面的错误.6.2测试环境基于Windows7以上环境下的系统底层各根本功能模块。6.3测试用例A.前台会员登录用例编号Test2功能描述输入用户名输入密码登陆验证用例目的柜员成功登录前提条件用户注册完毕或点击首页的"登录〞子用例编号输入/动作期望的输出/相应实际情况状态Test2-1点击首页"登录〞进入登录页面符合良好Test2-2输入用户名、密码,选择登录信息保存时间弹到首页符合良好表6-1会员登录测试顾客搜索用例编号Test3功能描述顾客输入商品名称进展搜索用例目的顾客找到自己想要的商品前提条件会员登录成功,有商品数据的存在子用例编号输入/动作期望的输出/相应实际情况状态Test3-1输入商品关键字跳到商品列表页面,并列出所有符合的商品符合良好Test3-2在分类下拉框选择商品大类跳到商品列表页面,列出所有该类的商品符合良好表6-2顾客搜索测试商品浏览用例编号Test4功能描述顾客点击商品图标进入商品的详情页面用例目的顾客查看商品详细信息前提条件已经存在商品的数据子用例编号输入/动作期望的输出/相应实际情况状态Test4-1点击商品图标或名称弹出商品详情页,显示出商品的所有详细信息符合良好表6-2商品浏览测试参加购物车用例编号Test5功能描述顾客想买的商品放入购物车用例目的暂时把商品参加购物车,继续浏览其他商品,方便顾客购置商品前提条件已经进入商品详情页面子用例编号输入/动作期望的输出/相应实际情况状态Test5-1点击"立即购置〞显示已经商品参加购物车符合良好Test5-2点击"继续挑选〞弹回首页符合良好Test5-3输入框修改商品数量小计会自动根据商品单价增加符合良好Test5-4点击"结算〞保存数据并转到查看订单页符合良好表6-3参加购物车测试订单查看用例编号Test6功能描述顾客查看订单用例目的确认订单信息前提条件商品已经参加购物车并按结算按钮子用例编号输入/动作期望的输出/相应实际情况状态Test6-1填写修改收货地址弹出修改收货人信息页面进展修改,结果返回订单页符合良好Test6-2选择送货方式根据数据库中存在的送货方式点选符合良好Test6-3选择支付方式根据数据库中存在的支付方式点选符合良好Test6-4点击提交跳转回首页

温馨提示

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

评论

0/150

提交评论