MVC设计模式应用之游戏卡在线销售系统_第1页
MVC设计模式应用之游戏卡在线销售系统_第2页
MVC设计模式应用之游戏卡在线销售系统_第3页
MVC设计模式应用之游戏卡在线销售系统_第4页
MVC设计模式应用之游戏卡在线销售系统_第5页
已阅读5页,还剩57页未读 继续免费阅读

下载本文档

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

文档简介

题目:MVC设计模式应用之游戏卡在线销售系统英文题目:Gamecardsonlinesalessystem摘要随着市场经济的逐渐形成,全球化经济已在国内迅速发展起来。以往的销售模式正在受到空前的挑战,人们已对过去固定场所购买(出售)固定的物品交易方式所带来的不便越来越感到不满了。原因之一:交易时间长、效率低。原因之二:销售场地高额的租金、服务人员的众多配制、各种繁多的额外开支、给商家带来了沉重的成本支出。为了适应市场、适应经济前进的步伐,买家和商家都在努力积极地寻找一种能够带来高效率、低成本的销售模式。计算机及世界互联网的飞速发展使得这种新的销售模式成为可能。

网上商城(简称商城)使得商家可以把商店开到互联网上来,而买家也可以到互联网上选择购买自己喜欢的商品。网上商城不需要商店的租赁费,新商品可以用最短的时间吸引顾客的眼球,因为它不需要那么长的运输时间。网上商城为商家节省了大笔的运输费用、场地租赁费等额外成本,同时也为买家带来了无穷的方便性。因为它不需要你花上一天的时间去商场,在玲郎满目的众多商品中选择你需要的东西。网上商城使得“买东西、不出门”成为现实。廉价的网络资源使得网上商城成本低廉,世界性的互联网络给人们带来无比宽阔的市场,给商家/买家带来了众多利益、带来了无限需求。网上商城还给我们带来了无限的就业空间,因为它带动了大批物流业的飞速发展。你知道中国的物流市场有多大吗?近几年,随着淘宝业的飞速发展,在国内的新闻媒体上,物流无疑是一个“高频”词汇。随着我国物流业的快速发展,物流宣传也成为媒体追逐的报道重点。据统计,80%以上的报纸刊物在近两年来开辟了物流专版专栏,广告不断增长,去年企业物流广告比上年增长37%,成了继通信、房产、汽车之后新闻。界追逐的又一热点,物流热引发媒体、广告、信息、软件等企业新的竞争。总之,因为网上购物的好处多多,所以我们想开发一个这样的交易平台,将自己的产品通过自己开发的交易平台进行在线交易,浏览者只需要通过中国互联网就可以实现自己的购物梦想了,我想这应该是不个相当不错的想法。关键词:MVC设计模式,J2EE架构,Web信息系统,应用框架,Struts框架,组件重用,开发成本,开发周期AbstractWiththemarketeconomyhadbeanformedGradually,GlobaleconomyhasdevelopedrapidlyinChina。Salesofthepreviousmodelissufferinganunprecedentedchallenge,Ithasbeenafixedplaceinthepasttobuy(sell)afixedmodeofgoodstransactionsareincreasinglydissatisfiedwiththeinconvenienceof。Oneofthereasons:transactionlongtimeandlowefficiency,Thesecondreason:salesvenuehighrents,Thenumberofservicepersonnelpreparation,Widearrayofadditionalexpendituretomerchantsbroughtheavycosts。Inordertoadapttothemarkettoadapttothepaceofeconomicprogress,,Buyersandbusinessesareworkingactivelytofindawaytobringhighefficiencyandlowcostsalesmodel。ComputerandtheInternetworld,therapiddevelopmentofthisnewsalesmodelmakespossible。InternetMall(themall)enablesbusinessestotheInternetcanopenupshop,,ThebuyercanalsogototheInternetchoosetobuyyourfavoritegoods。OnlineMalldonotneedtostorerentalfees,Thenewproductcanbetheshortestpossibletimetoattractcustomersattention,Becauseitdoesnotneedthatlongtransporttime。OnlineMallforbusinessessubstantialsavingsintransportcostsandvenuerentalfeesofadditionalcosts,Butalsoforthebuyertobringendlessconvenience。Becauseitdoesnotrequireyoutospendadaytogoshoppingmalls,InLingLangstretchofthemanycommodities,youcanselectwhatyouneed。OnlineMallmakingthe"buythingsdonotgoout,"becomeareality。Cheaponlinemallnetworkresourcesmakeslow-cost,World-wideInternetgaverisetoextremelybroadmarket,Tothevendor/buyerhasbroughtmanybenefitsbroughtunlimiteddemand。Keywords:MVCdesignpattern,J2EEarchitecture,Webinformationsystems,,Applicationframework,Strutsframework,Componentreuse,Developmentcosts,Developmentcycle目录目录第1章引言 91.1开发背景 91.1.1问题的提出 91.1.2课题的来源 101.2国内外的研究和发展现状 101.2.1网络发展背景 101.2.2中国网上购物发展历程 111.2.3网上购物的起源 111.2.4我国消费者的购物现状 121.3论文的主要工作 131.4论文研究的主要内容 131.4.1开发游戏卡在线销售系统的原因 131.4.2游戏卡在线销售系统的架构与设计思想 131.4.3游戏卡在线销售系统都实现了哪些功能 131.4.4项目开发中的困惑或不足之处 131.5论文章节安排 14第2章系统总体结构 142.1关于项目设计中的MVC 142.2关于项目开发中的Struts技术 152.3关于项目开发中使用到的TomCat服务器 162.4关于项目研究的主要内容 172.4.1文档说明 172.4.2功能概述 171.2.2需求分析 171.2.3管理员功能清单如下: 181.3用例图分解: 19第三章数据库设计 263.1数据库设计关系图 263.2数据库表设计 273.3数据库表设计分析说明 33第四章关于项目的界面设计 334.1前台基本界面设计 334.1.1登陆界面设计 334.1.2会员注册页面: 344.1.3找回密码页面: 354.1.4商品展示页面: 364.1.5公告详细信息浏览页面: 364.2前台操作主界面设计 374.3.1前台操作用例界面实现 384.3后台管理主界面设计 42第五章项目测试及产品上线调试过程 535.1测试用例模板(一) 535.2测试用例模板(二) 545.3测试过程说明 555.4项目调试过程说明 555.5项目上线发布过程说明 55第六章项目总结 566.1 对整个研究或设计工作进行归纳和综合 566.2MVC设计模式的扩展 566.3在项目开发中尚存在的问题 576.3.1Struts不能完全用MVC来理解 576.3.2MVC的不足 586.3.3需要完善的系统功能 59第七章回顾与展望 60参考文献 60致谢 61第1章引言1.1开发背景1.1.1问题的提出网上购物已随着Ineternet的飞速发展而得到越来越多的应用。传统面对面的现金交易已远远不能满足人们对现代化生活的需要。我们想创建一个让多个用户实现在网络(虚拟)环境中能进行相互交易的信息平台。因为人们往往为了简单的卡号和密码要跑一趟商店,还有可能的是:等你到达商店之后,在该商店里你要的产品它不见得时刻都有,很有可能卖完了或是还没有进货。等等这些诸多因素都会给人们的生活带来极大的不便,所以我想我们的计划应该是很值得大家赞同的。网购还能让你足不出户,而可在极短的时间内让你能得到你想要的东西,最主要的是方便快捷省时省力,同时我们也还可以享受到购物的乐趣。1.1.2课题的来源本人前段时间为公司开发了一套商业在线销售系统。根据这套系统开发时所得出的项目经验及心得,由些而写出了一篇关于在线购物的论文。1.2国内外的研究和发展现状1.2.1网络发展背景20世纪80年代随着网络技术的飞速发展,使电子商务迅速普及。凭借互联网无地域限制的优势。消除了产品、服务供应商和需求者之间地点与距离有关的障碍,一些传统的生产厂家及销售企业都加入到了电子商务的行列,我国经济正逐渐成以互联网、通信技术为基础的新经济。在次背景下,B2C,C2C模式在降低运营成本,方便快捷等方面的优势,大大降低了企业和个人的行业进入的门槛。一时间网商如雨后春笋般纷纷涌现。网络购物的兴起,正悄然改变着社会的商业结构和生活方式,我国网上购物人群的购物习惯及影响因素,分类指标满意度等统计信息,对我们掌握网购的现状有着十分重要的意义[23]。而在随之出现分布式虚拟环境(DistributedVirtualEnvironment)的应用里(旨在将不同的局部虚拟环境通过空间关联以构造出大范围的虚拟环境[1,2])。在如今的网购实现中,这个虚拟的购物环境就是Internet信息交互平台。当我们要利用这个平台为我们服务时,其实只要在客户端安装应用软件IE就可以浏览我们开发的系统了。其实一般如果机器安装了系统软件,那么IE也就自动的安装上了,我们再将机器连接外网,(所谓的外网其实就是采用www协议运行在万维网上的地理信息系统[3],)我们就可以随便的进行网上购物了。当然此时我们应该是把开发的网上购物系统已经挂在Internet上了,因为我们开发该软件的初步设计思想是想把它设计成B/S结构[4]的,它的浏览对象必须是面对全世界的人们。1.2.2中国网上购物发展历程1998年,中国的第一笔网上交易成功,1999年随着8848等B2C网站的正式开通,中国开始进入购物网站的实际阶段的开始;1998年,国内最大的商务拍卖网站易趣开始进行;1999年,B2C网站当当投入运营;2000年,卓越成立;2003年B2B网站阿里巴巴投资成立C2C网站淘宝2004年新浪和雅虎合资成立C2C网站一怕网1.2.3网上购物的起源目前全世界约有4000万人涉足网络商店,1995年营业额约为7亿美元,预计2000年将达到20亿美元,我国第一宗网络购物发生在1996年等的11月,购物人是加拿大驻中大使馆贝洋,他通过实华开公司的网点,购进了北京燕莎商城的一只景泰蓝“龙凤牡丹”、继北京之后,上海也于去年年底开张了第一家网络店,街道居民替儿子过生日,通过网上商店订购一只哈尔滨食品厂的大蛋糕,半小时后蛋糕就准时送到了门上。目前,连接上海3000多家居委会的“社会服务网”已“编织成形”,两年内将向市民开放,网络商店对传统商店的网上购物行为,也对传统的商品流通链产生了。最早利用这种“虚拟市场”是制造商。他们将此作为一条直销的通道,消费者在此通道上买同样的商品有时能节省三分之一的钱,受到的零售商们也很快找到了自己的位置与制造和信息服务商携起手来开辟网上零售店,为消费者提供更丰富的服务,全球最大的零售商沃尔玛相当一部分盈利就是来自网上零售店,那些小的零售厂商更是借助网上商店走向了全球,据报道,美国已有25个大公司进入了internet甚至包括餐饮行业的快卖业务,如美国的胜公司已经在internet上订比萨饼的客人送货上门了。客户通过电脑将指令传到必胜客总部的“比萨饼网上”,这个网站会自动搜索距客户最近的必胜客饼屋,不出30分钟冒着热气的比萨饼就会送到客户府上,网上开店正在兴起许多商家得出这样的结论:尤其对小型新创公司来说,越早上网获利越大,就算是著名的零售商也等不起,先入为主和驰名商标是网上商务成功反而两大法宝,迄今为止,只有两类公司在互联网上盈利:一类是知名公司,另一类是最先上网逐渐为人们熟悉的公司。总部设在美国西雅图的亚逊公司,率先在网上开设书店,并把在线书店办得风风火火,提供的数目大750万册之多,由于图书可供选择的余地大,购买方式灵活。方便以及自由浏览的可能性。使公司1997年的销售额猛增至1.317亿元美元比1996年1580万美元有了极大的增长,美国在线公司的网上销售会收入近4亿美

元,音乐商店CDNOW和电脑厂商德尔等欣欣向荣而经营了两年的世界大道。网上购物中心则宜告关闭,电子商务扑朔迷离,成为全球热门话题,迄今为止,网上购物已经变得越来越来让顾客感到亲切。1.2.4我国消费者的购物现状截止到2005年上班年,我国上网人数达1.03亿,其中网上者达2000万人,网上支付的比例增长近半数,网上购物成交额已经累计达100亿元。在长达6年的网上购物的发展过程中,网上购物者渐渐开始接受并习惯新的购物消费方式,随着网民人数的增加,网上购物者人数有进步的趋势。从网购人群结构上看,中国网民女性比例上升到46.4%比07年12月的42.8%上升了3.6个百分点,成为网购潜在客户增长最明显的人群,调查数据显示,女性网民在网购大军中所占比例在不断逐年递增,成为不可忽视的吧半边天,从年龄结构上目前的网购人群中,以18-30岁的人为主,因为这年龄段的人群更易接受新事物,因而无论从网上人数及所占比例,还是从网购人数和金额上看,均占最大比例。从学历上看,以大专或以上的高学历人主,这一年龄段的购物者在为来几年成为消费主力,必将影响中国的购买者习惯,也将成为网上购物的主力,为来中国网上购物市场的潜力将不可小觑,从职业类别分析:白领、蓝领、尤其从事工厂等新兴产业和服务业的人群具有思想前卫思维活跃的特点,更易接受

网购这一新鲜事物,在网购人数和频率上讲是网购人群大军的中坚力量,值得一提的是学生这一特殊群体,,虽然在购物金额及频率上看,所占比重不是很大。但却是最值得关注的潜在消费者,也是各大网商培养忠诚顾客的最佳目标对象。所以为了更好的适应现代社会对人们购物的需要,为了提高交易效率,为了节省人们的宝贵时间。我们决定要开发出一套稳定可靠、操作方便、安全有效的游戏卡在线销售系统,那是势在必行的。我觉得这是一种行业责任,该系统的主要功能应该要包括:用户管理、卡片管理、公告管理、汇款审核、综合信息管理、会员购物等几大模块。其中这些管理项目中的详细情况,我们都会在下面的结构图中一一体现出来的。1.3论文的主要工作就目前所开发的项目而言,将开发游戏卡在线销售系统项目的全过程写入作品中,形成文档。同时也是作者我自己对一个项目开发之后的反思,即项目经验的总结作一个分析说明。1.4论文研究的主要内容1.4.1开发游戏卡在线销售系统的原因对于系统的开发原因,在上面已经说明了,最主要的原因就是为了满足人们生活的需要,市场潜力大。有市场就会带来一定的经济效效益1.4.2游戏卡在线销售系统的架构与设计思想严格按三层的思想来设计,多处运用接口和抽象类,以免后期会有更大的扩展和可操作空间。严格按正规的思想来架构项目,多从系统的安全与稳键方面来考虑,更多的从人性化方面入手,让消费者能从使用中得到更大的满足与方便。1.4.3游戏卡在线销售系统都实现了哪些功能它主要包括:用户管理、卡片管理、公告管理、汇款审核、综合信息管理、会员购物等几大模块。1.4.4项目开发中的困惑或不足之处不足之处关键在于订单处理方面,因为数据容量是有限的,一般在处理历史订单时,我们会对历史订单有一个自己消失过程。即也就是说,过了一段时间,我们将自己设置订单的消亡,如三个月的订单,将会自动消亡,那么就些客户将有强烈需要历史保留的必要,说是有可能再订购,或是看看自己在一年中到底订购了多少次游戏卡,可是查不到。当然,客户的要求,无疑也说明了系统在开发时不性人化的一面,但是以我们目前的技术,我们好像比较难达到。在有限的数据库容量之下,我们必须要这样做,所以这也是我们目前最大的困惑。1.5论文章节安排////////////////////////////第2章系统总体结构2.1关于项目设计中的MVC管理员和会员业务逻辑如下图所示:本系统采用MicrosoftSQLServer数据库来存放数据,使用J2EE技术进行系统开发,采取B/S架构进行系统设计。在数据库设计原则上符合第三范式,该设计规范,且易于维护。本系统开发需使用MVC框架设计模式[10],因为采用三层架构能保证系统的可维护性和可扩展性,它可将一个应用系统的各个功能划分开来,使之各司其责,这样使得系统的结构更加清晰,易于理解和扩展,同时更能适应系统需求的变化。MVC(Model-View-Control,模型-视图-控制器)模式是XeroxPARC在八十年代为编程语言Smalltalk-80提出的一种设计模式[9]。它降低了处理和显示数据对象之间的耦合性,实现了业务逻辑与界面显示的分离,并且这一概念已在基于Web方式的多层应用程序领域中得以广泛的应用。本人在构思该系统的过程中,将要用到的技术是jsp+servlet+javabean。由J2EEWEB中的JSP(当然这里也会有html)来代替MVC设计模式中的视图,用SERVLET来代替MVC中的控制器,由JAVABEAN来对数据进行封装,实现多个组件的重用,作用非常之大,同时最能体现的就是Java语言面向对象的思想,它使得人们面对的是一个个封装好的方法,而不是一单个的数据。这其中与数据库打交道的层我会把全部的代码都放在一个包中,称其为一个模块。也就是放在一个层中进行处理,这个层就称其为数据层[15],对于数据层的介绍我们会在项目的代码中能得到很好的体现。下面我们来看看关于JAVAWeb的工作流程图:这个工作流程图对jsp的运行机制已介绍得非常的清楚了,我相信大家看了都会明白。图2-1基于J2EE的系统体系结构图2.2关于项目开发中的Struts技术其实,对于现在的J2EE技术而言,这种开发并不是最高效的,因为现在最兴盛的J2EE设计模式其实是基于Struts+Spring+Hibernate的框架模式[14]。因为Struts是一种实现了MVC设计模式的Java开源软件,是Apache软件基金下Jakarta项目的子项目,是一种帮助软件开发人员开发互联网站点的应用框架技术。作为一个MVC框架,Struts对模型、视图和控制层都提供了对应的实现组件[11][12]。应该说它才是开发中最为高效的,但是因为本人长期在用JavaWeb做项目开发,故在对该技术的使用方面,我能很好的把握其轻重,能很好的设计出它的稳键性、安全性和可扩展性。这种选择完全是出于开发者自己的习惯问题,Struts框架技术的确是高效,其实不用Struts最根本的一点那就是因为它在开发的过程中,很多代码Java类库都帮你封装好了,你可不需花大量的时间来写大量的代码了。只要你会设置,你就能得到你想要的代码。这当然是好事,也会是坏事,因为它在生成有用代码的同时,也会生成很多垃圾代码。一次生成不要仅,但如果多次,项目开发大了,那也会影响程序的运行速度。还有一个就是在安全性方面它要比JavaWeb要差一点。而我们的JavaWeb其实在java技术开发中,它才是最原始的结合了互联的应用技术。Struts框架的处理流程尽管能清楚的体现出MVC系统的设计特点,但它毕竟是继JavaWeb

之后的产物[13]。它有它的优势,但也有它的劣势,至于用什么样的技术,这完全是由开发人员来决定了,因为客户是不管这些的。只要开发出的系统能满足他们的需求就行了。2.3关于项目开发中使用到的TomCat服务器我们在做网站开发时,我们用的服务器基本上都是Tomcat,而且都是用的5.5以上的版本,因为Tomcat服务器是一个免费的开放源代码的Web应用服务器,目前最新版本好象是7.0.20。Tomcat是Apache软件基金会(ApacheSoftwareFoundation)的Jakarta项目中的一个核心项目,由Apache、Sun和其他一些公司及个人共同开发而成。由于有了Sun的参与和支持,最新的Servlet和JSP规范总是能在Tomcat中得到体现的。Tomcat5支持最新的Servlet2.4和JSP2.0规范。因为Tomcat技术先进、性能稳定,而且免费,因而深受Java爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web应用服务器[16]。Tomcat很受广大程序员的喜欢,因为它运行时占用的系统资源小,扩展性好,支持负载平衡与邮件服务等开发应用系统常用的功能;而且它还在不断的改进和完善中,任何一个感兴趣的程序员都可以更改它或在其中加入新的功能。这里的诀窍是,当配置正确时,Apache为HTML页面服务,而Tomcat实际上运行的是JSP页面和Servlet。整个开发过程,你会觉得你能非常轻松自如的控制着你的项目流程。2.4关于游戏卡系统开发项目的主要内容////2.4.1文档说明该需求文档在实际开发过程中,是迎合了用户的不断完善需求的过程总结而来,请仔细阅读。2.4.2功能概述该系统要求实现管理员后台管理和会员购买卡片功能。会员操作包括:会员注册、修改个人用户信息、汇款、投诉、购买物品、查看个人汇款信息和购物信息等。管理员后台管理包括:修改个人资料、新会员和会员汇款审核、用户管理、角色管理、卡片类别管理、游戏卡管理、汇款审核、公告管理、销售统计、投诉浏览等。图1-1游戏点卡销售说明流程图用户环境:WindowServer2003,MyEclipse5.5,SqlServer2005,HTML,XML,TomCat,JavaScript.1.2.2概要需求分析系统用例图管理员和会员业务逻辑如下图所示:图1-2管理员和会员业务逻辑图1.2.3管理员功能清单如下:表1-1管理员功能清单表

功能编号功能名称文中标题编号备注01个人管理0101修改资料0102审核操作

功能编号功能名称文中标题编号备注02系统管理0201用户管理0202角色管理0203卡片类型管理0204游戏卡管理0205汇款审核0206公告管理03综合信息0301销售统计0302浏览投诉表1-2会员功能清单表

功能编号功能名称文中标题编号备注01个人管理0101修改资料02会员操作0201商品列表0202投诉建议0203汇款通知03综合信息0301存款记录0302购物记录0303联系我们1.3用例图分解:我们将上面的主要功能图进行分解,其分解的内容如下:图1-3 个人管理图分解描述:该模块主要包括:修改个人资料和审核操作。修改个人资料与会员注册所需资料完全一致,主要有:登录号、密码、真实姓名、性别、密码问题、密码答案、Email、地址、、身份证。审核操作:主要是对新注册的会员和会员的汇款信息进行审核,可以把新会员设置成为正式会员,根据会员汇款的数额,对会员的个人帐户充值。 图1-4用户管理分解用例图描述(1)选择不同类型的用户信息,可以在数据库设计中,采用数据的设计自动绑定到该类型的所有用户信息。(2)把选中的用户设置为“普通会员”,“vip会员”,“管理员”。(3)删除选中用户。 图1-5角色管理分解用例图描述:角色管理:主要包括添加角色、修改角色、删除角色、分配角色功能、浏览所有角色功能、设置会员优惠价。添加角色:包括角色名称、角色描述。分配角色功能:用CheckBoxList列出所有功能菜单,菜单分为两级,只列出子菜单,把选中的菜单id及菜单的父菜单id添加到指定的角色下,可以随时修改角色对应的功能菜单。浏览所有角色功能:按角色分别列出这些角色对应的权限菜单。设置会员优惠价:设置不同角色的优惠比例。图1-6卡片类型管理分解用例图描述:卡片类型管理:包括显示卡片类型、添加卡片类型、删除卡片类型。添加卡片类型:包括卡片名称、卡片代表图片(把所有用到的图片都放到工程下的images/card文件夹里,路径默认为:~/images/card/xxxx.gif),卡片价格要求都保留两位小数。用ListBox列出所有卡片信息,以“卡片名称—价格”表示。 图1-7游戏卡片管理分解用例图描述:游戏卡片管理:主要包括显示卡片信息、添加卡片、修改卡片、删除卡片。添加卡片:包括选择卡片类型,卡号,密码,卡片备注等字段信息。用div来显示所有卡片信息。图1-8汇款审核管理分解用例图描述:汇款审核主要包括:显示汇款信息、通过审核、撤回审核和删除汇款记录几个功能。用弹出窗口来显示汇款信息,主要是用session会话跟踪来实现。显示汇款信息:用session跟踪来绑定不同的汇款类型,根据选择的汇款类型自动绑定该汇款类型对应的汇款信息。审核操作:“通过审核”将把选中的会员汇款金额追加到该用户的帐户下,“撤回审核”将不追加金额,让系统以消息的形式通知该会员汇款失败信息,并提醒重新填写邮寄信息。删除汇款记录:把选定的汇款记录删除。图1-9公告管理分解用例图描述:公告管理主要包括:显示公告信息、添加公告、修改公告、发布公告、删除公告。添加公告:主要包括公告标题和公告内容两个字段信息。发布公告前可以修改公告,当发布公告后不可以修改公告。关于销售统计图:略描述:销售统计:用session跟踪来显示销售统计信息,其中主要包括商品名称、单价、总量、售出量、剩余量。关于浏览投诉图:略描述:浏览投诉:用session跟踪来显示信息,主要包括投诉人和投诉内容图1-10商品列表信息分解图 描述:商品列表主要包括:显示所有商品、按商品名称模糊查询、放入购物车、我的购物车有这几个部分。显示所有商品:用div+table来显示所有商品,具体内容如下图所示:图1-11:所有商品列表图“我的购物车”和“放入购物车”共用同一个弹出窗口,当选择新的商品点“放入购物车”后,打开的购物车自动刷新。购物车页面:如下图所示:图1-12:我的购物车当选好的商品和推荐商品部分都用div+table显示,选好的商品中,第一次购买数量默认为1,当超过库存量结算时就报告库存不足错误。推荐的商品:根据会员选好的商品提供相关的商品推荐。(1)循环“您选好的商品”,根据会员已经选择的每一个商品,查找选择了该商品的所有其他会员;(2)查找这些会员所购买过的商品中,尚有库存的,并且被购买次数最多的2种商品,如果商品不在“您选好的商品”列表中,并且不在“相关推荐表”中,则添加到推荐的相关信息表中。当然,在购物车中,如果购物多了物品或是资金不足等,我们也可以退掉该商品,我们可以直接输入数值来增加我们的商品数量,也可以直接输入数值来减少我们的商品数量。 关于投诉建议界面:略描述:投诉建议:默认投诉用户为登录用户,填写投诉或建议内容提交即可。关于汇款通知界面:略描述:汇款通知:默认汇款用户为登录用户,填写汇款银行,汇款金额,汇款时间,附言,提交即可。图1-13汇款记录界面图描述:汇款记录:显示该会员所有汇款历史记录,包括汇款人、汇款金额、汇款时间、附言。购物记录:包括商品名称、面值、卡号、密码、购物日期。以上两个都用table显示信息,要求相同的项要进行单元格合并,如上图所示。图1-14联系我们界面图描述联系我们:静态页面,如上图所示。第三章数据库设计3.1数据库设计关系图逻辑设计图3-1数据库关系图3.2数据库表设计表3-1数据库:GameCardSale所有表信息表名功能说明UserInfo存放用户基本信息UserState可扩展性,设置用户是否被屏蔽的状态RoleInfo存放角色基本信息SysFun存放菜单功能基本信息RoleRight存放所有角色权限CardType卡片类型信息表Card具体卡片表CardState可扩展,卡片是否被售出的状态ShoppingCart购物车功能,存放用户已经选择的卡片信息TempRelativeCard根据用户选择的卡片,给出相关的选择ShopHistory用户购物历史记录PostHistory用户汇款历史记录ApproveState可扩展,用户汇款被审核状态PostFailedInfo存放汇款失败时,系统发送的信息News存放系统公告信息Advice存放会员的投诉建议信息表3-2表UserInfo表名列名数据类型(精度范围)空/非空约束条件其他说明UserIdVarchar(50)非空用户唯一标识UserNameVarchar(50)非空真实姓名PassWordVarchar(50)非空密码UserRoleint非空用户角色Genderint非空性别PassQuestionVarchar(50)非空密码提示问题PassAnswerVarchar(50)非空密码提示答案EmailVarchar(50)非空TelNobigint非空号码AddressVarchar(50)IDCardNobigint身份证号Moneyfloat用户余额UserStateint非空表UserState中UserStateId的外键用户状态表3-3表UserState表名列名数据类型(精度范围)空/非空约束条件其他说明UserStateIdVarchar(50)非空1:正常状态;0:被屏蔽UserStateNameVarchar(50)非空表3-4表RoleInfo表名列名数据类型(精度范围)空/非空约束条件其他说明RoleIdint非空角色idRoleNameVarchar(50)非空角色名称RoleDescVarchar(50)角色描述DisCountint会员折扣表3-4表SysFun表名列名数据类型(精度范围)空/非空约束条件其他说明NodeIdint非空菜单节点idDisplayNameVarchar(50)非空菜单名称NodeURLVarchar(50)菜单连接地址DisplayOrderint非空菜单显示顺序ParentNodeIdint非空父节点id表3-5表RoleRight表名列名数据类型(精度范围)空/非空约束条件其他说明RoleRightIdint非空角色权限idRoleIdint非空表RoleInfo中RoleId的外键角色idNodeIdint非空表SysFun中NodeId的外键菜单节点id表3-6表CardType表名列名数据类型(精度范围)空/非空约束条件其他说明CardTypeIdint非空卡片类型idCardTypeNameVarchar(50)非空卡片类型名称CardPriceint非空卡片价格CardImageVarchar(50)对应图片地址表3-7表Card表名列名数据类型(精度范围)空/非空约束条件其他说明CardIdint非空卡片idCardTypeIdint非空表CardType中CardTypeId的外键卡片类型idCardNobigint非空卡片序号CardPasswordint非空卡片密码CardDescVarchar(50)卡片描述CardTimedatetime非空添加卡片时间CardStateint非空表CardState中CardStateId的外键卡片售出状态表3-8表CardState表名列名数据类型(精度范围)空/非空约束条件其他说明CardStateIdint非空卡片状态id1:售出;0:未售出CardStateNameVarchar(50)非空卡片状态名称表3-9表ShoppingCart表名列名数据类型(精度范围)空/非空约束条件其他说明ShoppingCartItemIdint非空购物车项idUserIdVarchar(50)非空表UserInfo中userid的外键用户idCardTypeIdint非空表CardType中CardTypeId的外键卡片类型idNumint非空购买数量表3-10表TempRelativeCard表名列名数据类型(精度范围)空/非空约束条件其他说明TempRelativeCardIdVarchar(50)非空相关卡片标识idUserIdint非空表UserInfo中userid的外键用户idCardTypeIdint非空表CardType中CardTypeId的外键卡片类型id表3-11表ShopHistory表名列名数据类型(精度范围)空/非空约束条件其他说明ShopHistoryIdint非空购物历史记录idUserIdVarchar(50)非空表UserInfo中userid的外键用户idCardIdint非空表Card中CardId的外键卡片idShopTimedatetime非空购买时间表3-12表PostHistory表名列名数据类型(精度范围)空/非空约束条件其他说明PostHistoryIdint非空汇款历史记录idUserIdVarchar(50)非空表UserInfo中userid的外键用户idBankVarchar(50)非空汇款银行Moneyint非空汇款金额PostTimedatetime非空汇款时间PostDescVarchar(50)备注ApproveStateint非空表ApproveState中ApproveStateId的外键审核状态 表3-13表ApproveState表名列名数据类型(精度范围)空/非空约束条件其他说明ApproveStateIdint非空种子,自增1审核状态idApproveStateNameVarchar(50)非空审核状态名称名称表3-14表PostFailedInfo表名列名数据类型(精度范围)空/非空约束条件其他说明PostFailedInfoIdint非空汇款失败信息idUserIdVarchar(50)非空表UserInfo中userid的外键用户idPostHistoryIdint非空表PostHistory中PostHistoryId的外键汇款历史记录idReadStateint非空消息阅读状态0:未读;1:已读表3-15表News表名列名数据类型(精度范围)空/非空约束条件其他说明NewsIdint非空公告idTitleVarchar(50)非空公告标题ContentVarchar(500)公告内容NewsTimedatetime非空发布公告时间NewsStateint非空消息发布状态1:已发布;0:未发布表3-16表Advice表名列名数据类型(精度范围)空/非空约束条件其他说明AdviceIdint非空投诉建议idUserIdVarchar(50)非空表UserInfo中userid的外键用户idContentVarchar(2000)非空投诉或建议内容3.3数据库表设计分析说明第四章关于项目的界面设计4.1前台基本界面设计验证码,自动生成4.1.1登陆界面设计验证码,自动生成找回密码点这里注册查看商品网站公告找回密码点这里注册查看商品网站公告图4-1用户登陆首页用户登陆首页要求:只有当用户名、密码和验证码都正确时才能通过验证。“网站公告”部分为由下到上的滚动字幕,“查看所有商品”部分为从右到左的滚动字幕。点击“注册会员”时,弹出添加新会员窗口,如图4.2所示。点“忘记密码?”,弹出找回密码页面,如图4.3所示。点“查看所有商品”,弹出商品展示页面,如图4.4所示。点网站公告信息,弹出该公告的详细信息页面,如图4.5所示。4.1.2会员注册页面:(如图4.2所示)图4.2用户注册页面会员注册页面要求:用户登陆名只能为数字和字母以及“_”,不得使用其它字符。并且用户登陆名不能少于4位,密码不能少于6位,最多不超过10位,email和都要进行有效性验证,除了地址和身份证号外,其他信息不能为空。提交后若注册成功则提示,如图4.3所示。图4.3注册成功提示信息4.1.3找回密码页面:(如图4.4所示)图4.4找回密码页面找回密码页面要求:首先只显示用户登陆名填写部分,如图4.4所示。验证该用户是否存在,不存在则报错,若存在则显示找回密码问题和答案框部分,如图4.5所示。图4.5用户存在后显示用户和密码框界面如果问题和答案都填写正确,则显示输入新密码部分,如图4.6所示。图4.6问题和答案完全正确提交后的新密码界面输入新密码后提交,则显示:“恭喜您,重新设置密码成功,请牢记”,确定后,找回密码页自动关闭。4.1.4商品展示页面:(如图4.7所示)图4.7商品展示页面商品展示页面功能要求:用List展示所有商品,如图4.7所示,要求实现翻页和模糊查询功能。点“放入购物车”后报告“请登录后购买!!”,如图4.8所示。图4.8放入购物车时提示4.1.5公告详细信息浏览页面:(如图4.9所示)图4.9公告详细信息页面公告详细信息页面功能要求:显示公告标题和内容,点“关闭”按钮可以关闭窗体。4.2前台操作主界面设计内容页部分功能菜单部分个人基本信息内容页部分功能菜单部分个人基本信息图4-30前台操作主界面前台操作主界面功能要求:要求使用母版页设计主界面,如图4-30所示,使用树型按扭展示用户功能菜单,内容首页展示所有可购商品信息。如图4-30所示,会员菜单包括:个人管理、会员操作、综合信息3个父级模块。个人管理包括:修改资料1个菜单,会员操作包括:商品列表、投诉建议、汇款通知3个菜单项。综合信息包括:存款记录、购物记录和联系我们3个菜单项。4.3.1前台操作用例界面实现用例1 修改个人资料页面功能要求与后台管理中的相同。用例2商品列表界面:(如图4-31所示)图4-31商品列表界面商品列表页面功能要求:用Table嵌套Table来显示可购商品基本信息,展示方式如图4-31所示。可以按照商品名称模糊搜索,点“放入购物车”后,打开新的窗口,里面显示该会员已经选择的卡片信息,当选择另外的商品点“放入购物车”后,只刷新原来的窗口不打开新窗口,点“我的购物车”共用刚才打开的窗口。如图4-32所示。图4-32我的购物车界面我的购物车页面功能要求:用List存放选好的商品信息,根据已经选择好的商品,在上边用Table列出推荐的商品,如图4-33所示。选择好的商品部分“您的成交价”即是该会员的身份所对应的优惠价比*卡片面值而得到,当更改购买数量时,金额总计自动刷新,当购买数量超过库存量,结算时会报告库存不足的提示。推荐商品来源首先查找购买了该会员已经选择的某一件商品的所有会员,然后从这些会员购买的商品中,挑选出被购买次数最多的2种商品,如果这些商品不在购物车中则把它们显示出来。依照上边的方法,遍历该会员选择好的所有的商品。另外:当推荐的商品,点“购买”时,将自动更新已经选择的商品和推荐的商品数据,如图4-33所示。图4-33推荐的商品点“购买”后的界面用例3投诉建议界面:图4-34投诉建议界面投诉建议页面功能要求:客户文本框部分默认为用户登陆时的id,内容有非空验证。用例4汇款通知界面:图4-34汇款通知界面汇款通知页面功能要求:客户默认为登陆id,银行默认为工商银行,汇款金额只能为数字类型,除了附言外,其他输入框都要求非空。用例5:联系我们界面:图4-35联系我们界面联系我们页面功能要求:静态页面,注意div布局。还有其它很多界面,在这里就不一一列举出来了,如有需要,本人可与一同研究。4.3后台管理主界面设计个人基本信息内容页部分功能菜单部分个人基本信息内容页部分功能菜单部分图4-10后台管理主界面主界面功能要求:要求使用母版页设计主界面,如图4.10所示,使用menuItem展示用户功能菜单,内容首页展示待审核的新用户和用户汇款。如图4-10所示,管理员菜单包括:个人管理、系统管理、综合信息3个父级模块。其中个人管理包括:修改资料、审核操作2个菜单。系统管理包括:用户管理、角色管理、分类管理、游戏卡管理、汇款审核、公告管理6个菜单项。综合信息包括:销售统计、浏览投诉2个菜单项。图4-11后台管理主页面设计3.后台管理用例界面实现用例1个人修改资料界面:(如图4-12所示)图4-12修改个人资料界面修改个人资料页面功能要求:显示用户基本信息如图2.3所示,修改资料时的限制如注册时相同。用例2审核操作界面:(如图4-13所示)图4-13审核操作界面审核操作页面功能要求:用两个Table分别显示待审核的用户和汇款信息。如图4-13所示,都有“查看详细”功能。点“通过审核”实现通过审核功能,如果汇款出现错误,点“撤回汇款”则以系统消息的形式通知用户。用例3用户管理界面:图4-14用户管理界面用户管理页面功能要求:用Table展示用户基本信息,点“查看详细”可以查看更详细的信息。如图4-14所示,选中用户后,点页面上的四个操作按钮,即可以实现把用户设置为普通会员、vip会员、管理员和删除选中用户功能。另外添加全选功能,选择不同的用户角色,getElementById()重新绑定相应的用户信息。用例4角色管理页面:图4-15角色管理界面角色管理页面功能要求:用Table展示角色基本信息。如图4-15所示,要求实现添加角色、修改角色、删除角色、分配角色权限、浏览角色功能和设置会员优惠价功能。添加角色页面:(如图4-16所示)图4-16添加角色页面添加角色页面功能要求:为模式对话框,角色名称不能为空,提交后自动关闭并刷新角色管理页面。修改角色页面:图4-17修改角色页面功能要求同添加页面。分配角色权限页面:图4.18分配角色权限分配角色权限页面功能要求:用CheckBox列出所有子菜单权限名称,不要求列出父菜单名称,要求选中子菜单时,用request中的getParameterValues方法自动把父菜单分配给该角色。把选中的权限分配给对应的角色,点“提交”提示“权限已生效”,确定后关闭该模式对话框。角色功能浏览页面:图4-19设置角色浏览页面设置会员优惠价页面功能要求:会员类型又roleinfo表动态绑定,然后选择你要设置的会员类型,填写优惠价比(1~100之间的整数)后,点“提交”则更新选定会员类型的优惠价比例,如图4-20所示。图4-20设置会员优惠价比例能成功执行删除操作。用例5卡片类别管理界面:(如图4-21所示)图4-21卡片类别管理界面卡片类别管理页面功能要求:卡片类别可以同名,用卡片类别和价格结合起来作为唯一标志,用select下拉列表,列出所有卡片类别+价格。商品价格部分可以自己定义,但菜单项要合理。图片路径部分要求只保存图片的相对路径,并且输入框部分为只读,可以把所有的图片都放在项目中的“images”文件夹里,保存工程时,路径保存为:“工程/WebRoot/images/gif”。点“添加新类型后”卡片类别列表自动刷新,显示刚才添加的卡片类别,另外点“删除选中类型”按钮,删除该行记录,并自动刷新卡片所选择内容。用例6卡片管理界面:图4-22卡片管理界面卡片管理页面功能要求:用Table显示卡片基本信息,按卡片类别名称和价格排序,相同的部分尽量合并单元格,如图4-22所示。实现添加、修改和删除功能。添加卡片页面功能要求:为卡片管理页面弹出的模式对话框,如图4-23所示,要求所属类型部分为自动绑定的所有卡片类型+价格。默认编号是从数据库获取的当前默认种子最大值,卡号和密码部分要有有效性验证,比如卡号只能为10~20位整数,密码为3~10位数字。点“提交”后保存卡片信息,并自动关闭模式对话框。图4-23添加卡片界面修改卡片页面功能要求:初始时分别绑定卡片管理中选中的卡片信息,卡片类型也要自动绑定为该卡片对应的类型,修改卡片的内容,“提交”更新卡片信息,关闭模式对话框,自动刷新卡片管理页面图4-24修改卡片界面用例7汇款审核界面:图4-24汇款审核界面汇款审核页面功能要求:用Table显示汇款基本信息,添加查看详细信息和全选功能,“汇款信息选择”下拉菜单项如图4-25所示。点“通过审核”追加用户余额,点“撤回汇款”通知用户汇款失败,当改变“汇款信息选择”中的类型时,则重新绑定Table,显示相关信息。图4-25汇款审核菜单展开界面 用例8公告管理界面:图4-26公告管理界面公告管理页面功能要求:用Table显示公告基本信息,有添加、修改、删除和发布功能,要求发布后,不能修改,但可以删除。添加新消息页面功能要求:公告管理页面弹出的模式对话框,如图4-27所示。填写消息标题和内容,提交后关闭该对话框,自动刷新公告管理页面,消息标题不能为空。图4-27添加新消息界面修改消息页面功能要求:初始时显示该消息的基本信息,其他要求同添加新消息页面。用例9商品统计界面:(如图4-28所示)图4-28商品统计界面商品统计页面功能要求:用Table显示商品销售情况信息。用例10浏览投诉界面:(如图4-29所示)图4-29浏览投诉界面浏览投诉页面功能要求:可用在线编译器来显示投诉建议基本信息。第五章项目测试及产品上线调试过程5.1测试用例模板(一)表5-1测试用例表一项目名称程序版本功能模块名编制人编制时间功能特性测试目的预置条件特殊规程说明用例编号说明输入预期结果测试结果备注说明: 以上测试用例模板1适用于集成测试与系统测试。 测试用例模板1可以根据情况适当简化。5.2测试用例模板(二)表5-2测试用例表二测试项目说明/数据用例编号测试优先级用例摘要测试类型用例类型用例设计者设计日期对应需求编号对应UI对应UC版本号对应开发人员前置条件测试方法输入数据执行步骤预期输出实际结果测试日期结论说明: 以上测试用例模板2适用于单元测试。5.3测试过程说明5.4项目调试过程说明5.5项目上线发布过程说明第六章项目总结6.1 对整个研究或设计工作进行归纳和综合Java是未来开发语言的主流,而Java在Web上的主要应用JSP也必将成为未来Web开发的主流技术。本系统采用的主流技术是JSP,它的最大特点之一的标签库,使一般的Web开发人员也能够方便地使用JSP强大的动态页面功能,开发出技术先进的JSP动态Web页面。由于本系统是采用Java语言进行开发,所以可以在任何支持图形化界面的操作系统下运行,实现了完全的与平台无关的操作。本系统易于扩充和完善。在以后可以考虑为用户提供接口,使用户可以自己扩充模板库和标签库,进一步增强系统的功能。6.2MVC设计模式的扩展在开发整个网上购物系统中,我们是严格按MVC设计模式来操作的,每一步都要求要用到最好的设计模式来处理程序的思想流程。通过在java中的MVC模式编写的,具有极其良好的可扩展性。它可以轻松实现以下功能:实现一个模型的多个视图;②采用一个控制器控制多个事情;③当模型改变时,所有视图将自动刷新;④所有的控制器将相互独立工作,也可以一起工作。这就是MVC模式的好处,只需在以前的程序上稍作修改或增加新的类,即可轻松增加许多程序功能。以前开发的许多类可以重用,而程序结构根本不再需要改变,各类之间相互独立,便于团体开发,提高开发效率。如何实现一个模型、两个视图和一个控制器的程序。其中模型类及视图类根本不需要改变,与前面的完全一样,这就是面向对象编程的好处。对于控制器中的类,只需要增加另一个视图,并与模型发生关联即可。该模式下视图、控制器、模型三者之间的示意图如图2所示同样也可以实现其它形式的MVC例如:一个模型、两个视图和两个控制器。从上面可以看出,通过MVC模式实现的应用程序具有极其良好的可扩展性,是java面向对象编程的未来方向。6.3在项目开发中尚存在的问题6.3.1Struts不能完全用MVC来理解我现在的观点是:MVC可以帮助刚刚进入面向对象设计的开发者理解分层体系结构(MVC的最大价值),之后在面对Struts、Spring时,可以借助那种分层思想及各层的大致组件角色和职责对这些框架进行理解,但不必钉钉铆铆的去对应,因为这种对应是模糊的、是非对称的。理由如下第一:MVC是80年代Smalltalk80引入的一种用户界面应用程序设计模型,经过二十多年的发展,到现在Struts、Spring这些框架已经对MVC进行了很大的扩展,增加了很多原来不存在的角色,以使其分工更加细致了。以Struts为例,Struts其实只是体现MVC思想的Web层框架,只体现了View和“泛Controller”含义,而对于Model实现规定很少,基本可以自由实现。这其中最有争议的是Action属于Controller还是Model,我觉得如果非要给Action找个归宿的话,就要看系统设计的具体情况,要看让Action来做什么,如果只让Action来根据请求调用相应的业务服务/处理对象,并将处理结果放入RequestAttribute中,那么就可以将Action和ActionServlet、RequestProcessor统统作为“泛Controller”的组成部分(这种纯度高的设计层次较多较细,实际使用不多)。如果让Action来承担一些业务逻辑的处理,比如一次请求需要调用多个业务服务的多个处理,再比如对于简单的设计Action直接调用DAO进行操作,那么它就又具有Model的部分职能,所以一般情况下Action是一个介于Controller和Model的衔接角色。第二:原始MVC所存在的Smalltalk用户界面应用程序,与Struts、Spring的Web应用程序体系结构不同。在用户界面应用程

温馨提示

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

评论

0/150

提交评论