【IT168 技术文章】
引言
长期以来,可视建模被视为软件开发的一项主要非常好的实践。通过关系图,设计人员和分析人员能够更方便而有效地向各种受众呈现复杂信息。不幸的是,很多模型的构建工作差强人意、缺乏组织性或使用率不高。为了尽可能从可视模型表示获得最大好处,不仅应该考虑模型的内容,还要考虑信息的表示。创建有效的系统模型时,需要关注三个主要概念:关系图形式 的选择、关系图围绕共同 主题 的组织以及侧重名为轴心内容 的信息具体特征的视图的创建。
模型形式
有两种相关的模型形式:表示形式和组织形式。软件开发中的常见表示形式是 UML,可详细说明由 13 种关系图类型组成的集合的具体概念和语法,每个类型都分别针对从需求到部署的特定软件系统开发方面。这包括结构关系图(如类、对象和部署)和行为关系图(如序列、活动和状态)。此类关系图集合的内容非常多,这意味着您必须全面地了解每种形式,仔细考虑目标受众,并花时间创建一致且具有内聚性的关系图集合,以传递模型的预期意图。例如,系统设计人员对系统的逻辑和物理方面感兴趣,因此最有用的形式就是类和序列关系图,而不是用例和活动关系图。相反,系统分析人员对用例关系图中描述的概念感兴趣,而对构造和部署的细节不太感兴趣。 UML 语法可强制规定特定的建模关系。例如,消息关系仅能出现在对象的两个实例间。
除了 UML 外,还经常使用其他一些建模形式用于软件建模,包括美国国防部体系结构框架(Department of Defense Architecture Framework,DODAF)、Open Group 体系结构框架(The Open Group Architecture Framework,TOGAF)和 Zachman 框架。(有关 Zachman 框架的更多信息,请参见参考资料。)另外还可以使用不同的语言,如集成计算机辅助制造(Integrated Computer-Aided Manufacturing,ICAM)定义语言、实体关系数据模型和使用系统建模语言(Systems Modeling Language,SysML)捕获的系统模型。无论所使用的建模形式或语言如何,都必须采用一致的方式描述所涉及的系统。
可以将模型的组织形式作为一组视角加以捕获(请参见侧栏)。视角定义为模型视图的集合,使用一组关系图、文档和其他相关构件进行表示。可以为了满足对模型内容感兴趣的特定涉众创建每个视图(请参见图 1)。
图 1. 应用程序模型视角

软件应用程序必须满足不同的涉众需求,因此描述这些系统的模型也一定具有复杂性。例如,业务涉众对需求 (Requirements) 视角感兴趣,可以将此视角用于组织用例关系图、活动关系图和其他关于系统功能的信息。软件系统存在很多可能的视角,包括 Philippe Kruchten 的经典 4+1 视图(有关更多信息,请参见参考资料部分)以及侧重环境注意事项、维护和自动化测试的视角。表 1 描述了对任何软件系统模型都应该有用的一组视角。
表 1. 常见的有用视角
