接口在软件中的作用举足轻重,它定义了模块与模块之间的通信协议,这样可以降低模块与模块之间的相互依赖性,即耦合度,提高模块内部的内聚性。在一个比较好的代码中,代码即是模块,而每个模块即是一个接口,软件中的接口清晰了,那么模块与模块之间的关系就清晰了,这样整个软件的结构也就明了了,因此在对软件的建模中,接口建模往往是不可或缺的一环。
对接口进行建模时,常用的建模语言有UML和XML。
UML(Unified Modeling Language,统一建模语言)[87][88][89]是一种支持软件模型化的图形化语言,它能为软件开发的整个生命周期提供模型化支持,包括对接口建模的支持。UML有很多优点,例如它采用图形化的表现形式,这大大增强了模型的可理解性;它结构清晰,让建模过程简单且易操作;等等。但是UML也有不足之处,特别是在对接口的建模中,接口只是一组操作,虽然能够对接口与接口之间通信的数据内容进行定义,但是却难以细致化描述数据内容的详细结构,例如参数、数据类型等。
XML(eXtensible Markup Language,可扩展的标识语言)[90][91]最初是作为一种数据交换标准出现,之后,由于它的异构性、可扩展性以及灵活性,使得它逐渐演变为一种建模方法。相较于UML,XML不仅可以定义数据内容,还能按需自定义不同的数据类型,并利用数据类型对数据进行准确的定义,XML虽然具备强大的建模能力,但是它没有提供表示语义的方法。
针对这一问题,研究者提出了RDF(Resource Description Framework,资源描述框架)[92][93],它在XML的基础上增加了语义描述的能力,然而它在语义处理上做的并不完善[95],例如,在RDF中,无法定义概念之间的不等价、不相交等关系;此外,由于RDF中允许用不同的词汇来描述同一个概念,这样就会导致诸如一词多义、同义词等的语义冲突问题。要解决这一问题,就需要有一套共同的标准的概念体系来对词汇进行规范,因此就催生了本体描述语言[94][96]。
OWL(Web Ontology Language,网络本体语言)[97][98][99]就是一种建立在RDF基础之上的本体语言,它不仅具有丰富的语义,还具有强大的关系逻辑描述能力,更为关键的是它还具备强大的机器解释能力。(www.xing528.com)
表3 中给出了UML、XML、RDF与OWL之间的优缺点对比。
表3 UML、XML、RDF与OWL的优缺点对比
续表
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。