• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

软件测试之复杂系统的层级原理与模型驱动软件体系结构

发布: 2009-10-27 10:06 | 作者: 不详 | 来源: 领测软件测试网采编 | 查看: 20次 | 进入软件测试论坛讨论

领测软件测试网

更有效地描述复杂系统的需要; 
系统复杂化带来的层级区分的需要。 
关于模型的几个分析要素
  笔者认为,以下特征对软件体系中模型的运用是十分重要,或者有特殊意义的:

模型的时效性(time-effectiveness of model):关于这一点最重要的区分在于,是“运行期模型”(Run-Time Model),还是开发期模型?这个区别,有点类似于解释的语言和编译的语言间的区别,但其意义却非同一般,笔者认为,“运行期模型”,揭示了模型驱动的本质。 
模型的可进化性(evolutionableness of model):是否可以在系统的应用过程中,持续地适应应用环境与需求的变化,不断地由应用者或自适应地对模型进行改进?这是对模型“性能”的一种度量。 
模型的层级性(hierarchy of model):正如语言有多个层次一样,没有理由认为模型只有一个层次,当系统足够复杂时,模型的层次划分将会是必要的。 
UML和企业模型
  运用上面的要素分析一下,可以发现:

  UML是“紧贴”高级软件语言(例如C++)的模型体系,其时效是在软件生命周期的开发期间,而不是运行期间,其描述的层级是在软件的组件、对象一级,典型要素是软件中的对象,软件上一个操作的动作等。

  企业模型(比如ARIS, CIM-OSA, GERAM),典型的要素是组织,产品,过程等,它们是从企业的业务对象着眼的。二者在层级上有差距,而且企业模型追求的最终结果,是从“开发期模型”到达“运行期模型”,并且,笔者认为它最终应当是一种可进化的模型,这与UML的设计目标并不符合。

  它们两者间并不相互排斥,而应当考虑它们的“层接”。按照笔者的理解,OMG的MDA即使全面实现,也仍然不能做为或替代企业模型,但有可能成为企业模型的基础,这不是模型好坏或能力的问题,而是层级定位的问题。

写在后面
  面向对象(Object Oriented, OO)作为软件体系结构方面的一种演进而出现,也曾经被一些人误解为对过程化语言(或面向过程的体系结构)的取代。笔者认为,尽管OO反应了一种世界观,是一种思维的方式,但并不代表一切;且从层级和进化的观点上,也不应当将它看作是对既有东西的一种简单的取代。模型或模型驱动同样如此,它可能是继面向对象之后,软件体系结构的又一个重大的进化,但不是用来取代面向对象或结构化设计。笔者在1998年撰写《迈向21世纪的企业信息技术应用》一文时,对于模型的地位和作用并没有今天这样的认识,现在我坚信,对于企业信息系统这样复杂的系统,要想做到有效、可控制地规划与构建乃至具有“柔性”、可在运行期间不断地调整,“模型”是必须的,而且,表达与构建复杂企业系统时所需的模型,可能是多层次的,所谓“通用企业平台上的专用执行系统”,就应当是一个由运行期模型驱动的系统。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

22/2<12

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网