




已阅读5页,还剩68页未读, 继续免费阅读
(计算机应用技术专业论文)基于j2ee的选课系统.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着网络技术的发展和用户要求的不断提高,不受时间、空间限制b s 结 构的网上选课系统取代原有的c s 结构的选课系统已成为一种趋势。本文首先 简要介绍了面向对象的系统开发平台j 2 e e ,对象建模语言u m l 和面向对象统一 软件开发过程r 眇以及j 2 e e 核心设计模式的基本知识。然后主要介绍了以u m l 为建模语言,以r u p 为过程框架,开发基于j 2 既的网上选课系统的过程:使用 异j 例图,活动图来寻找用户需求,确立系统边界,从而建立系统的需求模型; 构建分析类,使用分析类的顺序图,活动图,合作图来描述系统的分析模型; 构建设计类,运用设计类顺序图,类图来实现了系统的设计模型:使用构件图、 部署图来描述系统的实现模型。这四个模型从不同的侧面反映系统的特性,共 同构成了一个完整的系统。考虑到组件的重用性和灵活性,在开发过程中广泛 应用了多种j 2 e e 的核心设计模式。最后还结合系统框架和部署环境分别针对 r 2 e e 的网络层、e j b 层和e i s 层的不同情况制定了以基于容器的声明性安全为 主,以可编程性安全为补充的安全策略。本文对如何运用面向对象的方法来快 速高效的开发一个复用性良好的安全的网络应用程序提供了一个良好的思路。 关键词:选课系统、j 2 e e 、u m l 、8 u p 、设计模式 a b s t r ac t w j t ht h ed e v e l o p m e n to fw e b t e c h n o l o g ya n de v e ri n c r e a s i n gu s e r s r e q u l r e 用e n t , i tb e c o 珊e sat r e n df o rt h ec o u r s es e l e c t i o ns y s t e mt h r o u g h i n t e r n e t , w h i c hh a sn ot i m e a n d s p a c er e s t r i c t i o n , t os u b s t i t u t et h e t r a d it i o n a lc o u r s es e l e c t i o ns y s t e mw i t hc sw i t hs t r u c t u r e t h ea r t i c l e f i r s tg i v e sab r i e fi n t r o d u c t i o no fo b j e c t o r i e n t e dd e v e l o p m e n t p l a t f o r m j 2 e e ,o b j e c tm o d e l i n g1 a n g u a g eu t la n do b j e c t o r i e n t e du n i f i e ds o f t w a r e d e v e l o p m e n tp r o c e s sr u pa sw e l la ss o m ec o r ej 2 e ed e s i g np a t t e r n s t h e n ad e t a i l e di n t r o d u c t i o nw a sg i v e no nt h ed e v e l o p m e n tp r o c e s so fac o u r s e s e l e c t i o n s y s t e mt h r o u g hi n t e r n e tb a s e do nj 2 e ew i t hu m la sm o d e li n g l a n g u a g ea n dr u pa sp r o c e s sf r a m e w o r k :c o n s t r u c t i n gr e q u i r e m e n tm o d e l t h r o u g hu s i n gu s e c a s e d i a g r a m sa n da c t i v it yd i a g r a m st om a k ec l e a r u s e r s 7 r e q u i r e 珊e n t a n ds y s t e m b o u n d a r y :c o n s t r u c t i n ga n a l y s i sm o d e l t h r o u g hd e s i g n i n ga n a l y s i sc l a s s e s ,a n a l y s i ss e q u e n c ed i a g r a m s ,a n a l y s i s a c t i v i t yd i a g r a m s a n ds o m ec o l l a b o r a t i o n d i a g r a m s i f n e c e s s a r y : c o n s t r u c t i n g d e s i g nm o d e lt h r o u g hd e s i g n i n gd e s i g nc l a s s e s , s e q u e n c e d i a g r a m sa n dc l a s sd i a g r a m s :c o n s t r u c t i n gi m p l e m e n t a t i o nm o d e lt h r o u g h t h ee s t a b l is h m e n to fc o m p o n e n td i a g r a m sa n dd e p l o y m e n td i a g r a m a llt h e s e f o u rm o d e l sr e f l e c ts y s t e m sc h a r a c t e r i s t i cf r o md i f f e r e n ta s p e c t sa n d t h e yt o g e t h e ra d du pt ot h ei n t e g r i t yo ft h es y s t e m t a k i n ga c c o u n to f c o m p o n e n t s r e u s a b i l i t ya n df l e x i b i l i t y ,m a n yk i n d so fc o r e j 2 e ed e s i g n p a t t e r n sh a v eb e e ne x t e n s i v e l ya p p l i e dd u r i n gt h ed e v e l o p m e n tp r o c e s s i nt h ee n d ,ar e l i a b l ea n dp r a c t i c a ls e c u r i t yp o l i c y ,i n h i c hc o n t a i n e r b a s e dd e c l a r a t i v es e c u r i t yi sd o m i n a n ta n dp r o g r a 舢a t i cs e c u r i t y is c o m p l e m e n t a r y , i sg i v e nr e s p e c t i v e l yt ot h ew e bt i e r ,e j bt i e ra n de i s t i e ro ft h es v s t e ma c c o r d i n gt ot h es y s t e mf r a m e w o r ka n dd e p l o y m e n t e n v i r o n m e n t t h i sa r t i c l ea l s os u p p l i e sag o o di d e ao nh o wt od e v e l o p ar e u s a b l ea n d s a f ew e b a p p li c a t i o nq u i c k l y w i t h o b j e c t o r i e n t e d m e t h o d 0 1 0 9 y : k e y w o r d s : c o u r s es e l e c t i o ns y s t e m ,j 2 e e ,u m l ,r u p d e s i g np 甜e m i i 第1 章绪论 1 1 网上选课概述 第1 章绪论 随着全球信息化技术的兴起,特别是计算机网络的日益普及,我国各大中 专院校也加快了信息化进程,并且都建立了自己的校园网。这为我们网络现代 化教育提供了必备的物质基础。同时,伴随着素质教育的不断推进,很多大学 都陆续采用了学分制,大学生们都可以自由选择自己感兴趣的课程。北京j 工业 大学在教学管理上较早的实现了学分制,与此相配套,也逐步实现了选课制。 现在实行的选课方式式基于c s 方式的选课方式。在每个学期的期末进行下 一学期的选课,在每个学期的开学前进行重考课程的选课。具体方法是由有关 的管理人员将c s 结构的选课软件安装在计算中心的机房的计算机上,然后学生 在规定的时间段内到机房中进行选课。这样,不但选课的地点集中,同时选课 的时间也比较集中,对选课的管理造成了很大的压力。这种选课方式的缺陷是 工作量大,工作效率低下,浪费了大量的人力物力;同时,由于选课时间一般 是安排在星期天或假期内,对正在休息中的相关老师和同学带来很多不便。随 着i n t e r n e t 的飞速发展,校园网的飞速发展而完善,采用b s 结构的教育信息系 统来取代原有的c s 结构的教育管理系统,尤其是选课系统是教育现代化的一个 必然趋势。 网上选课系统能很好的克服c s 结构的选课系统的地点集中和时间集中的 问题,选课学生可以在学校规定的选课期间通过任何一台与校园网相连的计算 机上进行选课操作,极大的方便了选课过程,同时也节约了选课的人力和物力。 新的系统采用先进的j 2 e e 体系结构和分布式应用模型对原系统进行改造和 优化设计。在本系统中程序、数据库及其它一些组件都集中在服务器端,客户 端除了浏览器外无需其它任何组件,用户需要查询的数据和文档都来源于同一 个数据源,从而保证了数据的及时性和完整性。新系统提供中间层集成框架用 来满足无需太多费用而又需要高可用性、高可靠性以及可扩展性的应用的需求。 通过提供统一的开发平台,j 2 e e 降低了开发多层应用的费用和复杂性,同时提 供对现有应用程序集成强有力支持,有良好的向导支持打包和部署应用,添加 北京工学大学工学硕士学位论文 目录支持,增强了安全机制,提高了性能。 随着时间的推移,用户需求可能会不断发生变化,当选课处理逻辑发生变 化时,只需在服务器端修改程序,重新发布即可,使开发发布过程方便轻松, 对用户没有任何影响。 1 2j 2 e e 技术简介 j 2 e e ( j a v a 2e n t e r p r i s ee d i t i o n ) 是种利用j a v a2 平台来简化企业鼹 决方案的开发、部署和管理相关的复杂问题的体系结构。 1 2 1j 2 髓的四层模型 j 2 e e 使用多层的分布式应用模型,应用逻辑按功9 & 划分为组件,各个应 用组件根据他们所在的层分布在不同的机器上。j 2 e e 的多层企业级应用模型 将两层化模型中的不同层面切分成许多层。一个多层化应用能够为不同的每 种服务提供一个独立的层,以下是j 2 e e 典型的四层结构: 1 、运行在客户端机器上的客户层组件。 2 、j 2 e e 应用程序可以是基于w e b 方式的,也可以是基于传统方式的。j 2 髓 的w e b 层组件可以是j s p 页面或s e r v l e t s 。按照j 2 e e 规范,静态的h t 札页面 和a p p l e t s 不算是w e b 层组件。w e b 层可能包含某些j a v a b e a n 对象来处理用户 输入,并把输入发送给运行在业务层上的e j b 来进行处理。 3 、运行在j 2 e e 服务器上的业务逻辑层组件。业务层代码的逻辑用来满足 商务领域的需要,由运行在业务层上的e j b 进行处理。e j b 从客户端程序接收 数据,进行处理,并发送到e i s 层储存的,这个过程也可以逆向进行。有三种 e j b :会话( s e s s i o n ) b e a n s 实体( e n t i t y ) b e a n s ,和消息驱动 ( m e s s a g e d r i v e n ) b e a n s 会话b e a n 表示与客户端程序的临时交互当客户端 程序执行完后,会话b e a n 和相关数据就会消失相反,实体b e a n 表示数据库 的表中一行永久的记录。当客户端程序中止或服务器关闭时,就会有潜在的服 务保证实体b e a n 的数据得以保存。消息驱动b e a n 结台了会话b e a n 和州s 的消息监听器的特性,允许一个业务层组件异步接收j m s 消息。 2 第1 章绪论 4 、运行在e i s 服务器上的企业信息系统( e n t e r p r i s ei n f o r m a t i o ns y s t e m ) 层软件。企业信息系统层处理企业信息系统软件包括企业基础建设系统例如企 业资源计划( e r p ) ,大型机事务处理,数据库系统,和其它的信息系统。例如, j 2 e e 应用组件可能为了数据库连接需要访问企业信息系统。 1 2 2 j 2 髓的结构 基于组件,具有与平台无关性的j 2 e e 结构使得j 2 e e 程序的编写十分简单, 因为业务逻辑被封装成可复用的组件,并且j 2 e e 服务器以容器的形式为所有的 组件类型提供后台服务,可以集中精力解决手头的业务问题。容器设置定制了 j 2 e e 服务器所提供得内在支持,包括安全,事务管理,州d i ( j a v an a j n i n ga n d d i r e c t o r yi n t e r f a c e ) 寻址,远程连接等服务,以下列出最重要的几种服务: j 2 e e 安全( s e c u r i t y ) :容器可以配置w e b 组件或e j b ,这样只有被授权的 用户才能访问系统资源。每一客户属于一个特别的角色,而每个角色只允许激 活特定的方法。应在e j b 的布置描述中声明角色和可被激活的方法。 j 2 e e 事务管理( t r a n s a c t i o nm a n a g e m e n t ) :容器指定组成一个事务中所 有方法间的关系,这样一个事务中的所有方法被当成一个单一的单元当客户 端激活一个e n t e r p r i s eb e a n 中的方法,容器介入管理事务。你只需在布置描 述文件中声明e n t e r p r i s eb e a n 的事务属性,而不用编写并调试复杂的代码。 容器将读此文件并为你处理此e j b 的事务。 j n d i 寻址( j n d il o o k u p ) :服务向企业内的多重名字和目录服务提供了一 个统一的接口。 生存周期管理( l i f ec y c l em a n a g e m e n t ) :容器管理e j b 的创建和移除,一 个e j b 在其生存周期中将会历经几种状态。容器仓0 建e j b ,并在可用实例池与活 动状态中移动他,而最终将其从容器中移除。 数据库连接池( d a t a b a s ec o n n e c t i o np o o l i n g ) :获取数据库连接是一项 耗时的工作,而且连接数非常有限。容器通过管理连接池来缓和这些问题。e j b 可从池中迅速获取连接,释放连接之可为其他b e a n 使用。 北京工学大学工学硕士学位论文 1 2 3j 2 e e 的核心a p i 与组件 j 2 e e 平台由一整套服务、应用程序接口和协议构成,它对开发基于w e b 的 多层应用提供了功能支持。 j d b c ( j a v ad a t a b a s ec o r u l e c t i v i t y ) :j d b ca p i 为访问不同的数据库提供 了一种统一的途径,象o d b c 一样,j d b c 对开发者屏蔽了一些细节问题,另外, j d b c 对数据库的访问也具有平台无关性。 j n d i ( j a v an 鲫ea f l dd i r e c t o r yi n t e r f a c e ) :j n d ia p i 被用于执行名字和 目录服务。它提供了一致的模型来存取和操作企业级的资源如d n s 和l d a p ,本 地文件系统,或应用服务器中的对象。 e j b ( e n t e r p r i s ej a v a b e a n ) :j 2 e e 技术之所以赢得广泛重视的原因之一就 是e j b 。它们提供了一个框架来开发和实施分布式商务逻辑,由此显著地简化了 具有可伸缩性和高度复杂的企业级应用的开发。e j b 规范定义了e j b 组件在何时 如何与它们的容器进行交互作用。容器负责提供公用的服务,例如目录服务、 事务管理、安全性、资源缓冲池以及容错性。正是由于j 2 e e 的开放性,使得有 的厂商能够以一种和e j b 平行的方式来达到同样的目的。 跚i ( r e t em e t h o di n v o k e ) :r m i 协议调用远程对象上方法。它使用了序 列化方式在客户端和服务器端传递数据。脒i 是一种被e j b 使用的更底层的协 议。 j a v ai d l c o r b a :在j a v ai d l 的支持下,可以将j a v a 和c o r 队集成在一起。 可以创建j a v a 对象并使之可在c o r b ao r b 中展开,还可以创建j a v a 类并作为和 其它o r b 一起展开的c o r b a 对象的客户。后一种方法提供了另外一种途径,通 过它j a v a 可以被用于将新的应用和旧的系统相集成。 j s p ( j a v as e r v e rp a g e s ) :j s p 页面由h t m l 代码和嵌入其中的j a v a 代码组 成。服务器在页面被客户端所请求以后对这些j a v a 代码进行处理,然后将生成 的h t m l 页面返回给客户端的测览器。 j a v as e r v l e t :s e r v l e t 是一种小型的j a v a 程序,它扩展了w e b 服务器的 功能。作为一种服务器端的应用,当被请求时开始执行。s e r v l e t 提供的功能大 多与j s p 类似,不过实现的方式不同。j s p 通常是大多数h t 6 f i l 代码中嵌入少量 的j a v a 代码,而s e r v l e t s 全部由j a v a 写成并且生成h t m l 。 4 第1 章绪论 j 1 r a ( j a v 8t r a n s a c t i o na r c h i t e c t u r e ) :j t a 定义了一种标准的a p i ,应用 系统由此可以访问各种事务监控。 j t s ( j a v at r a n s a c t i o ns e r v i c e ) :j t s 是c o r b ao t s 事务监控的基本的实 现。j t s 规定了事务管理器的实现方式。该事务管理器是在高层支持j a v a t r a n s a c t i o na p i ( j t a ) 规范,并且在较底层实现o m go r r ss p e c i f i c a t i o n 的j a v a 映像。j t s 事务管理器为应用服务器、资源管理器、独立的应用以及通信资源管 理器提供了事务服务。 1 3 统一建模语言u 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 统一建模语言) ,属于第三代面向对象开 发的编制文档可开发的方法,由g r a d yb o o c h ,j a i i l e sr u l n b a u g h 和i v a rj a c o b s o n 三位著名的方法学家提出,已经成为业界标准。u m l 不是可视化的程序设计语 言,而是一种可视化的建模语言。 u 儿构架u m l 由图和元模型组成,其中,图是语法,而元模型是语义。u m l 语 义定义在一个四层( 也就是四个抽象级) 建模概念框架中,这四层分别是: 元元模型( m e t a m e t am o d e l ) 层:组成u m l 最基本的元素事务( t h i n g ) ”, 代表要定义的所有事物。 元模型( m e t am o d e l ) 层:组成u m l 基本元素,包括面向对象和面向组件的 概念,这一层的每个概念都是元元模型中”事物概念的实例。 模型( m o d e l ) 层:组成u m l 的模型,这一层中的每个概念都是元模型中概 念的一个实例,这层的模型通常叫做类模型( c l a s sm o d e l ) 或类型模型( t y p e m o d e l ) 。 用户模型( u s e rm o d e l ) 层:这层中的所有元素都是u m l 模型的例子,这层 的每个概念都是模型层的一个实例( 通过分类) ,也是元模型层的一个实例( 通 过版类化) ,这层模型通常叫做对象模型( o b j e c tm o d e l ) 或实例模型( i n s t a n c e 耵l o d e l ) 。 u 肌可以由下列五类图( 共9 种图形) 来定义 用例图( u s e rc a s ed i a g r a m ) :从用户角度描述系统功能,并指出各功能的 操作者 北京工学大学工学硕士学位论文 静态图( s t a t i cd i a g r 鲫) :包括类图、对象图和包图。其中类图描述系统 中类的静态结构。不仅定义系统中的类,表示类之间的联系如关联、依赖、聚合 等,也包括类的内部结构( 类的属性和操作) 。类图描述的是一种静态关系,在系 统的整个生命周期都是有效的。对象图是类图的实例,几乎使用与类图完全相同 的标识。他们的不同点在于对象图显示类的多个对象实例,而不是实际的类。一 个对象图是类图的一个实例。由于对象存在生命周期,因此对象图只能在系统某 一时间段存在。包由包或类组成,表示包与包之间的关系。包图用于描述系统的 分层结构。 行为图( b e h a v i o rd i a g r 锄) :描述系统的动态模型和组成对象间的交互关 系。其中状态图描述类的对象所有可能的状态以及事件发生时状态的转移条件。 通常,状态图是对类图的补充。而活动图描述满足用例要求所要进行的活动以及 活动间的约束关系,有利于识别并行活动。 交互图( i n t e r a c t i v ed i a g r a m ) :描述对象间的交互关系。其中顺序图显示 对象之间的动态合作关系,它强调对象之间消息发送的顺序,同时显示对象之间 的交互。合作图描述对象间的协作关系,合作图跟顺序图相似,显示对象间的动 态合作关系。除显示信息交换外,合作图还显示对象以及它们之间的关系。如果 强调时间和顺序,则使用顺序图:如果强调上下级关系,则选择合作图。这两种图 舍称为交互图。 实现图( i m p l e m e n t a t i o nd i a g r a l i i ) :其中构件图描述代码部件的物理结构 及各部件之间的依赖关系。一个部件可能是一个资源代码部件、一个二进制部 件或一个可执行部件。它包含逻辑类或实现类的有关信息。部件图有助于分析 和理解部件之间的相互影响程度。部署图定义系统中软硬件的物理体系结构。 它可以显示实际的计算机和设备( 用节点表示) 以及它们之间的连接关系,也可 显示连接的类型及部件之间的依赖性。在节点内部,放置可执行部件和对象以显 示节点跟可执行软件单元的对应关系。 1 3 1 j 2 髓组件的u 肌表示 当我们试图用删l 来对j 2 e e 应用程序进行建模时,会发现j 2 e e 程序的一 些组件很难和标准的u m l 元素对应起来。为了解决这个问题,u 札必须进行扩展, 第f 章绪论 这对u m l 来说是可能的,因为u m l 本身有很好的扩展机制,通过扩展和网络有 关的组件就可以和应用程序中的其他的组件模型之间完美的结合起来。下面我 们就针对性的谈谈这种扩展。 e j b 的u 礼模型 s u nj a v ac o m u n i t yp r o c e s s 在j s r 一2 6 开发了e j b 的u m l 模型。它显示了 构成e j b 的各种元素之闯的关系,特别是h o m e 和r e t e 接口和e j 8 实现类。 由于e j b 并不真正实现h o m e 和r e m o t e 接口( 它们是通过配置工具自动产生的 对象实现的) ,因此关系并不是实现h o m e 和r e m o t e 接口两是分别产生 e j b r e a l i z e h o m e 和耵b r e a l i z e r e m o t e 巾o m e 和r e m o t e 接口的依赖关系表明h o m e 接口实例化r e m o t e 接口。图卜1 所示的就是个t e s t e j b 的会话b e 8 n 中各个 组成部分和它们之间的关系。 图卜1e j b 的u 地表示 f i g u r e1 1e j 8i nu m l 7 s e r v l e t 的u 札建模 在扩展的u m l 中s e r v l e t 在建模是被当作一般的类来处理的,s e r v l e t 和普 通的类来进行区别以及不同的s e r v l e t 间的区别是通过原型的设置来实现的。 j s p 的u m l 建模 j s p 的建模是个比较棘手的问题,因为在j s p 中部分是属于服务器端的程序, 如用j a v a b e a n 写的数据库连接程序和动态显示的内容等;部分是属于客户端的 内容,如用j a v a s c r i p t 和v b s c r i p t 的语言写的客户端判断程序以及页面显示 的内容。解决的办法是将j s p 建模成两个独立的逻辑实体类:一个类是s e r v e r p a g e ,它抽象了j s p 在服务其端的行为;一个类是c l i e n tp a g e ,它抽象了j s p 在客户端的逻辑。同时c l i e n tp a g e 也可以用来表示h t m l ,在客户端的表单用 扩展的原型f o r m 来表示。s e r v e rp a g e 和c l i e n tp a g e 的关系是b u i l d ,表示后 者是前者构建出来的。c l i e n tp a g e 间以及c l i e n tp a g e 和s e r v e rp a g e 之间的 关系是l i n k 的关系。图卜2 表示是的是一个含有表单的h t m l 网页向j s p 网页 之间的关系。 图卜2j s p 的叫l 表示 f i g u r el 一2j s pi nu m l 第1 章绪论 1 4 统一软件开发过程r u p 1 4 1 r u p 的特点 统一过程是一个通用过程框架,是基于组件的。统一过程使用的是统一建 模语言( u n i f i e dm o d e l i n gl a n g u a g e ) 。统一过程与众不同的方面表现在:用 例驱动的、以基本架构为中心的、迭代式和增量性的。统一过程是用例驱动的 开发软件系统的目的是要为该软件系统的用户服务。要创建一个成功的软件系 统,必须明白其潜在用户需要什么。一个用例就是系统中向用户提供一个有价 值的结果的某项功能。用例捕捉的是功能性需求。所有用例结合起来就构成了 用例模型,该模型描述系统的全部功能。它们还驱动系统的设计、实现和测试。 用例不仅启动了开发过程,而且与开发过程结合在一起。用例驱动意指开发过 程将遵循一个流程:它将按照一系列由用例驱动的工作流程来进行。首先是定 义用例,然后是设计用例,最后,用例是测试人员构建测试案例的来源。 我们应将用例与系统架构协同开发。随着生命期的继续,系统架构和用例 都逐渐成熟。软件系统的基本架构被描述成要创建的系统的各种不同视图。软 件基本架构这个概念体现了系统最为静态和动态的方面。基本架构根据企业的 需求来设计,而这种需求则是由用户和其他利益关联人所感知,并反映在用例 之中。然而,它还受其他许多因素的影响:软件运行的平台( 例如计算机基本 结构、操作系统、数据库管理系统和网络通信协议等) 、可得到的可再用构件( 比 如图形用户界面框架) 、配置方面的考虑、已有系统和非功能性需求( 比如性能 和可靠性) 等。基本架构是一个关于整体设计的视图,在这个视图中,省略了 一些细节,以使软件的更为重要的特征体现得更为明显。软件功能与用例相对 应,而形式当与基本架构相对应。在实践中,基本架构和用例必须平行开发。 这个过程的简单描述:架构设计师首先从不与特定的用例相关的部分着手来创 建基本架构的大致轮廓。其次,设计人员应当从已经确认的用例子集着手开始 工作,这些用例是指那些代表待开发系统的关键功能的用例。每个选定的用例 都应当被详细描述,并在子系统、类和组件层次上实现。随着用例已经被定义 并且逐渐成熟,基本架构就越来越成形了。而这种状况,反过来又导致更多用 例的成熟。这个过程会不断持续下去,直至基本架构被认定为稳定了为止。 北京工学大学工学硕士学位论文 开发一个大的商业软件产品应将此种工作分解成若干更小的部分或若干小 项目是切合实际的。每个小项目是指能导致一个增量的一次迭代。迭代必须受 到控制。在每次迭代中,如果达到了它的目标( 通常如此) ,那么开发过程就进 入下一次迭代的开发了。一个受控制的迭代过程的好处有很多:首先受控制的 迭代降低了在一个增量上的开支风险。其次受控制的迭代降低了产品无法按照 既定进度表进入市场的风险。第三、受控制的迭代加快了整个开发工作的进度。 最后,受控制的迭代承认用户的需要和相应的需求并不能在一开始就作出完全 的界定。它们通常都是在后续迭代中不断被细化的。此种作业模式使得适应需 求的变化更为容易。 1 4 2 r u p 的生命周期 统一过程将重复一系列生命期,这些生命期构成了一个系统的寿命。每个 生命期都以向客户推出一个产品版本而结束。每个周期包括四个阶段:开始阶 段、确立阶段、构建阶段和移交阶段。通过一系列的模型,利益相关人可以直 观地看到这些阶段的进展状况。在每个阶段中,开发人员还可能进一步对工作 进行细分:分成多次迭代并确保增量。每个阶段都结束于一个里程碑。我们以 一组获得的成果来定义每个里程碑。里程碑用于许多目的。最重要的是,在工 作进入下一个阶段之前,管理人员必须作出某些关键决策。里程碑还能帮助管 理人员以及开发人员在开发工作经过这四个关键点时监控工作进度。最后,通 过对每个阶段上花费的时间和精力进行追踪,我们还能获得一组数据。 用例模型,这个模型表明了所有用例和这些用例与用户之间的关系 分析模型,该模型有两个目的:更加详尽地细化用例,以及将系统的行为初 步分配给一组提供这些行为的对象。 设计模型,该模型以子系统、类和接口的形式定义系统的静态结构,以子系 统、类和接口之间的协作来定义用例的实现。 实现模型该模型包括组件( 代表源代码) 和类向组件的映射。 配置模型该模型定义计算机的物理节点和组件向这些节点的映射。 测试模型,该模型描述那些用来验证用例的测试实例。 在开始阶段的主要任务根据用户需求建立最关键的用例,确立试验性的基本 1 0 第l 章绪论 架构,最重要的风险的确认,并按优先次序进行了排列,对整个系统进行粗略 的评估。 在确立阶段,产品中的大部分用例被详细地定义下来,系统基本架构也被 设计出来。基本架构被表示为系统中所有模型的视图。在确立阶段确定的最关 键的用例被实现。关键的问题是用例、基本架构和计划是否足够稳定,风险是 否已经处在有效控制之下。 在构建阶段,产品被建构被添加到骨架( 即基本架构) 上。尽管系统的基 本架构是稳定的,但是,由于开发人员可能发现结构化系统的更好的方式,因 此,他们可能会建议架构设计师对基本架构进行一些小修小补。这个阶段的里 程碑的问题是,该产品是否有效地满足了客户的需求,可以向某些客户提前交 付该产品。 移交阶段是指产品发布测试版的阶段。移交阶段涉及诸如制造、培训客户 人员、提供热线帮助和修正产品发布后发现的缺陷等活动。 统一过程是基于组件的。它利用了新的可视建模标准u m l ,并依赖于三个 关键观点:用例、基本架构、迭代和增量开发。要使这些观点可用,需要一个 多层面的过程,该过程应当考虑到生命期、阶段、工作流程、风险缓和、质量 控制、项目管理和配置控制等。统一过程确立了一个集成了所有这些因素的框 架。这个框架就像一把雨伞,在它下面,工具提供商和开发者可以构建工具来 支持该过程的自动化、支持各个工作流程、构建所有不同的模型,并在整个生 命期和所有的模型中集成这些工作。 1 5 j 2 e e 的核心设计模式 设计模式是一个证明可行的并经常重复出现的设计问题。设计模式集中体 现了其他开发者的在开发过程中积累并为实践证明有效可行的知识和经验,是 对相同的问题可重复使用的解决方案。每一个设计模式都是针对单个的问题提 出的,但是不同的设计方案可以以不同的方式组合起来,从而获得对整个系统的 更好的解决方案。具体对于j 2 e e 平台来说,人们总结出以下几种常用而有效的 设计模式,这些设计模式包括: 截取过滤器( i n t e r c e p t i n gf i l t e r ) 北京工学大学工学硕士学位论文 这种模式应用于请求的预处理或后处理。它在处理一个请求时需要实现的 附加服务,例如:一个实现了s e r v l e t 过滤器接口的截取过滤器能处理所有向 网站发出的请求并且集中提供认证的处理机制。由于不同的截取过滤器时可以 连接形成过滤器链,故其可扩展性非常好,即对同一请求可以实现一系列的集 中处理机制。例如,我们可以对特定网页的请求进行多重认证。 视图协助器( v i e wh e l p e r ) 一个视图协助器封装了一个视图的表示和数据存取逻辑部分。从而保证了 视图的精练简单。表示逻辑关注的是数据在网页上的显示格式,而数据存取逻 辑则涉及到数据的查找。视图协助器经常用j s p 标签来实现表示逻辑,用 j a v a b e a n s 实现数据获取。 复合视图( c o m p o s i t ev i e w ) 这种模式通构造一个模板来处理一个视图相同的网页元素,时视图的表示 更加容易管理。通常,网页既包含有动态内容也包含有诸如标题、页脚、徽标、 背景类的静态内容。动态部分对于不同的网页是不同的,但是静态部分对于每 一页却是不变的。复合视图模板就是捕捉这些相同的特征的。 前端控制器( f r o n tc o n t r o l l e r ) 这种是设计模式提供了一种管理请求的集中控制器。前端控制器接受所有 来自于客户端的请求,然后把这些请求发送到和是的请求处理器并且发给客户 端合适的响应。 数值对象( v a l u eo b j e c t ) 这种模式通过减少分布式对象之间的通讯从而使j 2 e e 的不同层( 通常是 w e b 层和e j b 层之间) 之间的数据交换更加方便。在一次远程调用中,一个单一 的数值对象可以用来获取一系列的对客户端来说有用的相关数据。 会话虚包( s e s s i o nf 8a d e ) 这种模式协调各个相互作用的业务对象,把各种应用功能统一成一个单一 简单接口,这样表示层就可以只和这个接口打交道。它封装并隐藏了类的复杂 性,避免了用复杂的方式和这些特定的类打交道。s e s s l 0 nf aa d e 通常用 s e s s i o nb e a n 来实现,隐藏了e j b 的各种相互作用。 数据存取对象( d a t aa c c e s so b j e c t ) 这种模式把数据存取抽象到一个特定的资源。它将系统资源的接口和在下 第1 章绪论 面的存取资源的策略进行分离。通过封装数据存取调用,数据存取对象可以对 不同数据库进行访问。 快速读取器( f a s tl a n er e a d e r ) 有时应用程序以表格的形式来访问数据,比如,当浏览分类标后一列姓名 时或批量输出数据到别的地方使用。这种数据存取经常是只读的。在这种情况 下使用e n t i t y b e a n 来代表持久性数据会导致效率低下,优点很少。因为 e n t i t y b e a n s 最适合于对业务实体的大粒度存取,而对大量的表格数据的只读性 访问则并不是很有效。快速读取器设计模式提供了一种更有效的方法来访问只 读性表格数据。快速读取器组件通过j d b c 组件直接访问持久性数据,不再通过 e n t i t y b e a n 。其结果因为组件用表格表示的方式和数据使用时的形式相近而提 高了性能,减少了编码。 服务定位器( s e r v i c el o c a t o r ) 企业级应用需要有一种方法查找提供进入分布式组件的服务对象。j 2 e e 应 用程序使用j a v a 命名和目录接口( j n d i ) 来寻找e j b 的h o m e 接口、j a v a m e s s a g es e r v i c e ( j m s ) 组件、数据源连接和连接工厂。重复的查寻代码使代 码难以阅读和维护。并且,不必要的j n d i 初始上下文的构造和服务对象的查寻 也会导致性能的问题。服务定位器设计模式集中了分布式服务对象的查寻,提 供了一个集中控制点,也可以作为一个缓冲区来消除多余的查寻。它同时也封 装了查寻过程的些和提供上有关的特征。 数值集处理器( v a l u el i s th 扑d l e r ) 网络应用经常允许使用者浏览大量的数据,如查询结果集,这类数据再现 实际使用中不会传到客户端。访问这种数据经常是只读和双向的,并且数据经 常在前几个数据被检查和丢掉。使用e n t i t yb e a n s 来代表数据一的好处不多但 极为浪费系统资源。特别要指出的是,f i n d e r 方法不提供缓冲、翻页和随即 访问结果集的方法,这样就限制了数据选择功能。数值集处理器设计模式提供 了一种更加有效的方法来在层间遍历大型的只读列表。数值集处理器为客户端 提供了访问一个驻留在另外一个应用层的虚拟列表的遍历器。典型的情况下, 遍历器访问一个本地的有序的数值对象集合,这个数值对象代表一个大的列表 的子区域。 不同的模式适合不同的应用层。例如,和视图及表示有关的模式应用在网 北京工学大学工学硕士学位论文 络层,如复合视图和视图协助器。如果模式更注重业务逻辑的控制,他们在e j b 层则会更有用一些,会话虚包就是一个很好的例子。如果模式着眼于数据获取 或操作的委托,他们最使用于层间。数值对象和业务代理模式应归于此类。 1 6 选课系统的系统构架 1 6 1 应用程序框架的选择 m v c ( m o d e 卜v i e w c o n t r 0 1 l e r ) ,是设计模式的一种。w c 设计模式是将对 象分成三类:模型对象专门用来包装应用程序的状态,视图用来负责屏幕上的 展现,控制器则负责定义应用程序的各种动作和反应。 视图是用户看到并与之交互的界面。对老式的w e b 应用程序来说,视图就 是由h t m l 元素组成的界面,在新式的b 应用程序中,h t 依旧在视图中扮演 着重要的角色,但一些新的技术已层出不穷,它们包括f l a s h 和标识语言及w e b s e r v i c e s 。m v c 一个大的好处是它能为你的应用程序处理很多不同的视图。在视 图中其实没有真正的处理发生,不管这些数据是联机存储的还是个雇员列表, 作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。 模型表示企业数据和业务规则。在w c 的三个部件中,模型拥有最多的处 理任务。例如它可能用象e j b 这样的构件对象来处理数据库。被模型与数据格 式无关,这样一个模型能为多个视图提供数据。由于应用于模型的代码只需写 一次就可以被多个视图重用,所以减少了代码的重复性。 控制器接受用户的输入并调用模型和视图去完成用户的需求。所以当单击 w e b 页面中的超链接和发送h t m l 表单时,控制器本身不输出任何东西和做任何 处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后用确定用哪 个视图来显示模型处理返回的数据。 m v c 的处理过程,首先控制器接收用户的请求,并决定应该调用哪个模型 来进行处理,然后模型用业务逻辑来处理用户的请求并返回数据,最后控制器 用相应的视图格式化模型返回的数据,并通过表示层呈现给用户。 小的应用程序常常是要么不使用程序框架,要么是使用简单的请求分配机 制和松散的代码编写规范。而大的应用程序则经常采用m v c 应用程序框架,因 为应用这种框架的程序的结构稳定,m 1 ,c 的功能分离,从而使程序更可靠,更 容易维护和扩展,同时为这种框架开发的应用组件常常更容易再用。也就是这 些原因,我们的选课系统决定采用m v c 应用程序构架。而j 2 e e 的四层结构便是 这种m v c 模式的最好实现。 1 6 2 分布构架 在分布式构架中,客户端通过远程接口来访问e j b 组件。而远程的e j b 提 高了扩展性和可靠性。远程通讯的较高的代价使之最适合粗粒度的操作。本地 的e j b 组件与其客户端处于相同的j 、, i ,从而可以避免远程过程调用。本地e j b 可以以较高的效率的连接细粒度的商业逻辑。本选课系统使用本地客户端视图 来提高性能,可以简化开发。 1 6 3 事务控制机制 j 2 e e 的事务可以通过代码
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- Z世代消费行为对品牌形象塑造的影响:2025年新消费品牌形象报告
- 2025年医院电子病历系统在医院信息化建设中的远程诊断应用报告
- 土壤改良技术革新:2025年新型土壤改良剂研发成果与应用报告
- 2025年医药行业CRO模式下的临床试验伦理审查与合规性评估报告
- 2025年工业废气催化燃烧技术环保设备行业发展趋势与市场分析报告
- 老年教育课程设置与教学方法创新基于2025年老年教育信息化建设的实践研究报告
- 保险考试题库及答案
- 线下演出市场复苏:2025年演出行业产业链协同创新报告
- 安全再培训试题及答案
- 安全试题100道及答案
- 健康中国战略实施
- 中学音乐学科融合课程设计
- 《银河基金公司简介》课件
- 健康管理的五个基本原则
- 《环境化学》戴树桂(第二版)-课后习题与参考答案
- 建设工程法规 课件 项目3 施工许可法律制度
- 阀杆推力、操作扭矩及-美国太平洋算法-闸阀、截止阀
- DL/T 5196-2016 火力发电厂石灰石-石膏湿法烟气脱硫系统设计规程
- 国家开放大学-机电控制与可编程控制器课程专题报告
- 前行第23节课(仅供参考)
- 建设工程监理费计算器(免费)
评论
0/150
提交评论