基于UML的设计模式验证方法研究与实现

来源 :中山大学 | 被引量 : 0次 | 上传用户:hawk_fox
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件行业的发展,软件的复杂程度不断提高,人们需要一种方法来总结和重用良好的软件设计。设计模式是针对特定场景下的特定问题的可重复、可表达的解决方案,是对成功设计经验和设计思想的总结。它描述了对于设计问题适用的良好的解决方案和这些解决方案的优缺点,使人们的软件设计有更好的可扩展性与可维护性。在初期,设计模式的描述方式都是UML图和自然语言的组合,这些描述实质上是应用设计模式的具体的实例,而并非设计模式的实质。设计模式的描述的模糊性和歧义性,使得设计模式研究的发展受到很大的阻碍,例如使得在软件设计中引入设计模式变得复杂。 软件模式的不精确描述使得设计模式的验证问题变得十分重要。目前的模式验证方法要不因为注重直观性,集中于模型结构检验而忽略了语义检验,要不就为了实现语义检验而陷入复杂的数学方法中,导致方法难以使用。针对已有方法,特别是参数化协作方法的不足之处,本文提出一种基于UML的设计模式验证方法,从模型结构和语义约束两方面检验具体模型中模式应用的正确性。首先为设计模式本身建立本文所提出的反映其实质的静态角色模型,在此模型基础上用OCL,添加该模式的约束,静态角色模型和OCL约束组成该模式的模板。再通过利用本文所提出的方法检查一个实例模型是否能够正确地映射到模板,来验证该实例模型是否正确地使用了该模式。另外,本文开发了原型软件工具支持所提出方法,最后通过一个详细实例研究来证明本文方法的有效性和准确、通用等优势。 本文的方法使用UML对设计模式本身进行建模,保留了UML直观的优点,而使用OCL进行语义约束和语义检验,使得方法能够通用,不必陷入复杂的数学方法。而且本文的方法从模型结构和语义两个方面进行验证,克服了一般方法只集中于一个方面的不足,具有精确的优点。
其他文献
随着计算机和数字通信技术的迅速发展,数字签名技术应运而生。代理签名是数字签名中的一种特殊的签名形式,是原始签名方将签名权委托给代理签名方,由代理签名方代表原始签名方进
基于语音板卡的应用开发大都是用语音卡厂家所提供的硬件API接口来编程,最大的问题就是编程复杂,而且业务代码和底层代码混合在一起,很难调试和维护,而且语音卡是多路并发的
随着Linux在图形系统中的占有率的不断增大和嵌入式图形处理器(Graphics Processing Unit, GPU)的应用领域不断扩大,Linux下的GPU图形驱动软件的设计和研究越来越受重视。图
命题可满足性问题(SAT)是判定一个给定的CNF形式的命题逻辑公式是否存在可满足的赋值的问题。SAT问题是数理逻辑、人工智能和理论计算机科学中的核心问题,也是解决许多实际问
篇章分析是自然语言处理中一项极具挑战的任务,它是自然语言理解的基础,对许多自然语言处理的应用而言(如问答系统,自动文章摘要,篇章生成等)意义重大。近年来,篇章理论的发
嵌入式电子词典作为一种中低端电子学习产品,对于提高人们的外语水平、方便个人信息管理有着重要的作用,具有巨大的市场潜力。单词查询是嵌入式电子词典最基本的功能,加快单词查
随着网络的不断发展,无线通信行业在二十世纪九十年代出现了爆炸性增长。随着无线电话的广泛应用以及无线运营商之间的竞争,语音传输质量和客户服务成为用户评价运营商网络的关
布局问题来源于生产实际,广泛存在于汽车制造、造船、制衣、玻璃加工、家具制造等行业。在当今各种能源材料短缺的情况下,提高板材利用率以节约原材料,降低成本,提高经济效益
近年来,由于互联网的广泛普及和宽带网的高速发展,对网络带宽要求较高的网络多媒体技术也发展迅猛,其中基于P2P网络的流媒体技术成为当前研究的热点。P2P技术采用完全分布式
近年来,面向服务的计算(SOC)成为了软件领域研究的热点之一,它的核心理念是在交换的软件成分之间,构建起松耦合的协同软件体系。SOC以Web服务作为基本组成成分,并采用一系列的