(计算机应用技术专业论文)用统一过程构建j2ee企业应用.pdf_第1页
(计算机应用技术专业论文)用统一过程构建j2ee企业应用.pdf_第2页
(计算机应用技术专业论文)用统一过程构建j2ee企业应用.pdf_第3页
(计算机应用技术专业论文)用统一过程构建j2ee企业应用.pdf_第4页
(计算机应用技术专业论文)用统一过程构建j2ee企业应用.pdf_第5页
已阅读5页,还剩51页未读 继续免费阅读

(计算机应用技术专业论文)用统一过程构建j2ee企业应用.pdf.pdf 免费下载

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

文档简介

中文摘要 中文摘要 传统的软件工程一般使用瀑布模型进行软件开发。现今软件的规模不断扩 大,复杂性不断加强,传统的方法不再适应需求不断变化的需要,一个环节上的 错误可能导致整个开发计划的失败。在这篇论文中,我们介绍了一种新的开发过 程:迭代增量式的开发过程,以规避风险和适应需求的不断变化。 技术提供了强大的支持。本文首先j 2 e e 技术进行了简要介绍,接着简述了 r u p 的基本内容。j 2 e e 是一个标准,而不是一个现成的产品。j 2 e e 平台的一个 关键目标就是提供一个开发企业系统的标准开发环境。j 2 e e 平台具有作为开发 标准的良好特点,与平台无关性等许多优点,使得它成为当今构建企业级应用程 序事实上的标准。r u p 吸收了多种开发模型的优点,具有很好的可操作性和实用 性。r u p 是软件开发的流程架构,它提供在一个开发组织中分配任务和职责的基 本原则。它的目标是在可控制的时间和预算内保证开发高质量的软件,同时满足 用户的要求。r u p 中包含的最佳经验提供了一系列的软件开发方法。当它们一起 使用时,最佳经验确保能解决软件项目开发当中的典型问题。 本文结合作者在构建企业应用的实践,针对j 2 e e 企业应用的构建,对统一 软件过程r u p 的定制进行了探讨,并结合天津市粮油批发交易系统的构建过程给 出了详细的阐述。r u p 是一个综合而详尽的流程框架,它几乎设计软件开发过程 的方方面面,不太适合项目中的实际应用。本文针对j 2 e e 的开发者制定了一个 r u p 视图:j 2 e e 开发者流程。基于开发者的视角,本文重点提供针对需求、分析、 设计和实施的方面的关键活动和工件。 关键词:企业应用j 2 e er u p 模式 a b s t r a c t a b s t r a c t i nt r a d i t i o n a ls o f t w a r ee n g i n e e r i n g ,w a t e r f a l lm o d e lw a su s e d t o d a y , i nt h ec o n d i t i o nt h a ts o f t w a r es e a l eisb e c o m i n gl a g e ra n ds o f t w a r e c o m p l e x i t y is i n c r e a s i n g ,t r a d i t i o nm e t h o d c a nn o l a d a p tc h a n g i n g r e q u i r e m e n t s ,w h i c hm a ym a k ep l a nf a i l e d a c c o r d i n g l y ,t h i sp a p e r i n t r o d u c e san e wd e v e l o p i n gp r o c e s s t or e m o v er i s k sa n ds u i tc h a n g i n g r e q u i r e m e n t s t e c h n o o g i e sh a v em a d eap o w e r f u ls u p p o r tf o re n t e r p r i s ec o n s t r u c t i o n f i r s t ,t h i sp a p e ri n t r o d u c e st h ec h a r a c t e ro fe n t e r p r i s ea p p l i c a t i o n ,a n d t h e nw en a r r a t et h ec o n t e n t so fj 2 e ep l a t f o r ma n dr u p t h ek e yg o a lo f j 2 e ep l a t f o r mi st op r o v i d eas t a n d a r dd e v e l o p m e n te n v i r o n m e n t i t st h e s t a n d a r da n di n d e p e n d e n c eo fp l a t f o r mt h a tm a k e sj 2 e et h e ,f i r s tc h o i c e f o re n t e r p r i s ec o n s t r u c t i o n r u ph a sm a n ya d v a n t a g e st h a ns o m eo t h e r d e v e l o p i n gm o d e l sh a v e r u ph a sg o o dm a n e u v e r a b i l i t ya n dp r a c t i c a b i l i t y i t sk e yg o a li st oh e l pd e v e l o p e r sc o n s t r u c ts o f t w a r ew i t hh i g h e rq u a l i t y i np l a n n i n gt i m ea n db u d g e t ,a tt h es a m et i m e ,s a t i s l y i n gt h eu s e r s r e q u i r e m e n t s s oi t c a ns o l v et h et y p i c a lp r o b l e mo c c u r r i n giem o d e r n s o f t w a r ed e v e l o p m e n t a i m i n ga tj 2 e ee n t e r p r i s ec o n s t r u c t i o n ,t h i sp a p e rr e s e a r c h e st h e c u s t o m iz a t i o r lo fr u p ,u s i n gap r a c t i c a lc a s e r u pi sac o m p r e h e n s i v ef l o w f r a m e w o r k :i td e a l sw i t ha l m o s te v e r ya s p e c ti ns o f t w a r ed e v e l o p m e n t t h i s p a p e rc u s t o m iz e sar u pv i e w :j 2 e ed e v e l o p e rw o r k f l o wf o rj 2 e ed e v e l o p e r i nt h ev i e wo fd e v e l o p e r s j 2 e ed e v e l o p i n gf l o ws u p p l ie sk e ya c t i v i t i e s a n da r t i f a c t sf o rr e q u i r e m e n t ,a n a l y s i s ,d e s i g na n di m p l e m e n t 。 k e y w o r d s :e n t e r p r i s ea p p l i c a t i o n ,j 2 e e ,r u ep a r e r n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得鑫奎盘堂或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:7 n 乏盔、 签字日期:7 棚厂年月f 口 学位论文版权使用授权书 本学位论文作者完全了解盘鲞盘茔有关保留、使用学位论文的规定。 特授权盘壅盘翌可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文存解密后适用本授权说明) 学位论文作者签名:张多重 签字同期:阿年z 月佃同 导师签名: 珈鸸 签字日期:驴r 年月,譬日 第一章绪论 1 1 课题的背景 第一章绪论 现代企业应用系是以计算机网络技术为依托以企业的网络化需求为背景而 产生的为企业生产和运作而服务的生产、管理、销售或服务于其他领域的系统的 通称。 1 1 1 现代企业的发展需求 现代社会许多企业的规模越来越大,出现了许多跨行业、跨地区、国际化的 大型企业。在这些企业中办公地点已不再局限在一栋楼内,异地办公成为了必然 的趋势。随着网络技术和信息技术的飞速发展,各个企业以及政府机构的办公逐 步趋向于自动化,电子化。随着各个企业和机构自身的扩大及其业务领域的拓展, 每个企业和机构都拥有着自己特定的管理系统或者打算引入新的信息系统。这些 系统可以包括:数据仓库( d a t a w a r eh o u s e ) 、企业资源计划( e r p ) 、客户关系 管理系统( c r m ) 以及各种企业特定的办公自动化( o a ) 系统。这些系统一般是 具有较强专用性的分布式系统,构建在各种异构的硬件和操作系统之上,其符合 业界的标准化程度及接口对外开放的程度也各不相同。鉴于这些特点,各企业应 用之间往往存在着数据不能共享,信息不能交互的尴尬局面。各系统间的各自为 政导致了一个个分散的信息孤岛,浪费了大量的人力和时间,极大的影响了企业 和机构的办事效率和自动化程度。研究系统集成的可行性,实现各系统间的集成, 并在此基础上解决集成过程所产生的在系统效率,可移植性,安全性,可扩展性 及其自动化程度在企业的发展壮大过程中有着不言而喻的意义。企业面对庞大的 外部信息和快速变化,必须从传统的注重内部资源的管理利用转向注重外部资源 的管理利用,从企业内的业务集成转向企业间的业务协同。由于有了这种业务上 的需求,系统不得不适应不断出现和发展变化了新情况。特别是i n t e r n e t 应用 的革命性变化,为广大企业客户也为许多企业管理系统供应商带来新的挑战和机 会。 第一章绪论 1 1 2 计算机技术发展 现代的计算机发展,经历了一个单机一网络、c s b s 的发展。现在我们构 建应用系统都是采用基于网络环境的分布式计算技术。分布式计算技术的发展出 现了c o r b a 、d c o m 、j 2 e e 、n e t 等基于分布式计算思想的技术,这几种技术都各 有优缺点,但j 2 e e 以其开放的体系,与平台无关性等许多潜质,使得它在角逐 中逐渐成为事实上构建企业应用的标准。从理论上来说j 2 e e 是一个技术架构, 但它同时也给我们实现业务架构给出了许多很好的建议和必须遵循的要求。j 2 e e 的成功之处关键除了j a v a 语言所具有的与平台无关性等先天的优点外,关键的 一点是它的架构模式体系,使得开发者能够开发出健壮的应用程序。 1 2 课题的内容及创新点 开发j 2 e e 应用是一项非常复杂的任务,需要解决诸多的问题。例如:如何 明确的表达拟建应用系统的需求? 需要哪些j 2 e e 构件( 例如:s e r v l e t 、j s p 以 及e j b ) 来满足这些需求? 如何管理复杂的大型j 2 e e 应用系统开发过程? 本论文将介绍如何使用r a t i o n a l 统一过程( r u p ) 和统一建模语言( u m l ) 开发j 2 e e 企业应用。首先我们为r u p 定制了一个开发j 2 e e 企业应用的开发流程 图,然后我们结合天津市粮油批发竞价拍卖系统的构建,介绍了如何使用该开发 流程图进行j 2 e e 项目的开发。本文针对j 2 e e 的开发者制定了一个具有针对性的 r u p 视图:j 2 e e 开发者流程。基于开发者的视角,本文重点提供针对需求、分析、 设计和实旋的方面的关键活动和工件。 1 - 3 本文结构 第二章介绍了j 2 e e 平台相关的知识。对j 2 e e 的产生的原因、j 2 e e 平台的 组成、功能及其技术进行了综述。第三章介绍了r u p 。本章概述了r u p 的开发模 型,主要是r u p 的核心工作流和迭代开发模式。第四章详细描述了为j 2 e e 开发 者定制r u p 流程图,并结合实际j 2 e e 项目详细论述了r u p 在开发过程中的应用, 以及j 2 e e 中技术的选择和模式的结合。第五章对整篇论文进行了总结并提出了 今后研究的展望。 第二章j 2 e e 平台 2 1j 2 e e 简介 第二章j 2 e e 平台 为了满足构建企业级应用的需求,s u n 公司在早期的j 2 s e ( j a v a2p l a t f o r m s t a n d a r de d i t i o n ) 基础上,针对企业级应用的各种需求,主导并开发了 j 2 e e ( j a v a2p l a t f o r me n t e r p r i s ee d i t i o n ) 。 从整体上讲,j 2 e e 是使用j a v a 技术开发企业级应用的一种事实上的工业标 准( s u n 公司出于其自身利益的考虑,至今没有将j a v a 及其相关技术纳入标准化 组织的体系) ,它是j a v a 技术不断适应和促进企业级应用过程中的产物。目前, j a v a 平台有三个版本:适用于小型设备和智能卡的j 2 m e ( j a v a2p 1 a t f o r mm i c r o e d i t i o n ) 、适用于桌面系统的j 2 s e 和适用于企业级应用的j 2 e e 。s u n 推出j 2 e e 的目的是为了克服传统c 1 i e n t s e r v e r 模式的弊病,迎合b r o w s e r s e r v e r 架构 的潮流,为应用j a v a 技术开发服务器端应用提供一个平台独立的、可移植的、 多用户的、安全的和基于标准的企业级平台,从而简化企业应用的开发、管理和 部署。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 应用服务器上。 j 2 e e 平台的一个关键目标就是提供一个开发企业系统的标准开发环境。以 容器为基础的计算概念是j 2 e e 平台的核心,可以使构件在一个提供其所需服务 的环境中执行。j a v a 的出现及其“一次编写,到处运行”的观点提供了联接开 发及部署企业系统所需的众多技术的基础。j 2 e e 最好被理解为开发部署多层企 业系统的一组技术,这组技术包含了一组预期的服务。j 2 e e 平台具有作为开发 标准的良好特点,这个标准具有商业的实现和开放源码实现,并且有一个j 2 e e 平台的免费的参考实现。j 2 e e 平台提供的技术支持多层次体系结构。 为了推广并规范化使用j 2 e e 架构企业级应用的体系架构,s u n 同时给出了 一个建议性的j 2 e e 应用设计模型:j 2 e eb l u e p r i n t s 。j 2 e eb l u e p r i n t s 提供了 实施j 2 e e 企业级应用的体系架构、设计模式和相关的代码,通过应用j 2 e e b l u e p r i n t s 所描述的体系模型,能够部分简化架构企业级应用这项复杂的工作。 j 2 e eb l u e p r i n t s 是开发人员设计和优化j 2 e e 组件的基本原则,同时为围绕开 发工作进行职能分工给出了指导性策略,以帮助应用开发设计人员合理地分配技 术资源。下面参照j 2 e eb 1 u e p r i n t s ,结合最新版的j 2 e e 规范( j 2 e e1 5 ) ,从 整体上阐述如何使用j 2 e e 架构企业级应用。 2 第二章j 2 e e 平台 2 2j 2 e e 平台概览 我们把j 2 e e 技术放在一起看看他们操作环境和和关系如图2 1 。图2 1 给出了使用j 2 e e 构建企业级应用的体系架构。当执行任何编译后的j a v a 代码时 都会使用一个j a v a 虚拟机。 图2 1 使用j 2 e e 架构企业级应用的体系架构 j 2 e e 将组成一个完整企业级应用的不同部分纳入不同的容器( c o n t a i n e r ) ,每个 容器中都包含若干组件( 这些组件是需要部署在相应容器中的) ,同时各种组件都 能使用各种j 2 e es e r v jc e a p i 。j 2 e e 容器包括: w e b 容器服务器端容器,包括两种组件j s p 和s e r v l e t ,j s p 和s e r v l e t 都是w e b 服务器的功能扩展,接受w e b 请求,返回动态的w e b 页面。w e b 容器中 的组件可使用e j b 容器中的组件完成复杂的业务逻辑。 e j b 容器服务器端容器,包含的组件为e j b ( e n t e r p r is ej a v a b e a n s ) ,它 是j 2 e e 的核心之一,主要用于服务器端的业务逻辑的实现。e j b 规范定义了一 个开发和部署分布式业务逻辑的框架,以简化企业级应用的开发,使其较容易地 具备可伸缩性、可移植性、分布式事务处理、多用户和安全性等。 a p p l e t 容器客户端容器,包含的组件为a p p l e t 。a p p l e t 是嵌在浏览器中 的一种轻量级客户端,一般而言,仅当使用w e b 页面无法充分地表现数据或应用 界面的时候,才使用它。a p p l e t 是一种替代w e b 页面的手段,出于安全性考虑, 我们仅能够使用j 2 s e 开发a p p l e t ,a p p e t 无法使用j 2 f f e 的各种s e r v j c e 和a p i 。 a p p jc a t i o nc l je n t 容器客户端容器,包含的组件为a p p l j c a t i o n c 1 i e n t 。a p p l i c a t i o nc 1i e n t 相对a p p e t 而言是一种较重量级的客户端,它能 第二章j 2 e e 平台 够使用j 2 e e 的大多数s e r v i c e 和a p i 。 通过这四个容器,j 2 e e 能够灵活地实现前面描述的企业级应用的架构。 在v i e w 部分,j 2 e e 提供了三种手段:w e b 容器中的j s p ( 或s e r v l e t ) 、a p p l e t 和a p p l i c a t i o nc 1 i e n t ,分别能够实现面向浏览器的数据表现和面向桌面应用 的数据表现。w e b 容器中的s e r v l e t 是实现c o n t r o 1 e r 部分业务流程控制的主 要手段;而e j b 则主要针对m o d e l 部分的业务逻辑实现。依靠j 2 e e 的各种服务 和a p i 与各种企业资源和企业级应用相连接。 在j 2 e e 的各种服务和a p i 中,j d b c 和j c a 用于企业资源( 各种企业信息系 统和数据库等) 的连接,j a x r p c 、j a x r 和s a a j 则是实现w e bs e r v i c e s 和w e b s e r v 5c e s 连接的基本支持。 2 3j 2 e e 技术概览 我们就j 2 e e 的各种组件、服务和a p i ,进行更加详细的阐述,看看在开发 不同类型的企业级应用时,根据各自需求和目标的不同,应当如何灵活使用并组 合不同的组件和服务。 s e r v l e t 是j a v a 平台上的c g i 技术。s e r v l e t 在服务器端运行,动态地生成 w e b 页面。与传统的c g i 和许多其它类似c g i 的技术相比,j a v as e r v l e t 具有更 高的效率并更容易使用。对于s e r v e t ,重复的请求不会导致同一程序的多次转 载,它是依靠线程的方式来支持并发访问的。 j s p j s p ( j a v as e r v e rp a g e ) 是一种实现普通静态h t m l 和动态页面输出混合编码 的技术。从这一点来看,非常类似m i c r o s o f ta s p 、p h p 等技术。借助形式上的 内容和外观表现的分离,w e b 页面制作的任务可以比较方便地划分给页面设计人 员和程序员,并方便地通过j s p 来合成。在运行时,j s p 将会被首先转换成 s e r v l e t ,并以s e r v l e t 的形态编译运行,因此它的效率和功能与s e r v l e t 相比 没有差别,一样具有很高的效率。 第二章j 2 e e 平台 e j b e j b 定义了一组可重用的组件:e n t e r p r i s eb e a n s 。开发人员可以利用这些 组件,像搭积木一样建立分布式应用。在装配组件时,所有的e n t e r p r is eb e a n s 都需要配置到e j b 服务器( 一般的w e b l o g i c 、w e b s p h e r e 等j 2 9 9 应用服务器都是 e j b 服务器) 中。e j b 服务器作为容器和低层平台的桥梁管理着e j b 容器,并向该 容器提供访问系统服务的能力。所有的e j b 实例都运行在e j b 容器中。e j b 容器 提供系统级的服务,控制e j b 的生命周期。e j b 容器为它的开发人员代管了诸如 安全性、远程连接、生命周期管理及事务管理等技术环节,简化了商业逻辑的开 发。e j b 中定义了三种e n t e r p r i s eb e a n s :s e s s i o nb e a n s 、e n t i t yb e a n s 和 m e s s a g e d r iy e nb e a n s 。 j d b c j d b c ( j a v ad a t a b a s ec o n n e c t i v i t y ,j a v a 数据库连接) a p i 是一个标准 s q l ( s t r u c t u r e dq u e r yl a n g u a g e ,结构化查询语言) 数据库访问接口,它使数据 库开发人员能够用标准j a v aa p i 编写数据库应用程序。j d b ca p i 主要用来连接 数据库和直接调用s q l 命令执行各种s q l 语句。利用j b b ca p i 可以执行一般的 s q l 语句、动态s q l 语句及带i n 和o u t 参数的存储过程。j a v a 中的j d b c 相当与 m i c r o s o f t 平台中的o d b c ( o p e nd a t a b a s ec o n n e c t i v i t v ) 。 j m s j m s ( j a v am e s s a g es e r v i c e ,j a v a 消息服务) 是一组j a v a 应用接口,它提 供创建、发送、接收、读取消息的服务。j m sa p i 定义了一组公共的应用程序接 口和相应语法,使得j a v a 应用能够和各种消息中间件进行通信,这些消息中间 件包括i b m m os e r i e s 、m i c r o s o f tm s m q 及纯j a v a 的s o n i c m q 。通过使用j m sa p i , 开发人员无需掌握不同消息产品的使用方法,也可以使用统一的j m sa p i 来操纵 各种消息中间件。通过使用j m s ,能够最大限度地提升消息应用的可移植性。j m s 既支持点对点的消息通信,也支持发布订阅式的消息通信。 由于j 2 e e 应用程序组件一般分布在不同的机器上,所以需要一种机制以便 于组件客户使用者查找和引用组件及资源。在j 2 e e 体系中,使用j n d i ( j a v a n a m i n ga n dd i r e c t o r yi n t e r f a c e ) 定位各种对象,这些对象包括e j b 、数据库 驱动、j d b c 数据源及消息连接等。j n d ia p i 为应用程序提供了一个统一的接口 第二章j 2 e e 平台 来完成标准的目录操作,如通过对象属性来查找和定位该对象。由于j n d i 是独 立于目录协议的,应用还可以使用j n d i 访问各种特定的目录服务,如l d a p 、n d s 和d n s 等。 j t a j t a ( j a v at r a n s a c t i o na p i ) 提供了j 2 e e 中处理事务的标准接口,它支持事 务的开始、回滚和提交。同时在一般的j 2 e e 平台上,总提供一个j t s ( j a v a 7 r r a n s a c t i o ns e r v i c e ) 作为标准的事务处理服务,开发人员可以使用j t a 来使用 j t s 。 j c a j c a ( j 2 e ec o n n e c t o ra r c h i t e c t u r e ) 是j 2 e e 体系架构的一部分,为开发人 员提供了一套连接各种企业信息系统( e i s ,包括e r p 、s c m 、c r m 等) 的体系架构, e i s 开发商只需要开发一套基于j c a 的e i s 连接适配器,开发人员就能够在任何 的j 2 e e 应用服务器中连接并使用它。基于j c a 的连接适配器的实现,需要涉及 j 2 e e 中的事务管理、安全管理及连接管理等服务组件。 j m x j m x ( j a v am a n a g e m e n te x t e n s j o n s ) 的前身是j m a p i 。j m x 致力于解决分布式 系统管理的问题。j m x 是一种应用编程接口、可扩展对象和方法的集合体,可以 跨越各种异构操作系统平台、系统体系结构和网络传输协议,开发无缝集成的面 向系统、网络和服务的管理应用。j m x 是一个完整的网络管理应用程序开发环境, 它刷时提供了厂商需要收集的完整的特性清单、可生成资源清单表格、图形化的 用户接口;访问s n m p 的网络a p i ;主机间远程过程调用:数据库访问方法等。 j a a s ( j a v aa u t h e n t i c a t i o na n da u t h o r i z a t i o ns e r v i c e ) 实现了一个j a v a 版本的标准p l u g g a b l ea u t h e n t i c a t i o nm o d u l e ( p a m ) 的框架。j a a s 可用来进行 用户身份的鉴定,从而能够可靠并安全地确定谁在执行j a v a 代码。同时j a a s 还 能通过对用户进行授权,实现基于用户的访问控制。 j a c c j a c c ( j a v aa u t h o r i z a t i o ns e r v i c ep r o v i d e rc o n t r a c tf o rc o n t a i n e r s ) 6 第二章j 2 e e 平台 在j 2 e e 应用服务器和特定的授权认证服务器之间定义了一个连接的协议,以便 将各种授权认证服务器插入到j 2 e e 产品中去。 通过使用j a x r p c ( j a v aa p i f o rx m l b a s e dr p c ) ,已有的j a v a 类或j a v a 应用都能够被重新包装,并以w e bs e r v ic e s 的形式发布。j a xr p c 提供了将r p c 参数( i n o u t ) 编码和解码的a p i ,使开发人员可以方便地使用s o a p 消息来完成 r p c 调用。同样,对于那些使用e j b ( e n t e r p r i s ej a v a b e a n s ) 的商业应用而言, 同样可以使用j a x r p c 来包装成w e b 服务,而这个w e bs e r v j c e 的w s d l 界面是 与原先的e j b 的方法是对应一致的。j a x r p c 为用户包装了w e b 服务的部署和实 现,对w e b 服务的开发人员而言,s o a p w s d l 变得透明,这有利于加速w e b 服务 的开发周期。 j a x r ( j a v aa p if o rx m lr e g i s t r i e s ) 提供了与多种类型注册服务进行交 互的a p i 。j a x r 运行客户端访问与j a x r 规范相兼容的w e bs e r v c i c e s ,这里的 w e bs e r v i c e s 即为注册服务。一般来说,注册服务总是以w e bs e r v i c e s 的形式 运行的。j a x r 支持三种注册服务类型:j a x rp 1 u g g a b lep r o v i d e r 、 r e g i s t r y s p e c i f i cj a x rp r o v i d e r 、j a x rb r id g ep r o v d e r ( 支持u d d ir e g i s t r y 和e b x m lr e g is t r y r e p o s it o r y 等) 。 s a a j ( s o a pw i t ha t t a c h m e n t sa p if o rj a v a ) 是j a xr p c 的一个增强,为进 行低层次的s o a p 消息操纵提供了支持。 第三章r a t i o n a l 统一过程 第三章r a t i o n a l 统一过程 r a t i o n a lu n i f i e dp r o c e s s ( 简称r u p ) 是一套软件工程过程,主要由i v a r j a c o b s o n 的t h eo b j e c t o r ya p p r o c h 和t h er a t i o n a la p p r o c h 发展而来。同 时,它又是文档化的软件工程产品,所有r u p 的实施细节及方法导引均以w e b 文档的方式集成在一张光盘上,由r a c i o n a l 公司开发、维护并销售,当前版本 是r u p 2 0 0 0 。r u p 又是一套软件工程方法的框架,各个组织可根据自身的实际情 况,以及项目规模对r u p 进行裁剪和修改,以制定出合乎需要的软件工程过程“3 。 r u p 吸收了多种开发模型的优点,具有很好的可操作性和实用性、从它一推 出市场,凭借b o o t h 、i v a rj a c o b s o n 、以及r u m b a u g h 在业界的领导地位、以及 与统一建模语言( u n i f i e dm o d e ll a n g u a g e ,以下简称u m l ) 的良好集成、多 种c a s e 工具的支持、不断的升级与维护,迅速得到业界广泛的认同,越来越多 的组织以它作为软件开发模型框架。 r u p ( r a t i o n a lu n i t e dp r o c e s s ) 是软件开发的流程架构,它提供在一个开 发组织中分配任务和职责的基本原则。它的目标是在可控制的时间和预算内保证 开发高质量的,同时满足用户要求的软件。 最佳经验提供了一系列的软件开发方法。当它们一起使用时,最佳经验确保 能解决软件项目开发当中的典型问题”1 。r u p 的设计完全实现了六个最佳经验。 迭代开发:不断地通过一系列的软件功能的发布来逐渐完成软件开发, 每一次软件发布就是一次迭代。每次迭代中要解决的需求由项目风险决 定,最严重的风险首先解决。 管理需求:使用系统的方法来得出和记录系统需求,并管理这些需求的 变更,包括检验变更对系统造成的影响。有效的需求管理包括维护清楚 的需求状态,同时维护从需求到项目的其它工件的追踪关系。 使用基于构件的体系架构:使用构件来构造软件体系架构。构件是拥有 明确定义接口的系统内聚部件,它们对自身的内容进行严密封装。因为 它们的内容是“隐藏的”,所以构件可以被其他提供兼容接口的构件替换。 以构件为基础开发减少了解决方法的复杂性,可产生更可靠的和灵活的 体系架构,同时提供更有效的重用。 可视化建模:建立系列可视化系统模型,每一部分强调不同的重点。 这些模型使开发人员能更好的理解要开发的系统,同时在团队之间建立 良好的沟通。 持续的质量验证:持续的评估系统的功能性和非功能性质量。在每个迭 第三章r a t i o n a 统一过程 代周期进行测试。在软件开发的早期修正错误比晚期修正错误能节省更 多的花费。 管理变更:建立控制变更的方法来管理变更( 包括需求、技术、资源、 产品、平台的变更) 。项目工件中包括了如何控制变更,谁提交了变更, 什么时间这些变更被提交等。提供有效的方法来在不同的团队、版本、 产品、平台之间进行同步变更。 实施这些成功经验能够帮助软件开发机构进入一个新的高度,用可预测和可 重复的开发高质量的软件。 3 1r u p 的二维开发模型 r u p 可以用二维坐标来描述。横轴通过时间组织,是过程展开的生命周期特 征,体现开发过程的动态结构,用来描述它的术语主要包括周期( c y c l e ) 、阶段 ( p h a s e ) 、迭代( i t e r a t i o n ) 和里程碑( m “e s t o n e ) :纵轴以内容来组织为自然的 逻辑活动,体现开发过程的静态结构,用来描述它的术语主要包括活动 ( a c t i v i t y ) 、产物( a r t i f a c t ) 、工作者( w o r k e r ) 和工作流( w o r k f l o w ) 。如图3 l 所示: 图3 1r u p 的二维开发模型 3 1 1 开发过程中的各个阶段和里程碑 r u p 中的软件生命周期在时间上被分解为四个顺序的阶段,分别是:初始阶 9 第三章r a t i o n a 统一过程 段( i n c e p t i o n ) 、细化阶段( e a b o r a t i o n ) 、构造阶段( c o n s t r u c t i o n ) 和交付阶段 ( t r a n s it i o n ) 。每个阶段结束于一个主要的里程碑( m a j o rm il e s t o n e s ) ;每个阶 段本质上是两个里程碑之间的时间跨度。在每个阶段的结尾执行一次评估以确定 这个阶段的目标是否已经满足。如果评估结果令人满意的话,可以允许项目进入 下一个阶段。 1 初始阶段 初始阶段的目标是为系统建立商业案例并确定项目的边界。为了达到该目的 必须识别所有与系统交互的外部实体,在较高层次上定义交互的特性。本阶段具 有非常重要的意义,在这个阶段中所关注的是整个项目进行中的业务和需求方面 的主要风险。对于建立在原有系统基础上的开发项目来讲,初始阶段可能很短。 初始阶段结束时是第一个重要的里程碑:生命周期目标( l i f e c y c eo b j e c t i v e ) 里程碑。该目标里程碑评价项目基本的生存能力。 2 细化阶段 细化阶段的目标是分析问题领域,建立健全的体系结构基础,编制项目计划, 淘汰项目中最高风险的元素。为了达到该目的,必须在理解整个系统的基础上, 对体系结构作出决策,包括其范围、主要功能和诸如性能等非功能需求。同时为 项目建立支持环境,包括创建开发案例,创建模板、准则并准备工具。 细化阶段结束时第二个重要的里程碑:生命周期结构( h i f e c y c l e a r c h it e c t u r e ) 里程碑。生命周期结构里程碑为系统的结构建立了管理基准并使 项目小组能够在构建阶段中进行衡量。此刻,要检验详细的系统目标和范围、结 构的选择以及主要风险的解决方案。 3 构造阶段 在构建阶段,所有剩余的构件和应用程序功能被开发并集成为产品,所有 的功能被详细测试。从某种意义上说,构建阶段是一个制造过程,其重点放在管 理资源及控制运作以优化成本、进度和质量。 构建阶段结束时是第三个重要的里程碑:初始功能( i n il j a lo p e r a t io n a l ) 里 程碑。初始功能里程碑决定了产品是否可以在测试环境中进行部署。此刻,要确 定软件、环境、用户是否可以开始系统的运作。此时的产品版本也常被称为“b e t a ” 版。 4 交付阶段 交付阶段的重点是确保软件对最终用户是可用的。交付阶段可以跨越几次 迭代,包括为发布做准备的产品测试,基于用户反馈的少量的调整。在生命周期 第三章r a t i o n a l 统一过程 的这一点上,用户反馈应主要集中在产品调整,设置、安装和可用性问题,所有 主要的结构问题应该已经在项目生命周期的早期阶段解决了。 在交付阶段的终点是第四个里程碑:产品发布( p r o d u c tr e l e a s e ) 里程碑。 此时,要确定目标是否实现,是否应该开始另一个开发周期。在一些情况下这个 里程碑可能与下一个周期的初始阶段的结束重合。 3 1 2r u p 的核心工作流 r u p 中有9 个核心工作流,分为6 个核心过程工作流( c o r ep r o c e s s w o r k f l o w s ) 和3 个核心支持工作流( c o r es u p p o r tin gw o r k f o w s ) 。尽管6 个核 心过程工作流可能使人想起传统瀑布模型中的几个阶段,但应注意迭代过程中的 阶段是完全不同的,这些工作流在整个生命周期中一次又一次被使用。9 个核心 工作流在项目中轮流被使用,在每一次迭代中以不同的重点和强度重复。 1 商业建模( b u s i n e s sm o d e l i n g ) 商业建模工作流描述了如何为新的目标组织开发一个构想,并基于这个构 想在商业用例模型和商业对象模型中定义组织的过程,角色和责任。 2 需求( r e q u i r e m e n t s ) 需求工作流的目标是描述系统应该做什么,并使开发人员和用户就这一描 述达成共识。为了达到该目标,要对需要的功能和约束进行提取、组织、文档化; 最重要的是理解系统所解决问题的定义和范围。 3 分析和设计( a n a l y s i s d e s i g n ) 分析和设计工作流将需求转化成未来系统的设计,为系统开发一个健壮的 结构并调整设计使其与实现环境相匹配,优化其性能。分析设计的结果是一个设 计模型和一个可选的分析模型。设计模型是源代码的抽象,由设计类和一些描述 组成。设计类被组织成具有良好接口的设计包( p a c k a g e ) 和设计子系统 ( s u b s y s t e m ) ,而描述则体现了类的对象如何协同工作实现用例的功能。 设计活动以体系结构设计为中心,体系结构由若干结构视图来表达,结构 视图是整个设计的抽象和简化,该视图中省略了一些细节,使重要的特点体现得 更加清晰。体系结构不仅仅是良好设计模型的承载媒介,而且在系统的开发中能 提高被创建模型的质量。 4 实现( i m p l e m e n t a t i o n ) 实现工作流的目的包括以层次化的子系统形式定义代码的组织结构;以组 件的形式( 源文件、二进制文件、可执行文件) 实现类和对象:将开发出的组件作 为单元进行测试以及集成由单个开发者( 或小组) 所产生的结果,使其成为可执 第三章r a t i o n a l 统一过程 行的系统。 5 测试( t e s t ) 测试工作流要验证对象间的交互作用,验证软件中所有组件的正确集成, 检验所有的需求已被正确的实现,识别并确认缺陷在软件部署之前被提出并处 理。r u p 提出了迭代的方法,意味着在整个项目中进行测试,从而尽可能早地发 现缺陷,从根本上降低了修改缺陷的成本。测试类似于三维模型,分别从可靠性、 功能性和系统性能来进行。 6 部署( d e p lo y m e n t ) 部署工作流的目的是成功的生成版本并将软件分发给最终用户。部署工作 流描述了那些与确保软件产品对最终用户具有可用性相关的活动,包括:软件打 包、生成软件本身以外的产品、安装软件、为用户提供帮助。在有些情况下,还 可能包括计划和进行b e t a 测试版、移植现有的软件和数掘以及正式验收。 7 配置和变更管理( c o n f i g u r a t j o n c h a n g em a n a g e m e n t ) 配置和变更管理工作流描绘了如何在多个成员组成的项目中控制大量的产 物。配置和变更管理工作流提供了准则来管理演化系统中的多个变体,跟踪软件 创建过程中的版本。工作流描述了如何管理并行开发、分布式开发、如何自动化 创建工程。同时也阐述了对产品修改原因、时问、人员保持审计记录。 8 项目管理( p r o j e c tm a n a g e m e n t ) 软件项目管理平衡各种可能产生冲突的目标,管理风险,克服各种约束并 成功交付使用户满意的产品。其目标包括:为项目的管理提供框架,为计划、人 员配备、执行和监控项目提供实用的准则,为管理风险提供框架等。 g 环境( e n v i r o n m e n t ) 环境工作流的目的是向软件开发组织提

温馨提示

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

评论

0/150

提交评论