uml 模型的用途

来源:互联网 发布:便携水杯推荐 知乎 编辑:程序博客网 时间:2024/04/29 00:09
· 什么是模型

模型是用某种工具对同类或其他工具的表达方式。模型从某一个建模观点出发,抓住事物最重要的方面而简化或忽略其他方面。工程、建筑和其他许多需要具有创造性的领域中都使用模型。

表达模型的工具要求便于使用。建筑模型可以是图纸上所绘的建筑图,也可以是用厚纸板制作的三维模型,还可以用存于计算机中的有限元方程来表示。一个建筑物的结构模型不仅能够展示这个建筑物的外观,还可以用它来进行工程设计和成本核算。

软件系统的模型用建模语言来表达,如 UML 。模型包含语义信息和表示法,可以采取图形和文字等多种不同形式。建立模型的目的是因为在某些用途中模型使用起来比操纵实物更容易和方便。

· 模型的用途

模型有多种用途

捕获精确和表达项目的需求和应用领域中的知识,以使各方面的利益相关者能够理解并达成一致 建筑物的各种模型能够准确表达出这个建筑物在外观、交通、服务设施、抗风和抗震性能,消费及其他需求。各方面的利益相关者则包括建筑设计师、建筑工程师、合同缔约人、各个子项目的缔约人、业主、出租者和市政当局。

软件系统的不同模型可以捕获关于这个软件的应用领域、使用方法、试题手段和构造模式等方面的需求信息。各方面的利益相关者包括软件结构设计师、系统分析员、程序员、项目经理、顾客、投资者、最终用户和使用软件的操作员。在 UML 中要使用各种各样的模型。

进行系统设计 建筑设计师可以用画在图纸上的模型图、存于计算机中的模型或实际的三维模型使自己的设计结果可视化,并用这些模型来做设计方面的的试验。建造、修改一个小型模型比较简单,这使得设计人员不需花费什么代价就可以进行创造和革新。

在编写程序代码以前,软件系统的模型可以帮助软件开发人员方便地研究软件的多种构架和设计方案。在进行详细设计以前,一种好的建模语言可以让设计者对软件的构架有全面的认识。

使具体的设计细节与需求分开 建筑物的某种模型可以展示出符合顾客要求的外观。另一类模型可以说明建筑物内部的电气线路、管线和通风管道的设置情况。实现这些设置有多种方案。最后确定的建筑模型一定是建筑设计师认为最好的一个设计方案。顾客可以对此方案进行检查验证,但通常顾客对具体的设计细节并不关心,只要能满足他们的需要即可。

软件系统的一类模型可以说明这个系统的外部行为和系统中对应于真实世界的有关信息,另一类模型可以展示系统中的类以及实现系统外部行为特性所需要的内部操作。实现这些行为有多种方法。最后的设计结果对应的模型一定是设计者认为最好的一种。

生成有用的实际产品 建筑模型可以有多种相关产品,包括建筑材料清单、在各种风速下建筑物的偏斜度、建筑结构中各点的应力水平等。

利用软件系统的模型,可以获得类的声明、过程体、用户界面、数据库、合法使用的说明、配置草案以及与其他单位技术竞争情况的对比说明。

组织、查找、过滤、重获、检查以及编辑大型系统的有关信息 建筑模型用服务设施来组织信息:建筑结构、电器、管道、通风设施、装潢等等。除非利用计算机存储,否则对这些信息的查找和修改没那么容易。相反,如果整个模型和相关信息均存储在计算机中,则这些工作很容易进行,并且可方便地研究多种设计方案,这些设计方案共享一些公共信息。

软件系统用视图来组织信息:静态结构视图、状态机视图、交互视图、反映需求的视图等等。每一种视图均是针对某一目的从模型中挑选的一部分信息的映射。没有模型管理工具的支持不可能使模型做得任意精确。一个交互视图编辑工具可以用不同的格式表示信息,可以针对特定的目的隐藏暂时不需要的信息并在以后再展示出来,可以对操作进行分组、修改模型元素以及只用一个命令修改一组模型元素等等。

经济地研究多种设计过程中的解决方案 对同一建筑的不同设计方案的利弊在一开始可能不很清楚。例如,建筑物可以采用的不同的子结构彼此之间可能有复杂的相互影响,建筑工程师可能无法对这些做出正确的评价。在实际建造建筑物以前,利用模型可以同时研究多种设计方案并进行相应的成本和风险估算。

通过研究一个大型软件系统的模型可以提出多个实际方案并可以对它们进行相互比较。当然模型不可能做得足够精细,但即使一个粗糙的模型也能够说明在最终设计中所要解决的许多问题。利用模型可以研究多种设计方案,所花费的成本只是实现其中一种方案所花费的成本。

利用模型可以全面把握复杂的系统 一个关于龙卷风袭击建筑物的工程模型中的龙卷风不可能是真实世界里的龙卷风,仅仅是模型而已。真正的龙卷风不可能呼之即来,并且它会摧毁测量工具。许多快速,激烈的物理过程现在都可以运用这种物理模型来研究和理解。

一个大型软件系统由于其复杂程度可能无法直接研究,但模型使之成为可能。在不损失细节的情况下,模型可以抽象到一定的层次以使人们能够理解。可以利用计算机对模型进行复杂的分析以找出可能的“问题点”,如时间错误和资源竞争等。在对实物做出改动前,通过模型研究系统内各组成部分之间的依赖关系可以得出这种改动可能会带来哪些影响。