已阅读5页,还剩69页未读, 继续免费阅读
(计算机软件与理论专业论文)基于模式的数据稽核监控系统模型的重构与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 基于模式的数据稽核监控系统模型的重构与设计 摘要 数据稽核监控系统是从业务运营支撑系统中采集数据,并对这 些数据进行比对,从而发现数据错误问题,防止收入流失的系统。 随着数据稽核监控系统的开发,系统中出现了代码冗余、类设计重 复、函数逻辑复杂、函数本身不易理解等问题,降低了系统的扩展 性和维护性。 为了解决这些问题,本论文将对数据稽核监控系统的模型进行 重构设计,从而改善系统的扩展性、维护性。论文研究并完成的成 果有: 一、数据稽核监控系统模型的重构和设计。对现有数据稽核监 控系统进行了详细分析,应用分析模式对系统的主要模块:稽核关 系式管理、稽核任务管理、稽核结果展示的模型进行了重构,并分 析了重构后的模型在扩展性、维护性等方面的优点。根据重构后的 模型,应用设计模式对系统进行了设计重构。 二、提出了数据采集的分析模式。总结分析模式的通用分析方 法,并根据该方法提出了一种基于异构数据源的数据采集分析模式, 为数据稽核监控系统数据采集模块的设计提供了一种方法。 通过对数据稽核监控系统的重构分析和设计,在一定的程度上 增强了系统的扩展性、维护性和易理解性。同时,数据采集分析模 式的提出也为数据稽核监控系统的进一步改进奠定了基础。 关键宇:数据稽核监控系统重构模式数据采集 t h er e f a c t o r i n ga n dd e s i g n0 fd a t aa u d i t a n dm o n i t o rs y s t e mm o d e lb a s e do n p a t t e r n s a b s t r a c t d a t aa u d i ta n dm o n i t o rs y s t e mi sas y s t e mt h a tc o l l e c td a t af r o m b u s i n e s ss u p p o r t i n gs y s t e ma n dc h e c kt h e s ed a t at of i n dt h ed a t a i n c o n s i s t e n c yi no r d e rt op r e v e n tr e v e n u el e a k a g e a l o n gw i t ht h e d e v e l o p m e n t ,t h e r ea r em a n yp r o b l e m ss u c ha sd u p l i c a t e dc l a s sa n dc o d e , l o n g m e t h o de r e t h e s e p r o b l e m s m a k et h e e x p a n d a b i l i t ya n d m a i n t a i n a b i l i t yd e c l i n e d i no r d e rt os o l v et h e s ep r o b l e m s ,t h ef o l l o w i n gw o r k sh a v eb e e n d o n ei nt h ep a p e r f i r s t ,r e f a c t o r i n ga n dd e s i g nt h em o d e lo fd a t aa u d i ta n dm o n i t o r s y s t e m a f t e ra n a l y z i n gt h ed a t aa u d i ta n dm o n i t o rs y s t e m ,t h em o d e lo f m a i nm o d u l e ,a u d i tf o r m u l a m a n a g e ,a u d i tt a s km a n a g ea n da u d i tr e s u l t , h a sb e e nr e f a c t o r i n g e db yu s i n ga n a l y s i sp a t t e r n s a n dt h es t r o n g p o i n t s i ne x p a n d a b i l i t ya n dm a i n t a i n a b i l i t yh a v eb e e nd e s c r i p t e d t h e nb a s e d o nt h em o d e l ,t h ed e s i g na n dc o d eh a v eb e e nr e f a c t o r i n g e db yu s i n g d e s i g np a t t e r n s s e c o n d ,d e s i g nt h ed a t ac o l l e c t i o na n a l y s i sp a t t e r n s u m m a r i z et h e c o m m o na n a l y s i sm e t h o do fa n a l y s i sp a t t e r n s a n do n ed a t ac o l l e c t i o n a n a l y s i sp a t t e r nb a s e do nt h eh e t e r o g e n e o u sd a t as o u r c e sh a sb e e nb u i l t i tp r o v i d e sf o u n d a t i o nf o rt h ed e s i g no fd a t ac o l l e c t i o nm o d u l eo ft h e s y s t e m t h r o u g ht h er e f a c t o r i n go fd a t aa u d i ta n dm o n i t o rs y s t e m ,t h e e x p a n d a b i l i t y ,u n d e r s t a n d a b i l i t ya n dm a i n t a i n a b i l i t ya r ei n c r e a s e di na c e r t a i ne x t e n d m e a n w h i l e ,t h ed a t ac o l l e c t i o na n a l y s i sp a t t e r np r o v i d e s af o u n d a t i o nf o rt h es o f t w a r ef a r t h e ri m p r o v e m e n t 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 k e yw o r d s :d a t aa u d i ta n dm o n i t o rs y s t e m r e f a c t o r i n g p a t t e r n d a t ac o l l e c t i o n 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 图目录 图2 - 1 观察和测量模式1 0 图2 - 2 计划模式。ll 图2 - 3 合同夹模式1 2 图2 - 4 简单工厂模式1 5 图2 - 5 工厂方法模式1 6 图2 - 6 模版方法模式1 7 图3 - 1 系统总体定位图18 图3 - 2 重构前系统体系结构图l9 图3 - 3 重构后系统体系结构图2 0 图3 - 4 系统技术架构图2 l 图3 - 5 稽核关系式管理包图2 2 图3 - 6 稽核任务管理包图2 3 图3 - 7 稽核结果展示包图2 4 图4 - 1 现有数据稽核监控系统模型” 图4 - 2 系统用例图2 9 图4 - 3 数据稽核监控系统包图3 0 图4 - 4 稽核关系式管理模型3l 图4 - 5 稽核任务管理模型3 3 图4 - 6 稽核结果展示模型3 4 图5 - 1 关系式添加4 0 图5 - 2 关系式删除4 l 图5 - 3 关系式修改4 2 图5 - 4 关系式查询4 3 图5 - 5 关系式启用禁用。4 4 图5 - 6 任务定制4 6 图5 - 7 任务删除4 8 图5 - 8 任务修改4 9 图5 - 9 结果展示5l 图5 - 10 关系式管理类图5 2 图5 - 11 任务管理类图5 3 图5 - 1 2 结果展示类图5 4 图6 - 1 知识级和操作级分离5 9 图6 - 2 数据采集分析模式6 l 图6 - 3 数据采集设计6 2 图6 - 4 数据采集设计类图。6 3 独创性( 或创新性) 声明 本人声明所呈交的论文是本人在导师指导下进行的研究工作及取得的研究 成果。尽我所知,除了文中特别加以标注和致谢中所罗列的内容以外,论文中 不包含其他人已经发表或撰写过的研究成果,也不包含为获得北京邮电大学或 其他教育机构的学位或证书而使用过的材料。与我一同工作的同志对本研究所 做的任何贡献均已在论文中作了明确的说明并表示了谢意。 申请学位论文与资料若有不实之处,本人承担一切相关责任。 本人签名:至鱼日期:型墨:兰:鲨 关于论文使用授权的说明 学位论文作者完全了解北京邮电大学有关保留和使用学位论文的规定,即: 研究生在校攻读学位期间论文工作的知识产权单位属北京邮电大学。学校有权 保留并向国家有关部门或机构送交论文的复印件和磁盘,允许学位论文被查阅 和借阅;学校可以公布学位论文的全部或部分内容,可以允许采用影印、缩印 或其它复制手段保存、汇编学位论文。( 保密的学位论文在解密后遵守此规定) 保密论文注释:本学位论文属于保密在一年解密后适用本授权书。非保密论文注释: 本学位论文不属于保密范围,适用本授权书。 本人签名:至望日期:! 里:! :鲨 导师签名:三暑遵耻日期:! 尘尘二毕 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 1 1 背景及意义 第一章绪论易;一早瑁化 随着世界经济的全球化,国际化的市场环境要求国内的电信运营企业在经 营管理、服务水平上向国外先进的电信运营企业看齐,以迎接电信运营业的国 际化竞争。当前的电信运营支撑系统在这一过程中已经发挥着极其重要的作用, 它借助i t 的手段实现了对电信网络和电信业务的管理,使绝大多数关键业务和 关键流程都纳入了计算机管理的范畴,不仅大幅度地提高了电信运营企业生产 作业的自动化水平,而且加强了运营管理的有效性。 由于电信运营商技术和管理上的漏洞,加之缺乏适当的收入保障方法,所 以运营商收入流失的现象比较严重。为了保障电信运营商的业务收入,必须研 究收入保障方法,做好收入保障工作n 1 。 电信数据稽核是进行电信收入保障的一种较为经济有效的方法。电信数据 稽核监控系统是以自动化的形式代替手工操作完成数据稽核工作的系统。它采 用数据稽核的方法,通过数据之间的内在关联关系,找出相关数据进行比对与 稽核,从而发现系统内数据不一致的情况,防止收入流失。 随着数据稽核监控系统的进一步开发,现有系统的结构越来越复杂,导致 产生代码冗余、类设计重复、函数逻辑复杂、函数本身不易理解等问题,降低 了系统的扩展性和维护性。针对出现的这些问题,系统需要进行重构,使其更 易于理解,提高扩展性和可维护性。 本论文主要利用分析模式、设计模式以及重构理论对数据稽核监控系统的 模型进行重构。 1 2 研究内容 本文作者在攻读硕士学位期间有幸在国内一省级电信运营商参加了系统开 发建设工作,主要参加的项目有数据稽核监控系统和经济业务核算报表系统。 通过这段时间与电信运营企业的亲密接触帮助作者加深了对电信运营生产过程 的理解,也帮助作者积累了一定的系统建设实践经验。 数据稽核监控系统是通过数据稽核的方法查找电信业务支撑系统内数据不 一致的系统。通过一年的数据稽核监控系统的开发实践,作者发现现有的数据 稽核监控系统暴露出许多问题,这些问题导致了数据稽核监控系统的后续开发 北京邮电大学硕士学位论文第l 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 工作进展缓慢。因此本文作者针对数据稽核监控系统存在的问题,对系统进行 了重构,以使系统更易于理解,提高系统的扩展性和维护性。 基于上述研究目标,本论文主要展开以下几方面的工作: 1 对现有数据稽核监控系统进行分析:找出现有稽核监控系统在扩 展性、维护性、灵活性、易理解性等方面的问题,针对这些问题 提出解决方案。 2 系统重构:对数据稽核监控系统的稽核关系式管理、稽核任务管 理、稽核结果展示模块进行重构。主要包括3 个方面: 1 ) 利用分析模式,重构系统的模型:找出数据稽核监控系统需 求中涉及的概念、概念的属性以及概念之间的关系,应用已 有的分析模式设计出系统模型,并对重构后的模型分析。 2 ) 利用设计模式,对设计进行重构:根据建立好的模型,应用 设计模式对数据稽核监控系统进行设计重构,并用u m l 语言 进行描述。 3 ) 根据重构后的设计,对系统进行重构。 3 对重构后的系统在可理解性、可扩展性和可维护性等方面和现有 系统进行比较分析。 4 为了对数据采集模块进行设计,分析了数据采集涉及的问题,提 出了一种基于异构数据源的数据采集分析模式并对其详细描述, 并根据该模型进行了简要的设计。 1 3 论文结构 本篇论文是作者对一年多来的模式研究和电信数据稽核监控系统重构工作 的总结,结构安排如下: 第一章绪论,介绍了论文的研究背景及意义、研究内容和论文的结构。 第二章相关理论和技术。首先介绍了重构的定义、作用和应用环境,接着 分析了重构和模式的关系及重构的过程中模式的应用。然后介绍了分析模式、 设计模式的定义、作用以及本文中用到的模式。 第三章对现有数据稽核监控系统进行了分析,介绍了该系统在电信业务支 撑系统中的定位,该系统的体系结构、技术架构,并阐述了现有数据稽核监控 系统的设计结构,最后对现有系统中的存在的问题进行了说明。 第四章对数据稽核监控系统模型的重构过程进行了分析,首先描述了现有 数据稽核监控系统的模型,并对现有模型中存在的问题进行了分析,为下一步 北京邮电大学硕士学位论文第2 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 模型重构奠定基础。接着对系统的需求进行了简要的描述,最后在此基础上给 出了数据稽核监控系统重构后的模型,并将新模型和旧模型进行了比较分析。 第五章应用设计模式对数据稽核监控系统进行设计重构。首先详细描述了 重构的过程,然后对重构后系统的三个主要模块稽核关系式管理模块、稽核任 务管理模块和稽核结果展示模块进行了详细设计,并用u m l 图进行了描述。 最后对重构后的系统与现有系统在可理解性、可扩展性、可维护性等方面进行 了分析比较。 第六章为了对数据稽核监控系统的数据采集模块进行设计提出了一种基于 异构数据源的数据采集分析模式。首先分析了数据采集涉及的问题,包括数据 采集的定义、功能、适应性等问题。然后总结了分析模式的分析方法,并根据 该方法提出了一种基于异构数据源的数据采集分析模式,并且对该模型进行了 详细的描述。最后将该模型进行了简要的设计。 最后一部分是全文的总结,总结了论文的研究成果,并给出了可以进一步 研究的问题。 北京邮电大学硕士学位论文第3 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计 北京邮电大学通信软件工程中心 2 1 重构 2 1 1 重构 2 1 1 1 重构定义 第二章相关理论与技术介绍 重构乜1 是一种“保持行为的转换”,它是一种软件内部结构的改善,目的是 在不改变软件的可见行为的情况下,使其更易理解,修改成本更低。 m a r t i nf o w l e r 在重构改善既有代码的设计一书中分名词和动词两 种形式对重构进行了定义: 名词形式:对软件内部结构的一种调整,目的是在不改变软件之可察行为 前提下,提高其可理解性,降低其修改成本。 动词形式:适用一系列重构准则,在不改变软件之可察行为前提下,调整 其结构。 重构过程包括去处重复、简化复杂逻辑和澄清模糊的代码。重构时需要对 代码无情地针砭,以改进其设计。 软件结构可以因为各种各样的原因而被改变,比如增加某项功能、数据库 结构改变、进行打印美化、性能优化等,但只有出于可理解、可修改、可维护 目的的改变才是重构。这种改变必须保持可观察的行为,重构之前软件实现什 么功能,之后照样实现什么功能。任何用户,不管是终端用户还是其他的程序 员,都不需要知道哪些东西发生了变化。保持代码的可观察行为不变,这就是 重构的安全性。要保证重构的安全性,确保所作的修改不会产生任何破坏则必 须手工测试或者运行自动测试。 自动化测试是检验重构安全性非常方便而且有效的方法。虽然不能穷尽整个 系统中所有的测试,但如果重构之前成功的测试现在失败了,我们就会知道刚刚 做的重构破坏了系统的可观察行为。自动化测试能够在程序员不进行人工干预的 情况下自动检测到这样的行为破坏。单元测试是自动化测试方法之一。 重构的一个关键特性是在每一步重构之后我们都要测试经过修改的软件来 确保软件能像重构之前那样继续保持工作。因此,重构的节奏应该是:测试、小 的更改、测试、小的更改、测试如此循环下去,直至系统的功能实现达到要 求。 北京邮电大学硕士学位论文第4 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 2 1 1 2 重构的作用 通过重构,可以达到以下几个目的: ( 1 ) 改进软件的设计 ( 2 ) 使软件更易被理解和修改 ( 3 ) 提高软件设计的质量 ( 4 ) 使编码的效率更高 ( 5 ) 提高软件的可维护性 ( 6 ) 提高软件的扩展性 2 1 1 3 何时重构 重构一般在下列场合使用: ( 1 ) 增加功能时一并重构 重构的首要目的就是帮助我们理解需要修改的代码。这些代码可能是别人 写的,也可能是自己写的。为了更容易理解,需要修改原来的代码。另一个原 因是原来的代码结构很难直接扩展或者是修改起来不是很方便。 ( 2 ) 修改错误时一并重构 调试过程中运用重构,多半是为了让代码更具可读性。可能原来的代码隐 藏了b u g ,但由于代码结构不是很好,很难找出问题。结构合理、层次分明的 代码更容易使人找到问题,也更容易修正问题。 ( 3 ) 评审代码时一并重构 代码评审可以使得专家知识传播到整个开发队伍,能够帮助更多的人理解一 个大系统更多方面的问题。很多公司都有代码评审的制度,在做评审时为了更好 地理解代码或改进代码需要软件重构。 重构一般不在下列场合使用: ( 1 ) 代码不能正常运作 ( 2 ) 项目接近最近期限时 2 1 1 4 重构对象 常见的设计问题都是出自这样的代码:重复、不清晰、复杂。但许多程序 员不知道如何认出外表上不同的代码重复,没有把握说出什么样的代码表达意 图不算清晰,更不知道如何辨别简单代码与复杂代码。m a r t i nf o w l e r 和k e n t b e c k 为辨别设计问题给出了指导,他们将这些问题称为“代码坏味 : ( 1 ) 重复代码( d u p l i c a t e dc o d e ) 北京邮电大学硕士学位论文第5 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件t 程中心 ( 2 ) 方法过长( l o n gm e t h o d ) ( 3 ) 类过大( l a r g ec l a s s ) ( 4 ) 长参数列表( l o n g p a r a m e t e rl i s t ) ( 5 ) 相异变化共存( d i v e r g e n tc h a n g e ) ( 6 ) 变化分散( s h o r t g u ns u r g e r y ) ( 7 ) 频繁存取其他类的状态( f e a t u r ee n v y ) ( 8 ) 成群的数据变量( d a t ac l u m p s ) ( 9 ) 基本类型迷恋( p r i m i t i v eo b s e s s i o n ) ( 1 0 ) 分支语句( s w i t c hs t a t e m e n t s ) ( 1 1 ) 平行继承体系( p a r a l l e li n h e r i t a n c eh i e r a r c h i e s ) ( 1 2 ) 冗赘类( l a z yc l a s s ) ( 1 3 ) 从未用到的功能和通用性( s p e c u l a t i v eg e n e r a l i t y ) ( 1 4 ) 孤儿属性( t e m p o r a r yf i e l d ) ( 1 5 ) 消息链( m e s s a g ec h a i n s ) ( 1 6 ) 多余的中间人( m i d d l em a n ) ( 1 7 ) 关系过分紧密的类( i n a p p r o p r i a t ei n t i m a c y ) ( 18 ) 异曲同工的类( a l t e r n a t i v ec l a s s e sw i t hd i f f e r e n ti n t e r f a c e s ) ( 1 9 ) 不完善的程序类库( i n c o m p l e t el i b r a r yc l a s s ) ( 2 0 ) 没有行为的数据类( d a t ac l a s s ) ( 2 1 ) 过多的超类行为和状态( r e f u s e db e q u e s t ) ( 2 2 ) 注释过多( c o m m e n t s ) 2 1 2 重构与模式 2 1 2 1 模式 模式是一种问题解决思路,它已经适用于一个时间环境,并且也可能适用 于其他环境。a l e x a n d e r 将模式定义为:每个模式都是一个由三部分组成的规则, 它表达的是某一个环境、一个问题以及解决问题的方案之间的关系。作为世界 中的元素,每一个模式都是这三者之间的关系:某一个环境、此环境中反复出 现的某个因素系统以及使这些因素能够自我协调的某种空间配置。简单的说, 模式就是在一个上下文中一类问题的一种可重复的使用方案口1 。 一般而言,模式涉及四个基本要素h 3 : ( 1 ) 模式名称:名称是模式的标示,是一个助记名,用于描述模式针对的 问题、解决方案和效果。 北京邮电大学硕士学位论文 第6 页共6 9 页 基于模式的数据稽核监控系统模型的莺构与设计北京邮电大学通信软件工程中心 ( 2 ) 问题:描述此模式的使用范围,解释设计问题和问题存在的前因后果, 同时还指明模式的应用场景。 ( 3 ) 解决方案:描述设计的组成成分,它们之间的相互关系及各自职责和 协作方式。解决方案并不描述一个特定而具体的实现,而是提供设计问题的抽象 描述和解决问题的通用方法。 ( 4 ) 效果:描述模式的应用效果以及使用模式应该权衡的问题。模式效果 包括对系统灵活性、扩充性、可移植性以及复用性的影响。 2 1 2 - 2 重构与模式的关系 重构是改善既有代码设计的过程,模式则是针对反复出现的问题的经典解 决方案。一些人在编写代码之前,要很早的为模式作计划,而有些人在编写了 大量代码后才开始添加模式。这种使用模式的方式就是重构,因为是在不增加 系统特性或者不改变其外部行为的情况下改变系统的设计。我们通过一系列低 层次的设计转换,也就是重构,来应用模式,改进设计。也就是说,在重构中 使用模式,有助于改进设计。 重构是实现模式的一种手段,模式则是重构的目的口1 。从某种意义上说, 重构成全了模式,而模式度量了重构。在有些情况下,重构是为了避免模式的 过度使用。 实现模式是目的,重构则是手段;模式是重构的结果,并为重构提供了目 标陆1 。模式的实现是一个设计渐进演化过程的结果,在我们初始直接实现的方 案里有哪些变化不能适应? 如果要适应变化,我们应该如何改进这个设计? 重构 就是有力的武器。重构的目的是使模式的实现更具有灵活性、有效性和可维护 性,而模式的目标是使对在特定环境中良好工作的设计能在相似的环境中被其 他人再一次应用。因此,对模式实现进行重构,其目的和这个模式的应用目的 之间没有多大的联系,不会改变模式的应用目的,但是重构直接关系到模式的 实现。 2 2 分析模式 分析模式是在面向对象分析中使用的软件模式,因此它具有软件模式所具有 的一切性质和特点。尽管目前分析模式还没有一个统一的描述方法,但任何一个 分析模式也都具有名称、问题、解决方案和效果四个基本组成部分。分析模式也 具有质量标志和复用策略两个基本的用途,因此分析模式可以用来帮助建立和评 审分析模型以及解决较复杂的分析问题。 北京邮电大学硕士学位论文第7 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 分析模式是面向对象分析和软件模式技术的结合,因此在遵循面向对象分析 和软件模式的规律的同时,还具备了分析模式自身的特点和作用。 2 2 1 什么是分析模式 软件生产的基本目标就是使用抽象的方法将现实世界( 具体问题空间) 的问 题映射到程序空间( 解决方案空间) 中。但是由于人们认识和理解现实世界的方法 和工程的不一致,导致了软件生产时的分析、设计和实现的系统也不一致。分析 模式并不从计算机系统的角度来看待与解决问题,而是从领域工程的角度看问 题。分析模式反映的是业务过程的概念架构,是不同领域业务模式,而不是实际 的软件实现。这些模式可以帮助开发人员理解客观世界,从而更有效地设计计算 机系统。 面向对象分析过程中存在大量可复用的分析知识与经验,把这部分知识抽象 出来就是分析模式。 分析模式是一组概念,这些概念反映了在业务建模中的通用结构,而不是实 际的软件实现阳1 。分析模式主要来源于对特定的业务领域的分析,但它却是通用 模式中的一种,既可以与该特定的领域相关,也可以跨越多个领域。分析模式有 着重要的意义。它可以帮助人们认识这个世界,基于这样的认识去设计计算机系 统并确实去改变这种认识是非常有价值的,而认识中需要改变的地方正是需要进 行业务过程重组( b p r ) 的地方。 分析模式本身是一些概念模型,这些模型描述了问题的核心信息。模型的选 择最终决定系统的灵活性和可重用性口1 。于是简单而有效的模型是一个优秀软件 系统的源头。分析模式就是要复用以往人们系统建模时的优秀经验,提高效率和 质量。这种复用是通过将领域中的对象和事件进行高度抽象,使其在不同的领域 中具有通用性来实现的。 虽然分析模式复用的是概念模型,但真正重要的是其背后的基本原理;分析 模式本质上讨论的是一个模型为什么应该是它现在的样子,以及它的优势和弱 点。分析模式和设计模式都是以复用思想为核心,但他们是在软件构造过程中的 不同阶段发挥作用。 2 2 2 为什么要用分析模式 软件模式是随着软件复用而产生的软件技术。分析模式,作为软件模式中的 一种,自然也有着它的复用价值。它的复用性主要体现在模型的复用。 分析模式的本质是可复用的面向对象模型。人们在对系统进行面向对象分析 北京邮电大学硕士学位论文第8 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 的过程中经常发现项目在很多方面会遇到以前曾面对过的同样的问题,而有的问 题虽然表面上与以前遇到过的问题不同,甚至属于不同的领域,但背后却有着相 同的运行机理。这使得有经验的分析人员可以复用以前所建造的模型,只需对它 们加以适当的改进,就可以适应新的需求。分析模式包含了有用的模型及其适用 对象和适用范围,而这些模型正是设计的基础。拥有了这些信息,分析人员就可 以为特定的问题改造现有模型。而由于近似的模型往往会导出近似的实现代码。 因此,一旦实现了模型上的复用也就间接地实现了代码上的复用。从这个意义上 说,以模型复用为目的的分析模式比以代码复用为目的的设计模式有着更高的复 用价值。 通过进一步的分析可以发现,分析模式真正复用的其实是可复用模型背后的 分析思想。每一个分析模式其实都是一种分析思想在一个特定领域中分析的成 果。然而很多情况下,一种分析思想并不是只能在一个特定领域中才能发挥作用, 分析人员完全可能从分析模式中找到帮助他们如何在新领域应用的基本思想,这 也就是为什么从一个特定领域中发现的分析模式可以在另一个看似完全无关领 域中得到很好的复用效果。比如知识层和操作层的分离就是一种在分析模式中被 广泛采用的分析思想。分析模式在使用上有一定的难度,原因主要是分析模式是 从多个领域中抽象出来的,对软件开发人员来说,了解应用领域的高度抽象概念 比较困难,代价很高,同时不容易应用到实际领域建模中。 此外,分析模式还简化了从分析模型向设计模型的过渡。 最后,分析模式也可用于对模型的评审:看看可能忽略了哪些东西,并给出 一些有助于模型改进的可选方案。由于分析模式是对过去多个系统进行分析时的 经验总结,因此考虑问题往往会更加全面和周到。当评审一个项目时,评审人员 可以将所建模型与在以前工作中总结出的模式加以比较,有意识地使用模式有助 于将过去的经验更容易地应用到当前的工作中。另外,通过评审,也能够对已有 的分析模式进行检验和改善,从而促进了分析模式本身的发展。 2 2 3 本文中用到的分析模式 2 2 3 1 观察和测量模式 观察模式舾1 起源于医疗信息系统,主要用于检查病人身体状况并获得检查 数据的问题。但由于病人检查的项目可以多达上百种,不可能将所有的检查项 目都记录为“病人类的属性,因此我们采用了继承的方法,将每一种“病人 作为病人类的子类。但由于病人的种类也很多,因此我们采用了知识级与操作 级相分离的思想,设计了“病人类型 和“病人类 。病人类型处于知识级,病 北京邮电大学硕士学位论文第9 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 人类处于操作级。也就是在运行过程时动态决定对象具有哪些属性。这种将各 种不同的检查项目抽象成同样的一种东西,再通过知识级与操作级相分离的方 法将问题解决的思想,就是观察模式的基本思想。 在现实世界中,大多数的计算机系统都记录有关现实世界各种对象的信息。 这些信息以记录、属性、对象或者其他表现形式存在于计算机系统之中。最典 型的方式是把某项信息记录成某个对象的一个属性。因此,观察模式在计算机 信息系统有着广泛的应用。 由m a r t i nf o w l e r 对观察模式的描述,可以知道,观察是由关联函数和结果 ( 数量以及现象类型) 共同构成的,它是通过一定的方案获得对象的某个属性 的信息。 观察有三个要素:现象类型、方案和值n 0 1 。现象类型( p h e n o m e n o nt y p e ) 是指观察的内容,它描述了要测量的事物的基本知识。方案( p r o t o c 0 1 ) 给出了 进行观察测量的具体方法,是获取观察值的手段。它可以由用户直接输入,也 可以从数据库中取得,还可以通过各种仪器测量得到或者根据己有的数据计算 得到。 方案进一步分可分为源测量方案和计算测量方案。源测量方案设计对数据 库的访问;计算测量方案则表示围绕已经出现的测量做某种运算。值( v a l u e ) 是观察后得到的信息,也是观察的目的。值可以是一个数量也可以是一种类型。 如果观察的值是一个数量,则称为测量( m e a s u r e m e n t ) ;如果观察的值是一种 类型,则称为种类( c a t e g o r y ) 。根据知识级和操作级分离的原则,知识级包括 现象类型、测量方案、方案等,操作级则包括测量、观察、对象等。 如图2 - 1 所示,是观察模式在一个比较简单的情况下的模型。测量方案有 两种子类型:源测量方案和计算测量方案。而计算测量方案又有两个子类型: 因果计算和比较计算。比较类型要求有两个输入,并且这两个输入类型要相同。 每个测量方案都有一个输入参数列表( 现象类型) 。方法记录了测量的公式。 北京邮电大学硕士学位论文 图2 - 1 观察和测量模式 第l o 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 2 2 3 2 计划模式 m a r t i nf o w l e r 在分析模式一书中对计划模式啼1 这样描述:计划模式是将 计划看成是管理一组动作和动作的效果,同时对动作所需资源分配进行管理。 它记录了一个领域内任何动作的实施。 计划被用于支持一组被提议的动作。计划记录动作之间的依赖关系和先后 顺序,而且一个单独的动作可以出现在若干个计划中。方案是被反复执行多次 的标准计划。 提议和执行的动作描述了动作的两个可能的状态:提议( 动作的意图) 和 执行( 动作实际发生的情况) 。动作的结束被分为完成和放弃。一个放弃的动作 是被最终取消的动作,动作的暂停由挂起来表示。 另外动作的实施需要资源。资源分配模式描述适合于提议和执行的动作的 方案。资源分为两种:消耗品( 在动作中消耗) 和资产( 可反复使用) 。 同时我们还关注动作在什么情况下执行以及执行后的结果。在计划模式中 启动函数描述了在什么情况下我们需要开始一个方案;输出函数则描述了动作 的成果( 输出) 是什么。 在计算机信息系统中,很多情况下需要制定和跟踪一些事务的执行情况, 计划模式为我们提供了很好的解决方案。 如图2 2 所示,是计划模式的一个典型的模型。动作分为提议的动作和执 行的动作。当提议的动作开始执行时就转化为执行的动作。执行的动作完成后 状态转变,变成完成的动作。另外,动作的执行需要有一定的资源。提议的动 作将预定一些资源,执行的动作则使用分配给它的这些资源。资源有很多种, 大多数是消耗品。消耗品只能被使用一次并且由动作来使用它们。通常消耗品 要按数量来请求。除此之外还有一些不能消费的。 北京邮电大学硕士学位论文 图2 - 2 计划模式 第l l 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 2 2 3 3 合同夹模式 在现实世界中,有许多涉及到货物的购买和销售信息。这些货物的价值与 变化中的条件有关。企业的生产要有订单记录,因此涉及到了合同管理的内容。 由此产生了合同夹模式。合同夹模式使用合同夹完成对合同的汇集,用文件夹 过滤器来定义选择标准,并用场景设计的办法捕获价格的变化情况。 合同夹畸1 中有一个独立的对象:合同夹过滤器,通过它来定义选择标准。 合同夹过滤器定义了一个可以被不同的子类型实现的接口。这个结构提供更灵 活的简单和复杂的选择标准。合同夹过滤器上的选择操作处理一个合同的聚合 并且返回另一个合同的聚合。 合同夹是合同的聚合。合同夹一般由许多合同组成,这些合同具有某些属 性,包括对方团体、交易人( 主要团体) 、交易物和交易日期等信息。我们可以 合并这些属性到一个特殊的合同选择器对象,从而处理一些过滤条件。合同选 择器是用来选择合同的,它返回一个合同的聚合。 合同夹的基本特征与对象的基本特征相同,即把一组某种类型的对象而进 行的选择机制封装起来。合同夹可以作为处理某种更进一步的汇总的基础。这 个处理可以是一个客户对象,也可以是被构造成合同夹本身。 实际上,我们用合同选择器是在进行一个查询,并且对象聚合的结果本身 又是一个对象。因此,合同夹模式被广泛用于处理查询的情况。 如图2 3 所示,是一个简单的合同选择器模型。合同夹是合同的一个聚集, 它通过合同的性质来隐含的描述。日期、交易物、团体等都是合同的属性。合 同选择器给出了一个选择的方法,根据输入的参数,包括交易物、合同开始日 期、结束日期、主要团体和对方团体等对合同夹进行选择,从而找出满足查询 条件的合同。 北京邮电大学硕士学位论文 图2 - 3 合同夹模式 第1 2 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 2 3 设计模式 2 3 1 什么是设计模式 设计模式是面向对象语言中利用类和方法来实现某个编程目标的方法口1 ,因 此设计模式也是一种模式。 设计模式是对被用来在特定场景下解决一般设计问题的类和相互通信的对 象的描述,也就是在具体环境中处理某类问题的方法。设计模式不是简单地写出 来的,而是被发现的,这个发现过程被称为“模式发掘 ,是在编程过程中的设 计经验。 设计模式是经过提炼的出色的设计方法,对于很多情况下碰到的面向对象程 序开发中的常见问题,它都是合理而可复用的解决方法。它们所描述的,除了问 题以外,还有久经考验的解法及其变化形式,以及选择每一种方案所带来的后果。 设计模式也是共同的高层设计语言,它提供深具启发、易于表达和传递的设计词 汇,使我们可以更有效率地沟通、演讲和写作。运用设计模式的系统比没有运用 模式的系统更具有可理解性 设计模式通常是对于某一类软件设计问题的可重用的解决方案。将设计模式 引入软件设计和开发过程,目的就在于要充分利用已有的软件开发经验。优秀的 软件设计师都非常清楚,不是所有的问题都需要从头开始解决,他们更愿意复用 以前曾经使用过的解决方案。每当找到一个好的解决方案,他们会一遍又一遍的 使用,熟练的使用这些已有的方案。设计模式的最终目标就是帮助人们利用成功 软件设计师的集体经验,来设计出更优秀的软件。 2 3 2 为什么要用设计模式 设计模式是软件开发的革命性成果,是很多软件设计人员成功设计经验的结 晶,是复杂问题的简单解决方法。 设计模式具有以下特性: ( 1 ) 面向对象:设计模式是用最基本的面向对象机制如类、对象、接口、继 承性和多态性等构造的。 ( 2 ) 设计巧妙:模式是一些优雅的解决方案一般很难立刻设计出来 ( 3 ) 通用性:设计模式通常不依赖某个特定的系统、类型、程序设计语言或 应用领域,它们是通用的。 ( 4 ) 简单:设计模式通常都非常小,只涉及很少一些类,为了构建更多更复 杂的解决方案,可以把不同的设计模式与应用代码结合或混合起来使用。 北京邮电大学硕士学位论文第1 3 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 ( 5 ) 可重用:设计模式使它们非常易于使用,可用于任何类型的系统。 设计模式准确地描述了问题和它们的解决方案。使用设计模式可以具有一致 性,即如果对一些已知的问题我们有一类标准的解决方案,那么在遇到相同问 题时我们能够采取一致的方法,这就使代码更容易理解。设计模式比代码高一个 层次,它通常告诉我们如何使用若干个类来实现开发目标,在遇到问题时,无需 每次都从底层做起,而是可以从设计模式入手,并对它改造使之适应特殊问题的 需要。从而节省了时间,并且提高了开发的质量。 总的来说,设计模式主要有以下作用阳1 : ( 1 ) 重用设计,重用设计比重用代码更有意义,它会自动带来代码重用; ( 2 ) 为设计提供共同的词汇,每个模式名就是一个设计词汇,其概念使得 程序员间的交流更加方便; ( 3 ) 在开发文档中采用模式词汇可以让其他人更容易理解你的想法,理解 为什么你会这样做,你都做了些什么。编写开发文档也更加容易; ( 4 ) 应用设计模式可以让重构系统变得容易,可确保开发正确的代码,并 降低在设计或实现中出现错误的可能性。还可以为重写其他应用程序提供很好 的系统架构; ( 5 ) 正确使用设计模式,可以节省大量时间。 2 3 3 本文中用到的设计模式 设计模式是面向对象语言中利用类和方法来实现某个编程目标的方法。设 计模式告诉我们如何使用若干个类来实现开发目标。下面为本文中用到的设计 模式。 2 3 3 1 简单工厂模式( s i m p l ef a c t o r y 模式) 简单工厂模式叫专门定义了一个类来负责创建其他类的实例,被创建的实 例通常都具有共同的父类。简单工厂模式又称为静态工厂方法模式,属于类的 创建型模式,通常它根据自变量的不同返回不同的类的实例。简单工厂模式的 实质是由一个工厂类根据传入的参量,动态决定应该创建哪一个类的实例。 简单工厂模式一般涉及三个参与者,如图2 4 所示: 北京邮电大学硕士学位论文第1 4 页共6 9 页 基于模式的数据稽核监控系统模型的重构与设计北京邮电大学通信软件工程中心 目c l i e n t p r o d u c t f a
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030智慧城市基础设施建设行业风险投资发展潜力分析及投资合作策略研究报告
- 2025-2030智慧城市和数字基础设施建设市场现状供求分析及发展前景规划分析研究
- 2025-2030智慧图书馆技术应用与信息服务创新分析及市场投资评估规划发展策略研究报告
- 2025-2030智慧园区建设实施现状与市场需求分析研究
- 2025-2030智慧医院建设现状研究及医疗资源整合优化咨询文档
- 狸米学习方法分享
- 2025-2030智慧化工产业行业市场现状分析投资评估规划分析研究报告
- 2025-2030智慧农业行业市场发展分析科技评估产量规划研究资料
- 2025-2030智慧农业行业市场供需现状及投资前景布局规划研究报告
- 2025-2030智慧农业系统市场当前供需评估与发展投资规划指南书
- 物业管理标准化管理体系员工离职、内部调职管理标准作业规程
- 全液压转向器应用基础知识26新
- 大班数学《来自毕业餐会》活动反思
- 昆明城市空间形态
- GB/T 28553-2012汽轮机蒸汽纯度
- GB/T 16921-2005金属覆盖层覆盖层厚度测量X射线光谱方法
- 政治理论水平任职资格考试题库
- 新形势下群众工作的理论与实践课件
- 2023年交银国际信托有限公司招聘笔试题库及答案解析
- 高联难度几何题100道-打印整理版
- 公共管理英语 第一篇 教学内容 (15)课件
评论
0/150
提交评论