《软件架构理论与实践》 —3.5 软件架构建模方法的发展趋势分析
3.5 软件架构建模方法的发展趋势分析
20世纪80年代出现的面向对象技术是软件技术的一次革命,系统分析人员开始借助面向对象技术对将要建造的软件系统建模。这些模型元素几乎与代码元素相同,所以从模型生成代码成为可能。而且用模型代替代码使得开发人员可以在更高的抽象层次上讨论问题,避免了对代码语法不必要的纠缠。随着软件架构建模技术的发展,建模领域也出现了一些问题:工具开发商不得不耗时费力地在同一个工具里支持大量不同的图形、符号、表示法,而软件开发人员面对众多的方法、工具则显得无所适从。若要解决这些问题,需要提出一个完备的、灵活的、精确的、可扩展的架构建模解决方案,这也是学术界和工业界共同的奋斗目标。下面我们来分析架构建模技术是如何向这一奋斗目标发展的。
在软件开发过程中有一个模型成熟度级别(Modeling Maturity Level,MML)的概念[77],用来衡量模型的效率和模型的层次级别。通过这种衡量,可构建出更加优良的模型,从而提高软件开发的效率,减少人力成本。MML有六层示意图,分别如下:
第0层:没有标准,模型存在于开发者的头脑中。
第1层:文本表达,用自然语言描述想法。
第2层:文本和图,用自然语言以及一些图形来描述想法。
第3层:模型和图,用建模语言描述的图来表达模型,用自然语言加以辅助。
第4层:精确的模型,用一致而又连贯的文本/图来精确地描述模型,它们是没有歧义的,可以直接映射到编程语言。
第5层:只有模型,此时的模型是对系统的完备、一致、详细和精确的描述。它足以完成全部代码的生成工作,生成的代码无须任何改动即可运行。
这里结合MML的层次概念来分析软件架构建模技术的发展趋势。从原始的文本建模(第1层)到目前广泛应用的UML建模(第3层),技术的发展核心都是如何让架构模型能够更完备地反映出架构的设计决策,重心在模型本身。从第4层开始,人们的关注点转移到如何将模型精确、完备地转换成代码,这里应用了形式化的建模技术,重心在于模型到代码的转换过程。第5层是人们的一种设想,模型取代程序代码成为软件开发过程中的产品,建立精确的模型后可以直接生成全部代码,无须修改即可交付。这里的层次只是一种方法论的划分,软件架构建模技术并不是顺序地从一个层次发展到下一个层次,而是各个层次上的技术都在不断进步、共同发展。图3-27是软件架构建模的技术发展路线。
图3-27 软件架构建模的技术发展路线
3.5.1 第1层:文本模型
第1层是文本模型,从原始的自然语言文档化到以XML为代表的有固定规范、结构的文档化,都是通过文本文件来描述软件架构。由于对结构化文本的语法分析、处理和编辑等相关技术的研究已经持续数年,当使用一种元语言来定义文本的句法时,许多工具能够生成程序库来对使用该语言的文本文档进行句法分析和检查。文本符号可以很好地描述线性和层次结构,但是描述类图结构时不易理解。
- 点赞
- 收藏
- 关注作者
评论(0)