已阅读5页,还剩51页未读, 继续免费阅读
软件工程硕士论文-网上购物系统的设计与实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
大连理工大学硕士学位论文网上购物系统的设计与实现姓名:李响申请学位级别:硕士专业:软件工程指导教师:赵明砚20081206大连理工大学专业学位硕士学位论文摘要在当前高速发展的信息社会,人们的消费观念有了很大的改观。尤其突出的是网上购物。Intemet带给我们的不仅是无穷的信息,更是商业模式和消费观念的变迁,电子商务业已成为时尚。论文主要介绍了网上购物系统的分析设计与实现。网上购物系统基于MVC设计模式,采用Struts技术框架和Hibernate框架来实现。网上购物系统主要是分为两个子系统,一个是客户端,主要实现了用户登录,用户注册,商品查询,生成订单,留言等一系列功能。客户端主要是针对顾客,在顾客使用平台上显示各个页面来满足顾客的需求。比如商品查询,购买,购物车的管理,订单的提交,注册信息的管理等。另一个是管理端,主要实现会员管理,商品管理,留言管理,管理员管理的功能。管理端主要是针对内部管理员,管理员可以进入管理系统,对商品,订单,会员进行管理,比如商品信息的修改,会员级别的修改,订单的修改等等。该系统是基于MVC设计模式下的对Struts技术框架和Hibernate技术框架的实现。继承了MVC设计模式的主要设计思想。对Struts技术框架和Hibernate技术框架做了一个简单的应用。MvC三层模式将功能划分为相互关联的三个组件一一模型(Model)、视图(View)和控制器(Controller)。在文中,介绍了MVC设计模式和Struts框架的相关技术。分析了网上购物系统的构建背景及该系统的设计思想。分析了网上购物系统的需求,最后重点介绍了MVC在网上购物系统中的应用与实现。特别是各个功能模块中的MVC架构的设计。关键词:MVC;网上购物;Struts网上购物系统的设计与实现DesignandImplementationofOnlineShoppingSystemAbstractIntheination-intensivesocietyofpresenthighspeeddevelopmentpeopleSconsumptionideahasagreatchangeEspeciallyailomstandingoneisnleOnlineShoppingItisnotonlyinfmiteinationbutalsothechangesofcommercialmodeandconsumptionideathatInternethasbroughttous;e-commercehasalreadybecomethefashion。nlethesishasintroduceddesignandimplementationoftheonlineShoppingsystemTheOnlineShoppingSystemwasbasedonMVCdesignpatternadoptStrutstechnologicalframeandHibernateframetoberealizednleOnlineShoppingSystemismainlydividedintotwosub-systemsOneisclientItincludestherealizationoffunctionaboutofauserloginanduserregistrationcommodityination;generateorders,orderinquiries,messagesandaseriesoffunctionsTheclientisfacedtocustomersA11kindsofpageswereshownontheplattOmeettheneedsofcustomersForinstancethecommodityinquirythepurchase,theshoppingcartmanagementtheordersubmission,registerstheinationmanagementandSOonTheotheristhemanagementsideItincludesmembersofmanagementcommoditymanagement,messagemanagementadministratorsandmanagementfunctions强emanagementendsmainlyareaimatinternalmanagerthemanagermayenterthemanagementsystemmanagementsystemtothecommoditytheorder,themembercarriesonthemanagementforinstancecommodityinationrevisionmemberandotherrevisionorderrevisionandSOonThesystemisbasedontheMVCdesignmodelandrealizefortheStrutsframeandHibernateframethemaindesignideaofMVCdesignpatternisinheritedStrutsframeworkandHibernateframeworkwillbeusedthisonlineShoppingsystemMVCmodeofthreelayersdividesthefunctionintothreeinterrelatedpackagesthemodel(Model),theview(View)andcontroller(Controller)nlissystemincludestheMVCdesignpatternandrelatedtechnologiesofStrutsframeworkandHibernatefiameworkneedsanalysisofonlineshoppingsystemFinallyitisimportantaboutapplicationandimplementationoftheonlineshoppingsystemInparticularvariousfunctionalmodulesofMVCframeworkarea11showedKeyWords:MVC;OnlineShopping;Struts大连理工大学学位论文独创性声明作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外,本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献均已在论文中做了明确的说明并表示了谢意。若有不实之处,本人愿意承担相关法律责任。学位论文题目:回圭堕曼物丕盈塑:鳖荭暨遭作者签名:生型l因日期:迎控年坌月乙日大连理工大学学位论文版权使用授权书本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印、或扫描等复制手段保存和汇编本学位论文。学位论文作者签名导师签名大连理工大学专业学位硕士学位论文1绪论11课题背景Intemet在全球的迅速普及,使得任何一个商业组织都必须改变自己的运作方式和组织机构来适应这种全球性的发展和变化。近年来,随着互联网技术的不断发展,一种基于互联网、以交易双方为主体、以银行电子支付和结算为手段、以客户数据为依托的全新商务模式一电子商务(ElectronicCommerce)应运而生。网上购物作为一种新的购物手段逐渐走入了千家万户。21世纪是信息爆炸和依赖数字化生存的世纪,大量的信息通过因特网迅速传播,打破世界原有的有形界限。这为电子商务的发展创造了种较好的环境。电子商务经济时代是一个以“客户为导向、以“变化”为特征、以现代信息技术为竞争“平台的新经济时代。因为由现代信息技术所促成的全球经济一体化、客户需求的个性化、以及技术创新速度的不断加快,不仅使传统大规模生产方式所形成的商品供应能力严重供过于求,市场竞争的激烈程度更加趋于白热化,同时也大大缩短了客户需求的响应周期,导致了整个市场供求状况的瞬息万变。在这样的时代背景下,要想求得企业的生存与发展,无论是企业的生产方式还是管理理念及模式都必须进行根本性的转变;否则将被时代的进步所淘汰。中国的电子商务起步于20世纪90年代中期,已有多家单位对电子商务进行研究、开发,也有部分企业已经在电子商务方面进行了尝试和运作。但就总体而言,中国电子商务的发展无论在技术上、安全上、法律上、金融上、市场上等诸多方面均处于理论研究阶段。电子商务要在中国顺利发展,还有许多问题需要解决。但是,就从长远看,中国电子商务呈现快速发展的势头。截至2007年12月,中国内地网民数达到21亿。2007年度我国网上购物发展迅速,在以北京、上海、广,、I1和深圳(京沪穗深)为代表的全国中心城市,网上购物用户在网民中的渗透率达到了417,网上购物用户总数超过1000万人,网上购物金额超过人民币250亿元。在以武汉、成都、沈阳和西安为代表的四个区域中心城市,网上购物用户在网民中的渗透率也达到了293,网上购物用户总数253万人,网上购物金额50亿元。上海市以超过400万人的网上购物消费者、118亿元的网上购物金额和50的网上购物渗透率而成为全国网购最发达的城市。因此,中国网上购物将成为一个庞大的商业体系【lJ。12系统开发的意义电子商务的发展将呈现以下六个方面的趋势:网上购物系统的设计与实现(1)纵深化趋势电子商务的基础设施将日臻完善,支撑环境逐步趋向规范,企业发展电子商务的深度进一步拓展,个人参与电子商务的深度也将得到拓展。(2)个性化趋势互联网的出现、发展和普及本身就是对传统经济社会中个人的一种解放,个性化信息需求和个性化商品需求将成为发展方向,消费者将把个人的偏好参与到商品的设计和制造过程中去。对所有面向个人消费者的电子商务活动来说,提供多样化的比传统商业企业更具个性化的服务,是决定今后成败的关键因素。(3)专业化趋势一是面向个人消费者的专业化趋势。今后若干年内我国上网人口仍将以中高收入水平的人群为主,他们购买力强,受教育程度较高,消费个性化要求比较强烈。所以,提供一条龙服务的垂直型网站及某一类产品和服务的专业网站发展潜力更大。二是面向企业客户的专业化趋势。电子商务模式,以大的行业为依托的专业电子商务平台前景看好。(4)国际化趋势我国电子商务企业将随着国际电子商务环境的规范和完善逐步走向世界。我国企业可以由此同发达国家真正站在同一个起跑线上,变我国在市场经济轨道上的后发劣势为后发优势。电子商务对我国的中小企业开拓国际市场、利用好国外各种资源是一个有利时机。同时,国外电子商务企业将努力开拓中国市场。(5)区域化趋势我国地区经济发展的不平衡和城乡二元结构所反映出来的经济发展的阶梯性、收入结构的层次性十分明显。在今后相当长的时间内,上网人口仍将以大城市、中等城市和沿海经济发达地区为主,的电子商务模式区域性特征非常明显。以这种模式为主的电子商务企业在资源规划、配送体系建设、市场推广等方面都必须充分考虑这一现实,采取有重点的区域化战略,才能最有效地扩大网上营销的规模和效益。(6)融合化趋势电子商务将由最初的全面开花走向新的融合,一是同类网站之间的兼并。目前大量的网站属于“重复建设、定位相同或相近、业务内容趋同,激烈竞争的结果只能是少数企业最终胜出。二是不同类别网站之间互补性的兼并。国内那些处于领先地位的电子商务企业在资源、品牌、客户规模诸方面的优势是相对的,国外著名电子商务企业在扩张的过程中必然会采取收购策略,主要的模式将是互补性收购。三是战略联盟。每个网站在资源方面总是有限的,客户的需求又是全方位的,所以不同类型的网站以战略联盟大连理工大学专业学位硕士学位论文的形式进行相互协作也势茬必然【2】o鉴于以上的分析,本次毕业设计决定开发一个网上购物系统。本次开发网上购物系统采用基于MVC的模式,结合Strum框架和Hibernate框架,很好的实现了模型、视图与控制器的分离,程序具有良好的框架结构。13系统开发的主要任务概括的介绍了本次开发所用的理论知识。主要包括MVC设计模式的知识和Struts框架和Hibernate框架的介绍。在论文中,主要是对本次开发的网上购物系统作了一个详细的分析,其中主要是从软件工程的角度全面的分析了网上购物系统的设计,根据需求分析,抽象出了各个功能模块。最后又把整个系统在MVC设计模式下做了一个简单的分析,把各个组件进行了进一步的划分。在需求分析中主要介绍了本次开发的网上购物系统的需求分析,数据模型分析,功能模型分析,性能分析,安全性分析,网络结构分析。在系统设计中主要介绍了本次开发的网上购物系统的体系结构设计,页面结构设计,数据库设计,功能模块设计。在系统实现中,主要对网上购物系统中登录功能模块,购物车功能模块,订单管理模块作了详细的说明,以及这些功能模块的实现过程。在分析与设计该系统的过程中,首先要再清楚该系统要实现什么功能,第二要把握各个功能之间的关系,第三要把各个功能细化到类,对象等,最后要将这些功能实现。14小结这一章主要介绍了本次毕业设计要开发的系统背景,开发的意义,以及开发的主要内容。网上购物网站的快速发展,给消费者带来了很大的方便,网上购物系统的开发有很重要的意义。下面的章节中将对本次开发做详细的介绍。网上购物系统的设计与实现2理论知识介绍21系统技术介绍本次开发的网上订单系统主要是基于MVC设计模式下的Web应用,采用当前比较流行的Struts框架和Hibernate框架,结合JSP技术,面向对象等一系列技术开发的。下面先对该系统所用到的理论知识做一下详细地介绍。22C设计模式介绍MVC是ModelViewController的简称,即模型视图控制器。MVC是在20世纪80年代为编程语言Smalltalk80发明的一种软件设计模式,至今己被广泛使用,最近几年被推荐为Sun公司J2EE平台的设计模式,受到越来越多的Web开发者的欢迎。MVC是一种设计模式,它强制性的把应用程序的输入,处理和输出分开,MVC把应用程序分成三个核心模块:模型,视图和控制器,它们分别担负着不同的任务。图21显示了这几个模块各自的功能以及它们之间的相互关系。MVC是一种功能模块分离的结构,是当前比较流行的一种设计模型。最初由Smalltalk设计,该模型能将功能划分为相互关联的三个组件(也就是我在下面分别介绍的)一一模型(Model)、视图(View)、控制器(Contr01)。这三个组件分别映射到三个主要的实现技术一-JavaBean、JSP以及Servlet。图21MVC设计模式Fig21DesignPatternofMVC大连理工大学专业学位硕士学位论文221视图视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户输入的数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但是不能改变模型。视图还能接收模型发出的数据更新事件,从而对用户界面进行同步更新。将视图与模型分开使得用户界面的结构独立并具有不同的外观和属性。这些不同的界面能够与相同的模型交互。JSP是实现视图的通常选择。表示了应用程序的表示层。视图组件包含系统的当前状态,并提供适合于特定协议的用户界面。将视图与模型分开使得用户界面的结构独立并具有不同的外观和属性。这些不同的界面能够与相同的模型交互。JSP是实现视图的通常选择。222模型模型是应用程序的主体部分,模型表示了业务模型和业务逻辑,一个模型能为多个视图提供数据,由于同一个模型可以被多个视图重用,所以大大提高了应用的可重用性。表示应用程序的业务逻辑。它包括状态组件和动作组件。状态组件定义了模型的当前设置值,并且包含更改这些值得方法。JavaBean是实现状态组件的逻辑选择。动作组件定义的允许更改的状态,以响应事件。223控制器控制器可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个链接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。控制器负责接收事件、确定合适的处理程序、调用处理程序并触发合适的响应。因为具有功能强大的Java,Servlet是用于控制器技术的最佳选择。Servlet只是负责把用户动作转换成应用事件,以及把用户输入的结果处理成由JSP显示的结果。控制器必须处理以下任务:(1)安全:执行与安全相关的任务,例如身份验证和授权。有些或全部任务也许会被委派给Servlet引擎。(2)事件识别:识别将被执行的特殊事件。(3)准备模型:确保所需要的模型组件可用,也就是实例化所需要的JavaBean。(4)处理事件:将请求映射到相应的事件处理程序并调用它。网上购物系统的设计与实现(5)处理错误:由处理程序所产生的错误。这也可通过异常处理程序来实现。(6)触发响应:将控制转发到响应生成器。这种实现是通过调RequestDispatcherforward0方法以将控制传递给JSP来实现的。23MVC设计模式的实现实现基于MVC的应用需要完成以下工作,如图22所示:J分析应用阿题,对系统进行分离图22MVC分析过程Fig22AnalysisoftheprocessofMVC(1)分析应用问题,对系统进行分离分析应用问题,分离出系统的内核功能、对功能的控制输入、系统的输出行为三大部分。设计模型部件使其封装内核数据和计算功能,提供访问显示数据的操作,提供控制内部行为的操作以及其他必要的操作接口。以上形成模型类的数据构成和计算关系。这部分的构成与具体的应用问题紧密相关。(2)设计和实现每个视图设计每个视图的显示形式,它从模型中获取数据,将它们显示在屏幕上。(3)设计和实现每个控制器对于每个视图,指定对用户操作的响应时间和行为。在模型状态的影响下,控制器使用特定的方法接受和解释这些事件。控制器的初始化建立起与模型和视图的联系,并且启动事件处理机制。事件处理机制的具体实现方法依赖于界面的工作平台。(4)使用可安装和卸载的控制器控制器的可安装性和可卸载性,带来了更高的自由度,并且帮助形成高度灵活性的应用。控制器与视图的分离,支持了视图与不同控制器结合的灵活性,以实现不同的操大连理工大学专业学位硕士学位论文作模式,例如对普通用户、专业用户、或不使用控制器建立的只读视图。这种分离还为在应用中集成新的IO设备提供了途径【3一。24框架介绍24。1Struts的概念Sullts有一组相互协作的类、Serlvet以及JspTagLib组成。基于Struts构架的web应用程序基本上符合JSPModel2的设计标准,可以说是MVC设计模式的一种变化类型。根据上面对framework的描述,我们很容易理解为什么说Struts是一个webframwork,而不仅仅是一些标记库的组合。但Struts也包含了丰富的标记库和独立于该框架工作的实用程序类。Struts有其自己的控制器(Controller),同时整合了其他的一些技术去实现模型层(Model)和视图层(View)。在模型层,Struts可以很容易的与数据访问技术相结合,包括EJB,JDBC和ObjectRelationBridge。在视图层,Struts能够与JSP,VelocityTemplates,XSL等等这些表示层组件相结合。242Struts的体系结构我们说strutsframework是MVC模式的体现,下面我们就从分别从模型、视图、控制来看看struts的体系结构(Architecture)。下图23显示了strutsframework的体系结构响应客户请求时候,各个部分工作的原理。h袱。lControllerIDispatch。BusinessLogic。,一IServletJctionRequ瞄tL1:ntl型UpdmeG峨IlodelVie、IApplicationState】SPHTTp1aoIResponse图23Struts体系结构Fig23ArchitectureofStruts网上购物系统的设计与实现(1)从视图角度(View)首先,Struts提供了Java类orgapachestrutsactionAction,Java开发者将该类细分来创建表单bean。在运行时,该bean有两种用法:一种是当JSP准备相关的HTML,表单以进行显示时,JSP将访问该bean(它保存要放入表单中的值)。那些值是从业务逻辑或者是从先前的用户输入来提供的。另一种是当从Web浏览器中返回用户输入时,该bean将验证并保存该输入以供业务逻辑或(如果验证失败的话)后续重新显示使用。其次,Struts提供了许多定制JSP标记,它们的使用简单,但是它们在隐藏信息方面功能强大。例如,除了bean名称和给定bean中每个段的名称之外,页面设计者不需要知道有关表单bean的更多信息。(2)从模型角度(Model)Struts虽然不直接有助于模型开发。在Struts中,系统模型的状态主要由ActiomBean和值对象体现。(3)从控制器角度(Controller)在Strutsframework中,Controller主要是ActionServlet,但是对于业务逻辑的操作则主要由Action、ActionMapping、ActionForward这几个组件协调完成(也许这几个组件,应该划分到模型中的业务逻辑一块)。其中,Action扮演了真正的控制逻辑的实现者,而ActionMapping和ActionForward则指定了不同业务逻辑或流程的运行方向8。10J。243Hibernate框架Hibernate是一个高性能的ORM(ObjectRelationalMapping)持久性和查询服务,它是一个开源项目,是JBoss的一个组成部分。Hibernate在2001年发布了他的第一个正式版本;2003年6月Hibernate20发布;2003年末Hibernate被JBoss吸纳;2005年3月Hibernate30正式发布。为什么要使用ORM(ObjectRelationalMapping)呢这是因为开发人员使用的技术是面向对象技术,而使用的数据库却是关系型数据库。一个完整的类很难以对象的方式存储在一个关系型的数据库中,它更适合存储在对象型数据库中,但目前关系型数据库仍然占主流位置,所以要使用ORM在对象和关系型数据库之间建立关系,从而可以使开发人员完全用OO的思想去设计业务逻辑,而数据的存储仍然使用关系型数据库。Hibernate是一个开放源代码的对象关系映射框架,它对JDBC进行T常轻量级的对象封装,使得Java程序员可以随心所欲的使用对象编程思维来操纵数据库。Hibernate可以应用在任何使用JDBC的场合,既可以在Java的客户端程序使用,也可以在大连理工大学专业学位硕士学位论文ServletJSP的Web应用中使用,最具革命意义的是,Hibernate可以在应用EJB的J2EE架构中取代CMP,完成数据持久化的重任。Hibernate的核心接口一共有5个,分别为:Session、SessionFactory、Transaction、Query和Configuration。这5个核心接12在任何开发中都会用到。通过这些接12,不仅可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介绍。(1)Session接口:Session接口负责执行被持久化对象的CRUD操作(CRUD的任务是完成与数据库的交流,包含了很多常见的SOL语句)。但需要注意的是Session对象是非线程安全的。同时,Hibernate的session不同于JSP应用中的HttpSession。这里当使用session这个术语时,其实指的是Hibernate中的session,而以后会将HttpSesion对象称为用户session。(2)SessionFactory接口:SessionFactroy接口负责初始化Hibernate。它充当数据存储源的代理,并负责创建Session对象。这里用到了工厂模式。需要注意的是SessionFactory并不是轻量级的,因为一般情况下,一个项目通常只需要一个SessionFactory就够,当需要操作多个数据库时,可以为每个数据库指定一个SessionFactory。(3)Configuration接口:Configuration接口负责配置并启动Hibernate,创建SessionFactory对象。在Hibernate的启动的过程中,Configuration类的实例首先定位映射文档位置、读取配置,然后创建SessionFactory对象。(4)Transaction接口:Transaction接口负责事务相关的操作。它是可选的,开发人员也可以设计编写自己的底层事务处理代码。(5)Query和Criteria接口:Query和Criteria接口负责执行各种数据库查询。它可以使用HQL语言或SQL语句两种表达方式【l卜15】。在本系统中还用到AJAX全称为“AsynchronousJavaScriptandXML(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术。传统的web应用允许用户填写表单(),当提交表单时就向web服务器发送一个请求。服务器接收并处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前后两个页面中的大部分HT,代码往往是相同的。由于每次应用的交互都需要向服务器发送请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应用慢得多。与此不同,ATAX应用可以仅向服务器发送并取回必需的数据,它使用SOAP或其它一些基于XML的webservice接口,并在客户端采用JavaScript处理来自服务器的响应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应一9一网上购物系统的设计与实现用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以Web服务器的处理时间也减少了。使用Ajax的最大优点,就是能在不更新整个页面的前提下维护数据。这使得Web应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。Ajax不需要任何浏览器插件,但需要用户允许JavaScript在浏览器上执行。就像DHTML应用程序那样,Ajax应用程序必须在众多不同的浏览器和平台上经过严格的测试。随着Ajax的成熟,一些简化Ajax使用方法的程序库也相继问世。同样,也出现了另一种辅助程序设计的技术,为那些不支持JavaScript的用户提供替代功能。对应用Ajax最主要的批评就是,它可能破坏浏览器后退按钮的正常行为。在动态更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常微妙;用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在Ajax应用程序中,却无法这样做。不过开发者已想出了种种办法来解决这个问题,当中大多数都是在用户单击后退按钮访问历史记录时,通过建立或使用一个隐藏的IFRAME来重现页面上的变更。(例如,当用户在GoogleMaps中单击后退时,它在一个隐藏的IFRAME中进行搜索,然后将搜索结果反映到Ajax元素上,以便将应用程序状态恢复到当时的状态。)一个相关的观点认为,使用动态页面更新使得用户难于将某个特定的状态保存到收藏夹中。该问题的解决方案也已出现,大部分都使用URL片断标识符(通常被称为锚点,即URL中群后面的部分)来保持跟踪,允许用户回到指定的某个应用程序状态。(许多浏览器允许JavaScript动态更新锚点,这使得Ajax应用程序能够在更新显示内容的同时更新锚点。)这些解决方案也同时解决了许多关于不支持后退按钮的争论。进行Ajax开发时,网络延迟即用户发出请求到服务器发出响应之间的间隔一一需要慎重考虑。不给予用户明确的回应,没有恰当的预读数据,或者对XMLHttpRequest的不恰当处理,都会使用户感到延迟,这是用户不欲看到的,也是他们无法理解的。通常的解决方案是,使用一个可视化的组件来告诉用户系统正在进行后台操作并且正在读取数据和内容。一些手持设备(如手机、PDA等)现在还不能很好的支持AjaX:用JavaScript作的Ajax引擎,JavaScript的兼容性和DeBug都是让人头痛的事:Ajax的无刷新重载,由于页面的变化没有刷新重载那么明显,所以容易给用户带来困扰一一用户不太清楚现在的数据是新的还是已经更新过的:现有的解决有:在相关位置提示、数据更新的区域设计大连理工大学专业学位硕士学位论文得比较明显、数据更新后给用户提示等:对串流媒体的支持没有FLASH、JavaApplet好【161。25小结这一章主要介绍了本次开发所用的理论知识。主要包括MVC设计模式的知识和Struts框架,Hibernate框架的概念以及本系统的实现涉及到的Ajax的相关知识。网上购物系统的设计与实现3系统需求分析31概述在如今的信息社会,人们的消费观念有了很大的改观。尤其突出的是网上购物,这主要依赖于Internet给我们带来的好处。Intemet带给我们的不仅是无穷的信息,更是商业模式和消费观念的变迁,电子商务业已成为时尚。因此就掀起了一股网上购物的高潮。启动软件项目的原因是由于软件需求的存在,软件需求是软件开发过程的基础。需求是一个软件项目的开端,也是项目建设的基石。软件需求是指用户对软件的功能和性能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么样的性能【17】。从现实需求上说:(1)网上销售这是信息社会发展的必然要求。(2)网上销售因其自身具有的经营上的优势对读者具有强大的吸引力,这也是刺激网上销售发展的重要原因。(3)对于商品经营者来说,网上销售能带来更多的经济回报。(4)网上销售能通过广泛的信息传递而影响购买者,故具有明显的扩销效果。(5)网上销售能通过计算机存贮大量的资料,毫不费力地建立起自己庞大的全球化购物信息库,对客户需求和产品行情的预测也就更准确。(6)网上销售能有效地降低库存,减少资金占用。不存在商品积压损失,也不需要太多的库存。(7)网上销售能节约费用开支,降低销售成本。网上商店是虚拟的商店,没有物理意义上的房屋和店面,也不需营业员从事销售现场管理,业务环节大为简化,不仅能节省大量的劳动力,而且也能大幅度降低物化劳动耗费。鉴于以上的分析,本次毕业设计开发一个网上购物系统。本系统具有大部分网上购物系统的共性,并且开发采用基于MVC的Struts框架和Hibernate框架,很好的实现了模型、视图与控制器的分离,程序具有良好的框架结构。下面的章节中将对本次开发做分析介绍。32需求分析根据大部分网上购物系统的基本流程,确定系统的具体需求为:(1)顾客可以方便的注册与登录。(2)顾客可以灵活地检索所需的商品信息以及了解特价商品信息。大连理工大学专业学位硕士学位论文(3)顾客可以方便地查看详细的商品资料。(4)顾客可以方便地管理自己的购物车(添加或删除选购商品,修改购买数量及在线下订单等操作)。(5)顾客可以反馈自己的意见或留言。(6)商品管理员可以方便地管理商品及特价商品信息(新增,删除,修改商品及特价商品)。(7)订单管理员可以方便地查看订单,发货与缺货处理。(8)会员管理员可以方便地查看顾客的反馈信息及具体的处理情况。(9)系统管理员可以方便地进行系统用户管理(新增,删除,修改系统用户)。基于以上的具体需求,画出用例需求分析方法中的用例图来更直观,更形象地说明整个系统的需求。用例在需求中的作用很重要。用例是从用户的角度看待系统,而不是从程序员的角度。用户的任何需求都能够在系统开发链中完整地体现。用例通过描述“系统和“活动者”之间的交互来描述系统的行为。通过分解系统目标,用例描述活动者为了实现这些目标而执行的所有步骤f18】。本系统的用例图如图31:图31用例图Fig31UseCaseDiagram网上购物系统的设计与实现3。3数据模型分析很多项目都会使用大量的数据信息,系统模型中的一个重要部分是定义系统处理的逻辑形式,实体关系图方法用于描述系统实体间的对应关系,需求分析阶段是用实体关系图描述系统中实体的逻辑关系,本系统的数据模型设计内容主要是为数据库的设计构建服务【19】。根据需求分析中的需求内容,给出对应的实体关系图(ER图)如图32:图32系统E-R图Fig32E-Rsystemmap(1)会员级别与注册会员为一对多关联,一个会员级别可以有多个注册会员,而一个会员只能属于一种会员级别。(2)商品类别与商品为一对多关联,一个商品类别可以有多个商品,而一个商品只能属于一种商品类别。(3)注册会员业订单为一对多关联。一个会员可以有多张订单,而一张订单只能属于一个会员。(4)购物车与商品为多对多关联,一个购物车可以有多个商品,而一个商品也可以放入多个购物车中,在数据库的物理实现上通常采用连接表来实现这种多对多的关联。(5)订单与购物车为一对一关联,一张订单与一个下订单的购物车相对应。(6)注册会员与留言为一对多关联,一个会员可以有多个留言,而一个留言只能属于一个会员。(7)系统用户(管理员)与留言为一对多关联,个管理员可以回复多个留言,而大连理工大学专业学位硕士学位论文一个留言只能有一个管理员回复。根据系统的ER图就可以对系统的数据库做详细的设计。34功能模型分析根据实体关系图中的描述,本系统大体可划分为11个功能模块。如图33:各个功能模块的具体详情介绍如下:(1)顾客注册,登录模块顾客可以通过填写注册信息注册成为会员,会员注册,登录需要填写附加码,保证系统的安全性。会员登录后才能进行购物,购物车的管理与意见反馈,为登录的会员或未注册的顾客只能检索与浏览商品信息。图33网上购物系统功能模块图Fig33Onlineshoppingsystemmodulemap(2)商品检索,浏览模块顾客可以根据不同的商品种类浏览商品信息(如商品名称,商品图片,商品型号,价格,生产厂商,生产日期等),也可以输入关键字进行商品检索。瞬上购物系统的设计与实现(3)特价商品检索,浏览模块顾客可以根据不同的商品种类浏览特价商品信息(如商品名称,商品图片,商品型号,价格,生产厂商,生产日期等),也可以输入关键字进行特价商品检索。(4)购物车模块顾客输入帐号与密码登录后便可以进行购物车的管理,可以查看购物车,将商品添加到购物车中,也可以删除购物车中的商品,修改购物车中商品的数量,在线下订单及订单查看。(5)顾客留言模块顾客登录成功后,进入反馈信息界面,可以发表自己的意见或建议。(6)后台登录模块系统管理员输入帐号,密码和附加码可以登录后台界面,登录验证模块根据输入的帐号密码识别不同角色的管理员,然后进入不同的后台管理模块,账号密码输入错误后给出错误提示并要求从新输入。(7)商品管理模块商品管理员可以查看商品种类和信息,也可以新增,修改,删除商品的种类和商品。(8)特价商品管理模块特价商品管理模块是商品管理员可以查看商品种类和信息,也可以新增,修改,删除商品的种类和特价商品。(9)订单管理模块订单管理员登录后,可以根据Et期范围,订单完成状态,订单编号等取得订单列表与查看某订单的详情,也可以修改订单的完成状态及订单中的商品或数量,还可以删除订单本身及订单中的商品。(10)会员管理模块会员管理员登录后,可以根据注册时间范围,会员级别及会员ID取得会员列表,然后对某个会员可以进行详细资料的查看,级别调整与删除操作;也可以根据留言时间范围,回复状态及会员ID取得留言列表,然后对某个留言进行内容查看,回复与删除操作。(11)系统用户管理模块系统管理员登录后,可以根据用户列表进行用户详细资料的查看,新增用户,修改用户与删除用户操作。各个功能模块之间的关系如图34。大连理工大学专业学位硕士学位论文管理员登录管理端页面,乞7弋、I商品管理特价商品管理订单管理J会员管理l系统用户管理。检索商品特价商品检索放购物车留言、么7客户端页面用户登录图34网上购物系统功能模块关系图Fig34On-lineshoppingsystemmodulediagram35性能分析根据用户对系统的要求,确定系统在响应时间,可靠性等方面有较高的性能要求。(1)界面需求主题突出,站点定义,术语和行文格式统一,规范,明确,栏目,菜单设置和布局合理,传递的信息准确,及时。内容丰富,文字准确,语句通顺;页面具有明确的导航指示,且便于理解,方便用户使用;页面大小适当,能用各种常用浏览器以不同分辨率浏览,无错误连接和空连接;界面版面形象清新与主题内容相协调【201。(2)响应时间需求当用户登录,进行任何操作的时候,系统及时地进行反应,反应的时间在5秒以内。系统应能检测出各种非正常情况,如与设备的通信终端,无法连接数据库服务器等。以避免出现长时间等待甚至无响应。(3)可扩展性需求系统设计能体现扩展性。36安全性分析系统有严格的权限管理功能,各个功能模块需要有相应的权限方能进入。系统需要能够防止各类无操作可能造成的数据丢失,破坏。防止用户非法获取网页以及内容。在用户登录,或者是系统管理员登录都需要输入相应的验证码,不少网站为了防止网上购物系统的设计与实现用户利用机器人自动注册、登录、灌水,都采用了验证码技术。所谓验证码,就是将一串随机产生的数字或符号,生成一幅图片,图片里加上一些干扰象素(防止OCR),由用户肉眼识别其中的验证码信息,输入表单提交网站验证,验证成功后才能进入系统。37系统应用环境371系统运行网络环境本系统的网络结构图如图35所示,无论是客户端的顾客还是管理端的管理员都可以通过网络登录到本系统中。顾客通过网络提交用户名密码和验证码进入系统,选购商品,放入购物车,提交订单,管理员通过帐号密码和验证码登录,对顾客购买的商品进行操作,并对订单进行处理。系统管理员可以设置,修改管理员的权限等等。本次设计的网上购物系统是基于互联网来实现用户与售货商之间的交易的,售货商提供的商品的信息以电子版的形式在系统中出现,实现了用户只和系统交易即可完成整个交易活动121-24。系统中提供了很多安全措施,既保证了购买者的安全,也能保证售货商的安全。372系统运行硬件环境图35网络结构图Fig35Networkchart大连理工大学专业学位硕士学位论文客户机:普通PCCPU:P418GHz以上内存:256MB以上能够运行IE50以上或者Netscape40以上版本的机器分辨率:推荐使用1024768服务器:根据数据量大小而定。373系统运行软件环境网上购物系统的软件环境如表31所示。表31开发环境介绍Tab31introductionofdevelopmentenvironment操作系统数据库JAVAVM开发平台Web服务器wWW浏览器WindowsxpMySQLJDKl5MyEclipse32Tomcat55MicrosoftInternetExplorer6038小结在这一章中,主要是对本次开发的网上购物系统作了一个总体的分析,其中抽象出网上购物的需求分析,数据模型分析,功能分析,性能分析和安全性分析等。根据需求分析,抽象出了各个功能模块。在下面的章节中就开始对系统做详细的设计和实现。网上购物系统的设计与实现4系统设计在这一章中,主要是根据上面的分析,对本次开发的网上购物系统做一个概要设计。因为本次开发的系统是基于MVC设计模式下的,并且是采用Struts技术框架来实现的JavaWeb应用,所以主要会从五个方面做详细的设计,这包括体系结构设计,界面设计,数据库设计,功能模块设计。41体系结构设计系统的总体结构设计遵循如下原则:(1)系统应具有良好的适应性:能适应用户对系统的软件环境,管理内容,模式和界面的要求;(2)系统应具有可靠性:采用成熟的技术方法和软件开发平台,以保证系统在以后的实际应用中安全,可靠;(3)系统应具有较好的安全性:应提高安全机制和用户权限限制的完善程度,确保数据的受限访问;(4)系统应具有良好的可维护性:系统应易于维护,安装;(5)系统应具有良好的可扩展性:系统应适应未来信息化建设的要求,能方便的进行功能扩展,已建立完善的信息集成管理体系。本系统采用Struts体系结构,Struts是一个基于模型(Model)视图(View)一控制器(Controller),即MVC模式的应用架构的开源框架。(1)Struts体系结构对于开发Web应用,要从头设计并开发出一个可靠,稳定的框架不是一件容易的事情。随着Web开发技术的日趋成熟,在Web开发领域出现里一些现成的优秀的框架,开发者可以直接使用它们。struts就是以很好的框架结构,它是在JSPModel2基础上实现的一个MVC框架,在struts框架中模型由实现业务逻辑的JavaBean或者EJB组件构成,控制器由ActionServlet和Action来实现,视图由一组JSP文件组成,图41显示了Struts实现的MVC框架。视图,就是一组JSP文件,这些JSP文件没有业务逻辑,也没有模型信息,只有标签,这些标签可以是标准的JSP标签或者是客户化标签,如Struts标签库的标签。此外,通常将Struts框架中的ActionBean也划为视图模块。ActionBean是一种JavaBean,除了具有一些JavaBean的常规方法外,还包含了一些特殊的方法,用于验证HTML标单数据以及将其属性重新设置为默认值。Struts框架利用ActionFo眦Bean来大连理工大学专业学位硕士学位论文进行视图和控制器之间标单数据的传递。Struts框架将用户输入的表单数据保存在ActionBean中,将它传递给控制器,控制器可以对ActionBean中的数据进行修改,JSP文件使用Struts标签读取修改后的ActionBean的信息,然后重新设置HTML表单。Sm:eteoafiz一:al一丁,、控带蝠瞎L一一,一、j广石ollse1et、FK商品最10留言表RID号:ImEGER留言标题,CHAR(m)留言内容:、RCH胴09譬言日期晰回复内霉:VARCHAR00口)回
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026国家统计局琼中调查队招聘公益性岗位人员1人备考题库含答案详解【综合卷】
- 2026广东佛山高明技师学院、佛山市高明区职业技术学校招聘事业编制教师8人备考题库附完整答案详解【夺冠系列】
- 2026江苏扬州高邮高新招商发展有限公司招聘招商专员5人备考题库附完整答案详解(必刷)
- 2026浙江金华市浦江县教育系统招聘教师20人备考题库及参考答案详解(综合卷)
- 2026辽宁省债务管理办公室面向机关事业单位选调5人备考题库及参考答案详解(综合卷)
- 2026广东阳江市阳春市招聘乡村公益性岗位12人备考题库(第六批)【满分必刷】附答案详解
- 2026浙江金华市浦江县教育系统招聘教师20人备考题库及参考答案详解【达标题】
- 2026上半年四川成都大学考核招聘高层次人才5人备考题库含答案详解【培优】
- 2026年天津财经大学珠江学院单招职业技能考试题库及答案详细解析
- 2026年山东外贸职业学院单招综合素质考试题库及答案详细解析
- 浦东新区2024-2025学年七年级上学期期中考试数学试卷及答案(上海新教材沪教版)
- 英语基础语音知识课件
- 实习护士第三方协议书
- 《云南教育强省建设规划纲要(2024-2035年)》解读培训
- 评审专家聘任协议书
- 民宿委托经营管理协议合同书
- 2024-2025学年鲁教版(五四学制)(2024)初中英语六年级下册(全册)知识点归纳
- 2025全国市场监督管理法律知识竞赛测试题库(含答案解析)
- 金融企业呆账核销管理办法(2024年)
- 设备验证培训
- 2025年湖北省八市高三(3月)联考政治试卷(含答案详解)
评论
0/150
提交评论