BS架构基于JSP的在线购物中购物车的设计与实现_第1页
BS架构基于JSP的在线购物中购物车的设计与实现_第2页
BS架构基于JSP的在线购物中购物车的设计与实现_第3页
BS架构基于JSP的在线购物中购物车的设计与实现_第4页
BS架构基于JSP的在线购物中购物车的设计与实现_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

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

文档简介

文档可自由编辑打印35/40文档可自由编辑打印文档可自由编辑打印B/S架构基于JSP的在线购物中购物车的设计与实现摘要随着Internet的不断普及,人们对于互联网技术的要求已不单单是浏览一下网页,收发电子邮件,日益忙碌的人们开始追求足不出户的利用互联网这一强大的平台来实现的网上购物。对于企业来讲,无论是企业之间(BtoB),还是企业和客户之间(BtoC)的交易,如果能够实现网上交易将大大提高交易速度节约交易成本。运用JSP技术和数据库原理,基于B/S模式开发了一个网上购物系统。在的系统中,顾客可以很方便的注册成为会员,对商品进行浏览检索,查看商品的详细资料,然后根据各人的喜好购买心仪的商品。系统会自动为顾客生成订单,按照顾客所填写的信息提交订单并发货。关键词:B/S模式、JSP、电子商务、数据库AbstractWiththecontinuouspopularityofInternet,thereistherequestofInternettechnologyhasnotjustglanceatthepage,sendandreceivee-mail,anincreasinglybusypeoplebeganleavinghometopursuetheuseoftheInternettothispowerfulplatformtorealizeonlineshopping.Forenterprises,whetherbusiness-to-business(BtoB),orbetweenbusinessesandcustomers(BtoC)transactions,onlinetransactionscanbeachievedifthewillgreatlyenhancethespeedofthetransactiontosavetransactioncosts.

TheuseofJSPtechnologyanddatabasetheory,basedonB/Smodelhasdevelopedanon-lineshoppingsystem.Inthesystem,customerscanbeeasilyregisteredasamemberofcommoditiesbrowsersearch,viewdetailedinformationoncommodities,andthenaccordingtotheirpreferencestobuyyourfavoriteproducts.Thesystemwillautomaticallygenerateordersforcustomers,inaccordancewiththeinformationfilledoutbycustomerstosubmitordersandshipments.Keywords:B/S,JSP,e-commerce,MySql目录1绪论 11.1课题背景 11.2研究意义 11.3本课题主要研究内容 22网上购物简介 32.1网上购物发展急需解决的问题 52.2问题解决方案 52.2.1硬件方面 62.2.2软件方面 63.开发系统用到的语言 93.1JavaScript介绍 93.2JSP介绍 113.3HTML语言介绍: 123.4通过JDBC对数据库进行访问 134系统需求分析 154.1系统需求 154.2系统功能 165系统设计 175.1模块功能设计 175.1.1在线购物流程图显示: 185.1.2用户注册流程 185.1.3用户登陆流程 195.1.4购物车流程 205.2数据库设计 215.2.1数据库的分析 215.2.2数据库的设计 215.2.3创建数据库脚本 23·6系统界面实现 256.1登录界面的实现 256.2商品列表界面的实现 256.3购物车页面显示: 276.4操作订单界面显示 287系统的测试 297.1系统的测试意义 297.2测试目的 307.3测试方法 317.4系统功能测试用例 317.5总结 328总结 33致谢 34参考文献 35毕业设计(论文)知识产权声明 37毕业设计(论文)独创性声明 381绪论1.1课题背景随着Internet及全球信息网应用的快速发展和普及化,网络已逐渐深入人心,更是成为继报刊、电视、广播等传统媒体之后而兴起的一新传媒介质,越来越多的人选择通过网络做自己的事情。同时也受到越来越多的企业重视,企业网站的规划与建设,已悄然被许多人摆到了首要的迫在眉睫的位置上。随着计算机技术的飞速发展,其应用方面已渗透到社会生活的各个域。为了适应未来信息化社会的需要,以网上购物的方式,尝试建造一个全天候的网上购物广场。为任何访问本网站的客户提供优质的商业服务。为使人们的购物更方便快捷,我们结合实际工作需要,采用struts+jsp开发了《网上购物的实现》。使用该系统,可以大大方便人们的生活。当今的企业,如果仍然依靠传统的方式宣传自己企业的形象和文化、采购自己企业所需的原材料和配套部件、推销自己企业的产品,则显得十分落后而且难以适应激烈的市场竞争。因此,当代企业纷纷建立自己的网站,借助于互联网快速的信息传递加速自身的发展。一个企业网站的规划与建设,自然而然也就成了众多类型的网站规划与建设的典范;企业网站的规划与建设这一研究课题,也自然而然地成为当今乃至今后一段长时间内,企业内部和互联网上的一个相当重要的讨论对象(源码网整理:)1.2研究意义Internet的发展,为改变传统的商业运作模式提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。网上购物可以使人们不受时间的限制,不受空间的限制,不受传统购物的诸多限制,随时随地通过互联网购物。各类网上店铺都有自己的特点与应用领域,为改变传统的商业运作模式提供了一种技术上的可行性的方案:利用Internet的技术和协议,建立各种企业内部网Intranet,企业外部网Extranet,通过廉价的通讯手段,将买家与卖家、厂商和合作伙伴紧密结合在了一起,消除时间与空间带来的障碍,从而大大的节约了交易成本,扩大了交易范围。而在实际的生活中,这种方案已经被广泛的运用到了实际的商业活动中了,人们将这种交易模式称为:电子商务。当今比较流行的网上购物系统国外有“淘宝()”,国内有“当当()”。它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范。设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项。1.3本课题主要研究内容本次研究选择的开发语言为Java,该系统基于B/S架构,用户可以通过浏览器对服务器使用访问。首先需要实现网上购物的基本功能,显示商品列表、添加商品到购物车、确认订单,我所研究的重点是对网上购物车的设计与实现模块。系统可实现功能如下:1.能够完成游客或已注册用户对网上商品列表的浏览,以及对各商品的详细信息的查看。2.能够完成已登陆客户对商品的选购:添加商品到个人购物车,并且对已添加到购物车的商品进行数量的增加、减少、修改和删除等操作。3.能够通过查看购物车对所选商品进行确定、挑选,确认或修改购物者的联系方式,通过定单查询对支付费用进行确定。2网上购物简介网上购物是以信息技术为基础的商务活动,它通过Internet使交易双方进行商品交易,由于双方不受时间和空间的局限性,从而不仅大大扩大了消费者和网络企业的商品交易机会,而且大大降低商品交易的成本。但是,目前国内仍存在诸多因素影响和制约着网上购物的发展。1.安全性。安全性问题是阻碍网上购物发展的最大问题。目前,国内一些网上购物网站经常忽视安全体系的建设,使其容易受到计算机病毒和网络黑客的攻击,从而为网上购物的开展带来了安全隐患。其次,我国的网络基础设施在许多方面也远未达到进行网上购物活动的要求,比如接入速率低、反应速度慢、网络带宽窄。再次,网络上的数据经常会遭到窃听、截取和篡改。以上因素都会导致广大用户因为安全问题而对网上购物望而却步。现存的支付宝方式虽然在网上购物中起到了很好的作用,但它只是电子支付中的过度产品,其在解决电子支付的安全性和资金流动的实时性上存在明显缺陷,不能完全满足金融电子化的要求。2.隐私权的保护。随着网上购物时代的到来,人们的生活方式得到了日益明显的变化。然而也给隐私权的保护造成了极大的困难,隐私权的保护正受到前所未有的严峻挑战。由于网络中的信息易于复制和窃取,且不留痕迹,这就给不法分子以可乘之机,导致各种侵害隐私权的行为屡屡发生。例如网络经营者为追求利润和利益使用甚至买卖消费者个人信息;有的经营者未经消费者同意就利用消费者的个人信息进行商业活动。这些情况都会引发人们对网上购物的不信任,阻碍网上购物的快速、健康发展。3.税收问题。随着网上购物的迅猛发展,以及由于网上购物的无纸化、无址化、无形化、无界化、虚拟化和电子支付等特点使税收工作难于有效的开展,出现了一系列税收管理的漏洞,导致本应征收的税款白白流失,给国家造成了巨大的经济损失。传统的税收法律制度和征收管理方式都已难以解决网上购物税收及相关问题。然而,我国现今对网上购物的税收问题没有明确的政策。4.消费者权益的保障。在网上购物活动中交易双方缺少面对面的交互,交易具有很大的不确定性。买方都是通过网络获得相应商品的信息。一些不良网络企业就利用消费者无法看到商品的实样和无法当面交易,为了谋取暴利,制造假冒伪劣商品坑害消费者。因此,公众普遍感到网上购物不直观,不安全,不肯轻易相信网络上的“花言巧语”,商品质量难以得到保证。其结果是给网上购物的发展造成了不小的障碍。网上购物售后安全也是真空地带,出现问题后客户往往不知道该去找谁负责。因此,网上交易投诉近几年呈现大幅度增加。此外,送货不及时也是现今网上购物的一大弊病。网上购物的发展依赖于强大的物流体系。在我国,迄今为止依然缺乏系统化的全国性货运配送企业。物流基础设施不完善、第三方物流服务发展滞后等等都阻碍了网上购物的发展。2.1网上购物发展急需解决的问题1.网上购物的发展必须在加强网络安全的前提下进行,例如加强网络安全协议(SSL、SET)的制定、密码技术应用、认证中心(CA)的建立等等。只有保障了网上购物的安全顺利进行,广大用户才会建立对网上购物交易的信心。2.在开展网上购物的活动中,应该切实抓紧有关隐私权保护的立法工作,并修订相关的法律法规,使隐私权的保护在我国有基本的法律保障,以消除消费者对泄露个人隐私及重要个人信息的担忧。此外,消费者也要增强自我保护意识和技能,自觉防范网上欺诈行为、网络黑客和流氓软件的侵袭,提高个人信息资料和隐私权的保护意识。3.面对网上购物而漏洞百出的税务法规制度,我国应尽快修改完善现行的财税机制,补充有关应对网上购物征税的条款,以便和网上购物发展的要求相适应;从技术上要开发专门针对网上购物的征税系统;相关部门之间要加强协作,规范网络交易;培养面向网络时代的税收专业人才;采取有效措施,加强网上购物税收的征管稽查工作。4.目前,网上消费者权益的保障在我国还是一个“盲点”。用我国现有的法律法规,对网上购物中消费者权益进行保障显得简单、散乱、缺陷很多、可操作性不强等特点。远不能适应网上购物迅速发展所要求的对消费者权益保障的迫切需要。因此,加强对网上购物中消费者权益保障的法律研究和立法,已经迫在眉睫了。此外,建立适合我国国情的现代化物流配送系统也是保障消费者权益不受伤害的重要措施之一。2.2问题解决方案2.2.1硬件方面目前我国电子商务面临的最大的就是安全性问题。一方面是目前的技术,这里所说的技术方面的障碍主要包括网络的可靠性、数据传送的速度等。Internet上存在多种不可靠的因素:软件不可靠、线路不可靠和系统不可靠等。电子商务的进行需要支付与结算,这就应有高质、高效的金融服务及其电子化的配合。金融电子化是电子商务实施的保证,金融电子化要实现跨行、跨地区联网贸易结算、资金划拨,真正为企业和个人提供方便、实时的金融服务,中国的金融业必须适应全球一体化进程而加快变革步伐。由于电子商务是基于信息通信的商务活动,为此需要建设必要的信息基础设施,包括各种信息传输网络的建设、信息传输设备的研制、信息技术的开发,还包括用于多媒体教学、远程教学、远程医疗保健等一系列信息基础设施的建设。由于经济实力和技术方面的原因,我国网络的基础设施建设还比较缓慢和滞后,已建成的网络质量也比较低,公众使用费用比较高。要想实现真正实时的网上交易,需要网络有非常快的响应速度和较高的宽带,这必须由硬件提供对高速网络的支持,面现在大部分的网络速度都达不到实际的要求。另外,信息产品如高性能计算机的核心元件得依靠进口等因素都将成为电子商务发展的制约因素。另外一方面是用户自身的安全意识淡薄,比如不注意加密,不注意更换登陆名等,这就让网上的不法分子有机可乘。这就需要靠政府或一些机构组织一些活动,做宣传,让网上用户提高自己的安全意识。2.2.2软件方面1.提供有力的法律保障从交易安全方面看,目前一个迫切需要解决的问题是加强数据保护,保证用户的个人隐私权,保证用户具有对

Internet上的信息进行控制的自主权,以解决电子商务上发生的各种纠纷,防止诈骗等案件的发生,保证消费者在电子商务活动中的合法权益不受侵犯。

从电子支付方面看,也需要制定相应的法律,明确电子支付的当事人包括付款人、收款人和银行之间的法律关系,制定相关的电子支付制度,认可电子签名的合法性。同时还应制定关于电子支付数据的伪造、更改、涂销问题的处理办法。

还有一部分法律法规应根据电子商务的情况加以补充、修改和完善,消费者权益保护法如何保护网上购物的消费者权益,现有的知识产权法如何保护网上知识产权,广告法如何管理控制网络广告等。

2.提高产品质量和售后服务由于电子商务这种贸易方式的特殊性,用户购物的时候,是在虚拟的商店中购物,由于技术的限制,人们只能看到商品的图片,以及简单的介绍,人们很难判断商品的价值。在目前的条件下,厂商在提高真正商品质量的同时,可以对产品信息的描述更加的详细,在网上人们大部分希望购买对自己确实有用的商品或查看到有真正价值的资源,就比如那购书来说,人们希望通过查看书的简介,能够确认这本书的价值。可目前网上集成的资源主要是以量来衡量,而没有从质上去考虑。这样造成了网上有许多的垃圾资源,同时造成资源的浪费。以后随着技术的发展,渴望达到人们通过坐在电脑前通过一定的终端设备,能够达到身临其境。这样让用户可以放心。对于出售的商品,厂商应该在网上商店中设有专门的客户信息反馈中心,即使的解决客户反馈的问题,如需上门或直接服务的应该即使作到。信誉的好坏直接影响到商家或企业的生存。3.物流问题目前物流已经成为电子商务发展的瓶颈问题,所谓电子商务物流就是信息流、货币流、物流的统称。现在电子商务搞得最好的美国采用的是“流中央化”美国物流模式强调“整体化的物流管理系统”,是一种以整体利益为重,冲破按部门分管的体制,从整体进行统一规划管理的方式。每个国家有自己的特殊的情况,在美国成功的经验,在中国不一定是行之有效的,我们应当针对我国的国情作相应的处理。目前从物流整体发展角度看,我国电子商务物流还存在下面的问题:物流基础设施薄弱,物流社会化、专业化程度不高,第三方物流工作质量不高,服务内容有限,商流不发达,影响物流水平的提高,物流发展仍有一定计划色彩,从物流活动角度看,我国主要存在问题是配送中心发展不成熟,物流活动范围小,物流联盟程度不高,物流技术水平低,信息系统应用仍处于封闭状态。电子商务发展需要政府和企业的积极参与和推动

。在发达国家,发展电子商务依靠私营企业的参与和投资,政府只起引导作用。而发展中国家企业规模偏小,信息技术落后,债务偿还能力低,政府的参与有助于引进技术、扩大企业规模和提高企业偿还债务的能力。另外,许多发展中国家的信息产业都处于政府垄断经营或高度管制之下,没有政府的积极参与和帮助将很难在这些国家快速地发展电子商务。所以要想使中国的电子商务在经后有快速的发展,政府的参与是必然的,现在中国已经加入了世界贸易组织,这无疑是我国电子商务发展的催化剂3.开发系统用到的语言采用的主要技术是基于服务器端的JSP、Java的组件JavaBean,以及网页编程语言HTML。利用JavaEE平台提供的Web编程方式,通过B./S结构方式,实现数据从数据库,到业务处理,到前台展示。Web部分采用基于MVC模式的Struts框架实现,表现层主要用JSP与JavaScript、EL相结实现,控制层采用ActionServlet负责处理请求和转发请求,业务逻辑层使用JavaBean实现,并且采用DAO设计模式进行数据访问的封装,数据持久层采用JDBC技术实现业务层和数据库的交互。设计开发的原则:每层之间都是采用面向接口编程技术,降低了上层对下层逻辑调用的依赖,该项目体现了低耦合、高内聚的设计思想。服务器:ApacheTomcat5.27数据库:MySQL技术实现:Struts+JDBC+JavaBean 开发集成环境:用Eclipcse集成环境进行开发3.1JavaScript介绍早在1995年,BrendanEich就创建了JavaScript,并将它用于NetscapeNavigator2中。他客户端浏览器可以动态生成HTML文本,并允许其执行JavaScript代码,产生可供用户查看并与之交互的页面。嵌在HTML页面中的JavaScript代码可以响应用户事件,如鼠标点击、表单输入和页面导航。代码可以潜入在HTML页面中,或是作为一个外部的JavaScript文件独立存在。而Java与此截然不同,它首先被编译成字节代码,然后在Java虚拟机(JVM)上运行可以独立运行,当然也可以在浏览器中运行。尽管JavaScript被描述为一种面向对象的语言,但它并不是一种纯粹的、百分之百的面向对象语言。JavaScript的代码是一种文本字符格式,可以直接嵌入HTML文档中,并且可动态装载。编写HTML文档就像编辑文本文件一样方便。JavaScript是一种描述性语言,它可以被嵌入HTML的文件之中。通过JavaScript可以做到响应用户的需求事件(如表单的输入),这样当一位使用者输入一项信息时,它不需要通过网络传送到服务器端进行处理再传回来的过程,而可以直接在客户端进行事件的处理。你也可以想像成有一个可执行程序在你的客户端上执行一样(但这种执行程序是有限的,它对客户端电脑的控制力很差)!JavaScript语言的前身叫作Livescript。自从Sun公司推出著名的Java语言之后,Netscape公司引进了Sun公司有关Java的程序概念,将自己原有的Livescript重新进行设计,并改名为JavaScript。JavaScript是一种基于对象和事件驱动并具有安全性能的脚本语言,有了JavaScript,可使网页变得生动。使用它的目的是与HTML超文本标识语言、Java脚本语言一起实现在一个网页中链接多个对象,与网络客户交互作用,从而可以开发客户端的应用程序。它是通过嵌入或调入在标准的HTML语言中实现的。JavaScript具有很多优点:1.简单性JavaScript是一种脚本编写语言,它采用小程序段的方式实现编程,像其它脚本语言一样,JavaScript同样已是一种解释性语言,它提供了一个简易的开发过程。它的基本结构形式与C、C++、VB、Delphi十分类似。但它不像这些语言一样,需要先编译,而是在程序运行过程中被逐行地解释。它与HTML标识结合在一起,从而方便用户的使用操作。2.动态性JavaScript是动态的,它可以直接对用户或客户输入做出响应,无须经过Web服务程序。它对用户的反映响应,是采用以事件驱动的方式进行的。所谓事件驱动,就是指在主页中执行了某种操作所产生的动作,就称为“事件”。比如按下鼠标、移动窗口、选择菜单等都可以视为事件。当事件发生后,可能会引起相应的事件响应。3.跨平台性JavaScript是依赖于浏览器本身,与操作环境无关,只要能运行浏览器的计算机,并支持JavaScript的浏览器就可以正确执行。4.节省CGI的交互时间随着WWW的迅速发展有许多WWW服务器提供的服务要与浏览者进行交流,确定浏览的身份、需服务的内容等等,这项工作通常由CGI/PERL编写相应的接口程序与用户进行交互来完成。很显然,通过网络与用户的交互过程一方面增大了网络的通信量,另一方面影响了服务器的服务性能。服务器为一个用户运行一个CGI时,需要一个进程为它服务,它要占用服务器的资源(如CPU服务、内存耗费等),如果用户填表出现错误,交互服务占用的时间就会相应增加。被访问的热点主机与用户交互越多,服务器的性能影响就越大。JavaScript是一种基于客户端浏览器的语言,用户在浏览中填表、验证的交互过程只是通过浏览器对调入HTML文档中的JavaScript源代码进行解释执行来完成的,即使是必须调用CGI的部分,浏览器只将用户输入验证后的信息提交给远程的服务器,大大减少了服务器的开销。JavaScript程序运行环境:Windows95/98或WindowsNT。NetscapeNavigatorx.0或InternetExplorerx.0。用于编辑HTML文档的字符编辑器(WS、WPS、Notepad、WordPad等)或HTML文档编辑器。.3.2JSP介绍JSP是JavaServerPage的缩写,是由SunMicrosystems公司倡导、许多公司参与建立一种动态网页技术标准,它在动态网页的建设中有强大而特别的功能。JSP是一种服务器端HTML(或XML)嵌入Java代码的脚本语言,是开发Web动态网站快速而有效的工具,JSP的技术的优势:1.JSP技术是用Java语言作为脚本语言的。Java语言是成熟的、强大的、易扩充的编程语言。2.高效性与安全性。JSP在执行前先被编译成字节码,字节码由Java虚拟机解释执行,比源码解释效率高。3.可维护性。由于JSP技术是一种开放的、跨平台的结构,因此Web服务器、平台及其他组件能很容易升级或切换,且不会影响JSP基本的应用程序。4.稳定性。5.产品的多样性。JSP技术的弱势:1.与ASP一样,Java的一些优势正是它致命的问题所在。正是由于为了跨平台的功能,为了极度的伸缩能力,所以极大的增加了产品的复杂性。2.Java的运行速度是用class常驻内存来完成的,所以它在一些情况下所使用的内存比起用户数量来说确实是“最低性能价格比”了。从另一方面,它还需要硬盘空间来储存一系列的.java文件和.class文件,以及对应的版本文件。利用JSP技术,动态信息由JSP页面来表现,JSP页面由安装在Web服务器或者使用JSP的应用服务器上的JSP引擎执行。JSP引擎接受客户端对JSP页面的请求,并且生成JSP页面作为对客户端的响应。目前,在国内JSP还是一种较新的技术。但JSP+Servlet+JDBC+JavaBean目前已经成为开发电子商务平台的主流技术。随着国内与国际的接轨,JSP必将成为网站开发技术的首选。3.3HTML语言介绍:HTML(HyperTextMarkupLanguage超文本标记语言)是一种用来制作超文本文档的简单标记语言。与常见的字处理文件不同,Web页以超文本标识语言编排格式。HTML文件是带有特定HTML插入标记的用以编排文档属性和格式的标准文本文件。它能独立于各种操作系统平台(如UNIX,WINDOWS等)。自1990年以来HTML就一直被用作WorldWideWeb上的信息表示语言,用于描述Homepage的格式设计和它与WWW上其它Homepage的连结信息。HTML文档(即Homepage的源文件)是一个放置了标记的ASCII文本文件,通常它带有.html或.htm的文件扩展名。生成一个HTML文档主要有以下三种途径:(1)手工直接编写(例如用你所喜爱的ASCII文本编辑器或其它HTML的编辑工具)。(2)通过某些格式转换工具将现有的其它格式文档(如WORD文档)转换成HTML文档。(3)由Web服务器(或称HTTP服务器)一方实时动态地生成。一般的HTML页面具有如下的结构:〈html〉<head><title>,<base>,<link>,<isindex>,<meta></head><body>这是HTML正文部分〈/body〉</html>可见在一个HTML网页文件中,一般必须有一对〈html〉</html>标记作为文件的开头和结尾,在<html>标记后是头部标记<head></head>,其后是实体标记<body></body>。3.4通过JDBC对数据库进行访问JDBC从物理结构上说就是Java语言访问数据库的一套接口集合。从本质上来说就是调用者(程序员)和实行者(数据库厂商)之间的协议。JDBC的实现由数据库厂商以驱动程序的形式提供。JDBCAPI为Java开发者使用数据库提供了统一的编程接口,它由一组Java类和接口组成,使得开发人员可以使用纯Java的方式来连接数据库,并进行操作。图3.1JDBC在Web中的结构图以Java语言为基础访问SQL为基础数据库引擎的接口,它提供了一致的接口用于和数据库沟通以及访问数据。JDBC访问数据库的应用步骤:图3.2图形演绎编写JDBC程序的一般过程JDBC应用的分层:分层就是对工能的隔离,降低层与层间的耦合性。B/S架构的分层分为三层体系结构,表现层+业务逻辑层+数据存储层(注:层面越多,软件越复杂,但更灵活。)分层是必须的但是要有个度。层次一但确定,数据必须按层访问,不能跨层访问。层与层之间最好时单向依赖(单向调用)。纵向划分:按功能划分。横向划分:按抽象划分。图3.3JDBC应用的分层JDBC应用的分层。分层的原则是谁依赖谁就看谁调用谁。软件的分层设计,便于任务的划分、降低层间的耦合。结合PMS的设计方法,思考这样分层的好处。并且,使代码尽量减少重复,可复用性好,扩展余地加大,而且尽量减少硬编码。4系统需求分析4.1系统需求软件需求说明书的编制是为了使用户和软件开发者双方对该软件的初始规定有一个共同的理解,使之成为整个开发工作的基础,为了更好的好对系统的需求分析,我们首先必须对需求分析做一个全面的认识。一般情况下,任何软件开发的过程,首先就是,用户根据自己的实际情况,考虑自己所要解决的主要问题,然后向开发人员提出问题开始的。这两方面人员往往缺乏共同的语言,用户熟悉本身的业务但不熟悉计算机技术,软件人员熟悉计算机技术但往往不熟悉用户的业务,软件人员习惯用数据结构、程序结构、编程语言等方式来讨论问题,而用户不能确切的理解这些概念,所以双方交流时存在着隔阂。更糟的情况是:用户本身也不知道他到底要计算机做些什么,这就更增加了交流的难度。开发人员常常还没搞清用户要做什么的情况就着手开发软件,这样总会导致,开发人员做出的东西,不是用户所要求的,因此,在一个软件的开发过程中,用户需求分析是非常重要的,通过需求分析才能把软件功能和性能的总体要领描述为具体的软件需求规程说明,从而奠定软件开发的基础。本次研究选择的开发语言为Java,该系统基于B/S架构,用户可以通过浏览器对服务器使用访问。首先需要实现网上购物的基本功能,显示商品列表、添加商品到购物车、确认订单,我所研究的重点是对网上购物车的设计与实现模块。系统可实现功能如下:1.能够完成游客或已注册用户对网上商品列表的浏览,以及对各商品的详细信息的查看。2.能够完成已登陆客户对商品的选购:添加商品到个人购物车,并且对已添加到购物车的商品进行数量的增加、减少、修改和删除等操作。3.能够通过查看购物车对所选商品进行确定、挑选,确认或修改购物者的联系方式,通过定单查询对支付费用进行确定。4.2系统功能系统主要分为以下几大模块:登录模块,购物车模块,订单模块各模块实现的功能如下:(1)登录模块登录模块在区分不同用户的使用权限、加强软件使用安全性和保证数据安全方面起着关键的作用。使注册用户能快捷的购买商品。(2)购物车模块添加商品到个人购物车,并且对已添加到购物车的商品进行数量的增加、减少、修改和删除等操作。(3)订单模块 客户选择商品后产生账单,让消费者能够完成选购,付账一起实现。4.3开发以及运行环境:本系统开发的基本环境如表4.1表4.1系统开发环境项目最低配置CPUP4或同型号的CPU内存256M硬盘40G以上显卡Geforce2以上操作系统Windows2000/XP本系统的运行环境如下表4.2表4.2系统运行环境项目最低配置CPUP3或同型号以上的CPU内存128M硬盘20G以上显卡Geforce2以上操作系统Windows2000/XP5系统设计分析阶段的工作结果是需求说明书,它明确地描述了用户要求软件“做什么”。当问题明确后我们就可以着手寻求解答,建立符合用户要求的软件系统,即进入了设计阶段,要把软件“做什么”的逻辑模型变换为“怎么做”的物理模型,即着手实现软件的需求,并将设计的结果反映在“设计规格说明书”文档中,所以软件设计是一个把软件需求转换为软件表示的过程,最初这种表示只是描述了软件的总的体系结构,称为软件概要设计或结构设计。如果问题比较简单,要求一旦建立了,立即就可以开始编写代码;但是在现实中,大多数的系统是比较复杂的,为了能够使开发的工作顺利的进行,我们需要制定周密的计划,也可称为设计,设计要决定软件系统的结构,包括数据结构和程序结构,工程上的许多大系统都是由许多的小系统组成的,这些小系统称为模块。组成系统的各个模块,各自完成特定的简单功能。系统设计的总目标就是在系统分析提出的逻辑模型的基础上,科学合理地进行物理模型设计。系统模型分为逻辑模型和物理模型。逻辑模型主要确定系统做什么,而物理模型则主要解决怎样做的问题。系统设计的任务是:1.采用某种设计方法,将一个复杂的系统按功能划分成模块。

2.确定每个模块的功能。

3.确定模块之间的调用关系。

4.确定模块之间的接口,即模块之间传递的信息。

5.评价模块结构的质量。

根据以上内容,软件结构的设计是以模块为基础的,在需求分析阶段,已经把系统分成层次结构。设计阶段,以需求分析的结果为依据,从实现的角度进一步划分为模块,并组成模块的层次结构。软件结构的设计是概要设计关键的一步,直接影响到下一阶段详细设计与编码的工作软件系统的质量及一些整体特性都在软件结构的设计中决定。5.1模块功能设计从实际的角度出发,结合用户的需求,主要给用户提供和实现以下几个模块功能:登录模块,购物车模块,订单模块5.1.1在线购物流程图显示:此流程图显示用户浏览本网站所进行的操作,用户进入网站浏览商品,选择自己需要的商品,若用户未注册则跳转到用户注册界面,进行注册,进入购物车,确认订购商品,产生订单。若已登录则直接进入购物车确认商品。若已注册未登录则直接跳转到登陆界面,登陆后再进行商品的购买操作。其流程如图5.1所示:图5.1用户购物流程图5.1.2用户注册流程点击主页面的用户注册选项后,会弹出一个注册信息页面,用户需要如实填写用户名,密码,E-mail,邮编,地址,电话等各项信息,系统进行检测判断该用户的用户名须不少于两位,用户输入的两次密码均不少于三位且是否一致,然后依次往后判断用户所填写的各项信息是否符合要求,直到所有信息均正确无误,系统将该用户注册信息写入会员表即cart_user表并提示用户注册成功,用户登陆后,就可以进行有效的购物了。其流程图如图5.2所示:图5.2注册功能流程图5.1.3用户登陆流程用户登录,首先要有一个提供用户登录的表单。用户登录的表单应该嵌入整体的结构当中。在实际的应用中,可以这样设计,如果用户没有登录,则在页面中显示用户登录的选项,用户登录后,则可隐藏用户登录的选项而代之以用户的个人信息管理链接。首先,用户要有一个用户名和密码。商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作为用户名而使用真实姓名。同时对密码也要求保密,将密码加密后再存入数据库。另外,还需要用户的性别、地址、E-MAIL、邮编、电话号码等。 系统确定用户登陆信息无误后会将用户User信息存入JSP页面Session中以便用户进行后续操作。 用户的登陆流程图如图5.3所示:图5.3用户登陆流程图5.1.4购物车流程购物车的具体实现可采用这种形式:定义一个购物车的类,其属性为每一条记录Item,每条记录Item的价格Cost,Item的Map以及若干方法的定义。1.列出商品的列表,使用户能够自由选择所需要的商品。2.当用户在点击“添加到购物车”的链接时,执行如下功能:检查用户购物车类是否存在。如不存在,则建立,并注册这Session变量;在有用户购物车类存在的情况下,检查该类中是否有该商品。如存在,则商品数量相应加1;如没有该商品,则将该商品添加到该类中。3.对放入用户购物车的各条记录Item可以进行数量的修改、删除及清空购物车等操作。 具体流程实现如图5.4所示:图5.4购物车流程图5.2数据库设计5.2.1数据库的分析数据库是长期存储在计算机内的,有组织的,可共享的数据集合,在一个信息管理系统中占非常重要的地位,它能够能充分满足各种信息的输入和输出。通过收集基本数据、数据结构以及数据处理的流程,根据对火车车次及车站信息的集和统计,以及对用户所关心和需要了解的信息的分析需要建立以下数据集:在之前的需求分析的基础上,设计出能够满足用户需求的各种实体,以及它们的关系。集成了来自不同用户对现实信息描述所构成的外部视图,形成全局的概念模型,进而可以转换成数据库的模式。(源码网整理:)本系统的操作多是对数据库的操作,诸如添加、删除、修改和查询等。因此数据库的结构设计是一个非常重要的环节,数据库设计的好坏将直接对应用系统的效率。好的数据库结构设计可以提高数据的完整性和一致性,也便于提高数据存储,可使系统具有较高的响应速度,简化基于数据库的应用程序的设计实现。5.2.2数据库的设计数据库结构设计使用的数据库管理系统以及系统开发工具设计出数据库以及各个数据表的结构。此次设计根据数据的大小以及管理的便捷性选择MySql作为数据库管理系统,使用数据管理器创建数据库。按照前面分析的系统,设计出系统数据库中的各个数据表,cart_user:字段名描述类型长度可为空主键Id客户编号Integer是Name姓名Varchar32Password密码Varchar16Address地址Varchar100Postcode邮编Varchar10Email电子邮件Varchar50HomePhone家庭电话Varchar32是CellPhone移动电话Varchar32OfficePhone办公室电话Varchar32是客户的Id也可设置成Integer类型值自动生成,为其主键。密码的长度最长可达16位,Name为Varchar,长度为16位。Address、PostCode、Email及Remark均为Varchar型。对于用户的话号码,考虑到个人的不同情况以及其他一些特殊情况,电话号码均为Varchar型字段,且只有移动电话为NotNull。cart_product字段名描述类型长度可为空主键Id商品编号Integer是Name商品名Varchar32Description描述Varchar100是Price单价Double商品信息表的主键为Id字段,在MySql中可设置其值为自动生成,即对数据库操作添加语句时,可以不管Id属性,每次加入一条记录Id值自动加1。Id、Name、Price字段均不能为空,Description为对该商品的说明,长度为100,可以为空。cart_order:字段名描述类型长度可为空主键Id订单编号Integer是Status状态IntegerUser_Id用户编号IntegerCost总价格Double订单的主键Id为Integer型,编号值自动生成。状态字段Status设置成Integer型,由管理员设置值为1或者2。1代表订单未交付即交易未完成;2代表订单已经下达,交易已经完成,即历史信息。Cost字段是该订单所需价钱,即交易时用户应付商品的费用(不含运费)。cart_item:字段名描述类型长度可为空主键Id条目编号Integer是Amount价格DoubleProduct_Id商品编号IntegerOrder_Id订单编号Integer条目信息是为了方便管理员和送货工作人员对每一个商品的确定即统计。主键Id也是Integer类型,自动生成其值。Amount价格指某一种类商品的单价而并非总价格,这是为了方便网站后台管理人员。该表查询及修改数据库采用关联,Product_Id和Order_Id均为Integer类型,是分别为了确定其商品和订单号以方便送货。5.2.3创建数据库脚本1.商品信息表:createtablecart_product(idintegerprimarykey,namevarchar(32)notnull,descriptionvarchar(100),pricedoublenotnull);2.客户信息表:createtablecart_user(idintegerprimarykey,namevarchar(32),passwordvarchar(16),addressvarchar(100),postcodevarchar(10),emailvarchar(50),homephonevarchar(32),cellphonevarchar(32),officephonevarchar(32),remarkvarchar(100));3.订单信息表: createtablecart_order(idintegerprimarykey,statusinteger,user_idintegerreferencescart_user(id),costdouble(10,2),remarkvarchar(100));4.条目信息表:createtablecart_item(idintegerprimarykey,amountdouble,product_idintegerreferencescart_product(id),order_idintegerreferencescart_order(id),remarkvarchar(100));·6系统界面实现界面设置原则要求简单易用、简洁明了、兼容性好、标准、规范。制定界面设计标准规范的目的是为了规范和统一软件界面设计制定软件界面设计标准与规范。首先考虑标准化,在标准化的基础上进行界面的美工设计。其次进一步完善程序的界面设计。对界面进行的优化不要使界面的操作变得困难。6.1登录界面的实现该界面是用户登录的界面,用户从此界面登陆,可对商品进行操作。用户要有一个用户名和密码。商务网站需要很高的稳定性和安全性,因此对用户名不允许使用恶意的代码作为用户名而使用真实姓名。同时对密码也要求保密,将密码加密后再存入数据库。图6.1登陆界面6.2商品列表界面的实现该界面显示的是商品列表,用户可在此界面对商品进行浏览,选择自己需要的商品放进购物车中,若未登录,也可以使用登录键进行登录操作。或使用购物车键进行查看所购商品的操作。也可以在登录界面进行结账操作,直接跳转到操作账单页面,对所需的商品进行最终的确定。图6.2商品列表界面6.3购物车页面显示:购物车页面是对所购商品的再操作,对所选商品进行删改数量,删除所选商品,若所选商品不是自己需要的,可以进行删除商品,也可以对商品直接进行清空。每个商品后跟的都是商品的单价,修改商品数量后,商品的价格变为所购商品的总价。从此页面也可跳转到商品列表页面继续进行购物,选新的商品添加到购物车中。若是已经购买了所需商品,就可以进行结账操作,进入账单操作页面。图6.3购物车界面6.4操作订单界面显示对所选商品进行再确定,对登录用户的资料进行确认,对有改变的资料进行修改,而且用户资料必须符合一定的格式,若不符合就报错不能进行修改,因此,例如邮政编码必须是6位数字,因此必须是输入6个数字,输入多或少都是错误修改,无法成功修改。在此使用的验证是对格式的验证,用户资料进行修改必须符合格式,否则无法修改。修改完成,而且商品确定后就可以进行结账操作,生成一个新的账单。图6.4操作订单界面7系统的测试7.1系统的测试意义基于Web的系统测试与传统的软件测试既有相同之处,也有不同的地方,对软件测试提出了新的挑战。基于Web的系统测试不但需要检查和验证是否按照设计的要求运行,而且还要评价系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。在基于Web的系统开发中,如果缺乏严格的过程,我们在开发、发布、实施和维护Web的过程中,可能就会碰到一些严重的问题,失败的可能性很大。而且,随着基于Web的系统变得越来越复杂,一个项目的失败将可能导致很多问题。当这种情况发生时,我们对Web和Internet的信心可能会无法挽救地动摇,从而引起Web危机。并且,Web危机可能会比软件开发人员所面对的软件危机更加严重、更加广泛。在Web工程过程中,基于Web系统的测试、确认和验收是一项重要而富有挑战性的工作。基于Web的系统测试与传统的软件测试不同,它不但需要检查和验证是否按照设计的要求运行,而且还要测试系统在不同用户的浏览器端的显示是否合适。重要的是,还要从最终用户的角度进行安全性和可用性测试。然而,Internet和Web媒体的不可预见性使测试基于Web的系统变得困难。因此,我们必须为测试和评估复杂的基于Web的系统研究新的方法和技术。7.2测试目的系统测试是为了发现错误而执行程序的过程,成功的测试是发现了至今尚未发现的错误的测试。测试的目的就是希望能以最少的人力和时间发现潜在的各种错误和缺陷。应根据开发各阶段的需求、设计等文档或程序的内部结构精心设计测试用例,并利用这些实例来运行程序,以便发现错误。信息系统测试应包括软件测试、硬件测试和网络测试。硬件测试、网络测试可以根据具体的性能指标来进行,此处所说的测试更多的是指软件测试。系统测试是保证系统质量和可靠性的关键步骤,是对系统开发过程中的系统分析系统设计和实施的最后复查。根据测试的概念和目的,在进行信息系统测试时应遵循以基本原则。应尽早并不断地进行测试。测试不是在应用系统开发完之后才进行的。由于原始问题的复杂性、开发各阶段的多样性以及参加人员之间的协调等因素,使得毛开发各个阶段都有可能出现错误。因此,测试应贯穿在开发的各个阶段,尽早纠正错误,消除隐患。设计测试方案的时候,不仅要确定输入数据,而且要根据系统功能确定预期的输出结果。将实际输出结果与预期结果相比较就能发现测试对象是否正确。在设计测试用例时,不仅要设计有效合理的输入条件,也要包含不合理、失效的输入条件。测试的时候,人们往往习惯按照合理的、正常的情况进行测试,而忽略了对异常、不合理、意想不到的情况进行测试,而这些可能就是隐患。在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。多余的工作会带来副作用,影响程序的效率,有时会带来潜在的危害或错误。测试是开发过程中一个独立且非常重要的阶段,测试过程基本上与开发过程平行。7.3测试方法黑盒测试(Black-boxTesting,又称为功能测试或数据驱动测试)是把测试对象看作一个黑盒子。利用黑盒测试法进行动态测试时,需要测试软件产品的功能,不需测试软件产品的内部结构和处理过程。采用黑盒技术设计测试用例的方法有:等价类划分、边界值分析、错误推测、因果图和综合策略。黑盒测试注重于测试软件的功能性需求,也即黑盒测试使软件工程师派生出执行程序所有功能需求的输入条件。黑盒测试并不是HYPERLINK"javascript

温馨提示

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

评论

0/150

提交评论