




已阅读5页,还剩69页未读, 继续免费阅读
(计算机软件与理论专业论文)vb60既存系统web化解决方案.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 摘要 随着i n t e r n e t 技术的发展,w e b 系统开发已经成为企业信息系统开发的 一个重要组成部分。同时,目前存在着大量的既存系统,不能够简单抛弃, 所以全球掀起了将既存非w e b 系统w e b 化,即w e b 再工程浪潮,于是不同企 业针对自己的产品纷纷提出各自的w e b 化解决方案。 w e b 再工程作为再工程研究的一个重要领域,一般多从既存系统特点的分 析出发,强调既存系统和w e b 系统的编程语言差异,以自动化的开发语言语 法移植为研究重点,还有一些研究侧重面向过程语言的对象化包装。 作为两大企业平台之一的m i c r o s o f t n e t ,以其强大的功能和开发支持, 成为既存w i n d o w s 系统w e b 化目标框架的首选。微软为v b 6 0 升级到7 b n e t 提供了工具支持。但是对于因既存系统和目标w e b 系统在架构模式上存在的 差异而必须进行的系统重构,没有提供直接的支持。 w e b 再工程的系统重构是一个很复杂的问题,本文将以v b 6 0 既存系统作 为研究对象,总结w e b 化升级过程的方案和经验,在此基础上,提出一种基 于架构模式的w e b 化解决方案。并且以m v c 模式为例,对该方案给出一个具 体的实施过程。最后,在北京工业大学软件工程研究所面向模式的再工程自 动化解决方案a s - v 基础上,构筑了针对n e t 的自动化解决方案一一 a s - v n e t 。这个自动化解决方案为n e tw e b 化工作者提供了自动化支持,并 且保留过程中的经验数据和工具,使v b 6 0 既存系统向m i c r o s o f t n e t 进行 w e b 化的过程更加简单。从而提高工作的效率,降低副作用。 关键词w e b 再工程;m i c r o s o r n e t ;既存系统;目标系统;架构模式 a b s tr a c t w i t ht h ed e v e l o p m e n to fi n t e r n e tt e c h n o l o g y t h ew e bs y s t e m s d e v e l o p m e n th a sa l r e a d yb e c a m ea ni m p o r t a n tp a r to ft h ee n t e r p r i s e i n f o r m a t i o ns y s t e m a tt h es a m et i m e ,t h e r ea r el o t so fl e g a c ys y s t e m s , t h a tc a n 7 tb ej u s ta b a n d o n e d ,s oh o wt om i g r a t et h e mt ow e b ,w h i c hi s k n o w na sw e br e e n g i n e e r i n g ,h a sb e c a m ean e wf o c u s ,a n ds o m ee n t e r p r i s e s p r o v i d es o l u t i o n so fm i g r a t i n gl e g a c ys y s t e m st ow e bw h i c ha r er e l a t e d t ot h e i ro w np r o d u c t s a sa ni m p o r t a n tt o p i co fr e e n g i n e e r i n gr e s e a r c h ,w e br e e n g i n e e r i n g r e s e a r c ha l w a y ss t a r t sa tt h el e g a c ys y s t e ma n a l y s i s ,e m p h a s i z e so n t h ed i f f e r e n c eo ft h ep r o g r a m m i n gl a n g u a g e s ,t a k e st h ep r o g r a m m i n g l a n g u a g ep h r a s i n gc h a n g ea st h es t u d yf o c u s a n ds o m ee m p h a s i z eh o w t op a c k a g et h ep r o c e s s o r i e n t e dc o d et ot h eo b j e c t s a so n eo ft h et w og r e a t e s te n t e r p r i s ef r a m e w o r k s ,m i c r o s o f t n e th a s b e c a m et h eb e s tc h o i c ef o rm i g r a t i n gt h el e g a c yw i n d o w ss y s t e m st ow e b b e c a u s eo fi t ss t r o n gf u n c t i o n sa n dd e v e l o p m e n ts u p p o r t i n g m i c r o s o f t p r o v i d e sat o o lt os u p p o r tu p g r a d i n gv b 6 0t ov b n e t b u tw h e nt h e r e r e l o t so fd i f f e r e n c e sb e t w e e nt h el e g a c ys y s t e ma n dt h et a r g e ts y s t e m s ot h a tr e s t r u c t u r ei sn e e d e d ,i tp r o v i d e sn od i r e c t s u p p o r t t h es y s t e mr e s t r u c t u r ei nw e br e e n g i n e e r i 八gi sac o m p l e xt a s k , i n t h i st h e s i s ,1w i l lt a k el e g a c yv b 6 0s y s t e m sa st h er e s e a r c ho b j e c t , t a l l y i n gu ps o l u t i o n sa n de x p e r i e n c e so fm i g r a t i n gt ow e b ,b a s e do n t h e s e ,p u t t i n gf o r w a r da na r c h i t e c t u r a lp a t t e r n b a s e ds o l u t i o no f m i g r a t i n gt ow e b a tt h es a m et i m e ,t a k i n gt h em v cp a t t e r na s a ne x a m p l e , 1w i l lg i v eac o n c r e t ei m p l e m e n t a t i o np r o c e s s a tt h ee n d ,b a s e do n a s v t h ep a t t e r n o r i e n t e dr e e n g i n e e r i n ga u t o m a t i o ns o l u t i o n d e v e l o p e db yb p u s e i ,ic o n s t r u c t e dt h ea u t o m a t i o ns o l u t i o ns p e c i a l i z e d f o r n e t a s v n e t t h i sa u t o m a t i o ns o l u t i o np r o v i d e st h ed e v e l o p e r s w i t ha u t o m a t i o ns u p p o r t ,r e s e r v e st h ed a t aa n dt o o l s ,m a k e sv b 6 0 l e g a c ys y s t e mm i g r a t i n gt om i c r o s o f t n e tm o r es i m p l e ,s ot op r o v e e f f i c i e n c ya n dl o w e rt h eb a de f f e c t s k e y w o r d sw e br e e n g i n e e r i n g ;m i c r o s o f t n e t ;l e g a c ys y s t e m ;t a r g e t s y s t e m ;a r c h i t e c t u r a lp a t t e r n n 独创性声明 本人声明所呈交的论文是我个人在导师指导下进行的研究工作及取得的研 究成果。尽我所知,除了文中特别加以标注和致谢的地方外,论文中不包含其他 人已经发表或撰写过的研究成果,也不包含为获得北京工业大学或其它教育机构 的学位或证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均 已在论文中作了明确的说明并表示了谢意。 签名: 丕l ! 垒日期:妞墨生6 旦垃旦 关于论文使用授权的说明 本人完全了解北京工业大学有关保留、使用学位论文的规定,即:学校有权 保留送交论文的复印件,允许论文被查阅和借阅:学校可以公布论文的全部或部 分内容,可以采用影印、缩印或其他复制手段保存论文。 ( 保密的论文在解密后应遵守此规定) 1 1 课题背景 第1 章绪论 1 1 1w e b 系统开发成为主流 随着i n t e r n e t 时代的来临,计算机技术进入了真正的资源共享时代,人 们的生活和工作方式发生重大改变。1 9 9 1 年,欧洲粒子物理研究所( c e r n ) 正式发布了w e b 技术标准,w e b 技术开始引起世界的关注。 w e b 使用超文本传输协议( h t t p ) 进行信息传输,使用超文本技术( h t m l ) 作为一个载体,同时使用统一资源定位技术( u r i ) 实现信息的精确定位。一 个完整的w e b 系统通常由客户机与服务器组成。按照h t t p 协议规范,客户端 浏览器和w e b 服务器首先建立t c p 连接,然后浏览器给出所取对象的通用资 源标识( u r i ) ,服务器返回对象数据并关闭t c p 连接,这也就是典型的“请 求一应答”模型。 图卜iw e b 系统模型 f i g u r e l iw e bs y s t e mm o d u l e 数据服务器 由于基于w e b 信息发布和检索技术的飞速发展,以及w e b 开发技术的进 1 量一基量一垦 骧骧 北京工业大学工学硕士学位论文 一步成熟和标准化,w e b 系统的开发成为企业信息电子化的主流。它解决了 企业系统跨地域互连与远程信息传输的难题。各大厂商分别提出支持企业应 用系统开发的开发平台。 1 1 2 既存系统w e b 化浪潮 在2 0 世纪九十年代,可视化开发工具大量涌现,主要代表有v i s u a l b a s i c ,d e l p h i ,p b 。软件开发者利用这些工具开发了大量的桌面系统和c s 系统。这些系统至今仍活跃在各个应用领域。这些系统通常积累了丰富的资 源,且运行状态良好。本文以下所讲的“既存系统”,将特指这一类既存非 w e b 化系统。 但随着企业对资源广域共享的要求,原有的桌面系统和c i s 系统已经不 能满足需要,主要表现在以下两个方面: ( 1 )企业内部与企业间不能够实现真正的资源共享。桌面系统以个 人为单位,不能实现资源共享。c s 系统的客户端和服务器端 通过局域网连接,资源只能在局域网内部传输。大型企业的各 个部门通常分布在不同的地域,通常依靠广域网连接在一起, 企业各部门或企业与企业之间传递信息,只能通过广域网进行。 所以,原有的c s 系统不能满足广域网内的资源共享需求。 ( 2 ) 企业系统升级非常困难。桌面系统和c s 系统的信息处理程序 部署在客户端。当系统需要升级时,开发者或客户不得不对每 一个客户端进行升级,这就造成升级工作繁冗耗时。 解决这些问题的一个重要方法就是将原有需求采用w e b 技术实现。开发 者有两个选择:重新开发和对既存系统w e b 化。如果既存系统规模很小,而 新系统需要进行大量功能扩充,开发者往往会选择重新开发。可实际情况是, 大部分系统规模庞大,且用户的业务需求没有重大改变。如果进行重新开发, 开发者不得不花费大量的时间和精力做需求分析和概要设计,这常常伴随着 巨大的经济风险和技术风险。而在既存系统基础上进行w e b 化,可以最大限 度规避风险,成为开发者的首选。 2 1 2 两大企业级开发平台 w 曲系统开发日渐复杂,为了适应企业级应用开发,w e b 开发技术日趋 完善。在此起彼伏的电子商务大潮中,为了适应企业级应用开发的各种复杂 需求,为了给最终用户提供更可靠、更完善的信息服务,两个最重要的企业 级开发平台j 2 e e 和m i c r o s o f t n e t 诞生了。这两大企业级开发平台分属 于j a v a 阵营和w i n d o w s 阵营,各自拥有自己的支持者。有预测称在未来的 五年,m i c r o s o f t n e t 和j 2 e e 将在电子商务应用中平分秋色,并将占有总份 额的8 0 。大多数专家认为,伴随着w i n d o w s 平台向m i c r o s o f t n e t 技术的 转移,中小厂商将逐渐转向m i c r o s o f t n e t 。而大企业客户则基于安全性和可 扩展性的考虑,会倾向于j 2 e e 。两者的竞争关系也促使了w e b 开发技术的 高速提高和发展。 1 2 1j 2 e e 1 9 9 9 年,s u n 正式发布了j 2 e e 的第一个版本。j 2 e e 是基于j a v a 语言的 企业级开发平台,它的三大核心技术是s e r v l e t 、j s p 和e j b 。s e r v l e t 用来实 现页面逻辑,接受来自w e b 浏览器的请求,进行处理后返回相应信息。j s p 可以创建动态的或静态的网页。e j b 为企业级应用中必不可少的数据封装、 事务处理、交易控制等功能提供了良好的技术基础。j 2 e e 三层结构如图1 2 所示: 北京工业大学工学硕上学位论文 e n t e r p r i s e - w e bb n ,w s e r ,一 w e bs e r 陀r *e l i bc o l t t a j n e r 一 d a t a ,墨万夏急 q o 曩i b n 町巅一,_ ) 圉 乏二二罗 一一 卜 狲 一 q _ 二_ _ _ 篷薹_ _ = _ 鎏妙 圈 隧ii 蒸鬻鬻嗣 一 圜 陲t 黛n 酶删j l l 遵鋈_ _ 鬟斟 m i d d l et i e r te i st i e r 一 图1 - 2j 2 e e 三层结构 3 1 】 f i g u r e l 一2j 2 e et h r e e - t i r ea r c h i t e c t u r e j 2 e e 的优点在于以下几个方面: 平台无关性:j 2 e e 可以实现一次开发,随处运行。基于j 2 e e 的程序不 依赖于特定的操作系统、软件和硬件,这符合互联网对系统移植性的要 求。 可伸缩性:基于j 2 e e 的应用程序可以满足不同用户的要求,它甚至可以 部署上千个处理器,极大的满足商业应用的需要。 稳定性:基于j 2 e e 的应用程序可以部署到不同的操作环境,当商业应用 需要时,可以选择更加稳定健壮的操作系统,如s u ns o l a r i s 等。 广泛的开发商支持:现在有很多公司都在致力于j 2 e e 服务器端和中间件 的开发,还有一些著名的开源代码的支持,这使得基于j 2 e e 的开发拥有 广泛的业界支持,提高开发的效率。 4 1 2 2m i o r o s o f t n e t 2 0 0 2 年,m i c r o s o f t 正式发布n e tf r a m e w o r k 和v i s u a ls t u d i o n e t 开发环境。m i c r o s o f t n e t 是微软x m lw e bs e r v i c e 平台,着重于i n t e r n e t 系统开发和w e b 服务。不论操作系统或编程语言有何差别,x m lw e bs e r v i c e s 都能够使应用程序在i n t e m e t 上传输和共享数据 3 】a m i c r o s o f t n e t 平台包含一系列产品,它们都是基于x m l 和i n t e r a c t 行业 标准构建的,提供开发、管理、使用的各种平台和工具 2 】。它主要由5 方面 组成:工具、n e t e n t e r p r i s es e r v e r 、服务、客户端和n e t 体验。n e tf r a m e w o r k 是整个m i c r o s o f t n e t 的基础,如图1 3 所示。 ( 1 ) 工具 m i c r o s o f tv i s u a ls t u d i o n e t 和m i c r o s o f t n e tf r a m e w o r k 为开发人员创 建、部署和运行x m lw e bs e r v i c e s 提供了一整套的解决方案。m i c r o s o f t v i s u a ls t u d i o n e t 开发平台提供了对多种语言开发的支持,包括:v i s u a l b a s i c n e t ,v i s u a lc + + n e t ,v i s u a lc 牟n e t 等。开发人员可以选择自己 喜爱的语言,快速创建w i n d o w s 应用程序和w e b 应用程序以及x m l w e b s e r v i c e s 。 ( 2 ) n e te n t e r p r i s es e r v e r 是指一系列的服务器结构,为部署和管理x m lw e bs e r v i c e 提供支持。 包括m i c r o s o f tw i n d o w s 2 0 0 0 服务器系列,这些服务器可以满足企业通过 x m lw e bs e r v i c e s 将系统、应用程序结合在一起的需求,并且可以与合 作伙伴的应用程序进行集成。同时,由于x m lw e bs e r v i c e s 带来的灵活 性,还可以很好的适应不断变化的业务要求。 ( 3 ) 服务 m i c r o s o f t 正在创建一个包含构造块服务的核心级,这些构造块服务用来 执行任务,并可作为开发主体,方便开发人员在其上创建属于自己的 s e r v i c e s 。 ( 4 ) 客户端 北京工业大学工学硕士学位论文 m i c r o s o f t n e t 提供的客户端软件主要包括w i n d o w sc e 、w i n d o w s e m b e d d e d 、w i n d o w s2 0 0 0 和w i n d o w sx p 等。这些软件为p c 、工作站、 t a b l e t p c 等提供支持。这些客户端软件可以访问x m l w e bs e r v i c e 。 ( 5 ) n e t 体验 n e t 体验是指x m lw e bs e r v i c e 。通过x m lw e bs e r v i c e ,可以从i n t e m e t 上使用应用程序以集成的方式访问信息。 图1 - 3 n e tf r a m e w o r k l a 7 】 f i g u r e l - 3 n e tf r a m e w o r k 和j 2 e e 不同的是,m i c r o s o f t n e t 是一个支持多语言的通用运行环境。 它既是w i n d o w s 应用开发的首选,更是强大的w e b 系统支持平台。 m i c r o s o f t n e t 引入了a sp n e t 这样一种全新的w e b 开发技术。a sp n e t 可 以使用v b n e t 、c 样等编译型语言,支持w e bf o r m 、n e ts e r v e rc o n t r o l 等 技术。它为开发者提供了可视化开发w e b 页面的功能。 n e t 的最大优势在于它的高生产力和较高投资回报率,而且它依附于 6 w i n d o w s 操作系统,随着操作系统上普遍预装n e t 架构,n e t 的应用会越来 越广泛。 1 3w e b 再工程研究 由于w e b 系统开发潮流和对既存系统w e b 化的需求,出现了w e b 再工 程的研究。我们把为了适应以w e b 为中心的计算方式而将既存系统再工程升 级为基于w e b 系统的开发过程,称为w e b 再工程 ”。w 曲再工程也常被称为 “w e b 化”。下面将具体介绍w e b 再工程的特点、难点和重点。 1 3 1 w e b 再工程特点 通过对多个w e b 再工程项目的实践过程,总结出w e b 再工程通常有如下 特点: ( 1 ) w e b 再工程的需求分析来源于既存系统。对于一次工程,需求分析来 源于客户对企业业务的描述,开发者将其抽象为系统的功能定义。w e b 再工程对于既存功能通常不再需要客户描述,开发者通过对既存系统 的代码和文档进行分析,得到功能定义书。 ( 2 ) w e b 再工程中,对于相同的需求,往往存在统一的解决方案。这里相 同的需求通常是指既存系统的架构模式相同或相似,同时w e b 化后系 统所要采用的架构模式也相同或相似。 ( 3 ) w e b 再工程中存在自动化实现的可能性。w e b 再工程很多信息来源于 既存系统的代码,而不是人的逻辑,而代码都是依据一定的语法规则 书写的,所以通过自动化工具完成一定的代码转换是可行的。 1 3 2w e b 再工程难点 w e b 再工程并不是简单的升级或修改,w e b 再工程的难点主要表现在: 既存系统的结构不适用于新的w e b 系统。因为既存系统是桌面系统和c s 系 统,且开发时间较早,所以系统通常缺少分层的概念,表示逻辑、业务逻辑 7 北京工业大掌工学硕士学位论文 和数据访问逻辑通常混合在一起,各部分耦合度高。通常进行w 曲再工程往 往伴随着系统的重构。 ( 1 ) w e b 再工程成本高。目前没有成熟理论和技术指导对w e b 再工程进行 指导和辅助。同时,理解既存系统代码成为开发者重要的工作之一。 这往往要求要开发者既熟悉既存系统开发技术,同时还要熟悉新的开 发技术,人员的投入较高。 ( 2 ) w 曲再工程常常会产生副作用。副作用主要有三类:修改了不该修改 的代码,引起错误:遗漏了应该修改的代码,引起错误;忽视文档维 护工作,造成文档与程序不符合。 1 3 3w e b 再工程重点 针对w e b 再工程的特点和难点,进行系统w e b 再工程的重点在于: ( 1 ) 对既存系统进行逆向分析,得到既存系统的架构模式设计和详细设计。 ( 2 ) 制定适当的w e b 再工程策略。根据现有系统的特点,结合系统的应用 领域,选择适当的w 曲再工程方案,制定合理的w 曲再工程策略。 争取做到花费最小的成本,达到期望的目标,并且系统具有很好的可 维护性。 ( 3 ) w 曲再工程中,尽可能使用自动化手段解决代码迁移问题。 ( 4 ) w e b 再工程中,对于代码的修改,应该尽量避免副作用的产生。 1 4 模式的研究 模式( p a t t e r n ) 的概念是在八十年代中由建筑界引入过来的。模式分为 四个部分:模式名称( p a t t e r n n a m e ) ,问题( p r o b l e m ) 和解决方案( s o l m i o n ) 和效果( c o n s e q u e n c e s ) 。 微软研究报告中提出【4 7 1 ,模式关注共通问题的不变部分,是一个经验提 取的“准则”,在不同层次有不同的模式,小到语言实现,大到架构。根据处 理问题的粒度不同,从高到低,模式分为三个层次:架构模式( a r c h i t e c t u r a l 第l 章绪论 p a t t e r n ) 、设计模式( d e s i g np a t t e r n ) 和实现模式( i m p l e m e n t a t i o n p a t t e r n ) 。架构模式是模式中的最高层次,描述软件系统里基本的结构组织 或纲要。并将用户和文件系统安全策略模型,n 一层结构,组件对象服务和m v c 都归于架构模式的范畴。而著名的设计模式一可复用面向对象软件的基础 总结的2 3 种基本模式则属于设计模式。对于处理具体的编程语言问题,比如 类名等的命名规则;异常处理规则等则归属于实现模式。 在本文中,我们将使用微软对于架构模式的定义。 1 5 相关领域研究成果 1 5 1w e b 化案例 现阶段,企业系统w e b 化已经成为席卷全球的浪潮,许多工具厂商也针 对自己的产品提出w e b 化解决方案。下面我们将列举几个有代表性的w e b 化案例。 ( 1 ) p o w e r b u i l d e r 的w e b 化案例 s y s b a s e 为p o w e r b u i l d e r 提供了两种w e b 化方案: a p p e o n 方案 a p p e o n 方案是直接将系统整体升级,自动化率非常高,w e b 化前后 的页面效果基本相似。但是对于大规模复杂系统,该方案会产生各种 问题。 组件化方案 组件化方案依靠p o w e rb u i l d e r 9 0 新特性。可以可视化开发j s p ,并 将业务逻辑包装为n v o s , 部署在s e r v e r 端。同时提供对j 2 e e 和n e t 的支持。但是需要大量的手工修改。 ( 2 ) d e l p h i 的w e b 化案例 d e l p h i 提供了四种解决方案:d c o m c o m 方案,w e b s n a p 方案,i n t r a w e b 方案和基于n e t 框架的d e l p h i 8 方案。d c o m c o m 方案,w e b s n a p 方 案,i n t r a w e b 方案是通过不同方式对源系统进行组件化包装,重新开发 9 北京工业大学工学硕士学位论文 表示层。后者则是全面的移植。 1 5 2 现有相关产品举例 ( 1 ) m i c r o s o t t 公司的升级向导( u p g r a d ew i z a r d ) 。 升级向导可以把v i s u a lb a s i c6 应用程序导入v i s u a lb a s i c n e t 中,并将 大部分既存系统中使用的技术升级为n e t 框架中的等效技术。使用升级 向导,代码的自动转化率可以达到9 5 ,当然这只是一个平均值。但是 由于v i s u a lb a s i c n e t 架构模式的重大改进,升级向导需要对代码做出重 大的结构和功能的更改,所以升级后绝大多数程序并不能正确运行,需 要手工进行修改,并且升级向导不支持v i s u a lb a s i c6 以前的版本,这给 旧版本系统的升级带来了困难。 ( 2 ) 北京工业大学软件工程研究所的v w b 。 北京工业大学软件工程研究所研究开发的v w b l o 一多功能版本升级 辅助工作台,能够支持多种语言的版本升级工作。它以共享数据辞典为 支撑,通过新旧版本的对应关系,完成旧版本系统到新版本系统的升级。 ( 3 ) 北京工业大学软件工程研究所的a s v 。 a s v 是软件工程研究所研发的w e b 再工程辅助工作台。a s v 通过对既 存系统进行多层次模式化分析与抽象,然后根据需要,为用户提供w e b 再工程自动化解决方案。 1 6 本课题研究重点 本课题将以v i s u a lb a s i c 6 0 为研究对象,旨在针对w i n d o w s 程序提出一 种简单通用的w 曲化方法,并开发自动化工其作为支持,缩短w 曲化的进 程,提高w e b 化的质量。历史上程序员应用v i s u a lb a s i c 6 0 开发了大量的 w i n d o w s 客户程序和组件,这些程序分布在世界各个地方和各个领域。 m i c r o s o f t n e t 诞生后,广大的w i n d o w s 开发者逐渐转向v i s u a ls t u d i o n e t , 开发w e b 程序。对于既存系统而言,升级到n e tw 曲系统不但可以充分利 1 0 第1 章绪论 用m i c r o s o f t n e t 平台的优点,而且与升级到j 2 e e 等架构,所付出的代价相 比也小了很多。但是w e b 化并不是一个简单的过程,它会涉及到很多程序代 码甚至于架构模式的改变。所以,我们需要研究一种方案,解决v i s u a lb a s i c 6 到n e t w e b 化的问题,为升级过程提供自动化的支持,提高升级的效率,降 低升级过程带来的副作用。 图1 - 4 是w e b 再工程过程框架模型 4 5 】,这个模型将w 曲再工程分为六 个阶段。本课题的研究重点主要在代码重构数据重构阶段。 图t - 4 再工程过程框架,模型 f i g u r e l - 4r e e n g i n e e r i n gp r o c e s sa r c h i t e c t u r e m o d u l e 现在国际上对于w e b 再工程的研究刚刚起步,目前为止还没有完善的理 论和方法学指导。大多数研究都是针对某一类特殊的需求提出w e b 化的解决 方法。而且国际上流行的w e b 再工程研究往往只强调w e b 化前后使用程序 语言的差异和面向过程语言的对象化包装1 5 2 0 l ,忽略了w e b 化后结构方面的 北京工业大学工学硕士学位论文 特点,这也限制了w e b 化解决方案的使用。相对于国际上流行的w e b 化解 决方案研究,本课题将着眼点放在对于系统语言整体特征和系统使用的架构 模式之上,强调w e b 化后系统拥有合理的结构和很好的可维护性。 1 7 全文组织结构 第1 章绪论介绍了本课题的研究背景、实际意义、相关领域研究现状和 本文组织结构。第2 章中将是对既存系统特点的分析。第3 章是w e b 系统设 计的分析。第4 章介绍w e b 化解决方案的设计。第5 章介绍基于模式的w e b 化解决方案。第6 章介绍a s - v n e t 自动化解决方案。第7 章介绍使用自动 化解决方案进行w e b 化的例子。第8 章是对本课题的前景展望。 1 2 第2 章既存系统设计分析 第2 章既存系统设计分析 对既存系统设计的分析,是我们制定w e b 化方案的基础。本章我们将分 析现有既存系统的结构和技术等方面的特点,作为制订w e b 化方案的依据。 2 1w in d o w s 程序运行机制 w i n d o w s 程序是以“事件驱动,消息响应”机制为基础的。用户的动作, 如移动鼠标和键盘操作,引发w m d o w s 消息,应用程序的窗口处理程序 w i n d o w sp r o c e d u r e 接受w i n d o w s 消息后,将消息转化为事件,交给应用程 序对应的事件处理函数来处理。我们可以将事件处理函数看作是功能的入口 点。 2 2 既存系统架构分析 在传统的系统设计中,比较常见的是单层架构和多层架构。 2 2 1 单层架构 在最早的程序中,单层架构是常见的。在单层结构中,通常表示逻辑、 业务逻辑、数据存取逻辑都混合在一起。这种架构实现简单,但是由于没有 很好的分割性,在系统庞大时,会出现大量的重复逻辑,而且可维护性很差, 系统很难进行重构,无法实现组件化。 2 2 2 多层架构 随着技术的发展,设计者开始关注系统的分割性。这就出现了多层架构, 早期的既存系统主要是双层架构,后来又出现了著名的三层架构。双层架构 对数据实现物理分离,使多个用户可以同时连接到一个数据库上,系统伸缩 性加强。但是表示逻辑和业务逻辑仍然混合在一起,称作主应用程序。如图 1 3 北京工业大学工学硕士学位论文 2 1 所示: 图2 - 1 双层结构 f i g u r e 2 - 1t w o - t i r ea r c h i t e c t u r e 这种架构的缺点是显而易见的: ( 1 ) 表示逻辑和业务逻辑混合,系统的可维护性不好。 ( 2 ) 表示层的多样化受到限制,如果系统为了适应需求而不得不为同 样的功能设计不同的页面,采用双层架构就不得不开发两个拥有 大量重复代码的页面。 ( 3 ) 页面显示越来越复杂,双层架构使表示逻辑变得繁冗而复杂,必 须由专业的编程人员来开发。 2 3 既存系统开发技术分析 一个系统通常可以分为三个部分:表示逻辑、业务逻辑和数据存储。下 面将从这三个方面对既存系统开发技术进行分析。 2 3 1 表示逻辑开发 表示逻辑的最终实现通常有两类:字符界面和图形界面。 典型的字符界面如d o s 程序的界面,通常由程序直接书写屏幕打印语句 来实现输出,接受用户的字符指令作为输入。这种程序通常将表示逻辑和业 务逻辑都是混合在一起的,需要专业的程序员完成。 v b 6 0 实现的通常是图形界面,是由可视化编程工具实现。图形界面通 1 4 第2 章既存系统设计分考f r 常会包含窗口、客户区、光标、消息框、控件等。通常由窗口、消息框、控 件等的显示作为输出,用户的字符输入和鼠标点击指令作为输入。一般需要 特殊的图形类库支持,用户界面的定义代码通常隐藏在文件中,用户可以编 写相关的代码,处理控件状态改变和画面转移等。 2 3 2 业务逻辑开发 业务逻辑开发是一个系统的核心,开发技术多种多样。 面向过程系统中,业务逻辑的每个功能被分解为若干个函数,这些函数 和函数间的调用关系组成了整个工作流程。而每个函数就是由开发语言所提 供的顺序、分支和循环三个基本逻辑组成。对面向过程的系统进行业务逻辑 分析,通常需要找到函数问的调用关系,从而得到系统业务的流程图。 面向对象系统中,业务逻辑是由对象和对象间的交互关系组成。类通常 封装了一定的属性和行为,而类之间的通信则是类使用另一个类的公有操作。 对面向对象的系统进行业务逻辑分析,通常比较复杂,需要理解类之间的继 承关系,类之间的使用关系,公有接口的分析等。 面向组件系统中,业务逻辑通常封装在组件中,对外提供可供使用的接 口和协议,这种组件对外隐藏了实现细节,对组件的使用者是透明的。组件 之间相对独立,组件内部紧密耦合,这些组件通常遵循通用的标准,如 c o w d c o m 。组件化的业务逻辑通常最适合重用,在w e b 化或升级时,w e b 化方案制订者常常选择不改变它们。 2 3 3 数据存取开发 数据存取在程序中通常有两种表现:在程序中内嵌s q l 语句和使用存储 过程。而数据库访问方式有r d o ,d a o ,a d o 等。一个程序通常采用同样的 数据库访问方式。数据库操作通常有数据库连接断开、数据库表的查询、插 入、更新和删除。数据访问中的对象有记录集、数据库连接对象、数据库处 理对象。 北京工业大学工学硕士学位论文 2 4 本章小节 既存系统特点是影响w e b 化的一个方面。本章主要对既存系统进行分 析,包括既存系统的架构模式和表示逻辑、业务逻辑、数据逻辑的开发技术。 这里所做的分析主要针对w i n d o w s 程序。 1 6 第3 章w e b 系统设计分析 第3 章w e b 系统设计分析 3 1w e b 系统设计的共通点 w e b 系统是一种分布式的架构,整体上可以分为服务器端和客户端。 客户端主要功能是展示系统信息。超文本语言h t m l 成为客户端技术的 首选,而脚本语言如v b s c r i p t 和j a v a s c r i p t ,允许程序员将自己编写的程序 代码嵌入到h t m l 页面,满足复杂w 曲系统开发的需求。 服务器端的技术相对复杂。w 曲服务器需要响应客户端发送的h t t p 请 求,并将处理后的h t m l 页面发送给客户端。早期的c g i 技术允许服务器 端的应用程序根据客户端的请求,动态生成h r m l 页面。后来又出现了j s p 和s e r v l e t ,a s p 等技术。程序员可以利用各种编程语言完成后台的数据计算, 实现动态网页生成。 w e b 系统设计多种多样,但是设计良好的w e b 系统共通特点就是:瘦客 户端和松散组织的结构。w e b 系统的设计强调分割原则,尤其是系统表示独 立出来。所以,在考虑既存系统w e b 化时,很重要的一个原则就是分割,尤 其是将页面表示代码分离出来。 3 2w e b 系统常见的模式举例 现在的系统设计者除了考虑系统的正确性和性能等,还加强了对系统的 可复用性的考虑。现在使用面向对象语言如j a v a 、v b n e t 开发w e b 系统时, 通常会考虑为系统选择各种模式。模式有很多种,下面我们将介绍其中的两 种,其中m v c 属于架构模式,而t e m p l a t em e t h o d 模式属于设计模式。 3 2 1m v c 模式 m v c ( m o d e l v i e w - c o n t r o l l e r ) 模式最初是s r n a l l t a l k 编程语言创造的。当 系统中多个视图使用同样的数据时,为了保持系统各部分的独立性,避免重 1 7 北京工业大学工学硕士掌位论文 复的数据处理逻辑,应对界面设计可变性的需求,我们通常可以采用m v c 。 m v c 把交互系统的组成分解成模型( m o d e l ) 、视图( v i e w ) 、控制器 ( c o n t r o l l e r ) 三部分。 模型封装了系统的核心数据和处理逻辑,例如数据访问和业务处理等。 它独立于具体的界面表示和用户i 0 操作。它表示了应用程序的状态并且产 生了这种状态下相关的业务处理。这些数据由视图显示,由控制器控制。 视图提供了模型数据及状态信息的特定表示。它用特定的形式将应用程 序的结果展示给用户。视图中应该不包含任何处理逻辑,它的显示信息从模 型获得,对于相同的信息可以有多个不同的显示形式或视图。 控制器负责处理用户动作与模型的交互操作的,其职责是控制提供模型 中任何变化的传播,确保用户界面同模型间的对应联系:它接受用户的输入, 将输入反馈给模型,进而实现对模型的计算控制,是使模型和视图协调工作 的部件。 方法调用一事件 图3 - 1m v c 模式【3 7 1 f i g u r e 3 - 1m v c p a t c e m 模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如 果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据 1 8 第3 苹w e b 系统设计分析 的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器 都会将变化通知所有的视图,导致显示的更新。其工作机制如图3 一l 所示。 但是在w e b 系统使用m v c 模型时,常常实现“被动模型”【47 1 ,因为 h t t p 浏览器不会监测服务器上的数据更改,仅当页面请求刷新时,视图才 会查询服务器上的数据是否发生改变。 3 2 2t e m p i a t em e t h o d 模式 t e m p l a t em e t h o d 模式,如图3 - 2 所示,所要解决的问题是多个类具有相 同的运算流程,但内部使用的具体运算却存在差异这种情况。解决方案就是 将运算流程提取出来,放在基类中,而将具体的运算操作延迟到子类中实现。 这样做的结果是提高了系统的重用性,减少重复的代码,易于维护。 b a s e c l a s s t e m p l a t e m e t h o d 0 m e t h o d l0 m e t h o d 2 0 m e t h o d 3 0 s u b c l a s s l m e t h o d l ( ) 4 l l f v l e t h o d 2 0 m e t h o d 3 0 图3 - 2t e m p l a t em e t h o d 模式 f i g u r e 3 - 2t e m p l a t em e t h o dp a t t e r n 3 3 n e tw e b 系统开发技术 1 9 北京工业大学工学硕士学位论文 3 3 1 n e i 业务逻辑的实现 具体的业务处理如数值运算和逻辑运算等都可以通过n e t 支持的各种 语言来实现。下面介绍n e t 编程语言与以前相比,有较大改进的几个方面。 ( 1 )通用语言特性吐n e tf r a m e w o r k 通过使用c l r c t s 机制,实 现
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 矩阵压缩感知在图像处理中的应用-洞察及研究
- 2025吉林大学招聘教师105人(1号)考前自测高频考点模拟试题及答案详解1套
- 硬件设备兼容性评估方法-洞察及研究
- 2025年宁波前湾新区卫生系统事业单位招聘高层次人才11人考前自测高频考点模拟试题及答案详解(夺冠)
- 跑团年会聚餐活动方案策划
- 咨询公司不退费惩罚方案
- 创新药物研发流程标准操作
- 水利工程碳足迹评估与绿色转型-洞察及研究
- 工业网络安全态势预测-洞察及研究
- 消防队主题活动教学方案及实践案例
- 河北省承德市隆化县第二中学2023-2024学年九年级上学期期中考试物理试题(无答案)
- 2024年新人教版八年级上册物理全册教案
- 伤口造口专科护士进修汇报
- MOOC 实验室安全学-武汉理工大学 中国大学慕课答案
- 彩钢房建造合同
- 2型糖尿病低血糖护理查房课件
- 医院物业服务投标方案
- 高压燃气管道施工方案
- 国家免疫规划疫苗儿童免疫程序说明-培训课件
- GB/T 13298-1991金属显微组织检验方法
- 劳动人事争议仲裁案例分析与问题探讨课件
评论
0/150
提交评论