




已阅读5页,还剩53页未读, 继续免费阅读
(计算机软件与理论专业论文)基于dc切片技术的遗留系统业务规则抽取方法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 基于d c 切片技术的遗留系统 业务规则抽取方法研究 计算机软件与理论专业硕士研究生谢刚 指导教师张为群教授 摘要 随着计算机技术的不断发展,尤其是基于w e b 的信息发布和检索技术的发展,导致了整个 应用系统的体系结构从客户服务器( 以下简称c s ) 的主从结构向灵活的分布式结构的演变。 这一演变在当今以w e b 技术为核心的信息网络的应用下,给体系结构赋予了新的内涵面向 服务的体系结构( 以下简称s o a ) 。在这种体系结构中,系统功能由各自独立可复用的服务构 成。与c s 体系结构相比,它的基本特点是基于标准、松散耦合、共享服务、粗粒度、维护成 本低、易于扩展、灵活性好。 目前,社会上存在着大量的c s 系统,这些系统往往是企业的核心系统。它们在经历了 长时间的运行后。积累了大量的数据,并且文档已经过时。怎样将这些系统移植为s o a ,以 减少维护成本,成为软件工程需要重点解决的问题。这一问题的解决关键是怎样将客户端的 业务规则抽取成w 曲服务,本文将就此问题进行深入地研究。 本人主要完成以下几个方面的= 作: 1 从以下几个方面改进和细化业务规则抽取框架 ( 1 ) 基于图的概念,完成了对模块调用图和文件包含图的定义。 ( 2 ) 提出了一种基于邻接表的文件包含图生成算法,让用户了解整个系统中文件之间的 包含关系。 ( 3 ) 提出了一种基于邻接表的文件模块调用图生成算法,为系统切片的生成做准备。 ( 4 ) 提出了一种基于模块调用图的系统切片算法,以适应对大型遗留系统中的业务规则 进行抽取。 ( 5 ) 提出了一种基于启发式的域变量识别算法,以使用户得到更精确的业务规则。 ( 6 ) 在综合考虑国内外现有的各种切片方案的切片精度以及切片时间代价的基础上,利 用目前切片综合效率最高的依赖缓冲( d e p e n d e n c e c a c h e ,以下简称d c ) 切片技术抽取业务 规则。 ( 7 ) 提出了一种基于x 池的业务规则内部表示,以提高业务规则表示的扩展性和效率。 西南大学坝十学位论义 ( 8 ) 提出了一种程序切片标准改变原则,为用户抽取业务规则提供指导。 2 采用v i s u a lc + + 6 o 作为开发上具构建基于c s 模式的业务规则抽取原型系统。 3 从切片精确度方面对原型系统进行测试,验证了d c 切片方案的高效性,从而进一步 证明了该系统的确是一个易于使用、易丁维护、高精确度的业务规则抽取系统。 本文主要从以下四个方面提出改进和创新: 1 、将d c 切片引入到业务规则抽取中。 2 、将系统中各模块的调用关系引入到业务规则抽取中。 3 、将域知识引入到业务规则抽取中,以得到更精确的业务规则。 4 、和将遗留系统抽象成一个独立丁具体实现语言的简单有向图。 在上述研究的基础上,本人采用s u a lc + + 6 o 开发工具来构建基于c s 模式的业务规则抽 取原型系统,实现了c + + 语言遗留系统的业务规则抽取,为c s 体系结构到s o a 的移植奠定了 基础。 关键词:d c 切片遗留系统业务规则抽取 i l a b s t r a c t ar e s e a r c ho nl e g a c ys y s t e mb u s i n e s sr u l e s e x t r a c t i o nb a s e do nd c s l i c i n g e n 舀n e 甜n g a b s t r a c t w i t ht h ec o n t i n u o u sd e v e l o p m e n to fc o m p m e rt e c h n o l o g y ,e s p e c i a l l yt h ed e v e l o p m e n to f w e b b a l s e di n f o r m a t i o nd i s s e m i n a t i o na n dr e t r i e v a lt e c h n o l o g yr e s u l t s i nt h ee v o l u t i o nf r o mt h e c l i e n t s e r v e r ( h e r e i n a r e rr e f e r r e dt ot h ec s ) a r c h i t e c t u r et o an e x i b l ed i s t r i b u t e da r c h i t e c t u r e t h i s e v 0 1 u t i o ng i v e sn e wm e a n i n gt ot h ea r c h i t e c t u r ei nt o d a y sw e bt e c h n o l o g ya st h ec o r ea p p l i c a t i o no f t h ei n f o 硼a t i o nn e t w o r k t h i sn e wt y p eo fd i s t r i b u t e da r c h i t e c t u r ei ss e n ,i c e o r i e n t e da r c h i t e c t u r e ( h e r e i n a 丘e rr e f e r r e ds o a ) i nw h i c hs y s t e m f u n c t i o n sc o n s i s to fa l lk i n d so fu n d e p e n d a b l ea n d r e u s a b l es e r v i c e s c o m p a r e dw i t hc sa r c h i t e c t u r e ,s o ah 硒al o to fa d v a n t a g e s f o re x 锄p l e ,i ti s b a s e do ns t a n d a r do fi n d u s t i y i ti sl o o s e l yc o u p i e d ,c o a r s e - g r a i n e d ,e x p a n d a _ b l e ,a n dn e x i b l e a n di t c a l ls h a r es e r v i c e sa n di t sm a i n t e n a n c ec o s t sa r e 掣e a t l yr e d u c e d a tp r e s e n t ,t h e r ea r eal a r g en u m b e ro fc ss y s t e m s ,w h i c ha r et h ec o r e0 fe n t e r p r i s e a 舵ra l o n gp e r i o do p e r a t i o n ,t h e s es y s t e m sh a v ea c c u m u l a t e dl a 唱ea m o u n t so fd a t aa n dd o c u m e n t s w h i c h b e l o n gt ot h e s es y s t e m sa r ea l r e a d yo u t d a t e d h o wt om i g r a t et h e s es y s t e m sf o rs o a a r c h i t e c t u r e ,i n o r d e rt or e d u c em a i n t e n a n c ec o s t s ,h a l sb e c o m eas o r w a r ee n g i n e e r i n gp r o b l e mt ob es o l v e d t h a t t h ek e yt os o l v et h ep r o b l e mi sh o wt oe x t r a c tb u s i n e s sr u l e s a n dm a k et h e mb e c o m es o a a r c h i t e c t u r es e r v i c e s t h i sp a p e ri sa ni n d e p t hs t u d y t h i sp 印e rw i l lc o m p l e t et h ef o l l o w i n ga l s p e c t s : 1 t h ef r a m e w o r ko fb u s i n e s sr u l e se x t r a c t i o nw i l lb ei m p r o v e da n dr e f i n e df r o mt h ef o l l o w i n g 懿p e c t s : ( 1 ) b 雒e d 伽t h ec o n c e p to ft h eg r a p h ,ac a l lg r a p ha n daf i l ec o n t a j n i n gg r 印hw i l l b e d e f i n e d ( 2 ) a f i l ec o n t a i n i n gg r a p hg e n e r a t i o na l g o r i t h m w i l lb ed e v e l o p e dt oa l l o w su s e r st 0 u n d e r s t a n dr e l a t i o n sb e t w e e n6 l e si nt h ew h o l es y s t e m ( 3 ) ac a l lg r a p hg e n e r a t i o na l g o r i t h mw i nb ed e v e l o p e dt og e n e r a t es y s t e ms l i c i n g ( 4 ) i no r d e rt oe x t r a c tt h eb u s i n e s sr u l e so fl a 唱e s c a l es y s t e m s ,as y s t e ms l i c i n ga l g o r i m mw i l l b ed e v e l o p e d ( 5 ) i no r d e rt oo b t a i nm o r ea c c u r a t eb u s i n e s s1 1 l l e s ,ad o m a i nk n o w l e d g e i d e n t i f i c a t i o na l g o r i i i i 两南大学硕 二学位论文 w i l lb ed e v e l o p e d ( 6 ) b ya n a l y s i sa n dc o m p a r i s o no fe x i s t i n gp r o g r a ms l i c i n gs c h e m a c o n c l u d e dt h a tt h ed c s l i c i n gs c h e m ah a sa d v a n t a g e so ns l i c i n gc o s ta n ds l i c i n gp r e c i s i o n a sar e s u l t ,d e p e n d e n c e - c a c h e ( h e r e i n a r e rr e f e r r e dt od c ) s l i c e st e c h n o l o g yw i l lb ei n t r o d u c e dt oe x 仃a c tt h eb u s i n e s sr u l e s ( 7 ) x m li su s e dt or e p r e s e n tb u s i n e s sm l e si n t e m a l l yi no r d e rt oi m p r o v ee x t e n s i b i l i t y 锄d e 伍c i e n c yo fb u s i n e s sm l e sr e p r e s e n t a t i o n ( 8 ) t h ep r i n c i p l eo fp r o g r 锄s l i c i n gs t a n d a r d sc h a i l g e sw i l lb ep u tf o n v a r di no r d e rt op r o v i d e g u i d a n c et ou s e r s 2 s u a lc :+ + 6 od e v e l o p m e n tt o o li su s e dt od e v e l o pab u s i n e s sr u l e se x t r a c t i o np r o t o 帅e s y s t e m 3 t h r o u g ht e s to ft h es y s t e m ,p r o v e dt h a tt h es y s t e mh 邪g o o de 伍c i e n c yi nv i e wo fs l i c i n g p r e c i s i o n i nt h i sm e t h o d ,t h ep 印e rp r o v i d e ss o m ei m p r o v e m e n ta n di n n o v a t i o nm a i n l yi nt h ef o l l o w i n g f o u ra s p e c t s 1 t h ed cs l i c e st e c h n o l o g yw i l lb ei n t r o d u c e dt oe 灯a c tt h eb u s i n e s sm l e so fl e g a c ys y s t e m s 2 i no r d e rt oe x t r a c tt h eb u s i n e s sm l e so fl a 唱e s c a l es y s t e m s ,c a l l i n gr e l a t i o n s h i pb e t w e e n m o d u l e sw i l lb ei n t r o d u c e d 3 i no r d e rt oo b t a i nm o r ea c c u r a t eb u s i n e s sr u l e s ,d o m a i nk n o w l e d g ew i l lb ei n t r o d u c e d 4 t h ep 印e rw i ua b s t r a c t1 e g a c ys y s t e m si n t 0as i m p l ed i r e c t e d 掣a p ho fl a n g u a g ei n d e p e n d e n t o nt h eb a l s i so ft h ea b o v e ,t h ea u t h o ru s e s u a lc + + 6 0d e v e l o p m e mt e c h n o i o g yt ob u i l da b u s i n e s sr u l e se x t r a c t i o np r o t o t ) ,p es y s t e mw h i c hi sb a s e do nt h ec sa r c h i t e c t u r ea n du s et h et o o l t o e x t r a c tb u s i n e s sr u l e s 仃o mt h ec + + l a n g u a g el e g a c ys y s t e m s t h i sw i l ll a yt h ef o u n d a t i o nf o r m i g r a t i n gt h ec sa r c h i t e c t u r et os o a k e y w o r d s :d c s h c e l e g a c ys y s 钯m b u s i i i e 鹪1 1 i l 鹤a 渤铆c 妇 i v 图目录 图1 1c s 与s o a 的对应关系1 图1 1 遗留系统移植系统的总体功能结构图3 图2 1 程序2 1 对应的静态p d g 图9 图2 2 切片标准 对应的静态切片9 图2 - 3 动态切片标准 对应的动态切片1 1 图2 4 数据依赖收集算法1 2 图2 5 切片规模比较图1 3 图2 6 程序执行前分析所需的时间的比较1 3 图2 7 程序执行时间的比较1 4 图2 8 构造程序切片的时间比较1 4 图2 9h u a n g 方法模型图1 6 图2 1 0 大型遗留系统的业务规则抽取模型1 7 图3 1 基于d c 切片的业务规则抽取模型_ 1 9 图3 2 文件包含图生成算法流程图2 2 图3 3 程序2 1 对应的文件包含图和模块调用图2 3 图3 4 程序2 1 对应的系统切片2 4 图3 5 域变量识别算法的顶层流程图2 5 图3 6 构造p d g d s 图的顶层流程图2 8 图3 7 数据依赖收集2 9 图3 8 切片算法流程图2 9 图3 9 业务规则表示视图3 0 图3 1 0 利用本文的方法后得到的p d g 图3 2 图4 1 抽取工具体系结构图3 5 图4 2 原型系统框架3 7 图4 3 原型系统主界面3 8 图4 4 读取c p p 或:c 文件3 8 图4 5 词法分析结果3 9 图4 6 显示文件包含关系图3 9 i i 图5 1 生成调用关系结果4 0 图5 2 程序2 1 对应的模块调用图4 0 图5 3 系统切片生成窗口4 1 图5 4 静态p d g 图。4 l 图5 5 系统切片执行界面4 1 图5 6 系统切片执行界面4 2 图5 7 切片标准设置窗口4 2 图5 8 实验结果4 2 i i i 表目录 表4 1 烈c t a b l e ( 文件包含关系) 表3 7 表4 2f u n t a b l e ( 函数) 表3 7 表4 3c r e t a b l e ( 函数调用关系) 表3 7 i v 独创性声明 本人提交的学位论文是在导师指导下进行的研究工作及取得的研 究成果。论文中引用他人已经发表或出版过的研究成果,文中已加 了特别标注。对本研究及学位论文撰写曾做出贡献的老师、朋友、同 仁在文中作了明确说明并表示衷心感谢。 学位论文作者:签字日期:孑年牛月日 学位论文版权使用授权书 本学位论文作者完全了解西南大学有关保留、使用学位论文的规 定,有权保留并向国家有关部门或机构送交论文的复印件和磁盘,允 许论文被查阅和借阅。本人授权西南大学研究生院( 筹) 可以将学位 论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或扫描等复制手段保存、汇编学位论文。 ( 保密的学位论文在解密后适用本授权书,本论文:一不保密, 口保密期限至年月止) 。 学位论文作者签名稚缈i 导师签名: 签字日期:卯吩却月冶 签字日期:硼年妒 第l 章引言 第1 章引言 从上世纪6 0 年代爆发软件危机,诞生软件工程这一新兴学科以来,软件工程的研究不断 发展:一方面,积累了一大批成果和技术,形成了较为成熟的传统软件工程;另一方面,不 断引入新的先进的工程方法,使之日益完善。随着计算机软件的广泛应用,各行各业出现了 许许多多的软件系统,其中,有的软件系统使用时间已经超过1 0 年,甚至一些机构仍然依赖 于某些已有2 0 多年历史的软件系统。在技术日新月异的今天,这些系统不但难以满足业务发 展的需要,而且其维护费用也成倍增加,日益加重了企业的经济负担。如果这些软件系统提 供的服务一旦出现了问题,将会带来难以估量的损失和严重的后果。因此,建设新的、经济 实用的、兼容性好的软件系统便成了许多机构迫在眉捷的问题! 经过许多理论和实践证明一 一移植遗留系统是一种行之有效的手段。 1 1 研究背景 随着计算机技术的不断发展,尤其是基于w e b 的信息发布和检索技术的发展,导致了整个 应用系统的体系结构从客户服务器( 以下简称c s ) 的主从结构向灵活的分布式结构的演变。 这一演变在当今以w e b 技术为核心的信息网络的应用下,给体系结构赋予了新的内涵面向 服务的体系结构( 以卜简称s o a ) 。在这种体系结构中,系统功能由各自独立可复用的服务构 成。与c s 体系结构相比,它的基本特点是基于标准、松散耦合、共享服务、粗粒度、维护成 本低、易于扩展、灵活性好。 目前,社会上存在着大量的c s 系统,这些系统往往是企业的核心系统。它们在经历了长 时间的运行后,积累了大量的数据,并且文档已经过时。怎样将这些系统移植为s o a ,以减 少维护成本,成为了软件上程重点解决的问题。 。 图1 1c s 与s o a 的对应关系 由图1 1 可以看出,将c s 体系结构移植成s o a 的关键是怎样将客户端的业务规则抽取成 s o a 的w 曲服务。本文将就此问题进行深入地研究。 两南人学硕士学位论义 1 2 国内外的研究现状 业务规则的概念是上世纪8 0 年代木,由美国i b m 公司在a d c y c l e 这个项目中提出。他 们把业务规则定义为在商业企业或应用领域中表示数据条件或操作的一种需求,同时,这是 一个互补并带有条件的动词短语 1 】。例如:顾客要求在交货后结帐,就是一个互补并带有条 件的动词短语,因为该顾客必须至少有一个等级为满意的信用度,否则,他( 她) 就必须先 付款。 j a r z a b e k s 2 】把程序级别的业务规则定义为一个能进行业务决策和计算业务结果的公理。 例如:雇用某人就是一个业务决策。 1 9 9 7 年,业务规则小组发表了一篇关于业务规则的学术报告 3 】。该报告提出了一个业务 规则分类的框架,将业务规则分为结构化的约束、属性、关系、授权、推导、条件等等。目 前的研究主要是对推导类型、条件类型的业务规则进行抽取和描述。其中推导类型的业务规 则描述的是怎样由某些给定的值计算或推断某些业务结果;条件类型的业务规则描述的是操 作执行所需的条件或在某个条件下执行的操作。例如:驾驶员的年龄必须为1 8 周岁及以上。 h h u a n g 【4 】提出了一种业务规则抽取方法。该方法首先识别域变量,然后利用通用程序切 片技术来抽取相关的代码段,最后将这些代码段表示给不同的用户。 h a n ym s n e e d 5 】提出了一种通过识别输出数据和使用程序分段处理( p r o g r a ms t r i p p i n 曲 技术来抽取业务规则。 浙江人学千新宁等人 6 】使用静态切片技术来抽取大型遗留系统的业务规则。 以上三种方法 4 ,5 ,6 】都是对推导类型的业务规则进行抽取,这类方法主要是利用数据依 赖图【7 】和程序切片技术【8 】。但是,前两种方法 4 ,5 的局限是不能对大型复杂的遗留系统进行 处理,并都只能对c o b o l 语言编写的系统进行抽取。【6 】中使用了静态切片技术,该技术收集 目标程序的控制依赖关系非常容易,但很难收集精确的数据依赖关系,并且时间开销大【9 ,1 0 , l l 】。 a b e a r l s 1 2 】等人对条件类型的业务规则进行抽取,该方法为抽取该类业务规则提供了指 导。但该方法的整个抽取过程完全是手动的,所需时间和复杂度比较高。 1 3 课题研究内容与本人所做工作 1 3 1 课题研究内容 针对目前业务规则抽取的发展现状,研究新的业务规则抽取方法便成为了一种趋势,本 论文的研究课题也由此引发。在本论文中,将给出一种新的业务规则抽取方法,并开发一个 基于d c 切片的遗留系统业务规则抽取系统,它主要采用d c 程序切片技术。 基于d c 切片的遗留系统业务规则抽取系统是项目基于c s 体系结构的遗留系统到s o a 移植系统的一个子系统。基于c s 体系结构的遗留系统到s o a 移植系统可以根据所采集的遗 2 第l 章引言 留系统的静态信息和动态信息,抽取出程序员所需要的业务规则,并能将其转换成相应的w 曲 服务,并且还可以帮助程序员理解程序以及对软件系统进行程序切片,以达到帮助调试员调 试程序的目的。 在基于c s 体系结构的遗留系统到s o a 移植系统中,基于d c 切片的遗留系统业务规则 抽取子系统是本论文研究的重点,业务规则抽取主要用在对遗留系统中的业务规则进行抽取。 业务规则抽取系统通过对遗留系统进行分析,将所有与域变量相关的语句抽取出来,从而将 系统移植时的关注面缩小到较小的范围中去,最终达到减小程序员阅读程序的工作量,提高 程序员移植效率的目的。 图1 2 是基于c s 体系结构的遗留系统到s o a 移植系统的总体功能结构图: 基于c s 体系结构的遗留系统到s o a 体系结构移植系统 用 户 界 面 业务 规则 抽取 系统 w e b 服 务生成 系统 w c b 服 务包装 系统 新的用 户界面 生成系统 囤f i 遗留系统移植系统的总体功能结构图 说明如下: 夺用户界面:提供用户与系统交互的接口。 业务规则抽取系统:用于抽取遗留系统中的业务规则。 w 曲服务生成系统:用于将抽取得到的业务规则转换成w 曲服务。 夺w r e b 服务包装系统:用于将遗留系统中不能分解的部分包装成w 曲服务。 新的用户界面生成系统:用于将遗留系统的用户界面转换成新系统的用户界面。 1 3 2 本人所做工作 本人主要完成以下几个方面的工作: 1 从以下儿个方面改进和细化业务规则抽取框架: ( 1 ) 基于图的概念,完成了对模块调用图和文件包含图的定义。 。 ( 2 ) 提出了文件包含图生成算法,让用户了解整个系统中文件之间的包含关系。 ( 3 ) 提出了文件模块调用图生成算法,为系统切片的生成做准备。 ( 4 ) 提出了系统切片算法,以适应对大型遗留系统中的业务规则进行抽取。 ( 5 ) 提出了域变量识别算法,以使用户得到更精确的业务规则。 ( 6 ) 在综合考虑国内外现有的各种切片方案的切片精度以及切片时间代价的基础上,利 用目前切片综合效率最高的依赖缓冲( d e p e n d e n c e c a c h e ,以下简称d c ) 切片技术抽取业务 3 p q 雨人学帧士学位论文 规则。 ( 7 ) 提出了一种基于x m l 的业务规则内部表示,以提高业务规则表示的扩展性和效率。 ( 8 ) 提出了程序切片标准改变原则,为用户抽取业务规则提供指导。 2 采用v i s u a lc + + 6 0 作为开发上具构建基丁c s 模式的业务规则抽取原型系统。 3 从切片精确度方面对原型系统进行测试,验证了d c 切片方案的高效性,从而进一步 证明了该系统的确是一个易于使用、易于维护、高精确度的业务规则抽取系统。 1 4 创新点 1 在综合考虑国内外现有的各种切片方案的切片精度以及切片花费的基础上,将切片综 合效率最高的d c 切片技术引入到业务规则抽取系统中。 2 将域知识引入到业务规则抽取中,以得剑更精确的业务规则。 3 将遗留系统抽象成独立于具体实现语言的程序依赖图【1 3 】、文件包含图和模块调用图 【6 】,并将有关信息存储在数据库中,方便管理。 4 采用v i s u a lc + + 6 0 作为开发工具来构建基于c s 模式的业务规则抽取原型系统。 1 5 论文结构 本论文分为六章,分别如下: 第1 章为引言部分,介绍了课题的选题背景和意义、课题的国内外研究现状、课题研究 内容与本人所作的t 作等。 第2 章为理论基础,介绍了本研究所涉及到的相关理论和技术。 第3 章介绍本研究所做的工作:提出一个基于d c 切片的业务规则抽取模型,根据该模型, 研究业务规则的具体抽取方法,并用一个实例验证该方法的有效性。 第4 章结合现有的业务规则抽取白动化工具,提出一种具有模块独立性、可扩展性和跨 平台性好的自动化业务规则抽取系统,完成原型系统开发。 第5 章通过测试用例对系统进行测试,并评估其性能,并与已有的研究做对比,验证其 有效性。 第6 章总结了本论文的研究工作,进一步提出未来的研究设想。 4 第2 章理论基础 第2 章理论基础 2 1 遗留系统 计算机技术飞速发展,日新月异,许多企业冈为业务发展的需要和市场竞争的压力,需 要建设新的企业信息系统。在这种升级改造的过程中,怎么处理和利用那些历史遗留下来的 老系统,成为影响新系统建设成败和开发效率的关键因素之一。文章称这些老系统为遗留系 统。 虽然目前,学术和工业界对遗留系统的定义没有统一的意见。但是,b e i l n e t t 和b r o d i e 两位 学者的释义影响较为广泛。b e n n e t t 在1 9 9 5 年对遗留系统作了如下定义【1 4 】:遗留系统是大家不 知道如何处理但对组织又是至关重要的系统。b r o d i e 对遗留系统的定义如下【1 5 】:遗留系统是 指任何基本上不能进行修改和进化以满足新的变化了的业务需求的信息系统。 抛弃遗留系统或用一个全新的软件系统去替换遗留系统都会存在巨大风险,这是因为 【1 6 】: ( 1 ) 遗留系统几乎没有完整的描述。最初的描述可能已经不存在了;即使存在,也很难 包含所做变更的所有细节。因此,没有一个简单方法来直接定义一个新系统,使得新系统的 功能与遗留系统的功能相同。 ( 2 ) 业务过程和遗留系统的操作方式紧密地“交织”在一起。根据软件服务的特点调整 业务过程,争取充分发挥软什服务的优势,弥补其不足。如果系统被替换,这些过程也必须 改变,这样一来,替换的成本以及对业务的影响难以估量。 ( 3 ) 重要的业务规则隐藏在软件内部,不可能记录在别的地方。业务规则是对某些业务 功能施加的约束,打破这些约束会对业务带来不可预知的结果。举例来说,一家保险公司可 能将保单申请的风险评估规则嵌入软件中,如果不保留这些规则,公司就可能接受不合理的 高风险保单,为日后带来昂贵的经济赔付。 ( 4 ) 由于开发新软件本身是有风险的,所以新系统会遇到难以预料的问题。例如,它可 能无法按时交付,软件支付的价格可能超出预期的估计等。 继续使用遗留系统能避免替换的风险,但是对现有软件进行变更的费用会更高,越老的 系统越是如此,原因如下【1 6 : ( 1 ) 系统的不同部分由不同的团队实现,导致整个系统中的程序设计风格不一致。 ( 2 ) 系统的部分或全部是用一种过时不用了的编程语言写的。很难找到会用这种语言的 程序员,而且可能需要花高价将系统维护外包给别人。 ( 3 ) 系统文档通常是不充分的和过时的。有些时候,系统源代码是唯一的系统文档。甚 至系统源代码已经不复存在,只剩下系统的可执行版本。 ( 4 ) 系统可能对空间利用或运行速度进行了优化,但不是为可读性设计的。这对掌握现 5 曲雨大学坝十学位论义 代软件- l 程技术的人员来说,理解起来是相当困难的,先前的程序中可能使用了许多小的程 序设计窍门,这些对新人来说,同样是极难弄懂的。 ( 5 ) 经过多年的维护,系统结构可能已经被破坏,理解系统设计的难度逐渐加大。加进 来的新程序可能以一种特别的接口方式与系统的其他部分对接。 ( 6 ) 系统所处理的数据可能保留在一些结构不相容的文件中。这些文件中的数据可能存 在重复、过时、不精确、或不完整的现象。 所以,很多遗留系统的经营者会陷入进退两难的境地。如果他们继续使用遗留系统,根 据需要做系统变更,其成本不可避免将要增加;如果他们决定用新系统替换遗留系统,风险、 费用均大大增加,而且新系统不一定能像遗留系统那样对系统提供有力的支持。 因此,在企业信息系统升级改造过程中,如何处理和利用遗留系统,成为新系统建设的 重要组成部分。处理恰当与否,直接关系到新系统的成败和开发效率。 2 2 程序切片技术综述 程序切片是一种分析和理解程序的技术,是通过分别对源程序中每个兴趣点计算切片来 达到程序分析和理解的目的。最早的程序切片概念是由m a r kw e i s e r 8 】提出。w 色i s e r 声称,一 个切片与人们在调试一个程序时所做的智力抽象相对应。w e i s e r 把切片定义为通过移除源程 序中的零条或多条语句得到的一个可执行程序;另外还有一种通用的定义把切片看成是由程 序中直接或间接影响切片标准计算的变量的值的语句和控制谓词组成的一个子集,定义说明 这类切片不必构成可执行的程序【1 7 。目前切片技术的发展基本成熟,它在程序的调试 8 】、测 试【1 8 ,1 9 ,2 0 ,2 1 】、分解和集成【2 2 ,2 3 】、软件维护 2 4 】等领域的巨大作用也得到人们的广泛重 视1 2 2 1 程序切片的相关概念 1 切片标准的原始概念 定义2 2 1 8 :给定程序p ,切片标准为一个二元组 ,其中s 为程序p 中某语句的语句号, v 为语句s 处的变量的集合。 切片标准是程序切片技术的重要环节,对同样的程序计算切片时,如果切片标准发生变 化,则计算得到的程序切片也会不同。最常见的两种切片标准有:静态后向切片标准、动态 后向切片标准,另外还有条件切片标准、迭代切片标准、传统的前向切片标准、分解切片标 准、广义切片标准、无定型切片标准、对象切片标准等。 2 程序切片的原始概念 定义2 2 2 【8 】:程序p 关于切片标准 的切片为程序p 中可能影响语句s 处变量集v 的值的 语句的集合,记为s l i c e ( p ) 。 定义2 2 3 :程序p 为s l i c e ( p ) 的原始程序。 6 第2 章理论基础 每个程序至少有一个程序切片,即程序本身【8 】。程序切片的规模小于等于原始程序的规 模。最常用的程序切片有两种:静态切片和动态切片 1 9 ,2 5 】。 2 2 2 程序切片算法比较 1 程序静态切片( s 协t i cs l i c i n g ) 算法介绍 ( 1 ) 静态切片的概念 静态切片最初是由w 色i s e r 【8 】提出。他把静态切片定义为一组程序语句的集合,这组语句可 以影响程序某一点的某个变量的值。 ( 2 ) 静态切片算法 目前,程序静态切片算法主要有w 色i s e r 的以控制流图作为中间表示的基于数据流关系的算 法 8 、b e 唱e r e t t i 的基于信息流关系的算法【2 6 】、k j o 舵n s t e i n 和l m o n e n s t e i n 以及h o n v i t z 的基 于依赖图的图形可达性算法【1 3 ,2 7 】。以下重点介绍本论文中所要用到的基于依赖图的图形可 达性算法。 ( 3 ) k j 0 仳e n s t e i n 和l m 0 t t e n s t e i n 的基于程序依赖图( p r o 黟锄d e p e n d e n c eg r 印h ,以下简 称p d g ) 的图形可达性算法【1 3 】 1 ) 相关定义 控制依赖( c o n t r o ld e p e n d e n c e ,c d ) 的定义【l3 ,2 8 】 定义2 2 4 :考虑目标程序p 中的两条语句s l 和s 2 ,当它们之间满足如下条件时,就称为存 在从语句s l 到语句s 2 的控制依赖关系,记为s i 一。s 2 : a s 1 是一个条件语句。 b s 。判断的结果决定着s 2 执行与否。 数据依赖( d a t ad e p e n d e n c e ,d d ) 的定义 1 3 ,2 8 】 定义2 2 5 :考虑目标程序p 中的两条语句s l 和s 2 ,当它们之间满足如下条件时,就称为存 在关于变量v 的从语句s l 到语句s 2 的数据依赖( d a t ad e p e n d e n c e ,d d ) 关系,记为s l 匕f s 2 : a s l 定义v 。 b s 2 引用v ( s 2 中使用v ) 。 c 至少存在一条从语句s i 到语句s 2 的执行路径,在这条执行路径上v 没有被重新定义过。 静态程序依赖图( p r o g r a md e p e n d e n c eg r a p h ,以下简称p d g ) 的定义【1 3 ,2 8 】 定义2 2 6 :程序p 对应的p d g 图是一个有向图 2 9 】,记为g p = ,其中v p = s i | s i ( 1 i n ) 为程序p 中的语句) ,e p = s i 一。s j i s i ,s j v p ,l 巧n ,i j u s k f s i i s k ,s l v p ,1 k ,l n ,k 1 ) ,n 为程序p 中的语句总数。 基于p d g 图的静态程序切片标准的定义【2 8 】 定义2 2 7 :基于p d g 图的静态程序切片标准为一个二元组 ,s v p ,v 为s 中的一个变量。 基于p d g 图的静态程序切片的定义【2 8 】 7 两南人学硕j 二学位论文 定义2 2 8 :给定程序依赖图g p ,关于切片标准 的切片是一个g p 的子图。记为 s l i c e ( g p ,s ) ,其中 v ( s l i c e ( g p ,s ) ) 2 u v p l u _ 。,f s ) ; e ( s l i c e ( g p ,s ) ) = u f y e p i u ,y v ( s l i c e ( g p ,s ) ) ) u w _ c x e p l w ,x v ( s l i c e ( g p ,s ) ) ; 2 ) 计算切片的过程 2 8 】 根据上述定义构造p d g 图g 。 根据上述定义设置切片标准 。 遍历p d g 图中通过控制依赖边和关于变量v 的数据依赖边到达s 的结点对应的语句集合。 3 ) 应用实例 例:程序2 1 是一个c + + 程序,该程序的功能如下: 1 ) 让用户输入a ,b ,c 三个值。 2 ) 如果c 的值为零,就计算a 的平方的绝对值,如果c 的值为l ,就计算b 的立方的绝对值。 1 撑i n c l u d e l lc u b e = x 幸x x ;2lp r i n t 坟”s e l e c tf e a c u r e ! s q u a r e :oc u b e :l ”) ; 2i n ts q u a r e ( i n tx )l2r e t u mc u b e ; 2 2s c 柚坟”& c ) ; 3 1 3 2 3i f 【c 一0 ) 4i n ts q u a r e ; 1 4v o i dm a i | l ( ) 2 4 d - s q u a r e ( a ) ; 5s q u a r e 2x + x ; 1 5 2 5e l s e 6r e t u ms q u a r e ;l6i n t 咖,c ,d ; 2 6 d = c u b e ( b ) ; 7 ) 17 p r i n t f ( ”s q u a r e dv a l u e ? ”) ; 2 7i f ( d 0 ) 8i n tc u b e ( i mx )18s c a n 坟”d ,& a ) ; 2 8d 5 1 + d ; 9 ( 19p r i n t f ( ”c u b e dv a l u e ? ”) ;2 9p r i n t 坟”d ”,d ) ; 1oi n tc u b e ;2 0s c a n 坟”d ,& b ) ; 3 0 程序2 1c + + 源程序 构
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 商务咨询费合同范本
- 销售返利合作合同范本
- 婚庆合同范本简单版
- 保安公司终止合同范本
- 包子的分销合同范本
- 工程机电框架合同范本
- 能源设备采购合同范本
- 公司购买汽车合同范本
- 民间借款制式合同范本
- 小区楼房出售合同范本
- 慢性疾病管理与健康指导手册
- 2025年高中音乐教师招聘考试测试题及参考答案
- 建筑工地基孔肯雅热防控和应急方案
- 2025年高考山东卷物理试题讲评及备考策略指导(课件)
- 租房合同范本下载(可直接打印)
- 佳能-6D-相机说明书
- DZ∕T 0153-2014 物化探工程测量规范(正式版)
- 畜牧兽医法规课件
- 生物竞赛辅导 动物行为学第七章 行为发育(38)课件
- 《空中领航》全套教学课件
- 木栈道专项施工方案
评论
0/150
提交评论