[硕士论文精品]网上购物系统的设计与实现.pdf_第1页
[硕士论文精品]网上购物系统的设计与实现.pdf_第2页
[硕士论文精品]网上购物系统的设计与实现.pdf_第3页
[硕士论文精品]网上购物系统的设计与实现.pdf_第4页
[硕士论文精品]网上购物系统的设计与实现.pdf_第5页
已阅读5页,还剩49页未读 继续免费阅读

下载本文档

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

文档简介

大连理工大学专业学位硕士学位论文 摘要 在当前高速发展的信息社会,人们的消费观念有了很大的改观。尤其突出的是网上 购物。i n t e m e t 带给我们的不仅是无穷的信息,更是商业模式和消费观念的变迁,电子 商务业已成为时尚。 论文主要介绍了网上购物系统的分析设计与实现。网上购物系统基于m v c 设计模 式,采用s t r u t s 技术框架和h i b e r n a t e 框架来实现。网上购物系统主要是分为两个子系统, 一个是客户端,主要实现了用户登录,用户注册,商品查询,生成订单,留言等一系列 功能。客户端主要是针对顾客,在顾客使用平台上显示各个页面来满足顾客的需求。比 如商品查询,购买,购物车的管理,订单的提交,注册信息的管理等。另一个是管理端, 主要实现会员管理,商品管理,留言管理,管理员管理的功能。管理端主要是针对内部 管理员,管理员可以进入管理系统,对商品,订单,会员进行管理,比如商品信息的修 改,会员级别的修改,订单的修改等等。该系统是基于m v c 设计模式下的对s t r u t s 技 术框架和h i b e r n a t e 技术框架的实现。继承了m v c 设计模式的主要设计思想。对s t r u t s 技术框架和h i b e r n a t e 技术框架做了一个简单的应用。 m v c 三层模式将功能划分为相互关联的三个组件一一模型( m o d e l ) 、视图( v i e w ) 和控制器( c o n t r o l l e r ) 。在文中,介绍了m v c 设计模式和s t r u t s 框架的相关技术。分析了 网上购物系统的构建背景及该系统的设计思想。分析了网上购物系统的需求,最后重点 介绍了m v c 在网上购物系统中的应用与实现。特别是各个功能模块中的m v c 架构的设计。 关键词:m v c ;网上购物;s t r u t s 网上购物系统的设计与实现 d e s i g na n di m p l e m e n t a t i o no fo n l i n es h o p p i n gs y s t e m a b s t r a c t i nt h ei n f o r m a t i o n - i n t e n s i v e s o c i e t yo fp r e s e n th i g h s p e e dd e v e l o p m e n t , p e o p l e s c o n s u m p t i o ni d e ah a sag r e a tc h a n g e e s p e c i a l l ya i lo m s t a n d i n go n ei sn l eo n l i n es h o p p i n g i ti sn o to n l yi n f m i t ei n f o r m a t i o n , b u ta l s ot h ec h a n g e so fc o m m e r c i a lm o d ea n dc o n s u m p t i o n i d e at h a ti n t e r n e th a sb r o u g h tt ou s ;e - c o m m e r c eh a sa l r e a d yb e c o m et h ef a s h i o n 。n l et h e s i sh a si n t r o d u c e dd e s i g na n di m p l e m e n t a t i o no ft h eo n l i n es h o p p i n gs y s t e m t h e o n l i n es h o p p i n gs y s t e mw a sb a s e do nm v cd e s i g np a t t e r n , a d o p ts t r u t st e c h n o l o g i c a lf r a m e a n dh i b e r n a t ef r a m et ob er e a l i z e d n l eo n l i n es h o p p i n gs y s t e mi sm a i n l yd i v i d e di n t ot w o s u b - s y s t e m s o n ei sc l i e n t i ti n c l u d e st h er e a l i z a t i o no ff u n c t i o na b o u to fau s e rl o g i na n d u s e rr e g i s t r a t i o n , c o m m o d i t yi n f o r m a t i o n ;g e n e r a t eo r d e r s ,o r d e ri n q u i r i e s ,m e s s a g e sa n da s e r i e so ff u n c t i o n s t h ec l i e n ti sf a c e dt oc u s t o m e r s a 1 1k i n d so fp a g e sw e r es h o w no nt h e p l a t f o r mt om e e tt h en e e d so fc u s t o m e r s f o ri n s t a n c et h ec o m m o d i t yi n q u i r y , t h ep u r c h a s e , t h e s h o p p i n g c a r t m a n a g e m e n t , t h e o r d e rf o r ms u b m i s s i o n ,r e g i s t e r st h ei n f o r m a t i o n m a n a g e m e n ta n ds o o n t h eo t h e ri st h em a n a g e m e n ts i d e i ti n c l u d e sm e m b e r so f m a n a g e m e n t ,c o m m o d i t ym a n a g e m e n t , m e s s a g em a n a g e m e n t , a d m i n i s t r a t o r sa n d m a n a g e m e n tf u n c t i o n s 强em a n a g e m e n te n d sm a i n l ya r ea i ma ti n t e r n a lm a n a g e r , t h e m a n a g e rm a ye n t e rt h em a n a g e m e n ts y s t e mm a n a g e m e n ts y s t e m , t ot h ec o m m o d i t y , t h eo r d e r f o r m ,t h em e m b e rc a r r i e so nt h em a n a g e m e n t , f o ri n s t a n c ec o m m o d i t yi n f o r m a t i o nr e v i s i o n , m e m b e ra n do t h e rr e v i s i o n , o r d e rf o r mr e v i s i o na n ds oo n t h es y s t e mi sb a s e do nt h em v c d e s i g nm o d e la n dr e a l i z ef o rt h es t r u t sf r a m ea n dh i b e r n a t ef r a m e t h em a i nd e s i g ni d e ao f m v c d e s i g np a t t e r ni si n h e r i t e d s t r u t sf r a m e w o r ka n dh i b e r n a t ef r a m e w o r kw i l lb eu s e dt h i s o n l i n es h o p p i n gs y s t e m m v cm o d eo ft h r e el a y e r sd i v i d e st h ef u n c t i o ni n t ot h r e ei n t e r r e l a t e dp a c k a g e s t h e m o d e l ( m o d e l ) ,t h ev i e w ( v i e w ) a n dc o n t r o l l e r ( c o n t r o l l e r ) n l i ss y s t e mi n c l u d e st h em v c d e s i g np a t t e r na n dr e l a t e dt e c h n o l o g i e so fs t r u t sf r a m e w o r ka n dh i b e r n a t ef i a m e w o r k , n e e d s a n a l y s i s o fo n l i n e s h o p p i n gs y s t e m f i n a l l y , i t i s i m p o r t a n t a b o u ta p p l i c a t i o na n d i m p l e m e n t a t i o no ft h eo n l i n es h o p p i n gs y s t e m i np a r t i c u l a r , v a r i o u sf u n c t i o n a lm o d u l e so f m v cf r a m e w o r ka r ea 1 1s h o w e d k e yw o r d s :m v c ;o n l i n es h o p p i n g ;s t r u t s 大连理工大学学位论文独创性声明 作者郑重声明:所呈交的学位论文,是本人在导师的指导下进行研究 工作所取得的成果。尽我所知,除文中已经注明引用内容和致谢的地方外, 本论文不包含其他个人或集体已经发表的研究成果,也不包含其他已申请 学位或其他用途使用过的成果。与我一同工作的同志对本研究所做的贡献 均已在论文中做了明确的说明并表示了谢意。 若有不实之处,本人愿意承担相关法律责任。 学位论文题目:回圭堕曼物丕盈塑:鳖荭暨遭 作者签名:生型l 因 日期:迎控年坌月乙日 大连理工大学学位论文版权使用授权书 本人完全了解学校有关学位论文知识产权的规定,在校攻读学位期间 论文工作的知识产权属于大连理工大学,允许论文被查阅和借阅。学校有 权保留论文并向国家有关部门或机构送交论文的复印件和电子版,可以将 本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、 缩印、或扫描等复制手段保存和汇编本学位论文。 学位论文 作者签名 导师签名 大连理工大学专业学位硕士学位论文 1绪论 1 1 课题背景 i n t e m e t 在全球的迅速普及,使得任何一个商业组织都必须改变自己的运作方式和 组织机构来适应这种全球性的发展和变化。近年来,随着互联网技术的不断发展,一种 基于互联网、以交易双方为主体、以银行电子支付和结算为手段、以客户数据为依托的 全新商务模式一电子商务( e l e c t r o n i cc o m m e r c e ) 应运而生。网上购物作为一种新的购 物手段逐渐走入了千家万户。 2 1 世纪是信息爆炸和依赖数字化生存的世纪,大量的信息通过因特网迅速传播,打 破世界原有的有形界限。这为电子商务的发展创造了种较好的环境。电子商务经济时 代是一个以“客户为导向、以“变化”为特征、以现代信息技术为竞争“平台的新 经济时代。因为由现代信息技术所促成的全球经济一体化、客户需求的个性化、以及技 术创新速度的不断加快,不仅使传统大规模生产方式所形成的商品供应能力严重供过于 求,市场竞争的激烈程度更加趋于白热化,同时也大大缩短了客户需求的响应周期,导 致了整个市场供求状况的瞬息万变。在这样的时代背景下,要想求得企业的生存与发展, 无论是企业的生产方式还是管理理念及模式都必须进行根本性的转变;否则将被时代的 进步所淘汰。 中国的电子商务起步于2 0 世纪9 0 年代中期,已有多家单位对电子商务进行研究、 开发,也有部分企业已经在电子商务方面进行了尝试和运作。但就总体而言,中国电子 商务的发展无论在技术上、安全上、法律上、金融上、市场上等诸多方面均处于理论研 究阶段。电子商务要在中国顺利发展,还有许多问题需要解决。但是,就从长远看,中 国电子商务呈现快速发展的势头。截至2 0 0 7 年1 2 月,中国内地网民数达到2 1 亿。2 0 0 7 年度我国网上购物发展迅速,在以北京、上海、广,、i 1 和深圳( 京沪穗深) 为代表的全国 中心城市,网上购物用户在网民中的渗透率达到了4 1 7 ,网上购物用户总数超过1 0 0 0 万人,网上购物金额超过人民币2 5 0 亿元。 在以武汉、成都、沈阳和西安为代表的四个区域中心城市,网上购物用户在网民中 的渗透率也达到了2 9 3 ,网上购物用户总数2 5 3 万人,网上购物金额5 0 亿元。上海市 以超过4 0 0 万人的网上购物消费者、1 1 8 亿元的网上购物金额和5 0 的网上购物渗透率 而成为全国网购最发达的城市。因此,中国网上购物将成为一个庞大的商业体系【l j 。 1 2 系统开发的意义 电子商务的发展将呈现以下六个方面的趋势: 网上购物系统的设计与实现 ( 1 ) 纵深化趋势 电子商务的基础设施将日臻完善,支撑环境逐步趋向规范,企业发展电子商务的深 度进一步拓展,个人参与电子商务的深度也将得到拓展。 ( 2 ) 个性化趋势 互联网的出现、发展和普及本身就是对传统经济社会中个人的一种解放,个性化信 息需求和个性化商品需求将成为发展方向,消费者将把个人的偏好参与到商品的设计和 制造过程中去。对所有面向个人消费者的电子商务活动来说,提供多样化的比传统商业 企业更具个性化的服务,是决定今后成败的关键因素。 ( 3 ) 专业化趋势 一是面向个人消费者的专业化趋势。今后若干年内我国上网人口仍将以中高收入水 平的人群为主,他们购买力强,受教育程度较高,消费个性化要求比较强烈。所以,提 供一条龙服务的垂直型网站及某一类产品和服务的专业网站发展潜力更大。二是面向企 业客户的专业化趋势。电子商务模式,以大的行业为依托的专业电子商务平台前景看好。 ( 4 ) 国际化趋势 我国电子商务企业将随着国际电子商务环境的规范和完善逐步走向世界。我国企业 可以由此同发达国家真正站在同一个起跑线上,变我国在市场经济轨道上的后发劣势为 后发优势。电子商务对我国的中小企业开拓国际市场、利用好国外各种资源是一个有利 时机。同时,国外电子商务企业将努力开拓中国市场。 ( 5 ) 区域化趋势 我国地区经济发展的不平衡和城乡二元结构所反映出来的经济发展的阶梯性、收入 结构的层次性十分明显。在今后相当长的时间内,上网人口仍将以大城市、中等城市和 沿海经济发达地区为主,的电子商务模式区域性特征非常明显。以这种模式为主的电子 商务企业在资源规划、配送体系建设、市场推广等方面都必须充分考虑这一现实,采取 有重点的区域化战略,才能最有效地扩大网上营销的规模和效益。 ( 6 ) 融合化趋势 电子商务将由最初的全面开花走向新的融合,一是同类网站之间的兼并。目前大量 的网站属于“重复建设“ 、定位相同或相近、业务内容趋同,激烈竞争的结果只能是少 数企业最终胜出。二是不同类别网站之间互补性的兼并。国内那些处于领先地位的电子 商务企业在资源、品牌、客户规模诸方面的优势是相对的,国外著名电子商务企业在扩 张的过程中必然会采取收购策略,主要的模式将是互补性收购。三是战略联盟。每个网 站在资源方面总是有限的,客户的需求又是全方位的,所以不同类型的网站以战略联盟 大连理工大学专业学位硕士学位论文 的形式进行相互协作也势茬必然【2 】o 鉴于以上的分析,本次毕业设计决定开发一个网上购物系统。本次开发网上购物系 统采用基于m v c 的模式,结合s t r u m 框架和h i b e r n a t e 框架,很好的实现了模型、视图 与控制器的分离,程序具有良好的框架结构。 1 3 系统开发的主要任务 概括的介绍了本次开发所用的理论知识。主要包括m v c 设计模式的知识和s t r u t s 框架和h i b e r n a t e 框架的介绍。 在论文中,主要是对本次开发的网上购物系统作了一个详细的分析,其中主要是从 软件工程的角度全面的分析了网上购物系统的设计,根据需求分析,抽象出了各个功能 模块。最后又把整个系统在m v c 设计模式下做了一个简单的分析,把各个组件进行了进 一步的划分。 在需求分析中主要介绍了本次开发的网上购物系统的需求分析,数据模型分析,功 能模型分析,性能分析,安全性分析,网络结构分析。 在系统设计中主要介绍了本次开发的网上购物系统的体系结构设计,页面结构设 计,数据库设计,功能模块设计。 在系统实现中,主要对网上购物系统中登录功能模块,购物车功能模块,订单管理 模块作了详细的说明,以及这些功能模块的实现过程。 在分析与设计该系统的过程中,首先要再清楚该系统要实现什么功能,第二要把握 各个功能之间的关系,第三要把各个功能细化到类,对象等,最后要将这些功能实现。 1 4 小结 这一章主要介绍了本次毕业设计要开发的系统背景,开发的意义,以及开发的主要 内容。网上购物网站的快速发展,给消费者带来了很大的方便,网上购物系统的开发有 很重要的意义。下面的章节中将对本次开发做详细的介绍。 网上购物系统的设计与实现 2 理论知识介绍 2 1系统技术介绍 本次开发的网上订单系统主要是基于m v c 设计模式下的w e b 应用,采用当前比较 流行的s t r u t s 框架和h i b e r n a t e 框架,结合j s p 技术,面向对象等一系列技术开发的。 下面先对该系统所用到的理论知识做一下详细地介绍。 2 2 c 设计模式介绍 m v c 是m o d e l v i e w c o n t r o l l e r 的简称,即模型视图控制器。m v c 是在2 0 世纪 8 0 年代为编程语言s m a l l t a l k 8 0 发明的一种软件设计模式,至今己被广泛使用,最近几 年被推荐为s u n 公司j 2 e e 平台的设计模式,受到越来越多的w e b 开发者的欢迎。 m v c 是一种设计模式,它强制性的把应用程序的输入,处理和输出分开,m v c 把 应用程序分成三个核心模块:模型,视图和控制器,它们分别担负着不同的任务。图2 1 显示了这几个模块各自的功能以及它们之间的相互关系。 m v c 是一种功能模块分离的结构,是当前比较流行的一种设计模型。最初由 s m a l l t a l k 设计,该模型能将功能划分为相互关联的三个组件( 也就是我在下面分别介绍 的) 一一模型( m o d e l ) 、视图( v i e w ) 、控制器( c o n t r 0 1 ) 。这三个组件分别映射到 三个主要的实现技术一- - j a v a b e a n 、j s p 以及s e r v l e t 。 图2 1m v c 设计模式 f i g 2 1 d e s i g np a t t e r no f m v c 大连理工大学专业学位硕士学位论文 2 2 1 视图 视图是用户看到并与之交互的界面。视图向用户显示相关的数据,并能接收用户输 入的数据,但是它并不进行任何实际的业务处理。视图可以向模型查询业务状态,但是 不能改变模型。视图还能接收模型发出的数据更新事件,从而对用户界面进行同步更新。 将视图与模型分开使得用户界面的结构独立并具有不同的外观和属性。这些不同的界面 能够与相同的模型交互。j s p 是实现视图的通常选择。表示了应用程序的表示层。视图 组件包含系统的当前状态,并提供适合于特定协议的用户界面。将视图与模型分开使得 用户界面的结构独立并具有不同的外观和属性。这些不同的界面能够与相同的模型交 互。j s p 是实现视图的通常选择。 2 2 2 模型 模型是应用程序的主体部分,模型表示了业务模型和业务逻辑,一个模型能为多个 视图提供数据,由于同一个模型可以被多个视图重用,所以大大提高了应用的可重用性。 表示应用程序的业务逻辑。它包括状态组件和动作组件。状态组件定义了模型的当前设 置值,并且包含更改这些值得方法。j a v a b e a n 是实现状态组件的逻辑选择。动作组件定 义的允许更改的状态,以响应事件。 2 2 3 控制器 控制器可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请 求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的 模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。 例如,用户点击一个链接,控制层接受请求后,并不处理业务信息,它只把用户的信息 传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能 对应多个视图,一个视图可能对应多个模型。 控制器负责接收事件、确定合适的处理程序、调用处理程序并触发合适的响应。因 为具有功能强大的j a v a ,s e r v l e t 是用于控制器技术的最佳选择。s e r v l e t 只是负责把用户 动作转换成应用事件,以及把用户输入的结果处理成由j s p 显示的结果。控制器必须处 理以下任务: ( 1 ) 安全:执行与安全相关的任务,例如身份验证和授权。有些或全部任务也许会 被委派给s e r v l e t 引擎。 ( 2 ) 事件识别:识别将被执行的特殊事件。 ( 3 ) 准备模型:确保所需要的模型组件可用,也就是实例化所需要的j a v a b e a n 。 ( 4 ) 处理事件:将请求映射到相应的事件处理程序并调用它。 网上购物系统的设计与实现 ( 5 ) 处理错误:由处理程序所产生的错误。这也可通过异常处理程序来实现。 ( 6 ) 触发响应:将控制转发到响应生成器。 这种实现是通过调r e q u e s t d i s p a t c h e r f o r w a r d0 方法以将控制传递给j s p 来实现的。 2 3m v c 设计模式的实现 实现基于m v c 的应用需要完成以下工作,如图2 2 所示: j 分析应用阿题,对系统进行分离 图2 2m v c 分析过程 f i g 2 2a n a l y s i so f t h ep r o c e s so fm v c ( 1 ) 分析应用问题,对系统进行分离 分析应用问题,分离出系统的内核功能、对功能的控制输入、系统的输出行为三大 部分。设计模型部件使其封装内核数据和计算功能,提供访问显示数据的操作,提供控 制内部行为的操作以及其他必要的操作接口。以上形成模型类的数据构成和计算关系。 这部分的构成与具体的应用问题紧密相关。 ( 2 ) 设计和实现每个视图 设计每个视图的显示形式,它从模型中获取数据,将它们显示在屏幕上。 ( 3 ) 设计和实现每个控制器 对于每个视图,指定对用户操作的响应时间和行为。在模型状态的影响下,控制器 使用特定的方法接受和解释这些事件。控制器的初始化建立起与模型和视图的联系,并 且启动事件处理机制。事件处理机制的具体实现方法依赖于界面的工作平台。 ( 4 ) 使用可安装和卸载的控制器 控制器的可安装性和可卸载性,带来了更高的自由度,并且帮助形成高度灵活性的 应用。控制器与视图的分离,支持了视图与不同控制器结合的灵活性,以实现不同的操 大连理工大学专业学位硕士学位论文 作模式,例如对普通用户、专业用户、或不使用控制器建立的只读视图。这种分离还为 在应用中集成新的i o 设备提供了途径【3 一。 2 4 框架介绍 2 4 。1 s t r u t s 的概念 s u l l t s 有一组相互协作的类、s e r l v e t 以及j s pt a g l i b 组成。基于s t r u t s 构架的w e b 应用程序基本上符合j s pm o d e l 2 的设计标准,可以说是m v c 设计模式的一种变化类型。 根据上面对f r a m e w o r k 的描述,我们很容易理解为什么说s t r u t s 是一个w e bf r a m w o r k , 而不仅仅是一些标记库的组合。但s t r u t s 也包含了丰富的标记库和独立于该框架工作的 实用程序类。 s t r u t s 有其自己的控制器( c o n t r o l l e r ) ,同时整合了其他的一些技术去实现模型层 ( m o d e l ) 和视图层( v i e w ) 。在模型层,s t r u t s 可以很容易的与数据访问技术相结合, 包括e j b ,j d b c 和o b j e c tr e l a t i o nb r i d g e 。在视图层,s t r u t s 能够与j s p ,v e l o c i t y t e m p l a t e s ,x s l 等等这些表示层组件相结合。 2 4 2 s t r u t s 的体系结构 我们说s t r u t sf r a m e w o r k 是m v c 模式的体现,下面我们就从分别从模型、视图、 控制来看看s t r u t s 的体系结构( a r c h i t e c t u r e ) 。下图2 3 显示了s t r u t sf r a m e w o r k 的体系 结构响应客户请求时候,各个部分工作的原理。 h 袱 。lc o n t r o l l e r i d i s p a t c h 。 b u s i n e s sl o g i c 。,一 is e r v l e tj c t i o n r e q u 瞄t l 1 :n t l 型 u p d m e g 峨 il o d e lv i e 、 ia p p l i c a t i o ns t a t e 】s p h t t p1 a o i r e s p o n s e 图2 3s t r u t s 体系结构 f i g 2 3 a r c h i t e c t u r eo fs t r u t s 网上购物系统的设计与实现 ( 1 ) 从视图角度( v i e w ) 首先,s t r u t s 提供了j a v a 类o r g a p a c h e s t r u t s a c t i o n a c t i o n f o r m ,j a v a 开发者将该类 细分来创建表单b e a n 。在运行时,该b e a n 有两种用法:一种是当j s p 准备相关的h t m l , 表单以进行显示时,j s p 将访问该b e a n ( 它保存要放入表单中的值) 。那些值是从业务逻 辑或者是从先前的用户输入来提供的。另一种是当从w e b 浏览器中返回用户输入时, 该b e a n 将验证并保存该输入以供业务逻辑或( 如果验证失败的话) 后续重新显示使用。 其次,s t r u t s 提供了许多定制j s p 标记,它们的使用简单,但是它们在隐藏信息方面功 能强大。例如,除了b e a n 名称和给定b e a n 中每个段的名称之外,页面设计者不需要知 道有关表单b e a n 的更多信息。 ( 2 ) 从模型角度( m o d e l ) s t r u t s 虽然不直接有助于模型开发。在s t r u t s 中,系统模型的状态主要由a c t i o m f o r m b e a n 和值对象体现。 ( 3 ) 从控制器角度( c o n t r o l l e r ) 在s t r u t sf r a m e w o r k 中,c o n t r o l l e r 主要是a c t i o n s e r v l e t ,但是对于业务逻辑的操作 则主要由a c t i o n 、a c t i o n m a p p i n g 、a c t i o n f o r w a r d 这几个组件协调完成( 也许这几个组 件,应该划分到模型中的业务逻辑一块) 。其中,a c t i o n 扮演了真正的控制逻辑的实现 者,而a c t i o n m a p p i n g 和a c t i o n f o r w a r d 则指定了不同业务逻辑或流程的运行方向 8 。1 0 j 。 2 4 3hib e r n a t e 框架 h i b e r n a t e 是一个高性能的o r m ( o b j e c t r e l a t i o n a lm a p p i n g ) 持久性和查询服务, 它是一个开源项目,是j b o s s 的一个组成部分。 h i b e r n a t e 在2 0 0 1 年发布了他的第一个正式版本;2 0 0 3 年6 月h i b e r n a t e2 0 发布; 2 0 0 3 年末h i b e r n a t e 被j b o s s 吸纳;2 0 0 5 年3 月h i b e r n a t e3 0 正式发布。 为什么要使用o r m ( o b j e c t r e l a t i o n a lm a p p i n g ) 呢? 这是因为开发人员使用的技 术是面向对象技术,而使用的数据库却是关系型数据库。一个完整的类很难以对象的方 式存储在一个关系型的数据库中,它更适合存储在对象型数据库中,但目前关系型数据 库仍然占主流位置,所以要使用o r m 在对象和关系型数据库之间建立关系,从而可以 使开发人员完全用o o 的思想去设计业务逻辑,而数据的存储仍然使用关系型数据库。 h i b e r n a t e 是一个开放源代码的对象关系映射框架,它对j d b c 进行t常轻量级的 对象封装,使得j a v a 程序员可以随心所欲的使用对象编程思维来操纵数据库。h i b e r n a t e 可以应用在任何使用j d b c 的场合,既可以在j a v a 的客户端程序使用,也可以在 大连理工大学专业学位硕士学位论文 s e r v l e t j s p 的w e b 应用中使用,最具革命意义的是,h i b e r n a t e 可以在应用e j b 的j 2 e e 架构中取代c m p ,完成数据持久化的重任。 h i b e r n a t e 的核心接口一共有5 个,分别为:s e s s i o n 、s e s s i o n f a c t o r y 、t r a n s a c t i o n 、 q u e r y 和c o n f i g u r a t i o n 。这5 个核心接1 2 在任何开发中都会用到。通过这些接1 2 ,不仅 可以对持久化对象进行存取,还能够进行事务控制。下面对这五的核心接口分别加以介 绍。 ( 1 ) s e s s i o n 接口:s e s s i o n 接口负责执行被持久化对象的c r u d 操作( c r u d 的任务 是完成与数据库的交流,包含了很多常见的s o l 语句) 。但需要注意的是s e s s i o n 对象是 非线程安全的。同时,h i b e r n a t e 的s e s s i o n 不同于j s p 应用中的h t t p s e s s i o n 。这里当使 用s e s s i o n 这个术语时,其实指的是h i b e r n a t e 中的s e s s i o n ,而以后会将h t t p s e s i o n 对象 称为用户s e s s i o n 。 ( 2 ) s e s s i o n f a c t o r y 接口:s e s s i o n f a c t r o y 接口负责初始化h i b e r n a t e 。它充当数据存储 源的代理,并负责创建s e s s i o n 对象。这里用到了工厂模式。需要注意的是s e s s i o n f a c t o r y 并不是轻量级的,因为一般情况下,一个项目通常只需要一个s e s s i o n f a c t o r y 就够,当 需要操作多个数据库时,可以为每个数据库指定一个s e s s i o n f a c t o r y 。 ( 3 ) c o n f i g u r a t i o n 接口:c o n f i g u r a t i o n 接口负责配置并启动h i b e r n a t e ,创建 s e s s i o n f a c t o r y 对象。在h i b e r n a t e 的启动的过程中,c o n f i g u r a t i o n 类的实例首先定位映 射文档位置、读取配置,然后创建s e s s i o n f a c t o r y 对象。 ( 4 ) t r a n s a c t i o n 接口:t r a n s a c t i o n 接口负责事务相关的操作。它是可选的,开发人员 也可以设计编写自己的底层事务处理代码。 ( 5 ) q u e r y 和c r i t e r i a 接口:q u e r y 和c r i t e r i a 接口负责执行各种数据库查询。它可以 使用h q l 语言或s q l 语句两种表达方式【l 卜1 5 】。 在本系统中还用到a j a x 全称为“a s y n c h r o n o u sj a v a s c r i p ta n dx m l “ ( 异步 j a v a s c r i p t 和x m l ) ,是指一种创建交互式网页应用的网页开发技术。传统的w e b 应用 允许用户填写表单( f o r m ) ,当提交表单时就向w e b 服务器发送一个请求。服务器接收并 处理传来的表单,然后返回一个新的网页。这个做法浪费了许多带宽,因为在前后两个 页面中的大部分h t ,代码往往是相同的。由于每次应用的交互都需要向服务器发送 请求,应用的响应时间就依赖于服务器的响应时间。这导致了用户界面的响应比本地应 用慢得多。 与此不同,a t a x 应用可以仅向服务器发送并取回必需的数据,它使用s o a p 或其 它一些基于x m l 的w e bs e r v i c e 接口,并在客户端采用j a v a s c r i p t 处理来自服务器的响 应。因为在服务器和浏览器之间交换的数据大量减少,结果我们就能看到响应更快的应 一9 一 网上购物系统的设计与实现 用。同时很多的处理工作可以在发出请求的客户端机器上完成,所以w e b 服务器的处 理时间也减少了。 使用a j a x 的最大优点,就是能在不更新整个页面的前提下维护数据。这使得w e b 应用程序更为迅捷地回应用户动作,并避免了在网络上发送那些没有改变过的信息。 a j a x 不需要任何浏览器插件,但需要用户允许j a v a s c r i p t 在浏览器上执行。就像 d h t m l 应用程序那样,a j a x 应用程序必须在众多不同的浏览器和平台上经过严格的测 试。随着a j a x 的成熟,一些简化a j a x 使用方法的程序库也相继问世。同样,也出现了 另一种辅助程序设计的技术,为那些不支持j a v a s c r i p t 的用户提供替代功能。 对应用a j a x 最主要的批评就是,它可能破坏浏览器后退按钮的正常行为。在动态 更新页面的情况下,用户无法回到前一个页面状态,这是因为浏览器仅能记下历史记录 中的静态页面。一个被完整读入的页面与一个已经被动态修改过的页面之间的差别非常 微妙;用户通常都希望单击后退按钮,就能够取消他们的前一次操作,但是在a j a x 应 用程序中,却无法这样做。不过开发者已想出了种种办法来解决这个问题,当中大多数 都是在用户单击后退按钮访问历史记录时,通过建立或使用一个隐藏的i f r a m e 来重现 页面上的变更。( 例如,当用户在g o o g l em a p s 中单击后退时,它在一个隐藏的i f r a m e 中进行搜索,然后将搜索结果反映到a j a x 元素上,以便将应用程序状态恢复到当时的 状态。) 一个相关的观点认为,使用动态页面更新使得用户难于将某个特定的状态保存到收 藏夹中。该问题的解决方案也已出现,大部分都使用u r l 片断标识符( 通常被称为锚 点,即u r l 中群后面的部分) 来保持跟踪,允许用户回到指定的某个应用程序状态。( 许 多浏览器允许j a v a s c r i p t 动态更新锚点,这使得a j a x 应用程序能够在更新显示内容的同 时更新锚点。) 这些解决方案也同时解决了许多关于不支持后退按钮的争论。 进行a j a x 开发时,网络延迟即用户发出请求到服务器发出响应之间的间隔一 一需要慎重考虑。不给予用户明确的回应,没有恰当的预读数据,或者对 x m l h t t p r e q u e s t 的不恰当处理,都会使用户感到延迟,这是用户不欲看到的,也是他 们无法理解的。通常的解决方案是,使用一个可视化的组件来告诉用户系统正在进行后 台操作并且正在读取数据和内容。 一些手持设备( 如手机、p d a 等) 现在还不能很好的支持a j a x :用j a v a s c r i p t 作的 a j a x 引擎,j a v a s c r i p t 的兼容性和d e b u g 都是让人头痛的事:a j a x 的无刷新重载,由于 页面的变化没有刷新重载那么明显,所以容易给用户带来困扰一一用户不太清楚现在的 数据是新的还是已经更新过的:现有的解决有:在相关位置提示、数据更新的区域设计 大连理工大学专业学位硕士学位论文 得比较明显、数据更新后给用户提示等:对串流媒体的支持没有f l a s h 、j a v aa p p l e t 好【1 6 1 。 2 5小结 这一章主要介绍了本次开发所用的理论知识。主要包括m v c 设计模式的知识和 s t r u t s 框架,h i b e r n a t e 框架的概念以及本系统的实现涉及到的a j a x 的相关知识。 网上购物系统的设计与实现 3 系统需求分析 3 1概述 在如今的信息社会,人们的消费观念有了很大的改观。尤其突出的是网上购物,这 主要依赖于i n t e r n e t 给我们带来的好处。i n t e m e t 带给我们的不仅是无穷的信息,更是商 业模式和消费观念的变迁,电子商务业已成为时尚。因此就掀起了一股网上购物的高潮。 启动软件项目的原因是由于软件需求的存在,软件需求是软件开发过程的基础。需 求是一个软件项目的开端,也是项目建设的基石。软件需求是指用户对软件的功能和性 能的要求,就是用户希望软件能做什么事情,完成什么样的功能,达到什么样的性能【1 7 】。 从现实需求上说: ( 1 ) 网上销售这是信息社会发展的必然要求。 ( 2 ) 网上销售因其自身具有的经营上的优势对读者具有强大的吸引力,这也是刺激 网上销售发展的重要原因。 ( 3 ) 对于商品经营者来说,网上销售能带来更多的经济回报。 ( 4 ) 网上销售能通过广泛的信息传递而影响购买者,故具有明显的扩销效果。 ( 5 ) 网上销售能通过计算机存贮大量的资料,毫不费力地建立起自己庞大的全球化 购物信息库,对客户需求和产品行情的预测也就更准确。 ( 6 ) 网上销售能有效地降低库存,减少资金占用。不存在商品积压损失,也不需要 太多的库存。 ( 7 ) 网上销售能节约费用开支,降低销售成本。网上商店是虚拟的商店,没有物理 意义上的房屋和店面,也不需营业员从事销售现场管理,业务环节大为简化,不仅能节 省大量的劳动力,而且也能大幅度降低物化劳动耗费。 鉴于以上的分析,本次毕业设计开发一个网上购物系统。本系统具有大部分网上购 物系统的共性,并且开发采用基于m v c 的s t r u t s 框架和h i b e r n a t e 框架,很好的实现 了模型、视图与控制器的分离,程序具有良好的框架结构。下面的章节中将对本次开发 做分析介绍。 3 2 需求分析 根据大部分网上购物系统的基本流程,确定系统的具体需求为: ( 1 ) 顾客可以方便的注册与登录。 ( 2 ) 顾客可以灵活地检索所需的商品信息以及了解特价商品信息。 大连理工大学专业学位硕士学位论文 ( 3 ) 顾客可以方便地查看详细的商品资料。 ( 4 ) 顾客可以方便地管理自己的购物车( 添加或删除选购商品,修改购买数量及在 线下订单等操作) 。 ( 5 ) 顾客可以反馈自己的意见或留言。 ( 6 ) 商品管理员可以方便地管理商品及特价商品信息( 新增,删除,修改商品及特 价商品) 。 ( 7 ) 订单管理员可以方便地查看订单,发货与缺货处理。 ( 8 ) 会员管理员可以方便地查看顾客的反馈信息及具体的处理情况。 ( 9 ) 系统管理员可以方便地进行系统用户管理( 新增,删除,修改系统用户) 。 基于以上的具体需求,画出用例需求分析方法中的用例图来更直观,更形象地说明 整个系统的需求。用例在需求中的作用很重要。用例是从用户的角度看待系统,而不是 从程序员的角度。用户的任何需求都能够在系统开发链中完整地体现。用例通过描述“系 统“ 和“活动者”之间的交互来描述系统的行为。通过分解系统目标,用例描述活动者 为了实现这些目标而执行的所有步骤f 1 8 】。本系统的用例图如图3 1 : 图3 1 用例图 f i g 3 1 u s ec a s ed i a g r a m

温馨提示

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

评论

0/150

提交评论