




已阅读5页,还剩91页未读, 继续免费阅读
(计算机软件与理论专业论文)基于struts框架的电信社会渠道商管理系统的研究和实现.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
r i l l 大学硕士研究生学位论文 摘要 近年来,随着网络技术和i n t e r n c t 的迅速发展,基于b r o w s e r s e r v e r 结构 的w e b 应用,因其具有易用性、通用性和良好的可扩展性等优点而发展迅速, 正逐渐成为实现企业应用信息系统的主流技术。为了有效地提高w e b 应用程序 的可重用性、可维护性和可扩展性,在目前基于j 2 e e 架构开发w e b 应用的技 术基础上,结合m v c ( m o d e l v i e w - c o n t r o l l e r ,模型视图一控制器) 设计模式来构 建w e b 应用系统是一种较好的w e b 应用实现方案。 在电信市场竞争不断加剧的情况下,中国电信要想在竞争中取得优势地位, 发展客户成为它的首要工作,而对作为用户发展的中坚力量渠道的经营和 管理也变得越来越重要,因此需要建设新一代的渠道管理系统以满足业务快速 发展的要求。 本文将耳前流行和较成熟的w e b 应用开发技术运用到电信业务系统中,成 功实现了电信社会渠道商管理系统。在系统的研发过程中,采用了面向对象的 建模语言u m l 对系统进行分析和设计建模;应用了当前j a v a w e b 应用程序开 发领域中先进的j 2 e e 技术;搭建了基于s t r u t s m v c 框架的系统体系结构;在 数据库设计上采用了h i b e r n a t e 等技术。实现的渠道管理系统实现了在i n t e m e t 上有效地管理电信公司的各种社会渠道,满足了业务的需求,系统运行性能良 好,提高了公司的市场竞争力。 本文的完成了以下几个方面的工作; 1 ) 调研和分析了电信业对社会渠道商管理的现状,确定了渠道管理系统需 要实现的主要功能:包括渠道商业务平台、渠道商管理和系统管理等子系统。 2 ) 研究了s t r u t s 框架体系结构及其应用,并对保持数据层持久化的h i b e r n a t e 技术进行了研究和运用,分析了支持多层次分布式应用开发的j 2 e e 技术和平 台。 3 ) 基于u m l 的建模思想,采用r a t i o n a lr o s e 可视化建模工具,对电信 社会渠道商管理系统进行了分析建模和系统设计建模。 4 ) 采用j 2 e e 平台开发工具实现了电信社会渠道商管理系统。建立了系统 e g l l 大学硕士研究生学位论文 的软硬件开发平台,描述了关键模块的实现及其代码,以及数据库的实现。 5 ) 运行了系统,给出系统的使用和实现界面,并对系统的运行性能进行了 评价。并对系统的完善和进一步发展进行了展望。 因为该渠道管理系统是在对中国电信攀枝花分公司的实际调研基础上,根 据中国电信对社会渠道商管理的普遍需求开发的,对于中电信各分公司的渠道 管理有一定的实用和参考价值。 关键词:渠道管理,s t r u t s m v c ,j 2 e e u m l ,h i b e r n a t e , 四川大学硕士研究生学位论文 a b s t r a c t w i t ht h ed e v e l o p m e n to ft h ec o m p u t e rn e t w o r ka n di n t e r n e t ,w e ba p p l i c a t i o n s b a s e do nb r o w s e r s e r v e rs t r u c t u r eb e c o m et h em a i n s t r e a m ,b e c a u s eo fi t sm e r i t so n a v a i l a b i l i t y ,u s a b i l i t y a n d e x p a n s i b i l i t y c o m b i n i n g j 2 e ea r c h i t e c t u r ea n d m v c ( m o d e l - v i e w c o n t r o l l e r 、d e s i g np a t t e mt od e v e l o pw e ba p p l i c a t i o n si sa b e t t e r s o l u t i o ni nt e r m so fi m p r o v i n gr e u s a b i l i t y ,m a i n t a i n a b i l i t ya n de x p a n s i b i l i t y n o w a d a y s ,t h ec o m p e t i t i o ni sg e t t i n gw o r s ei nt h et e l e c o m m u n i c a t i o nm a r k e t t oc a p t u r eab i g g e rm a r k e ts h a r e ,c h i n at e l e c o mn e e d st og e tm o r ec u s t o m e r s , w h i c hm e a n sc h a n n e lm a n a g e m e n ti su t m o s ti m p o r t a n t + t h en e x tg e n e r a t i o no f c h a n n e lm a n a g e m e n ts y s t e mi sr e q u i r e dt om e e ts u c hn e e d t h ec h a m l e lm a r l a g e m e n ts y s t e mi sd e v e l o p e du s i n gs t r u t s - m v cf r a m e w o r k t o g e t h e rw i t hu m l ,j 2 e ea n dh i b e r n a t et e c h n o l o g i e s t h em a i nc o n t e n t so f t h i st h e s i sa r ea sf o l l o w e d : l 、t h ec u r r e n tt e l e c o m m u n i c a t i o nc h a m m tm a n a g e m e n ti sr e s e a r c h e da n d a n a l y z e d i ti ss h o w nt h a tt h et h r e ef u n c t i o n so fc h a n n e lm a n a n g e m e n ts y s t e m sa r e : o p e r a t i o n a lp l a t f o r m s ,c h a n n e l s b u s i n e s sm a n a g e m e n t p l a t f o r m a n d s y t e s m s m a n a g e m e n t 2 ) t h es t r u t sf r a m e w o r k ,h i b e r n a t et e c h n o l o g y ,j 2 e et e c h n o l o g ya n du m i l a n g u a g ea n dt o o l sa r ei n t r o d u c e d 3 ) t h ep r o p o s e ds y s t e mi sd e s i g n e da n dm o d e l e du s i n gu m la n dr a t i o n a l r o s em o d e l i n gt o o l s 4 ) t h ep r o p o s e ds y s t e mi sd e v e l o p e du s i n gj 2 e et e c b m o l o g y a n dt h i st h e s i s d e t a i l st h es o f t w a r e h a r d w a r ei n t e r f a c e ,c o d e so fi m p o r t a n tm o d u l e sa n dr e a l i z a t i o n o fd a t a b a s e 5 ) f i n a l l y ,t h es y s t e m si se v a l u a t e d a n df u t u r ei m p r o v e m e n t sa r ep r e s e n t e d k e y w o r d s :c h a n n e lm a n a g e m e n t ,s t r u t s - m v c ,j 2 e e ,u m l ,h i b e r n a t e i i l 四川大学硕士研究生学位论文 第一章绪论 在过去的十几年里,客户端服务器( c l i e n t s e r v e r ) 结构为实现企业级的信息 共享起到了举足轻重的作用。但随着企业规模的日益扩大,应用程序复杂程度 的不断提高,传统的客户端丑匣务器( c l i e n t s e r v e r ) 结构也暴露出许多问题,尤其 是系统软件和应用软件变得越来越复杂。这不仅给应用软件的实现带来困难, 也给软件维护造成了不便。随着用户需求的改变,客户端( c l i e n t ) 应用软件可能 需要增加新的功能或修改用户界面,而且软件的应用范围越广,软件维护的开 销也就越大。另外,采用客户端服务器( c l i e n t s e r v e r ) 结构的软件产品大都缺乏 开放的标准,一般不能跨平台运行,而且用于广域网时就暴露出更大的不足。 为了解决c s 两层结构与应用需求日益突出的矛盾,近年来一种简便易行 的分布式j 2 e e 结构应运而生。j 2 e e 是基于多层、分布式对象体系结构的应用 开发。在这种体系结构下,应用逻辑大部分被分离出来移到一个或多个中间层, 中间层由称为中间件的软件构成,这增强了系统的可改进性和可伸缩性,增加 了可靠性、可管理性和灵活性。 1 1w e b 应用技术在国内外的发展现状 计算机技术发展日新月异,在w e b 开发领域更是如此。几年前,要开发一 个商业性的动态商务网站,我们只能使用c g i ,s s i 来实现,这对于普通的编 程人员来说,是十分困难的。而且使用c g i ,s s i 无论是开发效率还是运行效 率都不高。几年后,有了a s p 、p h p 、i s a p i 等技术,用它们开发动态网站, 显然要好得多,但还没有一种技术能够兼顾开发效率和运行效率,同时满足分 布式事件处理的功能,具有强大的自扩展能力。a s p ,p h p 虽然开发速度快, 但运行速度和功能比不上i s a p hi s a p i 虽然运行速度快,但很难编写调试, 而且移植性很差。m i c r o s o f t 公司开发a s p n e t ,p h p 推出4 - 3 版本,就是想 谋求缓解这一瓶颈问题。然而j s p 技术出现后,这一切的难题都迎刃而解了。 j s p 秉承了j a v a 语言的优势,是一种实实在在与平台无关的开发技术,既有 四川大学硕士研究生学位论文 很高的运行效率,开发周期又很短,同时扩展能力特别强。它的技术规范是公 开的,任何人都可以按照规范开发出自己的产品,因此j s p 迅速成为了万众瞩 目的对象。目前,很多公司纷纷宣布支持j s p 技术,采用j s p 作为开发手段, 很多软件开发组织郡在自己的产品中加入了对j s p 的支持。j s p 已经成为电子 商务系统开发语言的事实标准。 为了开发基于w e b 的应用,s u n 公司提出了一种分布式企业级应用开发 的技术架构j 2 e e ( j a v a2p l a t f o r m ,e n t e r p r i s ee d i t i o n ) ,它由多种基于j a v a 的 核心技术如s e r v l e t 、j s p 、e j b 、j 、n i 、j d b c 等组成。目前经过实践的检验, 证明j 2 e e 技术是一种可以信赖的企业级软件开发技术,其具有跨平台的互操作 性、可扩展性、安全性好,迅速受到许多盯业的大厂商的支持,具有十分广阔 的前景。 m v c ( m o d e l v i e w c o n t r 0 1 ) 是x e r o xp a r c 在八十年代为编程语言 s m a l l t a l k 提出的一种设计模式。该设计模式具有设计清晰、有效模块性、易于 扩展等优点,在理论上实现了业务逻辑与界面显示的分离,它的提出对w e b 的 应用开发具有重要意义。 s t r u t s 框架是一种基于j a v a 的技术,w e b 应用程序开发人员通过s t r u t s 框架即可充分利用面向对象设计、代码重用以及“编写一次、到处运行”的优 点。s t r u t s 提供了一种创建w e b 应用程序的框架,对应用程序的显示、表示和 数据的后端代码进行了抽象。s t r u t s 是对m v c 设计模式的一种实现。m v c 设 计模式为构建可扩展、可重用的代码打下了坚实的基础。m v c 设计模式迫使 用户抽象自己的代码,把项目分解为显示、控制和模型三部分,各部分间的关 联尽量d , t 2 j 。 j s p 技术作为s u n 公司开发的一个动态w e b 技术标准,是基于强大的 j a v a 语言的,有着良好的跨平台能力和安全性能【3 l 。j s p 技术与j 2 e e 平台的 紧密集成,以m v c 模式进行j s p s e r v l e t + e j b 的w e b 应用开发,有着得 天独厚的优势。 随着信息技术的飞速发展,企业计算模式正摒弃c s 结构而采用b s 结 构,此即瘦客户端,胖服务器、大容量数据库的3 层或n 层体系结构,b s 结构 己成为当前电子商务中w e b 开发的主流。面向服务器端的j 2 e e 为当今逐渐 流行的n 层体系结构提供了一个标准的j a v a 计算平台:界面一致、工具简易、 2 四川大学硕士研究生学位论文 丰富、w e b 页面互联便捷,从而能大大加速和简化各种应用系统的开发。但目 前基于j 2 e e 平台的应用开发具有开发难度大,系统环境不易配置等问题,如第 三方服务端组件还不多,可用的第三方e j b 组件,j s p 库较少,一定程度上延 滞了它的发展1 4 1 。 1 2 论文的选题背景和意义 渠道是企业关键性的外部资源,渠道协助企业进行产品分销,实现了产品 在市场上的全面推广。企业正在越来越依靠间接渠道合作伙伴( 代理商、分销 商、经销商、零售商) 来销售产品,并为产品提供服务。渠道质量高,能力强, 对企业产品和销售尽心尽责,企业产品则会以较商的价格、较好的声誉成交而 带来很大的利益。但是,渠道的建立、维护、巩固、完善需要较长的时间和昂 贵的费用。 为了有效地管理渠道,个性化的渠道管理门户为合作伙伴提供了使渠道能 更好地进行市场推广、销售和支持产品所必须的工具、信息和服务,从而使公 司能够与渠道合作伙伴建立更加密切的协作关系。结果是增加了获益商机,降 低了渠道支持成本,最终使终端用户更加满意。 在中国加入世界贸易构织( w t o ) 之后,国内电信市场逐步开放,市场格 局发生了巨大变化,现有竞争者和潜在进入者的数量和能力前所未有。客户对 电信服务高质量、灵活性、多样化和个性化的期望值日益提高,吸引和留住客 户成为电信运营商在市场中的立足之本。这种竞争态势对电信运营商的服务意 识、服务内容、服务方式、服务质量、以及经营管理水平等均提出了严峻的挑 战,要求国内的电信运营企业在经营理念、管理模式上能有一个较高层次的飞 跃。随着电信产业链的拉长,与合作伙伴在业务流程上紧密联系成为电信运营 商快速响应市场的基本要素。面对如此复杂的外部环境,中国电信要想在竞争 中取得优势地位,实现成为国际一流电信企业的战略目标,就迫切需要打造自 身核心竞争力,提高整体经营和服务水平。根据电信业务的特点必须把渠道( 代 理商、分销商等) 作为用户发展的中坚力量,因此竞争的不断加剧,必然导致运 营商在渠道的竞争也将不断加剧。 在营销渠道的建设上,四川电信已经建立了一个全方位的自有渠道,但是 四川大学硕士研究生学位论文 在“5 - t - 1 ”新的市场格局下,特别是在各大运营商资源与实力接近的情况下, 运营商的核心竞争力将越来越依赖其服务竞争优势,国内电信业的竞争已开始 由网络技术、价格竞争,逐渐演变为渠道和终端方面的竞争,即电信竞争也由 网络资源转移到差异化的服务竞争上。谁拥有高效的渠道,谁就能先发制人、 赢得市场。尤其是销售渠道建设已成为电信运营商打造新核心竞争力关注的焦 点,那么必须走自身核心渠道与社会营销渠道相结合的道路。 四j i i 电信攀枝花分公司在意识到发展社会营销渠道的重要性后,果断提出 建立社会营销渠道管理体系,建设社会营销渠道支撑系统的要求。社会渠道管 理系统是针对当前电信对社会渠道营销不断扩大的背景下,支持对社会渠道管 理的i t 信息平台,系统要实现三个主要部分的功能: 1 ) 渠道商业务管理平台 渠道商访问信息平台,主要提供与电信业务部门的双向沟通信息平台和基 本电信业务受理平台。 2 ) 渠道商管理平台 负责完成对渠道商的管理功能,其核心是酬金计算、渠道商资料管理和业 务管理等。 3 ) 系统管理平台 负责工号分配、系统参数配置等后台系统功能。 社会渠道管理系统最终目标是对渠道进行经营和管理。渠道管理系统的定 位是: 渠道信息统一管理 经营渠道 为渠道提供服务 对渠道的价值忠诚度信用度进行分析和管理 渠道佣金的结算 渠道管理系统的建设,不仅在于有效管理渠道,使得渠道结算流程,对渠 道的管理流程更加自动化和顺畅,最为重要的是发挥渠道自身的价值,刺激渠 道发展用户的积极性,以有效利用渠道为企业带来最大的价值。 4 i 四1 1 1 大学硕士研究生学位论文 1 3 论文的主要工作 在系统的开发过程中,应用了当前j a v a w e b 应用程序开发领域中先进的体 系结构s t r u t s m v c 框架,并采用了u m l 、j 2 e e 和h i b e r n a t e 等技术,实现了渠 道商管理系统,有效地管理了电信公司的各种社会渠道,从而提高了公司的市 场竞争力。本文的主要工作如下; 1 ) 企业调研 调研和分析了电信业对社会渠道商管理的现状,确定了渠道商管理系统的 主要功能和系统工作的流程。系统有三个主要功能:渠道商业务平台、渠道商 管理和系统管理平台。 2 ) 技术研究 研究了系统在软件体系结构方面采用的s t r u t s 框架,保持数据层持久化的 h i b e r n a t e 技术,分析了支持多层次分布式应用开发的j 2 e e 技术和平台。 3 ) 系统分析与建模 根据电信业对渠道商管理的实际情况,给出了渠道商管理系统的整体功能 结构和各个具体功能模块的描述,并且对各个功能模块建立了用例模型。 4 ) 系统设计与建模 介绍了系统的体系结构,给出了系统关键模块的流程设计、关键对象的设 计、关键数据模型的设计,利用建模工具r a t i o n a lr o s e 对系统设计建模,分别 给出了系统的时序图、设计类图、部署图以及e r 数据模型。 5 ) 系统实现 介绍了系统实现的软硬件平台,给出了系统的主要实现界面并做了功能描 述。在介绍数据库实现中,给出了系统主要的数据基表;最后,介绍了系统关 键模块的实现代码和相应的描述。 最后对本文的主要研究内容进行了总结,并对系统的完善和进一步发展进 行了展望。 本论文工作的主要特点有以下几点: 1 ) 论文设计的渠道管理系统不是一个孤立的系统,它是建造在电信整个业 务管理平台之上的,它可以和平台上的其它系统( 例如9 7 系统、计费系统) 进 行系统交互。 四川大学硕士研究生学位论文 2 ) 论文采用了x m l 、w e b 服务技术来实现系统之间的集成和数据交互而 现有的其它系统多采用c o r b a 、d c o m 和j a v ar m i 等技术。 3 ) 论文设计的系统采用了u m l 面向对象的建模语言、统一建模过程和 r a t i o n a lr o s e 进行系统分析和设计,使设计的系统可靠性和可维护性更好 1 4 论文的组织结构 论文全文共分六章,具体内容安排如下: 第一章绪论。这一章主要介绍了基于w e b 的应用系统开发的背景和研究 现状。阐述了电信社会渠道管理系统开发的背景和意义。 第二章相关w e b 应用开发技术介绍。介绍了系统在软件体系结构方面采 用的s t r u t s 框架,保持数据层持久化的h i b e r n a t e 技术以及基于j 2 e e 标准的系统 软件开发平台。u m l 建模语言和可视化建模工具r a t i o n a lr o s e 在本章也给出了 介绍。 第三章系统分析与建模。根据电信对渠道商管理的实际情况,给出了渠 道商管理系统的整体功能结构和各个具体功能模块的描述,并且对各个功能模 块建立了用例模型。 第四章系统设计与建模。介绍了系统的体系结构,给出了系统关键模块的 流程设计、关键对象的设计、关键数据模型的设计,利用建模工具r a t i o n a lr o s e 对系统设计建模,分别给出了系统的时序图,设计类图、部署图以及e r 数据 模型。 第五章系统实现。介绍了系统实现的软硬件平台和系统的软件开发平台。 给出了系统的主要实现界面并做了功能描述。在介绍数据库实现中,给出了系 统主要的数据基表;最后,介绍了系统关键模块的实现代码并给出了相应的描 述。 第六章结束语。最后评价了系统运行并指出了系统存在的问题,并对系 统的完善和进一步发展进行了展望。 6 四川大学硕士研究生学位论文 1 5 本章小结 本章主要介绍基于w e b 的应用系统开发的背景和研究现状,接着简要介绍 了本文的选题和主要工作。 7 四川大学硕士研究生学位论文 第二章相关w e b 应用开发技术 在本章内将介绍论文研究的渠道管理系统中涉及的相关技术。 2 1 建模语言和建模工具 2 1 1u m l 建模语言 面向对象系统的统一建模语言u m l ( u n i f i e dm o d e l i n gl a n g u a g e ) 是一种定 义良好、易于表达、功能强大的建模语言,可用于对软件进行描述、可视化处 理、构造和建立软件系统制品的文档【3 l 。u m l 融合了b o o c h , o m t 和 o o s e ( o b j e c t - o r i e n t e ds o f t w a r ee n g i n e e r i n g ) 等方法中的基本概念,扩展了现有 方法的应用范围。它适用于各种软件开发方法、软件生命周期的各个阶段以及 各种开发工具,可用于对系统的理解、分析、设计、配置、维护和控制,成为 当今软件开发领域一种标准的建模方法。 u m l 定义了一套面向对象的建模符号、表示法和术语,这些符号为系统的 分析、建模、开发提供了可视化的图形表示【4 】。在进行实际的分析、设计和开 发的过程中,我们可以根据需要来对系统进行建模和描述,它提供的可视化元 素构件可以设计和表达出复杂的软件体系结构。u m l 由3 种构造模块组成,它 们分别是元素、关系和图。元素是模型中重要的抽象;关系将这些元素连接在 一起;而图则将元素的集合分组1 5 】。 u m l 可以对任何具有静态结构和动态行为的系统进行建模,其建模机制可 以分为静态建模机制和动态建模机制两大类【6 l 。静态建模机制是u m l 的基础, 它包括用例图( u s ec a s e d i a g r a m ) 、类 蛩( c l a s sd i a g r a m ) 、对象 虱( o b j e c td i a g r a m ) 、 包( p a c k a g e ) 、构件i 羽( c o m p o n e n td i a g r a m ) 和配置图( d e p l o y m e n td i a g r a m ) 。动态 建模机制描述了执行系统功能的各个角色之间相互传递消息的动态关系。动态 建模机制可用四种图来表示:状态图、顺序图、协作图和活动图,它们各有不同 的侧重点。静态模型捕获物件以及物件之间的静态联系,动态模型捕获物件是 如何交互以产生软件体系所需的行为。u m l 图的分类如表2 1 : 8 四川大学硕士研究生学位论文 表2 1u m l 图 i 动态模璎 l 对象图、用例图、顺 等图、协作图、状态图、活动图 l 类图,用于定义系统中类的静态结构,描述各个类之间的关系及类的内部 结构。 构件图,描述代码部件的物理结构以及各部件之间的依赖关系。 部署图,通过描述在运行过程中各处理单元的配置来反映系统运行时的分 布方式,定义系统中软件硬件的物理体系结构。 对象图,是类图的实例,几乎使用与类图完全相同的标识,不同点在于对 象图显示类的多个对象是例,而不是实际的类。由于对象存在生命周期,因此 对象图只能在系统某个时间段存在。 用例图,用于刻画系统的用户以及外部系统与本系统的交互,并从用户角 度描述系统功能,并指出各个功能的操作者。 顺序图,用以显示对象之间的动态合作关系,通过时序图可以刻画出一个 用例的逻辑流程,以及这个逻辑流程中涉及到的对象。 协作图,侧重描述对象之间的协作关系。 状态图,它描述一类对象所有可能的状态及事件发生时状态的转移条件。 活动图,它描述为满足用例要求所进行的活动及活动之间的约束关系,有 利于识别并行活动。 2 1 2 统一建模过程刚p u m l 是项目的可视化语言部分,而r u p 则是项目的开发过程部分。统一 建模方法由用例驱动整个开发过程,分为用户需求、分析、设计、实现和测试 等阶段,每个阶段都是在前一阶段的基础上的进一步细化和迭代,具体的步骤 如下: ( 1 ) 捕获需求阶段:先由用户、分析人员和开发者积极交流、分析、提炼用 户对系统的要求,并描述出来,然后在此基础上建立业务用例模型、业务对象 模型,用模型来完整的表达和细化用户的需求。 9 t m j l l 大学硕士研究生学位论文 ( 2 ) 分析阶段:在前一阶段基础上进行功能抽象和数据抽象,功能抽象得到 系统分析包,数据抽象得到分析类及相互之间的关系。 ( 3 ) 设计阶段;对分析阶段的成果进一步细化,细化分析类的方法和相互间 关系,细化各个子系统的接口和相互问交互,得到实现时可以使用的设计模型。 ( 4 ) 实现阶段:编码实现设计,并进行单元测试、集成测试。 本文系统的开发采用r u p 过程实施,以迭代的方式生成最终系统,使系统 的开发风险降到最低。在系统的开发时,首先考虑基本功能的实现,再在已实 现的系统基础上增加功能和完善设计。 2 1 3 可视化建模工具r a t i o n a ir o s e u m l 需要相应的工具支持。目前,在基于u m l 的开发方法和开发环境方 面己有一些产品,对u m l 有很好的支持。这些可视化的建模工具主要有: m i c r o s o f tv i s u a lm o d e l e r ,v i s u a lo b j e c tm o d e l e r s 公司的v i s u a lu m l 、以及 r a t i o n a l 公司的r a t i o n a lr o s e 。其中r a t i o n a lr o s e 功能强大的,对u m l 有很好 的支持,得到了用户的肯定和接受。 r a t i o n a lr o s e 是r a t i o n a l 公司推出的可视化建模工具,是目前最好的基于 u m l 的建模工具之一。它采用用例、逻辑、组件和部署视图支持面向对象的分 析和设计,在不同的视图中建立相应的u m l 图形,反映系统的不同特征。r o s e 的企业级产品提供的正向反向工程的功能。r a t i o n a lr o s e 是分析和设计面向软 件系统的强大的可视化工具,可以用来先建模系统再编写代码,从而一开始就 保证系统结构合理。利用模型可以更方便地在系统的设计模型和系统语言代码 之间转换f _ 7 1 。 r a t i o n a lr o s e 支持业务模型,帮助了解系统的业务,有助于系统分析。可 以先设计使用案例和u s ec a s e 框图,显示系统的功能,也可以用i n t e r a c t i o n 框 图显示对象之间如何配合,提供所需功能。c l a s s 框图可以显示系统中的对象以 及对象间的相互关系。c o m p o n e n t 框图可以演示类如何映射到实现组件。最后, d e p l o y m e n t 框图可以显示系统的实际运行环境【g l 。 r a t i o n a lr o s e 目前在面向对象分析、建模、设计工具市场上起着主导作用。 其主要的特点如下1 9 l : 1 0 四川大学硕士研究生学位论文 ( 1 ) 支持u m l 对象建模符号标准,提供完整的u m l 支持,使得模型具有一 致性。系统分析、设计、程序实现均可用u m l 来表示。u m l 让系统开发的所 有参与者在通用的建模语言的基础上进行理解和沟通。 ( 2 ) 支持构件化软件发展。对于复杂的系统而言,构件式的软件开发已成为 最有效的模式。r a t i o n a lr o s e 可以让使用者形成系统的构件图,来清楚而完整 地表达构件与构件之间的关系。 ( 3 ) 支持多种语言的软件开发。r a t i o n a lr o s e 企业版提供了多种语言的支 持,让使用者可以开发不同程序的构件。r a t i o n a lr o s e 可以从模型产生。+ + , j a v a , v b ,d e l p h i ,p o w e r b u i l d e r 等程序代码。 ( 4 ) 逆向式工程。r a t i o n a lr o s e 具有正向工程、反向工程等功能特性,可以 在修改实际的程序后将新的程序代码迅速的映射到设计模型中,以保证设计模 型和程序代码的一致性。 本论文所采用的就是r a t i o n a lr o s e 2 0 0 2 建模工具。它把u m l 和谐地集成 进面向对象的软件开发中。不论是在系统需求阶段,还是在对象的分析与设计、 软件的实现与测试阶段,它都提供了清晰的u m l 表达方法和完善的工具,以便 建立起相应的软件模型。 2 2 对象关系映射技术 2 2 1 概述 所有的应用程序都需要面对数据持久化的问题,即数据的存储和取出。而 对面向对象的应用程序而言这项持久数据存储工作就围绕着对象持久化展开。 对象持久化就是要把对象存储在持久化存储系统( 如数据库) 中。 实现对象持久化可以采用包括普通文件、面向对象数据库( o o d b ) 、x m l 或关系数据库等多种方式。就现阶段而言,由于关系数据库的理论非常完善, 并且得到了数十年的实践考验,不论从性能还是数据完备性的角度,关系数据 库都有着无可比拟的优势,是包括面向对象的软件项目在内的大多数软件系统 数据存储的首要选择。 采用关系数据库的面向对象的软件应用项目应用部必定要涉及对象模型与 四川大学硕士研究生学位论文 关系数据模型之间的交互,这时就需要进行对象,关系的映射。对象,关系的映射 【1 2 】( o b j e c t r e l a t i o nm a p p i n g ) 是将对象的状态映射到关系数据库的数据上的一种 操作。 对象模型基于软件工程的一些原理,而关系数据模型则基于数学原理,特 别是集合论的原理。两种不同的理论基础导致对象模型与关系数据模型之间的 “阻抗不匹配”。面向对象的模型和关系数据模型的“阻抗不匹配”使得进行 对象,关系映射时存在着许多问题,如如何在关系数据库的表中表示对象的下列 属性【1 3 l : 1 ) 对象唯一性; 2 ) 对象的复杂属性; 3 ) 对象间关联、聚集、组成; 4 ) 对象的方法( 操作) ; 5 ) 对象的继承和多态; 虽然对象模型与关系数据模型间存在“阻抗不匹配”,但是人们还是提出 了一些比较好的解决方案来进行对象模型向关系模型的映射,而这其实就是类 向数据库的表的变换过程。通常,一个类可以映射为一个或一个以上的关系数 据库中的表,类属性将映射成表中的列,而对象间的关系可以通过使用外键来 联系的。 2 2 2 对象关系映射策略 对象关系映射( o 瓜) 是将j a v a 对象的状态映射到数据库上,以便提供透 明的持久化操作。由于r d b m s 是以二维表为基本管理单元的,所以在使用关 系数据库的面向对象软件应用中对象模型最终是由二维表及表问关系来描述 的。换言之,对象模型向数据库关系模型的映射就是类向数据库表的变换过程, 通常一个类可以映射为一个或一个以上的关系数据库的表。o r 映射的目标就 是简便的持久化业务模型中的实体对象,使开发人员得以避免编写数据访问的 代码。根据抽象对象与关系数据库的特性,o gm a p p i n g 在以下几个方面实现。 四川大学硕士研究生学位论文 2 2 2 1 对象标识符的映射 类映射成关系数据库的表时,对象标识符的映射是首要问题,通常将对象 标识符( 一般是对象的某个属性) 映射成数据库表的主键即可1 1 4 1 ,并在每次数 据库中存储新对象时为该对象生成一个新的主键【1 5 1 ( 即对象标识符o i d , o b j e c ti d e n t i f i e r ) 。实际应用程序中,通常采用无业务意义的字段( 代用键) 作 为各个实体表的主键,以避免因业务规则变化而引起的数据库字段和键值的频 繁变化。主键值应该足一个对象独一无二、不可变更的身份标识,而与业务相 关的身份标识都是有可能变更的,只是目前的业务或许不允许它变更而己。例 如一个居民登记系统用身份证号码作为主键,当身份号码从1 5 位升级到1 8 位 时,会带来很大的麻烦。 2 2 2 2 对象属性的映射 类属性将映射成关系数据库中表列。需要注意的是,并不是所有类属性都 是需要持久化的,即并非所有的属性都需要映射成列。 将类属性映射成列时通常的情况是一个类属性映射到一个表的列f 1 7 j ,但在 实现时,类属性和表列可以不一一对应,一个类属性可对应零或多个实体表的 字段。 2 2 2 3 对象继承关系的映射 在关系数据库中实现继承决定于类到表的映射。类到表的映射通常不是直 接的。除了非常简单的数据库以外,不会有类到表的一对一映射。不同层次的 父类和子类映射到数据表时,应该根据实现难易度、数据访问难易度、对象与 数据库耦合度、数据访问速度、数据库字段冗余度以及多态性支持程度等考虑 以下映射策略。 1 ) 一个类层次( 父类和子类) 对应一个数据表; 2 ) 一个实体类( 只有子类) 对应一个数据表; 3 ) 一个类对应一个数据表: i 四1 1 大学硕士研究生学位论文 这三种策略采取不同的方法将类映射到表来实现有继承关系的类层次。在 下面的表2 2 :中比较了这三种映射策略的优缺点。 表2 - 2 比较映射继承的各种方法 、映射策略 一个类层次对应一 一个实体类对应一一个类对应一个数 考虑因素、 个数据表 个数据表据表 专门报告容易中等中等j 困难 实现的难易容易中等困难 数据访问难易容易 容易 中等容易 耦合度非常高高低 数据访问速度快快中等快 对多态的支持中等低高 2 2 2 4 对象之间关系的映射 不仅必须将对象映射到数据库中,还必须将对象之间的关系进行映射,这 样才能在以后进行恢复。对象之间除继承外还有三种类型的关系:关联、聚合 和组成。从数据库的角度看,关联和聚合组合关系之间的唯一不同是对象相互 之间的绑定程度【l ”。对于聚合和组成,在数据库中对整体所做的操作通常需要 同时对部分进行操作。聚合组合和关联足不同的,在聚合情况下,在整体中读 取时,通常希望在部分中读取,而在关联情况下,需要执行什么操作并不总是 那么明显。 一对一、一对多的关联是通过在关联的某一方引用对方的i d ,并视关系的 紧密程度为外键的字段加上非空以及唯一性的约束。在生成相关联的类实例时, 可根据外键自动获取另一方的实例。多对多的关联需要创建关联表,或划分成 一对多和多对一。聚合关系中的子类对应的数据表中含有指明父类的i d 的域。 特别是强制型聚合( 构合) ,子类必须与父类同时存在、同时消亡。数据库键 值本身只是这一关系的体现。 2 2 3 对象关系映射工具h ib e r n a t e 目前有很多开源的或商业化的工具可以实现对象和关系数据库之间的映 1 4 四川大学硕士研究生学位论文 射。这些对象关系映射工具可以使设计者专注于对象模型的设计。而不必关心 面向对象和关系数据库之间的匹配问题。这类框架的典型代表有t o p l i n k , c o e o b a s e ,c a s t o r 及h i b e r n a t e 。其中最热门的非h i b e r n a t e 莫属。 h i b e r n a t e 是一种新的o r 映射工具,它不仅提供了从j a v a 类到数据表的映 射,也提供了数据查询和恢复等机制,实现数据层对象的持久性。相对于使用 j d b c 和s q l 来手工操作数据库,使用h i b e r n a t e 可以大大减少操作数据库的 工作量。h i b e r n a t e 是一个j a v a 开放源代码的o rm a p p i n g ,它对j d b c 进行了 轻量级的对象封装,使得j a v a 程序员可以使用面向对象编程思维来操作关系数 据库。h i b e r n a t e 通过x m l 和持久化类一起来实现映射。 h i b e r n a t e 为j a v a 开发者提供了个强大而易用的对象,关系映射机制。它对 j d b c 进行了非常轻量级的对象封装,使得j a v a 程序员可以随心所欲的使用对 象编程思维来操纵数据库。它能够很好地处理持久化对象之间的关系,程序员 无须关心“对象之间的关系在数据库中如何存储”,只要按照最普通的方式使 用对象,h i b e r n a t e 自然会把各种关系处理妥当。 h i b e r n a t e 是纯j a v a 的开放源代码( o p e ns o u r c e ) 的对象关系映射工具,它的 用户许可是l e s s e r g p l ,这使得商业软件的开发者可以很方便地使用它,而且 无需任何费用。使用h i b e r n a t e 开发系统通常包括如下步骤: ( 1 ) 配置h i b e r n a t e ( 2 ) 确定数据表: ( 3 ) 创建持久对象: ( 4 ) 编写对象和数据表的映射描述: ( 5 ) 编写业务逻辑。 2 3j 2 e e 技术 j 2 e e ( t h ej a v a 2 e n t e r p r i s e e d i t i o n ) 平台是由s u n 公司推出的一套分布式 体系,基于构件的思想来设计、开发、装配及部署企业级应用。j 2 e e 平台为企 业提供了一个多层次分布应用设计模式,重用构件的能力,统一的安全模式, 灵活的交易控制。企业不仅可以把全新的客户解决方案,用比以往都快的速度 推向市场,而且平台独立、基于j 2 e e 构件的解决方案将使企业的产品不绑定在 四川大学硕士研究生学位论文 任何一个厂商的产品和a p i 上。 j 2 e e 是一个标准,而不是一个现成的产品。各个平台开发商按照j 2 e e 规 范分别开发了不同的j 2 e e 应用服务器,j 2 e e 应用服务器是j 2 e e 企业级应用的 部署平台。由于它们部遵循了j 2 e e 规范,因此,使用j 2 e e 技术开发的企业级 应用可以部署在各种j 2 e e 应用服务器上。 2 3 1j 2 e e 应用架构 j 2 e e 提供了标准的系统框架和服务。标准化的框架结构是以分布式的多层 应用体系为基础,使j 2 e e 应用天然就具有可扩充性和可维护性。j 2 e e 平台采 用一个多层次分布式的应用模式,这意味着应用逻辑根据功能被划分成不同的 构件,构成j 2 e e 应用的不同应用构件安装在不同的服务器上,这种划分是根据 应用构件属于多层次j 2 e e 应用环境中的哪一个层次来决定的。一个多层化应用 能够为不同的每种服务提供一个独立的层,一般可以把j 2 e e 分成四个层次,分 别是客户层、w e b 层、业务层、企业信息系统层( ( e i s ) ,图2 1 是j 2 e e 典型的 四层结构,展示了j 2 e e 应用划分成下面描述的不同层次: 1 6 t mj l l 大学硕士研究生学位论文 a l i a 眦r 圮e e 8 d w m a c 蛔l 鼍 运行在客户端机器上的客户层构件 运行在j 2 e e 服务器上的w c b 层构件 运行在j 2 e e 服务器上的业务逻辑层构件 运行在e i s 服务器上的企业信息系统层构件 2 3 1 1 客户层 d a t a b s e n ,盯 m a c 帽 j 2 e e 应用可以是基于w e b 的,也可以不是基于w e b 的。在一个基于w e b 的j 2 e e 应用中,用户的浏览器在客户层中运行,并从一个w e b 服务器上下载 w e b 层中的静态h t m l 页面或由j s p 或s e r v l e t s 生成的动态h t m l 页面。 2 3 1 2w e b 层 j 2 e ew e b 层构件可以由j s p 页面、基于w e b 的a p p l e t s 以及显示h t m l 页 面的s e r v l e t s 构成。调用s e r v l e t s 或者j s p 页面的h t
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025内蒙古额尔古纳市第一中学人才引进(第二号)考前自测高频考点模拟试题及答案详解(各地真题)
- 2025年芜湖市残疾人综合服务中心编外工作人员招聘2人模拟试卷含答案详解
- 2025昆明市禄劝县教育体育局所属事业单位面向县内学校选调人员(4人)模拟试卷及答案详解(易错题)
- 2025年山东文旅集团科技发展有限公司招聘考前自测高频考点模拟试题及完整答案详解
- 2025年河北地质大学选聘工作人员85名模拟试卷及参考答案详解一套
- 2025辽宁沈阳盛京资产管理集团有限公司所属子公司沈阳中城天玺不动产有限公司招聘1人考前自测高频考点模拟试题及1套参考答案详解
- 2025南昌市西湖区疾病预防控制中心招聘工作人员1人考前自测高频考点模拟试题有完整答案详解
- 2025年甘肃省卫生健康委系统招聘工作人员51人模拟试卷完整答案详解
- 2025年临沂市农业学校公开招聘教师(8名)模拟试卷附答案详解(突破训练)
- 2025广西卫生职业技术学院招聘高层次人才22人考前自测高频考点模拟试题及答案详解(历年真题)
- 【博观研究院】2025年跨境进口保健品市场分析报告
- 《湖南省房屋建筑和市政工程消防质量控制技术标准》
- 非ST段抬高急性冠状动脉综合征诊断和治疗指南
- 警校生职业生涯规划
- 江苏省扬州市江都区大桥中学2025届高考英语一模试卷含解析
- 2024-2025学年九年级第一次月考化学卷(天津专用)
- 《孤独的小螃蟹》课件
- 0-9任意四位数手机密码排列组合全部数据列表
- 吉林省长春市长春实验中学2024-2025学年高一上学期第一次月考数学试题(无答案)
- 草莓种植课件-幼儿园大班
- 历届中国数学奥林匹克(CMO)试题集(1986-2019)
评论
0/150
提交评论